处理机调度与死锁:算法与预防策略

需积分: 9 0 下载量 39 浏览量 更新于2024-07-29 收藏 678KB PPT 举报
"第三章 处理机调度与死锁 - 操作系统" 处理机调度是操作系统中的核心功能之一,它的目标是有效地分配和管理CPU资源,以提高系统的整体性能和用户体验。调度算法的选择直接影响到系统的响应时间、吞吐量、周转时间和公平性。 1. 处理机调度的基本概念 - 作业调度(宏观调度):这是最高级别的调度,关注的是用户提交的作业集合,决定哪些作业应该被放入内存并开始运行。时间间隔通常在分钟到小时之间。 - 中级调度(内外存交换):处理内存与外存之间的进程交换,以解决内存资源的限制,确保活跃进程能够被快速访问。 - 进程或线程调度(微观调度):是最频繁的调度活动,关注的是哪个进程或线程应当获取CPU执行权,通常在毫秒级别。 2. 处理机调度的层次 - 宏观调度:决定哪些作业从磁盘加载到内存,进入就绪队列。 - 中级调度:根据内存需求,决定将哪些进程换出到磁盘,释放内存资源。 - 微观调度:决定当前运行的进程何时让出CPU,以及选择下一个要运行的进程。 3. 调度的时间周期 - 长期调度:涉及作业的提交和终止,将新作业放入内存或结束正在运行的作业。 - 中期调度:涉及进程在内存和外存之间的移动,优化内存使用。 - 短期调度(也称为进程调度):频繁进行,选择下一个执行的进程或线程。 4. 调度算法 - 先来先服务(FCFS):按照进程到达的顺序分配CPU。 - 短进程优先(SPF/SPN):优先选择预计运行时间最短的进程。 - 时间片轮转:所有进程轮流获得一定时间的CPU使用权,保证了响应时间。 - 优先级调度:高优先级的进程优先获得CPU。 - 抢占式调度:允许高优先级的进程中断正在运行的低优先级进程。 - 多级反馈队列:结合多种调度策略,不同优先级的队列对应不同的时间片。 5. 死锁 - 死锁是操作系统中的一个严重问题,发生在两个或更多进程互相等待对方释放资源,导致它们都无法继续执行。 - 必要条件:互斥、占有并等待、无剥夺、循环等待。 - 预防死锁:通过避免四个必要条件中的任何一个来防止死锁的发生,例如,一次性请求所有资源、避免循环等待、设置资源有序分配策略等。 理解这些基本概念和机制对于设计和分析操作系统至关重要,尤其是在多任务和并发环境下的系统设计。通过合理选择调度策略和有效防止死锁,可以提高系统的效率和可靠性。