第一步:确定进程间的关系.售票员关车门后,要向司机发开车信号,司机接到开车信号后才能启动车辆.在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门,让乘客上下车.因此司机启动车辆的动作必须与售票员的动作取得同步;售票员开车门的动作也必须同司机停车取得同步.
第二步:确定信号量及其值.由于司机与售票员之间要互通消息,司机进程设置一个私有信号量run,用于判断是否关车门,司机能否启动车辆,初值为1.售票员进程设置一个私有信号量stop,用于判断是否停车,售票员是否能够开车门,初值为0
第三步:确定P(wait)、V(signal)操作的位置
司机操作中,是否关门?没关则等待,这是一个P操作,P(run);
司机操作中,设立停车标志,这是一个V操作,V(stop);
售票员操作中,是否停车?没停则等待,这是一个P操作,P(stop);
售票员操作中,设立关门标志,这是一个V 操作,V(run)
lstop ,run:semaphore
run:=1; //是否关车门
stop:=0; //是否停车
Driver:begin cobegin
driver:begin
L1:P(run);
启动车辆;
正常行车;
到站停车;
V(stop);
goto L1;
end;
Conductor:begin
L2:上乘客;
关车门;
V(run);
售票;
P(stop);
开车门;
下乘客;
goto L2;
end;
coend;
end;
假设公共汽车上有一位司机和一位售票员,请分析司机和售票员之间的同步关...
第一步:确定进程间的关系.售票员关车门后,要向司机发开车信号,司机接到开车信号后才能启动车辆.在汽车正常行驶过程中售票员售票,到站时司机停车,售票员在车停后开车门,让乘客上下车.因此司机启动车辆的动作必须与售票员的动作取得同步;售票员开车门的动作也必须同司机停车取得同步.第二步:确定信号量...
试分析“司机vs售票员”同步问题中,哪些操作是关键操作,哪些不是?为 ...
综上所述,在“司机vs售票员”同步问题中,售票员和司机的操作是关键操作,因为它们直接关系到车辆的安全运营和乘客的生命安全。而乘客和车辆设备的操作不是关键操作,因为它们虽然与车辆运营相关,但不会对车辆的安全和乘客的生命安全造成直接影响。
谁能教教我数据同步啊,这样的题真难啊,我都看不懂啊,谁能帮我讲明白了...
我想这道题应该是想说回答的方式永远是循环的,但是却要用字母来表示这种关系。(详细请看解答方案)P:司机 V:售票员 【解答方案1】初始为V(关门)。(在发车之前的情况,在司机和售票员们在车上的情况)按照现实生活的情况,在司机和售票员都在车上的话,首先的开始就是关门。(一般第一班车在...
大巴车司机和售票员关系
同步关系。根据查询知到题库网得知,司机到站停车后,售票员方可工作。同样,售票员关车门后,司机才能工作。所以司机与售票员之间是一种同步关系。
请问大家,PV操作是做什么用的?
P就是请求资源,V就是释放资源。例如一个司机与售票员的例子 在公共汽车上,为保证乘客的安全,司机和售票员应协调工作:停车后才能开门,关车门后才能行车。用PV操作来实现他们之间的协调。S1:是否允许司机启动汽车的变量 S2:是否允许售票员开门的变量 driver()\/\/司机进程 { while (1)\/\/不停地...
进程同步问题:司机与售票员 急求怎么写代码啊?
1. 司机的活动:启动车辆,正常行车,到站停车。2. 售票员活动:关车门,售票,开车门。3. 当发车时间到,售票员关好车门后,司机才能启动车辆,售票员才开始售票。当到站时,司机停稳车后,售票员才能打开车门,车上乘客先下车,然后站牌乘客上车。4. 可以设置汽车的速度,载客人数,路...
关于北京的375路公交车,曾经发生过什么灵异事件?
第二天,公交车总站报案,说末班车的一名司机一名女售票员失踪。第三天,警方在距香山100多公里的密云水库附近找到了失踪的公共汽车,公交车内有三具已严重腐烂的尸体。而且车油箱里面根本不是汽油,而是鲜血。更让人不解的是,发现的尸体在不到两天的时间里已经严重腐烂,就是在夏天也是不可能发生的。最...
用信号量和PV操作实现它们的同步。
确定信号量及其值。由于司机与售票员之间要互通消息,司机进程设置一个私有信号量run,用于判断司机能否进行工作,初值为0。售票员进程设置一个私有信号量stop,用于判断是否停车,售票员是否能够开车门,初值为0。实现:begin stop ,run:semaphore stop:=0;run:=0;cobegin driver: begin L1: P(run);...
进程同步问题:司机与售票员 急求怎么写代码啊?
在计算机系统中可以将司机和售票员分别看作P1、P2两个进程,当它们并发地向前推进时,计算机系统所接受到的实际上是司机活动与售票员活动的许多交叉中的任意一个交叉,这些交叉有些满足上述要求,有些则不满足,而操作系统必须保证不发生不满足上述要求的交叉,即: 如P2尚未推进到②处时,而P1已推进...
设公共汽车上,司机和售票员的活动分别为:司机的活动为启动车辆,正常行 ...
司机启动车辆与售票员关门动作统一,售票员开门与司机停车车辆统一,则用两个信号量表示s1,s2,s1表示是否允许司机启动汽车,初值为0,s2表示是否允许售票员开门,初值为0 算法如下:int s1=0;int s2=0;main (){ cobegin drive()busman()coend } drive(){ while(1){ wait(s1)启动车辆;正常驾驶;...