处理机调度
调度的原因:合理的处理计算机软件硬件资源
调度层次
调度层次
- 作业调度
- 中级调度(内存调度)
- 进程调度
调度层次的关系
作业调度为进程活动做准备,中级调度将不能运行的进程挂起。中级调度处于作业调度和进程调度之间。
不能进行进程调度和切换的情况
- 处理中断
- 处于操作系统内核程序的临界区,且破坏临界资源的使用规则
- 完全屏蔽中断的原子操作
应该进行进程调度和切换的情况 - 引起调度条件,且当前进程无法继续运行下去时
- 当中断处理结束或自陷处理结果后,返回中断进程的用户态程序执行现场前。
调度方式
- 非剥夺调度方式
- 剥夺调度方式
调度的原则
考虑因素: CPU利用率,系统吞吐量,周转时间,等待时间,响应时间
调度算法
- 先来先服务(FCFS).属于不可剥夺
- 短作业优先(SJF)
对长作业不利 - 优先级调度算法。可剥夺也可不剥夺
- 高响应比优先调度算法
$$ 响应比R = \frac{等待时间 + 要求服务时间}{要求服务时间}$$ - 时间片轮转调度算法
确定时间片的长短的因素:系统响应时间、就绪队列中的进程数目和系统的处理能力 - 多级反馈队列调度算法
优点:- 终端型作业:短作业优先
- 短批处理作业:周转时间优先
- 长批处理作业:经过前几个队列得到部分执行,不会长期得不到处理。