手机版

第6章习题解答(6)

发布时间:2021-06-10   来源:未知    
字号:

操作系统

“进入”进程

信号量: 的初值=100 的初值=0

“注销”进程

图6-11 “进入”与“注销”两个进程

在读者进入时,调用“进入”进程,通过P(S1)来申请座位。如果申请到,就可以办理阅览手续。如果100个座位都申请完毕,那么第101个读者就只有在关于S1的队列上等待,等到有人调用“注销”进程执行V(S1)。在有读者离去时,就调用“注销”进程。

3.今有3个并发进程R、S、T,它们共享一个缓冲区B。进程R负责从输入设备读入信息,每读出一个记录后就把它存入缓冲区B中;进程S利用缓冲区B加工进程R存入的记录;进程T把加工完毕的记录打印输出。缓冲区B一次只能存放一个记录。只有在进程T把缓冲区里的记录输出后,才能再往里存放新的记录。试用信号量及其P、V操作控制这3个进程间的的正确工作关系。

解:3个并发进程R、S、T之间有如下的制约关系: (1)R必须先做,在往缓冲区B里面存入数据后,应该向S发消息,然后等待T打印输出后释放缓冲区B;

(2)S应该与R取得同步,在等到R发来的消息(表明B里面有数据)后,取出加工、回存,然后向T发消息;

(3)T应该与S取得同步,在等到S发来的消息(表明B里的数据已经加工完毕)后,才取出打印,然后向R发消息,表示缓冲区B又可以使用了。

从这些关系可以看出,这里是3个同步问题:R要与T取得同步;S要与R取得同步;T要与S取得同步。所以,设置3个同步信号量:

S1——控制S要与R取得同步;

S2——控制T要与S取得同步; S3——控制R要与T取得同步。

图6-12给出了它们的工作流程示意。

第6章习题解答(6).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)