第4章 调度与死锁_2

合集下载

计算机操作系统习题3-调度与死锁

计算机操作系统习题3-调度与死锁

P(S1)
13
V(S2)
23
V(S1)
14
V(S1)
24
V(S2)
(1)试分析各种推进速度可能引起的情况;(2)用产生死锁的必 要条件解释产生死锁和不产生死锁原因。
2、考虑如下交通死锁问题:
(1)试说明产生死锁的四个必要条件在此例中均成立;(2)请建 立一种规则,以避免死锁的发生。
进程 到到就绪队列时刻 执行时间(ms) 优先数
P1
0
3
3
P2
2
6
5
P3
4
4
1
P4
6
5
2
P5
8
2
4
(1)FCFS调度算法;(2)时间片轮转调度算法(时间片为 1ms);(3)剥夺式短进程优先调度算法;(4)剥夺式优先级调度算 法;(5)非剥夺式优先级调度算法。
2、在银行家算法中,有下表所示资源分配情况:
A、进程优先权 B、时间片大小 C、进程的推进顺序 D、分配队列优先权
9、为了系统中各部分资源得到均衡使用,以提高系统的效率,就必 须选择对资源需求不同的作业进行合理搭配。这项工作是由( )完 成的。
A、作业调度 B、中级调度 C、进程调度 D、内存调度
10、既考虑作业等待时间,又考虑作业完成时间的调度算法是 ( )
13、一个作业进入主存后,所属该作业的进程初始时处于( ) 状态。 A、运行 B、等待 C、就绪 D、后备
14、作业周转时间为( ) A、作业开始时间-作业提交时间 B、作业等待时间+作业运行 时间 C、作业等待时间 D、作业运行时间
15、按序分配资源是为了( ) A、死锁的检测 B、死锁的预防 C、死锁的避免 D、死锁 的解除

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

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

第四章一.选择题1.预防死锁不可以去掉以下__A__条件。

A.互斥 B.请求与保持 C.不可剥夺 D.环路2.资源分配图是否可以完全简化是判断死锁的_C__。

A.充分条件 B.必要条件 C.充分必要条件 D.什么也不是3.设有4个作业同时到达,每个作业的执行时间是2min,它们在一台处理机上按单道方式运行,则平均周转时间为_B__。

A.1min B.5min C.2.5min D.8min4.若系统中有8台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许_C__各进程参与竞争,而不会发生死锁。

A.5 B .6 C .7 D .85.响应比高者优先作业调度算法除了考虑进程在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.进程通过调度得到CPUB.优先级是进程调度的主要依据,一旦确定就不能改变C.在单CPU的系统中,任何时刻都有一个进程处于运行状态D.进程申请CPU得不到时,其状态为阻塞13.既考虑进程的等待时间,又考虑进程的执行时间的调度算法是__A__。

湘潭大学 操作系统 课程复习

湘潭大学 操作系统 课程复习
• • • • • 程序的顺序执行及其特征(理解) 程序的并发执行及其特征(理解) 进程的概念及其特征(掌握) 进程状态(掌握) 进程控制块(理解)
– 3.2 进程控制(理解)
• 进程创建和终止 • 进程阻塞和唤醒 • 进程挂起和激活
6
第3章
• 第3章 进程描述和控制
– 3.3 线程
• 线程简介(理解) • 多线程(掌握) • 线程实现与线程模型(理解)
• 第6章 输入输出系统
• 磁盘管理(不考) • 容错技术:廉价磁盘冗余阵列(了解)
16
第7章
• 第7章 文件管理
– 7.1 概述(理解)
• 文件、文件系统的定义
– 7.2 文件结构
• 逻辑结构(理解) • 物理结构:顺序结构、链接结构、索引结构(掌握 );直接文件、哈希文件(理解)
– 7.3 文件目录
10
第5章
• 第5章 存储器管理
– 5.4 页式存储管理
• 页、块、页表、地址结构、分页地址变换、快表( 掌握) • 两级页表、多级页表(理解)
– 5.5 段式与段页式存储管理
• 段、段表、地址结构、分段地址变换(掌握) • 分页和分段的区别(掌握) • 段页式存储管理(理解)
– 5.6 内存扩充技术(了解)
• 安全状态 • 银行家算法数据结构、流程 • 安全性算法
– 4.6 死锁检测和恢复(了解)
9
第5章
• 第5章 内存管理
– 5.1 概述(理解)
• 存储层次结构 • 存储管理的目的和任务
– 5.2 地址重定位(理解)
• 重定位的基本概念 • 补充:程序的装入、程序的链接
– 5.3 分区存储管理
• 单一连续、固定分区、可变分区分配(理解) • 分区分配算法(掌握) • 补充:哈希算法、伙伴系统(理解)

处理机调度与死锁习题

处理机调度与死锁习题

处理机调度和死锁习题第一部分:处理机的调度一、单项选择题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.8h6.若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业.长作和交互作业用户都满意,应采用()。

A.FCFS调度算法B.短作业优先调度算法C.时间片轮转调度算法D.多级反馈队列调度算法E.剥夺式优先级调度算法7.()优先级是在创建进程时确定的,确定之后在整个运行期间不再改变。

A.先来先服务B.动态C.短作业D.静态8.现在有三个同时到达的作业J1,J2和J3,它们的执行时间分别是T1,T2,T3,且T1 <T2 <T3。

系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()。

A.T1 + T2 + T3 B.(3 x Tl+2 x T2 + T3)/3C.(T1+T2+T3)/3 D.(TI+2 x T2+3 x T3 )/39.设有三个作业,其运行时间分别是2h,5h,3h,假定它们同时到达,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序是()。

操作系统第四章进程调度和死锁习题及答案

操作系统第四章进程调度和死锁习题及答案

第四章一、单项选择题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 )。

