作业管理与OS接口.ppt
- 文档编号:18779424
- 上传时间:2023-11-09
- 格式:PPT
- 页数:89
- 大小:4.43MB
作业管理与OS接口.ppt
《作业管理与OS接口.ppt》由会员分享,可在线阅读,更多相关《作业管理与OS接口.ppt(89页珍藏版)》请在冰点文库上搜索。
MIS系统软件,第七章作业管理与OS接口,信息管理与信息系统专业核心课程,第七章作业管理与OS接口,7.1概述7.2批处理OS的作业管理7.3命令接口7.4系统调用7.5UNIX系统调用,第七章作业管理与OS接口,71概述,程序的启动,程序开始执行时必须满足两个前提条件:
程序已装入内存程序计数器PC中已置入该程序在内存的入口地址,五种启动程序执行的方式,第一种方式:
命令方式第二种方式:
批处理方式第三种方式:
EXEC方式第四种方式:
由硬件装入程序和启动程序执行第五种方式:
自启程序,开机,命令提示符出现,打入命令,打回车,程序首指令执行,程序尾指令执行,下一个命令提示符出现(在前一个命令提示符的下一行首),第一种方式:
命令方式,第二种方式:
批处理方式,.BAT文件例子:
启动中文环境需要多条命令:
装入字库启动主程序装入汉字输入法AUTOEXEC.BAT,以命令方式启动执行批文件,操作系统调入批文件,读进其中第一条命令,装入并启动该命令要执行的程序,该程序执行完毕,回到操作系统,操作系统从该批文件中读下一条命令,批方式下的装入启动过程,第三种方式:
EXEC方式,在一个程序中运行另一个程序返回原来的程序,“父”程序执行exec调用,操作系统实现exec的装入(建立进程)、启动(或转调度子程序或返回),“子”程序执行,回到操作系统,进行子程序结果处理工作,并将结果信息返回“父”程序,“父”程序继续执行,EXEC方式的过程,执行完毕,第四种方式:
由硬件装入程序和启动程序执行第五种方式:
自启程序自己装入自己,并启动自己开始执行的程序自启程序由两部分组成引导程序和程序主体,用户程序存放在外存上,其自含的引导程序顺序放在存储介质的开始位置,将该存储介质放到相应的联机输入装置上,以某种硬操作方法通知计算机需执行自启程序,硬件将上述引导程序读入内存并将控制权传给它,引导程序将用户主体程序读入内存并将控制权传给它,自启程序装入与启动的过程,引导程序,程序的结束,正常结束:
程序按自身的逻辑有效地完成预定功能后结束(a)返回父程序并回送结果信息。
(b)释放所用资源(空间、设备),记录使用情况,记帐等异常结束:
发生了某些错误而导致程序在没有完成预定功能时提前结束,基本概念,程序接口(programinterface)指由用户程序和操作系统之间的接口。
用户程序可通过该接口取得操作系统的服务。
该接口主要由一组系统调用组成。
命令接口(commandinterface)用户与操作系统之间的接口,用户通过该接口直接或间接控制作业的运行,包括直接键入或作业说明书中,发出的一组命令。
也就是用户接口,又可分成联机用户接口与脱机用户接口两种。
作业级接口(命令接口),操作系统为用户对作业运行全过程控制提供的功能。
(1)联机接口(交互式)(操作命令)
(2)脱机接口(作业控制语言)程序级接口系统为用户在程序一级提供有关服务而设置,用户与操作系统的接口,由一组系统调用命令组成负责管理和控制运行的程序并在这些程序与系统控制的资源和提供的服务间实现交互作用用汇编语言:
在程序中直接用系统调用命令用高级语言:
可在编程时使用过程调用语句,程序级接口,用户接口与OS间的关系图,第七章作业管理与OS接口,72批处理OS的作业管理,1.作业的基本概念作业用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称作业步一个作业可划分成若干部分,称为一个作业步典型的作业控制过程:
“编译”、“连接装配”、“运行”,72批处理OS的作业管理,2.典型的作业步,编辑(输入,修改)源程序,编译,连接,运行,成功,编辑(输入,修改)另一源程序,是,否,典型的作业步,一个作业,另一个作业,3.批处理作业控制语言,用户用于描述批处理作业处理过程控制意图的一种特殊程序书写作业说明书的语言称为作业控制语言(JCL)作业控制语言的类别包括:
I/O命令、编译命令、操作命令以及条件命令等,4.作业说明书,表达用户对作业的控制意图内容:
作业的基本描述作业控制描述资源要求描述,5.作业控制块,作业控制块(JCB:
JobControlBlock)是批处理作业存在的标志其中保存有统对于作业进行管理所需要的全部信息,它们被保存于磁盘区域中。
当作业开始由输入设备向磁盘的输入井传输时,系统输入程序为其建立一个作业控制块,进行初始化,初始化的大部分信息取自作业说明书需要访问作业控制块的程序:
系统输入程序;作业调度程序;作业控制程序;系统输出程序等作业控制块的撤消:
作业完成后,其作业控制块由系统输出程序撤消,作业控制块被撤消后其作业也不复存在,作业控制块的内容,作业标知用户名称用户帐号调度信息资源需求作业状态作业类别输入井地址输出井地址进入系统时间开始处理时间作业完成时间作业退出时间资源使用情况,6.作业表(作业队列),每个作业有个作业控制块所有作业JCB构成一个作业表作业表存放在外存固定区域中,长度是固定限制了系统所能同时容纳的作业数量系统输入程序、作业调度程序、系统输出程序都需要访问作业表因而存在互斥问题,7.批处理作业的状态及转换,一个作业从进入系统到运行结束经历四个不同的状态:
“进入”“后备”“运行”“完成”,作业和进程的状态转换图,1)作业的建立,一个作业建立过程的两个子过程:
作业的输入JCB的建立作业控制块JCB和作业:
一一对应关系,2)作业的输入方式,联机输入方式脱机输入方式直接耦合方式SPOOLing系统,
(1)联机输入方式,用户和系统通过交互会话来输入作业外围设备直接和主机连接,
(2)脱机输入方式为了解决单台设备联机输入时的CPU浪费问题,3)直接耦合系统,把主机和外围低档机通过一个公用的大容量外存直接耦合起来,8.SPOOLING系统示意图,JCB的建立,在系统把作业信息输入到输入井之后,根据作业说明书和有关作业信息在外存的位置等建立作业控制表JCBJCB包含对作业进行管理所必须的信息只有在获得JCB表项和足够输入井空间后作业才可能创建成功,9.批处理作业的调度,主要功能:
审查系统能否满足用户作业的资源要求按照一定的算法从输入井中的后备作业中选取作业调度的关键在选择恰当的算法,作业调度程序,作业调度程序的主要功能是审查系统能否满足用户作业的资源要求以及按照一定的算法选取作业。
10.调度算法评价,目标:
单位时间内运行尽可能多的作业使处理机尽可能保持“忙碌”使各种I/O设备得以充分利用对所有的作业都是公平合理的,调度算法应与系统设计目标保持一致注意系统资源均衡使用保证提交的作业在截止时间内完成设法缩短作业平均周转时间,设计调度算法时应考虑的因素:
作业平均周转时间平均带权周转时间,调度算法性能的衡量,11.常见的批处理作业调度算法,
(1)先来先服务算法(FCFS:
FirstComeFirstServe)
(2)最短作业优先算法(SJF:
ShortestJobFirst)(3)最高响应比优先算法(HRN:
HighestResponseRatioNext)响应比R=作业周转时间/作业处理时间=(作业处理时间+作业等待时间)/作业处理时间=1+(作业等待时间/作业处理时间)(4)基于优先数调度算法(HPF:
HighestPriorityFirst)(5)均衡调度算法(分类排队算法),作业调度算法应用例子1,假设在单道批处理环境下有四个作业,已知它们进入系统的时间、估计运行时间,应用先来先服务、最短作业优先和最高响应比优先作业调度算法,分别计算出作业的平均周转时间和带权的平均周转时间。
先来先服务调度算法计算结果,最短作业优先作业算法计算结果,最高响应比优先作业算法计算结果,在两道环境下有四个作业,已知它们进入系统的时间、估计运行时间,系统采用短作业优先作业调度算法,作业被调度运行后不再退出,当一新作业投入运行后,可按照作业运行时间长短调整作业执行的次序。
请给出这四个作业的执行时间序列,并计算出平均周转时间及带权平均周转时间,作业调度算法应用例子2,两道批处理系统中最短作业优先作业算法计算结果,四个作业的执行时间序列为:
JOB1:
10:
0010:
05,10:
4011:
05JOB2:
10:
0510:
25JOB3:
10:
2510:
30JOB4:
10:
3010:
40,两道批处理系统中最短作业优先作业算法计算结果(续1),10:
00,JOB1进入,只有一作业,JOB1被调入执行10:
05,JOB2到达,最多允许两作业同时进入所以JOB2也被调入内存中有两作业,哪一个执行?
题目规定当一新作业运行后,可按作业运行时间长短调整执行次序即基于优先数可抢占式调度策略优先数是根据作业估计运行时间大小来决定的由于JOB2运行时间(20分)比JOB1少(到10:
05,JOB1还需25分钟)所以JOB2运行,而JOB1等待,两道批处理系统中最短作业优先作业算法分析过程,10:
10,JOB3到达输入井,内存已有两作业JOB3不能马上进入内存;10:
20,JOB4也不能进入内存10:
25,JOB2运行结束,退出,内存中剩下JOB1输入井中有两作业JOB3和JOB4,如何调度?
作业调度算法:
最短作业优先因此JOB3进入内存比较JOB1和JOB3运行时间JOB3运行时间短,故JOB3运行同样,JOB3退出后,下一个是JOB4JOB4结束后,JOB1才能继续运行,两道批处理系统中最短作业优先作业算法分析过程(续1),多道程序对平均周转时间的影响,作业流在多道环境下运行平均周转时间、带权平均周转时间比单道环境下都有明显改善不是任意作业组合都能改善调度性能有时甚至可能变坏,批处理作业的控制,当作业为执行态时,作业调度程序为其建立一作业控制进程,由该进程控制作业运行作业控制进程:
主要负责控制作业的运行,具体解释执行作业说明书的每一个作业步,并创建子进程来完成相应步骤一个作业步的处理:
(1)建立子进程
(2)为其申请资源(3)访问该作业的JCB(4)释放占有资源(5)撤消子进程等作业控制程序只有一个,对应每一处于执行状态的作业有一作业控制进程,第七章作业管理与OS接口,73命令接口,命令接口,命令接口在操作系统与计算机用户之间提供易于理解的双向通信机制基本任务:
解释命令,传送命令以便执行接受系统信息,提交给用户交互式命令的接口复杂:
含功能结构,可能问题的处理,如各种约定、前端处理、命令日志、命令注解、宏命令及命令组等交互式控制灵活方便,可以随时进行各种处理,排除问题,方便调试;系统利用率低命令接口类型:
作业控制语言,键盘操作命令接口包括:
一组联机命令,终端处理程序,命令解释程序,终端处理程序,交互式命令接口用户同操作系统的通信是通过一个输入/输出装置来实现的I/O装置一般是显示终端通过键盘或鼠标输入,系统输入呈现在显示屏幕上,一次显示若干正文行,某些系统中,提供图形显示功能不管哪种I/O方式,这个终端装置是由一个终端处理程序来管理和控制的。
终端处理程序提供的输入输出方式对整个用户命令接口有重大影响,也确定了用户与其应用程序之间的通信方式终端处理程序必须作为用户接口的一个组成部分来考虑,即,直接影响命令接口的一些问题须由终端处理程序解决,直接影响命令接口的一些问题,(a)回送显示(Echoing)(b)提前打入(Typeahead)(c)字符变换(d)行缓冲(e)中断字符(BreakCharacters),命令解释程序,命令解释程序有两种处理方法:
(a)由终端命令解释程序直接处理在没有创建子进程功能的系统中,终端命令通常由对应的命令解释程序处理(一个进程对应一个终端用户)(b)由子进程代为处理在具有创建子进程功能的系统中,对于较为单纯的命令,由命令解释程序直接处理对较复杂命令,如对于PASCAL源程序进行编译,命令解释程序本身不能处理,此时创建一个子进程,并由该子进程运行PASCAL编译程序,命令接口的结构,(a)作为OS的一个部分如,OS/MVT或VAX/VMS(b)作为OS的一个独特模块,能方便地修改或替换如,RT-11或CP/M(c)作为一易于被替换的普通程序如,UNIX操作系统(d)在某些系统中,可能用专门设计的命令接口替代标准的命令接口如,多用户UNIX,用户可有不同命令接口,命令接口结构,命令语言,命令语言规定由OS执行的一系列操作在一般的命令语言中,用户通过打入称为命令行的一行指令来规定每一个动作每一命令行以命令开始,它标识所要执行的操作大多数命令是用运行一个程序来执行所请求的操作命令的附加功能(参数与变量,通配符,重定向,管道与过滤器等)命令结构:
(命令前缀)命令名(命令参数)(命令选项),
(1)系统访问命令登录命令,如,login等撤离命令,如,logout等
(2)文件管理命令(3)编辑、编译和执行命令(4)询问命令(5)操作员专用命令,命令语言的种类,
(1)UNIX系统:
whols-l
(2)DOS系统dirc:
(3)VAX/VMSrunmypro,典型命令实例,命令文件,提前写出命令并存入文件,称之为命令文件命令文件提供了一种把一系列命令组装成文件的方法,然后用文件名作为命令名执行另外一系列命令。
特点:
(1)接受参数、变量,宏变量替换
(2)允许嵌套形式调用其他命令文件(3)允许参数来自终端的命令文件本身(4)允许执行显示到终端、存入文件或送入打印机(5)允许命令加入注释(6)出错时允许用户干预(7)可把输入传给程序,可有循环、分支、转移等,交互式系统的历史与展望,六十年代中期:
问答式对话、文本菜单或命令语言,基于命令行界面的交互式系统七十、八十年代:
图形用户界面时代,形成WIMP标准,以窗口(windows)、图标(icon)、菜单(menu)、指点装置(pointingdevice)为基础的交互式系统,实际行动代替复杂语法多媒体界面是WIMP另一种风格,是单通道的未来的交互式系统必将是多通道的通过各种不同的人体通道,如语音、手势、身体语言等交互,大大提高交互的自然性和高效性遵循以人为中心的自然交互特点,实现人与系统的无障碍自然交互,交互式系统实例分时系统,分时系统中的用户控制作业的执行大致有四个阶段:
终端的连接用户登录控制作业执行用户退出,第七章作业管理与OS接口,74系统调用,系统调用概念,系统调用指系统为用户程序调用操作系统所提供的子程序。
它与一般的函数调用不同,系统调用是通过中断方式转向相应子程序的,它工作在核心态(即特权方式),而一般函数调用,仍仅在用户态下的地址转移。
系统调用,系统调用,是用户在程序中调用操作系统所提供的一些子功能这是特殊的过程调用,由特殊的机器指令实现这个指令还将系统转入管态系统调用是操作系统提供给编程人员的唯一接口,利用系统调用,动态请求和释放系统资源,完成与硬件相关的工作以及控制程序的执行等每个操作系统都提供几百种系统调用实际上系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的每种机器的机器指令集中都有一条系统调用指令(访管指令),系统调用方式(INT)与程序中一般的调用方式的相同点:
改变指令流程重复执行和公用改变指令流程后需要返回原处,系统调用与过程调用的相同点,系统调用与一般过程调用的区别,运行在不同的系统状态一般过程调用,其调用程序和被调用程序都运行在相同状态:
核心态或用户态系统调用:
调用程序在用户态,被调用程序在系统态状态的转换一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程通过软中断机制先由用户态转换为核心态在OS核心分析后,转向相应的系统调用处理子程序,同一程序中不包含被调用代码系统调用是动态调用,程序中不包含被调用代码,好处:
(1)用户程序长度缩短
(2)当OS升级时,调用方不必改变系统调用方式的调用地址和返回地址都是不固定的(系统调用指令中不包含调用地址,只包含功能号;系统调用返回指令中不包括返回地址,通过栈保存和弹出返回地址,系统调用返回地址不固定),系统调用与过程调用的区别(续),返回问题一般过程调用在被调用过程执行完后,回调用过程抢占式调度的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。
如果调用进程仍有最高优先级,则返回到调用进程执行否则,引起重新调度,让优先级最高的进程优先执行。
此时,系统把调用进程放入就绪队列嵌套调用系统调用也允许嵌套调用,即在一被调用过程执行期间,可再利用系统调用命令调用另一系统调用一般每个系统对嵌套调用的深度有限制,系统调用的返回与嵌套调用,系统调用的分类,将系统的功能分为两部分:
系统自身所需要的作为服务提供给用户的OS的系统调用:
进程控制类系统调用文件操作类系统调用进程通信类系统调用设备管理类系统调用信息维护类系统调用,“广义指令”和“虚处理机”,系统调用命令扩充机器指令,增强系统的功能,方便用户使用,称为“广义指令”。
“广义指令”和机器指令的不同:
机器指令是由硬件线路直接实现的“广义指令”由OS提供的多个子程序,软件实现的“虚处理机”:
从用户角度来看,“广义指令”,扩大了机器指令系统,增强了处理机功能,提供了一台功能更强,使用更方便的处理机,实现了处理机性能上的扩充,为了区别于真实的物理处理机,称它为“虚处理机”。
虚拟机,硬件:
CPU、内存、外设裸机:
没有配置任何软件的计算机虚拟机:
在逻辑上添加一层软件来扩充计算机功能,被改造后的计算机,除了基本硬件指令外,又增加了许多新的命令,这些指令和命令的集合称为扩充后的机器指令系统,从而形成了一台比原来机器性能更好、功能更强的计算机,这种经软件改造后的计算机称为虚拟机。
微机OS中的系统调用,一般外设的输入、输出的系统调用磁盘管理及磁盘输入、输出的系统调用磁盘文件管理的系统调用其它系统调用,系统调用过程,为执行系统调用命令作准备。
其主要工作是把用户程序的“现场”保留起来,并把系统调用命令的编号等参数放入约定的存储单元。
根据系统调用的编号,访问系统调用入口表,找到相应子程序的入口地址,然后转去执行。
系统调用命令执行完后的处理。
这包括恢复“现场”,并把系统调用的返回参数或参数区首址放入指定的通用寄存器中,以供用户程序使用。
必须为实现系统调用功能的子程序编造入口地址表每个入口地址与相应的系统程序名对应陷入处理程序把陷入指令包含功能号与入口地址表有关项对应,系统调用功能号驱动有关子程序执行在系统调用处理结束之后,用户程序需利用系统调用返回结果继续执行保护现场:
在进入系统调用处理之前,陷入处理机构还需保存处理机现场在系统调用处理结束之后,要恢复处理机现场,现场被保护在特定的内存区或寄存器中,系统调用过程(续),系统调用过程(续),作业的生活历程,第七章作业管理与OS接口,75UNIX系统调用,UNIX系统调用的类型,进程控制文件操纵进程间通信(通信软件包:
IPC)信息维护,进程控制,创建进程(fork)终止进程(exit)等待子进程结束(wait)执行一个文件(exec)获得进程ID获得用户ID进程暂停(pause),文件操纵,创建文件(creat)打开文件(open):
把文件属性从盘复制到内存关闭文件(close):
切断用户程序与该文件的通路读和写文件(read和write)连接和去连接(link和anlink),进程间通信,消息机制,用msgget建消息队列(成功)返回mssgid共享存贮机制:
利用shmget建立共享存贮区信号量机制:
允许将一组信号量形成一个信号量集,信息维护,设置和获得时间获得进程和子进程时间(times)设置文件访问和修改时间(utime)获得当前UNIX系统的名称(uname),被中断进程的环境保护,CPU环境保护:
应在用户空间提供系统调用所需的参数表,并将该参数表的地址送入R0寄存器。
AP和FP指针:
系统调用参数表指针AP是用于指示正在执行的系统调用所需参数表的地址,栈帧指针FP则是用于指示本次系统调用所保存的数据项。
系统调用陷入后需处理的问题,trap.C程序是一各处理各种陷入情况的C语言文件,共有12种陷入的处理要调用trap.C程序。
确定系统调用号,其调用形式为:
trap(usp,type,code,PC,PSL)参数传送:
参数传送是指由trap.C程序将系统调用参数表中的内容,从用户区传送到User结构的U.U-arg中,供系统调用处理程序使用。
系统调用陷入后需处理的问题(续),3.利用系统调用定义表转入相应的处理程序在UNIX系统中,对于不同(编号)的系统调用,都设置了与之相应的处理子程序。
4.系统调用返回前的公共处理在UNIX系统中,进程调度的主要依据,是进程的动态优先级。
随着进程执行时间加长,其优先级将逐步降低。
UNIX系统规定,当进程的运行是处于系统态时,即使再有其他进程又发来了信号,也不予理睬;仅当进程已从系统态返回到用户态时,内核才检查该进程是否已收到了由其他进程发来的信号。
TheEnd,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作业 管理 OS 接口