操作系统_第2章辅导与自测_第1页
操作系统_第2章辅导与自测_第2页
操作系统_第2章辅导与自测_第3页
操作系统_第2章辅导与自测_第4页
操作系统_第2章辅导与自测_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章 进程管理 辅导与自测2.1 本章知识点进程是操作系统中最基本、最重要的概念之一,在计算机系统中,进程不仅是最基本的并发执行的单位,而且也是分配资源的基本单位。引入进程这个概念,对于我们理解、描述和设计操作系统具有重要意义。本章的主要知识点为: (1)进程的概念进程是程序在并发环境中的执行过程。进程最根本的属性是动态性和并发性。要注意进程与程序的区别。进程的五个基本特征是:动态性、并发性、独立性、制约性、结构性。一个进程实体通常由程序、数据、栈和进程控制块(PCB)这四部分组成。进程控制块是进程组成中最关键的部分。每个进程有唯一的进程控制块。操作系统根据PCB对进程实施控制和管理。进程的

2、动态、并发等特征是利用PCB表现出来的。为了对所有进程进行有效地管理,常将各进程的PCB用适当的方式组织起来。一般说来,进程队列有以下几种方式:线性方式、链接方式和索引方式。进程有三个基本状态:运行态、就绪态和阻塞态。在一定的条件下,进程的状态将发生转换。下图所示为进程的状态及其转换。运行态分配到CPU时间片到等待某事件发生所等待的事件发生阻塞态就绪态图 进程状态及其转换 (2)进程管理就如同人类的族系一样,系统中众多的进程也存在族系关系:由父进程创建子进程,子进程再创建子进程,从而构成一棵树形的进程族系图。进程作为有“生命期”的动态过程,对它们的实施管理主要包括:创建进程、撤消进程、挂起进程

3、、恢复进程、改变进程优先级、封锁进程、唤醒进程、调度进程等。在Linux系统中,进程有5种状态。进程分为系统进程和用户进程。其中,系统进程只运行在内核模式下;用户进程既可以在用户模式下运行,也可以通过系统调用等运行在内核模式下。Linux的task_struct结构相当于其进程控制块。Linux系统对进程的操作常用命令有:ps、kill、sleep等。常用的系统调用有:fork,exec,wait,exit,getpid,sleep,nice等。(3)进程通信进程通信是指进程间的信息交换。根据进程间交换信息量的多少,分为高级进程通信和低级进程通信。进程的同步与互斥是指进程在推进时的相互制约关系

4、,属于低级进程通信。一般来说同步反映了进程之间的协作关系,往往指有几个进程共同完成一个任务时在时间次序上的某种限制,进程相互之间各自的存在及作用,通过交换信息完成通信。如接力比赛中一组队员使用接力棒等。进程互斥体现了进程之间对资源的竞争关系,这时进程相互之间不一定清楚其它进程的情况,往往指多个任务多个进程间的通讯制约,因而使用更广泛。如打篮球时双方挣抢篮板球等。我们用信号量(Semaphore)及P,V操作来实现进程的同步和互斥。生产者-消费者问题是经典的进程同步和互斥问题。(4)死锁死锁是指多个进程循环等待他方占有的资源而无限期地僵持下去的局面。计算机系统产生死锁的根本原因就是资源有限且操作

5、不当。一种原因是竞争资源引起的死锁,另一种原因是由于进程推进顺序不合适引发的死锁。产生死锁的四个必要条件是:互斥条件,不可抢占条件,占有且申请条件,循环等待条件。如果在计算机系统中同时具备这四个必要条件时,那么会发生死锁。一般地,解决死锁的方法分为死锁的预防、避免、检测与恢复三种。2.2 典型例题解析【例1】判断题:并发是并行的不同表述,其原理相同。( )答案 ×。分析 并发是指多道程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。但对单CPU系统而言,每一时刻只有一个程序在CPU上运行(有可能此时其他的程序在进行输入、输出)。也就是说,占有CPU的只能有

6、一个程序。因此,并发实际上是“在宏观上并行执行,在微观上串行执行”。而并行是真正意义上的并行执行,因此两者的含义是不同的。【例2】在操作系统中引入“进程”概念的主要目的是( )。A改善用户编程环境 B提高程序的运行速度C描述程序动态执行过程的性质 D使程序与计算过程一一对应答案 C分析 操作系统中多道程序的引入,使得它们在并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各道程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。这些都是在程序的动态过程中发生的。而程序本身是机器能够翻译或执行的一组动作或指令,它或者写在纸面上,或者存放在磁盘等介质上,是静止的。很

