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

2018-12-01 15:58

(2, 1, 2) + (1, 0, 0) + (4, 1, 1) + (2, 1, 1) + (0, 0, 2) = (9, 3, 6) 各进程对各资源的需求量为Max与Allocation之差,即

?3?6??3??421122??1?43????4??2??2??001100??2?21????1??1??2??420022?2?? 3??0?(2) 若此时P1发出资源请求Request1 (1, 0, 1),按银行家算法进行检查:

Request1 (1, 0, 1)≤Need1 (2, 2, 2) Request1 (1, 0, 1)≤Available (2, 1, 2)

试分配并修改相应的数据结构,资源分配情况如下: 进程 P1 P2 P3 P4

2 4 2 0

Allocation

0 1 1 0

1 1 1 2

1 2 1 4

Need 2 0 0 2

1 2 3 0

1

Available 1

1

利用安全性检查算法检查,可知可用资源向量(1, 1, 1)已不能满足任何进程的需求,故若分配给P1,系统将进入不安全状态,因此此时不能将资源分配给P1。

若此时P2发出资源请求Request2 (1, 0, 1),按银行家算法进行检查: Request2 (1, 0, 1)≤Need2 (2, 0, 2) Request2 (1, 0, 1)≤Available (2, 1, 2)

试分配并修改相应的数据结构,资源分配情况如下: 进程 P1 P2 P3 P4

1 5 2 0

Allocation

0 1 1 0

0 2 1 2

2 1 1 4

Need 2 0 0 2

2 1 3 0

1

Available 1

1

利用安全性检查算法,可得此时刻的安全性分析情况如下: 进程 P2 P3 P4 P1

Work 1 1 1 6 2 3 8 3 4 8 3 6

Need 1 0 1 1 0 3 4 2 0 2 2 2

Allocation 5 1 2 2 1 1 0 0 2 1 0 0

Work+Allocation 6 2 3 8 3 4 8 3 6 9 3 6

Finish true true true true

从上面分析可知,存在一个安全序列{P2, P3, P4, P1},故该状态时安全的,可以立即将P2所申请的资源分配给它。

(3) 如果(2)中两个请求立即得到满足后,系统此时并没有立即进入死锁状态,因为此时所有进程没有提

出新的资源请求,全部进程都没有因资源请求没有得到满足而进入阻塞状态。只有当进程提出新的资源请求且全部进程(指P1-P4)都进入阻塞状态时,系统才处于死锁状态。 12.在单处理机系统中,有多个进程运行:一些以计算为主,一些以输入/输出为主。如何赋予进程占有处理

器的优先级才能提高系统的效率,使系统的平均周转时间减少?

答:若计算型进程的优先级高于I/O型进程的优先级,计算型进程一旦占有了CPU便忙于计算,使I/O型进程得不到运行的机会,导致I/O设备空闲,达不到CPU与I/O操作并行的目的;多个I/O型进程在系统中停留时间增加,系统的平均周转时间增加。

若I/O型进程的优先级高于计算型进程的优先级,当它完成一项I/O操作后,便能立即获得CPU,为下

11

次I/O作准备工作,并启动外设。当设备被启动后,它便主动交出CPU,由系统将CPU分配给计算型进程,从而使CPU与I/O设备并行操作,获得较好的运行效率。

因此,应赋予以I/O为主的进程更高的优先级。

12


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

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

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

马上注册会员

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