《第2章作业管理和用户接口课件.ppt》由会员分享,可在线阅读,更多相关《第2章作业管理和用户接口课件.ppt(56页珍藏版)》请在三一办公上搜索。
1、计算机操作系统,Computer Operating System,作业管理和用户接口,第二章 作业管理和用户接口,2.1 用户与操作系统间的接口 2.2 作业管理的基本概念 2.3 作业管理的任务和功能 2.4 作业的输入与输出 2.5 作业调度 2.6 作业控制 2.7 Windows XP 的用户接口,2.1.1 程序接口:给程序员编写源程序时使用的接口 2.1.2 命令接口:给作业控制使用的接口,2.1 用户与操作系统间的接口,接口分类图程序接口:一组系统调用命令命令接口,即作业控制接口,又分为联机用户接口和脱机用户接口2大类,具体见下图,2.1 用户与操作系统间的接口,它由一组系统调
2、用命令(简称系统调用)组成。这是为程序员通过汇编程序与操作系统打交道而提供的。汇编源程序可直接使用这些命令,高级语言源程序只能使用过程调用语句,编译程序翻译为系统调用命令操作系统的对应模块是:系统调用命令处理程序系统调用所谓系统调用,实质是操作系统提供的一些子程序,用户通过这些称为系统调用命令(特殊指令、广义指令)的命令调用这些子程序,以取得操作系统的服务。通常,操作系统为了满足用户程序的各种需要,提供了功能丰富的系统调用,如文件操作、I/O设备操作、内存管理等,2.1.1 程序接口,系统调用的执行过程用户的源程序语句必须向系统调用命令处理程序提供必要的参数,以便使它根据这些参数进行相应的处理
3、。当用户程序执行到源程序中的系统调用命令时,产生一条相应的指令(有些操作系统称其为访管指令或软中断指令),处理机执行该指令时产生相应的软中断,系统将当前程序的执行现场保护后,转入相应的系统调用处理子程序(管态),去完成特定的系统调用功能。,2.1.1 程序接口,系统调用命令处理程序,操作系统的命令接口分为联机命令接口和脱机命令接口 联机命令接口(OS对应模块:命令解释器、GUI模块)键盘操作命令内部命令。这类命令的特点是程序短小,使用频繁外部命令菜单驱动方式。图符驱动方式。它是一种面向屏幕的图形菜单选择方式。图形化用户界面。它将菜单驱动、图符驱动、面向对象技术等集成在一起,形成一个图文并茂的视
4、窗操作环境。,2.1.2 命令接口,脱机命令接口或批处理命令接口它是由一组作业控制命令(或称作业控制语言)组成。脱机用户是指不能直接干预作业的运行,而必须事先把要求系统所干的事用相应的作业控制命令写成一份作业操作说明书,连同其作业一起提交给系统的用户。当系统调度到该作业时,由系统的命令解释程序对其操作说明书上的命令逐条解释执行,直至遇到“撤离”命令而停止该作业为止。 P9例子OS对应模块:作业控制命令解释程序,2.1.2 命令接口,2.2.1 作业、作业步、作业流 2.2.2 作业的分类,2.2 作业管理的基本概念,作业用户在一次算题过程中或一个事务处理中要求计算机系统所做工作的集合。在一个多
5、道程序的并发系统中,一个作业就是独立于其他作业的计算工作的一个单位。作业步要求计算机系统做的一项相对独立的工作叫做一个作业步 ,如编辑、编译、链接装配、执行各是一步,2.2.1 作业、作业步、作业流,对作业的处理一般有这样几个作业步:编辑将高级语言源程序通过键盘或别的形式输入计算机,在编辑程序的协助下纠正输入过程中可能出现的错误,从而得到一个新的源程序。编译调用相应的编译程序,对源程序进行编译,产生目标程序。链接装配调入装入模块把编译好的目标程序连接装配成一个可执行代码。 运行启动运行目标程序,得出运行结果。,2.2.1 作业、作业步、作业流,这些作业步总是相互关联、且有严格的先后执行次序的。
6、它们之间的关系表现为:一个作业步运行的结果将产生下一个作业步所需要的“文件”。一个作业步能否正确地执行,依赖于前一个作业步是否成功地完成。作业流指顺序装入、运行的一批作业。大的系统可能有几个作业流,2.2.1 作业、作业步、作业流,根据计算机系统对作业处理方式的不同,可把用户作业分为两大类:批量型作业和终端型作业。对批量型作业,根据对其运行过程控制方式的不同,又可分为两种:利用作业说明书实行自动控制方式的作业,即脱机作业;利用控制台键盘操作命令直接控制的作业,即联机作业。终端型作业用户在终端上利用键盘操作命令控制和监督作业的运行,系统把作业运行的情况和结果通过CRT及时反馈给用户。终端型作业通
7、常在分时系统及微机上运行。,2.2.2 作业的分类,2.3.1 作业管理的任务 2.3.2 作业管理的功能,2.3 作业管理的任务和功能,对资源进行描述根据不同资源的特征选取适当的数据结构来描述资源,内容包括资源标识、资源分配特性、资源安全要求、资源分配状况等。对资源进行分配按照一定的分配原则从若干申请资源的作业中选出合适的作业,将作业申请资源的逻辑名与资源的物理地址进行连接,这样用户就能够 开始对资源的使用。保证资源使用的安全性如果是共享资源,安全性表现在所以共享该资源的作业相互之间没有不良影响或者越权操作。如果是独享资源,安全性表现在独享资源具有实现临界资源的手段。,2.3.1 作业管理的
8、任务,作业的输入与输出如何组织作业并快速地把输入设备上的作业源源不断地装入高速的后援存储器上,逐步地形成后备作业队列;并且将作业的输出信息组织在输出设备上输出。作业调度在多道程序设计系统中,系统可以同时处理多个作业,因此,系统必须能够按照一定的策略选取若干作业,并将它们调入内存,分配必要的资源,使它们同时处于运行状态,共享系统的有限资源,这就是作业调度。作业控制作业是在操作系统控制下执行的。它包括作业如何输入到系统中,当作业被调度选中后如何控制它的运行,作业在运行过程中发生错误或出现故障时应怎样处理,计算的结果如何输出等。,2.3.2 作业管理的功能,2.4.1 早期联机输入输出 2.4.2
9、脱机输入输出 2.4.3 Spooling系统,2.4 作业的输入与输出,在早期的批处理系统中,每个用户将需要计算机解决的计算工作组织成一个作业,交给机房。由操作员把一批作业装到输入设备 (如卡片机、纸带机) 上,再由cpu运行监督程序送到辅存(早期是磁带),然后再由调度程序从磁带上选择若干个作业投入运行。作业在运行过程中,若需要输出信息,将信息先输出至另一条磁带上,等到磁带上的一批作业全部运行结束后,再将输出带上的信息由输出设备(如打印机)输出。以后再重复上述过程,输入下一批作业。,2.4.1 早期联机输入输出,2.4.1 早期联机输入输出,脱机批处理系统由主机和卫星机(又称外围计算机)组成
10、。卫星机不与主机直接连接,只与外部设备打交道。卫星机把输入设备上的作业传输到大容量的后援存储器(磁带、磁盘)上,当主机需要输入作业时,就把后援存储器同主机连上。主机直接从后援存储器中调度作业并控制运行,并把运行过程中作业的输出信息以文件形式保存在后援存储器上,等一批作业结束后,将后援存储器重新与卫星机连接,卫星机负责将作业的输出信息从输出设备上向外输出。,2.4.2 脱机输入输出,2.4.2 脱机输入输出,Spooling系统指脱机IO不再单独使用卫星机,而是由主机上的通道来完成,并可与主机并行工作,为实现此功能所配置的软件系统。它们和用户进程一样,也受系统调度程序调度运行,但它们的优先级比任
11、何用户进程都高。输入进程负责从输入设备上读入作业,把作业记录在一组盘区中(这组盘区称为作业的输入井)。一个用户作业在运行中有信息要输出时,首先通过文件管理系统组织输出文件,并存于相应的一组盘区中(这组盘区称为作业的输出井)。以后当所要的输出设备有空时,系统通过调度Spooling输出进程把输出文件从输出井传送到相应的输出设备。,2.4.3 SPOOLing系统,2.4.3 SPOOLing系统,Spooling系统补充说明,通道:可以看做是小CPU,指令系统简单,主要是输入输出相关的指令在增加了通道的主机系统中,磁盘也是通过一种类型的通道连接内存的,图中的主机系统指内存+CPUSpooling
12、输入模块配合设备驱动程序,在CPU上运行,从而产生和输入设备相连的通道的程序,放入内存并通知输入通道运行该程序,从而控制输入装置将作业输入到输入井由于输入进程在主机系统中,因此支持用户动态提交作业,源源不断地送入系统,2.5.1 作业的状态 2.5.2 作业控制块 2.5.3 作业调度的功能及调度性能的衡量 2.5.4 作业调度算法,2.5 作业调度,一个作业在进入系统到运行结束的生命期内,一共有四种状态:提交状态作业处于从输入设备进入输入井的过程中。后备状态作业全部进入输入井后,系统为每个作业建立作业控制块,并把其JCB放入作业后备队列,为作业调度做准备。运行状态一个作业被作业调度程序选中而
13、进入主存开始运行,到作业计算完成为止,这时,作业宏观运行,实质可能是就绪、执行或等待完成状态当作业正常运行完成或因故障而终止时,作业进入完成状态。,2.5.1 作业的状态,2.5.1 作业的状态,系统中往往有很多批处理作业被收容在磁盘输入井中,为了管理和调度这些作业,就必须记录已进入系统的各作业的情况,为此,系统为每个作业设置一个作业控制块(记为JCB,Job Control Block),记录作业的有关信息。 作业存在的整个过程中,相应的JCB也存在,只有当作业退出系统时,JCB才被撤消。JCB是一个作业存在的标志。,2.5.2 作业控制块,作业调度又称为高级调度或宏调度,是按照某种调度算法
14、从所有处于后备状态的作业队列中挑选一个或多个作业进入主存中运行作业调度还要为选中的作业分配资源,做好作业运行前的准备。完成作业调度的程序称为作业调度程序。作业调度在多道批处理系统中是非常必要的,2.5.3 作业调度的功能及调度性能的衡量,作业调度程序的功能按照系统选定的调度算法,从后备作业队列中选取一个或多个作业。为被选中的作业分配运行时所需要的系统资源。如分配主存和外设资源。为被选中的作业开始运行做好一切准备工作。如将作业的后备状态改为运行状态等。作业正常运行完成或因故障而中断需要撤离系统时,作业调度程序还要完成作业的善后处理工作。,2.5.3 作业调度的功能及调度性能的衡量,作业i的周转时
15、间Ti定义为:Ti=Tei-Tsi(其中Tei为作业i的完成时间,Tsi为作业i的提交时间);n个作业的平均周转时间T为: T=(T1+ T2+ Tn)/n 作业i的带权周转时间Wi定义为: Wi= Ti/Tri(其中Tri为作业i的实际运行时间)n个作业的平均带权周转时间W为: W=(W1+ W2+ Wn)/n,2.5.3 作业调度的功能及调度性能的衡量,先来先服务调度算法 (FIFO/FCFS) 短作业优先调度算法(SJF) 响应比高者优先调度算法 优先数调度算法,2.5.4 作业调度的算法,2.5.4 作业调度的算法-FCFS,先来先服务(FCFS,First Come Firs Ser
16、ve)调度算法是按作业来到的先后次序进行调度的。,2.5.4 作业调度的算法-FCFS,短作业优先调度算法是依据每个作业的JCB中提供的运行时间,每次调度作业时,总是选取运行时间最短的作业运行。这种算法对短作业有利,作业的平均周转时间最佳,也容易实现,但它不考虑长作业的利益,有可能使长作业得不到运行的机会。,2.5.4 作业调度的算法-SJF,2.5.4 作业调度的算法-SJF,响应比高者优先调度算法是介于先来先服务调度算法和短作业优先调度算法之间的一种折衷的算法。它兼顾了运行时间短和等待时间长的作业,但算法较复杂,每次调度作业时,要计算各个作业的响应比。响应比定义为:响应比=作业响应时间估计
17、的运行时间其中响应时间为作业进人系统后的等待时间加上估计的运行时间。因此,响应比可写为:响应比=1+作业等待时间估计的运行时间,2.5.4 作业调度的算法-HRN,2.5.4 作业调度的算法-HRN,如果对表2-2中的作业采用响应比高者优先调度算法来进行调度,每个作业运行完成时剩下的所有作业的响应比:当作业1结束时:作业2的响应比=1+(10.0-8.5)/0.5=1+3=4作业3的响应比=1+(10.0-9.0)/0.1=1+10=11作业4的响应比=1+(10.0-9.5)/0.2=1+2.5=3.5从计算结果可看出,作业3的响应比最高,应该选择作业3运行。当作业3结束时:作业2的响应比=
18、1+(10.1-8.5)/0.5=1+3.2=4.2作业4的响应比=1+(10.1-9.5)/0.2=1+3=4,2.5.4 作业调度的算法- HRN,2.5.4 作业调度的算法-优先数调度算法,优先数调度算法就是选取优先数最高的作业首先运行。确定优先数的一种较简单的方法是,当一个作业送入系统时,由用户为自己的作业规定一个优先数,这个优先数反映了用户要求运行的急切程度。为了防止有的用户为自己的作业规定一个很高的优先数,系统可对高优先数作业收取高的费用。更好的方法是由系统根据该作业执行时间的长短和对资源要求的多少来规定其优先数。这可以在作业进入系统时确定,亦可在每次选择作业时算出。,练习1,在一
19、个单道批处理系统中,一组作业的提交时刻和运行时间如表所示,试计算以下三种作业调度算法的平均周转时间和平均带权周转时间。 1.先来先服务2.短作业优先3.响应比高者优先作业提交时刻运行时间18.01.028.50.539.00.249.10.1,练习2,假设要在一台处理机上执行下列作业,且假设这些作业在0时间以12345的顺序到达,计算采用时间片轮转调度算法和非剥夺式优先级调度算法时的平均周转时间和平均带权周转时间(优先数越小优先级越高)作业执行时间优先数1102214322411553,作业3,证明:短作业优先的调度算法可以得到最短的平均周转时间。,练习4,假设某多道程序设计系统供用户使用的主
20、存空间是100K,磁带机2台,打印机1台,采用可变分区方式管理主存,采用静态分配方式分配磁带机和打印机,现有如表所示的作业序列作业号 进入输入井 计算时间 主存 磁带机 打印机18:0025分15K1128:2010300138:2020601048:3020201058:35151011作业调度策略是先来先服务,优先分配主存的低地址区域且不移动已在主存的作业,在主存中的作业评分CPU时间,问题如下,作业调度选中各作业的次序是什么全部作业运行结束的时刻是什么平均周转时间是多少,练习5,某多道程序设计系统配有一台处理器和两台外设I1和I2,现有3各优先级由低到高的作业J1,J2和J3都已装入主存
21、,他们使用资源的先后顺序和占用时间分别是:J1:I2 30,CPU 10,I1 30,CPU 10J2;I1 20,CPU 20,I2 40J3;CPU 30,I1 20处理器调度采用可抢占的优先数算法,请问三个作业从开始到完成所用的时间3个作业全部完成时CPU的利用率3个作业全部完成时外设I1的利用率,练习6,有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法,有如表所示的调度序列,优先数数值越小优先级越高列出所有作业进入内存时间及结束时间计算平均周转时间作业到达时间估计运行时间优先数A10:0040分5B10:20303C10:30
22、504D10:50206,2.6.1 脱机控制方式 2.6.2 联机控制方式,2.6 作业控制,作业控制就是用户对作业的干预 作业控制方式有两种:脱机作业控制也称为作业的自动控制方式,它是为批处理的脱机用户提供的。联机作业控制也称为作业的直控制方式,它是为联机或终端用户提供的。,2.6 作业控制,脱机作业控制通常采用两种途径: 作业控制卡作业控制卡方式是早期的一种脱机作业控制方式,存在着以下缺陷:使用不够灵活,因为用户要把控制卡插入到那些要控制的卡片中间,如插不准确, 就会出错,很不方便。由于作业控制卡是分散的,因此要对作业控制卡进行修改比较麻烦。此外,这些控制卡只能顺序执行,不能重复执行或跳
23、越执行。作业控制卡的格式表示方式不简洁,不易学会,不受用户欢迎。 作业说明书,2.6.1 脱机控制方式,联机作业控制是指用户通过使用控制台或终端发布命令对其作业运行所进行的控制。用户根据其操作意图逐个地键入命令控制和指挥作业运行,而系统也通过相应的设备把作业运行的情况和操作结果通知用户,以便用户根据当前的情况决定下一步的行动。,2.6.2 联机控制方式,2.7.1 Windows XP的系统命令 2.7.2 Windows XP的GUI 2.7.3 Win32 API函数,2.7 Windows XP的用户接口,Windows XP的命令具有以下特点:有些命令只能通过命令行直接执行复制、粘贴操
24、作不同能前后浏览每一步操作屏幕所显示的内容直接支持系统已挂接的码表输入法,2.7.1 Windows XP的系统命令,Windows XP 的图形用户界面组成元素:桌面窗口 菜单对话框,2.7.2 Windows XP的GUI,Windows的应用程序编程接口是Windows操作系统提供给程序员的编程接口,其主要功能是以API函数的方式向程序员提供Windows系统服务调用。每一个API函数对应一个系统服务功能,通过API函数,在用户程序中可以实现诸如建立窗口、绘图及使用硬件设备等功能。Win32 API函数指的是在32位Windows系统下使用的API函数。高级语言程序员往往使用过程调用而不直接用API,2.7.3 Win32 API函数,作业:,2、4、6、10、13、15补充题:什么是Spooling系统,试述Spooling系统的软硬件组成及工作过程,