20130320-操作系统作业及参考 答案

上传人:小** 文档编号:56893230 上传时间:2018-10-16 格式:DOC 页数:3 大小:31.50KB
返回 下载 相关 举报
20130320-操作系统作业及参考 答案_第1页
第1页 / 共3页
20130320-操作系统作业及参考 答案_第2页
第2页 / 共3页
20130320-操作系统作业及参考 答案_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《20130320-操作系统作业及参考 答案》由会员分享,可在线阅读,更多相关《20130320-操作系统作业及参考 答案(3页珍藏版)》请在金锄头文库上搜索。

1、1操作系统操作系统作业及参考答案作业及参考答案-20130320 1、 某银行提供 1 个服务窗口和 10 个供顾客等待的座位。顾客到达银行时,若有空座位, 则到取号机上领取一个号,等待叫号。取号机每次仅允许一位顾客使用。当营业员空 闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动过程描述如下:cobeginprocess 顾客 i从取号机获得一个号码;等待叫号;获得服务;process 营业员while(TRUE)叫号;为顾客服务; coend请添加必要的信号量和 P、V(或 wait( )、signal( )操作,实现上述过程中的互斥与同步。 要求写出完整的过程,说明信号量的含义

2、并赋初值。 参考答案: Semaphore seats = 10; /表示空余座位数量的资源信号量,初值为 10 Semaphore mutex = 1; /管理取号机的互斥信号量,初值为 1,表示取号机空闲。 Semaphore custom = 0; /表示顾客数量的资源信号量,初值为 0 Process 顾客 P(seats); /先找个空座位 P(mutex); /再看看取号机是否空闲 从取号机上取号; V(mutex); /放开取号机 V(custom); /取到号,告诉营业员有顾客 等待叫号; V(seats); /顾客被叫号,离开座位 接受服务; Process 营业员 Whil

3、e(true) P(custom); /看看有没有等待的顾客 叫号;2为顾客服务; 2、 有一个仓库,可以存放 A 和 B 两种产品,仓库的容量足够大。请按照如下要求,用 PV 操作描述这两种产品的入库过程: (1)每次只运行一个产品 A 或 B 入库; (2)仓库中 A、B 产品的数量满足关系:-NA 产品数量-B 产品数量M,其中 N 和 M 是正整数。 参考答案: 用两个信号量控制两种产品的入库数量:S1 表示允许 A 产品比 B 产品多入库的数量, S1 的初值为 M-1;S2 表示允许 B 产品比 A 产品多入库的数量,S2 的初值为 N-1。另 外再设一个互斥信号量 mutex,解

4、决一次只允许一个产品入库,初值为 1. BEGINSemaphore: mutex:=1, s1=M-1, s2=N-1;COBEGINBegin取一个产品 X;if(X 是 A 类产品)BeginP(s1);P(mutex);将产品 A 入库;V(mutex);V(s2);End;ElseBeginP(s2);P(mutex);将产品 B 入库;V(mutex);V(s1);End;EndCOEND; END.3、 有一个报箱为 A、B 两人共同使用,每次只能装一份报纸。A 订阅科技报 ,B 订阅 新民晚报 ,投递员 C、D 分属科技报社和新民晚报社,试用 P、V 操作写出他们的 同步执行程

5、序。 参考答案: var s,science,night:semaphore:=1,0,0;begin3parbegin A: begin while(true) C: begin while(true) wait(science); wait(s);取科技报; 投递科技报;signal(s); signal(science); end; end;B: begin while(true) D: begin while(true)wait(night); wait(s);取新民晚报; 投递新民晚报;signal(s); signal(night); end; end;parend;end.4、 请问有哪几种高级通信方式? 参考答案: 三种:共享存储器系统(基于共享数据结构的通信方式和基于共享存储区的通信方式) 、 消息传递系统(直接通信方式和间接通信方式) 、管道通信系统。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号