文档库 最新最全的文档下载
当前位置:文档库 › 第三章 处理机调度与死锁习题及答案 新解析

第三章 处理机调度与死锁习题及答案 新解析

第三章  处理机调度与死锁习题及答案 新解析
第三章  处理机调度与死锁习题及答案 新解析

第三章处理机调度与死锁

一.选择题

1.下列算法中,操作系统用于作业调度的算法是。

A.先来先服务算法B.先进先出算法

C.最先适应算法D.时间片轮转算法

2.在批处理系统中,周转时间是指。

A.作业运行时间B.作业等待时间和运行时间之和

C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间3.在作业调度中,排队等待时间最长的作业被优先调度,这是指调度算法。

A.先来先服务B.短作业优先

C.响应比高优先D.优先级

4.下列算法中,用于进程调度的算法是。

A.最先适应B.最高响应比优先

C.均衡资源调度D.优先数调度

5.两个进程争夺同一个资源。

A.一定死锁B.不一定死锁

C.只要互斥就不会死锁D.以上说法都不对

6.下列各项中,不是进程调度时机的是。

A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态

7.进程调度算法有多种,不是进程调度算法。

A.先来先服务调度算法B.最短查找时间优先调度算法

C.静态优先数调度算法D.时间片轮转调度算法

8.作业调度程序从状态的队列中选取适当的作业投入运行。

A.就绪B.提交C.等待D.后备

9.在实时操作系统中,经常采用调度算法来分配处理器。

A.先来先服务

B.时间片轮转

C.最高优先级

D.可抢占的优先级10.采用时间片轮转调度算法主要是为了。

A.多个终端都能得到系统的及时响应

B.先来先服务

C.优先权高的进程及时得到调度

D.需要CPU时间最短的进程先做

11.下面关于优先权大小的论述中,不正确的论述是。

A.计算型作业的优先权,应低于I/O型作业的优先权

B.系统进程的优先权应高于用户进程的优先权

C.资源要求多的作业,其优先权应高于资源要求少的作业

D.在动态优先权时,随着进程运行时间的增加,其优先权降低

12.产生死锁的原因是有关。

A.与多个进程竞争CPU

B.与多个进程释放资源

C.仅由于并发进程的执行速度不当

D.除资源分配策略不当外,也与并发进程执行速度不当

13.有关产生死锁的叙述中,正确的是。

A.V操作可能引起死锁B.P操作不会引起死锁

C.PV操作使用得当不会引起死锁D.以上说法均不正确

14.有关死锁的论述中,是正确的。

A.“系统中仅有一个进程进入了死锁状态”

B.“多个进程由于竞争CPU而进入死锁”

C.“多个进程由于竞争互斥使用的资源又互不相让而进入死锁”

D.“由于进程调用V操作而造成死锁”

15.有关资源分配图中存在环路和死锁关系,正确的说法是。

A.图中无环路则系统可能存在死锁

B.图中无环路则系统可能存在死锁,也可能不存在死锁

C.图中有环路则系统肯定存在死锁

D.图中有环路则系统可能存在死锁,也可能不存在死锁

16.“死锁”问题的讨论是针对的。

A.某个进程申请系统中不存在的资源

B.某个进程申请资源数超过了系统拥有的最大资源数

C.硬件故障

D.多个并发进程竞争独占型资源

17.考虑到公平对待进程和提高系统资源工作的并行度,操作系统会经常调整进程的优先级,通常应提高的进程优先级。

A.需计算时间长B.很少使用外设

C.使用CPU时间长D.启动外设次数多

18.实时系统中的进程调度,通常采用算法。

A.响应比高者优先B.短作业优先

C.时间片轮转D.抢占式的优先数高者优先

19.UNIX操作系统采用的进程调度算法为。

A、不可强占处理机的动态化先数调度算法

B、可强占处理机的动态化先数调度算法

C、不可强占处理机的静态优先数调度算法

D、可强占处理机的静态化先数调度算法

20.当进程调度采用最高优先级调度算法时,从保证系统效率的角度来看,应提高进程的优先级。

A.连续占用处理器时间长的B.在就绪队列中等待时间长的

C.以计算为主的D.用户

21.产生系统死锁的原因可能是由于。

A.进程释放资源B.一个进程进入死循环

C.多个进程竞争资源出现了循环等待D.多个进程竞争共享型设备

22.采用时间片轮转调度算法时,对不同的进程可以规定不同的时间片。一般来说,对进程给一个较小的时间片比较合适。

A.需运算时间长的B.需经常启动外设的

C.不需使用外设的D.排在就绪队列末尾的

23.对资源采用按序分配策略能达到的目的。

A.防止死锁B.避免死锁C.检测死锁D.解除死锁

24.一种既有利于短小作业又兼顾到长作业的作业调度算法是。

A.先来先服务B.轮转C.最高响应比优先D.均衡调度

25.在单处理器的多进程系统中,进程什么时候占用处理器和能占用多长时间,取决于

A.进程相应的程序段的长度B.进程总共需要运行时间多少

C.进程自身和进程调度策略D.进程完成什么功能

26.在解决死锁问题的方法中,属于“死锁避免”策略的是。

A.银行家算法B.死锁检测算法

C.资源有序分配法D.资源分配图化简法

27.系统出现死锁的原因是。

A.计算机系统出现了重大故障

B.有多个等待态的进程同时存在

C.若干进程因竞争资源而无休止地等待着它方释放已占有的资源

D.资源数大大少于进程数或进程同时申请的资源数大大超过资源总数

28.在操作系统中,所谓“死锁”是指。

A.程序死循环B.多个进程彼此等待资源而不能前进的状态

C.硬件故障D.时间片太短,进程的调进调出太频繁而效率太低

29.假设有三个进程竞争同类资源,如果每个进程需要2个该类资源,则至少需要提供该类资源_ 个,才能保证不会发生死锁。

A.3 B.4 C.5 D.6

30.以下不属于死锁的必要条件。

A.互斥使用资源B.占有并等待资源

C.不可抢夺资源D.静态分配资源

31.在为多个进程所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的也可能产生死锁。

A.进程优先权B.资源的静态分配

C.进程的推进顺序D.分配队列优先权

32.采用资源剥夺法可以解除死锁,还可以采用方法解除死锁。

A.执行并行操作B.撤消进程

C.拒绝分配新资源D.修改信号量

33.系统中有4个并发进程,都需要某类资源3个。试问该类资源最少为个时,不会因竞争该资源而发生死锁。

A.9 B.10 C.11 D.12

34.在下列解决死锁的方法中,不属于死锁预防策略的是。

A.资源的有序分配法B.资源的静态分配法

C.分配的资源可剥夺法D.银行家算法

35.分时系统中进程调度算法通常采用。

A.响应比高者优先B.时间片轮转法

C.先来先服务D.短作业优先

36.设有三个作业J1、J2、J3,它们的到达时间和执行时间如下表:

作业名到达时间执行时间

J1 8:00 2小时

J2 8:45 1小时

J3 9:30 0.25小时

