- 6
- 0
- 约3.68千字
- 约 7页
- 2024-07-30 发布于北京
- 举报
有一个报箱为A、B两人共同使用,每次只能装一份报纸。A订阅《科技报》,B订阅《新民晚报》,投递员C、D分属科技报社和新民晚报社,试用P、V操作写出他们的同步执行程序。
vars,science,night:semaphore:=1,0,0;
begin
parbegin
A:beginwhile(true)C:beginwhile(true)
{wait(science);{wait(s);
取科技报;投递科技报;
signal(s);signal(science);
}}
end;end;
B:beginwhile(true)D:beginwhile(true)
{wait(night);{wait(s);
取新民晚报;投递新民晚报;
signal(s);signal(night);
}}
end;end;
parend;
end.
设有两个优先级相同的进程P1和P2如下。信号量S1和S2的初值均为0,试问P1、P2并发执行后,x、y、z的值各是多少?请写出判断的过程。
进程P1:进程P2:
y=1;x=1;
y=y+2;x=x+1;
V(S1);P(S1);
z=y+1;x=x+y;
P(S2);V(S2);
y=z+y;z=x+z;
并发进程P1、P2中各语句执行的前趋图为:
1:y=1
1:y=1
2:y=y+2
3:z=y+1
4:y=z+y
5:x=1
6:x=x+1
7:x=x+y
8:z=x+z
无论调度顺序如何,进程执行到语句7时x的值为5,y的值为3。由于语句3的执行结果不受语句7的影响,语句3执行后,z的值为4。此后语句4和语句8可以并发执行:
(1)若语句4先执行,则两进程执行结束后,x的值为5,y的值为7,z的值为9。
(2)若语句8先执行,则两进程执行结束后,x的值为5,y的值为12,z的值为9。
有一阅览室,共有100个座位。读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名。读者离开时要消掉登记内容。试用P、V操作描述读者进程的同步结构。
var
mutex :semaphere; 信号量,用于互斥
full:semaphere; 信号量,用于同步
table:array0..n-1ofitem; 登记表
procedurereader; 读者进程
begin
P(full);
P(mutex);
Register_name(table);
V(mutex);
Reading;
P(mutex);
Delet_name(table);
V(mutex);
V(full)
end;
begin
seminitsal(mutex.v,1;full.v,100); 初始化
cobegin
reader;
reader;
...
coend
end.
司机的活动:启动车辆,正常行车,到站停车。
售票员活动:关车门,售票,开车门。
当发车时间到,售票员关好车门后,司机才能启动车辆,售票员才开始售票。当到站时,司机停稳车后,售票员才能打开车门,车上乘客先下车,然后站牌乘客上车。
structs
您可能关注的文档
最近下载
- ZXM10 EISU(V1.0)增强智能型采集单元用户手册.pdf VIP
- 政府机关物业管理服务保洁服务工作计划及操作规程服务方案.docx VIP
- 铜铝替代在电线电缆和家电行业的未来趋势展望.pdf
- 23J916-1 住宅排气道(一)图集.pdf VIP
- 油漆表面缺陷分类.pptx VIP
- ZXM10工程安装工艺规范-2012版.doc VIP
- 高清:2023年甘肃省高等职业教育分类考试招生中职升学考试财经商贸类专业基础试题及参考答案.docx VIP
- 2025 高新技术企业认定实操手册(含评分标准).docx VIP
- 商业综合体消防灭火疏散的应急预案范文(通用13篇).docx VIP
- 一种电动缸推拉力测试工装.pdf VIP
原创力文档

文档评论(0)