第4章 计算机操作系统答案 处理机调度

第4章 计算机操作系统答案 处理机调度

第四章处理机调度一、选择题: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、完成11、一种既有利于短小作业又兼顾到长作业的作业调度算法是()A、先来先服务 B 、轮转C、最高响应比优先D、均衡调度12、作业调度程序是从处于()状态的作业中选取一个作业并把它装入主存。

A、输入B、收容C、执行D、完成13、下列选项中哪一个不属于作业调度算法的评价因素()A、单位时间内运行尽可能多的作业B、使各种I/O设备得以充分利用C 、对所有的作业都是公平合理的 D、使处理机尽可能保持“空闲”。

14、下列选项中哪一项不属于JCB的主要内容()A 作业名B 作业类型C 资源要求D 作业完成时间15、作业调度程序为选中作业建立进程并为这些进程分配的系统资源不包括下列哪一项()A、内存B、外存C、外设D、虚拟内存16、在操作系统中,JCB是指()。

A、作业控制块B、进程控制块C、文件控制块 D 程序控制块17、作业调度算法包括下列选项中的那些种()。

操作系统原理-第四章 处理机调度(有答案)

操作系统原理-第四章  处理机调度(有答案)

第四章处理机调度4.3 习题4.3.1 选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。

A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。

A.Max[i,j]=Allocation[i,j]+Need[i,j]B.Need[i,j]= Allocation[i,j]+ Max[i,j]C.Max[i,j]= Available[i,j]+Need[i,j]D.Need[i,j]= Available[i,j]+ Max[i,j]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.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。

习题解答——第4章调度与死锁

习题解答——第4章调度与死锁

第4章调度与死锁思考与练习题2.考虑下面的进程集合:(1)(2)分别对以上两个进程集合,计算使用先来先服务(FCFS)、时间片轮转法(时间片q=1)、短进程优先(SPN)、最短剩余时间优先(SRT,时间片q=1)、响应比高者优先(HRRN)及多级反馈队列(MFQ,第1个队列的时间片为1,第i(i<1)个队列的时间片q=2(i-1))算法进行CPU调度,请给出各进程的完成时间、周转时间、带权周转时间,及所有进程的平均周转时间和平均带权周转时间。

解答:(1)平均带权周转时间W=(1+1.4+3.5+1.2+1.6)/5=8.7/5=1.74平均带权周转时间W= (2+2.5+2+1.8+1.6)/5=9.4/5=1.98平均带权周转时间W=(1+1.8+1+1.2+1.6)/5=6.6/5=1.32平均带权周转时间W=(1+1.8+1+1.2+1.6)/5=6.6/5=1.32平均带权周转时间W=(1+1.4+3.5+1.2+1.6)/5=8.7/5=1.74多级反馈队列:第1个队列的时间片为1,第i(i<1)个队列的时间片q=2(i-1))即:平均带权周转时间W= (1.33+2.5+1.8+1.8+1.6)/5=9.03/5=1.806(2)平均带权周转时间W=(1+1+9+1.89)/4=3.22平均带权周转时间W=(1+1.89+1+1.89)/4=1.45平均带权周转时间W=3.22平均带权周转时间W=1.25平均带权周转时间W=3.22平均带权周转时间W=1.4453.考虑系统中出现的情况:(1)计算每个进程还可能需要的资源,并填入表的“仍然需要”栏目中。

(2)系统当前是否处于安全状态?为什么?(3)系统当前是否死锁?为什么?(4)如果进程P3又有新的请求(0,2,0,0),系统是否可以安全地接受此请求?解答:存在安全序列<P1,P4,P5,P2,P3>(3)不会发生死锁,因为存在安全序列,进程按此顺序执行可保证不死锁。

处理机调度与死锁

处理机调度与死锁

优先权的类型
• 静态优先权还是动态优先权 • 1)静态优先权:在创建进程是确定,而且 在整个运行期间保持不变。 • 确定进程优先权的依据: • 1)进程类型。一般来说系统进程的优先权 高于用户进程的优先权。 • 2)进程对资源的需求。对资源需求少的进 程应该赋予高的优先权。 • 3)用户要求。用户进程的紧迫程度。 静态优先权简单易行,系统开销小,很可能
进程调度中的三个基本机制
• 1、排队器。为了提高进程调度的效率,应 事先将系统中所有的就绪进程按照一定的 方式排成一个或者多个队列,以便调度程 序能最快的找到它。 • 2、分派器。分派器把由进程调度程序所选 定的进程,从就绪队列中取出该进程,然 后进行上下文切换,将处理机分配给它。 • 3、上下文切换机制。当对处理机进行切换 的时候,会发生两队上下文切换操作。在
• 注意:上下文切换会花去不少的处理器时 间,每一次上下文切换大约需要花费几毫 秒的时间,该时间大约可以执行上千条指 令。为此,现在已有通过硬件的方法来减 少上下文切换的时间。一组寄存器供处理 机在系统态时使用,另一组寄存器供应用 程序使用。在这种条件下的上下文切换只 需改变指针,使其指向当前寄存器组即可。
进程调度方式
• 1、非抢占方式。在采用这种调度方式时, 一旦把处理机分配给某个进程后,不管它 要运行多长时间,都一直让它运行下去, 决不会因为时钟中断等原因而抢占正在运 行进程的处理机,也不允许其他进程抢占 已经分配给它的处理机。直至该进程完成, 自愿释放处理机,或发生某事件而被阻塞 时,才把处理机分配给其它进程。
非抢占调度方式引起调度的因素
• 1、正在执行的进程执行完毕,或因发生某 事件而不能再继续执行。 • 2、执行中的进程因提出IO请求而暂停执行 • 3、在进程通信或者同步过程中执行了某种 原语操作,如P操作、block原语、wakeup 原语等。

