1、第三章 处理机调度与死锁,3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除,第三章 习题课,一、选择题 (1)在三种基本类型的操作系统中,都设置了_,在批处理系统中还应设置_,在分时系统中除了_,通常还设置了_。 A.剥夺调度 B.作业调度 C.进程调度 D.中级调度,C,B,C,D,第三章 习题课,一、选择题 (2)我们如果为每一个作业只建立一个进程,则为了照顾短作业用户,应采用_;为照顾紧急作业的用户,应采用_;为能实现人机交互作用采用_;而能使短作业、长作业及
2、交互作业用户都比较满意时,应采用_。 A.FCFS调度算法 B.短作业优先调度算法 C.时间片轮转法 D.多级反馈队列调度算法 E.基于优先权调度算法,B,E,C,D,第三章 习题课,一、选择题 (3)产生死锁的基本原因是_和_,产生死锁的四个必要条件是互斥条件,_,不剥夺条件和_。 A.资源分配不当 B.竞争资源 C.作业调度不当 D.资源的独占性 A.进程推进顺序不当 B.进程调度不当 C.系统中进程太多 D.CPU运行不快 A.请求和阻塞条件 B.请求和释放条件 C.请求和保持条件 D.释放和阻塞条件 A.线性增长条件 B.环路等待条件 C.无序释放条件 D.有序请求条件,B,A,C,B
3、,第三章 习题课,一、选择题 (4)实际操作系统,要兼顾资源的使用效率和安全可靠,对资源的分配策略,往往采用_策略。 A.预防死锁 B.避免死锁 C.检测死锁 D.三者的混合 (5)在下列死锁的解决办法中,属于预防死锁策略的是_。 A.银行家算法 B.资源有序分配法 C.死锁检测法 D.资源分配图化简法,D,B,第三章 习题课,二、填空题 (1)资源的一次分配法和有序分配法分别破坏了产生死锁的必要条件中的_和_,它们属于_,而银行家算法属于_。 (2)作业调度是从_中选出一_作业,为它们分配_,并为它们创建_。,请求和保持条件,环路等待条件,预防死锁,避免死锁,后备作业队列,批,资源,进程,第
4、三章 习题课,二、填空题 (3)最有利于提高系统吞吐量的作业调度算法是_;能对紧急作业进行及时处理的调度算法是_;能较好的满足短作业用户要求,又能适当的照顾长作业,以及照顾作业到达次序的调度算法是_。 (4)在高响应比优先的调度算法中,当各个作业的等待时间相同时,_将得到优先调度;当各个作业要求的运行时间相同时,_将得到优先调度。,短作业优先算法,高优先权优先算法,高响应比优先算法,短作业,最先到达者,等待时间最长者,第三章 习题课,三、应用题 1.设有三道作业,它们的提交时间和运行时间如下表: 作业号 提交时刻(时) 运行时间(小时)1 10.00 22 10.10 13 10.25 0.2
5、5 求:试给出下面两种调度算法下,作业的执行顺序、平均周转时间和平均带权周转时间。 (1)先来先服务FCFS调度算法 (2)短作业优先SJF调度算法,第三章 习题课,5.3,2.63,平均,12,3,13.25,13.00,0.25,10.25,3,2.9,2.90,13.00,12.00,1,10.10,2,1,2,12.00,10.00,2,10.00,1,带权周转时间,周转时间,完成时刻,开始时刻,运行时间,提交时刻,作业号,(1)先来先服务FCFS调度算法,第三章 习题课,4.05,2.38,平均,8,2,12.25,12.00,0.25,10.25,3,3.15,3.15,13.25
6、,12.25,1,10.10,2,1,2,12.00,10.00,2,10.00,1,带权周转时间,周转时间,完成时刻,开始时刻,运行时间,提交时刻,作业号,(2)短作业优先SJF调度算法,第三章 习题课,三、应用题 2.设有四道作业,它们的提交时间和运行时间如下表: 作业号 提交时刻(时) 运行时间(小时)1 8:00 2.02 8:50 0.53 9:00 0.14 9:50 0.2 求:试给出下面三种调度算法下,作业的执行顺序、平均周转时间和平均带权周转时间。 (1)先来先服务FCFS调度算法 (2)短作业优先SJF调度算法 (3)高响应比优先调度算法,第三章 习题课,(1)先来先服务F
7、CFS调度算法,6.29,1.647,4.83,58,10:48,10:36,0.2,9:50,4,16.00,96,10:36,10:30,0.1,9:00,3,3.34,100,10:30,10:00,0.5,8:50,2,1.00,120,10:00,8:00,2.0,8:00,1,带权周转时间,周转时间,完成时间,开始时间,运行时间,提交时间,作业号,第三章 习题课,(2)短作业优先SJF调度算法,4.57,1.38,2.34,28,10:18,10:06,0.2,9:50,4,11.00,66,10:06,10:00,0.1,9:00,3,3.93,118,10:48,10:18,0
8、.5,8:50,2,1.00,120,10:00,8:00,2.0,8:00,1,带权周转时间,周转时间,完成时间,开始时间,运行时间,提交时间,作业号,第三章 习题课,(3)高响应比优先调度算法,5.09,1.375,4.83,58,10:48,10:36,0.2,9:50,4,11.00,66,10:06,10:00,0.1,9:00,3,3.53,106,10:36,10:06,0.5,8:50,2,1.00,120,10:00,8:00,2.0,8:00,1,带权周转时间,周转时间,完成时间,开始时间,运行时间,提交时间,作业号,2: (70+30)/0.5=200 3: (60+6)
9、/0.1=660 4: (10+12)/0.2=110,2: (76+30)/0.5=212 4: (16+12)/0.2=140,第三章 习题课,三、应用题 3.假设某系统中有3种资源(R1,R2,R3),在某时刻系统中共有4个进程,进程(P1,P2,P3,P4)的最大资源需求数向量和此时已分配的资源数向量分别为:,第三章 习题课,三、应用题 系统中当前可用资源向量为(1,1,2),问: (1) 计算还需要资源数组; (2) 系统此时是否安全?,(4,2,0),(0,0,2),(4,2,2),P4,(1,0,3),(2,1,1),(3,1,4),P3,(1,0,2),(5,1,1),(6,1
10、,3),P2,(1,1,2),(2,2,2),(1,0,0),(3,2,2),P1,Available,Need,Allocation,Max,第三章 习题课,true,true,true,true,Finish,(1,0,0),(0,0,2),(2,1,1),(5,1,1),Allocation,(8,3,6),(8,3,4),(6,2,3),(1,1,2),Work,(9,3,6),(2,2,2),P1,(8,3,6),(4,2,0),P4,(8,3,4),(1,0,3),P3,(6,2,3),(1,0,2),P2,Work + Allocation,Need,三、应用题 系统中当前可用资
11、源向量为(1,1,2),问: (1) 计算还需要资源数组; (2) 系统此时是否安全?,第三章 习题课,(3) 如果进程P2发出资源请求向量(1,0,1),系统能否将资源分配给它? Request2(1, 0, 1)Need2(1, 0, 2) Request2(1, 0, 1)Available2(1, 1, 2),(6,1,2),(0,1,1),(0,0,1),第三章 习题课,true,true,true,true,Finish,(1,0,0),(0,0,2),(2,1,1),(6,1,2),Allocation,(8,3,6),(8,3,4),(6,2,3),(0,1,1),Work,(
12、9,3,6),(2,2,2),P1,(8,3,6),(4,2,0),P4,(8,3,4),(1,0,3),P3,(6,2,3),(0,0,1),P2,Work + Allocation,Need,三、应用题 再利用安全性算法检查此时系统是否安全。存在一个安全序列:P2, P3, P4, P1,第三章 习题课,(4) 如果进程P1发出资源请求向量(1,0,1),系统能否将资源分配给它? Request1(1, 0, 1)Need1(2, 2, 2) Request1(1, 0, 1)Available1(1, 1, 2),(2,0,1),(0,1,1),(1,2,1),不安全状态,第三章 习题课
13、,三、应用题 4.假设某系统中有4种资源,在某时刻系统中共有5个进程,进程(P0,P1,P2,P3,P4)的最大资源需求数向量和此时已分配的资源数向量分别为:,第三章 习题课,三、应用题 系统中当前可用资源向量为(2,1,0,0),问: (1) 计算进程还需要请求的资源向量; (2) 系统当前是处于安全状态么?,(2,1,0,0),Available,(0,3,2,0),(2,0,0,2),(6,6,2,2),(0,7,5,0),(0,0,0,0),Need,(0,3,3,2),(0,6,5,2),P4,(2,3,5,4),(4,3,5,6),P3,(0,0,3,4),(6,6,5,6),P2
14、,(2,0,0,0),(2,7,5,0),P1,(0,0,1,2),(0,0,1,2),P0,Allocation,Max,第三章 习题课,三、应用题 系统中当前可用资源向量为(2,1,0,0),问: (1) 计算进程还需要请求的资源向量; (2) 系统当前是处于安全状态么?,true,true,true,true,true,Finish,(0,0,3,4),(2,0,0,0),(0,3,3,2),(2,3,5,4),(0,0,1,2),Allocation,(6,7,9,8),(4,7,9,8),(4,4,6,6),(2,1,1,2),(2,1,0,0),Work,(6,7,12,12),(
15、6,6,2,2),P2,(6,7,9,8),(0,7,5,0),P1,(4,7,9,8),(0,3,2,0),P4,(4,4,6,6),(2,0,0,2),P3,(2,1,1,2),(0,0,0,0),P0,Work + Allocation,Need,第三章 习题课,(3) 当进程P2申请(0,1,0,0)时,系统能立即满足么? Request2(0,1,0,0)Need2(6,6,2,2) Request2(0,1,0,0)Available2(2,1,0,0),(0,1,3,4),(2,0,0,0),(6,5,2,2),第三章 习题课,三、应用题 再利用安全性算法检查此时系统是否安全。不存在安全序列,true,true,true,Finish,(0,1,3,4),(2,0,0,0),(0,3,3,2),(2,3,5,4),(0,0,1,2),Allocation,(4,6,9,8),(4,3,6,6),(2,0,1,2),(2,0,0,0),Work,(6,5,2,2),P2,(0,7,5,0),P1,(4,6,9,8),(0,3,2,0),P4,(4,3,6,6),(2,0,0,2),P3,(2,0,1,2),(0,0,0,0),P0,Work + Allocation,Need,不安全状态,