第三章 处理机调度与死锁习题及答案 新(2)

2018-12-01 15:58

J4因优先级低,仍就绪 11:25 J3运行结束,J4开始运行 11:45 J4运行结束

(1)各个作业进入主存时间、结束时间和周转时间如下表所示:(6分) 作业名 J1 J2 J3 J4 提交时间 10:10 10:20 10:30 10:50 进入时间 10:10 10:20 11:00 10:50 结束时间 11:00 10:50 11:25 11:45 周转时间 50 30 55 55 (2)平均周转时间:(50+30+55+55)/4=47.5(min)

2. 某系统有A,B,C三类资源(数量分别为17,5,20)和P1~P5五个进程,在T0时刻系统状态如下表所示:

进程 P1 P2 P3 P4 P5 最大资源需求量 A 5 5 4 4 4 B 5 3 0 2 2 C 9 6 11 5 4 已分配资源数量 A 2 4 4 2 3 B 1 0 0 0 1 C 2 2 5 4 4 系统采用银行家算法实施死锁避免策略,请回答下列问题: ①T0时刻是否为安全状态?若是,请给出安全序列。 ②在T0时刻若进程P2请求资源(0,3,4),是否能实施资源分配?为什么? ③在②的基础上,若进程P4请求资源(2,0,1),是否能实施资源分配?为什么? 解:① 由已知条件可得尚需矩阵Need和可用资源向量Avalable如下:

Need Avalable A B C A B C P1 3 4 7 2 3 3 P2 1 3 4 P3 0 0 6 P4 2 2 1 P5 1 1 0

利用银行家算法对此时刻的资源分配情况进行分析如下表:

进程 P4 P2 P3 P5 P1 Work 2 3 3 4 3 7 8 3 9 12 3 14 15 4 18 Need 2 2 1 1 3 4 0 0 6 1 1 0 3 4 7 Allocation 2 0 4 4 0 2 4 0 5 3 1 4 2 1 2 Work+Allocation Finish 4 3 7 8 3 9 12 3 14 15 4 18 17 5 20 true true true true true 从上述分析可知,存在一个安全序列P4,P2,P3,P5,P1,故T0时刻系统是否安全的。

② 在T0时刻若进程P2请求资源(0,3,4),不能实施资源分配。因为当前C类资源剩余3个而P2请求4个,客观条件无法满足它的请求,因此不能实施资源分配,P2阻塞。

③ 在②的基础上,若进程P4请求资源(2,0,1),可以实施资源分配。因为由①可知,P4是安全序列中的第一个进程,只要P4的请求量没有超出它的尚需量,系统满足它的请求后仍处于安全状态,即仍然存在安全序列P4,P2,P3,P5,P1。 3. 某计算机系统有9台磁带机,它们供N个进程竞争使用,每个进程可能需要3台磁带机。请问N为多少时,

6

系统没有死锁的危险,并说明其原因。

解:最坏的情况是N个进程每个进程都分得了2台磁带机,若在这种情况下仍有富余的磁带机,可供某一个

进程使用,则该进程可得到所需的全部磁带机,从而可运行完成。该进程运行完成后释放的磁带机又可共其他进程使用,从而使得到磁带机的进程运行完成。它们释放的磁带机又可共其他没有完成的进程使用,如此下去,最终可使所有进程得到所需的全部磁带机,从而运行到底。这种情况就没有因竞争磁带机而发生死锁的危险。由上分析,只要满足下式 N(3-1)+1≤9

即 N≤4时,系统没有死锁的危险。 4. 用银行家算法考虑下列系统状态 :

进程 分配矩阵 最大需求矩阵 资源总数向量 A 3 0 1 1 4 1 1 1 6 3 4 2 B 0 1 0 0 0 2 1 2 C 1 1 1 0 4 2 1 0 D 1 1 0 1 1 1 1 1 E 0 0 0 0 2 1 1 0 问:(1) 系统是否安全?(应说明理由)

(2) 若进程B请求(0,0,1,0),可否立即分配?请分析说明。 (3) 此后进程E也请求(0,0,1,0),可否分配给它?请分析说明。

解:(1) 由已知条件可得Need和Avaiable矩阵如下:

进程 分配矩阵 尚需矩阵(Need) 可用资源数向量(Avaiable) A 3 0 1 1 1 1 0 0 1 0 2 0 B 0 1 0 0 0 1 1 2 C 1 1 1 0 3 1 0 0 D 1 1 0 1 0 0 1 0 E 0 0 0 0 2 1 1 0

