一个作业从提交开始,往往要经历下述三级调度,其所作的工作包括:
1. 选择作业
2. 分配资源
3. 建立作业的进程
4. 建立有关的表格
5. 作业的善后处理
处理机调度的层次
1. 高级调度(High Level Scheduling)
用于决定把后备队列中的哪些作业调入内存, 为它们分配必要的资源,并创建进程。
2. 低级调度(Low Level Scheduling)
用来决定就绪队列中哪个进程应先获得处理机, 并将处理机分配给选中的进程。
3. 中级调度(Intermediate Scheduling)
用于将外存中已具备运行条件的进程换入内存,而将内存中处于阻塞状态的某些进程换出至外存。
处理机调度分为3级:
作业调度(高级调度)对输入井的作业进行选择,为其分配内存、设备;创建根进程;回收系统资源
交换调度(中级调度)根据系统并发度,完成进程在内外存的换入和换出。
进程调度(进程调度)选取一个处于就绪状态的进程占用处理机
高级调度-作业调度
在多道批处理系统中,作业是用户提交给系统的一项相对独立的工作。操作员把用户提交的作业通过相应的输入设备输入到磁盘存储器,并保存在一个后备作业队列中。再由作业调度程序将其从外存调入内存。
1. 作业和作业步
(1) 作业(Job)。
(2) 作业步(Job Step)。
2. 作业控制块(Job Control Block,JCB)
为了管理和调度作业,在多道批处理系统中,为每个作业设置了一个作业控制块JCB,它是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度所需的全部信息。通常在JCB中包含的内容有:作业标识、用户名称、用户账号、作业类型、作业状态、调度信息、资源需求、资源使用情况等。
3. 作业运行的三个阶段和三种状态
作业从进入系统到运行结束,通常需要经历收容、运行和完成三个阶段。相应的作业也就有“后备状态”、“运行状态”和“完成状态”。
(1) 收容阶段。
(2) 运行阶段。
(3) 完成阶段。
在每次执行作业调度时,都需做出以下两个决定。
(1) 接纳多少个作业
(2) 接纳哪些作业
作业与进程的关系
- 作业是用户向计算机提交任务的任务实体
- 进程是为了完成用户任务实体而设置的执行实体。一个作业由一个以上的进程组成
调度队列模型
前面所介绍的三级调度,都将涉及到作业或进程的队列,形成了不同的三类调度队列模型。
1. 仅有进程调度的调度队列模型(分时系统)
2. 具有高级和低级调度的调度队列模型(批处理系统)
选择调度方式和调度算法的若干准则
选择调度方式和算法的准则,有的是面向用户的,有的是面向系统的。
1.面向用户的准则
(1) 周转时间短。 (2) 响应时间快。
(3) 截止时间的保证。 (4) 优先权准则。
2.面向系统的准则
(1) 系统吞吐量高
(2) 处理机利用率好。
(3) 各类资源的平衡利用