操作系统:死锁原因与处理机调度

需积分: 10 1 下载量 167 浏览量 更新于2024-07-11 收藏 1.02MB PPT 举报
"操作系统第三章-处理机调度与死锁" 操作系统是计算机系统的核心部分,它负责管理和控制系统的各种资源,包括处理机。本章重点讨论了处理机调度和死锁这两个关键概念。 处理机调度是操作系统中的核心问题,其目标是优化系统的性能,如提高处理机利用率、增加吞吐量和缩短响应时间。处理机调度分为多个层次,包括高级调度(作业调度或长程调度)、中级调度和低级调度(进程调度或短程调度)。高级调度关注的是选择外存中哪些作业调入内存,创建进程并分配资源;中级调度涉及进程在内存和外存之间的交换,以优化内存使用;而低级调度则是决定就绪队列中哪个进程将立即获得处理机执行。 处理机的状态对于理解调度过程至关重要,分为核心态和用户态。核心态允许执行特权指令,访问所有资源,而用户态则限制了这些权限,防止应用程序对内核造成破坏。状态的转换通常发生在程序请求操作系统服务(系统调用)或出现中断和异常事件时。 死锁是指两个或更多进程在等待对方释放资源,导致它们都无法继续执行的状态。死锁的产生主要由两方面原因: 1. 竞争资源引起进程死锁: - 可剥夺和非剥夺性资源:有些资源可以被抢占,而有些则不行。当进程因不可剥夺的资源陷入等待时,可能导致死锁。 - 竞争非剥夺性资源:例如,多个进程可能同时请求同一不可抢占资源,引发死锁。 - 竞争临时性资源:一次性使用的资源,如信号量、中断信号等,如果分配不当,也可能导致死锁。 2. 进程推进顺序不当: 图3-15可能展示了进程之间请求和释放资源的错误顺序,这种顺序可能导致循环等待,从而产生死锁。 为了避免死锁,操作系统采取了多种策略,包括预防死锁、避免死锁和检测与解除死锁。预防死锁通过设置严格的资源分配和进程推进规则,消除死锁发生的四个必要条件:互斥、占有并等待、无剥夺和循环等待。避免死锁则是动态地分配资源,确保不会形成死锁状态。而检测与解除死锁则是在发生死锁后,通过检测算法找出死锁进程并采取相应措施,如回滚、进程终止或资源剥夺。 理解处理机调度和死锁对于设计高效、稳定的操作系统至关重要,它们直接影响到系统的性能和用户满意度。操作系统必须能够有效地管理处理机资源,同时防止和解决可能出现的死锁问题,以保证系统的正常运行。