操作系统处理机调度与死锁习题

操作系统处理机调度与死锁习题

处理机调度和死锁习题第一部分:处理机的调度一、单项选择题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.8h6.若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业.长作和交互作业用户都满意,应采用()。

A.FCFS调度算法B.短作业优先调度算法C.时间片轮转调度算法D.多级反馈队列调度算法E.剥夺式优先级调度算法7.()优先级是在创建进程时确定的,确定之后在整个运行期间不再改变。

A.先来先服务B.动态C.短作业D.静态8.现在有三个同时到达的作业J1, J2和J3,它们的执行时间分别是T1, T2,T3,且T1 <T2 <T3。

系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()。

A. T1 + T2 + T3 B.(3 x Tl+2 x T2 + T3)/3C.(T1+T2+T3)/3 D.(TI+2 x T2+3 x T3 )/39.设有三个作业,其运行时间分别是2h, 5h, 3h,假定它们同时到达,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序是()。

计算机操作系统名词解释

计算机操作系统名词解释

第一章引论1操作系统:操作系统是管理和控制计算机系统内各种硬件和软件资源,有效地组织多道程序运行的系统软件(或程序集合),是用户与计算机之间的接口。

2管态:当执行操作系统程序时,处理机所处的状态3目态:当执行普通用户程序时,处理机所处的状态。

4多道程序设计:在这种设计技术下,内存中能同时存放多道程序,在管理程序的控制下交替的执行。

这些作业共享CPU和系统中的其他资源。

5并发:是指两个或多个活动在同一给定的时间间隔中进行。

它是宏观上的概念。

6并行:是指两个或多个活动在同一时刻同时执行的情况。

7吞吐量:在一段给定的时间内,计算机所能完成的总工作量。

8分时:就是对时间的共享。

在分时系统中,分时主要是指若干并发程序对CPU时间的共享。

9实时:表示“及时”或“既时”。

10系统调用:是用户在程序中能以“函数调用”形式调用的、由操作系统提供的子功能的集合。

每一个子功能称作一条系统调用命令。

它是操作系统对外的接口,是用户级程序取得操作系统服务的唯一途径。

11特权指令:指指令系统中这样一些指令,如启动设备指令、设置时钟指令、中断屏蔽指令和清内存指令,这些指令只能由操作系统使用。

12命令解释程序:其主要功能是接收用户输入的命令,然后予以解释并且执行。

13脱机I/O:是指输入/输出工作不受主机直接控制,而由卫星机专门负责完成I/O,主机专门完成快速计算任务,从而二者可以并行操作。

14联机I/O:是指作业的输入、调入内存及结果输出都在CPU直接控制下进行。

15资源共享:是指计算机系统中的资源被多个进程所功用。

例如,多个进程同时占用内存,从而对内存共享;它们并发执行时对CPU进行共享;各个进程在执行过程中提出对文件的读写请求,从而对磁盘进行共享等等。

第二章进程和线程1顺序性:是指顺序程序所规定的每个动作都在上个动作结束后才开始的特性。

2封闭性:是指只有程序本身的动作才能改变程序的运行环境。

3可再现性:是指程序的执行结果与程序运行的速度无关。

操作系统第4章(调度与死锁习题与解答)

操作系统第4章(调度与死锁习题与解答)

第4章调度与死锁习题与解答4.2 例题解析例4.2.1 当前运行的进程(),将引发系统进行进程调度。

A.执行了一条转移指令B.要求增加主存空间,经系统调用银行家算法进行测算认为是安全的C.执行了一条I/O指令D.执行程序期间发生了I/O完成中断解本题考核进程调度的时机,相关的概念有:(1)进程执行转移指令表示CPU将转到一个新程序段去,并不是转到一个新进程,因而不会重新分配CPU。

(2)当前进程提出主存请求时,若系统认为分配是安全的,则可以立即使进程的请求得到满足,不会因而造成进程阻塞。

因此不会分配CPU。

(3)当前进程执行了I/O指令,提出了输入输出请求。

由于I/O是低速的,因此不能让CPU等待I/O完成。

因此需要阻塞当前进程,重新分配CPU。

(4)当前进程运行程序期间发生了I/O完成中断,说明有一个处于阻塞队列上的进程,正等待此I/O事件的出现。

因此可在中断处理程序中查出等待的进程,将它唤醒。

然后再返回到当前进程来执行。

只要恢复当前进程的现场信息就可以了,不会重新分配CPU。

正确答案应为C。

例4.2.2分时系统中的当前运行进程连续获得了两个时间片,原因可能是()。

A.该进程的优先级最高B.就绪队列为空C.该进程最早进入就绪队列D.该进程是一个短进程解(1)在分时系统中,诸多进程以轮流方式分享CPU,一般不考虑进程的优先级。

(2)当前进程运行完一个时间片后回到就绪队列,如果此刻就绪队列为空队列,那么下一个时间片仍然由该进程使用CPU。

(3)在分时系统中,诸多进程轮流地使用CPU,并不考虑进程进入就绪队列的时间,也不登记进程进入就绪队列的时间。

(4)分时系统中诸多进程轮流使用CPU不考虑进程的长短,也不登记进程预估将运行多长时间。

正确答案应为B。

例4.2.3有三个作业A(到达时间8:50,执行时间1.5小时)、B(到达时间9:00,执行时间0.4小时)、C(到达时间9:30,执行时间1小时)。

当作业全部到达后,单道批处理系统按照响应比高者优先算法进行调度,则作业被选中的次序是()。

(完整版)操作系统复习题附答案

