pv原语练习题带答案

pv原语练习题带答案

ID:35478285

大小:80.16 KB

页数:9页

时间:2019-03-25

pv原语练习题带答案_第1页
pv原语练习题带答案_第2页
pv原语练习题带答案_第3页
pv原语练习题带答案_第4页
pv原语练习题带答案_第5页
资源描述:

《pv原语练习题带答案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、12、在一个仅允许单向行驶的单排车道十字路口,只允许车辆从南向北和从西向东行驶,如图8」所示;为了安全起见,每次仅允许一辆汽车通过十字路口;当有车辆通过路口时其它车辆必须等待,当无车辆在路口行驶吋则一次仅允许--辆汽车通过。请用P、V原语及信号量实现十字路口的交通控制系统,并描述具体的控制算法。图8」允许单向行驶的单排车道十字路答:设一信号量sem表示是否允许汽车通过,初值为1,表示允许汽车通过。设入口检测进程procedurein,出口检测进程procedureout,它们的描述如下:procedur

2、ein()beginL1:检测到有--辆车要进入路口P(sem)允许进入路口gotoL1endprocedureout()beginL2:检测到有一辆车驶出路口V(sem)gotoL2end13、设存在三个过程get、copy和put分别对缓冲区S和T进行操作,其中get负责将数据块存入缓冲区S,copy负责从缓冲区S读出数据并复制到缓冲区T屮,put负责从缓冲区T中读出数据并打印,如图8.2所示。请用P、V操作描述上述三个过程。仝—缓冲区$缓冲区丁工图8.2输入一缓冲一输出问答:设信号量SGC表示缓冲

3、区S是否允许放数据,值为1吋表示允许,初值为1;信号量SCG表示缓冲区S是否允许取数据,值为1时表示允许,初值为0;信号量SCP表示缓冲区T是否允许放数据,值为1时表示允许,初值为1;信号量SPC表示缓冲区T是否允许取数据,值为1时表示允许,初值为0。进程get、copy和put描述如下:get()beginL1:取存入缓冲区S的数据xP(SGC)把数据X存入缓冲区S中V(SCG)gotoL1endcopy()beginL2:P(SCG)把缓冲区S的数据存入x中V(SGC)P(SCP)把数据X要存入缓冲

4、区T屮V(SPC)gotoL2endput()beginL3:P(SPC)把缓冲区T的数据存入x屮V(SCP)打印数据XgotoL3end14、烟一吸烟者问题。考虑一个系统有三个吸烟者进程和一个代理进程。每个吸烟者持续不停地卷烟和吸烟。但是为了卷烟和吸烟,吸烟者必须同时拥有三种材料:烟丝、卷烟纸和火柴;三个吸烟者分别拥有其中的一种。代理可以提供足够的三种材料,但每次仅将两种不同的材料放在桌子上供吸烟者使用。手中拥有一种材料的吸烟者要卷烟和吸烟时就向代理发信号,代理然后将所需要的两种材料放在桌子上;如此循

5、环重复这个过程。请写出代理和吸烟者间的同步算法。答:设信号量S[i](i=l,2,3)表示第i个吸烟者是否提出请求,其值为1时表示提出请求,初值为1;SP表示桌上是否可以放材料,其值为1时表示提出请求,初值为1;ST[i](i=l,2,3)表示是否放了第i个吸烟者所需的材料。三个吸烟者进程smokerri]和一个代理进程agent描述如下:agent()beginL1:P(S[i])P(SP)ifi==lthen烟丝和卷烟纸elseifi==2then烟丝和火柴else卷烟纸和火柴V(ST[i])got

6、oLIendsmoker[i]()beginL2:P(ST[i])取所需的材料V(SP)卷烟吸烟V(S[i])gotoL2end15、请用算法描述读者和写者问题。答:设共享变量count表示读者数量,初值为0;信号fiSP表示是否允许读或写,其值为1吋允许读或写,初值为1;SC表示是否可以使用共亨变量COUNT,其值为1吋表示可以使用,初值为1;读者进程reader和写者进程write「的描述如下:描述1:用P、V操作描述。reader()beginL1:P(SC)ifcount==0thenP(SP)

7、count=count+lV(SC)进行读P(SC)count=count-1ifcount==0thenV(SP)V(SC)gotoLIendwriter()beginL2:P(SP)进行写V(SP)gotoL2end描述2:用signal>wait操作描述。reader()beginLl:wait(SC)ifcount==0thenwait(SP)count=count+lsignal(SC)进行读wait(SC)count二countJifcount==0thensignal(SP)signal(

8、SC)gotoLIendwriter()beginL2:wait(SP)进行写signal(SP)gotoL2end16、有一材料保管员,负责管理笔和纸。另有A、B两组学生,A组学生每人手中都备有纸,而B组学生每人手中都备有笔,任一学生只要能得到其它一种材料就可以写信。有一个可以放一张纸或一支笔的小盒,当小盒为空时,保管员就可以任意放一张纸或一只笔供学生使用。当小盒中有物时,每次仅允许一个学生从屮取出。假设管理员手中所拥有的笔和纸的数量等于

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

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

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