- 141
- 0
- 约1.86千字
- 约 4页
- 2017-06-08 发布于重庆
- 举报
信号量及PV操作实例
信号量及P、V操作练习
(进程互斥实例)某小型超级市场,可容纳50人同时购物。入口处有篮子,每个购物者可拿一只篮子入内购物。出口入结账,并归还篮子(出、入口禁止多人同时通过)。试用信号量和P、V操作写出购物物者的同步算法。
考虑:1、出、入口合一;2、出、入口分开。
①所用信号量设置如下:
Ⅰ)互斥信号量S,初值为50,用以保证最多可以有50个购物者同时进入超市。
Ⅱ)互斥信号量mutex1、 mutex2,初值为1,用以保证同时只能有一个购物者进程进入出、入口拿起篮子或者结帐后放下篮子。
②用信号量机制给出的每个购物者购物过程的算法描述如下:
购物者进程:
P(S);
P(mutex1);
从入口处进超市,并取一只篮子;
V(mutex1);
进超市内选购商品;
P(mutex2);
到出口结帐,并归还篮子;
V(mutex2); 从出口离开超市;
V(S)
(生产者消费者问题实例)桌上有个只能盛得下一个水果的空盘子。爸爸可向盘中放苹果和桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。
规定:当盘子空时,一次只能放入一个水果供者取用。
要求:试用信号量和P、V操作实现爸爸、儿子和女如鱼得水这三个循环进程之间的同步。
一、Ⅰ)爸爸进程的同步信号量empty,初值为1,表示盘子是空的,即儿子或女儿已把盘中的水果取走。
Ⅱ)儿子进程的同步信号量orange,初值为0,表示爸爸尚未把桔子放入盘中。
Ⅲ)女儿进程的同步信号量apple,初值为0,表示爸爸尚未把苹果放入盘中。
爸爸进程(P): 儿子进程(C1): 女儿进程(C2):
P(empty); P(orange ); P(apple);
将水果放入盘中; 从盘中取出桔子; 从盘中取出苹果;
若放入的是桔子, V(empty); V(empty);
则V(orange); 吃桔子; 吃苹果;
否则,V(apple);
二、
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两点之间是一段东西向的单行车道,现在要设计一个AB路段自动管理系统,管理规则如下:当AB间有车辆在行驶时同方向的车可以驶入AB段,但另一方向的车必须在AB段外等待;当AB段之间无车辆行驶时,到达AB段的任一方向的车都可以进入AB段,但不能从两个方向同时驶入,即可能有一个方向的车驶入;当某方向在AB段行驶的车辆驶出了AB段且暂无车辆进入AB段时,应让另一方向等待的车辆驶入AB段行驶。试用信号量和P、V操作管理AB路段车辆的行驶。
解析: 读者-写着问题的变形。我们设置3个信号量S1、S2和Sab,分别用于从a点进入的车互斥访问共享变量ab(用于记录当前ab段上由a点进入的车辆的数量),从b点进入的车互斥访问共享变量ba(用于记录当前ab段上由b点进入的车辆的数量)和a、b点的车辆互斥进入ab段。3个信号量的初值分别为1、1和1,两个共享变量ab和ba的初值分别为0、0。
Semaphore S1 1,S2 1,Sab 1; int ab ba 0;
void Pab while 1 wait S1 ; if ab 0 wait Sab ; ab ab+1; signal S1 ; 车辆从a点驶向b点; wait S1 ; ab ab-1; if ab 0 signal Sab ; signal S1 ; void Pba while 1 wait S2 ; if ba 0 wait Sab ; ba ba+1; signal S2 ; 车辆从b点驶向a点; wait S2 ; ba ba-1; if ba 0 signal Sab ; signal S2 ; main cobegin Pab ; Pba ;
您可能关注的文档
最近下载
- 成都市金牛区2025年网格员面试题库及答案.docx VIP
- 2025大兴安岭职业学院单招《数学》考试综合练习及答案详解(考点梳理).docx VIP
- 某某市委副书记在全市关工委工作会议上的讲话.doc VIP
- 2026年南阳农业职业学院单招职业技能考试题库及答案详解(夺冠).docx VIP
- (2026)中华护理学会成人肠内营养支持护理团标PPT课件.pptx VIP
- 丰田工程标准 TSG 3109G 合金化镀锌钢板.pdf VIP
- 耳穴疗法治疗失眠应用规范.pptx
- (高清版)ZT 0217-2020 石油天然气储量估算规范.pdf VIP
- 浙江农村信用社招聘-2025宁波慈溪农村商业银行春季招聘90人笔试备考题库及答案解析.docx VIP
- 村“两委”干部培训党课讲稿:新时代党员的责任与担当.docx VIP
原创力文档

文档评论(0)