(完整版)操作系统复习题附答案
空闲让进,忙则等待,有限等待,让权等待,多种择一
3、进程高级通信的3种机制?主从式,会话式,消息队列或邮箱方式,共享存储区方式
五、应用题
1、信号量操作解决问题:互斥、前趋关系图、经典同步问题。
第3章处理机调度与死锁
一、填空题
1、产生死锁的原因,一是竞争资源,二是进程的(运行推进的顺序)不当。
2、死锁是系统中两个或两个以上的进程由于竞争系统资源而出现的一种(处于无限期等待,系统处于停滞状态)现象。
2、像打印机这类一次只允许一个进程使用的资源称为临界资源。T
3、进程是静态的,程序是动态的。F
4、进程互斥关系是一种特殊的进程同步关系。T
四、简答题
1、简述进程的5个特征。动态性,并发性,独立性,制约性,异步性,结构性。
2、什么叫进程同步机制?请叙述进程同步机制的4条准则。
进程同步时指系统中多个进程发生的事件存在某种时序关系,需要相互合作,共同完成一项任务
A.寻道时间B.旋转延迟时间C.传输时间D.周转时间
6.磁盘访问中把数据从磁盘读出,或向磁盘写入数据所花费的时间叫做(D)。
A.寻找指定柱面的时间B.旋转延迟时间C.周转时间D.传输时间
三、判断题
1、在DMA控制方式下,外部设备与CPU之间直接进行成批的数据交换。(错,与存储器)
2、通道执行CPU指令构成的程序,与设备控制器一起共同实现对I/O设备的控制。(错,通道执行通道指令构成的程序,通道本身是一个处理机,指令非常单一,通道没有独立的内存)
11
第5章设备管理
一、填空题
1、磁盘的访问时间包括三部分时间,寻道时间、(旋转延迟时间)和传输时间。(其中寻道时间)
2、在联机情况下实现的同时与外围设备联机操作的技术,称为(联机输入输出或假脱机)。

现代操作系统课后答案

现代操作系统课后答案

现代操作系统课后答案现代操作系统课后答案【篇一:现代操作系统习题答案】>(汤小丹编电子工业出版社2008.4)第1章操作系统引论习题及答案1.11 os有哪几大特征?其最基本的特征是什么?答:并发、共享、虚拟和异步四个基本特征,其中最基本的特征是并发和共享。

1.15 处理机管理有哪些主要功能?其主要任务是什么?答案略,见p17。

1.22 (1)微内核操作系统具有哪些优点?它为何能有这些优点?(2)现代操作系统较之传统操作系统又增加了哪些功能和特征?第2章进程的描述与控制习题及答案略第3章进程的同步与通信习题及答案3.9 在生产者-消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果将会有何影响?答:资源信号量full表示缓冲区中被占用存储单元的数目,其初值为0,资源信号量empty表示缓冲区中空存储单元的数目,其初值为n,signal(full)在生产者进程中,如果在生产者进程中缺少了signal(full),致使消费者进程一直阻塞等待而无法消费由生产者进程生产的数据;signal(empty)在消费者进程中,如果在消费者进程中缺少了signal(empty),致使生产者进程一直阻塞等待而无法将生产的数据放入缓冲区。

3.13 试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法。

答:参考答案一:至多只允许有四位哲学家同时去拿左边的筷子,最终能保证至少有一位哲学家能够进餐,并在用毕时能释放出他用过的两支筷子,从而使更多的哲学家能够进餐。

