南京邮电大学 操作系统 课后习题答案(4)

2020-02-21 22:07

答:

当前系统处于安全状态,安全序列如下求解: work = Available = (3 , 3 , 2 )

寻找 Needj <= work = ( 3 , 3 , 2 ) ( j = 0 , 1 , 2 , 3 , 4) j = 1 Need1 = (1 ,2 ,3 ) < = (3 , 3 , 2 ) work : = (3 , 3 , 2 ) + (2 ,0 ,0 ) = (5 , 3 , 2 )

寻找 Needj <= work = ( 5 , 3 , 2 ) ( j = 0 , 2 , 3 , 4) j = 3 Need3 = (0 ,1 ,1 ) < = (5 , 3 , 2 ) work : = (5 , 3 , 2 ) + (2 ,1 ,1 ) = (7 , 4 , 3 ) 寻找 Needj <= work = (7 , 4 , 3 ) ( j = 0 , 2 , 4) j = 4 Need4 = (4 ,3 ,1 ) < = (7 , 4 , 3 ) work : = (7 , 4 , 3 ) + (0 ,0 ,2 ) = (7 , 4 , 5) 寻找 Needj <= work = (7 , 4 , 5) (j = 0 , 2 ) j = 2 Need2 = (6 ,0 ,0 ) < = (7 , 4 , 5 ) work : = (7 , 4 , 5 ) + (3 ,0 ,2 ) = (10 , 4 , 7) 寻找 Needj <= work = (10 , 4 , 7) ( j = 0 ) j = 0 work : = (10 , 4 , 7 ) + (0 ,1 ,0 ) = (10 , 5 , 7) 所以安全序列为<P1,P3,P4,P2,P0>。

15、有一阅览室,读者进入时必须先在一张登记表上登记。该表中每个表项代表阅览室中的一个座位。读者离开时要消掉其登记信息。阅览室共有50个座位。登记表每次仅允许一位读者进行登记或注销。读者登记时,发现登记表满,他在阅览室外等待,直至有空位再登记进入。试用类Pascal语言和P、V操作,描述读者行为。 答:

Begin {initial value of S is 50}

Parbegin Begin {register } P (S) ;

Register and enter into the reading room ; End;

16

Begin {leave off} Register off and leave ; V (S) ; End ; End ;

16、考虑一个共有150个存储单元的系统,如下分配给三个进程,P1最大需求70,己占有25;P2最大需求60,己占有40;P3最大需求60,己占有45。使用银行家算法,以确定下面的任何一个请求是否安全。(1)P4进程到达,P4最大需求60,最初请求25个。(2)P4进程到达,P4最大需求60,最初请求35。如果安全,找出所有的安全序列;如果不安全,给出结果分配情况。 答:

(1) 由于系统目前还有150-25-40-45=40个单元,P4进程到达,把25个单元分给它。这

时系统还余15个单元,可把15个单元分给P3,它执行完后会释放60个单元。于是可供P1(还要45个单元),P2(还要20个单元),P4(还要35个单元)任何一个执行。安全序列为:

P1,P2,P3,P4,P3,P1,P2,P4 P1,P2,P3,P4,P3,P1,P4,P2 P1,P2,P3,P4,P3,P2,P1,P4 P1,P2,P3,P4,P3,P2,P4,P1 P1,P2,P3,P4,P3,P4,P1,P2 P1,P2,P3,P4,P3,P4,P2,P1

(2) P4进程到达,P4最大需求60,最初请求35。如果把35个单元分给P4,系统还余5

个单元,不再能满足任何一个进程的需求,系统进入不安全状态。

17、在一个盒子里,混装了数量相等的黑白围棋子。现在用自动分拣系统把黑子、白子分开,设分拣系统有二个进程P1和P2,其中P1拣白子;P2拣黑子。规定每个进程每次拣一子;当一个进程在拣时,不允许另一个进程去拣;当一个进程拣了一子时,必须让另一个进程去拣。试写出两进程P1和P2能并发正确执行的程序。 答:

实质上是两个进程的同步问题,设信号量S1和S2分别表示可拣白子和黑子,不失一般性,若令先拣白子。

17

var S1,S2:semaphore;

S1:=1;S2:=0; cobegin {

process P1 begin repeat P(S1); 拣白子 V(S2); until false; end process P2 begin repeat P(S2); 拣黑子 V(S1); until false; end } coend.

18、系统有A、B、C、D共4种资源,在某时刻进程P0、P1、P2、P3和P4对资源的占有和需求情况如表,试解答下列问题:

Allocation Process A B C D P0 0 0 3 2 A B C D A B C D 0 0 4 4 1 6 2 2 Claim Available 18

P1 P2 P3 P4

1 0 0 0 1 3 5 4 2 7 5 0 3 6 10 10 0 3 3 2 0 9 8 4 0 0 1 4 0 6 6 10 (1) 系统此时处于安全状态吗?为什么?

(2) 若此时P2发出request1(1、2、2、2),系统能分配资源给它吗?为什么? 答:

(1)系统处于安全状态,存在安全序列: P0,P3,P4,P1,P2 P0,P3,P1,P4,P2 P0,P3,P1,P2,P4

(2)不能分配,否则系统会处于不安全状态。

19、假设有32 个存储区域,其编号为0,1,…,31,用一个32 位的标志字,位号也是0,1,…31,分别描述32 个存储区域使用状态:当某一位为1 时,表示对应存储区域已分配,若为0,表示对应存储区域空闲。

get进程: 负责存储区域分配,每次分配一个区域,找出标志字某为0 的位置成1。 put进程: 负责存储区域回收,把回收存储区域标志字对应位清成0。 要求:

(1)分析get 进程与put 进程的具体同步关系。 答:

get进程分配完32.个存储区域后,再执行分配时必须等待put进程回收区域,而put进程无须等待分配进程get;get与put共享32位的标志字,它们必须互斥访问

(2)采用PV 操作同步工具,写出get 进程与put 进程的同步算法(可用流程图描述,但信号量名称、作用、初值必须说明。)

答:mutex是互斥信号量,初值是1,对32位标志字进行保护;

S是标志字的同步信号量,初值为32,表示系统开始时32个区域均空闲,可供分配。

19

第五章

11.

当分配给改作业的物理页框数为3时

使用opt算法,缺页中断数为6,缺页中断率为50% 使用fifo算法,缺页中断数为9,缺页中断率为75%

使用LRO算法,缺页中断数为7,缺页中断率为7/12=58.3% 13.

(1)物理地址=400+430=830 (2)物理地址=1300+200=1500 (3)地址越界 (4)缺段中断 15.

0A5C=0000 1010 0101 1100 1KB=210B

虚拟地址的高六位为页号,低10位为页内地址

页号=000010B=2 ,对应的物理块号为4,页内地址=1001011100B=604 物理地址=4*1024+604=4700

093C=0000 1001 0011 1100 页号为2,对应的物理块为4,页内地址=100111100=316

物理地址=4*1024+316=4412

20


南京邮电大学 操作系统 课后习题答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:田园综合体市场分析调查及投资前景行业报告2018目录

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: