作业帮 > 综合 > 作业

用pv原语完成下列题目:

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 05:12:17
用pv原语完成下列题目:
(1)在南开大学和天津大学之间有一条弯曲的小路,其中从S到T一段路每次只允许一辆自行车通过,但中间有一个小的“安全岛”M(同时允许两辆自行车停留),可供两辆自行车已从两端进入小路情况下错车使用,如图所示.试设计一个算法来使来往的自行车均可顺利通过.(2)5.某高校计算机系开设网络课并安排上机实习,假设机房共有2m台机器,有2n名学生选课(m,n均大于等于1),规定:1,每两个学生组成一组,各占一台及其协同完成上机实习;2,只有一组两个学生到齐,并且此时机房有空闲机器时,该组学生才能进入机房;3,上机实习由一名教师检查,检查完毕,一组学生同时离开机房试用P、V操纵模拟上机实习过程.(3)某寺庙,有小和尚和老和尚若干,有一个水缸,由小和尚提水入缸供老和尚饮用.水缸可以容纳10桶水,水取自同一口井中,由于水井口窄,每次只能容纳一个水桶取水.水桶总数为3个(老和尚和小和尚共同使用).每次入水、取水仅为一桶,且不可同时进行.试给出有关取水、入水的算法描述.(4)设公共汽车上,司机和售票员的活动分别是:司机:售票员:启动车辆 上下乘客 正常行车 关车门 到站停车 售票 开车门 上下乘客 在汽车不断到站,停车,行驶过程中,这两个活动的同步关系
用pv原语完成下列题目:
var mutex1,mutex2,empty,full,count:semaphore;
mutex1:=mutex2:=1;
empty:=10;
full:=0;
count:=3;
cobegin
Procedure Fetch_Water
begin
while true
p(empty);
P(count);
P(mutex1);
Get Water;
v(mutex1);
P(mutex2);
pure water into the jar;
v(mutex2);
v(count);
Procedure Drink_Water
begin
while true
p(full);
p(count);
p(mutex2);
Get water and
Drink water;
p(mutex2);
v(empty);
v(count);
end
v(full);
end
coend