采用此方案的算法如下:var chopstick:array[0,…,4] of semaphore :=1;room:semphore:=4;repeatwait(room);wait(chopstick[i]);wait(chopstick[(i+1) mod 5]);…eat;…signal(chopstick[i]);signal(chopstick[(i+1) mod 5);signal(room);…think;until false;第4章处理机调度与死锁习题及答案4.1 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?答:略,见p73。

操作系统随堂练习答案

操作系统随堂练习答案

1.实时操作系统必须在内处理完来自外部的事件;A.响应时间B.周转时间C.被控对象规定时间 D.调度时间答题: A. B. C. D. 已提交参考答案:C问题解析:2.操作系统是对进行管理的软件;A.软件B.硬件C.计算机资源 D.应用程序答题: A. B. C. D. 已提交参考答案:C问题解析:3.配置了操作系统的计算机是一台比原来的物理计算机功能更强的计算机,这样的一台计算机只是一台逻辑上的计算机,称为计算机;A. 并行B. 真实C. 虚拟 D. 共享答题: A. B. C. D. 已提交参考答案:C问题解析:4.操作系统中采用多道程序设计技术提高了CPU和外部设备的A. 利用率B. 可靠性C. 稳定性 D. 兼容性答题: A. B. C. D. 已提交参考答案:A问题解析:5.在操作系统中,并发性是指若干事件____发生A. 在同一时刻B. 在不同时刻C. 在某一时间间隔内D. 依次在不同时间间隔内答题: A. B. C. D. 已提交参考答案:CA. B. C.A. B. C. ......1.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入互斥段,则信号量的初值应设置为A. 3B. 2C. 1D. 0答题: A. B. C. D. 已提交参考答案:B问题解析:2.若信号量S的初值为2,当前值为-1,则表示有____个等待进程A. 0B. 1C. 2D. 3答题: A. B. C. D. 已提交参考答案:B问题解析:3.临界区是A. 一个缓冲区B.一段共享数据区C.一段程序 D. 一个互斥资源答题: A. B. C. D. 已提交参考答案:C问题解析:4.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入互斥段,则信号量的初值应设置为A. 3B. 2C. 1D. 0答题: A. B. C. D. 已提交参考答案:B问题解析:5.操作系统通过管理进程;A. JCBB. PCBC. DCTD. CHCT答题: A. B. C. D. 已提交参考答案:B问题解析:6.一个进程被唤醒意味着;A. 该进程重新占有了CPUB. 它的优先权变为最大C. 其PCB移至等待队列队首D. 进程变为就绪状态答题: A. B. C. D. 已提交参考答案:D问题解析:7.新创建的进程处于状态A. 就绪B.执行C.完成 D.阻塞答题: A. B. C. D. 已提交参考答案:A问题解析:8.进程映像不包括A.PCB B;进程程序C;进程数据D;进程通信答题: A. B. C. D. 已提交参考答案:D问题解析:9.进程的三种基本状态是就绪、运行、阻塞状态. . . . . . ..1.设有四个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理机上按单道方式运行,则平均周转时间为A. 1小时B. 5小时C. 2.5小时 D. 8小时答题: A. B. C. D. 已提交参考答案:B问题解析:2.设四道作业J1、J2、J3和J4同时到达,运行时间分别为T1,T2,T3,T4,满足T1>T2>T3>T4;若在单道方式下采用最长作业优先算法,平均周转时间为A. T1+T2+T3+T4B. T1+T2+T3+T4/4C. T1+T2/4+T32/4+T43/4D. T1+T23/4+T32/4+T4/4答题: A. B. C. D. 已提交参考答案:D问题解析:3.在下列解决死锁的方法中,属于死锁预防策略的是A. 银行家算法B. 有序资源分配法C. 死锁检测法D. 资源分配图化简法答题: A. B. C. D. 已提交参考答案:C问题解析:4.某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是A. 9B. 10C. 11D. 12A. B. C.A. B. C. .....1.页式虚拟存储管理的主要特点是A. 不要求将作业装入到主存的连续区域B. 不要求将作业同时全部装入到主存的连续区域C. 不要求进行缺页中断处理D. 不要求进行页面置换答题: A. B. C. D. 已提交参考答案:B问题解析:2.在可变式分配方案中,最佳适应算法是将空白区在空白区表中按次序排列;A. 地址递增B. 地址递减C. 容量递增D. 容量递减答题: A. B. C. D. 已提交参考答案:C问题解析:3.下列哪项不是段式存储器管理的优点A. 便于内存保护B. 可以方便实现内存共享C. 与用户编程结构一致D. 可以减少访问内存次数答题: A. B. C. D. 已提交参考答案:D问题解析:4.操作系统中采用了以空间换时间的技术A. SPOOLING技术B. 覆盖技术C. 通道技术 D. 虚拟存储技术答题: A. B. C. D. 已提交参考答案:B问题解析:5.联想存储器在计算机系统中是用于A. 存储文件信息B. 与主存交换信息C. 内存地址变换D. 内存管理信息答题: A. B. C. D. 已提交参考答案:C问题解析:6.设主存的容量为8MB,辅存的容量为50MB,计算机地址总线宽度为24位,则虚存的最大容量为A. 8MBB. 50MB+8MBC. 50MB+224MBD. 224MBE. 以上答案均不对答题: A. B. C. D. 已提交参考答案:B问题解析:7.页式内存管理是一种不连续的内存分配方法答题:对. 错. 已提交参考答案:√问题解析:8.循环首次适应算法往往造成系统缺少大的空闭分区答题:对. 错. 已提交参考答案:√问题解析:9.页式比段式内存管理方便程序共享答题:对. 错. 已提交参考答案:×问题解析:10.虚拟存储器是根据程序的局总性原理实现的答题:对. 错. 已提交参考答案:√问题解析:11.对换性是虚拟存储器的一个特点答题:对. 错. 已提交参考答案:√问题解析:1.从资源分配角度看,外设可分为若干种,其中不包括A. 虚拟设备B. 物理设备C. 独占设备 D. 共享设备答题: A. B. C. D. 已提交参考答案:B问题解析:2.关于SPOOLING的叙述中, 的描述是不正确的;A. SPOOLING系统中不需要独占设备B. SPOOLING系统加快了作业执行的速度C. SPOOLING系统使独占设备变成共享设备D. SPOOLING利用了处理器与通道并行工作的能力答题: A. B. C. D. 已提交参考答案:A问题解析:3.从资源分配角度看,外设可分为若干种,其中不包括A. 虚拟设备B. 物理设备C. 独占设备 D. 共享设备答题: A. B. C. D. 已提交参考答案:B问题解析:4.大多低速设备都属于A. 独享设备B.共享设备C.虚拟设备D.SPOOLING 设备答题: A. B. C. D. 已提交参考答案:A问题解析:5.按分类可将设备分为块设备和字符设备;A. B. C.A. B. C. ........1.下列文件中属于逻辑结构的文件是A. 连续文件B. 系统文件C. 散列文件 D. 流式文件答题: A. B. C. D. 已提交参考答案:D问题解析:2.位示图法主要用于A. 页面置换B. 磁盘空间管理C. 文件目录查找D. 磁盘驱动调度答题: A. B. C. D. 已提交参考答案:B问题解析:3.为了解决不同用户文件的“命名冲突”问题,通常在文件系统中采用A. 对换B. 多级目录C. 路径D. 索引答题: A. B. C. D. 已提交参考答案:B问题解析:4.文件系统的主要目的是A. 实现对文件的按名存取B. 实现虚拟存储C. 提高外存的读写速度D. 用于存储系统文件答题: A. B. C. D. 已提交参考答案:A问题解析:5.一个文件的相对路径是从开始,逐步沿着各级子目录追溯,最后到指定文件的整个通路上所有子目录名组成的一个字符串;A. 当前目录B. 根目录C. 多级目录 D. 二级目录答题: A. B. C. D. 已提交参考答案:A问题解析:6.文件系统的主要目的是A. 实现对文件的按名存取B. 实现虚拟存储C. 提高外存的读写速度D. 用于存储系统文件答题: A. B. C. D. 已提交参考答案:A问题解析:7.用磁带作为文件存储介质时,文件只能组织成A. 顺序文件B. 链接文件C. 索引文件 D. 目录文件A. B. C. .......1. OSI七层模型中负责在通信实体间建立可靠、透明的端对端数据传输通道;A、物理层B、数据链路层C、网络层D、传输层答题: A. B. C. D. 已提交参考答案:D问题解析:2.网络管理的功能不包括A、配置管理B、故障管理C、安全管理D、计费管理答题: A. B. C. D. 已提交参考答案:D问题解析:3.下列哪个不是NOS的基本功能A、控制流量B、选择路由C、多路复用D、数据迁移答题: A. B. C. D. 已提交参考答案:D问题解析:4.常用的网络拓扑结构有星形、树形、总线形、环形等答题:对. 错. 已提交参考答案:√问题解析:5.学校的校园网是一种广域网答题:对. 错. 已提交参考答案:×.。

操作系统原理-第四章处理机调度知识点及习题

操作系统原理-第四章处理机调度知识点及习题

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

⑵作业状态变迁图:图4-1 作业状态及变迁3、作业调度和调度的功能⑴. 作业调度的任务后备状态→执行状态执行状态→完成状态⑵作业调度的功能①记录系统中各个作业的情况②按照某种调度算法从后备作业队列中挑选作业③为选中的作业分配内存和外设等资源④为选中的作业建立相应的进程⑤作业结束后进行善后处理工作4、进程调度和调度的功能1). 进程调度:后备状态→执行状态2). 进程调度时机:任务完成后、等待资源时、运行到时了、发现重调标志3). 进程调度的功能:保存现场、挑选进程、恢复现场5、两级调度模型 作业调度和进程调度的区别6、评价调度算法的指标调度性能评价准则:CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间(1)吞吐量:单位时间内CPU完成作业的数量(2)周转时间:1) 周转时间=完成时刻-提交时刻2) 平均周转时间=周转时间/n3) 带权周转时间=周转时间/实际运行时间4) 平均带权周转时间=带权周转时间/n7、作业与进程调度算法(1)先来先服务(FCFS)调度算法的实现思想:按作业(进程)到来的先后次序进行调度,即先来的先得到运行。

