- 27
- 0
- 约6.07千字
- 约 8页
- 2018-11-07 发布于河北
- 举报
如图8.1所示;为了安全起见,每次仅允许一辆汽车通过十字.doc
12、在一个仅允许单向行驶的单排车道十字路口,只允许车辆从南向北和从西向东行驶,如图8.1所示;为了安全起见,每次仅允许一辆汽车通过十字路口;当有车辆通过路口时其它车辆必须等待,当无车辆在路口行驶时则一次仅允许一辆汽车通过。请用P、V原语及信号量实现十字路口的交通控制系统,并描述具体的控制算法。
北
北
东
图8.1 允许单向行驶的单排车道十字路口
答:设一信号量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操作描述上述三个过程。
get
get
copy
put
缓冲区S
缓冲区T
图8.2 输入—缓冲—输出问题
答:设信号量SGC表示缓冲区S是否允许放数据,值为1时表示允许,
原创力文档

文档评论(0)