利用银行家算法对此时刻的资源分配情况进行分析如下表: 进程 D A B C E Work 1 0 2 0 2 1 2 1 5 1 3 2 5 2 3 2 6 3 4 2 Need 0 0 1 0 1 1 0 0 0 1 1 2 3 1 0 0 2 1 1 0 Allocation 1 1 0 1 3 0 1 1 0 1 0 0 1 1 1 0 0 0 0 0 Work+Allocation Finish 2 1 2 1 5 1 3 2 5 2 3 2 6 3 4 2 6 3 4 2 true true true true true 从上述分析可知,存在一个安全序列D,A,B,C,E,故当前系统是否安全的。 (2)若进程B请求(0,0,1,0),试分配并修改相应的数据结构,则系统状态变为: 进程 分配矩阵 尚需矩阵(Need) 可用资源数向量(Avaiable) A 3 0 1 1 1 1 0 0 1 0 1 0 B 0 1 1 0 0 1 0 2 C 1 1 1 0 3 1 0 0 D 1 1 0 1 0 0 1 0 E 0 0 0 0 2 1 1 0

利用银行家算法对此时刻的资源分配情况进行分析如下表: 进程 D A

Work 1 0 1 0 2 1 1 1 Need 0 0 1 0 1 1 0 0 Allocation 1 1 0 1 3 0 1 1 7

Work+Allocation Finish 2 1 1 1 5 1 2 2 true true

B C E 5 1 2 2 5 2 3 2 6 3 4 2 0 1 0 2 3 1 0 0 2 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 5 2 3 2 6 3 4 2 6 3 4 2 true true true 从上述分析可知,存在安全序列D,A,B,C,E,故系统仍是否安全的,因此可以立即分配。

(3)此后进程E也请求(0,0,1,0),则系统状态变为:

进程 分配矩阵 尚需矩阵(Need) 可用资源数向量(Avaiable) A 3 0 1 1 1 1 0 0 1 0 0 0 B 0 1 1 0 0 1 0 2 C 1 1 1 0 3 1 0 0 D 1 1 0 1 0 0 1 0 E 0 0 1 0 2 1 0 0

此时系统剩余资源(1,0,0,0)已不能满足任何进程的需求,即已找不到一个安全序列,系统状态将变为不安全,故不能分配给E。

5. 某系统有A、B、C、D这4类资源供5个进程共享,进程对资源的需求和分配情况如下表所示。现在系统

中A、B、C、D类资源分别还剩1、5、2、0个,请按银行家算法回答下列问题:

进程 P1 P2 P3 P4 P5 已占资源 A 0 1 1 0 0 B 0 0 3 6 0 C 1 0 5 3 1 D 2 0 4 2 4 A 0 1 2 0 0 最大需求数 B 0 7 3 6 6 C 1 5 5 5 5 D 2 0 6 2 6 现在系统是否处于安全状态? 为什么?

(1) 如果现在进程P2提出需要(0,4,2,0)个资源的请求,系统能否满足它的请求?为什么? 解:(1) 由已知条件可得Need矩阵如下:

进程 分配矩阵 尚需矩阵(Need) 可用资源数向量(Avaiable) P1 0 0 1 2 0 0 0 0 1 5 2 0 P2 1 0 0 0 0 7 5 0 P3 1 3 5 4 1 0 0 2 P4 0 6 3 2 0 0 2 0 P5 0 0 1 4 0 6 4 2

利用银行家算法对此时刻的资源分配情况进行分析如下表: 进程 P1 P3 P2 P4 P5 Work 1 5 2 0 1 5 3 2 2 8 8 6 3 8 8 6 3 14 11 8 Need 0 0 0 0 1 0 0 2 0 7 5 0 0 0 2 0 0 6 4 2 Allocation 0 0 1 2 1 3 5 4 1 0 0 0 0 6 3 2 0 0 1 4 Work+Allocation Finish 1 5 3 2 2 8 8 6 3 8 8 6 3 14 11 8 3 14 12 12 true true true true true 从上述分析可知,存在安全序列P1,P3,P2,P4,P5,故系统状态是否安全的。(注:安全序列不唯一) (2)若进程P2请求(0,4,2,0),试分配并修改相应的数据结构,则系统状态变为:

进程 分配矩阵 尚需矩阵(Need) 可用资源数向量(Avaiable) P1 0 0 1 2 0 0 0 0 1 1 0 0 P2 1 4 2 0 0 3 3 0 P3 1 3 5 4 1 0 0 2

8

P4 0 6 3 2 0 0 2 0 P5 0 0 1 4 0 6 4 2

进程P1已获得全部资源,可运行完成。P1结束归还资源后,系统剩余资源为(1, 1, 1, 2),能满足P3的需求,P3可运行完成。P3结束释放资源后,系统剩余资源为(2, 4, 6, 6),能满足P2的需求,P2可运行完成。P2结束释放资源后,系统剩余资源为(3, 8, 8, 6)。类似地,P4、P5也能获得所需资源而运行完成。因此存在安全序列P1, P3, P2, P4, P5,即系统仍然是否安全的,因此系统能满足P2的请求。

