当前位置:文档之家› 第2章 调度与死锁自测题

第2章 调度与死锁自测题

第2章 调度与死锁自测题
第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.每个进程等待着某一个不能得到且不可释放的资源

D.某个进程因资源而无法进行下去

10.采用“按序分配”策略,可以破坏死锁产生的条件是______。

A、互斥

B、请求和保持

C、非剥夺

D、环路等待

11.在选取撤消的进程或抢占的进程时,应尽量选择_______。

A.进程优先级最高的

B.进程已运行的时间最短的

C.进程完成其工作还需要的时间最短的

D.进程已A使用的资源数最少的

12.系统使用的资源,如进程控制块(PCB)一般采用下列_________处理死锁。

A.预分法

B.抢占和交换的方法

C.死锁避免方法

D.资源定序方法

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

A.进程优先权

B.资源的线性分配

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

答:C

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

A.执行并行操作

B.撤消进程

C.拒绝分配新资源

D.修改信号量

答: B

15.发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏_____条件是不太实际的。

A.互斥

B.不可抢占

C.部分分配

D.循环等待

答:A

16.在_________的情况下,系统出现死锁。

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

B.有多个封锁的进程同时存在

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

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

答: C

17.银行家算法是一种__________算法。

A.死锁解除

B.死锁避免

C.死锁预防

D.死锁检测

答:B

18.________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。

A.先来先服务

B.静态

C.动态

D.短作业

答:B

19.某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是_________。

A.9

B.10

C.11

D.12

答:B

20.以下叙述中正确的是___________。

A.调度原语主要是按照一定的算法,从阻塞队列中选择一个进程,将处理机分配给它。

B.号预防死锁的发生可以通过破坏产生死锁的四个必要条件之一来实现,但破坏互斥条件的可能性不大。

C.进程进入临界区时要执行开锁原语。

D.既考虑作业等待时间,又考虑作业执行时间的调度算法是先来先服务算法。

答:B

三、填空题

1.处理死锁的方法通常有_______、________、_______和________

2.为破坏_______条件,采用资源的静态预分策略,系统对进程申请的资源进行一次性的分配,然后才启动该进程运行.

3.Banker算法是典型的_______算法,要求系统必须知道未来的资源请求信息,进程要预先声明资源的最大需求量。

4.进程的调度方式有两种,一种是_______,另一种是_________。

答:①剥夺方式②非剥夺方式

5.死锁是指在系统中的多个______无限期地等待永远不会发生的条件。

答:进程

6.一种最常用的进程调度算法是把处理机分配给具有最高优先权的进程。而确定优先权的方法概括起来不外乎是基于_______特性和________特性两种方法。前者所得到的是_______优先权,后者所得到的是__________优先权。

答:①静态②动态③静态④动态

7.进程调度负责______的分配工作。

答:处理机

8.在______调度算法中,按照进程进入就绪队列的先后次序来分配处理机。

答:先来先服务;..

9.死锁产生的必要条件有四个,_______、______、_______、____________。

答:①互斥条件②不剥夺条件③部分分配④环路条件

10.解除死锁常用的方法有两种。_______是从其他进程那里剥夺足够数量的资源给__________进程,以解除死锁状态。

答:①资源剥夺法②死锁

11.银行家算法中,当一个进程提出的资源请求将导致系统从______进入_________时,系统就拒绝它的资源请求。

答:①安全状态②不安全状态

12.如果要求所有进程一次性申请它所需要的全部资源。若系统有足够的资源分配给进程,便一次把所有的资源分配给该进程。但在分配时只要有一种资源要求不能满足,则资源全不分配,进程等待。这种死锁预防方法破坏了死锁产生必要条件中的_____条件。

答:部分分配

13.对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法是属于________,破坏环路等待条件是属于__________,而剥夺资源是__________的基本方法。答:①死锁的避免②死锁的预防③死锁的解除.

四、简答题

1.进程调度的主要功能有哪些?

2.高级调度与中级调度的主要任务是什么?为什么要引入中级调度?

3.在抢占调度方式中,抢占的原则是什么?

4.在选择调度方式和调度算法时,应遵循的准则是什么?

5.在批处理系统、分时系统和实的系统中,各采用哪几种进程(作业)调度算法?

6.何谓静态和动态优先权?确定静态优先权的依据是什么?

7.试比较FCFS和SPF两种进程调度算法。

8.为什么在实时系统中,要求系统(尤其是CPU)具有较强的处理能力?

9.按调度方式可将实时调度算法分为哪几种?

10.试说明多处理器系统有哪儿种类型。

11.试说明对称MPS中的进程分配方式。

12.何谓死锁?产生死锁的原因和必要条件是什么?

13.是否存在只涉及一个进程的死锁问题?-t

14.在解决死锁问题的几个方法中,哪种方法最易于实现?哪种方法使资源利用率高?

15.考虑一个共有150个存储器单元的系统,内存的分配情况如下:

进程 Max Allocation

Pl 70 45

P2 60 40

P3 60 15

使用银行家算法,以确定是否可以同意下面的任一请求:

(1)第4个进程到达,最多需要60个存储单元,最初需要25个单元;

(2)第4个进程到达,最多需要60个存储单元,最初需要35个单元。

16.不安全状态是否必然导致系统进入死锁状态?

答:不安全状态不一定导致系统进入死锁状态。因为,安全性检查中使用的向量Max是进程执行前提供的,而在实际运行过程中,一进程需要的最大资源量可能小于Max,如一进程对应的程序中有一段进行错误处理的代码,其中需要n个A种资源,若该进程在运行过程中没有碰到相应错误而不需调用该段错误处理代码,则它实际上将完全不会请求这n个A种资源。

