进程管理习题课 答案_第1页
进程管理习题课 答案_第2页
进程管理习题课 答案_第3页
进程管理习题课 答案_第4页
进程管理习题课 答案_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、进程管理习题课进程管理习题课1. 用用 P、V 操作管理临界区时,信号量的初值一般应操作管理临界区时,信号量的初值一般应定义为(定义为( ) 。 A. 1 B. 0 C. 1 D. 任意值任意值2. 有有 m 个进程共享同一临界资源,若使用信号量机个进程共享同一临界资源,若使用信号量机制实现对一临界资源的互斥访问制实现对一临界资源的互斥访问 ,则信号量的变,则信号量的变化范围是(化范围是( ) 。 A. 1 至至 (m-1) B.1 至至 m-1 C.1 至至m D.1 至至 m3. 如果信号量的当前值为如果信号量的当前值为-4,则表示系统中在该信号,则表示系统中在该信号量上有(量上有( )个

2、进程等待。)个进程等待。 A.4 B.3 C.5 D.04. 若有若有 4 个进程共享同一程序段,而且每次最多允许个进程共享同一程序段,而且每次最多允许 3 个进程进入该程序段,则信号量的变化范围是个进程进入该程序段,则信号量的变化范围是( ) 。 A. 3,2,1,0 B. 3,2,1,0,-1 C. 4,3,2,1,0 D. 2,1,0,-1,-25. 如果有三个进程共享同一互斥段,而且每次最多允如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置许两个进程进入该互斥段,则信号量的初值应设置为(为( ) 。 A. 3 B. 1 C. 2 D. 06. 有

3、关进程的描述中,有关进程的描述中, ( )是正确的。)是正确的。A.进程执行的相对速度不能由进程自己来控制进程执行的相对速度不能由进程自己来控制B.利用信号量的利用信号量的 P. V 操作可以交换大量信息操作可以交换大量信息C.同步是指并发进程之间存在的一种制约关系同步是指并发进程之间存在的一种制约关系D.并发进程在访问共享资源时,不可能出现与时间有关的错误并发进程在访问共享资源时,不可能出现与时间有关的错误7. 下列资源中,下列资源中,( ) 是临界资源。是临界资源。A.打印机打印机 B.非共享的资源非共享的资源 C.共享变量共享变量 D.共享缓冲区共享缓冲区8. 进程从执行状态转换到阻塞状

4、态的可能原因是进程从执行状态转换到阻塞状态的可能原因是( ).A.时间片完时间片完 B.需要等待其它进程的执行结果需要等待其它进程的执行结果C.执行了执行了 V 操作操作 D.执行了执行了 P 操作操作9. 进程从阻塞状态转换到就绪状态的可能原因是进程从阻塞状态转换到就绪状态的可能原因是( ).A. 时间片完时间片完 B.其它进程执行了唤醒原语其它进程执行了唤醒原语C. 执行了执行了 V 操作操作 D. 执行了执行了 P 操作操作10.在单处理机系统中,设系统中有在单处理机系统中,设系统中有 n 个进程(个进程(n2),且当前处且当前处理机没有执行进程调度程序,下述情况哪些可能发生(理机没有执

5、行进程调度程序,下述情况哪些可能发生( ) 。A.没有运行的进程,有没有运行的进程,有 2 个进程处于就绪状态,个进程处于就绪状态,n 个进程处于等个进程处于等待状态。待状态。B.一个进程处于运行状态,一个进程处于运行状态,n-1 个进程处于等待状态。个进程处于等待状态。C. 一个进程处于运行状态,一个进程处于运行状态,1 个进程处于就绪状态,个进程处于就绪状态,n-2 个进程个进程处于等待状态。处于等待状态。D. 一个进程处于运行状态,一个进程处于运行状态,n-1 个进程处于就绪状态,没有进程个进程处于就绪状态,没有进程处于等待状态处于等待状态例例1 :多道程序系统程序的执行失去了封闭性和再

6、现:多道程序系统程序的执行失去了封闭性和再现性,性, 因此多道程序的执行不需要这些特性,这种因此多道程序的执行不需要这些特性,这种说法是否正确说法是否正确 ?解解:这种这种说法不正确。说法不正确。可以想象,如果一个程序在多可以想象,如果一个程序在多道程序系统中,在相同的输入道程序系统中,在相同的输入的情况的情况下,多次执行下,多次执行所得结果是不同的,有谁还敢使用这个程序?因此,所得结果是不同的,有谁还敢使用这个程序?因此,多道程序的执行多道程序的执行也需要也需要封闭性和再现性封闭性和再现性,只不过单,只不过单道程序系统的封闭性和再现性是先天固有的,道程序系统的封闭性和再现性是先天固有的,多道

7、多道程序程序系统系统的程序执行要想获得封闭性和再现性,需的程序执行要想获得封闭性和再现性,需通过程序员的精心设计才能得到。所使用的通过程序员的精心设计才能得到。所使用的方法方法就就是同步和互斥的方法。是同步和互斥的方法。例例2:多个进程对信号量:多个进程对信号量 S 进行了进行了 5 次次 P 操作,操作,2 次次 V 操作后,现在信号量的值是操作后,现在信号量的值是-3,与信号量,与信号量 S 相关的相关的处于阻塞状态的进程有几个?信号量的初值是多少?处于阻塞状态的进程有几个?信号量的初值是多少?解:解:(1) 因为因为 S 的当前值是的当前值是-3,因此因为,因此因为 S 处于阻塞状态的处

8、于阻塞状态的进程有进程有 3 个;个;(2) 因为每进行一次因为每进行一次 P(S)操作,操作,S 的值都减的值都减 1,每执行,每执行 1 次次 V 操作操作 S 的值加的值加 1,故信号量的初值为,故信号量的初值为-3+5-2=0;例例3:用信号量实现司机和售票员间的同步。:用信号量实现司机和售票员间的同步。 司机司机 售票员售票员 正常行车正常行车 到站停车到站停车 售售 票票 开车门开车门 关车门关车门 离站开车离站开车V(s2) P(s1) P(s2) V(s1) 设:设:S1和和S2分别为司机和售票分别为司机和售票员的信号量,其初员的信号量,其初值均为值均为0,信号量信号量S1表表

9、示售票员通知司机示售票员通知司机“可以开车可以开车”的消的消息(信号),息(信号), 信号量信号量S2表表示司机通知售票员示司机通知售票员“可以开门可以开门”的消的消息(信号)。息(信号)。例例4:若信号量的初值是,现在信号量的值是:若信号量的初值是,现在信号量的值是 -,那么系统中的相关进程至少执行了几个那么系统中的相关进程至少执行了几个(S)操作?操作? 与信号量与信号量 S相关的处于阻塞状态的进程有几个?如相关的处于阻塞状态的进程有几个?如果要使信号量果要使信号量 S 的值大于的值大于 0,应该进行怎样的操作?,应该进行怎样的操作?解:解:(1) 因为每执行一次因为每执行一次 P 操作操

10、作 S 的值减的值减 1,5-(-5)=10,在这期间有可能有进程执行在这期间有可能有进程执行 V操作,使操作,使 S 的值加的值加 1,所以至少执行了所以至少执行了 10 次次 P(S);(2) 5 个;个;(3) 6 个个 V(S) 或或 以上。以上。例例5:如图所示,有多个:如图所示,有多个 PUT 操作同时向操作同时向 BUFF1 放数放数据,有一个据,有一个 MOVE 操作不断地将操作不断地将 BUFF1 的数据移的数据移到到 Buff2,有多个,有多个 GET 操作不断地从操作不断地从 Buff2 中将数中将数据取走。据取走。BUFF1 的容量为的容量为 m,BUFF2 的容量是的

11、容量是 n, PUT、 MOVE、 GET 每次操作一个数据,在操作的每次操作一个数据,在操作的过程中要保证数据不丢失。试用、原语协调过程中要保证数据不丢失。试用、原语协调 PUT、 MOVE 的操作,并说明每个信号量的含义和的操作,并说明每个信号量的含义和初值。初值。解解(1) 确定并发的操作确定并发的操作 本问题是把本问题是把 2 个消费者和生产者问题综合在一起。多个个消费者和生产者问题综合在一起。多个 PUT 操作操作与一个与一个 MOVE 操作并发进行,多个操作并发进行,多个 GET 操作与一个操作与一个 MOVE 操作并操作并发进行。因此本题涉及三类进程:发进行。因此本题涉及三类进程

12、:PUT 类进程,有多个;类进程,有多个;GET 类类进程,有多个;进程,有多个;MOVE 类进程,有类进程,有 1 个个。(2) 操作规则操作规则1) 只有只有 buff1 有空间才能进行有空间才能进行 PUT 操作;操作;2) 只有只有 buff1 有数据,有数据,buff2 有空间才能进行有空间才能进行 MOVE 操作;操作;3) 只有只有 buff2 有数据才能进行有数据才能进行 GET 操作;操作;4) 不允许多个进程同时操作不允许多个进程同时操作 buff1;5) 不允许多个进程同时操作不允许多个进程同时操作 buff2。(3) 操作流程操作流程(3) 操作流程操作流程(3) 操作

