操作系统之处理机调度
将军调度士兵打胜仗
处理机调度的层次和调度算法的目标
处理机调度是对处理机资源的分配。
处理机调度算法是指根据处理机分配策略所规定的处理机分配算法。
处理机调度的层次
-
高级调度(High Level Scheduling)
又称长程调度或作业调度。
调度对象是作业。
主要功能是,根据某种算法,决定将外存上处于后备队列中的哪几个作业调入内存,为它们创建进程,分配必要的资源,并将它们放入就绪队列。
运行频率最低。
-
低级调度
又称进程调度或短程调度。
调度对象是进程(或内核级线程)
主要功能是,根据某种算法,决定就绪队列中的哪个进程应获得处理机,并由分配程序将处理机分配给被选中的进程。
运行频率最高。
-
中级调度
又称内存调度。调高内存利用率和系统的吞吐量。
实现挂起操作,将进程从内存调至外存,或将进程从外存调至内存。
运行频率介于两者中间。
处理机调度算法的目标
-
处理机调度算法的共同目标
- 资源利用率。
KaTeX parse error: Undefined control sequence: \mbox at position 2: \̲m̲b̲o̲x̲{CPU利用率}=\frac{…
- 资源利用率。
-
公平性。
所有进程都获得合理的CPU时间。
-
平衡性
保持系统资源使用的平衡性。
-
策略强制执行
可强制执行一些策略。
-
批处理系统的目标
- 平均周转时间短。
- 系统吞吐量高。吞吐量:单位时间内系统所完成的作业量。
- 处理机利用率高。
-
分时系统的目标
- 响应时间快
- 均衡性。指系统响应时间的快慢应与所请求服务的复杂性相适应。
-
实时系统的目标
- 截止时间的保证
- 可预测性
作业和作业调度
批处理系统中的作业
-
作业和作业步
-
作业(Job):用户提交给系统的一项相对独立的工作。包含通常的程序和数据,而且配有一份作业说明书。
(外部提供的任务,未被内部化)
-
作业步(Job Step):加工作业的每一个步骤称为一个作业步。
-
-
作业控制块(Job Control Block, JCB)
是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度所需的全部信息。
每当一个作业进入系统时,由“作业注册”程序为该作业建立一个作业控制块JCB,并根据作业类型将其放到相应的作业后备队列中等待调度。(外存)
-
作业运行的三个阶段和三种状态
-
收
-