处理机调度与死锁:理解操作系统第三章

需积分: 10 1 下载量 145 浏览量 更新于2024-08-20 收藏 1.02MB PPT 举报
"本章主要讨论的是操作系统中的处理机调度与死锁问题,涉及处理机调度的层次、调度算法以及死锁的相关概念。在多任务环境中,如何有效地管理CPU资源,确保系统的高效运行和公平性是操作系统设计的关键。处理机调度分为高级调度(作业调度)和低级调度(进程调度)。高级调度负责选择合适的作业调入内存,创建进程并分配资源,而低级调度则决定哪个就绪进程将获得CPU执行。此外,章节还涵盖了实时调度、死锁产生的原因和条件,以及预防和解除死锁的方法。" 在单道方式下,作业调度算法通常用于决定作业的执行顺序。对于【思考题】1,采用响应比高者优先调度算法,响应比是等待时间与服务时间的比值加上1。在这种算法下,首先计算每个作业的响应比: 1. 作业1:等待时间为0,服务时间为70,响应比为1 * (0 + 70) = 70 2. 作业2:等待时间为40,服务时间为30,响应比为1 * (40 + 30) = 70 3. 作业3:等待时间为50,服务时间为10,响应比为1 * (50 + 10) = 60 4. 作业4:等待时间为60,服务时间为5,响应比为1 * (60 + 5) = 65 作业的执行顺序是按响应比从高到低,所以是1和2并列第一,然后是4,最后是3。 对于【思考题】2,分析先来先服务(FCFS)和最短作业优先(SJF)调度算法: 1. FCFS调度:按照作业提交时间的先后顺序执行,即1 -> 2 -> 3 -> 4。周转时间分别为2.0, 3.0, 3.5, 3.8,平均周转时间是(2.0 + 3.0 + 3.5 + 3.8) / 4 = 3.15。平均带权周转时间是(2.0/2.0 + 3.0/1.0 + 3.5/0.5 + 3.8/0.3) / 4 = 2.95。 2. SJF调度:优先执行执行时间最短的作业,即4 -> 3 -> 2 -> 1。周转时间分别为0.3, 0.9, 1.5, 3.0,平均周转时间是(0.3 + 0.9 + 1.5 + 3.0) / 4 = 1.575。平均带权周转时间是(0.3/0.3 + 0.9/0.5 + 1.5/0.5 + 3.0/1.0) / 4 = 1.35。 死锁是操作系统中一个严重的问题,它发生在两个或更多进程相互等待对方释放资源而形成的一种僵局。死锁发生的四个必要条件包括互斥、占有并等待、无剥夺和循环等待。预防死锁的方法包括资源预分配、破坏占有并等待条件、破坏循环等待条件等。检测和解除死锁则涉及到死锁的识别和相应的恢复策略,如回滚、资源抢占或进程终止。