1.什么是过河问题中的死锁?试说明四个预防算法都可应用于过河问题。

2.考虑图7.3所示的交通死锁情况.

(1)说明图中导致死锁的四个必要条件成立.

(2)提出一个避免死锁的简单规则。

3.考虑表7-3所示的系统瞬时状态,利用banker算法回答下面的问题:

(1)数组Need的内容是什么?

(2)该系统处于安全态吗?若是,给出一安全序列.

(3)若进程P1的请求(0420)到达,该请求是否能立即满足?

表7-3

4.4.2 解析题

一、论述题

【例24】考虑一个每月运行5000个作业而未采用死锁预防或避免措施的系统.死锁大约每月发生两次,而且每班发生死锁时要求操作员终止或重新运行大约10%的作业,每个作业大约耗费20元(按CPU时间计算)且每个被终止的作业在被撤消时往往都运行了一半。

系统程序员估计,在该系统上配置死锁避免算法(如banker算法)会使每个作业平均执行时间增加大约10%.由于机器当前仍有30%的空闲时间,所以,每个月仍可以运行5000个作业(尽管平均周转时间增加了大约20%)。

(1)赞成配置死锁避免算法的理由是什么?

(2)反对配置死锁避免算法的理由是什么?

解:(1)为了有效地判定在特定环境下是否出现死锁,必须配置死锁预防或避免算法.通过配置死锁避免算法,减少平均等待时间.

(2)若不把重点放在使等待时间变为最少这一点上,那么,不配置死锁预防或避免算法会减少成本。

【例25】考虑下面的死锁分配策略:允许在任何时候申请和释放资源:若因没有可用资源而不能满足对资源的申请,则检查那些因等待资源而被阻塞的进程,若它们占有所需的资源,则从中收回这些资源并将这些资源分给申请这些资源的进程.增加等待进程正等待的资源向量,使其包含那些被收回的资源.例如,考虑这样一种系统,它有3类资源,且向量Available的初值为(4,2,2).若进程A申请(2,2,1),则它将得到满足:若进程B申请(1,0,1),则它也得到满足:然后若进程A又申请(0,0,1),则它被阻塞(无可用资源).如果进程C现要申请(2,0,0),则它得到一个可用资源、(1,0,0)和一个曾分配给A的资源(因A已被阻塞).此时,A的Allocation向量变为(1,2,1),而其Need向量则变为(1,0,1)。试说明:

(1)在这种环境中会出现死锁吗?若会,试举一例:若不会,那么哪个必要条件不可能成立?

(2)会出现无限期地阻塞吗?

解(1)由于采用的是抢占性策略,所以不可能出现死锁。

(2)会的.一个进程可能决不会获得它所需要的全部资源,如果资源被一系列类似过程C 的申请接连不断地抢占的话.

【例26】当由于发生死锁而撤离一进程时会出现什么困难?

解:进程必须完全地撤离(中止重新开始)或只是退回到前面的安全态.对于第一种情形,这种撤离的开销由其优先数、它已运行了多长时间、在完成前还需多少时间以及所需的资源类型等因素来决定:对于第二种情形,为了确定进程最近的安全态,系统需要保留有关每一进程的许多信息.

【例27】一个系统能否检测它的哪些进程正处于饥饿状态?若能,则说明如何进行这种检测.若不能,则叙述系统是如何处理饥饿问题的.

解:测饥饿现象事实上需要"未来知识",因为,对进程"过去知识"的统计资料还不能判定进程"前进"与否,但通过使进程"老化"可预防饥饿现象。这意味着对每一进程管理需设置一

个撤消计数器,而且在选择进程作为"抢占/撤消"对象时把它作为开销因素的一部分来考虑.

【例28】单资源类的banker算法可从一般的banker算法获得,这只需将各数组的维数减为1即可.试举例说明,多资源类的baI虫er算法不能通过把单资源类的banker算法单独地应用到每一资源类来实现.

解:考虑一系统它具有资源类A,B,C和两个进程Po,pl以及表7.2所示的瞬时状态.该系统不是处于安全态。但是,若把单资源类的banker算法单独地应用到每一资源类,那么,就得到

·序列〈P0,p1〉对资源A满足安全性要求:

·序列对资源B满足安全性要求:

·序列〈Po,P1>对资源C满足安全性要求.

表7-2

这样,该系统就应处于安全态了,显然与实际情况不符.

二.计算题

例76试列出两种破坏"循环等待"条件的方法以防止死锁发生.

解假定对系统资源已进行了线性定序,则有以下两种破坏"循环等待"条件:

(1)进程只能申请具有较高序号数的资源:

(2)当进程申请某个资源时,它必须释放所有较低序号数的资源。

【例18】硬件并不总是可靠的.若设备发生故障,那么,它对处理死锁的三种方法(预防、避免和检测)有何影响?

解:对死锁预防无影响:

对死锁避免有影响,该系统可能不再处于安全状态:

对死锁检测有影响,虽不会产生死锁,但必须更新等待图以反映系统状态的变更.

【例19】试列出资源的四种类型,并给出其对应的处理死锁的典型方法.

解:(1)内部资源:资源定序方法.

(2)主存:抢占和交换的方法

(3)作业资源:死锁避免方法

(4)可交换空间:预分法.

【例20】适当的Spooling技术可能消除死锁.它肯定可以消除读卡机、绘图机、行打机等的竞争,甚至对磁带也可以采用Spooling技术。这样剩下的资源是CPU时间、存储区和盘空间。问:是否会出现涉及到这些资源的死锁?若会,那么在什么情况下发生死锁?哪种(些)处理死锁的方法最适合于处理这类死锁?..