用于作业调度:从作业对列(按时间先后为序)中选择队头的一个或几个作业运行。

用于进程调度:从就绪队列中选择一个最先进入该队列的进程投入运行。

例如设有三个作业,编号为1,2,3。

各作业分别对应一个进程。

各作业依次到达,相差一个时间单位。

①图示出采用FCFS方式调度时这三个作业的执行顺序②算出各作业的周转时间和带权周转时间(2)时间片轮转(RR)调度算法的实现思想:系统把所有就绪进程按先进先出的原则排成一个队列。

新来的进程加到就绪队列末尾。

最新操作系统之调度算法和死锁中的银行家算法习题答案

最新操作系统之调度算法和死锁中的银行家算法习题答案

1. 有三个批处理作业,第一个作业10:00 到达,需要执行2 小时;第二个作业在10:10 到达,需要执行1 小时;第三个作业在10:25 到达,需要执行25 分钟。

分别采用先来先服务,短作业优先和最高响应比优先三种调度算法,各自的平均周转时间是多少?解:先来先服务:(结束时间=上一个作业的结束时间+执行时间周转时间=结束时间-到达时间=等待时间+执行时间)短作业优先:1)初始只有作业1,所以先执行作业1,结束时间是12:00,此时有作业2和3;2)作业3需要时间短,所以先执行;最高响应比优先:高响应比优先调度算法既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。

1)10:00只有作业1到达,所以先执行作业1;2)12:00时有作业2和3,作业2:等待时间=12:00-10:10=110m;响应比=1+110/60=2.8;作业3:等待时间=12:00-10:25=95m,响应比=1+95/25=4.8;所以先执行作业32. 在一单道批处理系统中,一组作业的提交时刻和运行时间如下表所示。

试计算一下三种作业调度算法的平均周转时间T 和平均带权周转时间W。

(1)先来先服务;(2)短作业优先(3)高响应比优先解:先来先服务:短作业优先:作业顺序:1)8:00只有作业1,所以执行作业1;2)9:00有作业2和3,作业3短,所以先执行3;3)9:12有作业2和4,作业4短,所以先执行4;高响应比优先:作业顺序:1)8:00只有作业1,所以执行作业1;2)9:00有作业2和3作业2等待时间=9:00-8:30=30m,响应比=1+30/30=2;作业3等待时间=9:00-9:00=0m,响应比=1+0/12=1;所以执行作业2;3)9:30有作业3和4作业3等待时间=9:30-9:00=30m,响应比=1+30/12=3.5;作业4等待时间=9:30-9:06=24m,响应比=1+24/6=5;所以执行作业44)执行作业33.设系统中有3 种类型的资源(A,B,C)和5 个进程(P1,P2,P3,P4,P5),A 资源的数量为17, B 资源的数量为5, C 资源的数量为20。

第4章 处理机调度与死锁复习题答案

第4章 处理机调度与死锁复习题答案

第4章处理机调度与死锁练习题(一)单项选择题1.用户要求计算机处理的一个计算问题称为一个( )。

A.进程 B程序 c.作业 D系统调度2.一个作业的完成要经过若干加工步骤,这每个步骤称为( )。

A.作业流B.子程序 c.子进程 D.作业步3.通常一个批处理作业要经过若干作业步才能完成,系统要求用户( )给出说明。

A.只能在作业提交时 B.只能在作业执行过程中 c.在作业提交时或作业执行过程中 D.不必4.在批处理系统中,作业控制说明书是用操作系统提供的( )编写而成的。

A.c语言 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.作业等待时间与系统调度时间之比11.作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( )来决定。

A.设备管理 B.作业控制 C.驱动调度 D、进程调度12.在分时系统控制下,对终端用户采用( )方法使每个终端作业去占用处理器。

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

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