13、流程操作流程(4) 信号量信号量设置设置 6 个信号量个信号量 full1、empty1、B-M1、full2、empty2、B-M2,它们的含义和初值如下:它们的含义和初值如下:1) full1 表示表示 buff1 是否有数据,初值为是否有数据,初值为 0;2) empty1 表示表示 buff1 有空间,初值为有空间,初值为 m;3) B-M1 表示表示 buff1 是否可操作,初值为是否可操作,初值为 1;4) Full2 表示表示 buff2 是否有数据,初值为是否有数据,初值为 0;5) Empty2 表示表示 buff2 有空间,初值为有空间,初值为 n;6) B-M2 表示表示

14、 buff2 是否可操作,初值为是否可操作,初值为 1;(5) P、V 操作实现操作实现(5) P、V 操作实现操作实现(5) P、V 操作实现操作实现 repeat P(empty2); /*判断判断 buff2 是否有空间,没有则等待是否有空间,没有则等待 */ P(B-M2); /*是否可操作是否可操作 buff2*/ GET; V(B-M2); /*设置设置 buff2 可操作标志可操作标志 */ V(full2); /*设置设置 buff2 有数据的标志有数据的标志 */ until false例例6:一售票厅只能容纳:一售票厅只能容纳 300 人,人, 当少于当少于 300 人时,

