- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进程同步练习题
在公共汽车上,司机和售票员的工作流程如图所示。为保证乘客的安全,司机和售票员应密切配合协调工作。请用信号量来实现司机与售票员之间的同步。
司机 售票员
启动车辆 关车门
正常行车 售票
到站停车 开车门
图 司机和售票员工作流程图
桌子上有一只盘子,盘子中只能放一只水果。爸爸专向盘子中放苹果,妈妈专向盘子中
放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果。用 PV 操作实现他
们之间的同步机制。
a , b 两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:
( 1)当 ab 之间有车辆在行驶时同方向的车可以同时驶入 ab 段,但另一方向的车必须在 ab 段外等待;
( 2)当 ab 之间无车辆在行驶时,到达 a 点(或 b 点)的车辆可以进入 ab 段,但不能从 a 点和 b 点同时驶入;
3)当某方向在 ab 段行驶的车辆驶出了 ab 段且暂无车辆进入 ab 段时,应让另一方向等待的车辆进入 ab 段行驶。
请用信号量为工具,对 ab 段实现正确管理以保证行驶安全。
4.将只读数据的进程称为“读者”进程,而写或修改数据的进程称为“写者”进程。允许多个“读者”同时读数据,但不允许“写者”与其他“读者”或“写者”同时访问数据。另外,要保证:一旦有“写者”等待时,新到达的“读者”必须等待,直到该“写者”完成数据访
问为止。试用 P、V 操作正确实现“读者”与“写者”的同步。 (第二类读者写者问题,信号量解决方法)
5.一条河上架设了由若干个桥墩组成的一座桥。 若一个桥墩只能站一个人, 过河的人只能沿
着桥向前走而不能向后退。过河时,只要对岸无人过,就可以过。但不允许河对岸的两个人同时过,以防止出现死锁。请给出两个方向的人顺利过河的同步算法。
6.有一个仓库,可以存放 A 和 B 两种产品,但要求:
1)每次只能存入一种产品( A 或 B);
2)-N< A 产品数量- B 产品数量< M。其中, N 和 M是正整数。试用同步算法描述产品 A 与产品 B 的入库过程。
1、在公共汽车上,司机和售票员的工作流程如图所示。为保证乘客的安全, 司机和售票员应
密切配合协调工作。请用信号量来实现司机与售票员之间的同步。
司机 售票员
启动车辆 关车门
正常行车 售票
到站停车 开车门
图 司机和售票员工作流程图
【答案】
设置两个 资源信号量: S1、S2。
是否允许售票员开门,其初值为 0.
S1表示是否允许司机启动汽车,其初值为
0; S2 表示
semaphoere S1=S2=0;
void Driver()
{
while(1)
{
wait(S1);
启动车辆;
正常行车;
到站停车;
signal(S2);
}
}
void Busman()
{
while(1)
{
关车门;
signal(S1)
;
售票;
wait(S2)
;
开车门;
}
main()
{
cobegin{
Driver();
Busman();
}
}
桌子上有一只盘子,盘子中只能放一只水果。爸爸专向盘子中放苹果,妈妈专向盘子中
放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果。用 PV 操作实现他
们之间的同步机制。
【答案】
信号量 S 用来实现盘子的互斥访问, S1 表示盘子中苹果个数, S2 表示盘子中橘子的个
数。
semaphore S=1,S1=S2=0;
void father()
{
while(1)
{
准备苹果 ;
wait(S);
将苹果放在盘子内;
signal(S1);
}
}
void mother()
{
while(1)
{
准备橘子 ;
wait(S);
将橘子放在盘子内;
signal(S2);
}
}
void daughter()
{
while(1)
{
wait(Sl);
从盘子里拿走苹果;
signal(S);
吃苹果 ;
}
}
void son()
{
while(1)
{
wait(S2);
从盘子里拿走橘子;
signal(S);
吃橘子 ;
}
}
main()
{
cobegin{
father();
mother();
daughter();
son();
}
}
a , b 两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:
( 1)当 ab 之间有车辆在行驶时同方向的车可以同时驶入 ab 段,但另一方向的车必须在
段外等待;
( 2)当 ab 之间无车辆在行驶时,到达 a 点(或 b 点)的车辆可以进入 ab 段,但不能从
点和 b 点同时驶入;
ab
a
3)当某方向在 ab 段行驶的车辆驶出了 ab 段且暂无车辆进入 ab 段时,应让另一方向等待的车辆进入 ab 段
您可能关注的文档
- 贸易公司财务管理制度60868.docx
- 贸易实务案例分析题.docx
- 赔偿公函范文.docx
- 趋势突破交易法图解.docx
- 趣味数学第7讲数学小魔术.docx
- 趣味运动会竞赛规程.docx
- 跨境电商业务流程图集货.docx
- 路灯日常巡检制度资料.docx
- 路面抗弯拉强度混凝土配合比设计.docx
- 践行核心价值观的征文600字.docx
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)