1、第第3 3章章 操作系统用户接口操作系统用户接口与作业管理与作业管理 学习目标:掌握操作系统用户接口的分类及其主要功能。掌握作业的分类。掌握作业的基本状态及其之间的转换。掌握作业调度的原则。掌握常见的作业调度算法。了解Linux系统中的用户接口与作业管理。第第3 3章章 操作系统用户接口与作业管理操作系统用户接口与作业管理3.1 用户接口 3.2 作业管理概述 3.3 作业调度 3.4 Linux中的用户接口与作业管理 第第3 3章章 操作系统用户接口与作业管理操作系统用户接口与作业管理3.1 用户接口 3.2 作业管理概述 3.3 作业调度 3.4 Linux中的用户接口与作业管理 3.1.
2、1 程序接口程序接口程序接口(Program Interface):由一组系统调用(System Call)命令组成。用户在程序中用这些系统调用命令请求操作系统提供服务,通过系统调用实现应用程序与操作系统的通信。系统调用:系统调用:是操作系统提供给软件开发人员的程序接口,开发人员可以通过系统调用使用系统功能。所谓系统调用,是指用户在程序中调用操作系统提供的一些子功能,是用户在程序级请求操作系统服务的一种手段。1设备管理:这类系统调用被用来请求和释放设备,以及启动设备操作等。2文件管理:这类系统调用包括创建、删除文件,读、写文件操作以及移动文件指针等。3进程控制:当多个用户程序在系统内执行时引出
3、了一个新的概念,称为进程。4进程通信:进程间传递消息或信号的系统调用。5存储管理:内存块的申请、释放,获取作业占用内存块的首址、大小等。系统调用功能分类:管态(核心态):运行系统程序的状态。目态(算态、用户态):运行用户程序的状态。注意:特权指令只能在管态下执行,而不能在目态下执行。系统调用与过程调用的区别(1)运行在不同的系统状态 一般的过程调用,其程序和被调用的过程,都运行在同一系统状态下,或管态或目态。若系统调用的是用户程序,运行在目态;若被调用过程是系统过程,运行在管态。(2)通过软中断进入 一般的过程调用可直接由调用转向被调用过程。而系统调用由于调用过程和被调用过程处于不同的系统状态
4、,不允许由调用过程直接转向被调用过程,只能通过软中断(trap)机制,先进入操作系统内核,经内核处理后,才能转向相应的系统调用处理程序。3.1.2 命令接口命令接口分为传统的命令行接口和现代的图形接口。图形接口以图形和菜单作为主要显示界面的图形接口,用鼠标作为主要的输入方式,受到了广大的计算机用户的欢迎,并对计算机的普及起到了关键性的作用。图形接口是命令行接口的发展。通常认为操作系统提供了两类用户接口,如下图。3.1.3 操作系统用户接口的发展第一阶段。为用户提供命令行接口和程序中使用的系统调用,是一维一维空间环境。第二阶段。提供图形接口,是二维二维界面的环境。第三阶段。提供立体空间操作环境和
5、语言接口,三维三维图像显示立体效果,屏幕上显示出家电或其他控制仪器,利用鼠标去触摸、去感受。第第3 3章章 操作系统用户接口与作业管理操作系统用户接口与作业管理3.1 用户接口 3.2 作业管理概述 3.3 作业调度 3.4 Linux中的用户接口与作业管理 3.2.1 作业及其类型1.作业、作业步和作业步任务 作业作业是指用户提交给计算机进行加工的一个任务,它是由用户程序、数据以及某种形式的控制信息所组成的。通常,一个作业又可分为若干个顺序处理的作业步作业步。例如,在对一个用某高级语言编制的源程序进行调试处理时,往往要经过编辑、编译、运行等几个作业步。其中的每一个作业步又可进一步细分为若干个
6、作业步任务。2.作业的类型从调度的角度分类:(1)计算型作业。(2)I/O型作业从控制的角度分类:(1)脱机作业 (2)联机作业 3.作业管理的功能(1)作业调度 由作业调度程序按照一定的算法算法,从处于后备状态的作业队列中,选出一个或一批作业调入内存,为之分配处理机之外的所有其他的所需资源。然后为之创建进程,并插入进程就绪队列中,使它们成为具有获得处理机资格的候选进程。只有批处理系统才必须具有作业调度。(2)作业控制指用户通过操作系统提供的用户与操作系统的接口,向系统发出各种命令,以管理自己的作业和控制作业的运行。根据作业性质的不同,分为:脱机作业控制:指操作系统利用作业说明书作业说明书作业
7、说明书作业说明书,对用户提交的批量型作业进行控制;联机作业控制:指用户利用操作系统提供的一组键盘命令键盘命令,对自己的作业进行控制。3.2.2 作业的状态及其转换 1.进入状态 2.后备状态3.运行状态4.终止状态 当操作员将用户提交的作业通过某种输入方式(如脱机I/O或SPOOLing方式),将作业输入到外存上时,称此阶段的作业处于进入状态。当作业所需全部信息已输入到外存,由作业建立程序为之建立了作业控制块(Job Control Block,JCB),并插入到后备作业队列中等待调度运行为止。把作业在后备队列上等待调度的状态称为后备状态。作业调度程序从处于后备状态的作业队列中选中一个作业调入
8、内存,并为之建立相应的进程后,由于此时的作业已具有独立运行的资格,如果处理机空闲,便可立即开始执行,故称此时的作业是进入了运行状态。作业的运行状态又可进一步分为就绪、执行和阻塞3个基本状态。当作业(进程)的运行正常完成或异常结束时,进程便自我终止,或被迫终止,此时作业便进入终止状态1.1.作业在输入设备或作业在输入设备或辅存中辅存中2.2.未产生完整的作业未产生完整的作业描述信息描述信息3.3.可有多个作业可有多个作业1.1.作业位于辅存,有作业位于辅存,有资格进入主存资格进入主存2.2.有完整的作业描述有完整的作业描述信息信息1.1.作业在主存,以进作业在主存,以进程存在程存在2.2.由进程
9、控制是否在由进程控制是否在CPUCPU运行运行3.3.主存中作业数为执主存中作业数为执行态作业数行态作业数1233.2.3 作业控制级的接口1.联机用户接口 联机用户接口是为联机用户提供的,它由一组键键盘操作命令及命令解释程序盘操作命令及命令解释程序组成。2.脱机用户接口 脱机用户接口由一组作业控制语言作业控制语言(JCL)组成。第第3 3章章 操作系统用户接口与作业管理操作系统用户接口与作业管理3.1 用户接口 3.2 作业管理概述 3.3 作业调度 3.4 Linux中的用户接口与作业管理 3.3.1 作业调度应考虑的因素(1)系统的目标 应根据系统的目标来设计作业调度算法。(2)作业的优
10、先级 保证紧迫作业能获得及时处理的重要方法,是在作业调度算法中引入优先级机制,为紧迫作业赋予高优先级。(3)作业的平均周转时间 衡量一个作业调度算法的重要指标,是作业的平均周转平均周转时间时间和平均带权周转时间平均带权周转时间。(4)作业对资源的要求 作业对资源的要求包括对处理机执行时间的要求、对内存空间的要求以及对外部设备的要求等。(5)系统资源的均衡使用 为了能同时提高处理机和各种外部设备的利用率,作业调度程序在选择作业投入运行时,应对计算型作业和I/O型作业予以搭配。平均周转时间平均运行时间平均等待时间平均周转时间平均运行时间平均等待时间平均周转时间平均运行时间平均等待时间平均周转时间平
11、均运行时间平均等待时间 3.3.2 作业调度算法1.先来先服务(FCFS)调度算法 这是一种最简单的作业调度算法。先来先服务算法是在作业进入系统后,由作业建立程序按作业进入系统的先后次序,将作业插入后备队列。2.最短作业优先(SJF)调度算法 作业的长短是指作业运行时间的估计值。最短作业优先算法的依据是作业的长短,是从后备队列中选择其估计运行时间最短,且系统的可分配资源能满足其要求的作业,使之投入运行。3.响应比高者优先(HRN)调度算法响应比=(作业等待时间+作业要求的运行时间)/作业要求的运行时间由上式可以看出:随着作业等待时间的增加,其响应比也增加,故作业在等待了足够长的时间后,总会成为
12、响应比最高者,从而可被调度程序选中而投入运行;在等待时间相同(但不为0)的情况下,最短作业将被优先调度运行;当作业要求运行的时间相同时,先到达的作业将先被调度运行。4.优先级高者优先(HPF)调度算法为了能对紧迫作业进行及时处理,目前广泛采用优先级高者优先调度算法。该算法是从后备队列中选择优先级高者投入运行。在采用该算法时要解决两个问题:第一,如何确定作业的优先级;第二,作业的优先级一经确定之后,在作业的整个运行期间是否保持不变。作业优先级的确定方法(1)作业优先级由系统确定 通常其出发点是为了提高系统吞吐量,或使多个作业均衡地利用系统资源,为此,系统可根据作业类型确定其优先级。此外,系统也可
13、根据作业对资源要求的多少来确定作业的优先级,例如,为要求处理机时间短的作业赋予高优先级。(2)作业优先级由用户指定 在由用户指定作业的优先级时,主要是根据作业的紧迫程度和用户的经济实力来决定。对于紧迫作业赋予其高优先级,非紧迫作业赋予低优先级。作业优先级的分类(1)静态优先级。静态优先级是指作业的优先级一经确定后便不再改变。这种优先级方式实现简单,系统开销较小,但低优先级作业可能会长期得不到运行机会。(2)动态优先级。动态优先级是指作业的优先级在运行期间要改变。改变优先级有两种常用方法:一种方法是随着作业等待时间的增加,其优先级也随之提高;另一种方法是在作业运行过程中,其优先级随着剩余运行时间
14、的减少而提高。前一方法可防止低优先级作业长期等待,后一种方法可促使作业尽快完成。第第3 3章章 操作系统用户接口与作业管理操作系统用户接口与作业管理3.1 用户接口 3.2 作业管理概述 3.3 作业调度 3.4 Linux中的用户接口与作业管理 3.4 Linux中的用户接口与作业管理 Linux提供的用户接口有图形界面和终端两种。图形界面在使用上基本和windows无异,有GNOME、KDE、Enligntenment、Fvwm、Fvwm2、Afterstep、Icewm、Qvwm、Blackbox等;终端功能够十分强大,所谓的命令就是在终端里执行的,包括图形界面下的虚拟终端和真正的终端控
15、制台(文本界面)。1 1脱机用户接口是配置在 A 操作系统中的,它是由一组 B 所组成,联机用户接口是由一组 C 所组成,而程序接口则是由一组 D 所组成。A:(1)微机;(2)批处理;(3)分时;(4)实时。B、C、D:(1)系统调用;(2)库函数;(3)键盘命令;(4)作业控制语言习题2.若在后备作业队列中等待运行的同时有三个作业J1、J2、J3,已知它们各自的运行时间为a、b、c,且满足关系abc,试证明采用短作业优先调度算法能获得最小平均周转时间。3.设有4道作业,它们的提交时间及执行时间如下:试计算在单道程序环境下,采用先来先服务调度算法和最短作业优先调度算法时的平均周转时间和平均带权周转时间,并指出它们的调度顺序。(时间单位:小时,以十进制进行计算。4.假设有四个作业,它们的提交、运行时间如下表所示。若采用响应比高者优先调度算法,试问平均周转时间和平均带权周转时间为多少?(时间单位:小时,以十进制进行计算。)
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100