进程管理习题课答案PPT课件_第1页
进程管理习题课答案PPT课件_第2页
进程管理习题课答案PPT课件_第3页
进程管理习题课答案PPT课件_第4页
进程管理习题课答案PPT课件_第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 至 m第1页/共25页3. 如果信号量的当前值为-4,则表示系统中在该信号量上有( )个进程等待。 A.4 B.3 C.5 D.04. 若有 4 个进程共享同一程序段,而且每次最多允许 3 个进程进入该程序段,则信号量的变化范围是( ) 。 A. 3,2,1,0 B. 3,2,1,0,-1 C. 4,

2、3,2,1,0 D. 2,1,0,-1,-25. 如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入该互斥段,则信号量的初值应设置为( ) 。 A. 3 B. 1 C. 2 D. 0第2页/共25页6. 有关进程的描述中, ( )是正确的。A.进程执行的相对速度不能由进程自己来控制B.利用信号量的 P. V 操作可以交换大量信息C.同步是指并发进程之间存在的一种制约关系D.并发进程在访问共享资源时,不可能出现与时间有关的错误7. 下列资源中,( ) 是临界资源。A.打印机 B.非共享的资源 C.共享变量 D.共享缓冲区8. 进程从执行状态转换到阻塞状态的可能原因是( ).A.时间片完

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

4、于就绪状态,没有进程处于等待状态第4页/共25页例1 :多道程序系统程序的执行失去了封闭性和再现性, 因此多道程序的执行不需要这些特性,这种说法是否正确 ?解:这种说法不正确。可以想象,如果一个程序在多道程序系统中,在相同的输入的情况下,多次执行所得结果是不同的,有谁还敢使用这个程序?因此,多道程序的执行也需要封闭性和再现性,只不过单道程序系统的封闭性和再现性是先天固有的,多道程序系统的程序执行要想获得封闭性和再现性,需通过程序员的精心设计才能得到。所使用的方法就是同步和互斥的方法。第5页/共25页例2:多个进程对信号量 S 进行了 5 次 P 操作,2 次 V 操作后,现在信号量的值是-3,

5、与信号量 S 相关的处于阻塞状态的进程有几个?信号量的初值是多少?解:(1) 因为 S 的当前值是-3,因此因为 S 处于阻塞状态的进程有 3 个;(2) 因为每进行一次 P(S)操作,S 的值都减 1,每执行 1 次 V 操作 S 的值加 1,故信号量的初值为-3+5-2=0;第6页/共25页例3:用信号量实现司机和售票员间的同步。 司机 售票员 正常行车 到站停车 售 票 开车门 关车门 离站开车V(s2) P(s1) P(s2) V(s1) 设:S1和S2分别为司机和售票员的信号量,其初值均为0,信号量S1表示售票员通知司机“可以开车”的消息(信号), 信号量S2表示司机通知售票员“可以

6、开门”的消息(信号)。第7页/共25页例4:若信号量的初值是,现在信号量的值是 -,那么系统中的相关进程至少执行了几个(S)操作? 与信号量 S相关的处于阻塞状态的进程有几个?如果要使信号量 S 的值大于 0,应该进行怎样的操作?解:(1) 因为每执行一次 P 操作 S 的值减 1,5-(-5)=10,在这期间有可能有进程执行 V操作,使 S 的值加 1,所以至少执行了 10 次 P(S);(2) 5 个;(3) 6 个 V(S) 或 以上。第8页/共25页例5:如图所示,有多个 PUT 操作同时向 BUFF1 放数据,有一个 MOVE 操作不断地将 BUFF1 的数据移到 Buff2,有多个

7、 GET 操作不断地从 Buff2 中将数据取走。BUFF1 的容量为 m,BUFF2 的容量是 n, PUT、 MOVE、 GET 每次操作一个数据,在操作的过程中要保证数据不丢失。试用、原语协调 PUT、 MOVE 的操作,并说明每个信号量的含义和初值。第9页/共25页解(1) 确定并发的操作 本问题是把 2 个消费者和生产者问题综合在一起。多个 PUT 操作与一个 MOVE 操作并发进行,多个 GET 操作与一个 MOVE 操作并发进行。因此本题涉及三类进程:PUT 类进程,有多个;GET 类进程,有多个;MOVE 类进程,有 1 个。(2) 操作规则1) 只有 buff1 有空间才能进

