第 6章 作业管理与系统接口
6.1 作业管理概述
6.2 批处理作业管理
6.3 交互式作业管理
6.4 系统接口本章结束!
6.1 作业管理概述
6.1.1 基本概念
1.作业作业 是用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合。它包括用户程序、所需要的数据以及控制命令等。作业是由一系列有序的作业步组成的。
2.作业步把计算机系统在完成一个作业的过程中所做的一项相对独立的工作称为一个 作业步 。
例如,我们每次使用计算机时都需要开机、进入相应的软件操作、关机等几个步骤,其中每一个步骤都可以看成一个作业步。
第 6章 作业管理与系统接口
6.1 作业管理概述
6.1.2 作业状态一个作业进入系统到运行结束,一般需要经历收容、运行、
完成三个阶段,与之对应的作业状态是后备、运行和完成三种状态。其状态转换如图 6-1所示。
1.后备状态当一个作业通过输入设备送入计算机,并存入磁盘后,系统就为作业建立一个作业控制块,把它插入到后备作业队列中等待被调度运行,这种状态称为 后备状态 。
从作业输入开始到放入后备作业队列的过程称为 收容阶段,
也称为 作业注册 。
第 6章 作业管理与系统接口
6.1 作业管理概述
6.1.2 作业状态
2.运行状态当一个作业被调度程序选中,为其分配必要的资源,建立一组相应进程的状态称为 运行状态 。
处于运行状态的作业在系统中可以从事各种活动。当被处理器调度程序选中后,就占用处理器运行,也可以等待某种事件的发生,还可能等待进程调度程序为其分配处理器。
运行状态的作业实际上就是进程,它有三种基本状态:就绪、
执行、阻塞。这就是第 2章介绍的内容。
第 6章 作业管理与系统接口
6.1 作业管理概述
6.1.2 作业状态
3.完成状态当作业正常运行结束或因发生错误而终止执行的状态称为 完成状态 。
此时,由系统将作业控制块从当前队列中删除,收回其占用的资源,将作业运行结果编入输出文件并调用有关设备进行输出。
在有 SPOOLing系统的计算机系统中,作业将被插入到完成队列中,
将运行结果送入输出井,再由 SPOOLing系统完成输出。
第 6章 作业管理与系统接口
6.1 作业管理概述
6.1.3 作业控制方式作业控制方式 是指用户根据操作系统提供的手段来说明作业加工步骤的方式。
系统提供的手段有作业控制语言和作业控制命令,它们让用户来说明其作业需进行加工的步骤。
作业控制方式有 批处理方式 和 交互方式 两种。
第 6章 作业管理与系统接口返回
6.2 批处理作业管理
6.2.1 基本原理批处理作业管理方式是指用户把自己对作业执行的控制意图用作业控制语言写成一份说明书,连同该作业的源程序和初始数据一起输入到计算机系统中,系统就可以按照说明书来控制作业的执行。
按照这种方式执行的作业,不需要用户的干预,由系统自动完成。这种方式也称为 脱机控制方式,或自动控制方式,它适合对作业的成批处理。采用这种处理方式的作业称为 批处理作业 或脱机作业 。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.2 作业控制语言
1.作业控制语言的概念作业控制语言 是描述批处理作业控制执行的标准,是对用户作业组织和管理的命令集合,是系统提供给用户用来描述其作业控制意图的工具。
作业控制语言提供的 主要功能 包括:作业的提交、作业的控制、作业步的执行、各种软硬件资源的使用,以及日期、时间、
账号的设置等。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.2 作业控制语言
1.作业控制语言的概念作业控制说明书 是用户用于描述批处理作业处理过程控制意图的一种特殊程序。用作业控制语言书写作业控制说明书,规定操作系统如何控制作业的执行。
作业控制说明书主要包括,作业基本描述、作业控制描述和资源要求描述。 作业基本描述 主要包括用户名、作业名、使用的编程语言名、允许的最大处理时间等; 作业控制描述 主要包括作业在执行过程中的控制方式,如各作业步的操作顺序以及作业不能正常执行的处理等; 资源要求描述 主要包括要求主存的大小、
外设种类和台数、处理的优先权、所需处理时间、所需库函数或实用程序等。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.2 作业控制语言
2.作业控制语言的组成作业控制语言由若干个控制语句组成。每个 语句 一般由控制关键字和控制参数组成。 控制关键字 告诉系统做什么样的操作,
控制参数 告诉系统操作的具体内容或对象。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.3 批处理作业的输入
2.作业控制语言的组成用户根据自己的解题要求组织文件,把每一个作业的源程序、
数据和作业控制说明书都定义为文件,这些文件组织在一起称为作业信息,存储到外存上。
操作员把若干个用户的作业信息收集到一起依次排列就形成了作业流。在有 SPOOLing系统的计算机系统中,操作员只需要输入一条“预输入”命令启动“输入进程”,就可以把作业流中的作业信息存放到“输入井”中等待处理。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
1.采用的数据结构为了实现批处理作业的调度,需要为每个作业设置一个作业控制块 ( JCB),用来记录作业的有关信息,如资源要求、资源使用情况、作业的控制方式、作业类型、作业优先权、作业名、
作业状态。
作业控制块是作业存在的惟一标志。 当作业进入后备状态时,
系统为其建立 JCB,从而使该作业可以被作业调度程序感知;当作业执行完后进入完成状态时,系统撤消其 JCB,释放有关资源并撤消该作业。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度作业调度与进程调度的关系 如图 6-2所示。
作业调度 是从输入井中选择可以装入主存储器的作业,当作业被装入主存储器时,作业调度就为该作业创建了一个进程;若有多个作业装入主存储器时,就可以创建多个作业进程。这些进程的初始状态为就绪状态。
然后由 进程调度 来选择可以占用处理器的进程。进程占有处理器运行时,由于各种原因引起进程状态的变化而让出处理器,
于是进程调度再选择一个进程去运行。
所以,作业调度与进程调度相互配合,可以实现多道作业的同时执行。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
2.作业调度算法
( 1)选择作业调度算法应考虑的因素。
–极大的流量。
–平衡资源的使用。
–公平使用。
( 2)衡量调度算法优劣的方法。
–平均周转时间短
–平均带权周转时间小第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
( 3)常用的作业调度算法。
① 先来先服务调度算法。 按作业到达系统的先后次序进行的调度。该算法优先考虑在系统中等待时间最长的作业,而不考虑作业运行时间的长短。这种算法容易实现,但是,效率比较低,
而且没有考虑到紧迫作业和短作业。
② 短作业优先调度算法。 从作业的后备队列中挑选运行时间最短的作业作为下一个调度运行对象。这种算法容易实现,且效率较高,但是,未考虑长作业的利益。
③ 响应比高者优先调度算法。 先来先服务调度算法有可能使短作业等待较长的时间,短作业优先调度算法又没有充分考虑到长作业。为了更有效地提高系统的利用率,可以采用响应比高者优先调度算法。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
( 3)常用的作业调度算法。
④ 优先权调度算法 。 优先权调度算法是根据作业确定的优先权来选取作业,每次总是选取优先权最高的作业 。
⑤ 分类调度算法 。 分类调度算法是根据系统运行情况和作业属性将作业分类,作业调度时轮流从这些不同的作业类中挑选作业,
以期达到均衡使用各类资源,提高系统效率的目的 。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 例 6-2】 在一个单道批处理系统中,一组作业的提交时间和运行时间如下表所示,试计算以下三种作业调度算法的平均周转时间和平均带权周转时间:
( 1)先来先服务调度算法;
( 2)短作业优先调度算法;
( 3)响应比高者优先调度算法。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 解 】
( 1)先来先服务算法。作业的执行情况如下表所示:
作业的执行顺序为,J1,J2,J3,J4。
平均周转时间 =(1.0+0.67+0.7+0.63)/4 = 0.75小时平均带权周转时间 =(1.0+1.34+3.5+6.3)/4 = 3.035
( 2)短作业优先算法。作业的执行情况如下表所示:
作业的执行顺序为,J1,J3,J4,J2。
平均周转时间 =(1.0+0.97+0.2+0.13)/4 = 0.575小时平均带权周转时间 =(1.0+1.94+1.0+1.3)/4 = 1.31
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 解 】
( 3) 响应比高者优先算法 。 按响应比高者优先算法,作业的执行情况如下表所示:
作业的执行顺序为,J1,J2,J4,J3。
平均周转时间 =(1.0+0.67+0.8+0.43)/4 = 0.725小时平均带权周转时间 =(1.0+1.34+4+4.3)/4 = 2.66
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 例 6-3】 有 5个作业 A,B,C,D,E,它们几乎同时到达,预计它们的运行时间为 10,6,2,4,8(秒),其优先权分别为 3,5、
2,1,4,这里 5为最高优先权。对于下列每一种调度算法,计算其平均周转时间(作业切换开销可以不考虑)。
( 1)先来先服务(按 A,B,C,D,E的次序)调度算法;
( 2)优先权调度算法。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 解 】 ( 1) 按先来先服务 ( 按 A,B,C,D,E) 调度算法,各作业在系统中的执行情况如下表所示:
作业的平均周转时间为:
T=(10+16+18+22+30)/5 = 19.2s
( 2)按优先权调度算法,各作业在系统中的执行情况如下表所示:
作业的平均周转时间为:
T=(6+14+24+26+30)/5 = 20.0s
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 例 6-4】 系统采用不能移动已在主存中的作业的可变分区管理主存。现有用户可用空间 100KB,系统有 4台打印机,有一批作业为:
系统采用多道程序设计技术和资源的静态分配方法,忽略设备工作时间和系统进行调度所花费的时间。请分别给出采用先来先服务算法、短作业优先调度算法运行时作业的调度顺序和平均周转时间。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 解 】 ( 1)按先来先服务调度算法,各作业的执行过程如下图所示:
5个作业的执行情况汇总如下表:
作业的调度顺序为,J1,J2,J4,J5,J3
作业的平均周转时间,(25+35+70+40+50)/5 = 44 分钟作业的平均带权周转时间,(1+1.17+7+2+3.33)/5 = 2.9
( 2)按短作业优先调度算法,J3虽然是短作业,但是,所需主存空间不足,仍被推迟到最后。 5个作业的执行情况汇总如下表:
作业的调度顺序为,J1,J2,J5,J4,J3
作业的平均周转时间,(25+35+70+55+30)/5 = 43 分钟作业的平均带权周转时间,(1+1.17+7+2.75+2)/5 = 2.784
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.5 批处理作业的控制操作系统按照用户组织作业时在作业控制说明书中所规定的控制要求去控制作业的执行。
一个作业往往要分为若干个作业步执行,一般是按照作业步的顺序控制作业的执行。一个作业步执行结束后,就顺序选取下一个作业步继续执行,直到最后一个作业步完成。
当整个作业执行完成后,系统就收回作业所占用的资源,撤消该作业,作业的执行结果在输出井中等待输出。
其控制流程如图 6-3所示。
第 6章 作业管理与系统接口返回
6.3 交互式作业管理
6.3.1 基本原理交互式控制方式 就是用户把自己对作业执行的控制意图用操作控制命令输入到计算机系统中,在作业执行过程中,用户逐条输入命令,系统根据接到的命令控制作业的执行。一条命令所要求的工作做完后,系统通知用户命令的执行情况,且允许用户再输入一条命令,以控制作业继续执行,直到作业执行结束。在作业执行过程中系统与用户不断地交换信息。
特点,需要用户的及时干预,这种方式也称为 联机控制方式,
或手动控制方式,它适合对终端用户作业的处理。采用这种控制方式的作业称为 终端作业 或 交互式作业 。
第 6章 作业管理与系统接口
6.3 交互式作业管理
6.3.2 交互式作业的控制交互式作业的控制方式是 联机控制方式,通过屏幕、键盘、
鼠标等设备实现人机对话。
1.命令控制这种控制方式是通过用户使用系统提供的操作控制命令实现的。不同的计算机系统提供给用户使用的控制命令是各不相同的,
但是,都有一个共同点,即每条命令必须含有请求“做什么”的
“动词”和要求“怎样做”的一些“参数”,在有些命令中参数可以省略。
操作控制命令大致可以分为:“注册”和“注销”命令、编辑命令、文件类命令、调试类命令。
第 6章 作业管理与系统接口
6.3 交互式作业管理
6.3.2 交互式作业的控制
2.菜单控制菜单控制 是一种友好的用户操作界面,一般包括菜单的显示部分、选择部分和执行部分。
其实现过程是:首先由程序显示自身能完成的各种功能的名称及其含义(显示部分),然后用户根据需要指出希望完成的功能名(选择部分),程序再分析用户的输入并调用不同的功能模块进行处理(执行部分)。这种方法类似饭店的点菜方式,故称为菜单控制。
菜单控制方式可以直接进行选项操作,不需要记忆各种命令,
是一种“友好的使用接口”。
第 6章 作业管理与系统接口
6.3 交互式作业管理
6.3.2 交互式作业的控制
3.窗口控制窗口控制采用了图形化的操作界面,每一个程序的所有内容都放在一个矩形的区域内,这个矩形区域称为“窗口”,在窗口中用非常容易识别的各种图标直观地表示系统的各种功能、应用程序和文件。用户可以通过鼠标、菜单和对话框来完成对应用程序和文件的操作。
窗口的操作有打开窗口、移动窗口、切换窗口、改变窗口的大小、关闭窗口等。
窗口系统为用户提供了丰富的、方便的、直接的操作接口。
第 6章 作业管理与系统接口
6.3 交互式作业管理
6.3.3 终端作业管理
1.终端连接终端连接 是指终端设备与计算机系统在线路上接通。终端分为近程终端和远程终端。 近程终端 通过系统加电直接连接到计算机系统上。 远程终端 通过租用专线或交换线连接到计算机系统上。
2.用户注册用户注册 是指对终端作业的作业调度。用户注册是在终端连接以后进行的,它向系统提出注册命令,系统核对口令正确后,
再分配资源。
第 6章 作业管理与系统接口
6.3 交互式作业管理
6.3.3 终端作业管理
3.作业控制作业控制 是指注册成功的用户通过系统提供的命令或会话语句控制作业的执行。作业控制是在用户注册之后进行的,用户每输入一个控制命令或会话语句后,系统立即解释执行。
4.用户退出用户退出 是指释放用户占用的资源退出系统。用户输入“注销”命令通知系统,系统要收回作业占用的所有资源。
第 6章 作业管理与系统接口返回
6.4 系统接口
6.4.1 系统接口概述
1.主要任务系统接口的 主要任务 是方便用户使用操作系统。而操作系统就是用户与计算机之间的接口,用户通过操作系统的帮助,可以快速、有效、安全地使用计算机系统中的各类资源,来完成自己的任务。
2.主要功能系统为用户提供了两种类型的接口。 一是命令接口,是为用户提供的直接使用接口,用户利用这些命令可以组织和控制作业的执行或管理计算机系统; 二是程序接口,是为用户提供的间接使用接口,用户利用这个接口在设计程序时调用操作系统的相应功能。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.2 命令接口根据对作业的控制方式不同,命令接口又分为联机命令接口和脱机命令接口。
1.联机命令接口联机命令接口 又称为交互式命令接口。它由一组键盘操作命令组成。用户通过控制台或终端键入操作命令,向系统提出各种服务请求。用户每输入完一条命令,控制就转向命令解释程序,
然后命令解释程序对键入的命令解释执行,完成指定的功能。最后,控制又返回到控制台或终端,此时用户可以键入下一条命令。
联机命令接口处理的是交互式作业,它的控制方式有三种,
即键盘命令、菜单控制和窗口控制。这在前面已经介绍过,在此不再赘述。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.2 命令接口
2.脱机命令接口脱机命令接口 也称为批处理命令接口。它由一组作业控制命令组成。脱机用户是指不直接干预作业运行的用户,他们应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起交给系统。当系统调用到该作业时,由系统中的命令解释程序对作业说明书上的命令或作业控制语句逐条解释执行。
脱机命令接口处理的是批处理作业 。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.2 命令接口
3.终端处理程序配置在终端上的用于实现人机交互作用的程序称为 终端处理程序 。它提供的输入输出方式对整个用户命令接口有着重大的影响,同时也确定了用户与其应用程序之间的通信方式。
它的 主要功能 有接收字符、设置字符缓冲、回送显示、屏幕编辑和特殊字符处理等。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.2 命令接口
4.命令解释程序命令解释程序 是对从键盘上接收的命令进行解释,并转入相应的命令处理程序去执行的程序。
其 主要功能 是:在屏幕上产生提示字符,请用户键入命令,
读入接收的命令、识别命令、转到相应的命令处理程序入口地址,
再把控制权交给该处理程序去执行,将处理结果送到屏幕上显示,
或显示相应的错误信息。
命令解释程序的 执行过程 包括:接收命令、识别命令和执行命令。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口程序接口 由一组系统调用命令组成,用户通过在程序中使用这些 系统调用命令 来请求操作系统提供服务。
1.系统调用的概念系统调用 是操作系统提供给用户程序使用的具有一定功能的程序段。具体地讲,系统调用就是通过系统调用命令中断现行程序,而转去执行相应的子程序,以完成特定的系统功能。完成后,
控制又返回到发出系统调用命令之后的下一条指令,被中断的程序将继续执行下去。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口程序接口 由一组系统调用命令组成,用户通过在程序中使用这些 系统调用命令 来请求操作系统提供服务。
1.系统调用的概念系统调用 是操作系统提供给用户程序使用的具有一定功能的程序段。具体地讲,系统调用就是通过系统调用命令中断现行程序,而转去执行相应的子程序,以完成特定的系统功能。完成后,
控制又返回到发出系统调用命令之后的下一条指令,被中断的程序将继续执行下去。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口
1.系统调用的概念系统调用命令也称为 广义指令 。它与机器指令的不同之处在于机器指令是用硬件实现的,而系统调用命令则是通过操作系统提供的一个或多个子程序模块实现的。
系统调用的类型按功能大致分为设备管理、文件管理、进程管理、进程通信、存储管理几大类。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口
2,系统调用的实现系统调用实际上是一种过程调用,它的 执行过程 是:
① 为执行系统调用命令做准备。 其主要工作是保存用户程序的现场,并把系统调用命令的参数(如系统调用命令的编号)放入指定的存储单元。
② 执行系统调用。 根据系统调用命令的编号,访问系统调用入口表,找到相应子程序的入口地址,然后转去执行。这个子程序就是系统调用处理程序。
③ 执行完后的处理。 主要工作是恢复现场,并把系统带来的参数送入指定的存储单元,以供用户程序使用。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口
3.系统调用与一般过程调用的区别:
① 运行状态不同。 一般的过程调用,其调用和被调用的过程或者都是用户子程序,或者都是系统程序,故都运行在同一状态,
即系统态或用户态下。系统调用的调用过程是用户程序,它运行在用户态;而被调用过程是系统过程,它运行在系统态。
② 进入方式不同。 一般的过程调用可以直接由调用过程转向被调用过程;而执行系统调用时,由于调用和被调用过程处于不同的系统状态,因而不允许由调用过程直接转向被调用过程而是通过软中断机制,先进入操作系统核心,经核心程序分析后,才能转向相应的命令处理程序。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口
3.系统调用与一般过程调用的区别:
③ 返回不同。 一般的过程调用,在被调用过程执行完后,可以直接返回调用过程继续执行。而在采用了抢占式剥夺调度方式的系统中,在被调用过程执行完后,要对系统中所有要求运行的进程进行优先权的分析。当调用进程仍具有最高优先权时才返回到调用进程继续执行;否则,将引起重新调度,以便让优先权最高的进程先执行。此时,将把调用进程放入就绪队列。
④ 代码层次不同。 一般过程调用中的被调用程序是用户级程序,而系统调用是操作系统代码中的代码程序,是系统级程序。
返回第 6章 作业管理与系统接口
6.1 作业管理概述
6.2 批处理作业管理
6.3 交互式作业管理
6.4 系统接口本章结束!
6.1 作业管理概述
6.1.1 基本概念
1.作业作业 是用户在一次解题或一个事务处理过程中要求计算机系统所做工作的集合。它包括用户程序、所需要的数据以及控制命令等。作业是由一系列有序的作业步组成的。
2.作业步把计算机系统在完成一个作业的过程中所做的一项相对独立的工作称为一个 作业步 。
例如,我们每次使用计算机时都需要开机、进入相应的软件操作、关机等几个步骤,其中每一个步骤都可以看成一个作业步。
第 6章 作业管理与系统接口
6.1 作业管理概述
6.1.2 作业状态一个作业进入系统到运行结束,一般需要经历收容、运行、
完成三个阶段,与之对应的作业状态是后备、运行和完成三种状态。其状态转换如图 6-1所示。
1.后备状态当一个作业通过输入设备送入计算机,并存入磁盘后,系统就为作业建立一个作业控制块,把它插入到后备作业队列中等待被调度运行,这种状态称为 后备状态 。
从作业输入开始到放入后备作业队列的过程称为 收容阶段,
也称为 作业注册 。
第 6章 作业管理与系统接口
6.1 作业管理概述
6.1.2 作业状态
2.运行状态当一个作业被调度程序选中,为其分配必要的资源,建立一组相应进程的状态称为 运行状态 。
处于运行状态的作业在系统中可以从事各种活动。当被处理器调度程序选中后,就占用处理器运行,也可以等待某种事件的发生,还可能等待进程调度程序为其分配处理器。
运行状态的作业实际上就是进程,它有三种基本状态:就绪、
执行、阻塞。这就是第 2章介绍的内容。
第 6章 作业管理与系统接口
6.1 作业管理概述
6.1.2 作业状态
3.完成状态当作业正常运行结束或因发生错误而终止执行的状态称为 完成状态 。
此时,由系统将作业控制块从当前队列中删除,收回其占用的资源,将作业运行结果编入输出文件并调用有关设备进行输出。
在有 SPOOLing系统的计算机系统中,作业将被插入到完成队列中,
将运行结果送入输出井,再由 SPOOLing系统完成输出。
第 6章 作业管理与系统接口
6.1 作业管理概述
6.1.3 作业控制方式作业控制方式 是指用户根据操作系统提供的手段来说明作业加工步骤的方式。
系统提供的手段有作业控制语言和作业控制命令,它们让用户来说明其作业需进行加工的步骤。
作业控制方式有 批处理方式 和 交互方式 两种。
第 6章 作业管理与系统接口返回
6.2 批处理作业管理
6.2.1 基本原理批处理作业管理方式是指用户把自己对作业执行的控制意图用作业控制语言写成一份说明书,连同该作业的源程序和初始数据一起输入到计算机系统中,系统就可以按照说明书来控制作业的执行。
按照这种方式执行的作业,不需要用户的干预,由系统自动完成。这种方式也称为 脱机控制方式,或自动控制方式,它适合对作业的成批处理。采用这种处理方式的作业称为 批处理作业 或脱机作业 。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.2 作业控制语言
1.作业控制语言的概念作业控制语言 是描述批处理作业控制执行的标准,是对用户作业组织和管理的命令集合,是系统提供给用户用来描述其作业控制意图的工具。
作业控制语言提供的 主要功能 包括:作业的提交、作业的控制、作业步的执行、各种软硬件资源的使用,以及日期、时间、
账号的设置等。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.2 作业控制语言
1.作业控制语言的概念作业控制说明书 是用户用于描述批处理作业处理过程控制意图的一种特殊程序。用作业控制语言书写作业控制说明书,规定操作系统如何控制作业的执行。
作业控制说明书主要包括,作业基本描述、作业控制描述和资源要求描述。 作业基本描述 主要包括用户名、作业名、使用的编程语言名、允许的最大处理时间等; 作业控制描述 主要包括作业在执行过程中的控制方式,如各作业步的操作顺序以及作业不能正常执行的处理等; 资源要求描述 主要包括要求主存的大小、
外设种类和台数、处理的优先权、所需处理时间、所需库函数或实用程序等。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.2 作业控制语言
2.作业控制语言的组成作业控制语言由若干个控制语句组成。每个 语句 一般由控制关键字和控制参数组成。 控制关键字 告诉系统做什么样的操作,
控制参数 告诉系统操作的具体内容或对象。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.3 批处理作业的输入
2.作业控制语言的组成用户根据自己的解题要求组织文件,把每一个作业的源程序、
数据和作业控制说明书都定义为文件,这些文件组织在一起称为作业信息,存储到外存上。
操作员把若干个用户的作业信息收集到一起依次排列就形成了作业流。在有 SPOOLing系统的计算机系统中,操作员只需要输入一条“预输入”命令启动“输入进程”,就可以把作业流中的作业信息存放到“输入井”中等待处理。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
1.采用的数据结构为了实现批处理作业的调度,需要为每个作业设置一个作业控制块 ( JCB),用来记录作业的有关信息,如资源要求、资源使用情况、作业的控制方式、作业类型、作业优先权、作业名、
作业状态。
作业控制块是作业存在的惟一标志。 当作业进入后备状态时,
系统为其建立 JCB,从而使该作业可以被作业调度程序感知;当作业执行完后进入完成状态时,系统撤消其 JCB,释放有关资源并撤消该作业。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度作业调度与进程调度的关系 如图 6-2所示。
作业调度 是从输入井中选择可以装入主存储器的作业,当作业被装入主存储器时,作业调度就为该作业创建了一个进程;若有多个作业装入主存储器时,就可以创建多个作业进程。这些进程的初始状态为就绪状态。
然后由 进程调度 来选择可以占用处理器的进程。进程占有处理器运行时,由于各种原因引起进程状态的变化而让出处理器,
于是进程调度再选择一个进程去运行。
所以,作业调度与进程调度相互配合,可以实现多道作业的同时执行。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
2.作业调度算法
( 1)选择作业调度算法应考虑的因素。
–极大的流量。
–平衡资源的使用。
–公平使用。
( 2)衡量调度算法优劣的方法。
–平均周转时间短
–平均带权周转时间小第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
( 3)常用的作业调度算法。
① 先来先服务调度算法。 按作业到达系统的先后次序进行的调度。该算法优先考虑在系统中等待时间最长的作业,而不考虑作业运行时间的长短。这种算法容易实现,但是,效率比较低,
而且没有考虑到紧迫作业和短作业。
② 短作业优先调度算法。 从作业的后备队列中挑选运行时间最短的作业作为下一个调度运行对象。这种算法容易实现,且效率较高,但是,未考虑长作业的利益。
③ 响应比高者优先调度算法。 先来先服务调度算法有可能使短作业等待较长的时间,短作业优先调度算法又没有充分考虑到长作业。为了更有效地提高系统的利用率,可以采用响应比高者优先调度算法。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
( 3)常用的作业调度算法。
④ 优先权调度算法 。 优先权调度算法是根据作业确定的优先权来选取作业,每次总是选取优先权最高的作业 。
⑤ 分类调度算法 。 分类调度算法是根据系统运行情况和作业属性将作业分类,作业调度时轮流从这些不同的作业类中挑选作业,
以期达到均衡使用各类资源,提高系统效率的目的 。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 例 6-2】 在一个单道批处理系统中,一组作业的提交时间和运行时间如下表所示,试计算以下三种作业调度算法的平均周转时间和平均带权周转时间:
( 1)先来先服务调度算法;
( 2)短作业优先调度算法;
( 3)响应比高者优先调度算法。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 解 】
( 1)先来先服务算法。作业的执行情况如下表所示:
作业的执行顺序为,J1,J2,J3,J4。
平均周转时间 =(1.0+0.67+0.7+0.63)/4 = 0.75小时平均带权周转时间 =(1.0+1.34+3.5+6.3)/4 = 3.035
( 2)短作业优先算法。作业的执行情况如下表所示:
作业的执行顺序为,J1,J3,J4,J2。
平均周转时间 =(1.0+0.97+0.2+0.13)/4 = 0.575小时平均带权周转时间 =(1.0+1.94+1.0+1.3)/4 = 1.31
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 解 】
( 3) 响应比高者优先算法 。 按响应比高者优先算法,作业的执行情况如下表所示:
作业的执行顺序为,J1,J2,J4,J3。
平均周转时间 =(1.0+0.67+0.8+0.43)/4 = 0.725小时平均带权周转时间 =(1.0+1.34+4+4.3)/4 = 2.66
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 例 6-3】 有 5个作业 A,B,C,D,E,它们几乎同时到达,预计它们的运行时间为 10,6,2,4,8(秒),其优先权分别为 3,5、
2,1,4,这里 5为最高优先权。对于下列每一种调度算法,计算其平均周转时间(作业切换开销可以不考虑)。
( 1)先来先服务(按 A,B,C,D,E的次序)调度算法;
( 2)优先权调度算法。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 解 】 ( 1) 按先来先服务 ( 按 A,B,C,D,E) 调度算法,各作业在系统中的执行情况如下表所示:
作业的平均周转时间为:
T=(10+16+18+22+30)/5 = 19.2s
( 2)按优先权调度算法,各作业在系统中的执行情况如下表所示:
作业的平均周转时间为:
T=(6+14+24+26+30)/5 = 20.0s
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 例 6-4】 系统采用不能移动已在主存中的作业的可变分区管理主存。现有用户可用空间 100KB,系统有 4台打印机,有一批作业为:
系统采用多道程序设计技术和资源的静态分配方法,忽略设备工作时间和系统进行调度所花费的时间。请分别给出采用先来先服务算法、短作业优先调度算法运行时作业的调度顺序和平均周转时间。
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.4 批处理作业的调度
3.作业调调度算法举例
【 解 】 ( 1)按先来先服务调度算法,各作业的执行过程如下图所示:
5个作业的执行情况汇总如下表:
作业的调度顺序为,J1,J2,J4,J5,J3
作业的平均周转时间,(25+35+70+40+50)/5 = 44 分钟作业的平均带权周转时间,(1+1.17+7+2+3.33)/5 = 2.9
( 2)按短作业优先调度算法,J3虽然是短作业,但是,所需主存空间不足,仍被推迟到最后。 5个作业的执行情况汇总如下表:
作业的调度顺序为,J1,J2,J5,J4,J3
作业的平均周转时间,(25+35+70+55+30)/5 = 43 分钟作业的平均带权周转时间,(1+1.17+7+2.75+2)/5 = 2.784
第 6章 作业管理与系统接口
6.2 批处理作业管理
6.2.5 批处理作业的控制操作系统按照用户组织作业时在作业控制说明书中所规定的控制要求去控制作业的执行。
一个作业往往要分为若干个作业步执行,一般是按照作业步的顺序控制作业的执行。一个作业步执行结束后,就顺序选取下一个作业步继续执行,直到最后一个作业步完成。
当整个作业执行完成后,系统就收回作业所占用的资源,撤消该作业,作业的执行结果在输出井中等待输出。
其控制流程如图 6-3所示。
第 6章 作业管理与系统接口返回
6.3 交互式作业管理
6.3.1 基本原理交互式控制方式 就是用户把自己对作业执行的控制意图用操作控制命令输入到计算机系统中,在作业执行过程中,用户逐条输入命令,系统根据接到的命令控制作业的执行。一条命令所要求的工作做完后,系统通知用户命令的执行情况,且允许用户再输入一条命令,以控制作业继续执行,直到作业执行结束。在作业执行过程中系统与用户不断地交换信息。
特点,需要用户的及时干预,这种方式也称为 联机控制方式,
或手动控制方式,它适合对终端用户作业的处理。采用这种控制方式的作业称为 终端作业 或 交互式作业 。
第 6章 作业管理与系统接口
6.3 交互式作业管理
6.3.2 交互式作业的控制交互式作业的控制方式是 联机控制方式,通过屏幕、键盘、
鼠标等设备实现人机对话。
1.命令控制这种控制方式是通过用户使用系统提供的操作控制命令实现的。不同的计算机系统提供给用户使用的控制命令是各不相同的,
但是,都有一个共同点,即每条命令必须含有请求“做什么”的
“动词”和要求“怎样做”的一些“参数”,在有些命令中参数可以省略。
操作控制命令大致可以分为:“注册”和“注销”命令、编辑命令、文件类命令、调试类命令。
第 6章 作业管理与系统接口
6.3 交互式作业管理
6.3.2 交互式作业的控制
2.菜单控制菜单控制 是一种友好的用户操作界面,一般包括菜单的显示部分、选择部分和执行部分。
其实现过程是:首先由程序显示自身能完成的各种功能的名称及其含义(显示部分),然后用户根据需要指出希望完成的功能名(选择部分),程序再分析用户的输入并调用不同的功能模块进行处理(执行部分)。这种方法类似饭店的点菜方式,故称为菜单控制。
菜单控制方式可以直接进行选项操作,不需要记忆各种命令,
是一种“友好的使用接口”。
第 6章 作业管理与系统接口
6.3 交互式作业管理
6.3.2 交互式作业的控制
3.窗口控制窗口控制采用了图形化的操作界面,每一个程序的所有内容都放在一个矩形的区域内,这个矩形区域称为“窗口”,在窗口中用非常容易识别的各种图标直观地表示系统的各种功能、应用程序和文件。用户可以通过鼠标、菜单和对话框来完成对应用程序和文件的操作。
窗口的操作有打开窗口、移动窗口、切换窗口、改变窗口的大小、关闭窗口等。
窗口系统为用户提供了丰富的、方便的、直接的操作接口。
第 6章 作业管理与系统接口
6.3 交互式作业管理
6.3.3 终端作业管理
1.终端连接终端连接 是指终端设备与计算机系统在线路上接通。终端分为近程终端和远程终端。 近程终端 通过系统加电直接连接到计算机系统上。 远程终端 通过租用专线或交换线连接到计算机系统上。
2.用户注册用户注册 是指对终端作业的作业调度。用户注册是在终端连接以后进行的,它向系统提出注册命令,系统核对口令正确后,
再分配资源。
第 6章 作业管理与系统接口
6.3 交互式作业管理
6.3.3 终端作业管理
3.作业控制作业控制 是指注册成功的用户通过系统提供的命令或会话语句控制作业的执行。作业控制是在用户注册之后进行的,用户每输入一个控制命令或会话语句后,系统立即解释执行。
4.用户退出用户退出 是指释放用户占用的资源退出系统。用户输入“注销”命令通知系统,系统要收回作业占用的所有资源。
第 6章 作业管理与系统接口返回
6.4 系统接口
6.4.1 系统接口概述
1.主要任务系统接口的 主要任务 是方便用户使用操作系统。而操作系统就是用户与计算机之间的接口,用户通过操作系统的帮助,可以快速、有效、安全地使用计算机系统中的各类资源,来完成自己的任务。
2.主要功能系统为用户提供了两种类型的接口。 一是命令接口,是为用户提供的直接使用接口,用户利用这些命令可以组织和控制作业的执行或管理计算机系统; 二是程序接口,是为用户提供的间接使用接口,用户利用这个接口在设计程序时调用操作系统的相应功能。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.2 命令接口根据对作业的控制方式不同,命令接口又分为联机命令接口和脱机命令接口。
1.联机命令接口联机命令接口 又称为交互式命令接口。它由一组键盘操作命令组成。用户通过控制台或终端键入操作命令,向系统提出各种服务请求。用户每输入完一条命令,控制就转向命令解释程序,
然后命令解释程序对键入的命令解释执行,完成指定的功能。最后,控制又返回到控制台或终端,此时用户可以键入下一条命令。
联机命令接口处理的是交互式作业,它的控制方式有三种,
即键盘命令、菜单控制和窗口控制。这在前面已经介绍过,在此不再赘述。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.2 命令接口
2.脱机命令接口脱机命令接口 也称为批处理命令接口。它由一组作业控制命令组成。脱机用户是指不直接干预作业运行的用户,他们应事先用相应的作业控制命令写成一份作业操作说明书,连同作业一起交给系统。当系统调用到该作业时,由系统中的命令解释程序对作业说明书上的命令或作业控制语句逐条解释执行。
脱机命令接口处理的是批处理作业 。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.2 命令接口
3.终端处理程序配置在终端上的用于实现人机交互作用的程序称为 终端处理程序 。它提供的输入输出方式对整个用户命令接口有着重大的影响,同时也确定了用户与其应用程序之间的通信方式。
它的 主要功能 有接收字符、设置字符缓冲、回送显示、屏幕编辑和特殊字符处理等。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.2 命令接口
4.命令解释程序命令解释程序 是对从键盘上接收的命令进行解释,并转入相应的命令处理程序去执行的程序。
其 主要功能 是:在屏幕上产生提示字符,请用户键入命令,
读入接收的命令、识别命令、转到相应的命令处理程序入口地址,
再把控制权交给该处理程序去执行,将处理结果送到屏幕上显示,
或显示相应的错误信息。
命令解释程序的 执行过程 包括:接收命令、识别命令和执行命令。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口程序接口 由一组系统调用命令组成,用户通过在程序中使用这些 系统调用命令 来请求操作系统提供服务。
1.系统调用的概念系统调用 是操作系统提供给用户程序使用的具有一定功能的程序段。具体地讲,系统调用就是通过系统调用命令中断现行程序,而转去执行相应的子程序,以完成特定的系统功能。完成后,
控制又返回到发出系统调用命令之后的下一条指令,被中断的程序将继续执行下去。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口程序接口 由一组系统调用命令组成,用户通过在程序中使用这些 系统调用命令 来请求操作系统提供服务。
1.系统调用的概念系统调用 是操作系统提供给用户程序使用的具有一定功能的程序段。具体地讲,系统调用就是通过系统调用命令中断现行程序,而转去执行相应的子程序,以完成特定的系统功能。完成后,
控制又返回到发出系统调用命令之后的下一条指令,被中断的程序将继续执行下去。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口
1.系统调用的概念系统调用命令也称为 广义指令 。它与机器指令的不同之处在于机器指令是用硬件实现的,而系统调用命令则是通过操作系统提供的一个或多个子程序模块实现的。
系统调用的类型按功能大致分为设备管理、文件管理、进程管理、进程通信、存储管理几大类。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口
2,系统调用的实现系统调用实际上是一种过程调用,它的 执行过程 是:
① 为执行系统调用命令做准备。 其主要工作是保存用户程序的现场,并把系统调用命令的参数(如系统调用命令的编号)放入指定的存储单元。
② 执行系统调用。 根据系统调用命令的编号,访问系统调用入口表,找到相应子程序的入口地址,然后转去执行。这个子程序就是系统调用处理程序。
③ 执行完后的处理。 主要工作是恢复现场,并把系统带来的参数送入指定的存储单元,以供用户程序使用。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口
3.系统调用与一般过程调用的区别:
① 运行状态不同。 一般的过程调用,其调用和被调用的过程或者都是用户子程序,或者都是系统程序,故都运行在同一状态,
即系统态或用户态下。系统调用的调用过程是用户程序,它运行在用户态;而被调用过程是系统过程,它运行在系统态。
② 进入方式不同。 一般的过程调用可以直接由调用过程转向被调用过程;而执行系统调用时,由于调用和被调用过程处于不同的系统状态,因而不允许由调用过程直接转向被调用过程而是通过软中断机制,先进入操作系统核心,经核心程序分析后,才能转向相应的命令处理程序。
第 6章 作业管理与系统接口
6.4 系统接口
6.4.3 程序接口
3.系统调用与一般过程调用的区别:
③ 返回不同。 一般的过程调用,在被调用过程执行完后,可以直接返回调用过程继续执行。而在采用了抢占式剥夺调度方式的系统中,在被调用过程执行完后,要对系统中所有要求运行的进程进行优先权的分析。当调用进程仍具有最高优先权时才返回到调用进程继续执行;否则,将引起重新调度,以便让优先权最高的进程先执行。此时,将把调用进程放入就绪队列。
④ 代码层次不同。 一般过程调用中的被调用程序是用户级程序,而系统调用是操作系统代码中的代码程序,是系统级程序。
返回第 6章 作业管理与系统接口