它们在一台处理器上按单道运行,若采用短作业优先调度算法,则此三作业的执行次序是。

A.J3,J2,J1 B.J1,J2,J3

C.J1,J3,J2 D.J3,J1,J2

37.在下列作业调度算法中,可能引起作业长时间不能被装入执行的算法是。

A.FCFS算法B.计算时间短的作业优先算法

C.最高响应比优先算法D.动态优先数调度算法

39.在非抢占调度方式下,运行进程执行V原语后,其状态。

A.不变B.要变C.可能要变D.可能不变

40.在多进程的并发系统中,肯定不会因竞争而产生死锁。

A.打印机B.磁带机C.磁盘D.CPU

41.通常不采用方法来解除死锁。

A.终止一个死锁进程B.终止所有死锁进程

C.从死锁进程处抢夺资源D.从非死锁进程处抢夺资源

43.设系统中有P1、P2、P3三个进程,并按P1、P2、P3的优先次序调度运行,它们的内部计算和I/O操作时

间如下:

P1:计算60 ms —I/O 80 ms —计算20 ms P2:计算120 ms —I/O 40ms —计算40ms P3:计算40 ms —I/O 80ms —计算40ms

设调度程序执行时间忽略不计,完成这三个进程比单道运行节省的时间是 。 A .140ms B .160ms C .170ms D .180ms

44.有三个作业A 、B 、C ,它们的到达时间和执行时间依次为(8:50和1.5小时)、(9:00和0.4小时)、(9:30和1小

时)。当作业全部到达后,批处理单道系统按响应比高者优先算法进行调度,则作业被选中的次序为 。 A .(ABC) B .(BAC) C .(BCA) D .(CAB)

45.设系统中有n 个并发进程,竞争资源R ,且每个进程都需要m 个R 类资源,为使该系统不会因竞争该类资

源而死锁,资源R 至少要有 个。 A .n*m+1 B .n*m+n C .n*m+1-n D .无法预计 46.下列选项中,降低进程优先级的合理时机是 。(2010全国试题)

A .进程的时间片用完

B .进程刚完成I/O ,进入就绪队列

C .进程长期处于就绪队列中

D .进程从就绪队列转为运行状态 47.下列进程调度算法中,综合考虑进程等待时间和执行时间的是__________。(2009全国试题)

A .时间片轮转调度算法

B .短进程优先调度算法

C .先来先服务调度算法

D .高响应比优先调度算法

48.某计算机系统中有8台打印机,有k 个进程竞争使用,每个进程最多需要3台打印机。该系统可能会发

生死锁的k 的最小值是__________。(2009全国试题) A .2 B .3 C .4 D .5 49.进程调度的关键问题是 。

A .内存的分配

B .时间片的确定

C .调度算法的确定

D .I/O 设备的分配

50.下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是 。(2011全国试题)

A .先来先服务

B .高响应比优先

C .时间片轮转

D .非抢占式短任务优先 51.某时刻进程的资源使用情况如下表所示。

进程 已分配资源 尚需资源 可用资源 R1 R2 R3 R1 R2 R3 R1

R2

R3

P1 2 0 0 0 0 1 0

2

1

P2 1 2 0 1 3 2 P3 0 1 1 1 3 1 P4

1

2

此时的安全序列是 。

A .P1,P2,P3,P4

B .P1,P3,P2,P4

C .P1,P4,P3,P2

D .不存在

52.设有五个进程P0、P1、P2、P3、P4共享三类资源R1、R2、R3,这些资源总数分别为18、6、22,T0时刻

的资源分配情况如下表所示,此时存在的一个安全序列是 。(2012全国试题)

进程 已分配资源 资源最大需求

R1 R2 R3 R1 R2 R3 P0 3 2 3 5 5 10 P1 4 0 3 5 3 6 P2 4 0 5 4 0 11 P3 2 0 4 4 2 5 P4

3

1

4

4

2

4

A .P0,P2,P4,P1,P3

B .P1,P0,P3,P4,P2

C .P2,P3,P4,P1,P0

D .P3,P4,P2,P1,P0

53.一个多道批处理系统中仅有P1和P2两个作业,P2比P1晚5ms到达,它们的计算和I/O操作顺序如下:P1:计算60ms,I/O80ms,计算20ms

P2:计算120ms,I/O40ms,计算40ms

若不考虑调度和切换时间,则完成两个作业需要的时间最少是。(2012全国试题)

A.240ms B.260ms C.340ms D.360ms

54.某单处理器多进程系统中有多个就绪进程,则下列关于处理机调度的叙述中,错误的是。

A.在进程结束时能进行处理机调度

B.创建新进程后能进行处理机调度

C.在进程处于临界区时不能进行处理机调度

D.在系统调用完成并返回用户态时能进行处理机调度

选择题参考答案:

1.A 2.B 3.A 4.D 5.B 6.D 7.B 8.D 9.D 10.A 11.C 12.D 13.D 14.C 15.D 16.D 17.D 18.D 19.A 20.B 21.C 22.B 23.A 24.C 25.C 26.A 27.C 28.B 29.B 30.D 31.C 32.B 33.A 34.D 35.B 36.C 37.B 39.A 40.D 41.C 43.B 44.B 45.C 46.A 47.D 48.C 49.C 50.B 51.D 52.D 53.B 54.C

二.应用题

1.有一个具有两道作业的批处理系统(最多可有两道作业同时装入内存执行),作业调度采用计算时间短

的作业优先调度算法,进程调度采用以优先数为基础的抢占式调度算法,今有如下作业序列,作业优先数即为进程优先数,优先数越小优先级越高:

作业名到达时间估计运行时间优先数

J1 10 : 10 20分钟 5

J2 10 : 20 30分钟 3

J3 10 : 30 25分钟 4

J4 10 : 50 20分钟 6

(1)列出所有作业进入内存时间及结束时间。(2)计算平均周转时间。

解:先作必要的分析(可在草稿纸上完成,分析过程不计分):

10:10 J1被调入,开始运行

10:20 J2进入内存,因优先级高,开始运行

J1运行了10分钟,还剩10分钟,因优先级低,运行态变就绪态

10:30 J1继续就绪

J2运行了10分钟,还剩20分钟

J3到达,但不能被调入

10:50 J2运行结束,J4到达

调入短作业J4,但因J4优先级比J1低,J1开始继续运行

11:00 J1运行结束

J3被调入,因优先级高,开始运行

J4因优先级低,仍就绪

11:25 J3运行结束,J4开始运行

11:45 J4运行结束

(1)各个作业进入主存时间、结束时间和周转时间如下表所示:(6分)

作业名提交时间进入时间结束时间周转时间

J1 10:10 10:10 11:00 50

J2 10:20 10:20 10:50 30

J3 10:30 11:00 11:25 55

J4 10:50 10:50 11:45 55 (2)平均周转时间:(50+30+55+55)/4=47.5(min)

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

进程最大资源需求量已分配资源数量A B C A B C

P1 5 5 9 2 1 2

P2 5 3 6 4 0 2

P3 4 0 11 4 0 5

P4 4 2 5 2 0 4