解:仍然可能出现死锁.例如,进程pl占有一些由进程P2所请求的内存页面,而P2占有CPU且pl正在申请CPU.消除这类死锁的最好方法是"抢占式"方法.。

【例14】产生死锁的四个必要条件是否都是独立的?能否给出一个必要条件的最小集合?

解:四个必要条件并非是绝对独立的。"占有并等待"条件蕴含"互斥"条件:"循环等待"条件蕴含"互斥"、"占有并等待"以及"非抢占"条件.前三个条件是导致死锁的必要而非充分条件,它们潜藏着第四个条件.这四个条件一起构成了死锁的充要条件.

【例15】什么是饥饿?死锁和饥饿的主要差别是什么?

解:饥饿是系统并没有死锁,但至少有一个进程被无限期地推迟.饥饿不同于死锁.死锁是这样一种情形,其中某进程正等待一个决不会发生的事件.而饥饿现象是指某进程正等待这样一个事件,它发生了但总是受到其他进程的影响,以致一直轮不到(或很难轮到)该进程. 【例16】设计一个不可能出现饥饿和死锁的过河算法.

解:利用红绿灯和一个计数器.当有人开始过河时,计数器增值:过河后该计数器减值.仅当该计数器之值为0时才开绿灯,否则为红灯,岸上的人看到绿灯方能过河.

2.引起进程调度的因素有哪些?

答:引起进程调度的因素有:

(1)进程正常终止或异常终止。

(2)正在执行的进程因某种原因而阻塞:①提出I/O 请求后被阻塞:②在调用P操作时因资源不足而阻塞:③因其他原因执行block原语而阻塞等。

(3)在引入时间片的系统中,时间片用完。

(4)在抢占调度方式中,就绪队列中某进程的优先权变得比当前正在执行的进程高,或者有优先权更高的进程进入就绪队列。

1.为什么说采用有序资源分配法不会产生死锁?

解:为了便于说明,不妨设系统中有m类资源,n个进程,分别用R1,R2,…,Rm(1,2,…,m 可看作资源编号)和P1,P2,…pn表示。根据有序资源分配法可知,进程申请资源时必须按照资源编号的升序进行,即任何进程在占有了Ri类资源后,再申请的资源Rj的编号j一定大于i。因此在任一时刻,系统中至少存在一个进程Pk,它占有了较高编号的资源Rh且它继续请求的资源必然是空闲的,因而Pk可以一直向前推进直至完成,当PK运行完成后即会释放它占有的所有资源:在PK完成之后,剩下的进程集合中同样会存在一个进程,它占有了较高编号的资源,且它继续请求的资源必然是空闲的,因而它可以一直向前推进直至完成:以此类推,所有进程均可运行完成,故不会发生死锁。

【例12】解除死锁,在选择撤消进程或被抢占资源的进程时,可考虑哪些因素?.

答:可考虑的因素有:

(1)优先权;

(2)进程己执行的时间;

(3)估计的剩余执行时间;

(4)己产生的输出量;

(5)已获得的资源量和资源类型;

(6)还需要的资源量;

(7)进程的类型(批处理型或交互型);

(8)需要被撤消的进程数等。

3.在生产者和消费者问题中,如果对调生产者进程中的两个P操作和两个V操作,则可能发生什么情况?

解:如果对调生产者进程中的两个P操作和两个V操作,则生产者和消费者问题的同步描述为:

int full=0; /*满缓冲单元的数目*/

int empty=n; /*空缓冲单元的数目*/

int mutex=1; /*对有界缓冲区进行操作的互斥信号量*/

main( )

{

parbegin

producer ( );

consumer ( );

parend

}

producer ( )

