1、第2章 作业管理2.1 作业基本管理作业基本管理2.2操作系统向作业提供的程序级接口操作系统向作业提供的程序级接口系统调用系统调用 2.3单道批处理系统的作业调度单道批处理系统的作业调度 2.4多道批处理系统作业调度应考虑的因素多道批处理系统作业调度应考虑的因素 开开 始始本章学习目标本章学习目标 操作命令:包括作业控制语言和键盘命令,这操作命令:包括作业控制语言和键盘命令,这是用户操作计算机的方式是用户操作计算机的方式系统功能调用:这是用户程序对操作系统提供系统功能调用:这是用户程序对操作系统提供的服务的调用接口的服务的调用接口系统功能调用的执行过程系统功能调用的执行过程批处理系统作业调度问
2、题批处理系统作业调度问题返回本章首页返回本章首页2.1作业的基本概念作业的基本概念 返回本章首页返回本章首页2.1.1 作业的形成过程作业的形成过程2.1.2 批处理系统作业运行前的准备批处理系统作业运行前的准备作业控作业控制语言制语言2.1.3 分时系统作业控制方法分时系统作业控制方法命令命令 2.1.1 作业的形成过程作业的形成过程一、使用计算机来计算来运行用户程序有三个步骤:一、使用计算机来计算来运行用户程序有三个步骤:(1)用某种语言(例如)用某种语言(例如FORTRAN语言)编制一个程序,语言)编制一个程序,它被称为源程序。它被称为源程序。(2)将源程序和初始数据记录在某种输入介质上
3、。例如)将源程序和初始数据记录在某种输入介质上。例如穿成一盘纸带,或在终端设备(包括键盘、显示器)上穿成一盘纸带,或在终端设备(包括键盘、显示器)上直接编辑源程序。直接编辑源程序。(3)按照一定要求来控制计算机工作,并经过加工最后)按照一定要求来控制计算机工作,并经过加工最后算出结果。算出结果。二、对作业的处理的几个作业步二、对作业的处理的几个作业步(1)编辑(修改):建立新文件或是对原有文件进行修)编辑(修改):建立新文件或是对原有文件进行修改。改。(2)编译:请求系统把修改好的源程序翻译成浮动目标)编译:请求系统把修改好的源程序翻译成浮动目标模块,并将它放在磁盘上,也可以穿孔输出或二者有之
4、。模块,并将它放在磁盘上,也可以穿孔输出或二者有之。(3)链接:请求系统把主程序模块和其他所需要的子程)链接:请求系统把主程序模块和其他所需要的子程序和例行程序链接装配在一起,成为一个可执行的完整序和例行程序链接装配在一起,成为一个可执行的完整的内存映像文件。的内存映像文件。(4)运行:将内存映像文件调入内存,并启动之,最后)运行:将内存映像文件调入内存,并启动之,最后给出计算结果。给出计算结果。下一页下一页三、作业步之间的关系表现为三、作业步之间的关系表现为(1)每个作业步运行的结果产生下一个作业步)每个作业步运行的结果产生下一个作业步所需要的文件。如图所需要的文件。如图2.1所示。所示。(
5、2)一个作业步能否正确地执行,依赖于前一)一个作业步能否正确地执行,依赖于前一个作业步是否成功地完成。个作业步是否成功地完成。下一页下一页图图2.1 作业步之间的关系作业步之间的关系返回本节返回本节2.1.2 批处理系统作业运行前的准备批处理系统作业运行前的准备作作业控制语言业控制语言 在脱机工作方式下系统提供作业控制语言在脱机工作方式下系统提供作业控制语言(JCL,Job Control Language),),它既可以写它既可以写成操作说明书的形式,也可穿孔成为作业控制卡成操作说明书的形式,也可穿孔成为作业控制卡的形式(前者较多地为批处理系统所采用)。的形式(前者较多地为批处理系统所采用)
6、。操作系统根据作业申请表来分配作业所需操作系统根据作业申请表来分配作业所需的资源并注册该作业;通过作业说明书(或作业的资源并注册该作业;通过作业说明书(或作业控制卡)对作业实施运行控制。一般在批处理系控制卡)对作业实施运行控制。一般在批处理系统中都提供统中都提供JCL语言。语言。2.1.3 分时系统作业控制方法分时系统作业控制方法命令命令 在分时系统(联机工作方式)中,终端与在分时系统(联机工作方式)中,终端与主机的通信过程大致分为四步:呼叫、联接、通主机的通信过程大致分为四步:呼叫、联接、通信、退出。信、退出。1呼叫 2联接3通信4退出(1)呼叫)呼叫当终端用户想从终端打入命令或输入信息时,
7、他当终端用户想从终端打入命令或输入信息时,他首先要进行呼叫,例如通过类似电话拨号的方式首先要进行呼叫,例如通过类似电话拨号的方式进行呼叫。当呼叫成功后,用户就可以从终端的进行呼叫。当呼叫成功后,用户就可以从终端的键盘上打入各种命令输入到计算机系统,即开始键盘上打入各种命令输入到计算机系统,即开始第二步第二步联接。联接。下一页下一页(2)联接)联接 呼叫成功后,计算机即和终端联上,于是计算机应在终呼叫成功后,计算机即和终端联上,于是计算机应在终端设备上输出引导信息,以告诉用户终端设备与系统联端设备上输出引导信息,以告诉用户终端设备与系统联上了。这时,用户应打入一条上了。这时,用户应打入一条“录入
8、命令录入命令”,向系统申,向系统申请录入一个作业。一般录入命令应给出以下参数:用户请录入一个作业。一般录入命令应给出以下参数:用户名、作业名、口令、资源需求等。系统接到录入命令后,名、作业名、口令、资源需求等。系统接到录入命令后,将检查口令、资源需求等。在符合时,就允许录入。当将检查口令、资源需求等。在符合时,就允许录入。当用户从终端上看到允许录入的信息后,就知道这个终端用户从终端上看到允许录入的信息后,就知道这个终端作业被接受了,从而就进入第三步作业被接受了,从而就进入第三步通信。通信。下一页下一页(3)通信通信(1)环境设置。)环境设置。(2)系统管理。)系统管理。(3)文件管理。)文件管
9、理。(4)编辑修改。)编辑修改。(5)编译、连接装配和运行。)编译、连接装配和运行。(6)输入数据。)输入数据。(7)操作方式转换。)操作方式转换。(8)申请资源。)申请资源。终端作业被录入后,就可以通过终端打入各种控制终端作业被录入后,就可以通过终端打入各种控制作业的命令和从终端输入作业的程序和数据。属于作业的命令和从终端输入作业的程序和数据。属于通信这一步的键盘命令是比较丰富的,一般有以下通信这一步的键盘命令是比较丰富的,一般有以下几类:几类:下一页下一页(4)退出)退出 当作业运行结束时,用户应打入当作业运行结束时,用户应打入“退出退出”命令。系统响应命令后将收回分配给作业的全部命令。系
10、统响应命令后将收回分配给作业的全部资源,然后在终端输出日期和上机时间等,即通资源,然后在终端输出日期和上机时间等,即通知用户系统已结束了该作业。退出系统后,用户知用户系统已结束了该作业。退出系统后,用户若要求系统执行新的作业可再打入若要求系统执行新的作业可再打入“录入录入”命令。命令。每个作业结束后一定要打入每个作业结束后一定要打入“退出退出”命令。命令。返回本节返回本节2.2操作系统向作业提供的程序级接口操作系统向作业提供的程序级接口系统调用系统调用 2.2.1 系统功能调用的分类系统功能调用的分类 2.2.2系统功能调用的实现过程描述系统功能调用的实现过程描述 返回本章首页返回本章首页系统
11、调用系统调用:用户所需要的功能,有些是比较复:用户所需要的功能,有些是比较复杂的,硬件不能直接提供,只能通过软件的程序杂的,硬件不能直接提供,只能通过软件的程序来实现。而有些功能可由硬件完成,并设有相应来实现。而有些功能可由硬件完成,并设有相应的指令,如启动外设工作,就有用于输入的指令,如启动外设工作,就有用于输入/输出输出的硬指令。但配置了操作系统后,对系统资源的的硬指令。但配置了操作系统后,对系统资源的分配、控制不能由用户干预,而必须由操作系统分配、控制不能由用户干预,而必须由操作系统统一管理。所以,对于这样一类功能,也需有相统一管理。所以,对于这样一类功能,也需有相应的控制程序来实现。应
12、的控制程序来实现。自愿进管指令自愿进管指令:为了实现对这些事先编制好的、具有特定功能的为了实现对这些事先编制好的、具有特定功能的例行子程序的调用,现代计算机系统一般提供自愿进管例行子程序的调用,现代计算机系统一般提供自愿进管指令,其指令形式为:指令,其指令形式为:SVC N其中,其中,SVC表示机器自愿进管指令的操作码记忆符,表示机器自愿进管指令的操作码记忆符,N为为地址码。地址码。SVC是是Supervisor Call(访问管理程序)的缩写,访问管理程序)的缩写,所以所以SVC指令又称访管指令。指令又称访管指令。当处理机执行到这一条指令时就发生中断,该中当处理机执行到这一条指令时就发生中断
13、,该中断称为访管中断,它表示正在运行的程序对操作系统的断称为访管中断,它表示正在运行的程序对操作系统的某种需求。借助中断可使机器状态由目态转为管态。某种需求。借助中断可使机器状态由目态转为管态。返回本节返回本节2.2.1 系统调用功能分类1设备管理:设备管理:这类系统调用被用来请求和释放设备,以这类系统调用被用来请求和释放设备,以及启动设备操作等。及启动设备操作等。2文件管理:文件管理:这类系统调用包括创建、删除文件,读、这类系统调用包括创建、删除文件,读、写文件操作以及移动文件指针等。写文件操作以及移动文件指针等。3进程控制:进程控制:当多个用户程序在系统内执行时引出了一当多个用户程序在系统
14、内执行时引出了一个新的概念,称为进程。个新的概念,称为进程。4进程通信:进程通信:进程间传递消息或信号的系统调用。进程间传递消息或信号的系统调用。5存储管理:存储管理:内存块的申请、释放,获取作业占用内存内存块的申请、释放,获取作业占用内存块的首址、大小等。块的首址、大小等。2.2.2系统功能调用的实现过程描述系统功能调用的实现过程描述 操作系统的基本服务是通过系统功能调用来操作系统的基本服务是通过系统功能调用来实现的,系统功能调用提供运行程序和操作系统实现的,系统功能调用提供运行程序和操作系统之间的界面。系统调用的实现取决于计算机的结之间的界面。系统调用的实现取决于计算机的结构,它是由特定的
15、硬件指令实现对操作系统某一构,它是由特定的硬件指令实现对操作系统某一服务例程的调用。服务例程的调用。图图2.2说明了系统功能调用的执行过程。说明了系统功能调用的执行过程。图图2.2 系统调用的执行过程系统调用的执行过程 2.3 单道批处理系统的作业调度单道批处理系统的作业调度 2.3.1 作业调度性能的衡量指标作业调度性能的衡量指标2.3.2 先来先服务作业调度算法先来先服务作业调度算法2.3.3 短作业优先调度算法短作业优先调度算法2.3.4 高响应比优先作业调度算法高响应比优先作业调度算法2.3.1 作业调度性能的衡量指标作业调度性能的衡量指标 对于批处理系统,作业调度的原则体现在一个指标
16、,即对于批处理系统,作业调度的原则体现在一个指标,即各作业的平均周转时间上,如设各作业的平均周转时间上,如设i作业的周转时间为作业的周转时间为Ti=Tci-Tsc;Tci,Tsc分别为作业的完成时间和作业的提交分别为作业的完成时间和作业的提交时间,则平均周转时间为:时间,则平均周转时间为:J=(Ti)/n;对这个公式涉对这个公式涉及的及的n个作业,相对于长作业,对个作业,相对于长作业,对J值的影响大,而短作值的影响大,而短作业对业对J值的影响小。为了增加短作业对值的影响小。为了增加短作业对J值的影响,引入值的影响,引入平均带权周转时间的概念。平均带权周转时间定义为:平均带权周转时间的概念。平均
17、带权周转时间定义为:W=(Ti/tri)/n;tri作业的运行时间。一般认为作业的运行时间。一般认为J、W越越小,系统对作业的吞吐量越大,系统的性能越高。小,系统对作业的吞吐量越大,系统的性能越高。2.3.2 先来先服务作业调度算法先来先服务作业调度算法先来先服务作业调度算法是一种较简单的先来先服务作业调度算法是一种较简单的作业调度算法,即每次调度是从后备作业队列中作业调度算法,即每次调度是从后备作业队列中选择一个最先进入该队列的作业,将它调入内存,选择一个最先进入该队列的作业,将它调入内存,分配资源、创建相应的进程,放入进程就绪队列分配资源、创建相应的进程,放入进程就绪队列准备运行。准备运行
18、。FCFS算法利于长作业,不利于短作业,而算法利于长作业,不利于短作业,而大多数的作业是大多数的作业是I/O繁忙的短作业。以繁忙的短作业。以FCFS作为作为主调度算法是不常用的。主调度算法是不常用的。下一页下一页2.3.3 短作业优先调度算法短作业优先调度算法 短作业优先调度算法是指操作系统在进行作业调短作业优先调度算法是指操作系统在进行作业调度时以作业长短作为优先级进行调度。该调度算法可以度时以作业长短作为优先级进行调度。该调度算法可以照顾到实际上占作业总数绝大部分的短作业,使它们能照顾到实际上占作业总数绝大部分的短作业,使它们能比长作业优先调度执行。这时后备作业队列按作业优先比长作业优先调
19、度执行。这时后备作业队列按作业优先级由高到低顺序排列,当作业进入后备队列时要按该作级由高到低顺序排列,当作业进入后备队列时要按该作业优先级放置到后备队列相应的位置。业优先级放置到后备队列相应的位置。实践证明,该调度算法的性能是最好的,单位时实践证明,该调度算法的性能是最好的,单位时间的作业吞吐量也最大,但也存在缺点:对长作业极为间的作业吞吐量也最大,但也存在缺点:对长作业极为不利。不利。下一页下一页2.3.4 高响应比优先作业调度算法高响应比优先作业调度算法 这是一种折衷算法,是为了克服上述两种算法的不这是一种折衷算法,是为了克服上述两种算法的不足而提出来的。它既考虑到作业进入系统的先后次序,
20、足而提出来的。它既考虑到作业进入系统的先后次序,又顾及到作业的运行长度。又顾及到作业的运行长度。响应比为:响应比为:RP=1+作业等待时间作业等待时间/作业执行时间作业执行时间 该调度算法在调度作业时首先计算后备作业的响应该调度算法在调度作业时首先计算后备作业的响应比比RP,然后按,然后按RP值从大到小的顺序调度作业运行。从公值从大到小的顺序调度作业运行。从公式可见,作业的式可见,作业的RP与作业执行时间成反比,作业的执行与作业执行时间成反比,作业的执行时间越短,其时间越短,其RP越高,同时作业的越高,同时作业的RP会随着它的等待时会随着它的等待时间的增加而增加,只要等待时间足够长,该作业总会
21、由间的增加而增加,只要等待时间足够长,该作业总会由于响应比高而被调度。于响应比高而被调度。下一页下一页2.4 多道批处理系统作业调度应考虑的因素多道批处理系统作业调度应考虑的因素 在多道程序环境中,平均周转时间、带权平均周在多道程序环境中,平均周转时间、带权平均周转时间比单道时有明显减少。其主要原因是,当转时间比单道时有明显减少。其主要原因是,当一个作业需要进行一个作业需要进行I/O操作时,可将操作时,可将CPU分给另分给另一个作业运行。由于通道和中断的支持,一个作业运行。由于通道和中断的支持,CPU和和I/O之间完全可以并行,使一部分运行时间重叠,之间完全可以并行,使一部分运行时间重叠,这样总的运行时间就缩短了。但是,总的运行时这样总的运行时间就缩短了。但是,总的运行时间的缩短并不总能使平均周转时间缩短。这与系间的缩短并不总能使平均周转时间缩短。这与系统多道程序的道数有关。统多道程序的道数有关。THANK YOU VERY MUCH!本章到此结束,本章到此结束,谢谢您的光临!谢谢您的光临!返回本章首页返回本章首页结束放映结束放映