计算机操作系统第二章习题第三题的第一题

1、假定系统有3个并发进程PA、PB、PC共享缓冲池B1和B2。进程PA负责从输入设备上读信息,每读出一次数据后把它放到缓冲池B1的缓冲区中,进程PB从缓冲池B1中取出一... 1、假定系统有3个并发进程PA、PB、PC共享缓冲池B1和B2。进程PA负责从输入设备上读信息,每读出一次数据后把它放到缓冲池B1的缓冲区中,进程PB从缓冲池B1中取出一缓冲区的内容,经加工后放入缓冲池B2中,进程PC2将PB2中的数据取出并打印。设缓冲池B1和B2中缓冲区的个数分别为m和n。要求3个进程协调完成任务,使打印出来的信息与读入记录的个数、次序完全一样。
请用P、V操作,写出这3个进程的并发程序。
展开
 我来答
オフ憂うつ7c
2014-01-10 · TA获得超过745个赞
知道小有建树答主
回答量:1410
采纳率:82%
帮助的人:297万
展开全部
semaphore empty1,full1,empty2,full2,mutex1,mutex2;
empty1=m;empty2=n;full1=full2=0;
mutex1=mutex2=1;
parbegin
process PA{
while(1){
从输入设备上读信息;
P(empty1);
P(mutex1);
将读入的信息放入B1;
V(mutex1);
V(full1);
}
}
process PB{
while(1){
P(full1);
P(mutex1);
从B1中取出一缓冲区内容;
V(mutex1);
V(empty1);
加工内容;
P(empty2);
P(mutex2);
将加工后的内容放入B2;
V(mutex2);
V(full2);
}
}
process PC{
while(1){
P(full2);
P(mutex2);
从B2中取出内容;
V(mutex2);
V(empty2);
打印内容;
}
}
parend

  
lsucao
2014-01-09 · TA获得超过1812个赞
知道小有建树答主
回答量:1336
采纳率:66%
帮助的人:608万
展开全部
期末考试啦,楼主加油啊
追问
唉╮(╯▽╰)╭都完了还没人来解答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sky山上茶花开
2014-01-09
知道答主
回答量:3
采纳率:0%
帮助的人:4193
展开全部
都是什么东东
追问
计算机操作系统复习题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式