假定有一个可存放50封信的公共信箱,现要用PV操作的管理方式来实现进程间通信。 请回答: (1)该问题能用解决生产者/消费者问题的方法来实现吗? (2)写出用PV操作管理时应定义的变量和信号量及其含义; (3)写出发送进程和

admin2012-09-30  39

问题 假定有一个可存放50封信的公共信箱,现要用PV操作的管理方式来实现进程间通信。
    请回答:
    (1)该问题能用解决生产者/消费者问题的方法来实现吗?
    (2)写出用PV操作管理时应定义的变量和信号量及其含义;
    (3)写出发送进程和接收进程的程序(发送进程和接收进程名自定)。

选项

答案(1)能。 (2)B:array[0,49] of integer; ∥存放50封信的信箱∥ k,t:integer; k:=0;t:=0;∥存信和取信的指针∥ S1,S2:semaphore; S1:=1;S2:=1;∥互斥使用指针的信号量∥ SP,SG:semaphore; SP:=50;SG:=0;∥存信和取信的同步信号量∥ (3)程序如下: processput processget begin begin 组织一封信: P(SG); P(SP); P(s2); P(S1); 从B[k]中取一封信; B[k]:=信件; t:=(t+1)roodS0; k:=(k+1)mod50; V(S2); V(S1); V(SP); V(SG); 处理信件; end: end:

解析
转载请注明原文地址:https://jikaoti.com/ti/VhEaFFFM
本试题收录于: 操作系统题库理工类分类
0

最新回复(0)