《作业管理与OS接口》PPT课件.ppt_第1页
《作业管理与OS接口》PPT课件.ppt_第2页
《作业管理与OS接口》PPT课件.ppt_第3页
《作业管理与OS接口》PPT课件.ppt_第4页
《作业管理与OS接口》PPT课件.ppt_第5页
已阅读5页,还剩85页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章 作业管理与OS接口,第七章 作业管理与OS接口,7.1 概 述 7.2 批处理OS的作业管理 7.3 命令接口 7.4 系统调用 7.5 UNIX系统调用,第七章 作业管理与OS接口,71 概 述,程序的启动,程序开始执行时必须满足两个前提条件: 程序已装入内存 程序计数器PC中已置入该程序在内存的入口地址,五种启动程序执行的方式,第一种方式:命令方式 第二种方式:批处理方式 第三种方式:EXEC方式 第四种方式:由硬件装入程序和启动 程序执行 第五种方式:自启程序,开机,命令提示符出现,打入命令,打回车,程序首指令执行,程序尾指令执行,下一个命令提示符出现 (在前一个命令提示符的下一行首),第一种方式:命令方式,第二种方式:批处理方式,.BAT 文件 例子:启动中文环境需要多条命令: 装入字库 启动主程序 装入汉字输入法 AUTOEXEC.BAT,以命令方式启动执行批文件,操作系统调入批文件,读进其中第一条命令,装入并启动该命令要执行的程序,该程序执行完毕,回到操作系统, 操作系统从该批文件中读下一条命令,批方式下的装入启动过程,第三种方式: EXEC方式,在一个程序中运行另一个程序 返回原来的程序,“父”程序执行exec调用,操作系统实现exec的装入(建立进程)、 启动(或转调度子程序或返回),“子”程序执行,回到操作系统,进行子程序结果处理工作,并将结果信息返回“父”程序,“父”程序继续执行,EXEC方式的过程,执行完毕,第四种方式:由硬件装入程序和启动程序执行 第五种方式:自启程序 自己装入自己,并启动自己开始执行的程序 自启程序由两部分组成 引导程序和程序主体,用户程序存放在外存上,其自含的引导程序顺序放在存储介质的开始位置,将该存储介质放到相应的联机输入装置上,以某种硬操作方法通知计算机需执行自启程序,硬件将上述引导程序读入内存并将控制权传给它,引导程序将用户主体程序读入内存并将控制权传给它,自启程序装入与启动的过程,引导程序,程序的结束,正常结束:程序按自身的逻辑有效地完成预定功能后结束 (a)返回父程序并回送结果信息。 (b)释放所用资源(空间、设备),记录使用情况,记帐等 异常结束:发生了某些错误而导致程序在没有完成预定功能时提前结束,基本概念,程序接口(program interface) 指由用户程序和操作系统之间的接口。用户程序可通过该接口取得操作系统的服务。该接口主要由一组系统调用组成。 命令接口(command interface) 用户与操作系统之间的接口,用户通过该接口直接或间接控制作业的运行,包括直接键入或作业说明书中,发出的一组命令。也就是用户接口,又可分成联机用户接口与脱机用户接口两种。,作业级接口(命令接口),操作系统为用户对作业运行全过程控制提供的功能。 (1) 联机接口(交互式)(操作命令) (2) 脱机接口(作业控制语言) 程序级接口 系统为用户在程序一级提供有关服务而设置,用户与操作系统的接口,由一组系统调用命令组成 负责管理和控制运行的程序 并在这些程序与系统控制的资源和提供的服务间实现交互作用 用汇编语言:在程序中直接用系统调用命令 用高级语言:可在编程时使用过程调用语句,程序级接口,用户接口与OS间的关系图,第七章 作业管理与OS接口,72 批处理OS的作业管理,1. 作业的基本概念 作业 用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称 作业步 一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程: “编译”、“连接装配”、“运行”,72 批处理OS的作业管理,2. 典型的作业步,编辑(输入,修改)源程序,编译,连接,运行,成功,编辑(输入,修改)另一源程序,是,否,典型的作业步,一个作业,另一个作业,3. 批处理作业控制语言,用户用于描述批处理作业处理过程控制意图的一种特殊程序 书写作业说明书的语言称为作业控制语言(JCL) 作业控制语言的类别包括: I/O命令、编译命令、操作命令以及条件命令等,4. 作业说明书,表达用户对作业的控制意图 内容: 作业的基本描述 作业控制描述 资源要求描述,5. 作业控制块,作业控制块(JCB:Job Control Block)是批处理作业存在的标志其中保存有统对于作业进行管理所需要的全部信息,它们被保存于磁盘区域中。 当作业开始由输入设备向磁盘的输入井传输时,系统输入程序为其建立一个作业控制块,进行初始化,初始化的大部分信息取自作业说明书 需要访问作业控制块的程序:系统输入程序;作业调度程序;作业控制程序;系统输出程序等 作业控制块的撤消:作业完成后,其作业控制块由系统输出程序撤消,作业控制块被撤消后其作业也不复存在,作业控制块的内容,作业标知 用户名称 用户帐号 调度信息 资源需求 作业状态 作业类别 输入井地址 输出井地址 进入系统时间 开始处理时间 作业完成时间 作业退出时间 资源使用情况,6. 作业表(作业队列),每个作业有个作业控制块 所有作业JCB构成一个作业表 作业表存放在外存固定区域中,长度是固定 限制了系统所能同时容纳的作业数量 系统输入程序、作业调度程序、系统输出程序都需要访问作业表因而存在互斥问题,7. 批处理作业的状态及转换,一个作业从进入系统到运行结束经历四个不同的状态: “进入” “后备” “运行” “完成”,作业和进程的状态转换图,1) 作业的建立,一个作业建立过程的两个子过程: 作业的输入 JCB的建立 作业控制块JCB和作业:一一对应关系,2) 作业的输入方式,联机输入方式 脱机输入方式 直接耦合方式 SPOOLing系统,(1)联机输入方式,用户和系统通过交互会话来输入作业 外围设备直接和主机连接,(2)脱机输入方式 为了解决单台设备联机输入时的CPU浪费问题,3) 直接耦合系统,把主机和外围低档机通过一个公用的大容量外存直接耦合起来,8.SPOOLING系统示意图,JCB的建立,在系统把作业信息输入到输入井之后,根据作业说明书和有关作业信息在外存的位置等建立作业控制表JCB JCB包含对作业进行管理所必须的信息 只有在获得JCB表项和足够输入井空间后作业才可能创建成功,9. 批处理作业的调度,主要功能: 审查系统能否满足用户作业的资源要求 按照一定的算法从输入井中的后备作业中选取作业 调度的关键在选择恰当的算法,作业调度程序,作业调度程序的主要功能是审查系统能否满足用户作业的资源要求以及按照一定的算法选取作业。,10. 调度算法评价,目标: 单位时间内运行尽可能多的作业 使处理机尽可能保持“忙碌” 使各种I/O设备得以充分利用 对所有的作业都是公平合理的,调度算法应与系统设计目标保持一致 注意系统资源均衡使用 保证提交的作业在截止时间内完成 设法缩短作业平均周转时间,设计调度算法时应考虑的因素:,作业平均周转时间 平均带权周转时间,调度算法性能的衡量,11.常见的批处理作业调度算法,(1)先来先服务算法 (FCFS:First Come First Serve) (2)最短作业优先算法 (SJF:Shortest Job First) (3)最高响应比优先算法 (HRN:Highest Response Ratio Next) 响应比R = 作业周转时间 / 作业处理时间 =(作业处理时间 + 作业等待时间)/ 作业处理时间 = 1 +(作业等待时间 / 作业处理时间) (4)基于优先数调度算法 (HPF:Highest Priority First) (5)均衡调度算法(分类排队算法),作业调度算法应用例子1,假设在单道批处理环境下有四个作业,已知它们进入系统的时间、估计运行时间,应用先来先服务、最短作业优先和最高响应比优先作业调度算法,分别计算出作业的平均周转时间和带权的平均周转时间。,先来先服务调度算法计算结果,最短作业优先作业算法计算结果,最高响应比优先作业算法计算结果,在两道环境下有四个作业,已知它们进入系统的时间、估计运行时间,系统采用短作业优先作业调度算法,作业被调度运行后不再退出,当一新作业投入运行后,可按照作业运行时间长短调整作业执行的次序。请给出这四个作业的执行时间序列,并计算出平均周转时间及带权平均周转时间,作业调度算法应用例子2,两道批处理系统中 最短作业优先作业算法计算结果,四个作业的执行时间序列为: JOB1:10:0010:05,10:4011:05 JOB2:10:0510:25 JOB3:10:2510:30 JOB4: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退出后,下一个是JOB4 JOB4结束后,JOB1才能继续运行,两道批处理系统中 最短作业优先作业算法分析过程(续1),多道程序对平均周转时间的影响,作业流在多道环境下运行 平均周转时间、带权平均周转时间 比单道环境下都有明显改善 不是任意作业组合都能改善调度性能有时甚至可能变坏,批处理作业的控制,当作业为执行态时,作业调度程序为其建立一作业控制进程, 由该进程控制作业运行 作业控制进程:主要负责控制作业的运行,具体解释执行作业说明书的每一个作业步,并创建子进程来完成相应步骤 一个作业步的处理: (1)建立子进程 (2)为其申请资源 (3)访问该作业的JCB (4)释放占有资源 (5)撤消子进程等 作业控制程序只有一个,对应每一处于执行状态的作业有一作业控制进程,第七章 作业管理与OS接口,73 命令接口,命令接口,命令接口在操作系统与计算机用户之间提供易于理解的双向通信机制 基本任务:解释命令,传送命令以便执行 接受系统信息,提交给用户 交互式命令的接口复杂:含功能结构,可能问题的处理,如各种约定、前端处理、命令日志、命令注解、宏命令及命令组等 交互式控制灵活方便,可以随时进行各种处理,排除问题,方便调试;系统利用率低 命令接口类型:作业控制语言, 键盘操作命令 接口包括:一组联机命令,终端处理程序,命令解释程序,终端处理程序,交互式命令接口用户同操作系统的通信是通过一个输入/输出装置来实现的 I/O装置一般是显示终端 通过键盘或鼠标输入,系统输入呈现在显示屏幕上,一次显示若干正文行,某些系统中,提供图形显示功能 不管哪种I/O方式,这个终端装置是由一个终端处理程序来管理和控制的。 终端处理程序提供的输入输出方式对整个用户命令接口有重大影响,也确定了用户与其应用程序之间的通信方式 终端处理程序必须作为用户接口的一个组成部分来考虑,即,直接影响命令接口的一些问题须由终端处理程序解决,直接影响命令接口的一些问题,(a)回送显示(Echoing) (b)提前打入(Type ahead) (c)字符变换 (d)行缓冲 (e)中断字符(Break Characters),命令解释程序,命令解释程序有两种处理方法: (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系统: who ls -l (2)DOS系统 dir c: (3)VAX/VMS run mypro,典型命令实例,命令文件,提前写出命令并存入文件,称之为命令文件 命令文件提供了一种把一系列命令组装成文件的方法,然后用文件名作为命令名执行另外一系列命令。 特点: (1)接受参数、变量,宏变量替换 (2)允许嵌套形式调用其他命令文件 (3)允许参数来自终端的命令文件本身 (4)允许执行显示到终端、存入文件或送入打印机 (5)允许命令加入注释 (6)出错时允许用户干预 (7)可把输入传给程序,可有循环、分支、转移等,交互式系统的历史与展望,六十年代中期:问答式对话、文本菜单或命令语言,基于命令行界面的交互式系统 七十、八十年代:图形用户界面时代,形成WIMP标准,以窗口(windows)、图标(icon)、菜单(menu)、指点装置(pointing device)为基础的交互式系统,实际行动代替复杂语法 多媒体界面是WIMP另一种风格,是单通道的 未来的交互式系统必将是多通道的 通过各种不同的人体通道,如语音、手势、身体语言等交互,大大提高交互的自然性和高效性 遵循以人为中心的自然交互特点,实现人与系统的无障碍自然交互,交互式系统实例分时系统,分时系统中的用户控制作业的执行大致有四个阶段: 终端的连接 用户登录 控制作业执行 用户退出,第七章 作业管理与OS接口,74 系统调用,系统调用概念,系统调用指系统为用户程序调用操作系统所提供的子程序。它与一般的函数调用不同,系统调用是通过中断方式转向相应子程序的,它工作在核心态(即特权方式),而一般函数调用,仍仅在用户态下的地址转移。,系统调用,系统调用,是用户在程序中调用操作系统所提供的一些子功能 这是特殊的过程调用,由特殊的机器指令实现这个指令还将系统转入管态 系统调用是操作系统提供给编程人员的唯一接口,利用系统调用,动态请求和释放系统资源,完成与硬件相关的工作以及控制程序的执行等 每个操作系统都提供几百种系统调用 实际上系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的 每种机器的机器指令集中都有一条系统调用指令(访管指令),系统调用方式(INT)与程序中一般的调用方式的相同点: 改变指令流程 重复执行和公用 改变指令流程后需要返回原处,系统调用与过程调用的相同点,系统调用与一般过程调用的区别,运行在不同的系统状态 一般过程调用,其调用程序和被调用程序都运行在相同状态:核心态或用户态 系统调用:调用程序在用户态,被调用程序在系统态 状态的转换 一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程 运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程 通过软中断机制先由用户态转换为核心态 在OS核心分析后,转向相应的系统调用处理子程序,同一程序中不包含被调用代码 系统调用是动态调用,程序中不包含被调用代码,好处: (1)用户程序长度缩短 (2)当OS升级时,调用方不必改变 系统调用方式的调用地址和返回地址都是不固定的(系统调用指令中不包含调用地址,只包含功能号;系统调用返回指令中不包括返回地址,通过栈保存和弹出返回地址,系统调用返回地址不固定),系统调用与过程调用的区别(续),返回问题 一般过程调用在被调用过程执行完后,回调用过程 抢占式调度的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。如果调用进程仍有最高优先级,则返回到调用进程执行 否则,引起重新调度,让优先级最高的进程优先执行。此时,系统把调用进程放入就绪队列 嵌套调用 系统调用也允许嵌套调用,即在一被调用过程执行期间,可再利用系统调用命令调用另一系统调用 一般每个系统对嵌套调用的深度有限制,系统调用的返回与嵌套调用,系统调用的分类,将系统的功能分为两部分: 系统自身所需要的 作为服务提供给用户的 OS的系统调用: 进程控制类系统调用 文件操作类系统调用 进程通信类系统调用 设备管理类系统调用 信息维护类系统调用,“广义指令”和“虚处理机”,系统调用命令扩充机器指令,增强系统的功能,方便用户使用, 称为“广义指令”。 “广义指令”和机器指令的不同: 机器指令是由硬件线路直接实现的 “广义指令”由OS提供的多个子程序,软件实现的 “虚处理机”:从用户角度来看,“广义指令”,扩大了机器指令系统,增强了处理机功能,提供了一台功能更强,使用更方便的处理机,实现了处理机性能上的扩充,为了区别于真实的物理处理机,称它为“虚处理机”。,虚拟机,硬件:CPU、内存、外设 裸机:没有配置任何软件的计算机 虚拟机:在逻辑上添加一层软件来扩充计算机功能,被改造后的计算机,除了基本硬件指令外,又增加了许多新的命令,这些指令和命令的集合称为扩充后的机器指令系统,从而形成了一台比原来机器性能更好、功能更强的计算机,这种经软件改造后的计算机称为虚拟机。,微机OS中的系统调用,一般外设的输入、输出的系统调用 磁盘管理及磁盘输入、输出的系统调用 磁盘文件管理的系统调用 其它系统调用,系统调用过程,为执行系统调用命令作准备。其主要工作是把用户程序的“现场”保留起来,并把系统调用命令的编号等参数放入约定的存储单元。 根据系统调用的编号,访问系统调用入口表,找到相应子程序的入口地址,然后转去执行。 系统调用命令执行完后的处理。这包括恢复“现场”,并把系统调用的返回参数或参数区首址放入指定的通用寄存器中,以供用户程序使用。,必须为实现系统调用功能的子程序编造入口地址表 每个入口地址与相应的系统程序名对应 陷入处理程序把陷入指令包含功能号与入口地址表有关项对应, 系统调用功能号驱动有关子程序执行 在系统调用处理结束之后,用户程序需利用系统调用返回结果继续执行 保护现场: 在进入系统调用处理之前,陷入处理机构还需保存处理机现场 在系统调用处理结束之后,要恢复处理机现场,现场被保护在特定的内存区或寄存器中,系统调用过程(续),系统调用过程(续),作业的生活历程,第七章 作业管理与OS接口,75 UNIX系统调用,UNIX系统调用的类型,进程控制 文件操纵 进程间通信(通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论