DJ3-2 作业和作业调度

目录

3.2.1  批处理系统中的作业

3.2.2  作业调度的主要任务

3.2.3  FCFS 和 SJF 调度算法

1. FCFS(First Come First Service)

2. SJF(Short Job First)

3.2.4  优先级调度算法和高响应比调度算法

1. 优先级调度算法

2. 高响应比优先调度算法


扫描二维码关注公众号,回复: 14717149 查看本文章

多道批处理系统:

  1. 用户提交作业
  2. 操作员输入作业,存放在外存,作业存放在后备队列
  3. 由作业调度(长程调度)程序调入内存

3.2.1  批处理系统中的作业

1. 作业(Job)和作业步(Job Step)

2. 作业控制块(JCB)

JCB 是作业在系统中存在的标志,包含:作业标识、用户名称、用户账号、作业类型、作业状态、调度信息、资源需求、资源使用情况等。

3. 作业运行的三个阶段和三种状态

  • 收容阶段 – 后备状态
  • 运行阶段 – 运行状态
  • 完成阶段 – 完成状态

3.2.2  作业调度的主要任务

作业调度的主要任务:根据 JCB 信息,检查系统中的资源能否满足作业对资源的需求,按照一定的调度算法,从外存的后备队列中选取某些作业调入内存,并为他们创建进程、分配必要资源,安排在就绪队列。

作业调度需要做出以下决定:

  • 接纳多少个作业
  • 接纳哪些作业

3.2.3  FCFS 和 SJF 调度算法

1. FCFS(First Come First Service)

FCFS 算法又称先来先服务算法,比较有利于长作业(进程),而不利于短作业(进程)。

举例:下表列出了 A、B、C、D 四个作业分别到达系统的时间、要求服务的时间、开始执行的时间及各自的完成时间,并计算出各自的周转时间和带权周转时间。

进程名 到达时间 服务时间 开始执行时间 完成时间 周转时间 带权周转时间
A 0 1 0 1 1 1
B 1 100 1 101 100 1
C 2 1 101 102 100 100
D 3 100 102 202 199 1.99

2. SJF(Short Job First)

SJF/SPF 算法又称短作业/短进程优先调度算法,是指对短作业或短进程优先调度的算法。

1)SJF 算法

是指从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行。

SJF:外存后备队列 << 内存就绪队列

2)SPF 算法

是指从就绪队列中选出一个估计运行时间最短的进程,将处理机分配给它,使它立即执行并一直执行,直到完成或发生某事件而被阻塞,则放弃处理机再重新调度。

SPF:内存就绪队列 << 处理机执行

3)缺点

① 该算法对长作业不利。

② 该算法完全没考虑作业的紧迫程度,因而不能保证紧迫性作业/进程能及时得到处理。

③ 由于作业/进程的长短是根据用户所提供的估计执行时间而定的,而用户又可能会估计不准运行时间,致使该算法不一定能真正做到短作业优先调度。

OS 是不知道作业/进程的长短的,只有执行了才知道。

4)举例

进程名 A B C D E 平均
到达时间 0 1 2 3 4
服务时间 4 3 5 2 4
FCFS 完成时间 4 7 12 14 18
周转时间 4 6 10 11 14 9
带权周转时间 1 2 2 5.5 3.5 2.8
SJF 完成时间 4 9 18 6 13
周转时间 4 8 16 3 9 8
带权周转时间 1 2.67 3.2 1.5 2.25 2.1

3.2.4  优先级调度算法和高响应比调度算法

1. 优先级调度算法

在实际应用中,作业的性质可能是不同,运行的迫切性也有所不同。因此,可以为每个作业定义一个优先级,优先级越高的作业将优先获得调度:从外存后备队列进入到内存就绪队列中。

1)当应用于作业调度时,优先级调度算法是把具有最高优先级的作业调入内存之中。

2)当应用于进程调度时,优先级调度算法是调度就绪队列中具有最高优先级的进程获得处理机。

2. 高响应比优先调度算法

引入动态优先级,优先级随等待的时间延长而增加。计算公式如下:

R_{P}=\frac{service\_time+wait\_time}{service\_time}=1+\frac{wait\_time}{service\_time} 

1 + 等待时间/服务时间

优点:该算法既照顾了短作业,又考虑了作业到达的先后次序,不会使长作业长期得不到服务。

缺点:利用该算法时,每次调度之前,都须先做响应比的计算,会增加系统开销。

而且这个服务时间也是用户自己估计的吧。

猜你喜欢

转载自blog.csdn.net/m0_64140451/article/details/129879917