- 59
- 0
- 约6.13千字
- 约 8页
- 2017-12-10 发布于河南
- 举报
pv原语练习题带答案
12、在一个仅允许单向行驶的单排车道十字路口,只允许车辆从南向北和从西向东行驶,如图8.1所示;为了安全起见,每次仅允许一辆汽车通过十字路口;当有车辆通过路口时其它车辆必须等待,当无车辆在路口行驶时则一次仅允许一辆汽车通过。请用P、V原语及信号量实现十字路口的交通控制系统,并描述具体的控制算法。
答:设一信号量sem表示是否允许汽车通过,初值为1,表示允许汽车通过。
设入口检测进程procedurein,出口检测进程procedureout,它们的描述如下:
procedurein()
begin
L1:检测到有一辆车要进入路口
P(sem)
允许进入路口
goto L1
end
procedureout()
begin
L2:检测到有一辆车驶出路口
V(sem)
goto L2
end
13、设存在三个过程get、copy和put分别对缓冲区S和T进行操作,其中get负责将数据块存入缓冲区S,copy负责从缓冲区S读出数据并复制到缓冲区T中,put负责从缓冲区T中读出数据并打印,如图8.2所示。请用P、V操作描述上述三个过程。
答:设信号量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)
goto L1
end
copy()
begin
L2: P(SCG)
把缓冲区S的数据存入x中
V(SGC)
P(SCP)
把数据x要存入缓冲区T中
V(SPC)
goto L2
end
put()
begin
L3:P(SPC)
把缓冲区T的数据存入x中
V(SCP)
打印数据x
goto L3
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)
if i==1 then烟丝和卷烟纸
else if i==2 then烟丝和火柴
else 卷烟纸和火柴
V(ST[i])
goto L1
end
smoker[i]()
begin
L2:P(ST[i])
取所需的材料
V(SP)
卷烟
吸烟
V(S[i])
goto L2
end
15、请用算法描述读者和写者问题。
答:设共享变量count表示读者数量,初值为0;信号量SP表示是否允许读或写,其值为1时允许读或写,初值为1; SC表示是否可以使用共享变量COUNT,其值为1时表示可以使用,初值为1;读者进程reader和写者进程writer的描述如下:
描述1:用P、V操作描述。
reader()
begin
L1:P(SC)
if count==0 then P(SP)
count=count+1
V(SC)
进行读
P(SC)
count=count-1
if count==0 then V(SP)
V(SC)
goto L1
end
writer()
begin
L2:P(SP)
进行写
V(SP)
goto L2
end
描述2:用signal、wait操作描述。
reader()
begin
L1:wait(SC)
if count==0 then wait(SP)
count=count+1
signal (SC)
进行读
wait (SC)
count=count-1
if count==0 then signal(SP)
signal(SC)
goto L1
end
writer()
begin
L2:wait(SP)
进行写
signal
您可能关注的文档
- Hopkinson实验.docx
- JavaScript在网页设计中的嵌入应用.doc
- 上外贸电子商务英第五章.doc
- Basic English of Bar酒吧常用英语词汇.doc
- 人教版高中英语必修一单词听写.doc
- 高一英语必修一Unit 3重点单词和短语.doc
- ZedGraph教程.doc
- 异龙纹身器材厂淘宝网店的设计.doc
- 大学英语六级词汇(a-b).docx
- Unit6 At the snack bar个性.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
原创力文档

文档评论(0)