目录

  • 1 绪论
    • 1.1 课程引入
    • 1.2 操作系统的发展过程
    • 1.3 操作系统的基本类型
    • 1.4 操作系统的特征
    • 1.5 操作系统的功能
    • 1.6 操作系统的组织结构
    • 1.7 章节测验
    • 1.8 考研真题讲解
  • 2 操作系统的关键技术
    • 2.1 操作系统的硬件环境
    • 2.2 中央处理器
    • 2.3 系统调用
    • 2.4 存储系统
    • 2.5 中断机制
    • 2.6 缓冲技术
    • 2.7 章节测验
    • 2.8 考研真题讲解
  • 3 进程的描述与控制
    • 3.1 进程概述
    • 3.2 进程状态及转换
    • 3.3 进程控制
    • 3.4 进程互斥
    • 3.5 进程同步
    • 3.6 经典互斥与同步
    • 3.7 进程通信
    • 3.8 线程
    • 3.9 章节测验
    • 3.10 考研真题讲解
  • 4 资源分配与死锁
    • 4.1 资源管理概述
    • 4.2 进程死锁
    • 4.3 死锁预防
    • 4.4 死锁避免
    • 4.5 死锁的检测和解除
    • 4.6 章节测验
    • 4.7 考研真题讲解
  • 5 处理机管理
    • 5.1 处理机的多级调度
    • 5.2 作业调度与进程调度
    • 5.3 调度算法
    • 5.4 两道批处理调度
    • 5.5 实时调度
    • 5.6 章节测验
    • 5.7 考研真题讲解
  • 6 存储管理
    • 6.1 存储管理概述
    • 6.2 分区存储管理
    • 6.3 页式存储管理
    • 6.4 页面置换算法
    • 6.5 段式存储管理
    • 6.6 段页式存储管理
    • 6.7 “抖动”与工作集
    • 6.8 章节测验
    • 6.9 考研真题讲解
  • 7 文件管理
    • 7.1 文件和文件系统
    • 7.2 文件的逻辑结构与存取方法
    • 7.3 文件的物理结构
    • 7.4 文件存储空间管理
    • 7.5 文件目录
    • 7.6 文件共享与安全
    • 7.7 磁盘调度算法
    • 7.8 章节测验
    • 7.9 考研真题讲解
  • 8 设备管理
    • 8.1 设备管理概述
    • 8.2 设备数据传输方式
    • 8.3 设备分配
    • 8.4 设备驱动程序
    • 8.5 章节测验
    • 8.6 考研真题讲解
调度算法

常用的调度算法很多,有的算法适用于作业调度,有的算法适用于进程调度,有的两者都适用。



(1)先来先服务

按照作业提交或进程变为就绪状态的先后次序,分派CPU当前作业或进程占用CPU,直到执行完或阻塞(如申请I/O)让出CPU。进程被唤醒后(如I/O完成),不立即恢复执行,等待当前进程让出CPU后才可以恢复执行。


(2)短作业(进程)优先

按作业的长短顺序进行调度,短作业(进程)优先,对预计执行时间短的作业(进程)优先分派CPU,后来的短进程不抢占正在执行的进程。


(3)最短剩余时间优先

短进程优先算法的变型,也称作抢占式的短进程优先算法,在新任务加入队列时,比较其运行时间和当前运行进程的剩余时间,若新进程运行时间更短则可以抢占CPU。


(4)最高响应比优先

从就绪队列中选出响应比最高的作业投入执行,响应比=(等待时间+运行时间)/运行时间。


(5)优先级调度

可以根据外部优先数(由用户规定的优先数)或者内部优先数(由凶计算优先数)决定程序运行的顺序。


(6)时间片轮转

将系统中所有的就绪进程按照FCFS原则,排成一个队列,将CPU分派给队首进程,执行一个时间片,长度从几个ms到几百ms。在一个时间片结束时,发生时钟中断,暂停当前进程的执行,送到就绪队列的末尾,并通过上下文切换执行当前的队首进程。进程可以未使用完一个时间片,就出让CPU(如阻塞)。


(7)多级反馈队列算法

设置多个就绪队列,分别赋予不同的优先级,如逐级降低,每个队列时间片长度也不同,优先级越低则时间片越长,如逐级加倍,新进程进入内存后,先投入队列1的末尾,按FCFS算法调度。若按队列1一个时间片未能执行完,则降低投入到队列2的末尾,同样按FCFS算法调度。如此下去,降低到最后的队列,则按"时间片轮转"算法调度直到完成。

仅当较高优先级的队列为空,才调度较低优先级的队列中的进程执行,如果进程执行时有新进程进入较高优先级的队列,则抢先执行新进程,并把被抢占的进程投入原队列的末尾。


本节资料