6. 某系统中有10台打印机,有三个进程P1,P2,P3分别需要8台,7台和4台。若P1,P2,P3已申请到4台,2台和2台。试问:按银行家算法能安全分配吗?请说明分配过程。 解:由题目所给条件,可得如下有关数据结构:

进程 Max Allocation Need Available P1 8 4 4 2 P2 7 2 5 P3 4 2 2

故按银行家算法能安全分配。分配过程是:首先将当前剩余的2台打印机全部分配给P3,使P3得到所需的全部打印机数,从而可运行到完成。P3完成后,释放的4台打印机全部分配给P1,使P1也能运行完成;P1完成后释放的打印机可供P2使用,使P2也能运行结束。即系统按P3、P1、P2的顺序分配打印机,就能保证系统状态是安全的。 7. 有5个批处理作业(A,B,C,D,E)几乎同时到达一个计算中心,估计的运行时间分别为10,6,2,4,8分钟,他们的优先数分别为1,2,3,4,5(1为最低优先数)。对下面的各种调度算法,分别计算作业的平均周期时间。

(1)最高优先级优先 (2)短作业优先

解:(1) 采用最高优先级优先调度算法,各进程开始运行的时间、完成时间以及周转时间如下表:

进程 A B C D E 开始运行时间 20 14 12 8 0 完成时间 30 20 14 12 8 周转时间 30 20 14 12 8 平均周转时间为(30+20+14+12+8)/5=84/5=16.8(ms)

(2) 采用短作业优先调度算法,各进程开始运行的时间、完成时间以及周转时间如下表:

进程 A B C D E 开始运行时间 20 6 0 2 12 完成时间 30 12 2 6 20 周转时间 30 12 2 6 20 平均周转时间为(30+12+2+6+20)/5=70/5=14 (ms) 8.假定某系统当时的资源分配图如图3-2所示:

9

图3-2

(1)分析当时系统是否存在死锁。

(2)若进程P3再申请R3时,系统将发生什么变化,说明原因。

解:(1) 因为当时系统的资源分配图中不存在环路.所以不存在死锁。

(2) 当进程P3申请资源R3后,资源分配图中形成环路P2→R2→P3→R3→P2,而R2,R3都是单个资源的类,该

环路无法消除,所以进程P2,P3永远处于等待状态.从而引起死锁。

9.若系统有同类资源m个,供n个进程共享,试问:当m>n和m≤n时,每个进程最多可以申请多少个这

类资源而使系统一定不会发生死锁?

解:设每个进程申请该类资源的最大量为x个,则只要不等式n(x-1)+1≤m成立,系统一定不会发生死锁。

因为最坏情况下,每个进程都已获得x-1各资源,则n个进程共获得n(x-1)个资源,而不等式n(x-1)+1≤m表示每个进程都已获得x-1各资源后,系统仍有可分配的资源,这样,至少有一个进程可以得到全部资源,从而能执行完成,它完成后释放的资源又可使其它进程执行完成。 解不等式 n(x-1)+1≤m ,可得 x≤1+(m-1)/n 于是可得

1 当m≤n

x=

1+[(m-1)/n] 当m>n

10.设系统中仅有一类数量为M的独占资源,系统中N个进程竞争该类资源,其中各进程对该类资源的最

大需求量为W。当M、N、W分别取下列值时,试判断哪些情况可能会发生死锁?哪些情况不可能发生死锁?为什么?

①M=2, N=2, W=1 ②M=3, N=2, W=2 ③M=3, N=2, W=3 ④M=5, N=3,W=2 ⑤M=6, N=3, W=3

解:M、N、W满足关系式N(W-1)

用上述关系式判断,可知①、②、④三种情况不会发生死锁;而③、⑤两种情况可能会发生死锁。 11.某系统有R1、R2和R3共3种资源,在T0时刻P1、P2、P3和P4这4个进程对资源的占用和需求情况

见表1,此时系统的可用资源向量为(2, 1, 2),试问:

(1) 将系统中各种资源总数和此刻各进程对各资源的需求数目用向量或矩阵表示出来;

(2) 如果此时P1和P2均发出资源请求向量(1, 0, 1),为了保证系统的安全性,应该如何分配资源给这两个

进程?说明你所采用策略的原因。

(3) 如果(2)中两个请求立即得到满足后,系统此时是否处于死锁状态?

表1 T0时刻4个进程对资源的占用和需求情况

P1 P2 P3 P4 最大资源需求量Max R1 3 6 3 4 R2 2 1 1 2 R3 2 3 4 2 已分配资源量Allocation R1 1 4 2 0 R2 0 1 1 0 R3 0 1 1 2 解:(1) 系统中资源总数是可用资源数与各进程已分配资源数之和,即

10


第三章 处理机调度与死锁习题及答案 新(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:工程伦理学课后复习题及解答

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

马上注册会员

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