[操作系统] 处理机调度与死锁-习题+解析

下列进程调度算法中,综合考虑进程等待时间和执行时间的是(D)。

A、时间片轮转调度算法

B、短进程优先调度算法

C、先来先服务调度算法

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

时间片轮转调度算法:把所有就绪进程按先入先出的原则排成一个队列。新来的进程加到就绪队列末尾。每当执行进程调度时,进程调度程序总是选出就绪队列的队首进程,让它在CPU上运行一个时间片的时间。当进程用完分给它的时间片后,系统的计时器发出时钟中断,调度程序便停止该进程的运行,把它放入就绪队列的末尾;然后,把CPU分给就绪队列的队首进程,同样也让它运行一个时间片,如此往复。

短进程优先调度算法:以作业的长度来计算优先级,作业越短,其优先级越高,优先高的先运行。作业的长短由作业所要求的运行时间来衡量的。

先来先服务调度算法系统将按照作业到达的先后次序来进行调度,优先从后备队列中,选择一个或多个位于队列头部的作业,把他们调入内存,分配所需资源、创建进程,然后放入“就绪队列”,直到该进程运行到完成或发生某事件堵塞后,进程调度程序才将处理机分配给其他进程。

高响应比优先调度算法:把CPU分配给就绪队列中响应比最高的进程。响应比 =(等待时间+要求服务时间)/ 要求服务时间,即RR=(w+s)/s=1+w/s,因此响应比一定是大于等于1的。

某计算机系统中有 8台打印机,由 K 个进程竞争使用,每个进程最多需要 3台打印机。该系统可能会发生死锁的 K 的最小值是(C)。

A、2

B、3

C、4

D、5

r≥p(m-1)+1,8≥p(3-1)+1,2p≤7,即当p小于等于3时才可保证死锁不会发生,所以可能会产生死锁的最小值是4。

下列选项中,降低进程优先级的合理时机是(A)。

A、进程的时间片用完

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

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

D、进程从就绪态转为运行态

某时刻进程的资源使用情况如下表所示。 

 此时的安全序列是(D)

A、P1,P2,P3,P4

B、P1,P3,P2,P4

C、P1,P4,P3,P2

D、不存在

可用资源(0,2,1)>尚需分配:P1(0,0,1),分配后,P1得到所有需要的资源,回收P1资源-》可用资源(2,2,1)>尚需分配:P4(2,0,0),分配后,P4得到所有需要的资源回收P4资源-》可用资源(2,2,2)均<=尚需资源P2、P3,无法分配。故不存在安全序列。

假设 5 个进程 P0、P1、P2、P3、P4 共享三类资源 R1、R2、R3,这些资源总数分别为 18、6、22。T0 时刻的资源分配情况如下表所示,此时存在的一个安全序列是(D)。

A、P0, P2, P4, P1, P3

B、P1, P0, P3, P4, P2

C、P2, P1, P0, P3, P4

D、P3, P4, P2, P1, P0

已知R1、R2、R3的资源总数分别为:18,6,22和各进程已分配资源,求出各类资源还剩余多少:R1:18-(3+4+4+2+3)=2;R2:6-(2+0+0+0+1)=3;R3:22-(3+3+5+4+4)=3。即可用资源(2,3,3)

加上已知各进程需要的资源最大数,求出各进程还需要的资源为:P0(5-3,5-2,10-3)-》尚需资源:P0(3,2,7);P1(1,3,3);P2(0,0,6);P3(2,2,1);P4(1,1,0)

可用资源(2,3,3)< 尚需资源P0(3,2,7),A排除。

可用资源(2,3,3)< 尚需资源P2(0,0,6),C排除。

可用资源(2,3,3)>= 尚需资源P1(1,3,3),分配后,P1得到所有需要的资源,回收P1资源-》可用资源(6,3,6)< 尚需资源P0(3,2,7),B排除。

下列关于银行家算法的叙述中,正确的是(B)

A、银行家算法可以预防死锁

B、当系统处于安全状态时,系统中一定无死锁进程

C、当系统处于不安全状态时,系统中一定会出现死锁进程

D、银行家算法破坏了死锁必要条件中的“请求和保持”条件

银行家算法可以避免死锁

当系统处于安全状态时,系统至少可以找到一个安全序列。但不代表系统中一定无死锁进程。

没有破坏死锁发生的四个必要条件中的任何一个

下列调度算法中,不可能导致饥饿现象的是(A)。

A、时间片轮转

B、静态优先数调度

C、非抢占式短作业优先

D、抢占式短作业优先

某系统有 n 台互斥使用的同类设备,三个并发进程分别需要 3、4、5 台设备,可确保系统不发生死锁的设备数 n 最小为(B)。

A、9

B、10

C、11

D、12

