操作系统作业.docxVIP

  • 20
  • 0
  • 约 8页
  • 2017-06-14 发布于北京
  • 举报
4.(可选)假定一个阅览室最多可容纳100人,读者进入和离开阅览室时都必须在阅览室门口的一个登记表上进行登记(进入时登记,离开时去掉登记项),而且每次只允许一人登记或去掉登记,问:(1)应编写几个程序完成此项工作,程序的主要动作是些什么?应设置几个进程?进程与程序间的对应关系如何?(2)用P,V操作写出这些进程的同步通信关系。答:编写两个进程,一个处理读者进入,一个处理读者离开,进程是程序的动态执行设置信号量 full 为初值为 0 ,空的信号量 empty 初值为 100, 互斥信号量 mutex 初值为 1进入离开P(empty) P(full)P(mutex)P(mutex)登记取消登记V(mutex)V(mutex)V(full) V(empty)进入离开5.进程A1、A2、…、An1通过m个缓冲区向进程B1、B2、…、Bn2不断地发送消息,发送和接收工作遵循如下规则:(1)每个发送进程每次发送一个消息,写入一个缓冲区,缓冲区大小与消息长度一样。(2)对每一个消息,B1、B2、…、Bn2都需要各接收一次,读到各自的数据区内。(3)m个缓冲区都满时,发送进程等待;没有可读的消息时,接收进程等待。试用P、V操作组织正确的发送和接收操作。答:VARmutex : Semaphore : { 初值为 1 ,实现对缓冲区的互斥 }empty : Semaphore : { 初值为 n

文档评论(0)

1亿VIP精品文档

相关文档