1、第三章第三章 处理机调处理机调度与死锁度与死锁内容提要内容提要n处理机调度及调度算法处理机调度及调度算法n产生死锁的原因和必要条件产生死锁的原因和必要条件n预防死锁的方法,死锁的检测与解除预防死锁的方法,死锁的检测与解除 n银行家算法银行家算法第三章第三章 处理机调度与死锁处理机调度与死锁 处理机调度:处理机调度:按一定方法动态地把处理机分配给就绪队列中的一个进程WHAT:按什么原则分配:按什么原则分配CPU进程调度算法进程调度算法WHEN:何时分配:何时分配CPU 进程调度的时机进程调度的时机 HOW:如何分配:如何分配CPU CPU调度过程(进程调度过程(进程 的上下文切换)的上下文切换)
2、第三章第三章 处理机调度与死锁处理机调度与死锁3.1 3.1 处理机调度的基本概念处理机调度的基本概念 1)1)调度类型调度类型 高级调度高级调度:即作业调度,选择后备作业进入内存,为其建立进程,分配资源并排在就绪队列。中级调度中级调度:即对换调度,将暂不运行的进程调到外存等待,从而提高内存利用率和系统吞吐量 低级调度低级调度:即进程调度进程调度,决定哪个进程可以占用CPU,进入运行状态。输入程序输入程序就就绪绪阻阻塞塞就就绪绪运运行行完完成成阻阻塞塞后后备备外存外存中级调度中级调度对换对换低级调度低级调度作业调度作业调度2)2)进程调度方式进程调度方式 调度方式是指但某一个进程正在处理机上执
3、行时如果有个更重要更紧迫的进程需要处理此时应该如何分配处理机。v非抢占方式非抢占方式 进程一旦被调度执行,除非进程完成或发生某事件被阻塞,否则不允许其他进程抢夺其执行权。v抢占方式抢占方式 允许按某种策略(原则)剥夺正在执行的进程的执行权 -优先权原则-短作业(进程)优先原则-时间片原则3)3)调度类型与调度类型与O.SO.S类型的关系类型的关系多道批处理系统:存在作业调度、进程调度分时/实时系统:只有进程调度 共同点:均存在进程调度(分配共同点:均存在进程调度(分配CPUCPU)4)4)调度队列模型调度队列模型(三种三种)n 具有高级和低级的调度队列模型n 具有三级调度的调度队列模型调度队列
4、模型调度队列模型n 仅有进程调度的调度队列模型仅有进程调度的调度队列模型就就 绪绪队队 列列阻阻 塞塞队队列列进程调度进程调度CPU进程完成进程完成等待事件等待事件交互用户交互用户事事件件出出现现时间片完时间片完进程调度进程调度CPU进程完成进程完成时间片完时间片完就就 绪绪队队列列12等待事件等待事件等待事件等待事件等待事件等待事件n12n事件事件 出现出现事件事件 出现出现事件事件 出现出现后后备备 队队列列作业作业调度调度与上一模型的主要区别:就绪队列的形式;与上一模型的主要区别:就绪队列的形式;设置多个阻塞队列设置多个阻塞队列阻阻队队列列塞塞2 2阻阻队队列列塞塞n n阻阻队队列列塞塞
5、1 1n具有高级和低级的调度队列模型具有高级和低级的调度队列模型n同时具有三级调度的调度队列模型同时具有三级调度的调度队列模型就绪队列就绪队列进程调度进程调度就绪,挂起队列就绪,挂起队列中级调度中级调度阻塞,挂起队列阻塞,挂起队列阻塞队列阻塞队列等待事件等待事件进程完成进程完成时间片完时间片完作业调度作业调度交互型作业交互型作业后备队列后备队列批量作业批量作业挂起挂起事件出现事件出现事事件件出出现现事件出现事件出现CPU5)5)调度性能评价调度性能评价 作业调度算法的评价因素 CPUCPU利用率利用率:越高越好 吞吐量吞吐量:单位时间内CPU完成作业的数量 周转时间周转时间:通常与带权周转时间
6、一起作为评价批处理系统的性能指标,定义如下:,1,2,.,/,1,2,.,ioisiiiriTttinWT tin n个作业的平均周转时间T和平均周转系数W分别为1111niniTTinWW inn 对于每个用户来说,总是希望作业提交后立即执行,这样周转时间等于执行时间;而对于一个计算机系统来说,不可能满足每个用户的这种要求,只能使系统的平均周转时间最短。对于分时系统常把响应时间的长短作为评价标准;对于实时系统常把截止时间作为评价标准。3.2 3.2 调度算法调度算法l 先来先服务调度算法先来先服务调度算法l 短作业(进程)优先调度算法短作业(进程)优先调度算法l 高优先权者优先调度算法高优先
7、权者优先调度算法l 时间片轮转调度算法时间片轮转调度算法l 多队列反馈轮转调度算法多队列反馈轮转调度算法l 实时调度算法实时调度算法相关术语相关术语n调度算法:根据系统的资源分配策略所规定的资源调度算法:根据系统的资源分配策略所规定的资源 分配算法分配算法n几个术语几个术语 到达时间、服务时间、开始时间到达时间、服务时间、开始时间 完成时间、等待时间完成时间、等待时间 周转时间:完成时间周转时间:完成时间-到达时间到达时间 带权周转时间:周转时间带权周转时间:周转时间/服务时间服务时间1 1)先来先服务调度算法)先来先服务调度算法策略:策略:先进入后备队列(就绪队列)的作业(进 程)先被调度优
8、点:优点:算法简单易实现缺点:缺点:不分轻重缓急,对短作业(进程)不利2 2)短作业(进程)优先调度算法)短作业(进程)优先调度算法策略:策略:启动要求运行时间最短的作业。优点:优点:有效降低作业平均等待时间提高系统的吞 吐量缺点:缺点:长作业(进程)可能长期得不到服务进程名进程名到达时到达时间间服务时服务时间间开始时开始时间间完成时完成时间间周转时周转时间间带权周带权周转时间转时间平均平均04A13B25C32D44E044476例:先来先服务算法(例:先来先服务算法(FCFS)712101214111418141225.53.592.8A A A A B B B C C C C C D D
9、 E E E E05101518t进程名进程名到达时到达时间间服务时服务时间间开始时开始时间间完成时完成时间间周转时周转时间间带权周带权周转时间转时间平均平均04A13B25C32D44E0441例:短作业例:短作业/短进程优先(短进程优先(SJF/SPF)4633/26988/391399/413181616/540/52.1A A A AB B BC C C C CD DE E E E05101518t3 3)高优先权者优先调度算法)高优先权者优先调度算法 优先权:优先权:反映作业(进程)重要性和调度级别的权值,又称优先数。通常分为:静态优先数静态优先数:进程创建时确定运行过程中保持不变。
10、一般根据进程的类型,资源需求情况,估计的运行时间等因素确定。一般用一整数进行表示(如0至32)动态优先数动态优先数:创建进程时确定一个优先级,进程运行过程中可以根据情况的变化调整优先级,调整一般是根据进程占用的CPU的时间长短、进程等待CPU时间长短来进行(如高响应比优先)。调度类型非抢占式优先权调度非抢占式优先权调度:处理机一旦分配给就绪队列中优先权最高的进程后,该进程就一直运行下去直到自动放弃或完成,这时才可把处理机分配给另一优先级最高的进程。抢占式优先权调度抢占式优先权调度:进程在运行时一旦出现了另一个优先级更高的进程,调度程序就停止该进程而把处理机分配给新出现的高优先权进程。进程进程名
11、名到达到达时间时间服务服务时间时间静态静态优先优先权权开始开始时间时间完成完成时间时间周转周转时间时间带权周带权周转时间转时间平均平均例:静态优先权,非抢占式(例:静态优先权,非抢占式(1为高优先权)为高优先权)04A413B225C332D544E1044148418111010/311161414/516181515/29.42.93考虑一下考虑一下抢占式抢占式,情况如何?,情况如何?高响应比优先调度算法(高响应比优先调度算法(HRPHRP):):优先调度响应比高的作业 时间务时间响应时间权务时间务时间等等待待+要+要求求服服优优先先=要要求求服服要要求求服服对短作业有利对短作业有利是先来
12、先服务是先来先服务对长作业有利对长作业有利缺点:要进行响应比计算,增加了系统开销缺点:要进行响应比计算,增加了系统开销小结:小结:等待时间相同的作业,则要求服务等待时间相同的作业,则要求服务的时间愈短,其优先权愈高的时间愈短,其优先权愈高要求服务的时间相同的作业,则等要求服务的时间相同的作业,则等待时间愈长,其优先权愈高待时间愈长,其优先权愈高长作业,优先权随等待时间的增加长作业,优先权随等待时间的增加而提高,其等待时间足够长时,其优而提高,其等待时间足够长时,其优先权便可升到很高,先权便可升到很高,从而也可获得处从而也可获得处理机理机4 4)时间片轮转调度算法(适合于分时系统)时间片轮转调度
13、算法(适合于分时系统)策略策略 系统将所有的就绪进程按先来先服务的原则排成一个队列,每次调度时,把CPU分配给队首进程,并令其执行一个时间片 当执行的时间片用完时,由一个计时器发出时钟中断请求,调度程序便停止该进程的执行,并将其放就绪队列尾;然后,再把处理机分配给就绪队列中新的队首 优、缺点:优、缺点:简单易实现,但不分轻重缓急 关键:关键:时间片大小的选择例:基于时间片的轮转调度算法例:基于时间片的轮转调度算法进程名进程名到达时到达时间间服务时服务时间间开始时开始时间间完成时完成时间间周转时周转时间间带权周带权周转时间转时间平均平均A B C D E A B C D E A B C E A
14、C E C05101518t04A03B05C02D04E012349121517181515/41111/31616/566/21313/412.22.12若到达时间若到达时间为为0 0、1 1、2 2、3 3、4 4,又如,又如何?何?5 5)多级队列反馈轮转调度算法)多级队列反馈轮转调度算法 策略:将时间片策略:将时间片与优先级优先级调度相结合。-设置多个就绪队列,分别赋予不同的优先级。优先级越低则时间片越长 -新进程进入内存后,先投入第一队列的末尾,按FCFS算法调度;若按第一队列一个时间片未能 执行完,则降低投入到第二队列的末尾,同样按 FCFS算法调度;如此下去,降低到最后的队列,
15、则按“时间片轮转”算法调度直到完成 -仅当较高优先级的队列为空,才调度较低优先级 的队列中的进程执行。如果进程执行时有新进程 进入较高优先级的队列,则抢先执行新进程,并 把被抢先的进程投入原队列的末尾就绪队列就绪队列1 1就绪队列就绪队列2 2就绪队列就绪队列3 3就绪队列就绪队列n nS1S2S3至至CPU至至CPU至至CPU至至CPU(时间片:时间片:S1 S2 S3)高高低低优先级优先级时间片时间片小小大大Sn按按FIFO原则原则排队等待调排队等待调度度尚未完成转入第二尚未完成转入第二队列的末尾,按队列的末尾,按FIFO原则等待调原则等待调度度采取按时间片轮采取按时间片轮转的方式运行转的
16、方式运行因等待而放弃因等待而放弃CPU后,进入阻塞队列,后,进入阻塞队列,一旦等待的事件发一旦等待的事件发生,则回到原来的生,则回到原来的就绪队列就绪队列调度算法性能分析调度算法性能分析设有四个作业,其提交时刻、执行时间如下表所示,分别采用FCFS、SJF、FPF调度方法,计算平均周转时间T和平均周转系数W。作业号提交时刻运行时间18.002.0028.500.5039.000.1049.500.20先来先服务调度算法:先来先服务调度算法:顺序为1 2 3 4,平均周转时间和平均周转系数的计算结果如下表所示:作业 提交时间 执行时间开始时间完成时间周转时间周转系数 1 8.00 2.00 2
17、8.50 0.50 3 9.00 0.10 4 9.50 0.208.0010.002.001.0010.0010.502.004.0010.5010.601.6016.0010.6010.801.306.506.9027.50 平均周转时间平均周转时间T1.725小时,平均周转系数小时,平均周转系数W6.875 最短作业优先调度算法最短作业优先调度算法:由于在8.00开始执行作业,当时仅有1,而作业2,3,4尚未到达,故作业1是最短作业。作业1执行完成后是10.00,此时作业2,3,4均已经到达,故选最短作业3,然后是4,2。所以顺序为1,3,4,2。平均周转时间和平均周转系数的计算结果如下
18、表所示:作业 提交时间执行时间开始时间 完成时间 周转时间 周转系数 1 8.00 2.00 2 8.50 0.50 3 9.00 0.10 4 9.50 0.208.0010.002.001.0010.0010.101.1011.0010.1010.300.804.0010.3010.802.304.606.2020.60 平均周转时间平均周转时间T1.55小时,平均周转系数小时,平均周转系数W5.15响应比高者优先算法:响应比高者优先算法:在作业1执行完成,计算作业2,3,4的响应比分别为:4,11,3.5,因此作业1执行完成后选中作业3完成。执行顺序为1,3,2,4。按此算法求得的平均周
19、转时间和平均周转系数如下表所示:作业 提交时间执行时间开始时间 完成时间 周转时间 周转系数 1 8.00 2.00 2 8.50 0.50 3 9.00 0.10 4 9.50 0.208.0010.002.001.0010.0010.101.1011.0010.1010.602.104.2010.6010.801.306.506.5022.70 平均周转时间平均周转时间T1.625小时,平均周转系数小时,平均周转系数W5.675总结:就其平均周转时间和平均周转系数总结:就其平均周转时间和平均周转系数来说,最短作业优先算法最小,先来先服务来说,最短作业优先算法最小,先来先服务算法最大,响应比
20、高者优先算法居中。算法最大,响应比高者优先算法居中。6 6)两种常见的实时调度算法)两种常见的实时调度算法v最早截止时间优先算法最早截止时间优先算法(EDF)(EDF)选择就绪队列中开始截止时间最早的实时任务对应的进程先执行(一般非抢占方式)n最低松弛度优先算法最低松弛度优先算法(LLF)(LLF)松弛度松弛度=规定完成时间规定完成时间-所需执行时间所需执行时间-当前时间当前时间选择松弛度最小的实时任务对应的就绪进程先执行,一般采用抢占方式,当某进程松弛度为零时,必须立即抢占执行。EDF例例:进程到达时刻执行所需时间 开始截止时间P1042P22310P3324P4537t=0只有P1进程,P
21、1执行4个单位时间t=4P2、P3均到达,P3截止时间早于P2截止时间 P3执行两个单位时间t=6P2和P4就绪,P4截止时间早于P2,P4执行t=9只剩P2,P2执行LLFLLF例例:两个周期性实时任务A和B,A:每20ms执行一次,每次执行时间为10ms B:每50ms执行一次,每次执行时间为25mst(ms)0102030405060708090100110120A1A2A3A4A5A6B1B2调度调度(执行)(执行)抢占抢占抢占抢占松弛度松弛度t(ms)0102030405060708090100110120A1(10)A2(10)A3(10)A4(10)A5(10)B1(20)B2(
22、10)B1(5)B2(15)A1=10未进入未进入A2A2=0A3=10 A3=5未进入未进入A4A4=0A5=10B1=25 B1=15B1=15B1=5未进入未进入B2B2=20 B2=20 B2=10A1B1A2B1A3B2A4B23.3 3.3 死锁死锁v 死锁:多个进程竞争竞争系统资源资源,造成一种僵局僵局,使得这些进程在无外力的作用下,均无法无法继续向前推进推进。讨论问题n死锁的产生原因n产生死锁的必要条件n死锁的预防n死锁的避免n死锁的检测和解除1 1)产生死锁的原因v死锁主要是由两个或多个进程对资源需求的冲突引起的进程A请求资源R2进程B请求资源R1请求资源R1请求资源R2R1
23、分配R2分配(阻塞)(阻塞)死锁产生的原因:p 资源竞争资源竞争p 进程推进顺序不当进程推进顺序不当n资源竞争引起死锁情况独占资源分为可剥夺式和不可剥夺式,死锁与不 可剥夺式有关。P1P2R1Rn进程的推进顺序不当导致死锁请求打印机请求读卡机释放打印机释放读卡机进程P1请求读卡机请求打印机释放读卡机释放打印机进程P2打印机读卡机Req(R1)Req(R2)Rel(R1)Rel(R2)Req(R2)Req(R1)Rel(R2)Rel(R1)进程的推进顺序非法将导致死锁(续)P2Rel(R1)P2Rel(R2)P2Req(R1)P2Req(R2)P1Req(R1)P1Req(R2)P1Rel(R1
24、)P1Rel(R2)进程推进顺序合法进程的推进顺序非法将导致死锁(续)P2Rel(R1)P2Rel(R2)P2Req(R1)P2Req(R2)P1Req(R1)P1Req(R2)P1Rel(R1)P1Rel(R2)进程推进顺序合法进程的推进顺序非法将导致死锁(续)P2Rel(R1)P2Rel(R2)P2Req(R1)P2Req(R2)P1Req(R1)P1Req(R2)P1Rel(R1)P1Rel(R2)进程推进顺序合法进程的推进顺序非法将导致死锁(续)P2Rel(R1)P2Rel(R2)P2Req(R1)P2Req(R2)P1Req(R1)P1Req(R2)P1Rel(R1)P1Rel(R2
25、)进程推进顺序不合法D:不安全区2 2)死锁产生的四个必要条件)死锁产生的四个必要条件n 互斥条件互斥条件n 请求和保持条件请求和保持条件n 不剥夺条件不剥夺条件n 环路等待条件环路等待条件上述条件是产生死锁的必有条件,并非充分条件。如果破坏上述4个条件之一,就可以预防死锁的产生。3.4 3.4 死锁的处理死锁的处理用于处理死锁的主要方法:v预防预防死锁:通过设置限制条件破坏死锁的四个必要条件 中的一个或几个来防止死锁发生v避免避免死锁:资源分配过程中用某种方法防止系统进入不 安全状态来防止死锁发生v检测检测死锁:通过系统的检测机构来检测死锁发生v解除解除死锁:通过撤销或挂起一些进程恢复系统正
26、常运行1 1)预防死锁)预防死锁策略:策略:从破坏死锁的必要条件入手从破坏死锁的必要条件入手,破坏(摒弃)四破坏(摒弃)四 个必要条件之一个必要条件之一 摒弃摒弃“互斥条件互斥条件”由设备的固有属性决定,只能通过某种技术加以利用,但一般来说这种方法不是很有效。摒弃摒弃“请求和保持条件请求和保持条件”进程创建时,一次性将全部所需资源均分配给进程,其在运行过程中不会产生新的请求。摒弃摒弃“不剥夺条件不剥夺条件”进程因请求新资源而得不到满足,造成阻塞时,暂时释放已占有的所有资源(剥夺)。摒弃摒弃“环路等待条件环路等待条件”按序分配资源。系统依据一定的策略给资源由低到高编号,进程必须按从小到大顺序申请
27、资源,并规定进程占有的资源号小于申请的资源号才能得到申请资源。使之资源分配图不会形成环路。2 2)避免死锁)避免死锁 避免死锁避免死锁:用动态方法判断资源的使用情况和系统状态,在分配资源之前,系统将判断如果满足进程的请求是否可能会发生死锁。如果会,就不分配资源,从而避免死锁。系统状态分为安全安全状态状态和不安全状态不安全状态:安全状态:安全状态:存在一个状态序列能够使所有的进程均得到它们所需的资源并执行结束。不安全状态不安全状态:如果不存在一个状态序列能够使所有的进程均执行结束,即为不安全状态。安全状态示例:安全状态示例:假定系统有三个进程P1、P2和P3,共有12台磁带机。T0时刻资源分配状
28、况为图1,T1时刻P3又申请到了一台磁带机其资源分配状况如图2:进程最大需求已分配可用P1P2P310495223进程最大需求已分配可用P1P2P310495232安安全全不不安安全全避免死锁的方法:银行家算法避免死锁的方法:银行家算法银行家算法银行家算法(由Dijkstra提出):在资源分配时进行判断,分析系统状态是否安全。基本思想:基本思想:将系统资源比作贷款,申请资源的进程比作借款人,操作系统比作银行家。银行家不可能满足所有借款人所要求借款的总额,所以当某借款人提出借款时,银行家必须判断如果将款借出,会不会导致资金周转不灵。若会,则不借;否则,就借。n单项资源的银行家算法假设系统中有10
29、台磁带机,有3个进程A、B、C对磁带机占有及需求情况如下表所示。系统剩余磁带机2台。进程名已分配数尚需申请数最大需求数A224B336C358此时,若A申请1台,或B申请1台,或C申请2台分配不分配不分配银行家算法银行家算法n银行家算法过程:对每一个资源申请进行检查,看如果满足该申请是否会导致不安全状态。若是,则不满足该申请,否则就满足。检查状态是否安全的方法是看是否有足够的资源满足一个距最大需求最近的进程。如果可以,则认为这些资源是可以收回的,然后检查下一个距最大需求最近的进程,如此反复下去。如果所有资源最终都被收回,则该状态是安全的,最初的申请可以满足。银行家算法银行家算法n单项资源的银行
30、家算法系统中某一资源总量为10,4个进程申请,初始状态如下图所示。进程名已有数目最大需求尚需数目a044b055c066d077剩余资源10银行家算法银行家算法n单项资源的银行家算法某一时刻,系统状态如下图所示。进程名已有数目最大需求尚需数目a143b253c165d275剩余资源4先满足进程a银行家算法银行家算法n单项资源的银行家算法满足进程a后,系统状态如下图所示:进程名已有数目最大需求尚需数目a-b253c165d275剩余资源5状态是安全的银行家算法银行家算法n单项资源的银行家算法但如果先满足进程c后,系统状态如下图所示。进程名已有数目最大需求尚需数目a143b253c561d275剩
31、余资源0状态是不安全的银行家算法银行家算法n多项资源的银行家算法:设置资源的已分配矩阵allocation、尚需资源矩阵need以及可分配资源向量available。如果某一进程对某一种资源提出申请,就假定预先分配给它,然后修改已分配矩阵allocation、尚需资源矩阵need和向量available;在矩阵need中找出一行,使该行向量小于等于available。若不存在这样的向量,就说明没有进程能够获得全部资源运行到完成,将会引起死锁;假设被选中的那一行的进程获得资源并运行结束,把它占有的资源全部加入向量available;重复(2)(3)步骤,直到下述情况之一出现:或者所有进程都完成,
32、则系统是安全的,可以分配;或者发生死锁,则预先分配是不安全的,应不予分配。银行家算法银行家算法n多项资源的银行家算法假设系统中有4类资源:打印机5个、手写板7个、扫描仪8个和读卡器9个,分别表示为R1,R2,R3,R4;共有5个进程a,b,c,d,e,某时刻系统状态如下所示:银行家算法银行家算法进程R1R2R3R4a2431b2205c1550d5013e0333(a)最大需求进程R1R2R3R4a0121b1102c0340d2001e0013(b)已分配进程R1R2R3R4a2310b1103c1210d3012e0320(c)尚需资源(d)比较结果available=(2,2,1,2)进
33、程R1R2R3R4a2310b1103c1210d3012e0320sum=(5,7,8,9)满足进程c后,available=(2,5,5,2)进程R1R2R3R4a2310b1103c0000d3012e0320(e)尚需资源可以满足进程a或e,进而满足b或d,直到全部结束n死锁的检测死锁的检测:让死锁发生。l资源分配图资源分配图:描述进程申请资源和资源分配情况的关系模型图,可以直观的检测系统是否会发生死锁。在资源分配图中,规定如下:圆表示一个进程;方块表示一个资源类,其中的圆点表示该类资源中的单个资源;从资源指向进程的箭头表示资源被分配给该进程;从进程指向资源的箭头表示进程申请一个这类资
34、源。3 3)死锁的检测与解除)死锁的检测与解除l死锁定理死锁定理:通过将资源分配图简化来检测系统状态是否为死锁状态。步骤如下:在图中找一个既不孤立又未阻塞的进程结点Pi从图中删除与Pi相连接的所有边,从而得一个新图针对新图重复实施以上两步操作,直到找不到满足第一步的结点Pi简化后的图中的所有进程结点均为孤立结点,称该图为可完全简化。反之,则称该图为不可完全简化。P1P2r1 r2每类资源有多个时的情况死锁定理:死锁定理:S状态为死锁状态的充分条件是:当S状态对应的进程资源图是不可完全简化的n死锁的解除死锁的解除发生死锁时应采取一定的措施使系统恢复正常,常用的有以下两种方法:资源剥夺法撤销进程法6 6)本节小结)本节小结 基本概念基本概念 死锁死锁 死锁的原因,必要条件死锁的原因,必要条件 资源分配图(或进程资源图)资源分配图(或进程资源图)死锁状态死锁状态 死锁的预防和避免死锁的预防和避免 方法、区别方法、区别 死锁的检测死锁的检测 进程资源图的简化进程资源图的简化 死锁定理死锁定理 死锁的解除死锁的解除 方法方法 策略策略 撤销原则撤销原则本章学习要点本章学习要点v掌握调度的类型和方法v掌握常用进程调度算法及其特点v掌握死锁的概念、死锁产生的原因及必要条件、死锁处理方法v深入领会银行家算法