3个并发进程分别需要3、4、5台设备,设第一个进程分配2台,第二个进程分配3台,第三个进程分配4台,总共分配出去(3 - 1) + (4 - 1)+ (5 - 1) = 9台设备。这种情况下,3个进程均无法继续执行下去,发生死锁。当系统中再增加1台设备,也就是总共10台设备时,这最后1台设备分配给任意一个进程都可以顺利执行完成,因此保证系统不发生死锁的最小设备数为10。

若系统S1采用死锁避免方法,S2采用死锁检测方法。下列叙述中,正确的是(B)。
Ⅰ.S1会限制用户申请资源的顺序,而S2不会
Ⅱ.S1需要进程运行所需资源总量信息,而S2不需要
Ⅲ.S1不会给可能导致死锁的进程分配资源,而S2会

A、仅Ⅰ、Ⅱ

B、仅Ⅱ、Ⅲ

C、仅Ⅰ、Ⅲ

D、Ⅰ、Ⅱ、Ⅲ

关于死锁的处理主要有三种类型:1.死锁预防,2.死锁避免算法,3.死锁检测

死锁预防,典型的是顺序资源分配法:限制进程申请资源的顺序!后面的进程只能申请编号更大的资源。

死锁避免算法,典型的是银行家算法:不会限制申请资源的顺序,但是会限制分配资源的顺序,避免进入不安全状态!因此,需要知道全局性的资源需求矩阵以及资源总量

死锁检测,啥也不限制,只有当出现死锁且被检测到时才会去处理解除

综上所述,II、III是正确的。

系统中有3个不同的临界资源R1、R2和R3,被4个进程p1、p2、p3及p4共享。各进程对资源的需求为:p1申请R1和R2,p2申请R2和R3,p3申请R1和R3,p4申请R2。若系统出现死锁,则处于死锁状态的进程数至少是(C)

A、1

B、2

C、3

D、4

系统出现死锁,所以代表了P1、P2、P3三个进程都是无法运行的,如果其中一个进程能运行,完事后就会释放相邻的资源。循环状态就被破坏了,就不会发生死锁。

P4是不影响系统出现死锁的,只要给它分配R2资源,完成后就会释放资源。

假设4个作业到达系统的时刻和运行时间如下表所示。 

系统在t=2时开始作业调度。若分别采用先来先服务和短作业优先调度算法,则选中的作业分别是(D)

A、J2、J3

B、J1、J4

C、J2、J4

D、J1、J3

t=2时,到达的作业有:J1,J2,J3,按照先来先服务调度算法,J1的到达时刻最小,即它先来的,所以先运行J1;按照短作业优先调度算法,J3的运行时间最小,即它最短,所以先运行J3;

下列有关基于时间片的进程调度的叙述中,错误的是(B)

A、时间片越短,进程切换的次数越多,系统开销也越大

B、当前进程的时间片用完后,该进程状态由执行态变为阻塞态

C、时钟中断发生后,系统会修改当前进程在时间片内的剩余时间

D、影响时间片大小的主要因素包括响应时间、系统开销和进程数量

当前进程的时间片用完后,该进程状态由执行态变为就绪态

假设系统中有 4 个同类资源,进程 P 1 、P 2 和 P 3 需要的资源数分别为 4、3 和 1,P 1 、P 2和 P 3 已申请到的资源数分别为2、1 和 0,则执行安全性检测算法的结果是(A)。

A、不存在安全序列,系统处于不安全状态

B、存在多个安全序列,系统处于安全状态

C、存在唯一安全序列 P 3 、P 1 、 P 2 ,系统处于安全状态

D、存在唯一安全序列 P 3 、 P 2 、P 1 ,系统处于安全状态

由题中数据可知,仅剩1个同类资源(4-2-1=1),尚需资源:P1(2)、P2(2)、P3(1);若将其分给P1或P2,则均无法正常执行;若分给P3,则P3正常执行完成后,回收资源,同类资源剩余1个,P1、P2依旧无法正常执行,故不存在安全序列,系统处于不安全状态。

有3个作业J1(到达时间8:50,执行时间1.5小时)、J2(到达时间9:00,执行时间0.4小时)、J3(到达时间9:30,执行时间1小时)。当作业全部到达后,单道批处理系统按照响应比高者优先算法进行调度,则作业被选中执行的次序是(B)

A、J1,J2,J3 

B、J2,J1,J3 

C、J3,J1,J2 

D、J1,J3,J2

由于进行作业调度的时间是在作业全部到达后, 即在9:30开始进行调度, 此时作业 J1、J2、J3分别等待了40分钟、30分钟、0分钟, 因而它们的响应比为:J1:(40/90)+1 = 13/9;J2:(30/24)+1 = 9/4;J3:( 0/60)+1=1

响应比=(等待时间+要求服务时间)/ 要求服务时间 =( 等待时间 / 要求服务时间)+1

