计算机操作系统原理教程与实训ch02. 下载本文

内容发布更新时间 : 2024/12/27 10:37:31星期一 下面是文章的全部内容请认真阅读。

第2章 作业管理

教学提示:作业管理是操作系统面向用户的一部分。作业有四种状态:提交状态、后备状态、执行状态和完成状态。每种状态的转换都由调度来完成。操作系统是计算机与用户之间的窗口,它提供了两种接口:一种是命令接口,另外一种是程序接口。

教学要求:本章的总体要求为了解和掌握作业的概念,掌握作业调度的基本算法,以及操作系统为用户提供的几种接口。

2.1 作业的概念

作业,即用户在计算机系统中完成一个任务的过程。一个作业由3部分组成,即程序、数据及作业说明书。其中,作业说明书体现了用户对作业的控制意图。

作业说明书包含3个方面,即作业的基本信息、作业的控制信息及作业的资源信息。其中作业的基本信息主要包括用户名、使用的编程语言、作业名、作业的优先级和作业的最大处理时间。作业的控制信息主要包括作业的控制方式、作业控制顺序及出错处理。作业的资源信息主要包括外设的种类、数量和内存的大小等。

在一般应用系统中,作业由输入开始到输出结束,由操作员通过用户在终端设备上输入到计算机系统中,然后发出“编译”命令,计算机系统接到这条命令后,将编译程序调入内存并启动它工作。编译程序将记录在计算机中的源程序进行编译并产生浮动目标程序模块。然后,用户发送“连接”命令,操作系统执行该命令,生成一个完整且可执行的内存映象程序,最后发出“执行”命令,由操作系统启动内存映象程序运行,从而计算出结果,其过程为(编辑→源文件(编译→目标文件(连接→可执行文件。

2.2 作业的调度

对用户来说,作业开始是没有的,它经历了一个从无到有而最终消亡的过程,每个阶段称为作业的状态。从准备好的作业中调入一个作业到内存中运行,称为作业的

调度。调度又有几种常用的算法,即先来先服务算法,最短作业优先算法,响应比优先算法。

2.2.1 作业的状态及其转换

一个作业从进入系统到退出系统一般要经过提交、后备、执行、完成这4个状态。其状态及转换如图2.1所示。

第2章 作业管理 ·19·

图2.1 作业状态及转换图

(1 提交状态。一个作业通过用户由输入设备进入输入系统的过程,称作提交状态。

(2 后备状态。作业提交后,由系统为该作业建立作业控制块(JCB,Job Control Block,并把它插入后备作业队列中,等待作业调度程序的调度,由于随时有被调度的可能,因此称作后备状态。

(3 执行状态。后备状态的作业若被作业调度选中,并且分配了必要的资源,由作业调度程序建立相应的进程。这一状态被称为执行状态。

实质上,从微观上来看,处于执行状态的作业分3种状态,即运行、就绪和阻塞。 (4 完成状态。当作业执行结束后,进入作业完成状态。此时,由作业调度程序对该作业进行善后处理,主要表现为撤销作业的作业控制块,并回收此作业占用的系统中的资源数。最后,将作业的结果输出到外设之中。

当一个作业结束后,系统按当时资源分配情况及规定的调度算法,再从后备队列中选择另一个作业投入执行。

2.2.2 作业调度

作业调度就是按一定的算法从后备队列中选择一个作业送入内存执行,并在作业完成后处理善后工作的过程。

(1 作业调度的功能。记录进入系统的各个作业情况,作业一旦进入系统,系统即为该作业分配作业控制块JCB。

(2 从后备作业中挑选一些作业投入运行。一般而论,系统中后备状态作业较多,而在CPU中运行的不能很多,这就要求作业调度程序必须按规定的调度策略来选择若干作业进入运行状态。

(3 为选中的作业做执行准备。作业从后备状态进入执行状态,需要建立相应的进程,分配进程所需的内存资源、外设资源,这些都交给调度程序。

(4 善后工作处理。当作业因某种原因退出或执行完毕后,作业调度程序回收作业原先占用的资源,撤销进程及JCB,并输出结果。

作业调度的性能衡量。一个作业调度性能的优劣,往往用作业平均周转时间和作业平均带权周转时间来衡量。

作业周转时间为Ti,Ti=Tei-Tsi。其中Tei为完成时间,Tsi为提交时间。 作业的带权周转时间为Wi=Ti/Tri。其中Tri为作业i运行时间,若有n个作业,则n 个作业平均周转时间T为

T=(T1+T2+T3+…T n/n ·19·

计算机操作系统原理教程与实训