作业1-进程同步-答案.doc

作业1-进程同步-答案.doc

ID:55513290

大小:39.50 KB

页数:1页

时间:2020-05-15

作业1-进程同步-答案.doc_第1页
资源描述:

《作业1-进程同步-答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统作业1、用记录型信号量解决以下问题,用类C语言编写进程同步算法。司机P1售票员P2REPEATREPEAT启动关门正常运行售票到站停开门UNTILFALSEUNTILFALSE2、两个进程合作完成数据计算和打印工作,计算进程未计算完就不可打印,反之也然,双方共用一个缓冲区,写出此算法。3、桌子上有一只盘子,最多可容纳两个水果,每次只能放人或取出一个水果。爸爸专向盘子中放苹果(apple),妈妈专向盘子中放桔子(orange),两个儿子专等吃盘子中的桔子,两个女儿专等吃盘子中的苹果。请用P、V操作来实现爸爸、妈妈、儿子、女儿之间的同步与互斥关系。4、桌子上有一只盘子,每次只能放入

2、一只水果。爸爸专向盘中放苹果,妈妈专向盘中放桔子,一个儿子专等吃盘中的桔子,一个女儿专等吃盘中的苹果。请利用P、V操作写出父亲、母亲、儿子、女儿进程的同步算法。5、设有四个并发执行的进程P1、P2、P3、p4,其前趋图如下,试用信号量实现这四个进程同步。1Vars1,s2:semaphore:=0,0;parbegin司机P1REPEATwait(s1)启动正常运行到站停Signal(s2)UNTILFALSE售票员P2REPEAT关门Signal(s1)售票Wait(s2)开门UNTILFALSEparend2Varempty,full:semaphore:=1,0;parbegin

3、Calculate:beginrepeatwait(empty);计算;signal(full);untilfalse;endPrint:beginrepeatwait(full);打印;signal(empty);untilfalse;endparend3盘子为互斥资源,因可以放两个水果,empty初值为2;再设信号量mutex初值为1,控制对盘子的互斥访问;apple表示盘中苹果个数,orange表示盘中桔子个数,初值均为0。Varmutex,empty,apple,orange:semaphore:=1,2,0,0;parbeginFather:beginp(empty);P(m

4、utex);放苹果;V(mutex);V(apple);end;Mother:beginP(empty);P(mutex);放桔子;V(mutex);V(orange);End;Daughter:beginp(apple);P(mutex);取苹果;V(mutex);V(empty);End;Son:beginP(orange);P(mutex);取桔子;V(mutex);V(empty);End;Parend4在本题中,应设置三个信号量s、so、sa信号量s表示盘子是否为空,其初值为1;信号量so表示盘中是否有桔子,其初值为0;信号量sa表示盘中是否有苹果,其初值为0.同步描述如下:

5、vars,so,sa:semaphone:=1,0,0;parbeginfather();mother();son();daughter();parendfather()wait(s);将水果放入盘中;signal(sa);mother()wait(s);将水果放入盘中;signal(so);son()wait(so);从盘中取出桔子;signal(s);吃桔子;daughter()wait(sa);从盘中取出苹果;signal(s);吃苹果;5vara,b,c,d:semaphore:=0,0,0,0;parbeginP1:begin…signal(a);signal(b);endP

6、2:beginwait(a);…signal(c);endP3:beginwait(b);…signal(d);endP4:beginwait(c);wait(d);…endParend第1页共1页

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。