7、显然,直接从程序的字面上无法看出它什么时候运行、什么时候停顿,也看不出它是否影响其它程序或者一定受其它程序的影响。因此,用程序这个静态概念已不能如实反映程序并发执行过程中的这些特征。为此,人们引入进程的概念来描述程序动态执行过程的性质,这是引入“进程”概念的主要目的。【例3】下列进程状态的转换中,不正确的是( )。A就绪®阻塞 B运行®就绪 C就绪®运行 D阻塞®就绪答案 A分析 回答这道题要知道进程的3种基本状态,以及它们之间的转换关系。通过下图可以看到,凡是图中有箭头指向的转换都是可行的,而没有箭头指向的则不可能。因此A是不正确的。运行态分配到CPU

8、时间片到等待某事件发生所等待的事件发生阻塞态就绪态图 进程状态及其转换如果有的同学记不住这张图,那就从理解的角度进行思考。首先要理解3种状态的含义,然后再理解它们之间的转换。例如:运行的进程能变成就绪吗?可以,如果运行进程的时间片到了,就必修让出CPU,转换为就绪态。就绪的进程能变成阻塞吗?不可以,就绪态的进程已经具备了运行条件,只在等待CPU,怎么可能还退回到还不具备运行条件的阻塞态呢?因此,如果理解了,这张图就可以自己画出来,并不需要死记硬背。【例4】进程控制块是描述进程状态和特性的数据结构,一个进程( )。A可以有多个进程控制块 B可以和其他进程共用一个进程控制块C可以没有进程控制块 D

9、只能有唯一的进程控制块答案 D分析 进程控制块(PCB)是一个用于描述进程动态性质的数据结构。操作系统根据PCB对进程实施控制和管理。进程的动态、并发等特征也是通过PCB表现出来的。进程由程序、数据、栈和PCB构成。构成进程的有关程序和数据集合是进程得以存在的物质基础,它们是进程的实体;PCB用于标识和刻画实体的存在和变化,是进程存在的唯一标志。当系统创建一个新进程时,就为它建立一个PCB;当进程终止后,系统回收为其分配的PCB,该进程在系统中就不存在了。【例5】在执行V操作时,当信号量的值( ),应释放一个等待该信号量的进程。 A小于0 B大于0 C小于等于0 D大于等于0答案 C分析 P,

10、V操作能够实现对临界区的管理要求。它由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体定义如下: P(S):将信号量S的值减1,即S=S-1; 如果S³0,则该进程继续执行;否则该进程置为阻塞状态,排入阻塞队列。 V(S):将信号量S的值加1,即S=S+1; 如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。 信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数。注意,信号量的值仅能由P

11、,V操作来改变。一般来说,信号量S³0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S£0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。【例6】有9个生产者,6个消费者,共享容量为8的缓冲区。在这个生产者-消费者问题中,互斥使用缓冲区的信号量mutex的初值应该为( )。 A1 B6 C8 D9答案 A分析 进程的互斥是指当有若干个进程都要使用某一共享资源时,

12、任何时刻最多只允许一个进程去使用,其它要使用该资源的进程必须等待,直到占用资源者释放了该资源。 进程的互斥体现了并发进程之间访问共享资源时存在的竞争关系。在计算机系统中必须互斥使用的资源很多,如读卡机、磁带机、打印机等硬件资源和一些公共变量、表格、队列、数据等软件资源。 利用信号量和P,V操作实现进程互斥的一般模型是:进程P1 进程P2 进程Pn P(mutex); P(mutex); P(mutex);临界区; 临界区; 临界区;V(mutex); V(mutex); V(mutex); 其中信号量mutex用于互斥,初值为1。 使用P,V操作实现进程互斥时应该注意的是: (1)每个程序中用

13、户实现互斥的P、V操作必须成对出现,先做P操作,进临界区,后做V操作,出临界区。若有多个分支,要认真检查其成对性。 (2)互斥信号量的初值一般为1。 此外,P、V操作应分别紧靠临界区的头尾部,临界区的代码应尽可能短,不能有死循环。 在本题中,既然是问互斥信号量,其初值应为1,选项中的6,8,9都是迷惑答题者的,如果对同步和互斥不能很好地理解,就很难选择。【例7】两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的( )关系。 A同步 B互斥 C竞争 D合作答案 A分析 进程的同步是指并发进程之间存在一种制约关系,一个进程的执

