欢迎来到天天文库
浏览记录
ID:47487404
大小:82.50 KB
页数:10页
时间:2020-01-12
《pv操作习题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、设一民航售票系统有n个售票处。每个售票处通过终端访问系统中的公用数据区,假定公用数据区中分别用R1、R2、R3、…Rn表示×月×日×次航班的现存票数。设P1、P2、P3、Pn表示各售票处的处理进程,试用信号量实现进程间的互斥关系Vars:semaphore:=1;beginparbeginprocessPi:beginrepeatWait(s);按旅客定票要求找到RkifRk>=1thenbeginRk=Rk-1;Signal(s);输出一张票;end;elsebeginSignal(s);输出“票已售完”;end;untilfalse;endparendend生产围棋的工人
2、不小心把相等数量的黑子和白子混装在一个箱子里,现要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程组成,功能如下:(1)进程A专门拣黑子,进程B专门拣白子;(2)每个进程每次只拣一个子,当一个进程在拣子时不允许另一个进程去拣子;s:semaphore:=1; parbegin processA:begin L1:Wait(s); 拣黑子; Signal(s); gotoL1; end; processB:begin L2:Wait(s); 拣白子; Signal(s); gotoL2;
3、 end; parend;某车站售票厅共有20个售票窗口,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,厅外的购票者可立即进入,否则需要在外面等待。每个购票者可看成一个进程。s:semaphore=20; parbegin processPi(i=1,2,……) beginWait(s); 进入售票厅; 购票; 退出; Signal(s); end; parend有座东西方向架设、可双向通行的单车道简易桥,最大负荷为4辆汽车。请定义合适的信号量,正确使用wait/signal操作,实现双向车辆
4、的过桥过程。信号量应该有4个:S,初值为1,代表桥的互斥使用的信号量;Scounteast,初值为1,代表由东向西行驶的桥上的车辆计数器的互斥使用;Scountwest,初值为1,代表由西向东行驶的桥上的车辆计数器的互斥使用;Scount4,初值为4,代表桥上车辆的计数信号量。varS,Scounteast,Scounwest,Scount4:semaphore;S:=1;Scounteast=1;Scountwest:=1;Scount4:=4;Counteast,Countwest:integer;Counteast:=0;Countwest:=0;Cobegin,pro
5、cesseast(i)beginP(Scounteast);ifCounteast=0thenP(S);Counteast:=Counteast+l;V(Scounteast);P(Scount4);上桥:过桥:下桥;V(Scount4);P(Scounteast);Counteast:=Counteast-1;ifCounteast=0thenV(S);V(Scounteast);end;processwest(i)beginP(Scountwest);ifCountwest=0thenP(S);Countwest:=Countwest+1;V(Scountwest);P(
6、Scount4);上桥;过桥:下桥:V(Scount4);P(Scountwest);Countwest:=Countwest-l;ifCountwest=0thenV(S);V(Scountwest);end;Coend有一单向行驶的公路桥,每次只允许一辆汽车通过。当汽车到达桥头时,若桥上无车,便可上桥;否则需等待,直到桥上的汽车下桥为止,若每一辆汽车为一个进程,请用Wait、Signal操作原语保证汽车按要求过桥。汽车进程:Pi(i=1,2,3,…)到达桥头;P(S);上桥行驶;到达桥另一端;V(S);某超市门口为顾客准备了100辆手推车,每位顾客在进去买东西时取一辆推车
7、,在买完东西结完帐以后再把推车还回去。试用Wait/Signal操作正确实现顾客进程的同步互斥关系。semaphoreS_CartNum=100;//空闲的手推车数量,初值为100voidconsumer(void)//顾客进程{Wait(S_CartNum);买东西;结帐;Signal(S_CartNum);}桌子上有一个水果盘,每一次可以往里面放入一个水果。爸爸专向盘子中放苹果,儿子专等吃盘子中的苹果。把爸爸、儿子看作二个进程,试用Wait/Signal操作使这四个进程能正确地并发执行。nsemap
此文档下载收益归作者所有