操作系统基础知识--调度和死锁

来源:互联网 发布:穷二代的出路知乎 编辑:程序博客网 时间:2024/05/18 03:14
处理机调度分为三个层次:高级调度中级调度低级调度进程调度的两种方式:1.抢占方式(Preemptive Mode)  允许调度程序根据某种原则,暂停正在执行的进程,将处理机重新分配给另一进程。  抢占原则:优先权原则、短作业(进程)优先原则、时间片原则。2.非抢占方式CPU 调度过程。即进程切换的步骤:1.保存现场:顺序保存,最后一步保存 PSW2.选择要运行的程序  (如果没有就绪进程,系统会安排一个闲逛进程(idle),没有其他进程时,该进程一直运行,在执行过程中可接收中断)3.恢复现场:最后一步恢复选中进程的 PSW调度算法是指根据系统的资源分配策略所规定的资源分配算法。调度算法:1.先来先服务调度算法 FCFS  FCFS 调度算法比较有利于长作业(进程),而不利于短作业(进程)。  FCFS 调度算法有利于 CPU 繁忙型的作业,不利于 I/O 繁忙型的作业。2.短作业优先调度算法 SJ(P)F  能有效地降低作业的平均等待时间,提高系统吞吐量。  对长作业不利  未考虑作业的紧迫程度  作业的估计运行时间不准确3.高优先权调度算法 HPF  响应比 Rp = 1 +(作业等待时间 / 作业处理时间)4.基于时间片的轮转调度算法 RR各种调度算法性能对比实时调度算法的分类1.非抢占式调度算法  非抢占式轮转调度算法  非抢占式优先调度算法2.抢占式调度算法  基于时钟中断的抢占式优先权调度算法  立即抢占的优先权调度算法常用的两种实时调度算法1.最早截止时间优先算法 EDF2.最低松弛度优先算法 LLF(Least Laxity First)  松弛度=必须完成的时间-本身运行的时间-当前时间死锁产生的原因1.竞争资源引起进程死锁  竞争非可剥夺资源  竞争临时性资源(进程通信)2.进程推进顺序不当引起死锁产生死锁的必要条件1.互斥条件:涉及的资源是非共享的。2.不剥夺条件:不能强行剥夺进程拥有的资源。3.请求和保持条件:进程在等待一新资源时继续占有已分配的资源。4.环路条件:存在一种进程的循环链,链中的每一个进程已获得的资源同时被链中的下一个进程所请求。死锁的预防方法:破坏产生死锁的四个必要条件之一。1、破坏请求和保持条件。即在执行时不会再提出资源请求在等待时未占有任何资源。2、破坏不剥夺条件。一个已拥有资源的进程,若它再提出新资源要求而不能立即得到满足时,它必须释放已经拥有的所有资源。3、破坏环路条件。系统将所有资源按类型进行线性排序,并赋予不同的序号,所有进程对资源的请求必须严格按照资源序号递增的次序提出。利用银行家算法避免死锁
原创粉丝点击