操作系统题目.pdfVIP

  • 7
  • 0
  • 约2.12万字
  • 约 19页
  • 2022-04-17 发布于上海
  • 举报
1.进程A1,A2,...,Anl 通过m 个缓冲区向进程B1,B2,...,Bn2 不断地发送消息,发送和 接收工作遵循如下规则: (1)每个发送进程一次发送一个信息,写入一个缓冲区,缓冲区大小与消息长度一样; (2)对每一个消息,B1,B2,...,Bn2 都需各接收一次,读入各自的数据区内; (3)m 个缓冲区都满时,发送进程等待,没有可读的消息时,接收进程等待。 试用P、V 操作组织正确的发送和接收操作。 解答:这是一个变形的生产和消费问题。每个缓冲区只需写一次,但需读n2 次。可以把一 组缓冲区看做n2 组缓冲区,这样,每个生产者需要同时写n2 个缓冲区组中相应的n2 个缓 冲区,而每一个消费者只需读它自己对应的那组缓冲区中的单元。生产者须在n2 个缓冲区 都为空闲是方可写入,这时,就可以用n2 组信息量(avail,free )来实现这一流程,具体 流程如下: BEGIN integer mutex,avail[n2],full[n2]; integer I; mutex : =1; for I :=1 to n2 do begin avail [I] := m;

文档评论(0)

1亿VIP精品文档

相关文档