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

第三章 处理机调度与死锁(3)
现有两道作业同时执行,一道以计算为主, 另一道以输入/输出为主,你将怎样赋予作 业的进程占有处理器的优先级,为什么? 让输入/输出为主的作业具有较高的优先级。 当作业占用处理器执行时,常常要启动外 围设备,一旦启动外围设备,它就会让出 处理器,另一道作业就可占用处理器,使 处理器和外围设备都处于忙状态。
P1 R1 P2 R2
第三章 处理机调度与死锁(8)
有5个进程Pa、Pb、Pc、Pd、Pe分别在系统时间0、1、2、 3、4时进入就绪队列,它们的优先数和需要的处理器时间如 下表所示。
忽略进程调度等所花费的时间,请回 答下列问题: 1.用一个执行时间图描述在采用“先 来先服务”、“短进程优先”、“非 抢占式优先级”和“抢占式优先级” 算法以及“时间片(时间片=1)轮转” 算法时执行这些作业的情况。 2.分别计算出对于上述算法,各个作 业的周转时间、带权周转时间及平均 值。
处理器调度采用可抢占式的优先级算法,忽略其它 辅助操作时间,回答下列问题:
分别计算作业J1~J3从开始到完成所用的时间 3个作业全部完成时CPU的利用率 3个作业全部完成时外设IO1的利用率
第三章 处理机调度与死锁(5)
判断及改错:
采用优先权调度算法时,处于运行状态的进程一定 是优先级最高的进程。( ) 分时系统中,时间片越小,响应时间越短。( )
下面不属于作业调度算法评估标准的是( )
A.CPU利用率 C.吞吐量 B.内存利用率 D.周转时间
有5个待运行作业J1~J5,各自预计运行的 时间分别是9,6,3,5和7。假定这些作 业同时到达,并且在一台处理机上按单道 方式执行。讨论采用哪种调度算法和哪种 运行次序将使平均周转时间最短,平均周 转时间为多少。
Ch3处理机调度与死锁习题课

高文宇 gwy@
• 1. 一台计算机有8台磁带机。它们由n个进程 竞争使用,每个进程可能需要三台磁带机。 请问n为多少时,系统没有死锁危险,并说明 原因。 • 2. 考虑由n 个进程共享的具有m个同类资源的 系统,证明:如果对i = 1,2,…,n,有 needi>0(即每个进程至少需要一个资源), 而且所有进程最大需求量之和小于m+n,那 么该系统一定不会发生死锁。
• 3. 某时刻,某一系统中各类资源分配情况如 下表,使用银行家算法判定这一时刻系统是 否安全?如果进程P1提出资源请求 (0,4,2, 0),按照银行家算法的要求系统能否将资源 分配给P1?
• 4. 假定在单道批处理环境下有5个作业,各作业进入 系统的时间和估计运行时间如下表所示:
作业 1 2 3 4 5 进入系统时间 8:00 8:20 8:30 9:00 9:10 估计运行时间/分钟 40 30 12 18 5
• 6.考虑下图的交通阻塞死锁现象,回答下面 问题: • (A)说明在此情况下,发生死锁的四个必 要条件都满足; • (B)试增加一个简单的约束,以排除死锁现 象。
• 再见
• (1)如果采用先来先服务(FCFS)调度算法,请 计算每个作业的完成时间,周转时间,以及作业平 均周转时间。 • (2)如果采用短作业优先(SJF)调度算法,请计 算每个作业的完成时间,周转时间,以及作业平均 周转时间。
• • • • •高响应比调度算法的优劣。 短作业优先 (1)短作业优先有最优的平均周转时间。 (2)在动态系统中,若不断有短作业到达,短作业优先调 度会“饿死”长进程。 (3)会导致恶意竞争。各个用户将自己的长作业分解成短 作业,从而导致系统切换代价增加,系统整体效率降低。 (4)需要在队列中进行插入操作,花费线性时间代价(可 以折半找到插入位置,但移动数据需要线性时间)。 高响应比优先 (1)响应比=1+等待时间/运行时间。 (2)在排队过程中,队列中的作业的响应比会发生变化, 并且队列中两个作业的相对位置可能会发生变化,因此每次 进行调度时需要花费线性时间从等待队列中找出响应比最大 的作业。
第3章处理机调度与死锁-题库及参考答案