14、行依赖另一个进程的消息,当一个进程没有得到另一个进程的消息时应等待,直到消息到达才被唤醒。 同步是进程间共同完成一项任务时直接发生相互作用的关系。这样的例子在日常生活中不胜枚举,比如接力比赛中运动员的默契配合,工业生产中流水作业的每道工序的先后执行,以及计算机系统中对一个缓冲区的读和写等等。当并发进程存在协作的关系时,必须互通消息,完成进程的同步。 能实现进程同步的机制称为同步机制,该机制能把其他进程需要的消息发送出去,也能测试自己需要的消息是否到达。 P,V操作是典型的同步机制之一。用一个信号量与一个消息联系起来,当信号量的值为0时,表示期望的消息尚未产生;当信号量的值非0时,表示期望的消息

15、已经存在。用P,V操作实现进程同步时,调用P操作测试消息是否到达,调用V操作发送消息。 使用PV操作实现进程同步时应该注意的是: (1)分析进程间的制约关系,确定信号量种类。在保持进程间有正确的同步关系情况下,哪个进程先执行,哪些进程后执行,彼此间通过什么资源(信号量)进行协调,从而明确要设置哪些信号量。 (2)信号量的初值与相应资源的数量有关,也与P、V操作在程序代码中出现的位置有关。(3)同一信号量的P、V操作要成对出现,但它们分别在不同的进程代码中。本题中进程的同步体现的是合作关系,但答案不能选D,要使用操作系统的术语“同步”。【例8】设有一台计算机,有两条I/O通道,分别接一台卡片输入

16、机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印结果。问: 系统要设几个进程来完成这个任务?各自的工作是什么? 这些进程间有什么样的相互制约关系? 用P、V操作写出这些进程的同步算法。分析 我们画一个草图来帮助我们理解这道题:卡片机缓冲区B1打印机缓冲区B2输入处理输出从图中可以看出,从“卡片机”到“打印机”共需要3个操作,即输入、处理、输出。这3个动作就是完成任务的3个进程。下面我们看看这些进程之间有什么样的制约关系。可以看出,这3个进程之间是同步关系,合作完成从输入到输出的工作任务。对其中任何一个进程,要处理好与其关联的两端设备的协调工

17、作。以“输入进程”为例,它与卡片机和缓冲区B1关联,将卡片机的卡片输入到缓冲区B1,在不考虑卡片机的情况下,就要考虑缓冲区的情况,即是满还是空,是空缓冲区,输入进程就可以输入信息,如果缓冲区满,则要等待“处理进程”将B1中的信息取走,使之为空,输入进程才能继续工作。依此类推,可以找出另外2个进程的制约关系。一般来说,处理进程同步需要2个信号量,“输入进程”和“处理进程”同步,需要2个信号量,解决缓冲区B1的协调操作问题;而“处理进程”和“输出进程”同步,还需要2个信号量,解决缓冲区B2的协调操作问题。因此,共需要4个信号量。本题中“处理进程”的算法有一些难度,因为它需要协调两个缓冲区的工作,考

18、虑的因素比较多,算法复杂些。答案系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P进程负责从缓冲区B2中取出信息,并在打印机上印出。R进程受C进程影响,B1放满信息后R进程要等待等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后,C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。信号量含义及初值:B1full 缓冲区B1满,初值为0;B1empty

19、缓冲区B1空,初值为0;B2full 缓冲区B2满,初值为0;B2empty缓冲区B2空,初值为0; R进程 C进程 P进程 输入信息写入缓冲区B1 P(B1full) P(B2full) V(B1full) 从B1中取出信息 从B2中取出信息进行打印 P(B1empty) 加工信息 V(B2empty) 结果送入B2 V(B1empty) V(B2full) P(B2empty) 说明 前面我们说过:信号量的初值与相应资源的数量有关,也与P、V操作在程序代码中出现的位置有关。以本题为例,如果R进程的算法如下:R进程P(B1empty)输入信息写入缓冲区B1V(B1full)则信号量B1emp

20、ty初值应为1。表示B1缓冲区初始为空闲状态。 如果C进程的算法如下: C进程 P(B1full) 从B1中取出信息 V(B1empty) 加工信息 P(B2empty)结果送入B2 V(B2full) 则信号量B2empty初值应为1。表示B2缓冲区初始为空闲状态。【例9】死锁的四个必要条件中,无法破坏的是( )。A互斥条件 B不可抢占条件C占有且申请条件 D循环等待条件答案 A分析 互斥条件、不可抢占条件、占有且申请条件和循环等待条件是死锁发生时的4个必要条件,我们知道,只要破坏这4个必要条件中的任意一个条件,死锁就不会发生。打破互斥条件,就是允许进程同时访问某些资源。但是,有的资源是不允

