系统架构设计笔记(6)—— 操作系统作业管理

从用户的角度看,作业是系统为完成一个用户的计算任务(或一次事务处理)所做的工作总和。例如,对于用户编制的源程序,需经过对源程序的编译、连接编辑或连接装入及运行产生计算结果。这其中的每一个步骤,常称为作业步,作业步的顺序执行即完成了一个作业。

从系统的角度看,作业则是一个比程序更广的概念。它由程序、数据和作业说明书组成。系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。而且,在批处理系统中,作业是占据内存的基本单位。

用户的作业可以通过直接的方式,由用户自己按照作业步顺序操作;也可以通过间接的方式,由用户率先编写的作业步依次执行的说明,一次交给操作系统,由系统按照说明依次处理。前者称为联机方式,后者称为脱机方式。

1 作业状态及其转换

一个作业从交给计算机系统到执行结束退出系统,一般都要经历提交、后备、执行和完成 4 个状态。其状态转换如图 1 所示。

(1)提交状态。作业由输入设备进入外存储器(也称输入井)的过程称为提交状态。处于提交状态的作业,其信息正在进入系统。
(2)后备状态。当作业的全部信息进入外存后,系统就为该作业建立一个作业控制块(Job Control Block, JCB)。系统通过 JCB 感知作业的存在。 JCB 主要内容包括作业名、作业状态、资源要求、作业控制方式、作业类型及作业优先权等。
(3)执行状态。一个后备作业被作业调度程序选中而分配了必要的资源并进入了内存,作业调度程序同时为其建立了相应的进程后,该作业就由后备状态变成了执行状态。
(4)完成状态。当作业正常运行结束,它所占用的资源尚未全部被系统回收时的状态为完成状态。

2 用户接口

用户接口也称为用户界面,其含义有两种,一种是指用户与操作系统交互的途径和通道,即操作系统的接口;另一种是指这种交互环境的控制方式,即操作环境。

2.1 操作系统的接口

操作系统的接口又可分成命令接口和程序接口。

  1. 命令接口包含键盘命令和作业控制命令;
  2. 程序接口又称为编程接口或系统调用,程序经编程接口请求系统服务,即通过系统调用程序与操作系统通信。系统调用是操作系统提供给编程人员的唯一接口。系统调用对用户屏蔽了操作系统的具体动作而只提供有关功能。系统调用大致分为设备管理、文件管理、进程控制、进程通信和存储管理等。

2.2 操作环境

操作环境支持命令接口和程序接口,提供友好的、易用的操作平台。
操作系统的交互界面已经从早期的命令驱动方式,发展到菜单驱动方式、图符驱动方式和视窗操作环境。

3 作业调度

处理器调度通常分为三级调度,即高级调度 、 中级调度和低级调度。

  1. 高级调度。高级调度也称为作业调度。高级调度的主要功能是在批处理作业的后备作业队列中选择一个或者一组作业,为它们建立进程,分配必要的资源,使它们能够运行起来 。
  2. 中级调度。中级调度也称为交换调度,中级调度决定进程在内存 、 外存之间的调入 、 调出。其主要功能是在内存资源不足时将某些处于等待状态或就绪状态的进程调出内存,腾出空间后,再将外存上的就绪进程调入内存。
  3. 低级调度。低级调度也称为进程调度,低级调度的主要功能是确定处理器在就绪进程间的分配。作业调度主要完成从后备状态到执行状态的转变,以及从执行状态到完成状态的转变。

作业调度算法有:

  1. 先来先服务 ( First Come and First Served,FCFS ) 。按作业到达的先后次序调度,它不利于短作业;

  2. 短作业优先 ( ShortJobFirst,SJF ) 。按作业的估计运行时间调度,估计运行时间短的作业优先调度。它不利于长作业,可能会使一个估计运行时间长的作业迟迟得不到执行。

  3. 响应比高者优先 (Highest Response ratio Next , HRN)。 是对 FCFS 先来先服务方式和 SJF 短作业方式的一种综合平衡。 FCFS 方式只考虑每个作业的等待时间而未考虑执行时间的长短,而 SJF 方式只考虑执行时间而未考虑等待时间的长短。因此,这两种调度算法在某些极端情况下会带来某些不便 。HRN 调度策略则同时考虑每个作业的等待时间长短和估计需要的执行时间长短,从中选出响应比最高的作业投入执行。响应比 R 的定义如下:
    R =( W + T ) /T =1 + W / T

其中 T 为该作业估计需要的执行时间, W 为作业在后备状态队列中的等待时间。每当要进行作业调度时,系统计算每个作业的响应比,选择其中 R 最大者投入执行。这样,即使是长作业,随着它等待时间的增加, W/T 也就随着增加,也就有机会获得调度执行。这种算法是介于 FCFS 和 SJF 之间的一种折中算法。由于长作业也有机会投入运行,在同一时间内处理的作业数显然要少于 SJF 法,也即采用 HRN 方式其吞吐量将小于采用 SJF 法时的吞吐量。另外,由于每次调度前要计算响应比,系统开销也要相应增加 。

  1. 优先级调度。根据作业的优先级别,先调度优先级高的作业。
发布了671 篇原创文章 · 获赞 766 · 访问量 99万+

猜你喜欢

转载自blog.csdn.net/deniro_li/article/details/104860518