操作系统PV同步操作问题.有一只铁笼子,每次只能放入一只动物.猎手向笼中放入老虎,农民向笼中放入猪,动物园等待取笼中的老虎,饭店等待取笼中的猪.试用PV操作写出能同步执行的程序.有一

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/16 13:19:26
操作系统PV同步操作问题.有一只铁笼子,每次只能放入一只动物.猎手向笼中放入老虎,农民向笼中放入猪,动物园等待取笼中的老虎,饭店等待取笼中的猪.试用PV操作写出能同步执行的程序.有一

操作系统PV同步操作问题.有一只铁笼子,每次只能放入一只动物.猎手向笼中放入老虎,农民向笼中放入猪,动物园等待取笼中的老虎,饭店等待取笼中的猪.试用PV操作写出能同步执行的程序.有一
操作系统PV同步操作问题.
有一只铁笼子,每次只能放入一只动物.猎手向笼中放入老虎,农民向笼中放入猪,动物园等待取笼中的老虎,饭店等待取笼中的猪.试用PV操作写出能同步执行的程序.
有一个百度知道里面的答案是酱紫的,但是没有程序,这道题需要的是程序.
猎手进程 农民进程 动物园进程 饭店进程
P(S) P(S) P(S1) P(S2)
放入虎 放入猪 买老虎 买猪
V(S1) V(S2) V(S) V(S)
信号量初值:S=1,S1=0,S2=0

操作系统PV同步操作问题.有一只铁笼子,每次只能放入一只动物.猎手向笼中放入老虎,农民向笼中放入猪,动物园等待取笼中的老虎,饭店等待取笼中的猪.试用PV操作写出能同步执行的程序.有一
var put,get,empty,pig,tiger semaphore:=1,1,1,0,0
farmer
begin
wait(empty);
wait(put);
put pig into cage;
signal(put);
signal(pig);
end
hunter
begin
wait(empty);
wait(put);
put tiger into cage;
signal(put);
signal(tiger);
end
restaurant
begin
wait(pig);
wait(get);
get pig from cage;
signal(get);
signal(empty);
end
zoo
begin
wait(tiger);
wait(get);
get tiger from cage;
signal(get);
signal(empty);
end
——————————
又帮你答题了,快考好了吗?