第一章操作系统引论一、单项选择题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,操作系统中采用多道程序设计技术提高CPU和外部设备的_______。

A.利用率 B.可靠性C.稳定性 D.兼容性7.操作系统是现代计算机系统不可缺少的组成部分,是为了提高计算机的_______和方便用户使用计算机而配备的一种系统软件。

A. 速度B.利用率C. 灵活性 D.兼容性8.操作系统的基本类型主要有_______。

A.批处理系统、分时系统及多任务系统B.实时操作系统、批处理操作系统及分时操作系统C.单用户系统、多用户系统及批处理系统D.实时系统、分时系统和多用户系统9.所谓_______是指将一个以上的作业放入主存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。

A. 多重处理 B.多道程序设计C. 实时处理 D.并行执行10. _______操作系统允许在一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。

A.网络 D.分布式C.分时 D.实时11.如果分时操作系统的时间片一定,那么_______,则响应时间越长。

A.用户数越少B.用户数越多C.内存越少 D. 内存越多12,分时操作系统通常采用_______策略为用户服务。

A.可靠性和灵活性 B.时间片轮转C.时间片加权分配 D,短作业优先13. _______操作系统允许用户把若干个作业提交给计算机系统。

操作系统复习(选择题)

操作系统复习(选择题)

操作系统复习(选择题)第一章操作系统引论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. CPU利用率低B. 不能并发执行C. 缺少交互性D. 以上都不是9.设计实时操作系统时,首先要考虑系统的。

A.实时性和可靠性B.实时性和灵活性C.灵活性和可靠性D.灵活性和可移植性10.主要由于原因,使UNIX易于移植。

A、UNIX是由机器指令书写的B、UNIX大部分由汇编少部分用C语言编写C、UNIX是用汇编语言编写的D、UNIX小部分由汇编大部分用C语言编写第二章进程管理1.下列的进程状态变化中,的变化是不可能发生的。

A. 运行→就绪B. 运行→等待C. 等待→运行D. 等待→就绪2. 进程具有并发性和两大重要属性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Resource = (R1, R2, … ,Rm) Available = (V1, V2, … ,Vm)
Max =
M11 M12 … M1m M21 M22 … M2m …… …… Mn1 Mn2 … Mnm C11 C12 … C1m C21 C22 … C2m …… …… Cn1 Cn2 … Cnm A11 A12 … A1m A21 A22 … A2m …… …… An1 An2 … Anm
存在安全序列<P2,P1,P3> 存在安全序列
安全状态
——实例
系统有三个进程P1、 、 ,共有12台磁带机 台磁带机, 系统有三个进程 、P2、P3,共有 台磁带机,进程 P1要求 台,P2要求 台,P3要求 台。在T0时刻, 要求10台 要求4台 要求9台 时刻, 要求 要求 要求 时刻 进程P1、 、 已获得 已获得7、 、 台 尚有1台未分配 台未分配, 进程 、P2、P3已获得 、2、2台,尚有 台未分配, 系统是否处于安全状态? 问:系统是否处于安全状态? 进程 P1 P2 P3 最大需求 10 4 9 已分配 7 2 2 可用 1
第4 章
调度与死锁
●调度类型与准则
本章要点
●调度算法
●死锁的基本概念 ●死锁的预防与避免 ●死锁的检测与解除

