文章目录
第三章:处理机调度和死锁
1、处理机调度概述
处理机调度:按照一定的算法,从就绪队列中选择一个进程将处理机分配给它运行,以实现进程并发地执行。
1.1、处理机调度的层次
一个批处理型作业,从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕,可能要经历的三级调度:
1.2、高级调度
High Level Scheduling、又称作业调度、长程调度、接纳调度
分时系统、实时系统一般直接进入内存,无此环节。
由于内存空间有限,有时无法将用户提交的作业全部放入内存,因此就需要确定某种规则,来决定将作业调入内存的顺序。
-
作用:按照一定的调度算法,从外存后备队列中选择作业调入内存,创建PCB等,插入就绪队列(内存资源的角度)
-
使用的系统:批处理系统
-
调度时要决定:
- 接纳作业数:取决于多道程序度。
- 接纳策略:取决于作业调度算法。
-
调度时机:有作业退出系统或者系统负荷不足时
-
执行频率:几分钟、几秒钟。
1.3、低级调度
Low Level Scheduling、又称进程调度、短程调度
- 作用:按某种规则,决定就绪队列中的某个进程获得处理机,由分派程序(Dispatcher)实施处理机分派。(CPU资源角度)
- 使用系统:各种系统均需要。
- 调度时要解决:
- What:按照什么原则分配CPU?进程调度算法
- When:什么时候引发进程调度、分配CPU?进程调度的时机
- How:如何分配CPU?进程调度过程
- 执行频率:几十毫秒一次。
1、抢占方式:允许调度程序根据某种原则,去暂停某个正在执行的进程,将处理机重新分配给另一个进程。
优点:
- 防止一个长进程长时间占用处理机
- 为大多数进程提供更公平的服务
- 能满足对实时任务的需求
2、非抢占方式:一旦把处理机分配给某个进程后,一直让它运行下去,直至该进程完成,资源释放处理机,或被阻塞。
1.4、中级调度
Intermediate-Level Scheduling、中程调度
-
对象:外存中因暂时不能运行而被挂起(就绪挂起和阻塞挂起)的进程
-
动作:将外存挂起的进程激活,调入内存,进入就绪队列
-
目的:提高内存的利用率和系统吞吐量。
注意
- 三种调度运行频率:低级调度 > 中级调度 > 高级调度
- 进程调度(低级调度)在操作系统中必不可少。
2、选择调度算法的准则
2.1、面向用户的准则
针对的系统 | |
---|---|
周转时间短(short turnaround time) | 批处理系统 |
响应时间快(quick response time) | 分时系统 |
截止时间的保证(guaranteed deadline) | 实时系统 |
优先权原则(priority priciple) | 各种OS |
1、周转时间:从作业提交系统到完成为止
时间包括:
- 驻外存等待作业调度时间
- 驻内存等待进程调度时间(可能执行多次)
- 执行时间(可能执行多次)
- 阻塞时间(可能执行多次)
计算机系统要求的是:平均周转时间最短(mean turnaround time)
**2、响应时间:从用户通过键盘提交一个请求开始,到系统首次产生响应(屏幕显示结果)为止的时间。**是评价分时系统的一个重要指标。
- 输入传送到CPU的时间
- 处理的时间
- 结果回送到显示器的时间
3、截止时间:任务必须开始执行的最迟时间,或必须完成的最迟时间。
评价实时系统性能的一个重要指标。
2.2、面向系统的准则
系统吞吐量高 |
---|
处理机利用率高 |
各类资源平衡利用 |
1、系统吞吐量:单位时间内系统所完成的作业数。
评价批处理系统性能的重要指标
处理的长作业多,则吞吐量低