您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 操作系统教程(第二版)第3章 用户接口与作业管理
第三章用户接口与作业管理1.作业级接口操作系统为用户对作业运行全过程控制提供的功能(1)联机接口(交互式)(2)脱机接口一、用户与操作系统的接口作业级接口程序级接口系统为用户在程序一级提供有关服务而设置由一组系统调用命令组成负责管理和控制运行的程序并在这些程序与系统控制的资源和提供的服务间实现交互作用用汇编语言:在程序中直接用系统调用命令用高级语言:可在编程时使用过程调用语句2.程序级接口二、批处理系统作业处理1.作业的基本概念(1)作业用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称(2)作业步一个作业可划分成若干部分,称为一个作业步典型的作业控制过程:“编译”、“连接装配”、“运行”(3)作业流(4)典型的作业步编译连接装配运行目标程序段目标程序源程序输入数据子程序库函数动态库函数计算结果1.作业的基本概念(续1)2.批处理作业控制语言与作业说明书(1)作业控制语言用户用于描述批处理作业处理过程控制意图的一种特殊程序书写作业说明书的语言称为作业控制语言(JCL)(2)作业控制语言的类别包括:I/O命令、编译命令、操作命令以及条件命令等(3)作业说明书表达用户对作业的控制意图内容:作业的基本描述作业控制描述资源要求描述2.批处理作业控制语言与作业说明书(续)3.作业控制块与作业表(1)作业控制块(JCB:JobControlBlock)作业控制块是批处理作业存在的标志保存有系统对于作业进行管理所需要的全部信息位于磁盘区域中(2)作业控制块的内容作业控制块中所包含的信息数量及内容因系统而异较简单的系统较复杂的系统3.作业控制块与作业表(续1)作业标知用户名称用户帐号调度信息资源需求作业状态作业类别输入井地址输出井地址进入系统时间开始处理时间作业完成时间作业退出时间资源使用情况作业控制块JCB3.作业控制块与作业表(续2)(3)作业控制块的建立当作业开始由输入设备向磁盘的输入井传输时系统输入程序为其建立一个作业控制块进行初始化初始化的大部分信息取自作业说明书3.作业控制块与作业表(续3)(4)作业控制块的使用需要访问作业控制块的程序系统输入程序作业调度程序作业控制程序系统输出程序等3.作业控制块与作业表(续4)(5)作业控制块的撤消作业完成后,其作业控制块由系统输出程序撤消作业控制块被撤消后其作业也不复存在3.作业控制块与作业表(续5)(6)作业表每个作业有个作业控制块所有作业JCB构成一个作业表作业表存放在外存固定区域中,长度是固定限制了系统所能同时容纳的作业数量系统输入程序、作业调度程序、系统输出程序都需要访问作业表因而存在互斥问题JCB1JCB2……JCBi……JCBn作业表3.作业控制块与作业表(续6)4.批处理作业的状态及转换一个作业从进入系统到运行结束经历四个不同的状态:“进入”“后备”“运行”“完成”作业和进程的状态转换图数据进入状态退出状态后备状态运行状态作业控制进程…输入设备数据源程序输出设备作业说明书输入井运行等待就绪输出井输入程序输出程序作业调度进程调度4.批处理作业的状态及转换(续1)(1)运行状态的作业三种状态:就绪状态执行状态阻塞状态4.批处理作业的状态及转换(续2)5.作业的建立一个作业建立过程的两个子过程:作业的输入JCB的建立作业控制块JCB和作业:一一对应关系(1)作业的输入将作业程序、数据和作业说明书从输入设备(例如键盘)输入到外存,并形成初始信息作业输入方式联机输入方式脱机输入方式SPOOLing系统5.作业的建立(续1)联机输入方式用户和系统通过交互会话来输入作业外围设备直接和主机连接脱机输入方式为了解决单台设备联机输入时的CPU浪费问题5.作业的建立(续2)(2)JCB的建立在系统把作业信息输入到输入井之后根据作业说明书和有关作业信息在外存的位置等建立作业控制表JCBJCB包含对作业进行管理所必须的信息JCB表的数量是一个常数外存输入井的大小有限只有在获得JCB表项和足够输入井空间后作业才可能创建成功5.作业的建立(续3)6.批处理作业的调度主要功能:审查系统能否满足用户作业的资源要求只要通过调用相应的资源管理程序的有关部分审核其表中是否能满足作业说明书中的要求即可按照一定的算法从输入井中的后备作业中选取作业调度的关键在选择恰当的算法(1)调度算法评价调度实质上是一个策略问题设定的目标往往是相互冲突的目标:单位时间内运行尽可能多的作业使处理机尽可能保持“忙碌”使各种I/O设备得以充分利用对所有的作业都是公平合理的6.批处理作业的调度(续1)要设计一个理想的调度算法是一件十分困难的事在实际系统中,调度算法往往折衷考虑设计调度算法时应考虑的因素:调度算法应与系统设计目标保持一致注意系统资源均衡使用保证提交的作业在截止时间内完成设法缩短作业平均周转时间大多数操作系统都采用比较简单的调度算法6.批处理作业的调度(续2)作业平均周转时间假定某一作业进入“输入井”的时间为Si(提交时间,到达时间),它被选中执行,得到计算结果的时间为Ei(完成时间)它的周转时间为Ti=Ei–Si则作业平均周转时间为:T=()×n为被测定作业流中的作业数niTi1n1(2)调度算法性能的衡量6.批处理作业的调度(续3)平均带权周转时间带权周转时间W=T/r=周转时间/运行时间W=()×ri为某作业i的实际执行时间niriTi1n1T:衡量不同调度算法对同一个作业流的性能W:同一调度算法对不同作业流的性能衡量6.批处理作业的调度(续4)(3)系统进行作业调度的决策因素作业到达时间预先为作业确定的优先级系统可测定的其他因素:作业所需的CPU时间C存储要求M打印输出的行数L其他的资源要求6.批处理作业的调度(续5)(4)常见的批处理作业调度算法先来先服务算法(FCFS:FirstComeFirstServe)最短作业优先算法(SJF:ShortestJobFirst)最高响应比优先算法(HRN:HighestResponseRatioNext)响应比R=作业周转时间/作业处理时间=(作业处理时间+作业等待时间)/作业处理时间=1+(作业等待时间/作业处理时间)6.批处理作业的调度(续6)基于优先数调度算法(HPF:HighestPriorityFirst)(a)由用户规定优先数(外部优先数)用户提交作业时,根据急迫程度规定适当的优先数作业调度程序根据JCB优先数决定进入内存的次序(b)由系统计算优先数(内部优先数)例:可按如下公式计算作业的优先数:优先数=用户规定优先数–作业处理时间+作业等待时间–输出量6.批处理作业的调度(续7)均衡调度算法(分类排队算法)基本思想:根据系统运行情况和作业属性将作业分类轮流从不同的作业类中挑选作业目标:力求均衡地利用各种系统资源,发挥资源使用效率力求使用户满意6.批处理作业的调度(续8)例1:将待处理作业分成如下队列:队列1:计算量大的作业队列2:I/O量大的作业队列3:计算量与I/O量均衡的作业调度时,在三个队列中各取一些作业在内存中的作业有的使用处理机有的使用外部设备使得系统的各种资源能得到充分利用6.批处理作业的调度(续9)例2:将待处理作业分成如下三个队列:队列1:长作业队列2:中等长度作业队列3:短作业调度时取队列1一作业,队列2一作业,队列3一作业长作业用户和短作业用户均比较满意6.批处理作业的调度(续10)(5)作业调度算法应用例子1假设在单道批处理环境下有四个作业,已知它们进入系统的时间、估计运行时间应用先来先服务、最短作业优先和最高响应比优先作业调度算法,分别计算出作业的平均周转时间和带权的平均周转时间6.批处理作业的调度(续11)先来先服务调度算法计算结果作业进入时间估计运行时间(分钟)开始时间结束时间周转时间(分钟)带权周转时间JOB18:001208:0010:001201JOB28:505010:0010:501202.4JOB39:001010:5011:0012012JOB49:502011:0011:20904.5作业平均周转时间T=112.5作业带权平均周转时间W=4.97545019.96.批处理作业的调度(续12)最短作业优先作业算法计算结果作业进入时间估计运行时间(分钟)开始时间结束时间周转时间(分钟)带权周转时间JOB18:001208:0010:001201JOB28:505010:3011:201503JOB39:001010:0010:10707JOB49:502010:1010:30402作业平均周转时间T=95作业带权平均周转时间W=3.25380136.批处理作业的调度(续13)最高响应比优先作业算法计算结果作业进入时间估计运行时间(分钟)开始时间结束时间周转时间(分钟)带权周转时间JOB18:001208:0010:001201JOB28:503010:1011:00701.4JOB39:001010:0010:10707JOB49:502011:0011:20904.5作业平均周转时间T=87.5作业带权平均周转时间W=4.07535016.36.批处理作业的调度(续14)(7)多道程序对平均周转时间的影响作业流在多道环境下运行平均周转时间、带权平均周转时间比单道环境下都有明显改善不是任意作业组合都能改善调度性能有时甚至可能变坏6.批处理作业的调度(续15)例:四个各需两小时作业同时投入运行,I/O等待时间均占25%,即占CPU时间各为1.5小时根据计算公式,CPU的空转率为0采用简单轮转法调度,每小时各作业分别占用25%的CPU时间,算得该作业组合的平均周转时间约为6小时,而平均带权周转时间约为3但是,若以单道程序方式运行:平均周转时间T=(2+4+6+8)/4=5小时平均带权周转时间W=(1+2+3+4)/4=2.56.批处理作业的调度(续16)7.作业调度与进程调度作业能否占用处理器?什么时间能够占用处理器?由进程调度来决定进程的初始状态为就绪状态进程调度选择当前可占用CPU处理进程,当它让出处理器时,进程调度就再选另一作业的进程作业调度与进程调度相互配合,实现作业的并行8.批处理作业的控制当作业为执行态时,作业调度程序为其建立一作业控制进程,由该进程控制作业运行作业控制进程:主要负责控制作业的运行,具体解释执行作业说明书的每一个作业步,并创建子进程来完成相应步骤一个作业步的处理:(1)建立子进程(2)为其申请资源(3)访问该作业的JCB(4)释放占有资源(5)撤消子进程等作业控制程序只有一个对应每一处于执行状态的作业有一作业控制进程9.作业退出•把输出结果送到输出设备上(启动缓输出进程完成)•回收各种资源10.SPOOLing系统工作原理全称:SimultaneousPeripheralOperationsOn-Line含义:同时的外围设备联机操作(假脱机技术)包括:输入程序模块输出程序模块作业调度程序作业和进程的状态转换图数据进入状态退出状态后备状态运行状态作业控制进程…输入设备数据源程序输出设备作业说明书输入井运行等待就绪输出井输入程序输出程序作业调度进程调度10.SPOOLing系统工作原理(续1)10.SPOOLing系统工作原理(续2)作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘、磁鼓,称为输入井)中,称为预输入作业运行后,使用数据时,从输入井中取出作业执行不必直接启动外设输出数据,只需将这些数据写入输出井中作业全部运行完毕,再由外设输出全部数据和信息,称为缓输出实现了对作业输入、组织调度和输出的统一管理使外设在CPU直接控制下,与CPU并行工作(称为假脱机)输入装置输出装置通道通道输出装置输出装置通道主机系统输入管输出管理模块理模块外设输入井输出井SPOOLing系统10.SPOOLing系统工作原理(续3)三、交互式系统的作业管理1.概述(1)命令接口在操作系统与计算机用户之间提供易于
本文标题:操作系统教程(第二版)第3章 用户接口与作业管理
链接地址:https://www.777doc.com/doc-1381395 .html