4.3 死锁的基本概念
一组竞争系统资源或相互通信的进程相互的“永久” 一组竞争系统资源或相互通信的进程相互的“永久” 阻塞。若无外力作用,这组进程将永远不能继续执行。 阻塞。若无外力作用,这组进程将永远不能继续执行。
不存在安全序列, 不存在安全序列,系统处于不安全状态
死锁的避免
●不安全状态:可能死锁 不安全状态: ●安全状态:一定能避免死锁 安全状态:
避免死锁的实质 ——如何使系统不进入不安全状态 如何使系统不进入不安全状态
Байду номын сангаас 银行家算法
数据结构定义
最著名的避免死锁的策略
系统中每种资源的总量 没有分配的每种资源总量 每个进程对每种资源的最大需求 Mij:第i个进程对第 种资源的最大需求 个进程对第j种资源的最大需求 第 个进程对第
(a)可能死锁
(b)死锁
产生死锁的原因
进程P 进程 …… get(A); …… get(B); …… release(A); …… release(B); ……
●资源数
A、B分别代 表某种资源 进程Q 进程 …… get(B); …… get(A); …… release(B); …… release(A); ……
安全状态
——实例
系统有三个进程P1、 、 ,共有12台磁带机 台磁带机, 系统有三个进程 、P2、P3,共有 台磁带机,进程 P1要求 台,P2要求 台,P3要求 台。在T0时刻, 要求10台 要求4台 要求9台 时刻, 要求 要求 要求 时刻 进程P1、 、 已获得 已获得5、 、 台 尚有3台未分配 台未分配, 进程 、P2、P3已获得 、2、2台,尚有 台未分配, 系统是否处于安全状态? 问:系统是否处于安全状态? 进程 P1 P2 P3 最大需求 10 4 9 已分配 5 2 2 可用 3
Need =
每个进程尚需的每种资源的数量
Allocation =
当前分配情况
银行家算法
分成两部分: ★银行家算法 分成两部分: 1.资源请求 ,进行资源预分配 资源请求 2.安全检测,若安全则真正资源分配,若不安全则回到预分配前的状态 安全检测, 安全检测 若安全则真正资源分配, 1.资源请求 资源请求 假设进程Pi提出资源请求 假设进程 提出资源请求 (1)如果 如果Request[*]≤Need[i, *],便转向步骤 ; 如果 [ ] [ ] 便转向步骤2; 否则认为出错, 因为它所请求的资源数已超过它所宣布需要的最大值。 否则认为出错, 因为它所请求的资源数已超过它所宣布需要的最大值。 (2)如果 (2)如果Request[*]≤Available[*],便转向步骤(3); 如果Request[*]≤Available[*] 便转向步骤(3); 否则, 表示尚无足够资源, 须等待 须等待。 否则, 表示尚无足够资源,Pi须等待。 (3)假定系统可以把资源分配给进程 , 并修改下面数据结构中的数值 假定系统可以把资源分配给进程 假定 系统可以把资源分配给进程Pi, :
消费者先行 死锁! 死锁!
问题的提出:对于生产者 消费者问题 消费者问题, 问题的提出:对于生产者-消费者问题,如果 操作的位置交换, 将P操作的位置交换,将产生什么样的后果? 操作的位置交换 将产生什么样的后果?
交换P操作的位置 交换 操作的位置
void producer() //生产者进程 生产者进程 {while (true) {produce an item in data_p; P(mutex); P(empty); buffer[i] = data_p; i = (i + 1) % n; V(mutex); V(full); } } void consumer()//消费者进程 消费者进程 {while (true) {P(full); P(mutex); data_c = buffer[j]; j = (j + 1) % n; V(mutex); V(empty); consume the item in data_c; } }
避免死锁是通过明智的选择, 避免死锁是通过明智的选择,确保系统永远不会 即动态地决定是否分配资源给进程! 到达死锁点 。即动态地决定是否分配资源给进程! 安全状态—与—不安全状态 安全状态 不安全状态
●安全状态是指系统至少存在一个安全序列 安全状态是指系统至少存在一个安全序列
<P1, P2, …, Pn>,按照这个序列为进程分配 ,按照这个序列为进程分配 资源,直到满足最大需求, 资源,直到满足最大需求,每个进程都可顺 序完成。 序完成。 若系统不存在这样一个安全序列, ●若系统不存在这样一个安全序列,则系统处 于不安全状态。 于不安全状态。
< 要求该种资源的进程数 ●进程的推进顺序非法
进程的推进顺序不当
进程Q 释放A P和Q都想要A 释放B 死锁 地带 申请A
y
(1) (2)
●(1)、(2) 、 、
(4) 、(5) 正常运行
●(3) 、(6)
P和Q都想要B
(3) (6) (5) (4) x
申请A 申请B 释放A 释放B 进程P
发生死锁
银行家算法
2.安全检测算法 安全检测算法 (1)设置两个向量: 设置两个向量: 设置两个向量 工作向量Work: 表示系统可提供给进程继续运行所需的各类资源 ① 工作向量 数目,它含有m个元素 初始时, 个元素。 数目,它含有 个元素。初始时,Work[*] =Available[*]; 表示系统是否有足够的资源分配给某进程, ② Finish: 表示系统是否有足够的资源分配给某进程,使之运行完成 初始时Finish[i]=false; 当有足够资源分配给进程时 , 令 Finish[i] 当有足够资源分配给进程时, 。 初始时 [] [] =true。 。 (2)从进程集合中找到一个能满足下述条件的进程: 从进程集合中找到一个能满足下述条件的进程: 从进程集合中找到一个能满足下述条件的进程 ① Finish[i]=false; [] ② Need[i,*]≤Work[*]; [ ] [ ] 若找到, 则执行步骤(3), 否则,执行步骤(4)。 若找到, 则执行步骤 , 否则,执行步骤 。 (3)当进程 获得资源后 , 可顺利执行 , 直至完成 , 并释放出分配给它 当进程Pi获得资源后 可顺利执行,直至完成, 当进程 获得资源后, 的资源,故应执行: 的资源,故应执行: ① Work[*]=Work[*]+Allocation[i, *]; [ ] [ ] [ ] ② Finish[i]=true; [] 返回步骤( 返回步骤 2); (4)如果所有进程的 如果所有进程的Finish[i]=true都满足, 则表示系统处于安全状态 都满足, 如果所有进程的 [] 都满足 否则,系统处于不安全状态。 ;否则,系统处于不安全状态。
优点: 优点:
– 方法简单
缺点: 缺点:
– 进程延迟运行 – 资源浪费 – 用户有时提不出他要使用的全部资源

4.4死锁的预防与避免 死锁的预防与避免
死锁的预防 方法
互斥条件不可禁止 去掉“请求保持条件” 去掉“请求保持条件”
–占有某些资源的进程,当它有新的资源请求被拒绝时, 占有某些资源的进程,当它有新的资源请求被拒绝时, 占有某些资源的进程 该进程停止运行,并释放它所占有的资源。当它再次 该进程停止运行,并释放它所占有的资源。 被执行时,重新申请资源。 被执行时,重新申请资源。 –如果一个进程请求另一个进程占有的资源,操作系统 如果一个进程请求另一个进程占有的资源, 如果一个进程请求另一个进程占有的资源 可以剥夺后者占有的资源, 可以剥夺后者占有的资源,要求它释放资源并将资源 分配给前者使用
Allocation[i, *]=Allocation[i, *]+Request[*]; [ ] [ ] [ ]
Available[*]=Available[*]-Request[*]; [ ] [ ] [ ] Need[i, *]=Need[i, *]-Request[*]; [ ] [ ] [ ] (4)系统执行安全检测算法, 检查此次资源分配后 , 系统是否处于安全 系统执行安全检测算法, 系统执行安全检测算法 检查此次资源分配后, 状态。若安全, 才正式将资源分配给进程Pi, 以完成本次分配; 否则, 状态 。 若安全 , 才正式将资源分配给进程 , 以完成本次分配 ; 否则 , 将本次的试探分配作废,恢复原来的资源分配状态,让进程Pi等待 等待。 将本次的试探分配作废,恢复原来的资源分配状态,让进程 等待。
相关文档
最新文档