西安电子科技大学计算机学院1计算机操作系统第二章用户接口与作业管理方敏西安电子科技大学计算机学院2第二章用户接口与作业管理作业的组织与管理作业控制方式系统功能调用图形用户接口用户管理西安电子科技大学计算机学院32.1作业的组织与管理2.1.1作业和作业处理过程基本概念作业:就是用户一次请求计算机系统为他完成任务所进行的工作总和。一般来说,为了完成其任务,可以将作业细分成若干个作业步。作业步就是处理作业的各个独立的子任务,系统可以创建若干进程完成各作业步的计算,所以说一个作业是由若干作业步组成的。西安电子科技大学计算机学院42.1作业的组织与管理如(1)编辑:edlinuser.asm(2)汇编:masmuser(3)链接:minkuser(4)执行:user最后执行user.exe文件获得所要的结果。西安电子科技大学计算机学院52.1作业的组织与管理2.1.1作业和作业处理过程作业的类型:根据计算机系统作业处理方式的不同,可以把作业分为两大类:脱机作业:不直接交互,通常用于批处理系统联机作业:直接交互,通常用于分时系统和目前的微机系统作业控制方式:用户向操作系统提供作业加工步骤的方式脱机作业控制方式联机作业控制方式西安电子科技大学计算机学院62.1作业的组织与管理2.1.1作业和作业处理过程作业的组成:包括程序、数据、作业控制信息(如作业说明书)三部分作业说明书体现用户对作业控制的意图,包括•作业基本情况:如用户名、作业名•作业控制描述:如作业控制方式、出错处理•作业资源要求描述:如处理时间、优先级、内存空间西安电子科技大学计算机学院72.1作业的组织与管理2.1.1作业和作业处理过程作业的处理过程输入:用户将自己的程序和数据提交给系统的后援存储器后备:建立作业控制块,加入后备作业队列,等待调度执行:被成功调度,分配资源,建立一组相应的进程,可进一步分为就绪、运行、阻塞状态完成:正常结束或因错误终止,退出系统西安电子科技大学计算机学院82.1作业的组织与管理用户作业录入提交收容完成运行就绪等待作业调度执行作业调度后备西安电子科技大学计算机学院92.1作业的组织与管理2.1.2作业的输入/输出方式作业的输入指把作业从输入介质上送入系统并加以组织,在磁盘上形成一个后备作业的过程;作业的输出是指将作业执行的结果由系统经输出设备输出西安电子科技大学计算机学院102.1作业的组织与管理2.1.2作业的输入/输出方式联机输入/输出方式由主机直接控制,由于主机与外设的速度相差悬殊,从而降低了CPU的利用率脱机输入/输出方式(人工干预)由外围处理机控制,人工干预,但手工操作效率低SPOOLing系统-SimultaneousPeripheralOperationsOnLine,外围设备同时联机操作西安电子科技大学计算机学院112.1作业的组织与管理SPOOLing系统的核心思想是利用一台可共享的、高速大容量的块设备(磁盘)来模拟独占设备的操作,使一台独占设备变成多台可并行使用的虚拟设备。SPOOLing系统由专门负责I/O的常驻内存的进程和输入井、输出井组成提高了I/O速度;将独占设备改造为共享设备;实现了虚拟设备功能西安电子科技大学计算机学院122.1作业的组织与管理输入设备输出设备输入缓冲区输出缓冲区输入井输出井磁盘输入进程sp1输出进程sp2西安电子科技大学计算机学院132.1作业的组织与管理2.1.3作业控制块(JobControlBlock,JCB)作业控制块是作业存在的唯一标志,是系统为管理作业所设置的一个数据结构。包括该作业的标识信息、状态信息、调度参数、资源需求和其他控制信息。作业后备队列就是按照某种原则将后备作业的JCB排成的一个或多个序列,以便作业调度。西安电子科技大学计算机学院142.1作业的组织与管理作业控制表(JCB,JobControlBlock)1)作业名2)用户名3)语言程序类型(需调用的系统程序)4)内存需求量5)估计执行时间6)优先数(用于调度)7)作业类型8)作业说明书文件名9)资源要求:(静态,或中间可以随作业步变化--效率不高;动态分配10)作业状态:提交、后备、执行、就绪、等待、完成;西安电子科技大学计算机学院152.1作业的组织与管理2.1.4作业调度在一些操作系统中,一个作业从提交到完成需要经过高级、中级和低级三级调度高级调度:即作业调度,选择后备作业,为其建立进程,并使其进入主机中级调度:即对换调度,决定进程在内存和辅存盘交换区间的对换。低级调度:即进程级调度,决定哪个进程可以占用CPU,进入运行状态。西安电子科技大学计算机学院162.1作业的组织与管理后备作业作业1作业2作业n...对换进程...辅存主机内存用户态区进程1进程2进程m...高级调度中级调度低级调度西安电子科技大学计算机学院172.1作业的组织与管理作业调度算法的评价因素CPU利用率:越高越好吞吐量:单位时间内CPU完成作业的数量周转时间:通常与周转系数一起作为评价批处理系统的性能指标,定义如下:其中,作业Ji的提交时间为tsi,执行时间为tri,完成时间为toinitTWnittTriiisioii,...,2,1,/,...,2,1,西安电子科技大学计算机学院182.1作业的组织与管理n个作业的平均周转时间T和平均周转系数W分别为niniWinWTinT1111对于每个用户来说,总是希望作业提交后立即执行,这样周转时间等于执行时间;而对于一个计算机系统来说,不可能满足每个用户的这种要求,只能使系统的平均周转时间最短。西安电子科技大学计算机学院192.1作业的组织与管理常见作业调度算法对于单道批处理系统,常用以下三种算法:先来先服务(FCFS):按作业到达先后进行调度,即启动等待时间最长的作业。这种算法忽视了吞吐量和平均周转时间,有利于长作业,不利于短作业,有利于CPU繁忙的作业,不利于I/O繁忙的作业。西安电子科技大学计算机学院202.1作业的组织与管理常见作业调度算法对于单道批处理系统,常用以下三种算法:短作业优先调度算法(SJF):以要求运行时间长短进行调度,即启动要求运行时间最短的作业。这种算法可以有效降低作业的平均等待时间,提高系统的吞吐量,但对长作业不利,容易致使长作业出现“饥饿”现象,并且也没有考虑到作业的紧迫程度。西安电子科技大学计算机学院212.1作业的组织与管理常见作业调度算法对于单道批处理系统,常用以下三种算法:最高响应比优先调度算法(HRP):优先调度响应比高的作业。响应比RP=作业响应时间/作业估计运行时间=(作业估计运行时间+作业等待时间)/作业估计运行时间=1+作业等待时间/作业估计运行时间西安电子科技大学计算机学院222.1作业的组织与管理常见作业调度算法对于多道批处理系统,常用以下两种算法:优先级调度算法:由用户指定作业优先级,优先级高的作业先启动。指定原则:①照顾时间要求紧迫的作业;②照顾“I/O繁忙”的作业,以充分发挥外设的效率;③在一个兼顾分时操作和批量处理的系统中,照顾终端会话型作业,以便获得合理的响应时间。西安电子科技大学计算机学院232.1作业的组织与管理常见作业调度算法对于多道批处理系统,常用以下两种算法:均衡调度算法:这种算法的基本思想是根据系统的运行情况和作业本身的特性对作业进行分类。作业调度程序轮流地从这些不同类别的作业中挑选作业执行。这种算法力求均衡地使用系统的各种资源。即注意发挥系统效率,又使用户满意。比如把出现在输入井中的作业分成A、B、C三个队列:A队:短作业,其计算时间小于一定值,无特殊外设要求;B队:要用到磁带的作业;C队:长作业,其计算时间超过一定值。西安电子科技大学计算机学院242.1作业的组织与管理单道程序环境下作业调度性能的分析设有四个作业,其提交时刻、执行时间如下表所示:这里采用十进制计数,只是为了方便。作业号提交时刻运行时间18.002.0028.500.5039.000.1049.500.20西安电子科技大学计算机学院252.1作业的组织与管理①先来先服务调度算法:顺序为1234,计算平均周转时间T和平均周转系数W,如下表所示。作业提交时间执行时间开始时间完成时间周转时间周转系数18.002.0028.500.5039.000.1049.500.208.0010.002.001.0010.0010.502.004.0010.5010.601.6016.0010.6010.801.306.506.9027.50平均周转时间T=1.725小时,平均周转系数W=6.875西安电子科技大学计算机学院262.1作业的组织与管理②最短作业优先调度算法:由于在8.00开始执行作业,当时仅有1,而作业2,3,4尚未到达,故作业1是最短作业。作业1执行完成后是10.00,此时作业2,3,4均已经到达,故选最短作业3,然后是4,2。所以顺序为1,3,4,2。平均周转时间和平均周转系数的计算结果如下表所示。作业提交时间执行时间开始时间完成时间周转时间周转系数18.002.0028.500.5039.000.1049.500.208.0010.002.001.0010.0010.101.1011.0010.1010.300.804.0010.3010.802.304.606.2020.60平均周转时间T=1.55小时,平均周转系数W=5.15西安电子科技大学计算机学院272.1作业的组织与管理③响应比高者优先算法:在作业1执行完成,计算作业2,3,4的响应比分别为:4,11,3.5,因此作业1执行完成后选中作业3完成。执行顺序为1,3,2,4。按此算法求得的平均周转时间和平均周转系数如下表所示。作业提交时间执行时间开始时间完成时间周转时间周转系数18.002.0028.500.5039.000.1049.500.208.0010.002.001.0010.0010.101.1011.0010.1010.602.104.2010.6010.801.306.506.5022.70平均周转时间T=1.625小时,平均周转系数W=5.675西安电子科技大学计算机学院282.1作业的组织与管理总结:就其平均周转时间和平均周转系数来说,最短作业优先算法最小,先来先服务算法最大,响应比高者优先算法居中。西安电子科技大学计算机学院292.1作业的组织与管理多道程序环境下作业调度性能的分析具有两道作业的批处理系统,作业调度采用短作业优先算法,作业进驻内存后,采用以优先数为基础的抢占式调度算法,作业运行时间越短,优先数越大。4个作业序列如下:作业号提交时刻运行时间110.0030210.0520310.1020410.2010西安电子科技大学计算机学院302.1作业的组织与管理总的执行顺序为12431作业提交时间执行时间开始时间完成时间周转时间周转系数110.0030210.0520310.1020410.201010.0011.20802.66710.0510.2520110.3510.55452.2510.2510.35151.51607.417平均周转时间T=40分钟,平均周转系数W=1.854西安电子科技大学计算机学院312.2作业控制方式脱机作业控制:作业输入控制说明书,整个作业的运行由系统控制控制说明书用作业控制语言(JCL)编写联机作业控制:通过联机命令控制语言和会话式程序设计语言控制作业运行用户登录(控制台登录或远程登录)后,由系统自动执行一些命令脚本后,并进入shell(字符或GUI界面),接受用户的命令和操作,最后退出系统。西安电子科技大学计算机学院322.2作业控制方式MS-DOS的作业控制DOS命令处理程序:command.com命令类型:•内部命令(dir,cd等);•外部命令(以com和exe为后缀的文件,如format等);•批处理命令(以bat为后缀名,如autoexec.bat