教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> > 计算机软件及应用> 进程同步2

进程同步2

上传者:崔方
|
上传时间:2015-05-07
|
次下载

进程同步2

操作系统 进程 同步练习

进程同步练习题二

1. 某工厂有3个生产车间和一个装配车间,3个生产车间分别生产a, b, c共3种零件,装配车间的任务是把a, b, c这3中零件组成成品,3个生产车间每生产一个零件后都要分别把他们送到装配车间的货架f1,f2和f3上,f1存放零件a,f2存放b,f3 存放零件c,f1,f2,f3的容量均可以存放20个零件,装配工人每次从货架上取一个零件a, b, c,然后组装成产品,试用P,V操作给出个生产车间和装配工人的控制流程。

答:

var semaphore empty1=20,empty2=20,

empty3=20,full1=0,full2=0,full3=0,mutex1=1,

mutex2=1,mutex3=1

生产商a://改变的是full1、empty1

wait(empty1)

生产

wait(mutex1)

放入f1

signal(mutex1)

signal(full1)

生产商b://改变的是full2、empty2

wait(empty2)

生产

wait(mutex2)

放入f2

signal(mutex2)

signal(full2)

生产商c://改变的是full3、empty3

wait(empty3)

生产

wait(mutex3)

放入f3

signal(mutex3)

signal(full3)

装配商: wait(full3)

wait(mutex3)

从f3取

signal(mutex3)

signal(empty3)

wait(full2)

wait(mutex2)

从f2取

操作系统 进程 同步练习

signal(mutex2)

signal(empty2)

wait(full1)

wait(mutex1)

从f1取

signal(mutex1)

signal(empty1)

装配

2. 三个进程P1,P2,P3,以及有N(>1)个单元的缓冲区。P1调用produce()产生一个整数,调用put()将其放入缓冲区。P2调用getodd()从缓冲区取出一个奇数,然后调用countodd()计算奇数的个数;P2调用geteven()从缓冲区取出一个偶数,然后调用counteven()计算偶数的个数。用信号量机制实现进程同步,并说明信号量的含义。

答:定义信号量S1控制P1与P2之间的同步,S2控制P1与P3之间的同步;empty控制生产者与消费者之间的同步;mutex控制进程间互斥使用缓冲区。

Var s1=0,s2=0,empty=N,mutex=1;

Parbegin

P1:begin

X=produce(); //生成一个数

P(empty); //判断缓冲区是否为空

P(mutex); //缓冲区是否被占用

Put();

If x%2==0

V(s2); //是偶数向P3发出信号

else

V(s1); //是奇数向P2发出信号

V(mutex); //使用完缓冲区释放

end.

P2:begin

P(s1); //收到P1信号,产生奇数

P(mutex); //缓冲区是否被占用

Getodd();

Countodd():=countodd()+1;

V(mutex); //释放缓冲区

V(empty); //向P1发信号,多出一个空单元

end.

P3:begin

P(s2)

P(mutex);

Geteven();

操作系统 进程 同步练习

Counteven():=counteven()+1;

V(mutex);

V(empty);

end.

Parend.

3. n个杂技演员表演走钢丝。钢丝上同时只能允许向一个方向走的演员。当钢丝上没有演员或者只有走向右边的演员时,一个在左边的演员可以走上钢丝向右边走。达到右边休息一段时间后,如果钢丝上没有演员或者只有走向左边的演员时,该演员可走回左边。休息后,如此反复表演。用信号量机制实现演员进程同步,并说明信号量的含义。答:

var semaphore mutex=1//左右不能同时走

mutexleft=1,mutexright=1//分别表示左走和右走对sum的互斥访问

int sum_walkingright=0,sum_walkingleft=0

演员:

while(1)

{

wait(mutexright)

if(sum_walkingright==0)

wait(mutex)

sum_walkingright++

signal(mutexright)

向右走

wait(mutexright)

if(sum_walkingright==1)

signal(mutex)

sum_walkingright--

signal(mutexright)

wait(mutexleft)

if(sum_walkingleft==0)

wait(mutex)

sum_walkingleft++

signal(mutexleft)

向左走

wait(mutexleft)

if(sum_walkingleft==1)

signal(mutex)

sum_walkingleft--

signal(mutexleft)

}

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

下载文档

热门试卷

