您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > OS-03接口与作业管理
第三章用户接口与作业管理•程序启动方式,程序结束工作•用户与操作系统的接口•作业的基本概念:作业、作业步、作业流•作业管理(批处理操作系统)•作业管理(交互式系统)•系统调用(用户程序提出服务请求的手段,基本思想,实现方法)•操作系统安装与启动3.1概述3.1.1程序的启动和结束1.程序的启动程序开始执行时必须满足两个前提条件:•程序已装入内存•程序计数器PC中已置入该程序在内存的入口地址五种启动程序执行的方式第一种方式:命令方式命令提示符下打入程序名和参数,回车c,$,%命令解释程序command.com(根目录下)SHELL(BSH,CSH,KSH…)Windows:窗口菜单显示和鼠标操作开机命令提示符出现打入命令打回车程序首指令执行程序尾指令执行下一个命令提示符出现(在前一个命令提示符的下一行首)命令方式的程序启动第二种方式:批处理方式.BAT文件例子:启动中文环境需要多条命令:装入字库启动主程序装入汉字输入法AUTOEXEC.BAT以命令方式启动执行批文件操作系统调入批文件,读进其中第一条命令装入并启动该命令要执行的程序该程序执行完毕回到操作系统,操作系统从该批文件中读下一条命令批方式下的装入启动过程编辑(输入,修改)源程序编译连接运行成功编辑(输入,修改)另一源程序是否典型的作业步一个作业另一个作业第三种方式:EXEC方式•在一个程序中运行另一个程序•返回原来的程序“父”程序执行exec调用操作系统实现exec的装入(建立进程)、启动(或转调度子程序或返回)“子”程序执行回到操作系统,进行子程序结果处理工作,并将结果信息返回“父”程序“父”程序继续执行EXEC方式的过程执行完毕第四种方式:由硬件装入程序和启动程序执行第五种方式:自启程序•自己装入自己,并启动自己开始执行的程序•自启程序由两部分组成•引导程序和程序主体用户程序存放在外存上,其自含的引导程序顺序放在存储介质的开始位置将该存储介质放到相应的联机输入装置上以某种硬操作方法通知计算机需执行自启程序硬件将上述引导程序读入内存并将控制权传给它引导程序将用户主体程序读入内存并将控制权传给它自启程序装入与启动的过程引导程序2.程序的结束•正常结束:程序按自身的逻辑有效地完成预定功能后结束(a)返回父程序并回送结果信息。(b)释放所用资源(空间、设备),记录使用情况,记帐等•异常结束:发生了某些错误而导致程序在没有完成预定功能时提前结束1.作业级接口操作系统为用户对作业运行全过程控制提供的功能(1)联机接口(交互式)(2)脱机接口(批处理)3.1.2用户与操作系统的接口–作业级接口–程序级接口系统为用户在程序一级提供有关服务而设置由一组系统调用命令组成•负责管理和控制运行的程序•并在这些程序与系统控制的资源和提供的服务间实现交互作用•用汇编语言:在程序中直接用系统调用命令•用高级语言:可在编程时使用过程调用语句2.程序级接口3.1.3作业的基本概念1.作业用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称2.作业步一个作业可划分成若干部分,称为一个作业步典型的作业控制过程:“编译”、“连接装配”、“运行”3.作业流典型的作业步编译连接装配运行目标程序段目标程序源程序输入数据子程序库函数动态库函数计算结果3.2.1批处理作业控制语言与作业说明书1.作业控制语言•用户用于描述批处理作业处理过程控制意图的一种特殊程序•书写作业说明书的语言称为作业控制语言(JCL)作业控制语言的类别包括:I/O命令、编译命令、操作命令以及条件命令等2.作业说明书作业由三部分组成,即程序、数据、作业说明书。作业说明书的主要内容如下:(1)作业基本描述:用户名,作业名,使用语言,允许昀大处理时间(2)作业控制描述:控制方式,操作顺序,出错处理(3)资源要求描述:要求处理时间,内存空间,外设类型和数量,处理机优先级,库函数或实用程序3.2.2作业控制块与作业表1.作业控制块(JCB:JobControlBlock)作业控制块是批处理作业存在的标志其中保存有系统对于作业进行管理所需要的全部信息它们被保存于磁盘区域中(1)作业控制块的内容作业控制块中所包含的信息数量及内容因系统而异•较简单的系统•较复杂的系统作业标知用户名称用户帐号调度信息资源需求作业状态作业类别输入井地址输出井地址进入系统时间开始处理时间作业完成时间作业退出时间资源使用情况作业控制块JCB(2)作业控制块的建立当作业开始由输入设备向磁盘的输入井传输时系统输入程序为其建立一个作业控制块进行初始化初始化的大部分信息取自作业说明书(3)作业控制块的使用需要访问作业控制块的程序•系统输入程序•作业调度程序•作业控制程序•系统输出程序等(4)作业控制块的撤消作业完成后,其作业控制块由系统输出程序撤消作业控制块被撤消后其作业也不复存在2.作业表每个作业有个作业控制块•所有作业JCB构成一个作业表•作业表存放在外存固定区域中,长度是固定•限制了系统所能同时容纳的作业数量系统输入程序、作业调度程序、系统输出程序都需要访问作业表因而存在互斥问题JCB1JCB2……JCBi……JCBn作业表3.2.3批处理作业的状态及转换一个作业从进入系统到运行结束经历四个不同的状态:“进入”“后备”“运行”“完成”作业和进程的状态转换图数据进入状态退出状态后备状态运行状态作业控制进程…输入设备数据源程序输出设备作业说明书输入井运行等待就绪输出井输入程序输出程序作业调度进程调度运行状态的作业三种状态:•就绪状态•执行状态•阻塞状态3.2.4作业的建立一个作业建立过程的两个子过程:•作业的输入•JCB的建立作业控制块JCB和作业:一一对应关系作业的输入作业的输入将作业程序、数据和作业说明书从输入设备(例如键盘)输入到外存,并形成初始信息–联机输入方式–脱机输入方式–直接耦合方式–SPOOLing系统(3)直接耦合方式把主机和外围低档机通过一个公用的大容量外存直接耦合起来主机公用存储器低档PC机低档PC机SPOOLing系统工作原理全称:SimultaneousPeripheralOperationsOn-Line含义:同时的外围设备联机操作(假脱机技术)包括:–输入程序模块–输出程序模块–作业调度程序输入装置输出装置通道通道输出装置输出装置通道主机系统输入管输出管理模块理模块外设输入井输出井(4)SPOOLing系统2.JCB的建立在系统把作业信息输入到输入井之后根据作业说明书和有关作业信息在外存的位置等建立作业控制表JCBJCB包含对作业进行管理所必须的信息•JCB表的数量是一个常数•外存输入井的大小有限只有在获得JCB表项和足够输入井空间后作业才可能创建成功作业调度作业调度功能:(1)记录系统中各作业的状况(2)从后备队列中挑选作业投入运行(3)为被选中的作业做准备工作,建立进程,分配资源(4)作业执行结束时作善后处理工作调度算法评价调度实质上是一个策略问题,设定的目标往往是相互冲突的。目标:•单位时间内运行尽可能多的作业•使处理机尽可能保持“忙碌”•使各种I/O设备得以充分利用•对所有的作业都是公平合理的(1)作业周转时间(2)作业平均周转时间调度算法性能的衡量tc作业完成时刻;ts作业进入系统时刻(3)带权周转时间(4)平均带权周转时间tr为作业实际运行时间调度算法(1)先来先服务(FCFS:FirstComeFirstServe)按照作业进入系统的先后次序进行调度,先进入系统者先调度优点:实现简单,公平缺点:没考虑资源利用率和作业的特殊性(2)短作业优先(SJF:ShortestJobFirst)选择运行时间昀短的作业投入运行优点:易于实现,强调了资源的充分利用,保证了系统的昀大吞吐量(单位时间里处理作业的个数)缺点:不公平,会造成长作业长期等待。(3)昀高响应比优先(HRN:HighestResponseRatioNext)响应比R=作业周转时间/作业处理时间=(作业处理时间+作业等待时间)/作业处理时间=1+(作业等待时间/作业处理时间)该算法是FCFS和SJF的结合,克服了两种算法的缺点优点:公平,吞吐率大缺点:增加了计算,增加了开销(4)基于优先数调度(HPF:HighestPriorityFirst)(a)由用户规定优先数(外部优先数)用户提交作业时,根据急迫程度规定适当的优先数作业调度程序根据JCB优先数决定进入内存的次序(b)由系统计算优先数(内部优先数)3.3交互式系统的作业管理3.3.1概述1.命令接口在操作系统与计算机用户之间提供易于理解的双向通信机制基本任务:•解释命令,传送命令以便执行•接受系统信息,提交给用户(以响应语言的形式)•交互式命令的接口复杂含功能结构,可能问题的处理,如各种约定、前端处理、命令日志、命令注解、宏命令及命令组等•交互式控制灵活方便,可以随时进行各种处理,排除问题,方便调试;系统利用率低•接口包括:一组联机命令,终端处理程序,命令解释程序2.终端处理程序交互式命令接口用户同操作系统的通信是通过一个输入/输出装置来实现的I/O装置一般是显示终端输入通过键盘:在有的系统中,可通过指示装置(例如鼠标)输入系统输入呈现在显示屏幕上,一次显示若干正文行某些系统中,提供图形显示功能不管哪种I/O方式,这个终端装置是由一个终端处理程序来管理和控制的。终端在用户接口中有特殊地位:终端处理程序提供的输入输出方式对整个用户命令接口有重大影响也确定了用户与其应用程序之间的通信方式终端处理程序必须作为用户接口的一个组成部分来考虑,即,直接影响命令接口的一些问题须由终端处理程序解决直接影响命令接口的一些问题(a)回送显示(Echoing)通常,每从键盘打入一个字符,终端处理程序回送响应的字符到显示屏上有时用户要求其显示一个不同的字符或不显示(例如,用户键入口令时)对于通过远程通信线路访问的终端,可能需要抑制这种回送回送显示委托给远程终端来实现(b)提前打入(Typeahead)假定输入字符在一程序准备处理它们之前打入,则由“提前打入进程”把它们保存在缓冲区中缓冲区容量是有限,当其存满后,再有输入时,或者漏掉,或者将破坏缓冲区原有的内容(c)字符变换有些情况下,需要对打入的字符进行代码变换如,把小写字母转换成大写字母,或者反之(d)行缓冲打入的字符在送到程序前,由终端接口保存,直到整个命令行打入为止为用户提供了校验、编辑,甚至取消命令的机会直接影响命令接口的一些问题(续1)(e)中断字符(BreakCharacters)多数交互式命令接口可以接受一些称为中断字符的特殊字符,并立即采取相应的行动。如,在许多系统中,同时打入CTRL—C字符键,立即终止当前程序执行,并使命令处理程序重新初始化直接影响命令接口的一些问题(续2)2.命令解释程序命令解释程序有两种处理方法:(a)由终端命令解释程序直接处理在没有创建子进程功能的系统中,终端命令通常由对应的命令解释程序处理在这样系统中,仅有一个进程对应一个终端用户(b)由子进程代为处理•在具有创建子进程功能的系统中,对于较为单纯的命令,如列目录,拷贝文件等,命令解释程序本身便能完成,此时由命令解释程序直接处理•对较复杂命令,如对于PASCAL源程序进行编译,命令解释程序本身不能处理,此时创建一个子进程,并由该子进程运行PASCAL编译程序4.命令接口的结构•命令接口由命令处理器来实现•命令处理器的实现方式:(a)作为OS的一个部分如,OS/MVT或VAX/VMS(b)作为OS的一个独特模块,能方便地修改或替换如,RT-11或CP/M(c)作为一易于被替换的普通程序如,UNIX操作系统(d)在某些系统中,可能用专门设计的命令接口替代标准的命令接口如,多用户UNIX,用户可有不同命令接口5.命令语言命令语言规定由OS执行的一系列操作•在一般的命令语言中,用户通过打入称为命令行的一行指令来规定每一个动作•每一命令行以命令开始,它标识所要执行的操作•大多数命令是用运行一个程序来执行所请求的操作多数命令行中要给出一些参数,每一命令语句实际上是带有参数的一个过程调用一个命令
本文标题:OS-03接口与作业管理
链接地址:https://www.777doc.com/doc-1376592 .html