教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

操作系统练习题答案(8)

来源:网络收集 时间:2026-07-07
导读: P1 P1 . . P1 P1 16 桌上有一只盘子,最多可以容纳两个水果,每次仅能放入或取出一个水果。爸爸向盘子中放苹果(apple), 22 《操作系统教程》(第三版)CH1应用题参考答案 妈妈向盘子中放桔子(orange),两个儿子

P1 P1 . . P1

P1 16 桌上有一只盘子,最多可以容纳两个水果,每次仅能放入或取出一个水果。爸爸向盘子中放苹果(apple),

22

《操作系统教程》(第三版)CH1应用题参考答案

妈妈向盘子中放桔子(orange),两个儿子专等吃盘子中的桔子,两个女儿专等吃盘子中的苹果。试用:

(1)信号量和P、V操作,(2)管程,来实现爸爸、妈妈、儿子、女儿间的同步与互斥关系。

答:(1)用信号量和P、V操作。

类似于课文中的答案,扩充如下:1) 同步信号量初值为2;2) 要引进一个互斥信号量mutex,用于对盘子进行互斥;3)盘子中每一项用橘子、苹果2个枚举值。

var

plate ARRAY[0,1] of (apple, orange);

flag0,flag1:boolean; mutex:semaphore;

sp:semaphore; /* 盘子里可以放几个水果 */ sg1,sg2:semaphore; /* 盘子里有桔子,有苹果?*/ sp := 2; /* 盘子里允许放入二个水果*/ sg1:=sg2:= 0; /* 盘子里没有桔子,没有苹果 */ flag0:=flag1:=false;mutex:=1; cobegin process son process father begin begin L3: P(sg1); L1: 削一个苹果; P(mutex); P(sp); if (flag0 & plate[0]= =桔子) then P(mutex); { x := plate[0];flag0:=false;} if (flag0==false) then else { x:= plate[1]; flag1:=false;} {plate [0]:=苹果; flag0:=true;} V(mutex); else { plate[1]:=苹果; flag1:=true; } V(sp); V(mutex); 吃桔子; V(sg2); goto L3; goto L1; end; end; process daughter process mother begin begin L4: P(sg2); L2: 剥一个桔子; P(mutex); P(sp); if (flag0 & plate[0]= =苹果) then P(mutex); { x := plate[0];flag0:=false;} if (flag0==false) then else { x:= plate[1]; flag1:=false;} {plate [0]:=桔子; flag0:=true;} V(mutex); else { plate[1]:=桔子; flag1:=true; } V(sp); V(mutex); 吃苹果; V(sg1); goto L4; goto L2; end; end; coend.

17 有P1、P2、P3三个进程共享一个表格F,P1对F只读不写,P2对F只写不读,P3对F先读后写。进程可同

时读F,但有进程写时,其他进程不能读和写。用(1)信号量和P、V操作,(2)管程编写三进程能正确工作的程序。

答:(1)信号量和P、V操作。

这是读--写者问题的变种。其中,P3既是读者又是写者。读者与写者之间需要互斥,写者与写者之间需要互斥,为提高进程运行的并发性,可让读者尽量优先。

23

var rmutex,wmutex:semaphore;

rmutex:=wmutex:=1; count:integer;count:=0; cobegin {

process P1

begin repeat

P(rmutex);

count:=count+1;

if count=1 then P(wmutex); V(rmutex); Read F; P(rmutex);

count:=count-1;

if count=0 then V(wmutex); V(rmutex); untile false; end process P2

begin repeat

P(wmutex); Write F; V(wmutex);

untile false;

process P3

begin repeat

P(rmutex);

count:=count+1;

if count=1 then P(wmutex); V(rmutex); Read F; P(rmutex);

count:=count-1;

if count=0 then V(wmutex); V(rmutex); P(wmutex); Write F; V(wmutex); untile false; end } coend

《操作系统教程》(第三版)CH1应用题参考答案

24

《操作系统教程》(第三版)CH1应用题参考答案

CH4 应用题参考答案

1 在一个请求分页虚拟存储管理系统中,一个程序运行的页面走向是:

1、2、3、4、2、1、5、6、2、1、2、3、7、6、3、2、1、2、3、6。

分别用FIFO、OPT和LRU算法,对分配给程序3个页框、4个页框、5个页框和6个页框的情况下,分别求出缺页中断次数和缺页中断率。

答: 页框数 FIFO LRU OPT 3 16 15 11 4 14 10 8 5 12 8 7 6 9 7 7

只要把表中缺页中断次数除以20,便得到缺页中断率。

2 在一个请求分页虚拟存储管理系统中,一个作业共有5页,执行时其访问页面次序为:(1) 1、4、3、1、2、5、1、4、2、1、4、5。

(2) 3、2、1、4、4、5、5、3、4、3、2、1、5。

若分配给该作业三个页框,分别采用FIFO和LRU面替换算法,求出各自的缺页中断次数和缺页中断率。 答:(1) 采用FIFO为9次,9/12=75%。采用LRU为8次,8/12=67%。 (2) 采用FIFO和LRU均为9次,9/13=69%。

3 一个页式存储管理系统使用FIFO、OPT和LRU页面替换算法,如果一个作业的页面走向为:

(1) 2、3、2、1、5、2、4、5、3、2、5、2。 (2) 4、3、2、1、4、3、5、4、3、2、1、5。 (3 )1、2、3、4、1、2、5、1、2、3、4、5。 当分配给该作业的物理块数分别为3和4时,试计算访问过程中发生的缺页中断次数和缺页中断率。 答:(1) 作业的物理块数为3块,使用FIFO为9次,9/12=75%。使用LRU为7次,7/12=58%。使用OPT为6次,6/12=50%。

作业的物理块数为4块,使用FIFO为6次,6/12=50%。使用LRU为6次,6/12=50%。使用OPT为5次,5/12=42%。

(2) 作业的物理块数为3块,使用FIFO为9次,9/12=75%。使用LRU为10次,10/12=83%。使

用OPT为7次,7/12=58%。

作业的物理块数为4块,使用FIFO为10次,10/12=83%。使用LRU为8次,8/12=66%。

使用OPT为6次,6/12=50%。

其中,出现了Belady现象,增加分给作业的内存块数,反使缺页中断率上升。

4 在可变分区存储管理下,按地址排列的内存空闲区为:10K、4K、20K、18K、7K、9K、12K和15K。对于下列的连续存储区的请求:(1)12K、10K、9K,(2)12K、10K、15K、18K试问:使用首次适应算法、最佳适应算法、最差适应算法和下次适应算法,哪个空闲区被使用? 答:(1) 空闲分区如图所示。 分区号 分区长

1 10KB

2 4KB

3 20KB 4 18KB 5 7KB 25

…… 此处隐藏:1368字,全部文档内容请下载后查看。喜欢就下载吧 ……
操作系统练习题答案(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/564699.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)