- 18
- 0
- 约9.57千字
- 约 20页
- 2017-03-04 发布于北京
- 举报
进程同步典型题例操作系统
进程同步练习题
1. 在公共汽车上,司机和售票员的工作流程如图所示。为保证乘客的安全,司机和售票员应密切配合协调工作。请用信号量来实现司机与售票员之间的同步。
图 司机和售票员工作流程图
约束:怎么密切配合协调工作才能保证安全呢?
关车门之后再启动车辆;利用前驱图解释
到站停车之后再开车门;
根据约束定义信号量;
关车门和启动车辆需要一个信号量进行同步S1;到站停车和开车门之间需要一个信号量进行同步S2;
建立几个进程呢?
为司机建立一个进程Driver;
为售票员建立一个进程Conductor;
Driver:
Repeat
启动车辆;
正常行驶;
到站停车;
Until false;
Conductor:
Repeat
关车门;
售票;
开车门;
Until false;
加入同步关系:
Var s1,s2:semorphore=0,0;
Driver:
Repeat
Wait (s1);
启动车辆;
正常行驶;
到站停车;
Signal(s2)
Until false;
Conductor:
Re
原创力文档

文档评论(0)