1、第三章处理机管理和死锁 处理机管理的工作是对CPU资源进行合理的分配使用,以提高处理机利用率,并使各用户公平地得到处理机资源。这里的主要问题是处理机调度算法和调度算法特征分析。主要内容n n3.1处理机调度的基本概念n n3.2调度算法n n3.3实时调度n n3.4多处理机系统中的调度n n3.5产生死锁的原因与必要条件n n3.6预防死锁的方法n n3.7死锁的检测与解除3.1处理机调度的基本概念n n高级调度n n低级调度n n中级调度n n调度队列的模型n n选择调度方式和调度算法的若干准则调度种类 schedulen n高级调度高级调度high schedulinghigh sche
2、duling 又叫作业调度、长线调度又叫作业调度、长线调度longtermschedulinglongtermscheduling 过程:过程:把外存上处于后备队列中的哪些作业调入把外存上处于后备队列中的哪些作业调入内存,并为他们创建进程、分配必要资源,然后内存,并为他们创建进程、分配必要资源,然后将新创建的进程插入就绪队列,准备执行将新创建的进程插入就绪队列,准备执行在每次调度时,需要做以下两个决定:在每次调度时,需要做以下两个决定:1 1接纳多少个作业接纳多少个作业 取决于多道程序度取决于多道程序度2 2接纳哪些作业接纳哪些作业 取决于调度算法取决于调度算法低级调度n n低级调度低级调度l
3、ow schedulinglow scheduling 又叫进程调度、短程调度又叫进程调度、短程调度.用来决定就绪队列中哪用来决定就绪队列中哪个进程获得处理机。然后又分派程序执行把处理个进程获得处理机。然后又分派程序执行把处理机分配给进程机分配给进程处理机的两种调度方式处理机的两种调度方式1 1非抢占方式非抢占方式可能引起进程调度的原因有:可能引起进程调度的原因有:a b ca b c2 2抢占方式抢占方式抢占原则:抢占原则:优先权优先权 短作业(进程)短作业(进程)时间片时间片中级调度n n引入中级调度的主要目的是?提高内存利用率和提高系统吞吐量过程:把暂时不能运行的进程调度到外存上去等待;
4、调度队列模型n n仅有进程调度的调度队列模型(分时OS)n n具有高级和低级的调度队列模型(批处理OS)n n具有三级调度的模型内存就绪外存就绪内存阻塞外存阻塞调度算法的准则n n面向用户的原则 周转时间短 响应时间快 截止时间的保证n n面向系统的原则 系统吞吐量高 处理机利用率好 各类资源均衡使用3.2调度算法3.2.1先来先服务短作业优先先来先服务短作业优先3.2.2高优先权优先优先权调度算法的种类优先权的类型高响应比优先调度3.2.3基于时间片的轮转算法时间片轮转法多极反馈队列先来先服务n过程:n n按照作业提交或进程变为就绪状态的先后次序,分派CPU;n n当前作业或进程占用CPU,
5、直到执行完或阻塞,才出让CPU(非抢占方式)。n n在作业或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前作业或进程出让CPU。最简单的算法。特点:n比较有利于长作业,而不利于短作业。n有利于CPU繁忙的作业,而不利于I/O繁忙的作业。短作业优先又称为“短进程优先”SPN(Shortest Process Next);这是对FCFS算法的改进,其目标是减少平均周转时间。对预计执行时间短的作业(进程)优先分派处理机。通常后来的短作业不抢先正在执行的作业。2.SJF的特点n n优点:n n比比FCFSFCFS改善平均周转时间和平均带权周转时改善平均周转时间和平均带权周转时间,缩短作业的等待时间;间,缩短作业的等待时间;n n提高系统的吞吐量;提高系统的吞吐量;n n缺点:n n对长作业非常不利,可能长时间得不到执行;对长作业非常不利,可能长时间得不到执行;n n未能依据作业的紧迫程度来划分执行的优先未能依据作业的紧迫程度来划分执行的优先级;级;n n难以准确估计作业(进程)的执行时间,从难以准确估计作业(进程)的执行时间,从而影响调度性能。而影响调度性能。高优先权优先高响应比优先调度算法基于时间片的轮转调度算法3.3实时调度3.4多处理机系统中的调度