1 基本概念
1.1 总览
1.2 什么是调度
1.2.1 调度
1.2.2 处理机调度
1.3 调度的三个层次
1.3.1 高级调度
(1)是针对作业的调度,传统批处理机系统中作业是必须全部执行完才可以结束的
(2)概念
1.3.2 中级调度(内存调度)
(1)操作系统会将暂时不可以运行的进程调至外存等待(虚拟存储技术),知道进程重新具备了运行条件或内存有空闲时再重新调入内存。这样做可以提高内存利用率、系统吞吐量。此时的进程所处的状态为挂起状态。
(2)PCB不会一起调到外存,依然在内存中,操作系统将被挂起的PCB放入挂起队列中
(3)解释
1.3.3 低级调度(进程调度)
1.4 七状态模型
1.5 三层调度的联系与对比
1.6 总结
2 方式与过程
2.1 总览
2.2 进程调度的时机
2.2.1 需要进行调度的情况
2.2.2 不能进行调度的情况
2.3 临界区
2.3.1 临界资源
一个时间段内只允许一个进程使用的资源。各进程需要互斥的访问临界资源
2.3.2 临界区
访问临界资源的那段代码
2.3.3 分类
(1)内核程序临界区
① 一般用于访问某种数据结构,比如由各就绪进程的PCB组成的就绪队列。
② 在访问内核程序临界区期间不可以进行调度与切换,否则容易造成系统的错误。
(2)普通临界区:
① 可以在访问普通临界区时进行调度与切换。
②比如,当一个进程占用了打印机这种速度很慢的I/O设备,假如此时不进行调度,则进程在等待IO处理完成的期间CPU会一直处于空闲状态,
2.4 进程调度的方式
2.4.1 分类
2.4.2 方式
2.5 总结
、
3 处理机调度算法(非抢占式)
3.1 总览
3.2 调度算法的评价指标
3.2.1 CPU利用率
3.2.2 系统吞吐量
3.2.3 周转时间
3.2.4 带权周转时间
3.2.5 等待时间
3.2.6 响应时间
3.3 调度算法的学习思路
3.4 调度算法
3.4.1 先来先服务(FCFS,First Come first Serve)
3.4.2 短作业优先(SJF,Shortest Job First)
(1)短作业优先调度
(2)最短剩余时间优先算法
(3)注意几个小细节
(4)短作业优先
3.4.3 高响应比优先(HRRN,Highest Response Ratio Next)
(1)概述
(2)总结
4. 注意
3.5 总结
4 处理机调度算法(抢占式)
4.1 总览
4.2 各算法
4.2.1 时间片轮转(RR,Round-Robin)
(1)调度过程详解
以下表为例:
①假设时间片大小为2
最终结果
②假设时间片大小为5
最终结果:
(2)注意
4.2.2 优先级调度算法
(1)非抢占式的优先级调度算法例题
(2)抢占式的优先级调度算法例题
(3)补充
(4)如何合理的设置进程的优先级?
①为什么要偏好I/O型进程呢?
(5)对于动态优先级,什么时候该去调整呢
4.2.3 多级反馈队列算法
(1)算法步骤
4.3 总结
5 总结
操作系统,如默默守护的守夜者,无声地管理硬件与软件的交流,为计算机创造和谐秩序。
它是无形的引导者,让复杂的任务变得井然有序,为用户提供无忧体验。
操作系统的巧妙设计,让计算机变得更加智能高效,让人与科技之间的交流更加顺畅。
在每一次启动中,它如信任的伙伴,带领我们进入数字世界的奇妙旅程。
渴望挑战操作系统的学习路径和掌握进阶技术?不妨点击下方链接,一同探讨更多操作系统的奇迹吧。我们推出了引领趋势的💻OS专栏:《OS从基础到进阶》 ,旨在深度探索OS的实际应用和创新。🌐🔍