21、许被同时访问的,如打印机等,这是由资源本身的属性所决定的,因此这种方法并无实用价值。而其他三个条件是完全可以破坏的。2.3 练习题一、选择题(选择一个正确答案的代码填入括号中)1. 顺序程序和并发程序的执行相比,( )。A基本相同 B有点不同C并发程序执行总体上执行时间快D顺序程序执行总体上执行时间快2. 在单一处理机上,将执行时间有重叠的几个程序称为( )。A顺序程序 B多道程序 C并发程序 D并行程序3. 在单CPU的系统中,若干程序的并发执行是由( )实现的。A用户 B程序自身 C进程 D编译程序4. 进程与程序之间有密切联系,但又是不同的概念。二者的一个本质区别是( )。A程序是静态概

22、念,进程是动态概念 B程序是动态概念,进程是静态概念C程序保存在文件中,进程存放在内存中D程序顺序执行,进程并发执行5. 在操作系统中,进程的最基本的特征是( )。A动态性和并发性 B顺序性和可再现性 C与程序的对应性 D执行过程的封闭性6. 多个进程的实体能存在于同一内存中,在一段时间内都得到运行。这种性质称作进程的( )。A动态性 B并发性 C调度性 D异步性7. 进程是程序的执行过程,可以处于不同的状态。这种性质称作进程的( )。A动态性 B并发性 C调度性 D异步性8. 在下列特性中,不是进程的特性的是( )。A异步性 B调度性 C操作性 D动态性9. 某进程由于需要从磁盘上读入数据而

23、处于阻塞状态。当系统完成了所需的读盘操作后,此时该进程的状态将( )。A 从就绪变为运行 B从运行变为就绪 C从运行变为阻塞 D从阻塞变为就绪10. 一个进程被唤醒意味着( )。A该进程重新占有了CPU B进程状态变为就绪 C它的优先权变为最大 D其PCB移至就绪队列的队首11. 在单处理机系统中,处于运行状态的进程( )。A只有一个 B可以有多个C不能被挂起 D必须在执行完后才能被撤下12. 已经获得除( )以外的所有运行所需资源的进程处于就绪状态。A存储器 B打印机 CCPU D磁盘空间13. 进程从运行状态变为阻塞状态的原因是( )。A输入或输出事件发生 B时间片到C输入或输出事件完成

24、D某个进程被唤醒14. 为了描述进程的动态变化过程,采用了一个与进程相联系的( ),根据它而感知进程的存在。A进程状态字 B进程优先数 C进程控制块 D进程起始地址15. 进程在系统中存在的唯一标志是( )。A所运行的程序 B所运行的程序和数据C进程队列 D进程控制块16. 进程的动态、并发等特征是利用( )表现出来的。A程序 B数据 C程序和数据 D进程控制块17. 进程间的基本关系为( )。A相互独立与相互制约 B同步与互斥C并行执行与资源共享 D信息传递与信息缓冲18. 在一段时间内,只允许一个进程访问的资源称为( )。A共享资源 B临界区 C临界资源 D共享区19. 操作系统中有一组常

25、称为特殊系统调用的程序,其操作具有不可分割性,在操作系统中称为( )。A初始化程序 B原语 C子程序 D控制模块20. 操作系统中利用信号量和P、V操作,( )。A只能实现进程的互斥 B只能实现进程的同步C可实现进程的互斥和同步 D可完成进程调度21. 如果进程Pa对信号量S执行P操作,则信号量S的值应( )。 A加1 B减1 C等于0 D小于022. 如果信号量S的值是0 , 此时进程A执行P(S)操作,那么,进程A会( )。A继续运行 B进入阻塞态,让出CPUC进入就绪态,让出CPU D继续运行,并唤醒S队列头上的等待进程23. 在操作系统中,对信号量S的P操作原语的定义中,使进程进入相应

26、阻塞队列等待的条件是( )。 AS>0 BS=0 CS<0 DS¹024. 信号量S的初值为8,在S上执行了10次P操作,6次V操作后,S的值为( )。 A10 B8 C6 D425. 若P、V操作的信号量S初值为2,当前值为 -1,则表示有( )个等待进程。 A0 Bl C2 D3 26. 在进程通信中,使用信箱方式交换信息的是( )。A低级进程通信 B高级进程通信 C共享内存方式 D管道文件方式27. 系统出现死锁的原因是( )。A计算机系统发生了重大故障B有多个封锁的进程同时存在C若干进程因竞争资源而无休止地循环等待着,而且都不释放已占有的资源 D资源数大大少于进程数,或进程同时申请的资源数大大超

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论