有四个进程P1、P2、P3和P4共享一个缓冲区,进程P1向缓冲区中存入消息,进程P2、P3和P4从缓冲区中取消息,要求发送者必须等三个进程都取过本条消息后才能发送下一条消息,缓冲区内每次只能容纳一个消息,用down、up操作描述四个进程存取消息的情况。
举一反三
- 有n个生产者进程向1个有限的缓冲区不断地发送消息,这些消息通过缓冲区分发到m个消费者,缓冲区的大小只可以存放1条消息。生产者和消费者的工作遵循如下规则:(1)生产者和消费者对缓冲区的访问互斥;(2)对每1条放入缓冲区的消息,所有消费者都必须接收1次;(3)缓冲区满时,生产者必须阻塞,缓冲区空时,消费者阻塞。请用信号量和P、V操作组织正确的发送和接收。用类c语言进行描述。
- 1.有三个进程p1、p2、p3协作解决文件打印问题:系统有两个环形缓冲池,每个缓冲池有n个缓冲区;p1每次将1
- 有3个进程P1,P2和P3合作解决⽂件打印问题; 1、P1将⽂件记录从磁盘读⼊主存的缓冲区1,每执⾏⼀次读⼀个记录; 2、P2将缓冲区1的内容复制到缓冲区2,每执⾏⼀次复制⼀个记录; 3、P3将缓冲区2的内容打印出来,每执⾏⼀次打印⼀个记录。缓冲区的⼤⼩等于⼀个记录⼤⼩。 请⽤P,V操作来保证⽂件的正确打印。
- 进程P通过缓冲区K不断向n个进程Qi(1≤i≤n)发送消息,消息大小与缓冲区K一样。为了使每个接收进程都应该接收到与发送次序一样的消息序列,需要配置()。 A: 2个信号量,初值分别为1,0 B: 2个信号量,初值分别为1,n, C: 3个信号量,初值分别为1,0,0 D: 3个信号量,初值分别为1,1,0
- 设有一缓冲池P,P中含有20个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出。若讲程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的初值。