操作系统原理,请各位高手解答一下,很急。。。今晚要搞定的!拜托各位~~重赏。

有三个并发进程input,copy和ouput,input进程负责从输入设备读入信息并把信息放入到缓冲区Buffer_1中;copy进程负责把Buffer_1中的内容加工... 有三个并发进程input,copy和ouput,input进程负责从输入设备读入信息并把信息放入到缓冲区Buffer_1中;copy进程负责把Buffer_1中的内容加工后复制到缓冲区Buffer_2中;output进程负责从Buffer_2中取出信息并送到打印机输出、试用wait、signal操作写出上述3个进程的同步算法。 展开
 我来答
灰常感谢
2012-11-20 · TA获得超过186个赞
知道答主
回答量:30
采纳率:0%
帮助的人:38.2万
展开全部
请你参考下面这道题吧,类似的,不重写了。
设有三个并发进程Re、Ma、Pt,它们共享同一缓冲区。进程Re负责从输入设备读信息,每读一个记录后,就把它存放在缓冲区中;进程Ma在缓冲区中加工读入的记录;进程Pt把加工后的记录打印输出。读入的记录经加工输出后,缓冲区又可放入下一个记录。用PV操作写出它们能正确执行的并发程序。
Re、Ma、Pt为同步关系
设置信号量e:缓冲区为空,f1:缓冲区中有未加工的记录,f2:缓冲区中有已加工好的记录

int e=1;
int f1=0,f2=0;
main()
{Re();
\\ Ma();
\\ Pt();/*Re()、Ma()、Pt()为并发进程*/
}
Re()
{P(e);
读一条记录放入缓冲区;
V(f1);
}
Ma()
{P(f1);
加工缓冲区中记录;
V(f2);
}
Pt()
{P(f2);
输出缓冲区中加工好的记录;
V(e);
}
追问
请问能否用我的题目来解答一下啊?谢谢~~
追答
Re就是你题目中的input,Ma是copy,Pt是output。P()操作就是你题目中的wait()操作,V()操作是signal()。你替换一下就行
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式