20130320-操作系统作业及参考答案_第1页
20130320-操作系统作业及参考答案_第2页
20130320-操作系统作业及参考答案_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1《操作系统》作业及参考答案-20130320某银行提供1个服务窗口和10个供顾客等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:

cobegin{process顾客i{从取号机获得一个号码;等待叫号;获得服务;}process营业员{while(TRUE){叫号;为顾客服务;}}}coend请添加必要的信号量和P、V(或wait()、signal())操作,实现上述过程中的互斥与同步。要求写出完整的过程,说明信号量的含义并赋初值。

参考答案:

Semaphoreseats=10;//表示空余座位数量的资源信号量,初值为10Semaphoremutex=1;//管理取号机的互斥信号量,初值为1,表示取号机空闲。Semaphorecustom=0;//表示顾客数量的资源信号量,初值为0Process顾客{P(seats);//先找个空座位P(mutex);//再看看取号机是否空闲从取号机上取号;V(mutex);//放开取号机V(custom);//取到号,告诉营业员有顾客等待叫号;V(seats);//顾客被叫号,离开座位接受服务;}Process营业员{While(true){P(custom);//看看有没有等待的顾客叫号;为顾客服务;}}有一个仓库,可以存放A和B两种产品,仓库的容量足够大。请按照如下要求,用PV操作描述这两种产品的入库过程:

(1)每次只运行一个产品A或B入库;

(2)仓库中A、B产品的数量满足关系:-N<A产品数量-B产品数量<M,其中N和M是正整数。

参考答案:

用两个信号量控制两种产品的入库数量:S1表示允许A产品比B产品多入库的数量,S1的初值为M-1;S2表示允许B产品比A产品多入库的数量,S2的初值为N-1。另外再设一个互斥信号量mutex,解决一次只允许一个产品入库,初值为1.

BEGIN

Semaphore:mutex:=1,s1=M-1,s2=N-1;

COBEGIN

Begin

取一个产品X;

if(X是A类产品)

Begin

P(s1);

P(mutex);

将产品A入库;

V(mutex);

V(s2);

End;

Else

Begin

P(s2);

P(mutex);

将产品B入库;

V(mutex);

V(s1);

End;

End

COEND;

END.

有一个报箱为A、B两人共同使用,每次只能装一份报纸。A订阅《科技报》,B订阅《新民晚报》,投递员C、D分属科技报社和新民晚报社,试用P、V操作写出他们的同步执行程序。

参考答案:

vars,science,night:semaphore:=1,0,0;beginparbeginA: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;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论