1 / 6
文档名称:

计算机操作系统练习题及.doc

格式:doc   大小:48KB   页数:6页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机操作系统练习题及.doc

上传人:书生教育 2022/7/12 文件大小:48 KB

下载得到文件列表

计算机操作系统练习题及.doc

相关文档

文档介绍

文档介绍:计算机操作系统练****题及答案
计算机操作系统练****题及答案
1/6
计算机操作系统练****题及答案
单项选择
两个进度合作达成一项任务。在并发履行中,一个进度要等待其合作伙伴发来
消息,或成立某个条件后再运行,这种限制性合作关系被称为进案
a,b两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规
则如下:当ab之间有车辆在行驶时,同方向的车能够同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车辆在行驶时,抵达a点(或b点)的车
辆能够进入ab段,但不能从a点与b点同时驶入;当某方向在
ab段行驶的车辆驶
出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入
ab段行驶。请
用信号量为工具,对ab段实现正确管理以保证行驶安全。
答:设置信号量。
共享变量ab表示由a点进入ab段上的车辆数,ab初值为
0。
共享变量ba表示由b点进入ab段上的车辆数,ba初值为
0。
信号量S1表示a点进入的车辆接见共享变量
ab,初值为1;
信号量S2表示b点进入的车辆接见共享变量
ba,初值为
1;
信号量Sab表示a点、b点的车辆湖斥进入ab段,初值为1。
SemaphoreS1=1,S2=1,Sab=1
intab=ba=0;
voidPab( )
{while(1)
{wait(S1);
if(ab==0)
wait(Sab);
ab=ab1;
signal(S1);
车辆由a驶向b;
wait(S1);
ab=ab-1;
if(ab==0)
signal(Sab);
signal(S1);}
}
voidPba( )
{while(1){wait(S2);if(ba==0)wait(Sab);ba=ba1;
计算机操作系统练****题及答案
计算机操作系统练****题及答案
8/6
计算机操作系统练****题及答案
signal(S2);
车辆由b驶向a;
wait(S2);
ba=ba-1;
if(ab==0)
signal(Sab);
signal(S2);}}
Main( )
{cobegin{Pab( );Pba( );}}
在公共汽车上,司机与售票员的工作流程分别为,司机:启动车辆→正常运行→
到站停车→启动车辆.;售票员:关车门→售票→开车门→关车门.。为保证乘客安全,司机与售票员要亲密配合,协调工作。请用信号量来实现司机与售票员之
间的同步。
汽车运行中,司机与售票员之间的同步关系为:售票员在关车门之后,向司机发开车信号,司机接到开车信号后启动车辆,汽车运行时售票员售票,到站后司机停车,售票员在停车后开车门让乘客下车。
设置信号量S1,S2,S1表示是否允许司机启动车辆,初值为0;S2表示是否允许售票员开车门,初值为0。
答:
SemaphoreS1=S2=0;
voidDriver( )
{while(1){wait(S1);
启动车辆;正常运行;到站停车;signal(S2);}}
voidBusman( )
{while(1)
{关车门;
signal(S1);
售票;
wait(S2);
开车门;}}
Main( )
{c