《P、V操作习题答案》毕业论文.doc

《P、V操作习题答案》毕业论文.doc

ID:51890100

大小:113.50 KB

页数:9页

时间:2020-03-18

《P、V操作习题答案》毕业论文.doc_第1页
《P、V操作习题答案》毕业论文.doc_第2页
《P、V操作习题答案》毕业论文.doc_第3页
《P、V操作习题答案》毕业论文.doc_第4页
《P、V操作习题答案》毕业论文.doc_第5页
资源描述:

《《P、V操作习题答案》毕业论文.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、信号量应用问题:1.写出程序描述下列前趋关系。Parendsi-〉S2,S1->S3,S2->S4,endS2->S5,S3->S6,S4->S7,S5->S7,S6->S72.请用信号量实现4X100(4人,每Varsi,s2,s3,s4:semaphore:=0,0,人100米)接力赛的同步过程。0,0;提示:前趋图同步问题,可设4个进Begin程,三个信号量,进程1只设V操作,Parbegin进程4只设P操作,其余进程先做PPI:begin操作再做V操作。••••9Varsi,s2,s3:semaphore:=0,0,0;V(sl);BeginV(sl);

2、ParbeginEnd;Athletel:beginP2:beginRun100m;P(sl);V(sl);••••End;V(s2);Athiete2:beginV(s2);P(sl)End;Run100m;P3:beginV(s2);P(sl)End;•••Athiete3:beginV(s3)P(s2);End;Run100m;P4:beginV(s3);P(s2);End;•••Athlete4:beginV(s4);P(s3);P5:beginRun100m;P(s2);End;■••»ParendV(s4);endEnd;3.设公共汽车上,司机和售票

3、员的活P6:begin动分别是:P(s3)司机:售票员:••启动车辆上乘客V(s4)正常行车关车门End;到站停车售票P7:begin开车门P(s4);下乘客P(s4);在汽车不断地到站、停车、行驶过P(s4);程屮,这两个活动有什么同步关系?请用信号量机制实现他们的同步。/-假定初始状态为停车状态,引入信号量Stop和Run:BEGINsemaphoreStop,Run;Stop:二Run:二0;CoBeginDriver:BEGINRepeatWait(Run);启动车辆;正常行驶;到站停车;Signal(Stop);UntilFalse;END;Condu

4、ctor:BEGINRepeat上乘客;关车门;Signal(Run);售票;Wait(Stop);开车门;下乘客;Unti1False;END;CoEnd;EXD;Semahporeapple=0;Semahporeorange=0;MainO{CobeginFather();Mother();Son();Daughter();Coend)}FatherO{While(true){P(empty)P(mutex)放苹果V(mutex)V(apple)}}Mother(){While(true)生产者消费者问题:1.桌上有一个可以容纳两个水果的盘子,每次只能放或

5、取一•个水果。爸爸放苹果妈妈放橘子,两个儿子吃苹果,两个女儿吃橘了。试用信号量和P、V操作,编写实现爸爸、妈妈、儿子和女儿的并发工作程序。Mutex实现互斥放或取水果。empty盘子可放水果数Apple盘子屮放的苹果数Orange盘子屮放的橘子数{p(empty)P(mutex)放橘子V(mutex)V(orange)}}Son(){While(true){p(apple)P(mutex)取苹果V(mutex)V(empty)}}Daughter()While(true)Semaphoremutex=l;Semaphoreempty二2;{p(orange)P(

6、mutex)取橘子V(mutex)V(empty)}}2、有一个仓库存放两种零件A和B,最大库容量各为m个。有-一车间不断地取A和B进行装配,每次各取一个。为了避免零件锈蚀,遵循线入库者先出库的原则。有两组供应商分别不断地供应A和B(每次一个),为保证齐套和合理库存,当某种零件的数量比另一种数量超过n(n

7、商Provider^BO;〃零件B供应商AssemblingShopO;//装配车间CoEnd}Provider_A(){while(true){P(emptya);p(sa);p(mutex);将零件A放入仓库;v(mutex);v(fulla);v(sb);}}Provider_B(){while(true){p(emptyb);p(sb);p(mutex);将零件B放入仓库;v(mutex);v(fullb);v(sa);}}AssemblingShop(){while(true){p(fulla);P(fullb);p(mutex);装配零件;v(mut

8、ex);v(emptya

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

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

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