P5 4 2 4 3 1 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

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

进程Work Need Allocation Work+Allocation Finish

P4 2 3 3 2 2 1 2 0 4 4 3 7 true

P2 4 3 7 1 3 4 4 0 2 8 3 9 true

P3 8 3 9 0 0 6 4 0 5 12 3 14 true

P5 12 3 14 1 1 0 3 1 4 15 4 18 true

P1 15 4 18 3 4 7 2 1 2 17 5 20 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为多少时,

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

解:最坏的情况是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

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

进程Work Need Allocation Work+Allocation Finish

D 1 0 2 0 0 0 1 0 1 1 0 1 2 1 2 1 true

A 2 1 2 1 1 1 0 0 3 0 1 1 5 1 3 2 true

B 5 1 3 2 0 1 1 2 0 1 0 0 5 2 3 2 true

C 5 2 3 2 3 1 0 0 1 1 1 0 6 3 4 2 true

E 6 3 4 2 2 1 1 0 0 0 0 0 6 3 4 2 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

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

进程Work Need Allocation Work+Allocation Finish

D 1 0 1 0 0 0 1 0 1 1 0 1 2 1 1 1 true

A 2 1 1 1 1 1 0 0 3 0 1 1 5 1 2 2 true

B 5 1 2 2 0 1 0 2 0 1 1 0 5 2 3 2 true

C 5 2 3 2 3 1 0 0 1 1 1 0 6 3 4 2 true

E 6 3 4 2 2 1 1 0 0 0 0 0 6 3 4 2 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个,请按银行家算法回答下列问题:

进程

已占资源最大需求数

A B C D A B C D

P1 0 0 1 2 0 0 1 2

P2 1 0 0 0 1 7 5 0

P3 1 3 5 4 2 3 5 6

P4 0 6 3 2 0 6 5 2

P5 0 0 1 4 0 6 5 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

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

进程Work Need Allocation Work+Allocation Finish

P1 1 5 2 0 0 0 0 0 0 0 1 2 1 5 3 2 true

P3 1 5 3 2 1 0 0 2 1 3 5 4 2 8 8 6 true

P2 2 8 8 6 0 7 5 0 1 0 0 0 3 8 8 6 true

P4 3 8 8 6 0 0 2 0 0 6 3 2 3 14 11 8 true

P5 3 14 11 8 0 6 4 2 0 0 1 4 3 14 12 12 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

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 20 30 30

B 14 20 20

C 12 14 14

D 8 12 12

E 0 8 8

平均周转时间为(30+20+14+12+8)/5=84/5=16.8(ms)

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

进程开始运行时间完成时间周转时间

A 20 30 30

B 6 12 12

C 0 2 2

D 2 6 6

E 12 20 20

平均周转时间为(30+12+2+6+20)/5=70/5=14 (ms)

8.假定某系统当时的资源分配图如图3-2所示:

图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个进程对资源的占用和需求情况

最大资源需求量Max 已分配资源量Allocation R1 R2 R3 R1 R2 R3 P1 3 2 2 1 0 0 P2 6 1 3 4 1 1 P3 3 1 4 2 1 1 P4

4

2

2

2

解:(1) 系统中资源总数是可用资源数与各进程已分配资源数之和,即

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

?????

???????=????????????-????????????02

4

301202222

20

112114001

22

4

413316223 (2) 若此时P1发出资源请求Request 1 (1, 0, 1),按银行家算法进行检查:

Request 1 (1, 0, 1)≤Need 1 (2, 2, 2) Request 1 (1, 0, 1)≤Available (2, 1, 2)

试分配并修改相应的数据结构,资源分配情况如下: 进程 Allocation Need Available P1 2 0 1 1 2 1 1 1 1 P2 4 1 1 2 0 2 P3

2

1

1

1

3

P4 0 0 2 4 2 0

利用安全性检查算法检查,可知可用资源向量(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)

试分配并修改相应的数据结构,资源分配情况如下:

进程Allocation Need Available

P1 1 0 0 2 2 2 1 1 1

P2 5 1 2 1 0 1

P3 2 1 1 1 0 3

P4 0 0 2 4 2 0

利用安全性检查算法,可得此时刻的安全性分析情况如下:

进程Work Need Allocation Work+Allocation Finish

P2 1 1 1 1 0 1 5 1 2 6 2 3 true

P3 6 2 3 1 0 3 2 1 1 8 3 4 true

P4 8 3 4 4 2 0 0 0 2 8 3 6 true

P1 8 3 6 2 2 2 1 0 0 9 3 6 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,为下次I/O作准备工作,并启动外设。当设备被启动后,它便主动交出CPU,由系统将CPU分配给计算型进程,从而使CPU与I/O设备并行操作,获得较好的运行效率。

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

第3章死锁习题及答案

第三章死锁习题 一、填空题 1.进程的“同步”和“互斥”反映了进程间①和②的关系。 【答案】①直接制约、②间接制约 【解析】进程的同步是指在异步环境下的并发进程因直接制约而互相发送消息,进行相互合作、相互等待,使得各进程按一定的速度执行的过程;而进程的互斥是由并发进程同时共享公有资源而造成的对并发进程执行速度的间接制约。 2.死锁产生的原因是①和②。 【答案】①系统资源不足、②进程推进路径非法 【解析】死锁产生的根本原因是系统的资源不足而引发了并发进程之间的资源竞争。由于资源总是有限的,我们不可能为所有要求资源的进程无限地提供资源。而另一个原因是操作系统应用的动态分配系统各种资源的策略不当,造成并发进程联合推进的路径进入进程相互封锁的危险区。所以,采用适当的资源分配算法,来达到消除死锁的目的是操作系统主要研究的课题之一。 3.产生死锁的四个必要条件是①、②、③、④。 【答案】①互斥条件、②非抢占条件、③占有且等待资源条件、④循环等待条件 【解析】 互斥条件:进程对它所需的资源进行排它性控制,即在一段时间内,某资源为一进程所独占。 非抢占条件:进程所获得的资源在未使用完毕之前,不能被其它进程强行夺走,即只能由获得资源的进程自己释放。 占有且等待资源条件:进程每次申请它所需的一部分资源,在等待新资源的同时,继续占有已分配到的资源, 循环等待条件:存在一进程循环链,链中每一个进程已获得的资源同时被下一个进程所请求。 4.在操作系统中,信号量是表示①的物理实体,它是一个与②有关的整型变量,其值仅能由③原语来改变。 【答案】①资源,②队列,③P-V 【解析】信号量的概念和P-V原语是荷兰科学家E.W.Dijkstra提出来的。信号量是一个特殊的整型量,它与一个初始状态为空的队列相联系。信号量代表了资源的实体,操作系统利用它的状态对并发进程共享资源进行管理。信号量的值只能由P-V原语来改变。 5.每执行一次P原语,信号量的数值S减1。如果S>=0,该进程①;若S<0,则②该进程,并把它插入该③对应的④队列中。 【答案】①继续执行,②阻塞(等待),③信号量,④阻塞(等待) 【解析】从物理概念上讲,S>0时的数值表示某类资源可用的数量。执行一次P原语,意味着请求分配一个单位的资源,因此描述为S=S-1。当S<0时,表示已无资源,这时请求资源的进程将被阻塞,把它排在信号量S的等待队列中。此时,S的绝对值等于信号量队列上的阻塞的进程数目。 6.每执行一次V原语,信号量的数值S加1。如果①,Q进程继续执行;如果S<=0,则从对应的②队列中移出一个进程R,该进程状态变为③。 【答案】①S>0,②等待,③就绪 【解析】执行一次V原语,意味着释放一个单位的资源。因此,描述为S=S+1。当S<0时,表示信号量请求队列中仍然有因请求该资源而被阻塞的进程。因此,应将信号量对应的阻塞队列中的第一个进程唤醒,使之转至就绪队列。 7.利用信号量实现进程的①,应为临界区设置一个信号量mutex。其初值为②,表示该资源尚未使用,临界区应置于③和④原语之间。

