版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——pv原语练习题带答案
12、在一个仅允许单向行驶的单排车道十字路口,只允许车辆从南向北和从西向东行驶,如图8.1所示;为了安全起见,每次仅允许一辆汽车通过十字路口;当有车辆通过路口时其它车辆必需等待,当无车辆在路口行驶时则一次仅允许一辆汽车通过。请用P、V原语及信号量实现十字路口的交通控制系统,并描述具体的控制算法。
北
东
图8.1允许单向行驶的单排车道十字路
答:设一信号量sem表示是否允许汽车通过,初值为1,表示允许汽车通过。设入口检测进程procedurein,出口检测进程procedureout,它们的描述如下:procedurein()begin
L1:检测到有一辆车要进入路口P(sem)
允许进入路口gotoL1
end
procedureout()begin
L2:检测到有一辆车驶出路口V(sem)gotoL2
end
13、设存在三个过程get、copy和put分别对缓冲区S和T进行操作,其中get负责将数据块存入缓冲区S,copy负责从缓冲区S读出数据并复制到缓冲区T中,put负责从缓冲区T中读出数据并打印,如图8.2所示。请用P、V操作描述上述三个过程。
putgetcopy缓冲区S缓冲区T图8.2输入—缓冲—输出问
答:设信号量SGC表示缓冲区S是否允许放数据,值为1时表示允许,初值为1;信号量SCG表示缓冲区S是否允许取数据,值为1时表示允许,初值为0;信号量SCP表示缓冲区T是否允许放数据,值为1时表示允许,初值为1;信号量SPC表示缓冲区T是否允许取数据,值为1时表示允许,初值为0。进程get、copy和put描述如下:get()
begin
L1:取存入缓冲区S的数据x
P(SGC)
把数据x存入缓冲区S中V(SCG)gotoL1
endcopy()
begin
L2:P(SCG)
把缓冲区S的数据存入x中V(SGC)P(SCP)
把数据x要存入缓冲区T中V(SPC)gotoL2endput()
begin
L3:P(SPC)
把缓冲区T的数据存入x中V(SCP)打印数据xgotoL3
end
14、烟—吸烟者问题。考虑一个系统有三个吸烟者进程和一个代理进程。每个吸烟者持续不停地卷烟和吸烟。但是为了卷烟和吸烟,吸烟者必需同时拥有三种材料:烟丝、卷烟纸和火柴;三个吸烟者分别拥有其中的一种。代理可以提供足够的三种材料,但每次仅将两种不同的材料放在桌子上供吸烟者使用。手中拥有一种材料的吸烟者要卷烟和吸烟时就向代理发信号,代理然后将所需要的两种材料放在桌子上;如此循环重复这个过程。请写出代理和吸烟者间的同步算法。
答:设信号量S[i](i=1,2,3)表示第i个吸烟者是否提出请求,其值为1时表示提出请求,初值为1;SP表示桌上是否可以放材料,其值为1时表示提出请求,初值为1;ST[i](i=1,2,3)表示是否放了第i个吸烟者所需的材料。三个吸烟者进程smoker[i]和一个代理进程agent描述如下:agent()
begin
L1:P(S[i])
P(SP)
ifi==1then烟丝和卷烟纸
elseifi==2then烟丝和火柴
else卷烟纸和火柴
V(ST[i])gotoL1
endsmoker[i]()
begin
L2:P(ST[i])
取所需的材料V(SP)卷烟吸烟
V(S[i])gotoL2
end
15、请用算法描述读者和写者问题。
答:设共享变量count表示读者数量,初值为0;信号量SP表示是否允许读或写,其值为1时允许读或写,初值为1;SC表示是否可以使用共享变量COUNT,其值为1时表示可以使用,初值为1;读者进程reader和写者进程writer的描述如下:描述1:用P、V操作描述。reader()
begin
L1:P(SC)
ifcount==0thenP(SP)count=count+1V(SC)进行读P(SC)
count=count-1
ifcount==0thenV(SP)V(SC)gotoL1
endwriter()
begin
L2:P(SP)
进行写V(SP)gotoL2
end
描述2:用signal、wait操作描述。reader()
begin
L1:wait(SC)
ifcount==0thenwait(SP)count=count+1signal(SC)进行读
wait(SC)count=count-1
ifcount==0thensignal(SP)signal(SC)gotoL1
endwriter()
begin
L2:wait(SP)
进行写
signal(SP)gotoL2
end
16、有一材料保管员,负责管理笔和纸。另有A、B两组学生,A组学生每人手中都备有纸,而B组学生每人手中都备有笔,任一学生只要能得到其它一种材料就可以写信。有一个可以放一张纸或一支笔的小盒,当小盒为空时,保管员就可以任意放一张纸或一只笔供学生使用。当小盒中有物时,每次仅允许一个学生从中取出。假设管理员手中所拥有的笔和纸的数量等于A、B两组学生各自所需要的总数,请用信号量描述上述过程。
答:设信号量SP表示小盒里是否允许放纸或笔,其值为1表示允许放纸或笔,初值为1;SA表示A组学生是否从允许取盒子中笔,其值为1表示允许取笔,初值为0;SB表示B组学生是否允许从取盒子中纸,其值为1表示允许取纸,初值为0。保管员P,A、B两组学生的进程描述如下:保管员P()
begin
L1:P(SP)
把纸或笔放入盒子中
if放入的是纸thenV(SB)
elseV(SA)
gotoL1
end
A组学生()
begin
L2:P(SA)
取盒子中的笔V(SP)gotoL2
end
B组学生()
begin
L3:P(SB)
取盒子中的纸V(SP)gotoL3
end
17、A、B两人共同使用一个报箱,该报箱每次仅能容纳一份报纸。A订阅《生活报》,B订阅《晚报》,分别由投递员C和D投递。请用P、V操作描述他们的同步程序。
答;设信号量SP,表示信箱是否允许放报纸,值为1时表示允许放报纸,初值为1;信号量SA,表示信箱中是否有生活报,值为1时表示有,初值为0;信号量SB,表示信箱中是否有晚报,值为1时表示有,初值为0。投递员C、D和A、B两人的进程描述如下:
A()begin
L3:P(SA)取《生活报》V(SP)gotoL3EndB()begin
L4:P(SB)取《晚报》V(SP)gotoL4endC()begin
L1:P(SP)
把《生活报》放入报箱V(SA)gotoL1endD()begin
L2:P(SP)
把《晚报》放入报箱V(SB)gotoL2end
22、有6位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国能源建设集团投资限公司校园招聘18人高频重点提升(共500题)附带答案详解
- 2025中国石化华北石油工程限公司毕业生招聘35人高频重点提升(共500题)附带答案详解
- 2025中国电信研究院校园招聘高频重点提升(共500题)附带答案详解
- 2025中国电信吉林通化分公司校园招聘高频重点提升(共500题)附带答案详解
- 2025中国国新招聘高频重点提升(共500题)附带答案详解
- 2025中共赣州市委机构编制委员会办公室招募青年见习1人(江西)高频重点提升(共500题)附带答案详解
- 2025下半年陕西西安职业技术学院招聘工作人员15人高频重点提升(共500题)附带答案详解
- 2025下半年贵州安顺市西秀区事业单位招聘不可人员历年高频重点提升(共500题)附带答案详解
- 2025下半年浙江嘉兴市南湖区事业单位招聘37人高频重点提升(共500题)附带答案详解
- 2025下半年江苏南京林业大学教学科研岗招聘165人高频重点提升(共500题)附带答案详解
- 大学生法律基础学习通超星期末考试答案章节答案2024年
- 2024年大学试题(文学)-外国文学考试近5年真题集锦(频考类试题)带答案
- 2024-2025学年三年级上册数学苏教版学考名师卷期末数学试卷
- 三级人工智能训练师(高级)职业技能等级认定考试题及答案
- 2024年新教材七年级语文上册古诗文默写(共100题含答案)
- 2024-2030年中国工业母机行业市场发展分析及发展前景与投资研究报告
- 城市燃气供应和储备站项目可行性研究报告模板-立项备案
- 浙江省杭州市学军中学2025届高三最后一模物理试题含解析
- 四川省成都市锦江区嘉祥外国语学校2024-2025学年九年级上学期入试考试数学试题
- 2024-2030年中国压电薄膜传感器行业市场发展趋势与前景展望战略分析报告
- 期末试卷(试题)-2024-2025学年三年级上册数学人教版
评论
0/150
提交评论