第3章处理机调度与死锁-选择题参考答案一、选择题1.时间片轮转调度算法是为了()A.多个用户能及时干预系统B.使系统变得高效C.优先级较高的进程得到及时响应D.需要CPU时间最少的进程最先做2.在单处理器多进程系统中,进程什么时候占用处理器及决定占用时间的长短是由()决定的A.进程相应的代码长度B.进程总共需要运行的时间C.进程特点和进程调度策略D.进程完成什么功能3.()有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业。
A.时间片轮转调度算法B.先来先服务调度算法C.短作业(进程)优先算法D.优先权调度算法4.下面有关选择进程调度算法的准则中,不正确的是()A.尽快响应交互式用户的请求B.尽量提高处理器利用率C.尽可能提高系统吞吐量D.适当增长进程就绪队列的等待时间5.设有4个作业同时到达,每个作业的执行时间均为2h,它们在一台处理器上按单道式运行,则平均周转时间为()A.1hB.5hC.2.5hD.8h6.若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业、长作业和交互作业用户都满意,应采用()BECDA.FCFS调度算法B.短作业优先调度算法C.时间片轮转调度算法D.多级反馈队列调度算法E.剥夺式优先级调度算法7.()优先级是在创建进程时确定的,确定之后在整个运行期间不再改变A.先来先服务B.动态C.短作业D.静态8.现在有三个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2、T3且T1<T2<T3。
系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()A.T1+T2+T3B.(3T1+2T2+T3)/3C.(T1+T2+T3)/3D.(T1+2T2+3T3)/39.设有三个作业,其运行时间分别是2h、5h、3h,假定它们同时到达,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序是()A.J1,J2,J3B.J3,J2,J1C.J2,J1,J3D.J1,J3,J210. 【2013统考真题】某系统正在执行三个进程P1、P2和P3,各进程的计算(CPU时间和I/O 时间比例如下表所示进程计算时间I/O时间P1 90% 10%P2 50% 50%P3 15% 85%提高系统资源利用率,合理的进程优先级设置应为()A.P1>P2>P3B. P3>P2>P1C. P2>P1=P3D. P1>P2=P311.采用时间片轮转调度算法分配CPU时,当处于运行态的进程完一个时间片后,它的状态是()状态A.阻塞B.运行C.就绪D.消亡12.一个作业8:00到达系统,估计运行时间为1h。
计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块J CB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
第3章处理机调度与死锁课后习题解答

第3章 处理机调度与死锁
12.在解决死锁问题的几个方法中,哪种方法最易实现? 哪种方法资源利用率最高? 【解答】解决死锁问题的方法有:死锁的预防、死锁的避免、死锁
的检测和解除等。
死锁的预防:主要是破坏产生死锁的必要条件。该方法容易实现,但 资源的利用率低。 死锁的避免:比较常用的有银行家算法。在该算法中有一些数据结构 及必要的计算,因此,实现起来不太容易,但资源的利用率最高。 死锁的检测和解除:是基于死锁定理而设计的,定期或不定期运行该 算法对系统的状态进行检测,发现死锁便予以解除。其中,需要比较 一下各种死锁解除方案的代价,找到代价最小的方案。该算法资源利 用率较高,但最难实现。因此,在以上几种方法中,死锁的预防最易 实现;死锁的避免资源利用率最高。
15.说明Linux系统的进程有哪几个状态? 【解答】 Linux系统内核在进程控制块中用state成员描述 进程当前的状态,并明确定义了5种进程状态。它们分别 是: (1)TASK-RUNNING状态,Linux系统中的运行状态实 际包含了上述基本状态中的执行和就绪两种状态。 (2)TASK-INTERRUPTIBLE状态,可中断的等待态。 (3)TASK-UNINTERRUPTIBLE状态,等待态,不可中 断状态。 (4)TASK-ZOMBIE状态,僵死态。 (5)TASK-STOPPED状态,暂停态。
1
第3章 处理机调度与死锁
2.高级调度与低级调度的功能是什么? 【解答】高级调度即作业调度。作业调度又称为高 级调度或长调度,用于选择把外存上处于后备队列 中的哪些作业调入内存,并为它们创建进程、分配 必要的资源。然后,再将新创建的进程排在就绪队 列上,准备执行。低级调度又称为进程调度,它的 功能是按照某种策略和算法,将处理机分配给一个 处于就绪状态的进程。
第3章 处理机调度与死锁练习答案

第三章处理机调度与死锁一、单项选择题1、操作系统中的作业管理是一种(A )。
A.宏观的高级管理B.宏观的低级管理C.系统刚开始加电D.初始化引导完成2、作业调度又称为[1A],它决定将哪些在外存储器上的处于[2D]状态的作业调入主机内存。
系统经作业调度程序选中一个或多个作业后,就为它们分配必要的内存、设备及软资源。
然后控制权就交给了[3B],由[3]将它们变为一个或一组[4C],并[5A]。
供选择的答案:[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、为它们分配设备3、处于后备状态的作业存放在(A )中。
A.外存B.内存C.A和BD.扩展内存4、在操作系统中,JCB是指(A )。
A.作业控制块B.进程控制块C.文件控制块D.程序控制块5、作业在系统中存在与否的唯一标志是( C)。
A.源程序B.作业说明书C.作业控制块D.目的程序6、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指(A)调度算法。
A.先来先服务法B. 短作业优先法C.时间片轮转法D. 优先级法7、在批处理系统中,周转时间是(B )。
A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间8、为了对紧急进程或重要进程进行调度,调度算法应采用( B)。
A.先来先服务法B. 优先级法C.短作业优先法D. 时间片轮转法9、操作系统中,( A)负责对进程进行调度。
A.处理机管理B. 作业管理C.高级调度管理D. 存储和设备管理10.如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是短作业优先调度算法。
第3章 处理机调度与死锁练习题(答案)

第三章处理机调度与死锁一、单项选择题1、操作系统中的作业管理是一种(A )。
A.宏观的高级管理B.宏观的低级管理C.系统刚开始加电D.初始化引导完成2、作业调度又称为[1A],它决定将哪些在外存储器上的处于[2D]状态的作业调入主机内存。
系统经作业调度程序选中一个或多个作业后,就为它们分配必要的内存、设备及软资源。
然后控制权就交给了[3B],由[3]将它们变为一个或一组[4C],并[5A]。
供选择的答案:[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、为它们分配设备3、处于后备状态的作业存放在(A )中。
A.外存 B.内存 C.A和B D.扩展内存4、在操作系统中,JCB是指(A )。
A.作业控制块 B.进程控制块 C.文件控制块 D.程序控制块5、作业在系统中存在与否的唯一标志是( C)。
A.源程序 B.作业说明书 C.作业控制块 D.目的程序6、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指(A)调度算法。
A.先来先服务法B. 短作业优先法C.时间片轮转法D. 优先级法7、在批处理系统中,周转时间是(B )。
A.作业运行时间 B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间8、为了对紧急进程或重要进程进行调度,调度算法应采用( B)。
A.先来先服务法B. 优先级法C.短作业优先法D. 时间片轮转法9、操作系统中( A)负责对进程进行调度。
A.处理机管理 B. 作业管理 C.高级调度管理 D. 存储和设备管理10.如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是短作业优先调度算法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章处理机调度与死锁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、死锁定理的含义是什么?试简化下图进程-资源图,并利用死锁定理给出相应的结论。
P1R1 R2P2答:死锁定理:当且仅当资源分配图是不可完全简化的。
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的边,由死锁定理知,不会产生死锁。
12、4个进程的提交、运行时间如下表所示。
若采用(1)先来先服务算法;(2)最高响应比优先调度算法,试求出进程的执行顺序,进程的开始时间、完成时间、周转时间及进程的平均周转时间。
进程的提交与运行时间表(十进制)进程提交时间运行时间P1 8.0 2.0P2 8.4 0.3P3 8.6 0.1P4 9.0 0.2答:(1)先来先服务算法进程提交时间运行时间开始时间完成时间周转时间P1 8.0 2.0 8.0 10.0 2.0 P2 8.4 0.3 10.0 10.3 1.9 P3 8.6 0.1 10.3 10.4 1.8 P4 9.0 0.2 10.4 10.6 1.6 平均周转时间=(2+1.9+1.8+1.6)/4=1.825(1分)(2)最高响应比优先调度算法进程提交时间运行时间开始时间完成时间周转时间P1 8.0 2.0 8.0 10.0 2.0 P2 8.4 0.3 10.1 10.4 2.0 P3 8.6 0.1 10.0 10.1 1.5P4 9.0 0.2 10.4 10.6 1.6 a. P2响应比=1+(10-8.4)/0.3=6.3 P3响应比=1+(10-8.6)/0.1=15P4响应比=1+(10-9)/0.2=6因为P3响应比最高,所以执行进程3;b.P2响应比=1+(10.1-8.4)/0.3=6.7 P4响应比=1+(10.1-9)/0.2=6.5因为P2响应比最高,所以执行进程2;(2分)平均周转时间=(2.0+2.0+1.5+1.6)/4=1.775 (1分)13、设系统中有3中类型的资源(A,B,C)和5个进程P1、P2、P3、P4、P5,A类资源的数目为17,B类资源的数目为5,C类资源的数目为20。
在T时刻系统状态如下表所示。
系统采用银行家算法实施死锁避免策略。
3分3分资源情况 进程MaxA B C Allocation A B C Available A B CP1 5 5 9 2 1 2 2 3 3P2 5 3 6 4 0 2 P3 4 0 11 4 0 5 P4 4 2 5 2 0 4 P54 2 43 0 4(1)T 0时刻是否为安全状态?若是,给出安全序列。
(2)若在T 0时刻进程P2请求资源(0,3,4),是否能实施资源分配?为什么?解答:1)由题目所给出的最大资源需求量和已分配的资源数量,可以计算出T0时刻各进程的资源需求量Need ,Need =Max-Allocation ,利用银行家算法对T0时刻的资源分配情况进行分析,可得此时的安全性分析情况,如下表:Work A B CNeed A B C Allocation A B C Work+AllocationA B C Fin ish P5 2 3 3 1 1 0 3 1 4 5 4 7 T P4 5 4 7 2 2 1 2 0 4 7 4 11 T P3 7 4 11 0 0 6 4 0 5 11 4 16 T P2 11 4 16 1 3 4 4 0 2 15 4 18 T P115 4 183 4 72 1 217 5 20T从T 0的安全性分析中可以看出,存在一个安全序列{ P5、P4、P3、P2、P1},故T 0时刻的状态是安全的。
(8分)(2)若在T 0时刻进程P2请求资源(0,3,4),因请求资源数(0,3,4)大于剩余资源数(2,3, 3),所以不能分配。
(2分)14、若系统运行中出现如下表所示的资源分配情况,该系统是否安全?若是,给出安全序列;如果进程P2此时提出资源申请(1,2,2,2),系统能否将资源分配给它?为什么?Allocation (已分配资源数)Need (还需要资源数) Available (系统可以分配资源数) P0 0 0 3 2 0 0 1 2 1 6 2 2P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 3 3 2 0 6 5 2 P40 0 1 40 6 5 6进程资源情况进程资源情况答:(1)利用安全性算法对此刻的资源分配情况进行如下表的安全性检:Work Need Allocation Work+AllocationP0 1 6 2 2 0 0 1 2 0 0 3 2 1 6 5 4 P3 1 6 5 4 0 6 5 2 0 3 3 2 1 9 8 6 P4 1 9 8 6 0 6 5 6 0 0 1 4 1 9 9 10 P1 1 9 9 10 1 7 5 0 1 0 0 0 2 9 9 10 P22 9 9 102 3 5 61 3 5 43 12 14 14从表中可以看出,此时存在一个安全序列{P0,P3,P4,P1,P2},故系统是安全的。
(7分) (2) P2请求资源(1,2,2,2)<= P2需求资源(2,3,5,6)&<=剩余资源数(1,6, 2,2)Allocation Need A vailableP0 0 0 3 2 0 0 1 2 0 4 0 0P1 1 0 0 0 1 7 5 0 P2 2 5 7 6 1 1 3 4 P3 0 3 3 2 0 6 5 2 P40 0 1 40 6 5 6此时,可利用资源(0,4,0,0)已不能满足任何进程的需要,故系统进入不安全状态,故不能将资源分配给P2。
15、系统中有四个进程{ P0 , P1 , P2 , P3 }和三类资源{A , B , C},各种资源的数量分别为10,5,5,在T0时刻的资源分配情况如图所示,且已知T0时刻处于安全状态。
在T1时刻,如果进程P1发出请求向量Request1(1,0,2),试用银行家算法说明系统能否将资源分配给它?答:进程P 1发出请求向量Request 1(1,0,2),系统按银行家算法进行检查: (1)Request 1(1,0,2)≤Need 1(1,2,2);(1分) (2)Request 1(1,0,2)≤Available(3,3,2);(1分)(3)系统先假定可为P 1分配资源,并修改Available 1,Allocation ,Need 1向量,由此形成的资源变化情况如表所示:资源情况 进程 Max Allocation Need A vailable A B C A B C A B C A B C P0 P1 P2 P37 5 3 3 2 2 9 0 2 2 2 20 1 0 2 0 0 3 0 2 2 1 17 4 3 1 2 2 6 0 0 0 1 13 3 2进程资源情况进程资源情况(3分)(4)再利用安全性算法检查此时系统是否安全,过程如下所示: 资源情况 进程Work Need Allocation Work+ Allocation FinishA B C A B C A B C A B C P 1 P 3 P 0 P 22 3 0 5 3 2 7 4 3 7 5 30 2 0 0 1 1 7 4 3 6 0 03 0 2 2 1 1 0 1 0 3 0 25 3 2 7 4 3 7 5 3 10 5 5`True True True True有所进行的安全性检查得知,可以找到一个安全序列{ P 1 , P 3 , P 0 , P 2 , }。
因此系统是安全的,可以立即将P 1所申请的资源分配给它。
资源情况 进程Max Allocation Need A vailable A B C A B C A B C A B C P 0 P 1 P 2 P 37 5 3 3 2 2 9 0 2 2 2 20 1 0 3 0 2 3 0 2 2 1 17 4 3 0 2 0 6 0 0 0 1 12 3 0。