用户接口和作业管理.ppt
操作系统(第三版),第2章 用户接口和作业管理,第2章用户接口和作业管理,2-1 概述2-2 命令接口 2-3 系统调用 2-4 作业管理,2.1 概述,2-1-1 作业的基本概念 概念 作业通常是指用户在一次计算过程中或者一次事物处理过程中要求计算机系统所作的工作的集合 任何一个作业都要经过若干加工步骤才能得到结果,作业的每一个加工步骤称为一个作业步 一次有一批作业进入系统,并在操作系统控制下,一个接一个地进行处理,称之为作业流 作业的两种基本类型:批处理作业、交互式作业2-1-2 用户接口 命令接口 程序接口 图形接口,2.2 命令接口,2-2-1 联机命令接口命令的格式和分类-一般格式为:命令名 参数,参数,参数-操作控制命令类型有:系统访问命令,文件、目录管理命令,编辑修改命令,编译、连接和执行命令,询问命令,操作员专用命令-命令的接收和解释执行 交互式系统主要包括:一组联机命令,终端处理程序,命令解释程序,2.2 命令接口,终端处理程序 配置在终端上的终端处理程序主要用于实现人机交互,具有以下功能:接收用户从终端上输入的字符 字符缓冲管理 回送显示 屏幕编辑 特殊字符处理 命令解释程序 主要功能:对用户输入的命令进行解释,并转入相应的命令处理程序去执行 对命令的处理方法:由命令解释程序直接处理 或由子进程代为处理,2.2 命令接口,2-2-2脱机命令接口 作业控制语言是对用户作业的进行组织和管理的各种控制命令的集合 作业控制说明书是用户用于描述批处理作业处理过程控制意图的一种特殊程序 作业控制说明书主要包括内容 作业的基本描述、作业控制描述和资源要求描述 作业的组成 程序、数据和作业控制说明书,2.3 系统调用,系统调用是操作系统提供给编程人员的唯一接口2-3-1 系统调用的概念 由操作系统提供,用户程序可以调用的包含特权指令的子程序称为“系统功能调用”程序,或简称为“系统调用”。系统调用分类 文件操作类、进程控制类、资源申请类、进程通信类、信息维护类 系统调用与一般过程调用的区别 系统调用通过非特权指令访管指令调用,2.3 系统调用,系统调用与一般过程调用的区别:*通过软中断进入 一般的过程调用可直接由调用过程转向被调用过程;系统调用通常都是通过软中断机制转向相应的命令处理程序*运行在不同的处理器状态 一般的过程调用,其调用程序和被调用程序都运行在相同的处理器状态;系统调用调用程序运行在目态,而被调用程序则运行在管态*处理器状态的转换 一般的过程调用不涉及系统状态的转换;系统调用需要系统状态转换,2.3 系统调用,*返回问题 一般的过程调用在被调用过程执行完后,将返回到调用过程继续执行;系统调用不一定返回原调用过程*嵌套调用 像一般过程一样,系统调用也允许嵌套调用,但对嵌套调用的深度都有一定的限制2-3-2 系统调用的处理过程 基本概念 在系统中为控制系统调用服务的机构称为陷入或异常处理机构 由于系统调用引起处理机中断的指令称为陷入或异常指令(或称访管指令)每个系统调用都对应一个事先给定的功能号,2.3 系统调用,为了实现系统调用,系统设计人员还必须为实现各种系统调用功能的子程序编写入口地址表,每个入口地址都与相应的系统程序名对应起来 系统调用的执行过程大体上分成以下三步 设置系统调用号和参数 系统调用命令的一般性处理 系统调用命令处理程序做具体处理,2.4 作业管理,2-4-1 批处理作业的管理作业控制块和作业表 作业控制块 批处理作业存在的标志,其中保存了系统对于作业进行管理所需要的全部信息,它们被保存于磁盘区域中 作业控制块中包括的内容 作业本身的内容,如作业的名字、程序作者名字、创建时间等 为实现作业调度所而的信息,如作业本身的优先数、现在所处的状态处理机的时间等 作业使用的资源要求,如作业所需内存的大小、打印机、磁带机等 系统指示单元,如该作业外存中的起址和长度等信息,2.4 作业管理,作业标知用户名称用户帐号调度信息资源需求作业状态作业类别输入井地址输出井地址进入系统时间开始处理时间作业完成时间作业退出时间资源使用情况,2.4 作业管理,作业表 每个作业有一个作业控制块,所有作业的作业控制块构成一个表,称为作业表 作业表存放在外存固定区域中,其长度是固定的,这就限制了系统所能同时容纳的作业数量2-4-2 作业的建立 一个作业的建立过程包括两个子过程:个是JCB的建立,一个是作业的输入 作业控制块的建立 建立作业的作业控制块就是申请分得和填写一张空白的JCB表的过程,2.4 作业管理,作业的输入 常用的作业的输入方式有三种:脱机输入方式 SPOOLING系统的输入方式 直接耦合方式2-4-3 批处理作业的调度 作业调度:操作系统根据允许并行工作的道数和一定的算法从等待的作业(后备作业)中选取若干作业装入主存储器,使它们可以去获得处理器运行 作业调度程序:完成作业调度工作的程序,2.4 作业管理,作业调度的基本概念 选取调度算法应考虑的主要因素 公平性、均衡使用资源、吞吐率、平衡系统和用户要求 作业调度性能衡量的指标-CPU利用率-吞吐量-周转时间:假定作业i进入“输入井”的时间为Si,若它被选中执行,得到计算结果的时间为Ei,它的周转时间定义为 Ti=Ei-Si-平均周转时间。所有作业的周转时间的平均值。假定作业i的周转时间定义为Ti,平均周转时间定义为,2.4 作业管理,-带权周转时间。作业的带权周转时间为作业的周转时间与作业的运行时间之比。作业调度算法 先来先服务算法(FCFS)算法:按照作业进入系统的先后次序来挑选作业,先进入系统的作业优先被挑选 优点:算法容易实现 缺点:效率不高、不利于短作业,2.4 作业管理,最短作业优先算法(SJF)算法:总是选取计算时间最短的作业投入运行 优点:算法容易实现,缩短了平均周转时间,提高了系统的吞吐能力 缺点:忽视了作业等待时间,计算时间靠用户估计响应比最高者优先算法(HRRF)算法:响应比=(等待时间+计算时间)/计算时间,作业调度时总是选取响应比高的作业投入运行 优点:既照顾了短作业,考虑了系统的吞吐量,又考虑了不使长作业长时间等待 缺点:响应比所用计算时间仍是用户的估计时间,2.4 作业管理,优先数调度算法 算法:每次总是选择优先数高的作业 优先数的确定:一种是用户自己提出;一种是由系统综合考虑有关因素来确定 分类调度算法 算法:根据系统运行情况和作业属性将作业分类,作业调度时轮流从这些不同的作业类中挑选作业 目标:力求均衡地利用各种系统资源,发挥资源的使用效率,又力求使用户满意,2.4 作业管理-例题,有5个批处理作业(A、B、C、D、E)几乎同时到达,估计的运行时间分别为2、4、6、8、10分钟,它们的优先级分别为1、2、3、4、5(1为最低优先级)。对下面的每种调度算法,分别计算作业的平均周转时间。(1)最高优先级优先。(2)FIFO(作业的到达顺序为C、D、B、E、A)。(3)短作业优先。为计算方便,假设这批作业的到达时间为0。,2.4 作业管理,(1)最高优先级优先算法:作业的调度顺序为E、D、C、B、A,各作业的周转时间如下表所示。,平均周转时间(30+28+24+18+10)/5=22分钟,2.4 作业管理,(2)FIFO(作业的到达顺序为C、D、B、E、A)算法,各作业的周转时间下表所示。,平均周转时间(30+18+6+14+28)/5=19.2分钟,2.4 作业管理,(3)短作业优先算法,作业的调度顺序为A、B、C、D、E,各作业的周转时间下表所示。,平均周转时间(2+6+12+20+30)/5=14分钟,2.4 作业管理,作业调度与处理器调度的关系 进入计算机系统的作业只有经过两级调度后才能占用处理器。第一级是作业调度,使作业进入主存储器;第二级是处理器调度,使作业进程占用处理器 2-4-4 作业的执行 一个批处理作业被作业调度选中后,操作系统按用户提交的作业控制说明书控制作业的执行,一个作业往往要分几个作业步执行,2.4 作业管理,2-4-5 作业的终止与撤销 作业的终止 正常终止、非正常终止 撤销作业的过程 报告用户作业是正常终止还是非正常终止 回收发给该进程的资源,包括外设、内存空间,进程运行时打开的文件等 释放该作业JCB 将此作业注销2 4-6 作业的状态 提交状态 作业还未进入算机系统内之前,用户正在向系统提交作业时所处的状态,2.4 作业管理,后备状态 作业的提交完成后,作业便处于后备状态 运行状态 作业被选中,分配资源,调入内存,创建进程 完成状态 当作业运行结束或异常终止时,作业进入完成状态,小结,本章主要讲述了操作系统与用户之间的接口、系统调用、作业的基本概念以及批处理作业的管理等内容。1.操作系统与用户之间的接口可以分为命令接口、程序接口和图形接口。命令接口分为交互式命令接口和脱机命令接口。交互式命令同操作系统的通信是通过一个I/O装置来实现的。程序接口通常由各种各样的系统调用所组成。操作系统编制了许多不同功能的子程序,这些子程序通常包含特权指令,用户程序可以调用这些子程序从而得到特权指令提供的功能,并且没有使用特权指令。由操作系统提供的这些子程序称为“系统功能调用”程序。系统调用是操作系统提供给编程人员的唯一接口。系统调用在本质上是应用程序请求操作系统核心完成某一特定功能的一种过程调用,是一种特殊的过程调用。2.作业是用户在一次计算过程中或者一次事物处理过程中要求计算机系统所做的工作的集合。用户使用操作系统提供的“作业控制语言”对作业执行的意图写好一份“作业控制说明书”,连同该作业的源程序和初始数据一同提交给计算机系统,操作系统按照用户说明的控制意图来控制作业的执行,作业执行过程中,用户不进行干预,一切由操作系统按作业控制说明书的要求自动地控制作业的执行。在这种控制方式下执行的作业就是批处理作业。一个作业的建立过程包括两个子过程:一个是作业控制块JCB的建立,一个是作业的输入。作业调度算法确定了从后备作业中选取作业投入运行的策略,本章介绍了先来先服务算法、最短作业优先算法、响应比最高者优先算法、优先级调度算法和分类调度算法。一个作业从进入计算机系统到运行结束,处于不同的状态,一般可以将作业的状态分成:提交状态、后备状态、运行状态、完成状态。本章还分析了进程调度和作业调度的关系。,