操作系统第3章练习题

第3章处理机调度与死锁 3.1 典型例题解析 【例1】(1)3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问系统是否会因为竞争该资源而死锁?(2)n个进程共享m个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于m+n。说明该系统不会因竞争该类资源而阻塞。(3)在(2)中,如果没有“每个进程都需要用该类资源”的限制,情况又会如何?(西北工业大学2000年考题) 答:(1)该系统不会因为竞争该类资源而死锁。因为,必有一个进程可获得2个资源,故能顺利完成,并释放出其所占用的2个资源给其他进程使用,使它们也顺利完成。 (2)用Max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知: need(i)>0(对所有的i) max(1)+…max(i)+…+max(n)

处理机调度与死锁练习题

第三章处理机调度与死锁 一、单项选择题 1.在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的________也可能产生死锁。 A. 进程优先权 B.资源的线性分配 C.进程推进顺序 D.分配队列优先权 3.产生死锁的四个必要条件是:互斥、__________、循环等待和不剥夺。 A. 请求与阻塞 B.请求与保持 C. 请求与释放 D.释放与阻塞 4.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏___________条件是不太实际的。 A. 互斥 B.不可抢占 C.部分分配 D.循环等待 5.在分时操作系统中,进程调度经常采用 ________________算法。 A. 先来先服务 B.最高优先权 C. 时间片轮转 D.随机 条件。______________资源的按序分配策略可以破坏. 6.

A. 互斥使用资源 B.占有且等待资源 C. 非抢夺资源 D. 循环等待资源 7.在_____________的情况下,系统出现死锁。 A. 计算机系统发生了重大故障 B.有多个封锁的进程同时存在 C. 若干进程因竞争资源而无休止地相互等待他方释放已占有的资源 D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数 8.银行家算法是一种________________算法。 A. 死锁解除 B.死锁避免 C. 死锁预防 D.死锁检测 9.当进程数大于资源数时,进程竞争资源___________会产生死锁。 A. 一定 B.不一定 10._________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A. 先来先服务 B.静态 C. 动态 D. 短作业

上课用-处理机调度与死锁习题

第三章处理机调度与死锁 一.选择题 1.下列算法中,操作系统用于作业调度的算法是。 A.先来先服务算法B.先进先出算法 C.最先适应算法D.时间片轮转算法 2.在批处理系统中,周转时间是指。 A.作业运行时间B.作业等待时间和运行时间之和 C.作业的相对等待时间 D.作业被调度进入内存到运行完毕的时间 3.在作业调度中,排队等待时间最长的作业被优先调度,这是指调度算法。 A.先来先服务B.短作业优先 C.响应比高优先D.优先级 4.下列算法中,用于进程调度的算法是。 A.最先适应B.最高响应比优先 C.均衡资源调度D.优先数调度 5.两个进程争夺同一个资源。 A.一定死锁B.不一定死锁 C.只要互斥就不会死锁 D.以上说法都不对 6.下列各项中,不是进程调度时机的是。 A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态 C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态 7.进程调度算法有多种,不是进程调度算法。 A.先来先服务调度算法B.最短查找时间优先调度算法 C.静态优先数调度算法 D.时间片轮转调度算法 8.作业调度程序从状态的队列中选取适当的作业投入运行。 A.就绪B.提交C.等待D.后备 9.在实时操作系统中,经常采用调度算法来分配处理器。 A.先来先服务 B.时间片轮转 C.最高优先级 D.可抢占的优先级10.采用时间片轮转调度算法主要是为了。 A.多个终端都能得到系统的及时响应B.先来先服务 C.优先权高的进程及时得到调度D.需要CPU时间最短的进程先做 11.下面关于优先权大小的论述中,不正确的论述是。 A.计算型作业的优先权,应低于I/O型作业的优先权 B.系统进程的优先权应高于用户进程的优先权 C.资源要求多的作业,其优先权应高于资源要求少的作业 D.在动态优先权时,随着进程运行时间的增加,其优先权降低 12.产生死锁的原因是有关。 A.与多个进程竞争CPU B.与多个进程释放资源 C.仅由于并发进程的执行速度不当 D.除资源分配策略不当外,也与并发进程执行速度不当 13.有关产生死锁的叙述中,正确的是。 A.V操作可能引起死锁 B.P操作不会引起死锁 C.PV操作使用得当不会引起死锁D.以上说法均不正确

计算机操作系统习题及答案.

第5章死锁 1)选择题 (1)为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的_C__ 也可能产生死锁。 A. 进程优先权 B. 资源的线性分配 C. 进程推进顺序 D. 分配队列优先权 (2)采用资源剥夺法可以解除死锁,还可以采用_B___ 方法解除死锁。 A. 执行并行操作 B. 撤消进程 C. 拒绝分配新资源 D. 修改信号量 (3)发生死锁的必要条件有四个,要防止死锁的发生,可以通过破坏这四个必要条件之一来实现,但破坏_A__ 条件是不太实际的。 A. 互斥 B. 不可抢占 C. 部分分配 D. 循环等待 (4)为多道程序提供的资源分配不当时,可能会出现死锁。除此之外,采用不适当的_ D _ 也可能产生死锁。 A. 进程调度算法 B. 进程优先级 C. 资源分配方法 D. 进程推进次序 (5)资源的有序分配策略可以破坏__D___ 条件。 A. 互斥使用资源 B. 占有且等待资源 C. 非抢夺资源 D. 循环等待资源 (6)在__C_ 的情况下,系统出现死锁。 A. 计算机系统发生了重大故障 B. 有多个封锁的进程同时存在 C. 若干进程因竞争资源而无休止地相互等待他方释放已占有的资源 D. 资源数大大小于进程数或进程同时申请的资源数大大超过资源总数 (7)银行家算法在解决死锁问题中是用于_B__ 的。 A. 预防死锁 B. 避免死锁 C. 检测死锁 D. 解除死锁 (8)某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是_C__ 。 A. 12 B. 11 C. 10 D. 9 (9)死锁与安全状态的关系是_A__ 。 A. 死锁状态一定是不安全状态 B. 安全状态有可能成为死锁状态 C. 不安全状态就是死锁状态 D. 死锁状态有可能是安全状态