8、行 PUT 操作;2) 只有 buff1 有数据,buff2 有空间才能进行 MOVE 操作;3) 只有 buff2 有数据才能进行 GET 操作;4) 不允许多个进程同时操作 buff1;5) 不允许多个进程同时操作 buff2。第10页/共25页(3) 操作流程第11页/共25页(3) 操作流程第12页/共25页(3) 操作流程第13页/共25页(4) 信号量设置 6 个信号量 full1、empty1、B-M1、full2、empty2、B-M2,它们的含义和初值如下:1) full1 表示 buff1 是否有数据,初值为 0;2) empty1 表示 buff1 有空间,初值为 m;3

9、) B-M1 表示 buff1 是否可操作,初值为 1;4) Full2 表示 buff2 是否有数据,初值为 0;5) Empty2 表示 buff2 有空间,初值为 n;6) B-M2 表示 buff2 是否可操作,初值为 1;第14页/共25页(5) P、V 操作实现第15页/共25页(5) P、V 操作实现第16页/共25页(5) P、V 操作实现 repeat P(empty2); /*判断 buff2 是否有空间,没有则等待 */ P(B-M2); /*是否可操作 buff2*/ GET; V(B-M2); /*设置 buff2 可操作标志 */ V(full2); /*设置 bu

10、ff2 有数据的标志 */ until false第17页/共25页例6:一售票厅只能容纳 300 人, 当少于 300 人时,可以进入;否则,需在外等候 。若将每一个购票者作为一个进程,请用 P、V 操作编程,并写出信号量的初值。解:购票者进程 P(S); 进入售票厅;购票;退出售票厅; V(S); 信号量的初值 S=300第18页/共25页例7:设 A、B 为两个并发进程,它们共享一个临界资源,其执行临界区的算法框图如下图所示。试判断该算法是否有错?请说明理由。如果有错,请改正。S1、S1 的初值为 0,CSA、CSB 为临界区。第19页/共25页分析: 咋一看, 好像是 A 进程开始未执

11、行 P 操作,便直接进入临界区,以为问题出在这里。从图中可分析出 A、B 两进程的执行思路:A 进程对临界资源操作结束后,将其释放给 B 进程,而 B 进程对临界资源操作结束后,将释放给进程 A。系统初启时,S1、S2初值为 0,则 B 执行 P(S1)被阻塞,而 A 进程可直接访问临界资源。故 A、B 两个并发进程不可能同时操作临界资源,该算法是可以保证互斥的。按本题的要求,两个进程对临界资源的操作是没有先后顺序的, 但是, 在上面的实现中, 只有 A 进程先操作完临界资源后 , B 进程才能操作。第20页/共25页解 :该算法有错。 若 A 进程永不要求访问临界资源,则不会执行 V(S1)

12、,意味着 B 进程的申请永远得不到操作临界资源的机会; 同理,若 B 进程不要求访问临界资源,则不会执行 V(S2),意味着 A 进程下次也得不到操作临界资源的机会。 所以问题在于本应进行互斥控制而使用的却是同步控制。实现改正:设置信号 mutexmutex:=1;cobeginA进程:BeginrepeatP(mutex);CSA;V(mutex);until falseEndB 进程:BeginrepeatP(mutex);CSB;V(mutex);until falseEndCoend第21页/共25页例 8:某高校计算机系开设网络课并安排上机实习,假设机房共有 2m 台机器,有2n 名学生选该课,规定: (1) 每两个学生组成一组,各占一台机器,协同完成上机实习;(2) 只有凑够两个学生,并且此时机房有空闲机器,门卫才允许该组学生进入机房;(3) 上机实习由一名教师检查,检查完毕,一组学生才可以离开机房。试用 P、V 操作模拟上机实习过程。第2

温馨提示

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

评论

0/150

提交评论