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