2016年四川省内江市中考化学试卷
广西钦州市高新区2017届高三11月月考政治试卷
浙江省湖州市2016-2017学年高一上学期期中考试政治试卷
浙江省湖州市2016-2017学年高二上学期期中考试政治试卷
辽宁省铁岭市协作体2017届高三上学期第三次联考政治试卷
广西钦州市钦州港区2016-2017学年高二11月月考政治试卷
广西钦州市钦州港区2017届高三11月月考政治试卷
广西钦州市钦州港区2016-2017学年高一11月月考政治试卷
广西钦州市高新区2016-2017学年高二11月月考政治试卷
广西钦州市高新区2016-2017学年高一11月月考政治试卷
山东省滨州市三校2017届第一学期阶段测试初三英语试题
四川省成都七中2017届高三一诊模拟考试文科综合试卷
2017届普通高等学校招生全国统一考试模拟试题(附答案)
重庆市永川中学高2017级上期12月月考语文试题
江西宜春三中2017届高三第一学期第二次月考文科综合试题
内蒙古赤峰二中2017届高三上学期第三次月考英语试题
2017年六年级(上)数学期末考试卷
2017人教版小学英语三年级上期末笔试题
江苏省常州西藏民族中学2016-2017学年九年级思想品德第一学期第二次阶段测试试卷
重庆市九龙坡区七校2016-2017学年上期八年级素质测查(二)语文学科试题卷
江苏省无锡市钱桥中学2016年12月八年级语文阶段性测试卷
江苏省无锡市钱桥中学2016-2017学年七年级英语12月阶段检测试卷
山东省邹城市第八中学2016-2017学年八年级12月物理第4章试题(无答案)
【人教版】河北省2015-2016学年度九年级上期末语文试题卷(附答案)
四川省简阳市阳安中学2016年12月高二月考英语试卷
四川省成都龙泉中学高三上学期2016年12月月考试题文科综合能力测试
安徽省滁州中学2016—2017学年度第一学期12月月考​高三英语试卷
山东省武城县第二中学2016.12高一年级上学期第二次月考历史试题(必修一第四、五单元)
福建省四地六校联考2016-2017学年上学期第三次月考高三化学试卷
甘肃省武威第二十三中学2016—2017学年度八年级第一学期12月月考生物试卷

网友关注视频

冀教版小学英语四年级下册Lesson2授课视频
【获奖】科粤版初三九年级化学下册第七章7.3浓稀的表示
青岛版教材五年级下册第四单元(走进军营——方向与位置)用数对确定位置(一等奖)
沪教版八年级下册数学练习册21.3(3)分式方程P17
苏科版数学七年级下册7.2《探索平行线的性质》
沪教版牛津小学英语(深圳用) 五年级下册 Unit 12
人教版二年级下册数学
每天日常投篮练习第一天森哥打卡上脚 Nike PG 2 如何调整运球跳投手感?
沪教版八年级下册数学练习册一次函数复习题B组(P11)
冀教版英语四年级下册第二课
冀教版小学数学二年级下册第二单元《余数和除数的关系》
外研版英语七年级下册module3 unit2第二课时
人教版历史八年级下册第一课《中华人民共和国成立》
冀教版小学数学二年级下册第二单元《租船问题》
沪教版牛津小学英语(深圳用) 五年级下册 Unit 7
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,安徽省
冀教版小学数学二年级下册1
北师大版数学 四年级下册 第三单元 第二节 小数点搬家
沪教版八年级下册数学练习册21.3(2)分式方程P15
【部编】人教版语文七年级下册《逢入京使》优质课教学视频+PPT课件+教案,辽宁省
冀教版小学数学二年级下册第二单元《有余数除法的竖式计算》
【部编】人教版语文七年级下册《老山界》优质课教学视频+PPT课件+教案,安徽省
沪教版八年级下册数学练习册20.4(2)一次函数的应用2P8
二次函数求实际问题中的最值_第一课时(特等奖)(冀教版九年级下册)_T144339
第12章 圆锥曲线_12.7 抛物线的标准方程_第一课时(特等奖)(沪教版高二下册)_T274713
【部编】人教版语文七年级下册《过松源晨炊漆公店(其五)》优质课教学视频+PPT课件+教案,辽宁省
沪教版牛津小学英语(深圳用)五年级下册 Unit 1
《空中课堂》二年级下册 数学第一单元第1课时
8.对剪花样_第一课时(二等奖)(冀美版二年级上册)_T515402
二年级下册数学第二课