Page1计算机科学与工程学院Chapter2用户接口和作业管理操作系统(第3版)第2章用户接口和作业管理(4课时)Page2计算机科学与工程学院Chapter2用户接口和作业管理教学目标了解联机命令的格式、类型;了解终端处理程序的功能及命令解释程序的作用和工作流程;领会系统调用的概念、类型和实现。了解批处理作业和交互式作业的管理Page3计算机科学与工程学院Chapter2用户接口和作业管理教学重点和难点教学重点:系统调用的基本概念作业调度算法(详细讲解、联系实际)教学难点:系统调用与一般过程调用的区别作业调度算法Page4计算机科学与工程学院Chapter2用户接口和作业管理第2章用户接口和作业管理Page5计算机科学与工程学院Chapter2用户接口和作业管理课程引入本章主要探讨两个问题,接口和作业管理。•为了方便用户使用计算机,OS必须为用户提供良好的接口;•为了提高计算机的利用率,产生了支持多个作业处理的系统,系统将采用怎样的处理和调度策略来管理作业,才能达到用户与系统之间的最优效率。Page6计算机科学与工程学院Chapter2用户接口和作业管理2.1概述2.1.1作业的基本概念OS是为用户使用计算机服务的软件,而为用户服务是通过为用户的作业和进程服务来实现的。Page7计算机科学与工程学院Chapter2用户接口和作业管理2.1概述2.1.1作业的基本概念概念-作业:是指在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做工作的集合。作业的组成:由用户程序、所需要的数据、作业说明书三部分组成。-作业步:一个作业的完成通常要经历建立、编译、连接装配和运行。这些要求计算机处理的相对独立的每步骤叫做作业步。一个作业的各个作业步之间是互相联系的,在逻辑上是顺序执行的。-作业流:一次有一批作业进入系统,并在操作系统控制下,一个接一个地进行处理,称之为作业流-作业的两种基本类型:批处理作业、交互式作业Page8计算机科学与工程学院Chapter2用户接口和作业管理2.1概述2.1.2用户接口人们研究、设计OS的目的就是为了方便用户使用计算机。用户通过OS控制和使用计算机,不再与裸机发生直接的关系,这样OS就成为用户和计算机之间的接口。-命令接口-程序接口(通常由若干系统调用组成)-图形接口Page9计算机科学与工程学院Chapter2用户接口和作业管理2.2命令接口2.2.1联机命令接口1.命令的格式和分类格式:命令名参数1,参数2,…,参数n操作控制命令类型有:系统访问命令,文件、目录管理命令,编辑修改命令,编译、连接和执行命令,询问命令,操作员专用命令。例……color/?,color3.提问:哪种操作系统主要提供了命令接口?2.命令的接收和解释执行-交互式系统主要包括:一组联机命令,终端处理程序,命令解释程序答案:DOS。提问:DOS的英文全称是什么?Page10计算机科学与工程学院Chapter2用户接口和作业管理2.2命令接口终端处理程序配置在终端上的终端处理程序主要用于实现人机交互,具有以下功能:-接收用户从终端上输入的字符-字符缓冲管理。有专用缓冲和公用缓冲……-回送显示-屏幕编辑-特殊字符处理。中断、停止上卷、恢复上卷……Page11计算机科学与工程学院Chapter2用户接口和作业管理2.2命令接口命令解释程序-功能:对用户输入的命令进行解释,并转入相应的命令处理程序去执行-对命令的处理方法:①由命令解释程序直接处理②由子进程代为处理。对于比较复杂的命令,如对一个C源程序,命令解释程序不能处理,此时为终端用户创建一个子进程,并由该子进程运行C编译程序,以处理该源程序。Page12计算机科学与工程学院Chapter2用户接口和作业管理命令解释程序的程序流程图Page13计算机科学与工程学院Chapter2用户接口和作业管理2.2命令接口2.2.2脱机命令接口批处理作业在进入系统前,用户必须用“作业控制语言”写好一份作业控制说明书,以告诉OS用户希望如何控制作业的执行。在作业执行过程中,用户无法干涉。作业控制语言(JCL)对用户作业进行组织和管理的各种控制命令的集合。作业控制说明书是用户用于描述批处理作业处理过程控制意图的一种特殊程序。用JCL书写作业控制说明书,规定OS如何控制作业的执行。Page14计算机科学与工程学院Chapter2用户接口和作业管理2.2命令接口2.2.2脱机命令接口作业控制说明书主要内容:作业的组成:程序数据作业控制说明书Page15计算机科学与工程学院Chapter2用户接口和作业管理2.3系统调用提问:哪位同学在编写程序的时候用过系统调用?答:在C语言中,有一个名为“exit”的函数,它意味着程序的结束。编译器会使用系统调用替代它,从而“杀死进程”。Page16计算机科学与工程学院Chapter2用户接口和作业管理2.3系统调用系统调用是操作系统提供给编程人员的唯一接口。程序员利用系统调用,在源程序级动态请求和释放资源,调用系统中的功能来完成与机器相关的工作以及控制程序的执行速度等。2.3.1系统调用的概念由操作系统提供,用户程序可以调用的包含特权指令的子程序称为“系统功能调用”程序,或简称为“系统调用”。如系统调用fopen,其参数也许是文件id、模式(读写)系统调用分类文件操作类、进程控制类、资源申请类、进程通信类、信息维护类Page17计算机科学与工程学院Chapter2用户接口和作业管理Windows系统调用应用程序接口API(applicationprogramminginterface)API函数调用分类:•窗口类函数•图形设备接口(GDI)类•系统服务类•国际特性类•网络服务类Page18计算机科学与工程学院Chapter2用户接口和作业管理2.3系统调用系统调用与一般过程调用的区别:(曾在研究生入学考试时考过)系统调用通过非特权指令——访管指令调用*通过软中断进入一般的过程调用可直接由调用过程转向被调用过程;系统调用通常都是通过软中断机制转向相应的命令处理程序*运行在不同的处理器状态一般的过程调用,其调用程序和被调用程序都运行在相同的处理器状态;系统调用的调用程序运行在目态,而被调用程序则运行在管态*处理器状态的转换一般的过程调用不涉及系统状态的转换;系统调用需要系统状态转换Page19计算机科学与工程学院Chapter2用户接口和作业管理2.3系统调用*返回问题一般的过程调用在被调用过程执行完后,将返回到调用过程继续执行;系统调用不一定返回原调用过程*嵌套调用像一般过程一样,系统调用也允许嵌套调用,但对嵌套调用的深度都有一定的限制Page20计算机科学与工程学院Chapter2用户接口和作业管理2.3系统调用2.3.2系统调用的处理过程基本概念-在系统中为控制系统调用服务的机构称为陷入或异常处理机构-由于系统调用引起处理机中断的指令称为陷入或异常指令(或称访管指令)-每个系统调用都对应一个事先给定的功能号-为了实现系统调用,系统设计人员还必须为实现各种系统调用功能的子程序编写入口地址表,每个入口地址都与相应的系统程序名对应起来Page21计算机科学与工程学院Chapter2用户接口和作业管理中断时的CPU轨迹Page22计算机科学与工程学院Chapter2用户接口和作业管理2.3系统调用系统调用的执行过程大体上分成以下三步-设置系统调用号和参数-系统调用命令的一般性处理设置了系统调用号和参数后,可执行一条系统调用命名。MS-DOS中是执行INT21中断。先保护现场,将现场数据压入堆栈,再将用户定义的参数传送到指定的地方保护。-系统调用命令处理程序做具体处理Page23计算机科学与工程学院Chapter2用户接口和作业管理系统调用实现过程示例Page24计算机科学与工程学院Chapter2用户接口和作业管理本讲练习•用户程序在用户态下要使用特权指令引起和中断属于()•A.硬件故障中断B.程序中断C.外部中断D.方管中断•处理器执行的指令被分为两类,其中一类称为特权指令,它只允许()•A.操作员B.联机用户C.目标程序D.操作系统解析:D。在用户态下使用特权指令,会产生由用户态转向核心切换,产生访管中断。解析:D。内核可执行处理器能执行的任何指令,用户程序只能执行除特权指令以外的指令。所以特权指令只能由内核即OS使用。Page25计算机科学与工程学院Chapter2用户接口和作业管理•系统调用是由操作系统提供给用户的,它(B)A.直接通过键盘交互方式使用B.只能通过用户程序间接使用C.是命令接口中的命令D.与系统的命令一样•【2010年计算机联考真题】下列选项中,操作系统提供给应用的接口是()A.系统调用B.中断C.库函数D.子程序解析:A。操作系统接口主要有命令接口和程序接口,其中程序接口又称为系统调用。库函数是高级语言中提供的与系统调用对应的函数(也有些库函数与系统调用无关),目的是隐藏“访管”指令的细节,使系统调用更方便、抽象。但要注意,库函数属于用户程序而非系统调用,是系统调用的上层。Page26计算机科学与工程学院Chapter2用户接口和作业管理•操作系统提供给编程人员的接口是(C)A.库函数B.高级语言C.系统调用D.子程序•系统调用的目的是()A.请求系统服务B.中止系统服务C.申请系统资源D.释放系统资源解析:C。操作系统提供给编程人员的接口是程序接口,也就是系统调用。解析:A。操作系统不允许用户直接操作各种硬件资源,因此用户程序只能通过系统调用的方式来请求内核为其服务,间接地使用各种资源。Page27计算机科学与工程学院Chapter2用户接口和作业管理一分钟练习操作系统与用户通信接口通常不包括()A.ShellB.命令解释器C.广义指令D.缓存管理指令解析:D。广义指令就是系统调用命令,而命令解释器属于命令接口,shell指命令解释器。系统中的缓存全部由操作系统管理,对用户是透明的,操作系统不提供管理系统缓存的系统调用Page28计算机科学与工程学院Chapter2用户接口和作业管理本次课结束语1.回顾本次课所讲内容2.作业:课后习题2、6Page29计算机科学与工程学院Chapter2用户接口和作业管理2.4作业管理引入用户如何提交作业,OS又如何调度作业运行,这些都是作业管理的范畴。作业管理的基本功能:作业调度作业控制(包括:作业如何输入到计算机,当作业被选中后如何控制其执行,在执行进如何处理故障,怎样控制计算结果的输出)作业的构成:程序、数据和作业说明书。Page30计算机科学与工程学院Chapter2用户接口和作业管理2.4作业管理2.4.1作业控制块和作业表1.作业控制块(JCB)JCB是批处理作业存在的标志,其中保存了系统对于作业进行管理所需要的全部信息,它们被保存于磁盘区域中。作业控制块中包括的内容1.作业本身的内容,如作业的名字、程序作者名字、创建时间等Page31计算机科学与工程学院Chapter2用户接口和作业管理2.4作业管理2.为实现作业调度所需的信息,如作业本身的优先数、现在所处的状态处理机的时间等。3.作业使用的资源要求,如作业所需内存的大小、打印机、磁带机等。4.系统指示单元,如该作业所在外存中的起址和长度等信息Page32计算机科学与工程学院Chapter2用户接口和作业管理练习作业在系统中存在与否的唯一标志是()Page33计算机科学与工程学院Chapter2用户接口和作业管理2.4作业管理2.作业表所有作业的作业控制块构成一个表,称为作业表作业表存放在外存固定区域中,其长度是固定的,这就限制了系统所能同时容纳的作业数量Page34计算机科学与工程学院Chapter2用户接口和作业管理2.4作业管理2.4.2作业的建立包括两个子过程:建立JCB输入作业1.作业控制块的建立建立JCB就是申请分得和填写一张空白的JCB表的过程Page35计算机科学与工程学院Chapter2用户接口和作业管理2.4作业管理2.作业的输入三种输入方式: