一、调度的三个层次
1. 高级调度(作业调度)
按照一定原则从外存的作业后备队列中挑选一个作业调入内存,并创建进程。每个作业只会调入一次,调出一次。作业调入时会建立PCB,调出时撤销PCB。(多个程序需要启动,选择一个启动)
注: 作业可理解为一个具体的程序
2. 中级调度(内存调度)
内存是有限的,可将某些进程的数据调出外存,等内存空闲或进程需要运行时重新调入内存。调出到外存的进程处于挂起状态,中级调度就是按照某种策略 决定将哪个处于挂起状态的进程重新调入内存。 频率比高级调度高。
3.低级调度(进程调度)
按照某种策略,从就绪队列中选择一个进程,分配处理机。进程调度的频率较高。
三种调度的对比
进程的七状态模型
二、进程调度的时机
三、进程调度的方式
四、进程调度与切换
五、调度算法的评价指标
- C P U 利 用 率 = 忙 碌 时 间 / 总 时 间 CPU利用率 = 忙碌时间/总时间 CPU利用率=忙碌时间/总时间
- 系 统 吞 吐 量 = 单 位 时 间 内 完 成 的 作 业 数 量 系统吞吐量 = 单位时间内完成的作业数量 系统吞吐量=单位时间内完成的作业数量
- 周 转 时 间 = 作 业 完 成 时 间 − 作 业 提 交 时 间 周转时间 = 作业完成时间 - 作业提交时间 周转时间=作业完成时间−作业提交时间
- 平 均 周 转 时 间 = 所 有 作 业 周 转 时 间 之 和 / 作 业 总 数 平均周转时间 = 所有作业周转时间之和 / 作业总数 平均周转时间=所有作业周转时间之和/作业总数
- 带 权 周 转 时 间 = 作 业 周 转 时 间 / 作 业 实 际 运 行 时 间 ≤ 1 带权周转时间 = 作业周转时间 / 作业实际运行时间 \le 1 带权周转时间=作业周转时间/作业实际运行时间≤1
- 等 待 时 间 = 进 程 等 待 服 务 时 间 之 和 等待时间=进程等待服务时间之和 等待时间=进程等待服务时间之和
- 相 应 时 间 = 系 统 首 次 响 应 时 间 − 用 户 提 交 请 求 时 间 相应时间=系统首次响应时间-用户提交请求时间 相应时间=系统首次响应时间−用户提交请求时间