第2章 调度与死锁自测题

4.4 调度与死锁自测题 4.4.1 基本题 一、判断题(正确的在括号中记√,错误的记×) 1.死锁就是循环等待。 ( ) 2.最适合分时系统的进程调度算法是优先数法。() 3.不存在只涉及一个进程的死锁。 ( ) 4. 在分时系统中当用户数一定时,影响响应时间的主要因素是调度算法。( ) 5.若系统中每一资源类只有一个,只要系统存在任何环路,系统状态就是不安全的。 ( ) 6.多级反馈调度算法属于抢占调度方式。() 7.死锁是多个进程为竞争系统资源或彼此间通信而引起的一种临时性的阻塞现象。 ( ) 8.在引入线程的系统中进程程调度负责CPU的分配工作。() 9.当进程数大于资源数时,进程竞争资源一定会产生死锁。() 10.实时调度的关键是保证满足实时任务对截止时间的要求。() 1. Χ 2. Χ 3.√ 4. Χ 5.√ 6. √ 7. Χ 8. Χ 9. Χ 10. √ 二、选择题 1.在三种基本类型的操作系统中,都设置了进程调度,在批处理系统中还应设置______调度。 A.作业 B.进程 C.中级 D.多处理机 2.下列算法中,_______只能采用非抢占调度方式。 A.高优先权优先法 B.时间片轮转法 C.FCFS调度算法 D.短作业优先算法 3.下面关于优先权大小的论述中,正确的论述是_____________。 A.计算型作业的优先权,应高于I/O型作业的优先权。 B.用户进程的优先权,应高于系统进程的优先权。 C.资源要求多的作业,其优先权应高于资源要求少的作业。 D.在动态优先权时,随着进程执行时间的增加,其优先权降低。 4.最适合分时系统的进程调度算法是______。 A、FCFS B、SSJF C、优先数法 D、轮转法 5.在分时系统中当用户数一定时,影响响应时间的主要因素是_____。 A、时间片 B、调度算法 C、存储分配方式 D、作业的大小 6.采用“按序分配”策略,可以破坏死锁产生的条件是______。 A、互斥 B、请求和保持 C、非剥夺 D、环路等待 7.下述解决死锁的方法中,属于死锁预防策略的是____________。 A.银行家算法 B.资源有序分配法 C.资源分配图化简法 D.撤消进程法 8.从下面关于安全状态和非安全状态的论述中,正确的论述是________。 A.安全状态是没有死锁的状态,非去全状态是有死锁的状态。 B.安全状态是可能有死锁的状态,非安全状态也是可能有死锁的状态。 C.安全状态是可能没有死锁的状态,非安全状态是有死锁的状态。 D.安全状态是没有死锁的状态,非安全状态是可能有死锁的状态。 9.关于产生死锁的现象,下面的描述最准确是__________。 A.每个进程共享某一个资源 B.每个进程竞争某一个资源 C.每个进程等待着某一个不能得到且不可释放的资源

第三章处理机调度与死锁 (2)

考点一调度的基本概念和基本准则 一、单项选择题 1.假设就绪队列中有10个进程,系统将时间片设为200ms,CPU进行进程切换要花费10ms。则系统开销所占的比率约为()。 A.1% B.5% C.10% D.20% 2.下面关于进程的叙述不正确的是()。 A.进程申请CPU得不到满足时,其状态变为就绪状态 B.在单CUP系统中,任一时刻有一个进程处于运行状态 C.优先级是进行进程调度的重要证据,一旦确定不能改变 D.进程获得处理机而运行的是通过调度实现的 二、综合应用题 1.分析调度的三种形式:短期调度、中期调度和长期调度的差别。 2.引起进程调度的原因有哪些? 3.高级调度与低级调度的主要任务是什么?为什么要引入中级调度? 4.选择调度方式和调度算法时,应遵循的准则是什么? 5.下列问题应由哪一些调度程序负责? (1)发生时间片中断后,决定将处理机分给哪一个就绪进程? (2)在短期繁重负荷情况下,应将哪个进程挂起? (3)一个作业运行结束后,从后备作业队列中选具备能够装入内存的作业。 6.CPU调度算法决定了进程执行的顺序。若有n 个进程需要调度,有多少种可能的调度算法顺序? 7.有些系统如MS-DOS没有提供并发处理手段。引入并发处理会导致操作系统设计的复杂性。试分析引入并发处理后导致的操作系统设计的三个主要的复杂性。 8.说明抢占式调度与非抢占式调度的区别。为什么说计算中心不适合采用非抢占式调度? 考点二典型调度算法 一、单项选择题 1.以下哪一种说法对剥夺式系统来讲结论正确()。 A.若系统采用轮转法调度进程,则系统采用的是剥夺式调度。 B.若现行进程要等待某一事件时引起调度,则该系统是剥夺式调度。 C.实时系统通常采用剥夺式调度。 D.在剥夺式系统中,进程的周转时间较之非剥夺式系统可预见。 2.既考虑作业的等待时间又考虑作业的执行时间的调度算法是()。 A.相应比高者优先 B.端作业优先 C.优先级调度 D.先来先服务 3.关于作业优先权大小的论述中,正确的论述是()。 A.计算型作业的优先级,应高于I/O型作业的优先权。 B.用户进程的优先权,应高于系统进程的优先权。 C.长作业的优先权,应高于短作业的优先权。 D.资源要求多的作业,其优先权应高于资源要求少的作业。 E.在动态优先权中,随着作业等待时间的增加,其优先权将随之下降。 F.在动态优先权中,随着进程执行时间的增加,其优先权降低。 二、综合应用题 1.设有一组进程,它们需要占用CPU的时间及优先级如下所示:

第三章 处理机调度与死锁习题课