可见作业J2的响应比最高, 先执行J2,J2执行结束后, 又要进行调度, 由于等待时间发生了变化, 故应重新计算响应比。 此时的计算结果如下:

J1:   (64/90)+1=(32/45)+1

J3:   (24/60)+1=(2/5)+1

J1 的响应比>J3的响应比, 因而先选择J1执行, 最后再执行J3。

注意时间换算成统一单位,上述是将时间单位都换成了分。

系统采用二级反馈队列调度算法进行进程调度。就绪队列Q1采用时间片轮转调度算法,时间片为10ms;就绪队列Q2采用短进程优先调度算法;系统优先调度Q1队列中的进程,当Q1为空时系统才会调度Q2中的进程;新创建的进程首先进入Q1;Q1中的进程执行一个时间片后,若未结束,则转入Q2。若当前Q1、Q2为空,系统依次创建进程P1、P2后即开始进程调度P1、P2需要的CPU时间分别为30ms和20ms,则进程P1、P2在系统中的平均等待时间为(C)

A、25ms

B、20ms

C、15ms

D、10ms

解析:

下列关于死锁的叙述中,正确的是(B)

Ⅰ.可以通过剥夺进程资源解除死锁

Ⅱ.死锁的预防方法能确保系统不发生死锁

Ⅲ.银行家算法可以判断系统是否处于死锁状态

Ⅳ.当系统出现死锁时,必然有两个或两个以上的进程处于阻塞态

A、仅Ⅱ、Ⅲ

B、仅Ⅰ、Ⅱ、Ⅳ

C、仅Ⅰ、Ⅱ、Ⅲ

D、仅Ⅰ、Ⅲ、Ⅳ

银行家算法是一种死锁避免算法,用于计算动态资源分配的安全性以避免系统进入死锁状态,不能用于判断系统是否处于死锁,Ⅲ错误。

假设有三个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2和T3,并且T1>T2>T3,它们的优先级分别是L1、L2和L3,并且有L1<L2<L3。假设某单处理机系统采用短作业优先算法运行,则平均周转时间是()。

A、T1+T2+T3             

B、(T1+T2+T3)/3

C、T1+(2/3)T2+(1/3)T3        

D、(1/3) T1+(2/3)T2+T3

对资源采用按序分配的策略,可以防止死锁。它破坏了死锁四个必要条件的(D)。

A、互斥条件

B、保持与请求条件

C、不可抢占条件

D、循环等待条件

银行家算法的作用是为了(A)

A、避免死锁

B、防止死锁

C、检测死锁

D、解除死锁

在五个哲学家就餐问题中,为保证其不发生死锁,可限定同时要求就餐的人数最多不超过(C)。

A、2个

B、3个

C、4个

D、5个

5根筷子,一个人需要两根筷子;r≥p(m-1)+1,5≥p(2-1)+1,p≤4,即当p小于等于4时才可保证死锁不会发生。所以限定同时要求就餐的人数最多不超过4人。

CPU的调度分为高级、中级和低级三种,其中低级调度是指(C)调度。

A、作业        

B、交换        

C、进程        

D、线程

高级调度 = 作业调度 = 长程调度

中级调度 = 中程调度 = 内存调度

低级调度 = 进程调度 = 短程调度

下图是当前某系统的资源分配图,它表示该系统中虽有环路,但无死锁。从图中可知进程能获得资源执行结束的顺序可能是(C)。

A、P1,P2,P3,P4                

B、P1,P4,P2,P3

C、P4,P2,P3,P1                

D、P4,P3,P2,P1

实现先化简:只有分配边的进程,即P4。此时系统R1资源剩余1,R2资源剩余1。

再化简可以满足需求的进程,即P1或P2(P1需要一个R1资源就可以运行,目前刚好有剩余可以满足...),假设先化简P2,此时R1、R2、R3各剩余1个资源。

 然后还可以继续化简P1或P3,与上同理。

下图是当前某系统的资源分配图,请根据死锁定理判断该系统目前(A)。

A、存在死锁                            

B、不存在死锁

C、存在安全序列                        

D、不确定

解析:

请点击这里

在操作系统中,死锁出现是指(C)

A、计算机系统发生了重大故障

B、资源数目远远少于进程数

C、若干进程因竞争资源而无限等待其他进程释放已占有的资源

D、进程同时申请的资源数超过资源总和

资源静态分配方法可以预防死锁,如果进程在执行前就申请它所需的全部资源,仅当系统能满足要求且一次性分配资源后,该进程才能执行。这样的资源静态分配策略破坏了死锁四个必要条件中的(B)

A、互斥条件

B、请求和保持条件

C、环路等待条件

D、不可抢占条件

猜你喜欢

转载自blog.csdn.net/zhou_ge1/article/details/128438923
今日推荐