还剩18页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
处理机调度与死锁•处理机调度算法•死锁•处理机调度的性能指标CATALOGUE•死锁的检测与恢复目录01处理机调度算法先来先服务(FCFS)总结词按照作业到达的先后顺序进行调度,优先处理最先到达的作业详细描述FCFS算法是一种最简单的调度算法,它不考虑作业的紧迫程度和所需执行时间,只按照作业到达的顺序进行调度当一个作业到达时,系统将其加入到等待队列中,并按照到达顺序依次处理等待队列中的作业最短作业优先(SJF)总结词优先处理执行时间最短的作业,以最小化平均等待时间和平均周转时间详细描述SJF算法根据作业的执行时间进行调度,优先处理执行时间最短的作业当一个新作业到达时,系统会计算其执行时间,并与等待队列中的现有作业进行比较,选择执行时间最短的作业进行处理这种算法旨在最小化平均等待时间和平均周转时间优先级调度总结词根据作业的优先级进行调度,优先处理优先级高的作业详细描述优先级调度算法根据作业的优先级进行调度,优先级高的作业将优先获得处理机的使用权系统根据作业的紧迫程度、重要程度或其他相关因素为每个作业分配一个优先级,优先级高的作业将优先获得处理机的使用权这种算法可以更好地满足紧迫和重要作业的需求轮转法(RR)总结词详细描述将处理机分配给等待队列中的下一个作业,轮转法(Round Robin,RR)是一种常见的循环轮转,每次分配一个固定时间片调度算法,它将处理机分配给等待队列中的下一个作业,每次分配一个固定时间片当时间片用完后,系统将该作业重新放回等待队列的末尾,并继续处理下一个作业这种算法旨在平衡不同作业之间的等待时间和执行时间,使每个作业都能获得一定的处理机时间02死锁死锁的定义死锁在计算机系统中,如果一组进程中的每个进程都在等待一个事件发生,而这个事件只能由该组中的另一个进程产生,那么这组进程就会陷入死锁死锁状态当系统中不存在任何一种可调度序列(即满足所有进程的调度顺序)时,系统就处于死锁状态死锁实例例如,有两个进程P1和P2,P1等待P2释放资源,而P2等待P1释放资源,此时系统就处于死锁状态死锁的必要条件互斥条件不允许剥夺条件至少有一个资源在任何时候只已经分配的资源,未经进程主能被一个进程使用动释放,不能被剥夺请求和保持条件循环等待条件一个进程因请求资源而阻塞时,系统中若干个进程形成一种头对已获得的资源保持不放尾相接的环路,每个进程都在等待下一个进程所占有的资源死锁的防止避免死锁通过破坏产生死锁的四个必要条件之一来防止死锁的产生例如,通过预先分配策略,即进程在开始执行前就申请所有需要的资源,如果不能获得所有资源则不启动该进程避免饥饿通过设置优先级、时间片轮转等机制,保证所有进程都有机会获得资源,避免某些进程永久等待检测与恢复通过检测系统中的死锁情况,并采取相应的恢复措施来解除死锁例如,通过资源的抢占或回滚等操作来解除死锁03处理机调度的性能指标等待时间总结词等待时间是指进程在等待被调度执行所花费的时间详细描述等待时间是从进程到达系统到开始执行所经过的时间,包括进程在队列中等待和在处理机上等待的时间等待时间的计算公式为等待时间=到达时间-开始执行时间响应时间总结词响应时间是指从进程提交到得到响应所花费的时间详细描述响应时间包括进程从提交到开始执行的时间以及执行完成的时间响应时间的计算公式为响应时间=开始执行时间-提交时间周转时间总结词周转时间是指从进程到达系统到完成所经过的时间详细描述周转时间包括进程在等待队列中的等待时间和在处理机上的执行时间周转时间的计算公式为周转时间=完成时间-到达时间04死锁的检测与恢复死锁的检测资源分配图法通过构建资源分配图,分析是否存在环路,以判断系统是否发生死锁银行家算法模拟银行家对资源分配的策略,通过检查请求资源是否会导致不安全状态来判断系统是否发生死锁死锁的恢复资源剥夺法撤销和重做法剥夺已经分配给某个进程的资源,打破撤销已经执行到一半的进程,并重新进行死锁状态,使其中一个进程能够继续执调度,以恢复系统的正常运行行VS死锁的预防和避免避免死锁的策略预防死锁的算法通过设置资源分配的顺序、限制进程对资源使用银行家算法、避免饥饿等算法,预防死的请求等策略,避免死锁的发生锁的发生THANK YOU感谢观看。