作业是什么?有哪些状态?操作系统如何控制管理作业?
作业是什么?有哪些状态?操作系统如何控制管理作业?
在计算机操作系统中,作业(Job)是计算机操作员(或称为作业调度程序的程序)提供给操作系统执行任务的工作单元。作业通常以批处理(后台)模式运行, 而非普通用户正常使用操作系统的交互式模式。在批处理模式下运行的作业,对其完成时间的实时程度要求,通常低于用户以交互式模式执行操作系统任务的完成时间期望。
操作系统作业的状态设计:
HOLD:当用户提交作业时,该作业将置于 HOLD 状态并放入队列中。
READY:当作业处于可运行状态并等待 CPU 资源时,被作业管理模块置于 READY 状态。- RUNNING:作业处于正在被执行的状态。
WAITING:作业在完成指定的 I/O 操作或被分配资源之前无法继续运行,则处于 WAITING 等待状态。
FINISHED: 当作业处于 FINISHED 状态时,表示作业完成,其输出将返回给用户。
操作系统控制和管理作业的一个典型例子,是在 IBM 大型机操作系统(如 MVS、OS/390 和后续版本)中,使用作业控制语言 (Job Controlling Language) 来描述作业。作业被分解为一个个作业步骤。每个作业步骤对应一个技术或者业务流程,比如对作业需要处理的特定数据集或数据库进行初始化操作。
操作系统作业调度模块的设计通常提供更大的灵活性,以及监视和报告批处理作业操作的能力。比如这些模块也允许开发人员编写 JCL,为操作系统描述了作业运行所需资源(例如所需的数据集或者数据库)和具体的运行逻辑。
评论