跳转至

批处理作业的管理

批处理作业是指无需用户干预,由操作系统自动处理的一类作业。批处理作业的主要目的是提高系统的效率,通过集中处理一批作业,减少系统的空闲时间和用户的等待时间。批处理作业管理涉及三个主要功能:作业输入作业调度作业控制

批处理作业的输入

作业输入

  • 定义:将用户提交的作业装入辅存输入井(如磁盘),并形成后备作业队列。系统按照作业进入输入井的顺序排队等待调度执行。
  • 作业输入信息通常包括:
    • 源程序:待编译和执行的程序代码。
    • 初始数据:用于程序执行所需的输入数据。
    • 作业控制说明书:描述作业执行步骤的说明书,用作业控制语言编写。

作业控制语言(JCL)

  • 定义:是一种描述作业执行过程的编程语言,用于批处理系统中。用户通过JCL指定作业的执行步骤和所需资源。
  • 功能
    1. 作业的提交:描述作业的开始和结束。
    2. 作业与作业步的执行控制:指定作业的执行顺序和依赖关系。
    3. 资源使用控制:指定作业执行时所需的硬件和软件资源。

作业控制块(JCB)

  • 定义:作业在系统中存在的标识,包含作业的各种属性和状态信息。
  • 主要内容
    • 作业名、作业状态
    • 作业优先级、类别
    • 所需资源(主存、外设)
    • 作业的时间信息(提交时间、开始时间、结束时间)
  • 用途:用于系统的输入程序、作业调度程序、作业控制程序等访问作业信息。

作业表

  • 定义:由所有作业的JCB构成的集合,存放于辅存中,用于系统管理和查询作业信息。

批处理作业调度

作业调度程序

  • 定义:用于控制作业调度的程序,根据某种调度算法从后备作业队列中选择合适的作业进行执行。
  • 主要任务
    1. 选择作业:从后备作业队列中选取作业进行执行。
    2. 资源分配:为选中的作业分配主存和外设等必要资源。
    3. 准备执行:为作业建立作业控制块和进程控制块,准备执行。
    4. 善后处理:当作业结束或被撤销时,释放资源,更新作业状态。

作业状态

作业在系统中的状态可以分为以下几种:

  • 提交状态:作业刚被提交到系统,等待进入后备队列。
  • 后备状态:作业在输入井中等待调度。
  • 运行状态:作业被调度程序选中,分配资源后进入执行状态。
  • 完成状态:作业执行完毕,资源被释放,作业退出系统。

作业调度的影响因素

  1. 公平性:确保系统资源在用户之间公平分配。
  2. 均衡使用资源:合理调度作业,使系统资源得到平衡使用。
  3. 提高系统吞吐量:最大化单位时间内完成的作业数量。
  4. 平衡系统和用户需求:兼顾系统性能和用户体验。

作业调度的性能指标

  • CPU利用率:CPU的有效工作时间占总时间的比例。
  • 吞吐量:单位时间内系统完成的作业数量。
  • 周转时间:从作业进入系统到完成的总时间。
  • 平均周转时间:所有作业的周转时间的平均值。
\[ T = \frac{1}{n} \sum_{i=1}^{n} T_i \]

T:表示平均周转时间。 n:表示作业的总数量。\( T_{i} \):表示第 i 个作业的周转时间。

  • 带权平均周转时间:考虑作业执行时间的比重,使短作业优先。
\[ W = \frac{1}{n} \sum_{i=1}^{n} W_i \]

W:表示平均等待时间。 n:表示作业的总数量。\( W_{i} \):表示第 i 个作业的等待时间。

批处理作业调度的三级调度

  1. 高级调度(作业调度):选择哪些作业从后备队列进入主存执行。
  2. 中级调度:控制主存中进程的数量,通过换入换出进程以平衡内存使用。
  3. 低级调度(进程调度):选择就绪队列中的进程分配CPU执行。

批处理作业控制

批处理作业的执行

  • 作业执行过程:当作业被调度程序选中后,系统为其创建一个作业控制进程,负责具体的作业运行控制。
  • 运行控制:系统按照作业控制说明书逐步执行各作业步,直至作业完成。

批处理作业的终止与撤销

  • 作业终止:当作业成功完成或发生异常时,系统进行资源释放、更新作业状态,并继续下一个作业调度。
  • 作业撤销:在发生严重错误或用户要求中止时,系统强制停止作业执行,并进行善后处理。