{

while (生产未完成)

{

生产一个产品:

p(mutex);

p(empty);

送一个产品到有界缓冲区;

v〈full〉;

v(mutex〉;

}

}

consumer ( )

{

while (还要继续消费〉

p〈full〉;

p〈mutex〉;

从有界缓冲区中取产品:

v(mutex〉:

v(empty);

消费一个产品:

}

}

由于V操作是释放资源,因此对调V操作的次序无关紧要。而对调P操作的次序则可能导致死锁。这是因为对调P操作后,有可能出现这样一种特殊情况:在某一时刻缓冲区中己装满了产品且缓冲区中无进程工作(这时信号量如full的值为 n,信号量empty的值为0,信号量mutex的值为1,若系统此时调度生产者进程运行,生产者进程又生产了一个产品,它执行P(mutex)并顺利进入临界区(这时mutex值为0),随后它执行p(empty)时因没有空闲缓冲单元而受阻等待,等待消费者进程进入缓冲区取走产品以释放出缓冲单元;消费者进程执行p(full)后再执行p(mutex〉时,因缓冲区被生产者进程占据而无法进入。这样就形成了生产者进程。在占有临界资源的情况下,等待消费者进程取走产品,而消费者进程又无法进入临界区取走产品的僵局,此时两进程陷入死锁。

6.

试问:(1)该状态是否安全?

(2)如果进程P2提出请求Request(0,2,2,2〉后,系统能否将资源分配给它? 解:(1)利用银行家算法对此时刻的资源分配情况进行分析,可得此时刻的安全性分析情况。

从上述分析中可以看出,此时存在一个安全序列{P0,P3,P4,P1,P2},故该状态是安全的。

(2)P2提出请求Request2(1,2,2,2),按银行家算法进行检查:

Request2(1,2,2,2)≤Need2(2,3,5,6)

Request2(1,2,2,2)≤Available(1,6,2,2)

再利用安全性算法检查系统是否安全,可用资源Available (0,4,0,0)已不能满足任何进程的需要,故系统进入不安全状态,此时系统不能将资源分配给P2。

7.有相同类型的5个资源被4个进程所共享,且每个进程最多需要2个这样的资源就可以运行完毕。试问该系统是否会由于对这种资源的竞争而产生死锁。

解:该系统不会由于对这种资源的竞争而产生死锁。因为在最坏情况下,每个进手里都需要2个这样的资源,且每个进程都己申请到了1个资源,那么系统中还剩下1个可用资源。无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程己获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的2个资源归还给系统,这就保证了其余三个进程能顺利运行。由此可知,该系统不会由于对这种资源的竞争而产生死锁。

8.己知某系统中的所有资源是相同的,系统中的进程严格按照一次一个的方式申请或薛放资源。在此系统中,没有进程所需要的资源数量超过系统的资源总拥有数量,试对下面列出

解:情况a:因系统中仅在1个进程,且系统中资源总数为2,由题目所给条件可知,该进程的最

大资源需求量不超过2,显然情况a不会出现死锁。

情况b:因系统中存在2个进程,且系统中资源总数为1,由题目所给条件可知,每个进程的最大资源需求量不超过1。不妨设两个进程的最大资源需求量为1,若系统将资源分配给其中的一个进程,则此进程已获得它所需要的所有资源并将运行完毕,从而可将分配给它的资源归还给系统,使另一个进程也能顺利执行完成,故不会发生死锁。

情况c:因系统中存在2个进程,且系统中资源总数为2,由题目所给条件可知,每个进程的最大资源需求量不超过2。假设两个进程的最大资源需求量为2,若系统将资源分配给其中的一个进程,则此进程已获得它所需要的所有资源并将运行完毕,从而可将分配给它的资源归还给系统,使另一个进程也能顺利执行完成,以这种方式分配资源不会发生死锁:若系统将资源分配给每个进程1个,在此情况下,每个进程均获得1个资源且系统中己没有空闲资源,当其中的一个进程再次申请1个资源时,因系统中无空闲资源而使其等待,另一个进程的情况也是如此,因此以这种方式分配资源会发生死锁。

情况d:因系统中存在2个进程,且系统中资源总数为3,由题目所给杂件可知,每个进程的最大资源需求量不超过3。假设两个进程的最大资源需求量为3,若系统将资源分配给其中的一个进程,则此进程已获得它所需要的所有资源并将运行完毕,从而可将分配给它的资源归还给系统,使另一个进程也能顺利执行完成,以这种方式分配资源不会发生死锁:若系统将资源分配给其中一个进程1个,另一个进程2个,在此情况下,每个进程均获得部分资源且系统中已没有空闲资源,当其中的一个进程再次申请资源时,因系统中无空闲资源而使其等待,另一个进程的情况也是如此,因此以这种方式分配资源会发生死锁。

9.考虑下列资源分配策略:对资源的申请和释放可以在任何时候进行。如果一个进程提出资源请求时得不到满足,若此时无由于等待资源而被阻塞的进程,则自己就被阻塞:若此时已有等待资源而被阻塞的进程,则检查所有由于等待资源而被阻塞的进程。如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。

例如,考虑一个有3类资源的系统,系统所有可用资源为(4,2,2〉,进程A申请(2,2,1),可满足:进程B申请(1,0,1),可满足:若A再申请(0,0,1),则被阻塞。此时,若C请求(2,0,0),它可以分到剩余资源(1,0,0),并从A已分到的资源中获得一个资源,于是进程A的分配向量变成(1,2,1)而需求向量变成(1,0,1)。

①这种分配策略会导致死锁吗?如果会,请举一个例子:如果不会,请说明产生死锁的哪一个必要条件不成立?

②这种分配方式会导致某些进程的无限等待吗?为什么?

【分析及相关知识】所谓死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将无法向前推进。死锁是计算机系统和进程所处的一种状态。发生死锁的必要条件有以下四个:互斥条件;不剥夺条件;部分分配条件;环路条件。

解:①本题所给的资源分配策略不会产生死锁。因为本题给出的分配策略规定若一进程的资源得不到满足,则检查所有由于等待资源而被阻塞的进程,如果它们有申请进程所需要的资源,则将这些资源取出分配给申请进程。从而破坏了产生死锁必要条件中的不剥夺条件,这样系统就不会产生死锁。

②这种方法会导致某些进程无限期的等待。因为被阻塞进程的资源可以被剥夺,所以被阻塞进程所拥有的资源数量在其被唤醒之前只可能减少。若系统中不断出现其他进程申请资源,这些进程申请的资源与被阻塞进程申请或拥有的资源类型相同且不被阻塞,则系统无法保证被阻塞进程一定能获得所需要的全部资源。例如,本题中的进程A申请(2,2,1〉后再申请(0,0,1〉被阻塞。此后,进程C又剥夺了进程A的一个资源,使得进程A拥有的资源变为〈1,2,1〉,其需求向量为(1,0,1〉。之后,若再创建的进程总是只申请第1和第3类资源,总是占有系统所剩下的第1和第3类资源的全部且不阻塞,那么进程A将会无限期地等待。

10.一个操作系统有20个进程,竞争使用65个同类资源,申请方式是逐个进行的,一旦某进程获得它所需要的全部资源,则立即归还所有资源。每个进程最多使用3个资源。若仅考虑这类资源,该系统有无可能产生死锁,为什么?

解:在本题中,若仅考虑这一类资源的分配,则不会产生死锁。因为死锁产生的原因有两点:系统资源不足或进程推进顺序不当。在本题介绍的系统中,进程所需要的最大资源数为:2OX3=60,而系统中共有该类资源65个,其资源数目己足够系统内的各进程使用,因此绝不可能发生死锁。

11.一台计算机有8台磁带机。它们由N个进程竞争使用,每个进程可能需要3台磁带机。请问N为多少时,系统没有死锁危险,并说明原因。

解:当N为1,2,3时,系统没有产生死锁的危险。因为,当系统中只有1个进程时,它最多需要3台磁带机,而系统有8台磁带机,其资源数目己足够系统内的1个进程使用,因此绝不可能发生死锁:当系统中有2个进程时,最多需要6台磁带机,而系统有8台磁带机,其资源数目也足够系统内的2个进程使用,因此也不可能发生死锁:当系统中有3个进程时,在最坏情况下,每个进程都需要3个这样的资源,且假定每个进程都己申请到了2个资源,那么系统中还剩下2个可用资源,无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的3个资源归还给系统,这就保证了其余进程能顺利运行完毕。由此可知,当N为1,2,3时,该系统不会由于对这种资源的竞争而产生死锁。

二、计算题

【例12】在银行家算法中,若出现下面的资源分配情况:

Process Allocation Need Available

PO 0 0 3 2 0 0 1 2 1 6 2 2

P1 1 0 0 0 1 7 5 0

P2 1 3 5 4 2 3 5 6

P3 0 0 3 2 0 6 5 2

P4 0 0 1 4 0 6 5 6

试问:

(1)该状态是否安全?

(2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?

(3)如果系统立即满足P2的上述请求,请间,系统是否立即进入死锁状态?

答:(1)利用安全性算法对上面的状态进行分析(如表33所示),找到了一个安全序列{P0,P3,P4,P1,P2},故系统是安全的。

(2)P2发出请求向量Request(1,2,2,2)后,系统按银行家算法进行检查:

①Request2(1,2,2,2)≤Need2(2,,3,5,6);

②Request2(1,2,2,2) ≤Available(1,6,2,2);

③系统先假定可为P2分配资源,并修改Available,Allocation2和Need2向量:

Avmilable=(O,4,0,0)

Allocation2=(2,5,7,6)

Need2=(1,1,3,4)

④进行安全性检查:此时对所有的进程,条件Needi≤Available(O,4,0,0)都不成立,即Available不能满足任何进程的请求,故系统进入不安全状态。

因此,当进程P2提出请求Request(1,2,2,2)后,系统不能将资源分配给它。

表3.3安全性检查过程

(3)系统立即满足进程P2的请求(1,2,2,2)后,并没有马上进入死锁状态。因为,此时上述进程并没有申请新的资源,并因得不到资源而进入阻塞状态。只有当上述进程提出新的请求,并导致所有没执行完的多个进程因得不到资源而阻塞时

,系统才进入死锁状态。

12.设系统中有3种类型的资源(A,B,C)和5个进程P1、P2、P3、P4、P5,A 资源的数量为17,B 资源的数量为5,C 资源的数量为20。在To 时刻系统状态见表4.5所示。系统采用

To 时刻是否为安全状态?若是,请给出安全序列。

②在To 时刻若进程P2请求资源(0,3,4〉,是否能实施资源分配?为什么? ③在②的基础上,若进程P4请求资源。,0,1〉,是否能实施资源分配?为什么? ④在③的基础上,若进程P1请求资源(0,2,0〉,是否能实施资源分配?为什么?

解:由题目所给出的最大资源需求量和己分配资源数量,可以计算出To 时刻各进程的资源需求量Need,Need=(1)利用银行家算法对此时刻的资源分配情况进行分析,可得此时刻的安全序性分析情况:

从上述情况分析中可以看出,此时存在一个安全序列{p5,P4,p3,P2,Pl},故该状态是安全的。

②在To时刻若进程P2请求资源(0,3,4),因请求资源数(0,3,4〉>剩余资源数(2,2,3),所以不能分配。

③在②的基础上,若进程P4请求资源(2,0,1),按银行家算法进行检查:

P4请求资源(2,0,1)<=P4资源需求量(2,2,1)

P4请求资源(2,0,1)<=剩余资源数(2,3,3〉

从上述情况分析中可以看出,此时存在一个安全序列{P4,P5,P3,P2,P1},故该状态是安全的,可以立即将P4所申请的资源分配给它。

④在③的基础上,若进程Pl请求资源(0,2,0〉,按银行家算法进行检查:

P1请求资源(0,2,0)<=P1资源需求量(3,4,7)

P1请求资源(0,2,0〉<=剩余资源数(0,3,2)

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

再利用安全性算法检查系统是否安全,可用资源Available (0,1,2)已不能满足任何进程的资源需求,故系统进入不安全状态,此时系统不能将资源分配给P1。

16.假设有一台计算机,它有lM内存,操作系统占用200K,每个用户进程也占用200K。用户进程等待I/O的时间为80%,若增加lM内存,则CPU的利用率将提高多少?

【分析及相关知识】多道程序设计技术是指同时把多个作业放入内存并允许它交替执行,共享系统中的各类资源,当一道程序因某种原因(如I/0请求)而暂停执行时,CPU立即转去执行另一道程序。从上述定义可以看出多道程序系统具有多道、宏观上并行、微观上串行的特点。

多道程序设计技术使CPU的利用率大为提高。设在内存中有N个进程,每个进程等待I/0的百分比是P,那么N个进程同时等待I/0的概率是p^n(此时CPU空闲),即CPU的利用率为1-p^n,由此可见CPU的利用率是N的函数,称为多道程序度。

解:由题目所给条件可知,当前1M内存可支持4个用户进程,由于每个用户进程等待I/O 的时间为80%,故CPU的利用率为:

1一(80%)^4=1一(0.8)^4=59%

若增加1M内存,则系统中可同时运行9个进程,则CPU的利用率为:

1一(0.8)^9=87%

故增加1M内存使CPU的利用率提高了:

87%÷59%=147%

147%-100%=47%

所以增加1M内存使CPU的利用率提高了47%。

17.设某计算机系统有一台输入机、一台打印机。现有两道程序同时投入运行,且程序A先开始运行,程序B后运行。程序A的运行轨迹为:计算50ms,打印信息100ms,再计算5Oms,打印信息100ms,结束。程序B的运行轨迹为:计算5Oms,输入数据8Oms,再计算100ms,结束.试说明:

(l)两道程序运行时,CPU有无空闲等待?若有,在哪段时间内等待?为什么会空闲等待?

(2)程序A、B运行时有无等待现象?若有,在什么时候会发生等待现象?

解:两道程序并发执行时的工作情况如图3.5所示。

中央处理机A计算B计算Atf算.B计算

从图3.5可以看出,两道程序运行期间,CPU存在空闲等待。空闲等待的时间段为程序A 开始运行后100ms至150ms之间。在此期间,程序A正在打印信息,而程序B正在输入数据。程序A启动运行后无等待现象,而在程序B启动运行后存在等待现象。程序B的等待时间段为A开始运行后180ms至200ms之间(或程序B启动运行后130ms至150ms之间〉。

18.设有两个处理机P1和P2,它们各有一个硬件高速缓冲存储器C1、C2,且各有一个主

假定两个处理机的指令系统相同,它们的指令执行时间与存储器的平均存取周期成正比。如果执行某个程序时,所需的指令或数据在缓冲存储器中存取到的概率P是0.7,试问这两个处理机的处理速度哪个快?当P=0.9时,处理机的处理速度哪个快?

解:由题目分析可知,处理机的平均存取时间T为:

T=T1+(1-P)T2

其中,T1为高速缓冲存储器的存取周期,T2为主存储器的存取周期,P为指令或数据在缓冲存储器中存取到的概率。〈1μs=1000nS〉

(1)当P=0.7时,P1的平均存取时间为:

60+(1-0.7)×10^3=360ns

P2的平均存取时间为:

80+(1-0.7)×0.9×10^3=350ns..

根据题意,指令执行时间与存储器的平均存取周期成正比,因此当P=0.7时,P2比P1的处理速度快。

〈2〉当P=0.9时,P1的平均存取时间为:

60+〈1-0.9〉* 10^3=160ns

P2的平均存取时间为:

80+(1-0.9)×0.9×10^3=170ns

因此当P=0.9时,Pl比P2的处理速度快。

19.有两个程序,A程序按顺序使用CPU 10秒,使用设备甲5秒,使用CPU 5秒,使用设备乙10秒,最后使用CPU lO秒。B 程序按顺序使用设备甲10秒,使用CPU lO秒,使用设备乙5秒,使用CPU 5秒,使用设备乙10秒。在顺序环境下先执行A 程序再执行B程序,CPU的利用率是多少?

解:由题目所给条件可知,两个程序顺序执行,先执行程序A,再执行程序B。

A程序的执行时间为:

10+5+5+10+10=40秒

其中使用CPU时间为:

10+5+10=25秒

B程序的执行时间为:

10+10+5+5+10=40秒

其中使用CPU时间为:

10+5=15秒

两个程序的总执行时间为:

40+40=80秒

其中使用CPU时间为:

15+25=40秒

故CPU利用率为:

40/80=50%

20.假设就绪队列中有10个进程,系统将时间片设为

200ms,CPU进行进程切换要花费10ms,试问系统开销所占的比率约为多少?

解:因就绪队列中有10个进程,它们以时间片轮转的方式使用CPU,时间片长度为200ms。当一个时间片用完时,调度进程将当前运行进程设置为就绪状态并放入就绪队列尾,再从就绪队列队首选择进程投入运行,这一过程(进程切换〉要花费时间10ms。因此系统开销所占比率为:

10/(200+10)=4.8%

操作系统第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.以上说法均不正确

第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的时间及优先级如下所示:

第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。其初值为②,表示该资源尚未使用,临界区应置于③和④原语之间。

计算机操作系统习题答案

计算机操作系统习题答 案 Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT

第一章操作系统概论 1.单项选择题 ⑴ B; ⑵ B; ⑶ C; ⑷ B; ⑸ C; ⑹ B; ⑺ B;⑻ D;⑼ A;⑽ B; 2.填空题 ⑴操作系统是计算机系统中的一个最基本的系统软件,它管理和控制计算机系统中的各种系统资源; ⑵如果一个操作系统兼有批处理、分时和实时操作系统三者或其中两者的功能,这样的操作系统称为多功能(元)操作系统; ⑶没有配置任何软件的计算机称为裸机; ⑷在主机控制下进行的输入/输出操作称为联机操作; ⑸如果操作系统具有很强交互性,可同时供多个用户使用,系统响应比较及时,则属于分时操作系统类型;如果OS可靠,响应及时但仅有简单的交互能力,则属于实时操作系统类型;如果OS在用户递交作业后,不提供交互能力,它所追求的是计算机资源的高利用率,大吞吐量和作业流程的自动化,则属于批处理操作系统类型; ⑹操作系统的基本特征是:并发、共享、虚拟和不确定性; ⑺实时操作系统按应用的不同分为过程控制和信息处理两种; ⑻在单处理机系统中,多道程序运行的特点是多道、宏观上并行和微观上串行。 第二章进程与线程 1.单项选择题

⑴ B;⑵ B;⑶ A C B D; ⑷ C; ⑸ C; ⑹ D; ⑺ C; ⑻ A; ⑼ C; ⑽ B; ⑾ D; ⑿ A; ⒀ D; ⒁ C; ⒂ A; 2.填空题 ⑴进程的基本状态有执行、就绪和等待(睡眠、阻塞); ⑵进程的基本特征是动态性、并发性、独立性、异步性及结构性; ⑶进程由控制块(PCB)、程序、数据三部分组成,其中PCB是进程存在的唯一标志。而程序部分也可以为其他进程共享; ⑷进程是一个程序对某个数据集的一次执行; ⑸程序并发执行与顺序执行时相比产生了一些新特征,分别是间断性、失去封闭性和不可再现性; ⑹设系统中有n(n>2)个进程,且当前不在执行进程调度程序,试考虑下述4种情况: ①没有运行进程,有2个就绪进程,n个进程处于等待状态; ②有一个运行进程,没有就绪进程,n-1个进程处于等待状态; ③有1个运行进程,有1个等待进程,n-2个进程处于等待状态; ④有1个运行进程,n-1个就绪进程,没有进程处于等待状态; 上述情况中不可能发生的情况是①; ⑺在操作系统中引入线程的主要目的是进一步开发和利用程序内部的并行性; ⑻在一个单处理系统中,若有5个用户进程,且假设当前时刻为用户态,则处于就绪状态的用户进程最多有4个,最少0个;

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

第三章处理机调度与死锁 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的边,由死锁定理知,不会产生死锁。

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

第三章进程调度与死锁练习题 (一)单项选择题 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.高级调度与低级调度的主要任务是什么为什么要引入中级调度 (1)高级调度又称为作业调度。它是批处理系统中使用的一种调度。其主要任务是按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为其创建进程、分配必要的资源,然后再将所创建的进程控制块插入就绪队列中。(2)低级调度又称进程调度。它是距离硬件最近的一级调度。其主要任务是按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU。 (3)引入中级调度的目的是为了提高内存利用率和系统吞吐量。其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调其到外存上等候。此时的进程状态为挂起状态。当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存并将其状态变为就绪状态。 2. 处理机调度算法的共同目标是什么批处理系统的调度目标又是什么 共同目标:资源利用率,公平性,平衡性,策略强制执行。 批处理系统的调度目标:平均周转时间短,系统吞吐量高,处理机利用率高。 6.为什么要引入高响应比优先调度算法它有何优点 在批处理系统中,FCFS算法所考虑的只是作业的等待时间,而忽视了作业的运行时间。而SJF算法正好与之相反,只考虑作业的运行时间,而忽视了作业的等待时间。高响应比优先调度算法则是既考虑了作业的等待时间,又考虑作业运行时间的调度算法,因此既照顾了短作业,又不致使长作业的等待时间过长,从而

改善了处理机调度的性能。 7.试说明低级调度的主要功能。 保存处理机的现场信息、按某种算法选取进程、把处理机分配给进程。 12.试比较FCFS和SJF两种进程调度算法。 相同点:两种调度算法都可用于作业调度与进程调度 不同点:FCFS调度算法每次都从后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存、分配资源、创建进程、插入到就绪队列。该算法有利于长作业/进程,不利于短作业/进程。 SJF算法每次调度都从后备队列中选择一个或若干个运行时间最短的作业,调入内存中运行。该算法有利于短作业/进程,不利于长作业/进程。 13.在时间片轮转法中,应如何确定时间片的大小 时间片应略大于一次典型的交互需要的时间。一般因考虑三个因素:系统对相应时间的要求、就绪队列中进程的数目和系统的处理能力。 20.按调度方式可将实时调度算法分为哪几种 非抢占式和抢占式。非抢占式又分为非抢占式轮转调度算法和非抢占式优先调度算法,抢占式又分为基于时钟中断的抢占式优先级调度算法和立即抢占的优先级调度算法。

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

一、单项选择题 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.既考虑作业等待时间,又考虑作业执行时间的调度算法是先来先服务算法。

处理机调度与死锁作业题

第三章处理机调度与死锁作业 一、判断题 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

操作系统考研资料:第四章 处理机调度学习指导材料

第四章处理机调度与死锁 4.1 知识点汇总 1、处理机调度级别 ⑴调度:选出待分派的作业或进程 ⑵处理机调度:分配处理机 ⑶三级调度:高级调度(作业调度)、中级调度(内存对换)、低级调度(进程调度) 2、作业状态 ⑴作业状态分为四种:提交、后备、执行和完成。 ⑵作业状态变迁图: 图4-1 作业状态及变迁 1

3、作业调度和调度的功能 ⑴. 作业调度的任务 后备状态→执行状态执行状态→完成状态 ⑵作业调度的功能 ①记录系统中各个作业的情况 ②按照某种调度算法从后备作业队列中挑选作业 ③为选中的作业分配内存和外设等资源 ④为选中的作业建立相应的进程 ⑤作业结束后进行善后处理工作 4、进程调度和调度的功能 1). 进程调度:后备状态→执行状态 2). 进程调度时机:任务完成后、等待资源时、运行到时了、发现重调标志 3). 进程调度的功能:保存现场、挑选进程、恢复现场 5、两级调度模型作业调度和进程调度的区别 2

6、评价调度算法的指标 调度性能评价准则:CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间 (1)吞吐量:单位时间内CPU完成作业的数量 (2)周转时间: 1) 周转时间=完成时刻-提交时刻 2) 平均周转时间=周转时间/n 3) 带权周转时间=周转时间/实际运行时间 4) 平均带权周转时间=带权周转时间/n 7、作业与进程调度算法 (1)先来先服务(FCFS) 调度算法的实现思想:按作业(进程)到来的先后次序进行调度,即先来的先得到运行。用于作业调度:从作业对列(按时间先后为序)中选择队头的一个或几个作业运行。用于 3

进程调度:从就绪队列中选择一个最先进入该队列的进程投入运行。例如设有三个作业,编号为1,2,3。各作业分别对应一个进程。各作业依次到达,相差一个时间单位。 ①图示出采用FCFS方式调度时这三个作业的执行顺序 ②算出各作业的周转时间和带权周转时间 (2)时间片轮转(RR) 4

处理机调度与死锁习题课

第三章 处理机调度与死锁 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

处理机调度与死锁习题

处理机调度和死锁习题 第一部分:处理机的调度 一、单项选择题 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)

第四章进程调度与死锁习题及答案

第四章 一.选择题 1.预防死锁不可以去掉以下__A__条件。 A.互斥 B.请求与保持 C.不可剥夺 D.环路 2.资源分配图是否可以完全简化是判断死锁的_C__。 A.充分条件 B.必要条件 C.充分必要条件 D.什么也不是 3.设有4个作业同时到达,每个作业的执行时间是2min,它们在一台处理机 上按单道方式运行,则平均周转时间为_B__。 A.1min B.5min C.2.5min D.8min 4.若系统中有8台绘图仪,有多个进程均需要使用两台,规定每个进程一次 仅允许申请一台,则至多允许_C__各进程参与竞争,而不会发生死锁。 A.5 B .6 C .7 D .8 5.响应比高者优先作业调度算法除了考虑进程在CPU上的运行时间,还考虑 以下__D_因素。 A.输入时间 B.完成时间 C.周转时间 D.等待时间 6.产生系统死锁的原因可能是_B__。 A.一个进程进入死循环 B.多个进程竞争资源出现了循环 等待 C.进程释放资源 D.多个进程竞争共享型设备 7.以下_B__方法可以解除死锁。 A.挂起进程 B.剥夺资源 C.提高进程优先级 D.降低进程优先级 8.采用有序分配资源的策略可以破坏产生死锁的__D_。 A.互斥条件 B.请求与保持条件 C.不可剥夺条件 D.环路条件 9.连个进程争夺同一个资源_B__。 A.一定死锁 B.不一定死锁 C.不死锁 D.以上说法都不对 10.以下解决死锁的方法中,属于预防策略的是_C__。 A.化简资源分配图 B.银行家算法 C.资源的有序分配 D. 死锁检测法 11.下面__D_说法是对可剥夺系统的正确描述。 A.时间片轮转法是一种可剥夺式调度 B.进程因等待某一事件而引起系统调度是一种可剥夺式调度 C.实时系统采用可剥夺式调度 D.优先级低的进程放弃CPU,让优先级高的进程运行 12.以下关于调度的说法__A__正确。 A.进程通过调度得到CPU B.优先级是进程调度的主要依据,一旦确定就不能改变 C.在单CPU的系统中,任何时刻都有一个进程处于运行状态 D.进程申请CPU得不到时,其状态为阻塞 13.既考虑进程的等待时间,又考虑进程的执行时间的调度算法是__A__。 A.响应比高者优先 B.短进程优先 C.最短剩余时间优先 D.先来先服务

第三章 处理机调度与死锁教案

第三章处理机调度与死锁 本章主要讲述操作系统中的调度以及死锁的概念,具体包括处理机调度的概念、进程调度算法、实时调度、多处理机调度以及死锁的概念和处理方法等内容。 3.1 处理机调度的层次 3.1.1 高级调度(High Scheduling) 1.作业和作业步 2.作业控制块JCB 3.作业调度 在每次执行作业调度时,都须做出以下两个决定。 1) 接纳多少个作业 2) 接纳哪些作业 3.1.2. 低级调度(Low Level Scheduling) 1. 低级调度的功能 ⑴保存处理机的现场信息。 ⑵按某种算法选取进程。 ⑶把处理器分配给进程。 2. 进程调度中的三个基本机制 ⑴排队器。 ⑵分派器(分派程序)。 ⑶上下文切换机制。 3. 进程调度方式 1) 非抢占方式(Non-preemptive Mode) 在采用非抢占调度方式时,可能引起进程调度的因素可归结为这样几个:①正在执行的进程执行完毕,或因发生某事件而不能再继续执行;②执行中的进程因提出I/O请求而暂停执行;③在进程通信或同步过程中执行了某种原语操作,如P操作(wait操作)、Block 原语、Wakeup原语等。这种调度方式的优点是实现简单、系统开销小,适用于大多数的批处理系统环境。但它难以满足紧急任务的要求——立即执行,因而可能造成难以预料的后果。显然,在要求比较严格的实时系统中,不宜采用这种调度方式。 2) 抢占方式(Preemptive Mode) 抢占的原则有: (1)优先权原则。 (2) 短作业(进程)优先原则。 (3) 时间片原则。 3.1.3. 中级调度(Intermediate-Level Scheduling) 中级调度又称中程调度(Medium-Term Scheduling)。引入中级调度的主要目的,是为了提高内存利用率和系统吞吐量。为此,应使那些暂时不能运行的进程不再占用宝贵的内存资源,而将它们调至外存上去等待,把此时的进程状态称为就绪驻外存状态或挂起状态。当这些进程重又具备运行条件、且内存又稍有空闲时,由中级调度来决定把外存上的哪些又具备运行条件的就绪进程,重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进程调度。 3.2 调度队列模型和调度准则 3.2.1 调度队列模型

相关主题
文本预览
相关文档 最新文档