15、可以进入;人时,可以进入;否则,需在外等候否则,需在外等候 。若将每一个购票者作为一个进程,请。若将每一个购票者作为一个进程,请用用 P、V 操作编程,并写出信号量的初值。操作编程,并写出信号量的初值。解:解:购票者进程购票者进程 P(S); 进入售票厅;购票;退出售票厅;进入售票厅;购票;退出售票厅; V(S); 信号量的初值信号量的初值 S=300例例7:设:设 A、B 为两个并发进程,它们共享一个临界为两个并发进程,它们共享一个临界资源,其执行临界区的算法框图如下图所示。试判资源,其执行临界区的算法框图如下图所示。试判断该算法是否有错?请说明理由。如果有错,请改断该算法是否有错?请说明理

16、由。如果有错,请改正。正。S1、S1 的初值为的初值为 0,CSA、CSB 为临界区。为临界区。分析:分析: 咋一看,咋一看, 好像是好像是 A 进程开始未执行进程开始未执行 P 操作,便直接进入临操作,便直接进入临界区,以为问题出在这里。从图中可分析出界区,以为问题出在这里。从图中可分析出 A、B 两进程的两进程的执行思路:执行思路:A 进程对临界资源操作结束后,将其释放给进程对临界资源操作结束后,将其释放给 B 进进程,而程,而 B 进程对临界资源操作结束后,将释放给进程进程对临界资源操作结束后,将释放给进程 A。系。系统初启时,统初启时,S1、S2初值为初值为 0,则,则 B 执行执行

17、P(S1)被阻塞,而被阻塞,而 A 进程可直接访问临界资源。故进程可直接访问临界资源。故 A、B 两个并发进程不可能同两个并发进程不可能同时操作临界资源,该算法是可以保证互斥的。按本题的要时操作临界资源,该算法是可以保证互斥的。按本题的要求,两个进程对临界资源的操作是没有先后顺序的,求,两个进程对临界资源的操作是没有先后顺序的, 但是,但是, 在上面的实现中,在上面的实现中, 只有只有 A 进程先操作完临界资源后进程先操作完临界资源后 , B 进程才能操作。进程才能操作。解解 :该算法有错。:该算法有错。 若若 A 进程永不要求访问临界资源,则不会执行进程永不要求访问临界资源,则不会执行 V(

18、S1),意味,意味着着 B 进程的申请永远得不到操作临界资源的机会;进程的申请永远得不到操作临界资源的机会; 同理,若同理,若 B 进程不要求访问临界资源,则不会执行进程不要求访问临界资源,则不会执行 V(S2),意味着意味着 A 进程下次也得不到操作临界资源的机会。进程下次也得不到操作临界资源的机会。 所以所以问题在于本应进行互斥控制而使用的却是同步控制问题在于本应进行互斥控制而使用的却是同步控制。实。实现改正:现改正:设置信号设置信号 mutexmutex:=1;cobeginA进程:进程:BeginrepeatP(mutex);CSA;V(mutex);until falseEndB 进程:进程:BeginrepeatP(mutex);CSB;V(mutex);until falseEndCoend例例 8:某高校计算机系

温馨提示

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

评论

0/150

提交评论