第三章处理机调度与死锁 1、系统出现死锁是因为(若干进程因竞争资源而无休止的等待着其他进程释放已占有的资 源)。 2、某系统中有5个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是(11 )。 3、发生死锁现象的原因有____竞争资源_________和____进程推进顺序非法________。 通常不采用( 从非死锁进程处抢夺资源)方法来解除死锁。 4、某系统中有4个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是( 9 )。 5、死锁产生的4个必要条件是:互斥、不可剥夺、_____________请求和保持_________ 和环路等待条件。 6、作业在系统中存在与否的唯一标志是作业控制块 7、某计算机系统中有8台打印机,有K个进程竞争使用,每个进程最多需要3台打印机.该系统可能会发生死锁的K的最小值是( 4 ) 8、产生系统死锁的原因可能是由于(多个进程竞争资源出现了循环等待) 9、系统中有3个进程,每个进程需2台打印机,如果系统配有4台打印机,则系统______不可能________出现死锁的情况(本题要判断出现死锁的可能性:可能或不可能)。 10、什么是死锁?产生死锁的必要条件是什么?处理死锁的基本方法有哪些? 答:死锁是两个或两个以上进程由于竞争资源而处于的僵持状态,在这种僵持状态下若没有外力作用,所有进程都无法正常向前推进。( 必要条件:(1)互斥条件(2)请求和保持条件(3)不剥夺条件(4)环路等待条件处理方法:预防死锁、避免死锁、检测死锁、解除死锁。 11、死锁定理的含义是什么?试简化下图进程-资源图,并利用死锁定理给出相应的结论。 P1 R1 R2 P2 答:死锁定理:当且仅当资源分配图是不可完全简化的。 R1资源有3个,R2资源有2个;P1进程:占有2个R1,申请1个R2;P2进程占有1个R1,1个R2,申请1个R1;目前系统只有一个R2空闲;P1是一个既不孤立又不阻塞的进程,消去P1的边,有2个R1,1个R2空闲,能满足P2申请,使P2成为既不孤立又不阻塞的进程,所以消去P2的边,由死锁定理知,不会产生死锁。

操作系统死锁练习及答案

死锁练习题 (一)单项选择题 l系统出现死锁的根本原因是( )。A.作业调度不当B.系统中进程太多C.资源的独占性D.资源管理和进程推进顺序都不得当 2.死锁的防止是根据( )采取措施实现的。A.配置足够的系统资源B.使进程的推进顺序合理C.破坏产生死锁的四个必要条件之一D.防止系统进入不安全状态 3.采用按序分配资源的策略可以防止死锁.这是利用了使( )条件不成立。A.互斥使用资源B循环等待资源c.不可抢夺资源D.占有并等待资源 4.可抢夺的资源分配策略可预防死锁,但它只适用于( )。A.打印机B.磁带机c.绘图仪D.主存空间和处理器 5.进程调度算法中的( )属于抢夺式的分配处理器的策略。A.时间片轮转算法B.非抢占式优先数算法c.先来先服务算法D.分级调度算法 6.用银行家算法避免死锁时,检测到( )时才分配资源。A.进程首次申请资源时对资源的最大需求量超过系统现存的资源量B.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量c.进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足尚需的最大资源量D进程已占用的资源数与本次申请的资源数 之和不超过对资源的最大需求量,且现存资源能满足本次申请量,但不能满足尚需的最大资源量 7.实际的操作系统要兼顾资源的使用效率和安全可靠,对资源的分配策略,往往采用( )策略。A死锁的防止B.死锁的避免c.死锁的检测D.死锁的防止、避免和检测的混合(二)填空题 l若系统中存在一种进程,它们中的每一个进程都占有了某种资源而又都在等待其中另一个进程所占用的资源。这种等待永远不能结束,则说明出现了______。2.如果操作系统对 ______或没有顾及进程______可能出现的情况,则就可能形成死锁。3.系统出现死锁的四

处理机调度与死锁作业题

第三章处理机调度与死锁作业 一、判断题 1、先来先服务(FCFS)算法是一种简单的调度算法,但其效率比较高。(错) 2、FCFS调度算法对短作业有利。(错) 3、时间片的大小对轮转法(RR)的性能有很大的影响,时间片太短,会导致系统开销大大增加。(对) 二、选择题 1、在进行作业调度时,要想兼顾作业等待时间和作业执行时间,应选取(C)。 A.轮转法 B.先进先出调度算法 C.响应比高优先算法 D.短作业优先调度 2、若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许(D)个进程参于竞争,而不会发生死锁。 A、5 B、2 C、3 D、4 解析:由于系统资源总共只有5台,若有5个进程参与竞争,每个进程在拥有一台打印机后,由于都需要两台打印机,所有进程都不能向前推进,假设又都不愿意放弃已申请到的打印机,系统便进入死锁状态,若有4个进程参与竞争,每个进程拥有一台打印机后,任意一个进程在获得剩余的一台打印机后就可以运行,在该进程运行完后,释放拥有的两台打印机,其他3个进程就可以顺利推进,完成各自任务。 3、在进程资源图中( C )是发生死锁的必要条件。 A.互斥 B.可剥夺件 C.环路 D.同步 三、填空题 1、在响应比最高者优先的作业调度算法中,当各个作业等待时间相同时,计算时间短的作业将得到优先调度;当各个作业要求运行的时间相同时,等待时间长的作业得到优先调度。 2、分时系统采用的调度方法是时间片轮转调度算法。在分时系统中,当用户数目为100时,为保证响应时间不超过2秒,此时时间片最大应为20ms。 3、有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2和T3,且T1

第三章习题(处理机调度与死锁)

一、单项选择题 1.在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的 c 也可能产生死锁。 A.进程优先权 B.资源的线性分配 C.进程推进顺序 D. 分配队列优先权 2.采用资源剥夺法可解除死锁,还可以采用 b 方法解除死锁。 A.执行并行操作 B.撤消进程 C.拒绝分配新资源 D.修改信号量 3.产生死锁的四个必要条件是:互斥、 b 、循环等待和不剥夺。 A. 请求与阻塞 B.请求与保持 C. 请求与释放 D.释放与阻塞 4.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏 a 条件是不太实际的。 A. 互斥 B.不可抢占 C. 部分分配 D.循环等待 5.在分时操作系统中,进程调度经常采用 c 算法。 A.先来先服务 B.最高优先权 C.时间片轮转 D.随机 6.资源的按序分配策略可以破坏 D 条件。 A. 互斥使用资源 B.占有且等待资源 C.非抢夺资源 D. 循环等待资源 7.在 C 的情况下,系统出现死锁。 A. 计算机系统发生了重大故障 B.有多个封锁的进程同时存在 C.若干进程因竞争资源而无休止地相互等待他方释放已占有的资源 D.资源数大大小于进程数或进程同时申请的资源数大大超过资源总数 8.银行家算法是一种 B 算法。 A.死锁解除 B.死锁避免 C.死锁预防 D. 死锁检测 9.当进程数大于资源数时,进程竞争资源 B 会产生死锁。 A.一定 B.不一定 10. B 优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A.先来先服务 B.静态 C.动态 D.短作业 11. 某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是 B A.9 B.10 C.11 D.12 答:B 13.当检测出发生死锁时,可以通过撤消一个进程解除死锁。上述描述是 B 。 A. 正确的 B.错误的 14.在下列解决死锁的方法中,属于死锁预防策略的是 B 。 A. 银行家算法 B. 资源有序分配法 C.死锁检测法 D.资源分配图化简法 15.以下叙述中正确的是 B 。 A. 调度原语主要是按照一定的算法,从阻塞队列中选择一个进程,将处理机分配 给它。 B.预防死锁的发生可以通过破坏产生死锁的四个必要条件之一来实现,但破坏互斥条件的可能性不大。 C.进程进入临界区时要执行开锁原语。 D.既考虑作业等待时间,又考虑作业执行时间的调度算法是先来先服务算法。

《操作系统原理》5资源管理(死锁)习题

第五章死锁练习题 (一)单项选择题 1.系统出现死锁的根本原因是( )。 A.作业调度不当B.系统中进程太多C.资源的独占性D.资源管理和进程推进顺序都不得当 2.死锁的防止是根据( )采取措施实现的。 A.配置足够的系统资源B.使进程的推进顺序合理 C.破坏产生死锁的四个必要条件之一D.防止系统进入不安全状态 3.采用按序分配资源的策略可以防止死锁.这是利用了使( )条件不成立。 A.互斥使用资源B循环等待资源C.不可抢夺资源D.占有并等待资源 4.可抢夺的资源分配策略可预防死锁,但它只适用于( )。 A.打印机B.磁带机C.绘图仪D.主存空间和处理器 5.进程调度算法中的( )属于抢夺式的分配处理器的策略。 A.时间片轮转算法B.非抢占式优先数算法C.先来先服务算法D.分级调度算法 6.用银行家算法避免死锁时,检测到( )时才分配资源。 A.进程首次申请资源时对资源的最大需求量超过系统现存的资源量 B.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量 C.进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足尚需的最大资源量 D进程已占用的资源数与本次申请的资源数之和不超过对资源的最大需求量,且现存资源能满足本次申请量,但不能满足尚需的最大资源量 7.实际的操作系统要兼顾资源的使用效率和安全可靠,对资源的分配策略,往往采用( )策略。 A死锁的防止B.死锁的避免C.死锁的检测D.死锁的防止、避免和检测的混合 (二)填空题 1.若系统中存在一种进程,它们中的每一个进程都占有了某种资源而又都在等待其中另一个进程所占用的资源。这种等待永远不能结束,则说明出现了______。 2.如果操作系统对______或没有顾及进程______可能出现的情况,则就可能形成死锁。 3.系统出现死锁的四个必要条件是:互斥使用资源,______,不可抢夺资源和______。 4.如果进程申请一个某类资源时,可以把该类资源中的任意一个空闲资源分配给进程,则说该类资源中的所有资源是______。 5.如果资源分配图中无环路,则系统中______发生。 6.为了防止死锁的发生,只要采用分配策略使四个必要条件中的______。 7.使占有并等待资源的条件不成立而防止死锁常用两种方法:______和______. 8静态分配资源也称______,要求每—个进程在______就申请它需要的全部资源。 9.释放已占资源的分配策略是仅当进程______时才允许它去申请资源。 10.抢夺式分配资源约定,如果一个进程已经占有了某些资源又要申请新资源,而新资源不能满足必须等待时、系统可以______该进程已占有的资源。 11.目前抢夺式的分配策略只适用于______和______。 12.对资源采用______的策略可以使循环等待资源的条件不成立。 13.如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于______。14.只要能保持系统处于安全状态就可______的发生。 15.______是一种古典的安全状态测试方法。 16.要实现______,只要当进程提出资源申请时,系统动态测试资源分配情况,仅当能确保系统安全时才把资源分配给进程。

进程调度与死锁部分练习题

第三章进程调度与死锁练习题 (一)单项选择题 1.为了根据进程的紧迫性做进程调度,应采用(B )。 A.先来先服务调度算法 B. 优先数调度算法 C.时间片轮转调度法 D.分级调度算法 2.采用时间片轮转法调度是为了( A)。 A.多个终端都能得到系统的及时响应 B.先来先服务 C. 优先数高的进程先使用处理器 D.紧急事件优先处理 3.采用优先数调度算法时,对那些具有相同优先数的进程再按( A )的次序分配处理器。 A 先来先服务 B. 时间片轮转 C. 运行时间长短 D.使用外围设备多少 4. 当一进程运行时,系统强行将其撤下,让另一个更高优先数的进程占用处理器,这种调度方式是( B )。 A. 非抢占方式 B.抢占方式 C. 中断方式 D.查询方式 5.( B)必定会引起进程切换。 A.一个进程被创建后进入就绪态 B.一个进程从运行态变成阻塞态 C.一个进程从阻塞态变成就绪态 6.( B)只考虑用户估计的计算机时间,可能使计算时间长的作业等待太久。 A.先来先服务算法 B.计算时间短的作业优先算法 C.响应比最高者优先算法 D.优先数算法 7.先来先服务算法以( A )去选作业,可能会使计算时间短的作业等待时间过长。A.进入的先后次序 B.计算时间的长短 C.响应比的高低 D.优先数的大小8.可以证明,采用( C )能使平均等待时间最小。 A.优先数调度算法 B.均衡调度算法 C.计算时间短的作业优先算法 D.响应比最高者优先算法

9.在进行作业调度时.要想兼顾作业等待时间和计算时间,应选取(D )。 A均衡调度算法 B.优先数调度算法 C.先来先服务算法 D.响应比最高者优先算法 10.作业调度算法提到的响应比是指( B )。 A.作业计算时间与等待时间之比 B.作业等待时间与计算时间之比 C.系统调度时间与作业等待时间之比 D.作业等待时间与系统调度时间之比 11.作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( D )来决定。 A.设备管理 B.作业控制 C.驱动调度 D.进程调度 12.系统出现死锁的根本原因是( D )。 A.作业调度不当 B.系统中进程太多 C.资源的独占性 D.资源竞争和进程推进顺序都不得当 13.死锁的防止是根据( C )采取措施实现的。 A.配置足够的系统资源 B.使进程的推进顺序合理 C.破坏产生死锁的四个必要条件之一 D.防止系统进入不安全状态 14.采用按序分配资源的策略可以防止死锁.这是利用了使( B)条件不成立。 A.互斥使用资源 B.循环等待资源 C.不可抢夺资源 D.占有并等待资源 15.可抢夺的资源分配策略可预防死锁,但它只适用于(D )。 A.打印机 B.磁带机 C.绘图仪 D.主存空间和处理器 16.进程调度算法中的( A )属于抢夺式的分配处理器的策略。 A.时间片轮转算法 B.非抢占式优先数算法 C.先来先服务算法 D.分级调度算法 17.用银行家算法避免死锁时,检测到(C )时才分配资源。 A.进程首次申请资源时对资源的最大需求量超过系统现存的资源量 B.进程己占用的资源数与本次申请资源数之和超过对资源的最大需求量

处理机调度与死锁习题课

第三章 处理机调度与死锁 1、系统出现死锁是因为 (若干进程因竞争资源而无休止的等待着其他进程释放已占有的资源)。 2、某系统中有5个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是( 11 )。 3、发生死锁现象的原因有____竞争资源_________和____进程推进顺序非法________。 通常不采用( 从非死锁进程处抢夺资源 )方法来解除死锁。 4、某系统中有4个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是( 9 )。 5、死锁产生的4个必要条件是: 互斥 、 不可剥夺 、_____________请求和保持_________ 和环路等待条件。 6、作业在系统中存在与否的唯一标志是作业控制块 7、某计算机系统中有8台打印机,有K 个进程竞争使用,每个进程最多需要3台打印机.该系统可能会发生死锁的K 的最小值是( 4 ) 8、产生系统死锁的原因可能是由于 (多个进程竞争资源出现了循环等待) 9、系统中有3个进程,每个进程需2台打印机,如果系统配有4台打印机,则系统______不可能________出现死锁的情况(本题要判断出现死锁的可能性:可能或不可能)。 10、什么是死锁产生死锁的必要条件是什么处理死锁的基本方法有哪些 答:死锁是两个或两个以上进程由于竞争资源而处于的僵持状态,在这种僵持状态下若没有外力作用,所有进程都无法正常向前推进。( 必要条件:(1)互斥条件(2)请求和保持条件(3)不剥夺条件(4)环路等待条件 处理方法:预防死锁、避免死锁、检测死锁、解除死锁。 11、死锁定理的含义是什么试简化下图进程-资源图,并利用死锁定理给出相应的结论。 答:死锁定理:当且仅当资源分配图是不可完全简化的。 R1资源有3个,R2资源有2个;P1进程:占有2个R1,申请1个R2;P2进程占有1个R1,1个R2,申请1个R1;目前系统只有一个R2空闲;P1是一个既不孤立又不阻塞的进程,消去P1的边,有2个R1,1个R2空闲,能满足P2申请,使P2成为既不孤立又不阻塞的进程,所以消去P2的边,由死锁定理知,不会产生死锁。 R1 R2

第5章 死锁 练习题参考答案

第五章死锁练习题参考答案 (一)单项选择题 1.D 2.C 3.B 4.D 5.A 6.C 7.D (二)填空题 1.死锁2.资源管理不得当,并发执行时3.占有并等待资源,循环等待资源4.等价的5.没有死锁6.一个条件不成立7.静态分配资源,释放已占资源8.预分配资源.开始执行前9.没有占用资源10.抢夺11.主存空间,处理器12.按序分配13安全状态14.避免死锁15.银行家算法16.死锁的避免17.n(x- 1)+l<=m 18.死锁检测方法19判断系统,解除死锁20.占用表,等待表21.尚需量,剩余量22终止,抢夺资源23.校验点24.防止,检测 (三)简答题 1.若系统中存在一组进程、它们中的每—个进程都占用了某种资源而又都在等待其中另一个进程所占的资源,这种等待永远不能结束,则说明系统出现了死锁。产生死锁的原因有两个:一是操作系统对资源的管理不当,二是没有顾及进程并发执行时可能出现的情况。 2.采用某些资源分配策略使死锁的四个必要条件之一不成立,就能防止死锁。除第一个条件互斥使用资源没有对应策略外,对占有并等待资源、不可抢夺资源和循环等待资源这三个条件可采用静态分配资源,释放已占资源,抢夺式分配资源和按序分配资源等资源分配策略。 3.如果操作系统能保证所有的进程在有限的时间内得到需要的全部资源,则称系统处于安全状态。常用银行家算法动态地检测系统中的资源分配情况和进程对资源的需求情况进行资源分配,确保系统处于安全状态。 4解决死锁问题有以下三种方法:(1)死锁的防止。系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。(2)死锁的避免。系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。(3)死锁的检测。对资源的申请和分配不加限制,只要有剩余的资源就可把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。5.用抢夺资源的方式解除死锁时要注意三点:(1)抢夺进程资源时希望付出的代价最小。(2)为被抢夺者的恢复准备好条件,如返回某个安全状态,并记录有关信息。(3)防止被抢夺资源的进程“饿死”,一般总是从执行时间短的进程中抢夺资源。 (四)应用题 1.(1)根据表,P1,P2和P3三个进程尚需资源数分别是4,5和1,系统的资源剩余量为2,若把剩余的资源量全部分配给P2,系统产已无资源可分配,使三个进程都等待资源而无法完成,形成死锁。所以不能先满足进程P2的要求。 (2)可先为进程P3分配1个资源,当它归还3个资源后,这样共有4个可分配资源,可满足P1申请1个资源的要求,再分配3个资源给进程P1,待P1归还7个资源后,先满足P2申请2个资源的请求,分配给进程P2,再分配3个资源给P2,使它完成。 2.(1)系统目前尚余有的资源数为(2,6,2,1),五个进程尚需的资源数分别是A:(2,0,0,0) ; B:(0,0,0,0); C:(4,6,2,0) ; D:(5,7,0,0); E:(0,0,2,1);由于进程B己满足了全部资源需求,它在有限时间内会归还这些资源,因此可分配资源达到(3,6,4,1),这样就可分配给进程A;等A归还资源后,可分配资源达到(6,12,6,1),再分配给进程C;之后可分配资源会达到(7,12,10,1),分配给进程D并等待一段时间后,可分配资源将达到(7,12,10,2),最后,可分配给进程E,满足其全部请求。所以说目前系统处于安全状态。 (2)若此时给进程D分配(2,5,0,0)个资源,进程D尚需(3,2,0,0),则系统剩余的资源量为(0,

处理机调度与死锁习题

处理机调度和死锁习题 第一部分:处理机的调度 一、单项选择题 1.时间片轮转调度算法是为了()。 A.多个终端能够得到系统及时响应 B.使系统变得高效 C.优先级较高的进程得到及时响应 D.需要CPU时间最少的进程最先做 2.在单处理器的多进程系统中,进程什么时候占用处理器以及决定占用时间的长短是由()决定的。A.进程相应的代码长度B.进程总共需要运行的时间 C.进程特点和进程调度策略D.进程完成什么功能 3.()有利于CPU繁忙型的作业,而不利于}/0繁忙型的作业。 A.时间片轮转调度算法B.先来先服务调度算法 C.短作业(进程)优先算法D.优先权调度算法 4.下面有关选择进程调度算法的准则中不正确的是()。 A.尽快响应交互式用户的请求 B.尽量提高处理器利用率 C.尽可能提高系统吞吐量 D.适当增长进程就绪队列的等待时间 5.设有4个作业同时到达,每个作业的执行时间均为2h,它们在一台处理器上按单道运行,则平均周转时间为()。 A.1h B.5h C.2.5h D.8h 6.若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业.长作和交互作业用户都满意,应采用()。A.FCFS调度算法B.短作业优先调度算法 C.时间片轮转调度算法D.多级反馈队列调度算法 E.剥夺式优先级调度算法 7.()优先级是在创建进程时确定的,确定之后在整个运行期间不再改变。 A.先来先服务B.动态 C.短作业D.静态 8.现在有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2,T3,且T1

操作系统第3章练习题

第3章处理机调度与死锁 典型例题解析 【例1】(1)3个进程共享4个同种类型的资源,每个进程最大需要2个资源,请问系统是否会因为竞争该资源而死锁?(2)n个进程共享m个同类资源,若每个进程都需要用该类资源,而且各进程对该类资源的最大需求量之和小于m+n。说明该系统不会因竞争该类资源而阻塞。(3)在(2)中,如果没有“每个进程都需要用该类资源”的限制,情况又会如何?(西北工业大学2000年考题) 答:(1)该系统不会因为竞争该类资源而死锁。因为,必有一个进程可获得2个资源,故能顺利完成,并释放出其所占用的2个资源给其他进程使用,使它们也顺利完成。 (2)用Max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源量,alloc(i)表示第i个进程已分配的资源量。由题中所给条件可知: need(i)>0(对所有的i) max(1)+…max(i)+…+max(n)

相关文档
相关文档 最新文档