[精选]操作系统教程(第二版)第3章 用户接口与作业管理5294.pptx
《[精选]操作系统教程(第二版)第3章 用户接口与作业管理5294.pptx》由会员分享,可在线阅读,更多相关《[精选]操作系统教程(第二版)第3章 用户接口与作业管理5294.pptx(105页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第三章第三章 用户接口与作业管理用户接口与作业管理1.作业级接口作业级接口 操作系统为用户对作业运行全过程控制提供的功能操作系统为用户对作业运行全过程控制提供的功能(1)联机接口(交互式)联机接口(交互式)(2)脱机接口脱机接口一、用户与操作系统的接口一、用户与操作系统的接口n作业级接口作业级接口n程序级接口程序级接口系统为用户在程序一级提供有关服务而设置系统为用户在程序一级提供有关服务而设置由一组系统调用命令组成由一组系统调用命令组成n负责管理和控制运行的程序负责管理和控制运行的程序n并在这些程序与系统控制的资源和提供的服务间实并在这些程序与系统控制的资源和提供的服务间实现交互作用现交互作用
2、n用汇编语言:在程序中直接用系统调用命令用汇编语言:在程序中直接用系统调用命令n用高级语言:可在编程时使用过程调用语句用高级语言:可在编程时使用过程调用语句2.程序级接口程序级接口二、批处理系统作业处理二、批处理系统作业处理1.1.作业的基本概念作业的基本概念(1 1)作业)作业 用户在一次计算过程中,或者一次事务处理过程中,要求计用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称算机系统所做工作的总称(2 2)作业步)作业步 一个作业可划分成若干部分,称为一个作业步一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程:典型的作业控制过程:“编译编译”、“连接装
3、配连接装配”、“运行运行”(3 3)作业流)作业流(4 4)典型的作业步)典型的作业步编译编译连接装配连接装配运行运行目标目标程序程序段段目标目标程序程序源程序源程序输入数据输入数据子程序子程序库函数库函数动态库函数动态库函数计算结果计算结果1.1.作业的基本概念作业的基本概念(续续1)1)2.批处理作业控制语言与作业说明书批处理作业控制语言与作业说明书(1 1)作业控制语言)作业控制语言n用户用于描述批处理作业处理过程控制意图的用户用于描述批处理作业处理过程控制意图的一种特殊程序一种特殊程序n书写作业说明书的语言称为作业控制语言书写作业说明书的语言称为作业控制语言(JCLJCL)(2)作业控
4、制语言的类别)作业控制语言的类别 包括:包括:I/OI/O命令、编译命令、操作命令以及命令、编译命令、操作命令以及条件命令等条件命令等(3)作业说明书)作业说明书表达用户对作业的控制意图表达用户对作业的控制意图内容:内容:n作业的基本描述作业的基本描述n作业控制描述作业控制描述n资源要求描述资源要求描述2.批处理作业控制语言与作业说明书批处理作业控制语言与作业说明书(续续)3.作业控制块与作业表作业控制块与作业表(1)作业控制块()作业控制块(JCB:Job Control Block)n作业控制块是批处理作业存在的标志作业控制块是批处理作业存在的标志n保存有系统对于作业进行管理所需要的全部信
5、保存有系统对于作业进行管理所需要的全部信息息n位于磁盘区域中位于磁盘区域中(2)作业控制块的内容)作业控制块的内容 作业控制块中所包含的信息数量及内容因作业控制块中所包含的信息数量及内容因系统而异系统而异n较简单的系统较简单的系统n较复杂的系统较复杂的系统 3.作业控制块与作业表作业控制块与作业表(续续1)作业标知作业标知用户名称用户名称用户帐号用户帐号调度信息调度信息资源需求资源需求作业状态作业状态作业类别作业类别输入井地址输入井地址输出井地址输出井地址进入系统时间进入系统时间开始处理时间开始处理时间作业完成时间作业完成时间作业退出时间作业退出时间资源使用情况资源使用情况 作业控制块作业控制
6、块JCB3.作业控制块与作业表作业控制块与作业表(续续2)(3 3)作业控制块的建立)作业控制块的建立 当作业开始由输入设备向磁盘的输入井传输时当作业开始由输入设备向磁盘的输入井传输时 系统输入程序为其建立一个作业控制块系统输入程序为其建立一个作业控制块 进行初始化进行初始化 初始化的大部分信息取自作业说明书初始化的大部分信息取自作业说明书 3.作业控制块与作业表作业控制块与作业表(续续3)(4)作业控制块的使用)作业控制块的使用需要访问作业控制块的程序需要访问作业控制块的程序n系统输入程序系统输入程序n作业调度程序作业调度程序n作业控制程序作业控制程序n系统输出程序等系统输出程序等3.作业控
7、制块与作业表作业控制块与作业表(续续4)(5 5)作业控制块的撤消)作业控制块的撤消作业完成后,其作业控制块由系统输出程序撤消作业完成后,其作业控制块由系统输出程序撤消作业控制块被撤消后其作业也不复存在作业控制块被撤消后其作业也不复存在3.作业控制块与作业表作业控制块与作业表(续续5)(6)作业表)作业表每个作业有个作业控制块每个作业有个作业控制块n所有作业所有作业JCBJCB构成一个作业表构成一个作业表n作业表存放在外存固定区域中,长度是固定作业表存放在外存固定区域中,长度是固定n限制了系统所能同时容纳的作业数量限制了系统所能同时容纳的作业数量 系统输入程序、作业调度程序、系统输出程序都需要
8、访问系统输入程序、作业调度程序、系统输出程序都需要访问作业表作业表 因而存在互斥问题因而存在互斥问题JCB1 JCB2 JCBi JCBn 作业表作业表3.作业控制块与作业表作业控制块与作业表(续续6)4.批处理作业的状态及转换批处理作业的状态及转换一个作业从进入系统到运行结束一个作业从进入系统到运行结束经历四个不同的状态:经历四个不同的状态:“进入进入”“后备后备”“运行运行”“完成完成”作业和进程的状态转换图作业和进程的状态转换图数据数据进入状态进入状态退出状态退出状态后备状态后备状态运行状态运行状态作业控制进程作业控制进程 输入设备输入设备数据数据源程序源程序输出设备输出设备作业说作业说
9、明书明书输输入入井井运行运行等待等待就绪就绪输输出出井井输输入入程程序序输输出出程程序序作作业业调调度度进程进程调度调度4.批处理作业的状态及转换批处理作业的状态及转换(续续1)(1)运行状态的作业)运行状态的作业三种状态:三种状态:n就绪状态就绪状态n执行状态执行状态n阻塞状态阻塞状态4.批处理作业的状态及转换批处理作业的状态及转换(续续2)5.作业的建立作业的建立一个作业建立过程的两个子过程:一个作业建立过程的两个子过程:n作业的输入作业的输入nJCBJCB的建立的建立 作业控制块作业控制块JCBJCB和作业:一一对应关系和作业:一一对应关系(1)作业的输入)作业的输入 将作业程序、数据和
10、作业说明书从输入设备(例将作业程序、数据和作业说明书从输入设备(例如键盘)输入到外存,并形成初始信息如键盘)输入到外存,并形成初始信息作业输入方式作业输入方式n联机输入方式联机输入方式n脱机输入方式脱机输入方式nSPOOLingSPOOLing系统系统5.作业的建立作业的建立(续续1)联机输入方式联机输入方式n用户和系统通过交互会话来输入作业用户和系统通过交互会话来输入作业n外围设备直接和主机连接外围设备直接和主机连接 脱机输入方式脱机输入方式 为了解决单台设备联机输入时的为了解决单台设备联机输入时的CPU浪费问题浪费问题5.作业的建立作业的建立(续续2)(2)JCB的建立的建立在系统把作业信
11、息输入到输入井之后在系统把作业信息输入到输入井之后根据作业说明书和有关作业信息在外存的位置等根据作业说明书和有关作业信息在外存的位置等建立作业控制表建立作业控制表JCBJCBJCBJCB包含对作业进行管理所必须的信息包含对作业进行管理所必须的信息nJCBJCB表的数量是一个常数表的数量是一个常数n外存输入井的大小有限外存输入井的大小有限 只有在获得只有在获得JCBJCB表项和足够输入井空间后表项和足够输入井空间后作业才可能创建成功作业才可能创建成功5.作业的建立作业的建立(续续3)6.批处理作业的调度批处理作业的调度主要功能:主要功能:n审查系统能否满足用户作业的资源要求审查系统能否满足用户作
12、业的资源要求 只要通过调用相应的资源管理程序的有关部分只要通过调用相应的资源管理程序的有关部分 审核其表中是否能满足作业说明书中的要求即可审核其表中是否能满足作业说明书中的要求即可n按照一定的算法从输入井中的后备作业中选取作业按照一定的算法从输入井中的后备作业中选取作业 调度的关键在选择恰当的算法调度的关键在选择恰当的算法(1)调度算法评价)调度算法评价调度实质上是一个策略问题调度实质上是一个策略问题设定的目标往往是相互冲突的设定的目标往往是相互冲突的 目标:目标:n单位时间内运行尽可能多的作业单位时间内运行尽可能多的作业n使处理机尽可能保持使处理机尽可能保持“忙碌忙碌”n使各种使各种I/OI
13、/O设备得以充分利用设备得以充分利用n对所有的作业都是公平合理的对所有的作业都是公平合理的6.批处理作业的调度批处理作业的调度(续续1)要设计一个理想的调度算法是一件十分困难的事要设计一个理想的调度算法是一件十分困难的事在实际系统中,调度算法往往折衷考虑在实际系统中,调度算法往往折衷考虑设计调度算法时应考虑的因素:设计调度算法时应考虑的因素:n调度算法应与系统设计目标保持一致调度算法应与系统设计目标保持一致n注意系统资源均衡使用注意系统资源均衡使用n保证提交的作业在截止时间内完成保证提交的作业在截止时间内完成n设法缩短作业平均周转时间设法缩短作业平均周转时间大多数操作系统都采用比较简单的调度算
14、法大多数操作系统都采用比较简单的调度算法6.批处理作业的调度批处理作业的调度(续续2)作业平均周转时间作业平均周转时间假定某一作业进入假定某一作业进入“输入井输入井”的时间为的时间为Si(Si(提交时间,到提交时间,到达时间),它被选中执行,得到计算结果的时间为达时间),它被选中执行,得到计算结果的时间为EiEi(完成时间)它的周转时间为(完成时间)它的周转时间为Ti Ti Ei Ei Si Si 则作业平均周转时间为:则作业平均周转时间为:T T()n n为被测定作业流中的作业数为被测定作业流中的作业数(2)调度算法性能的衡量)调度算法性能的衡量6.批处理作业的调度批处理作业的调度(续续3)
15、平均带权周转时间平均带权周转时间 带权周转时间带权周转时间W WT/r=T/r=周转时间周转时间/运行时间运行时间 W W()ri ri 为某作业为某作业i i的实际执行时间的实际执行时间n T:衡量不同调度算法对同一个作业流的性能:衡量不同调度算法对同一个作业流的性能n W:同一调度算法对不同作业流的性能衡量:同一调度算法对不同作业流的性能衡量 6.批处理作业的调度批处理作业的调度(续续4)(3)系统进行作业调度的决策因素)系统进行作业调度的决策因素n作业到达时间作业到达时间n预先为作业确定的优先级预先为作业确定的优先级系统可测定的其他因素:系统可测定的其他因素:n作业所需的作业所需的CPU
16、CPU时间时间C Cn存储要求存储要求M Mn打印输出的行数打印输出的行数L Ln其他的资源要求其他的资源要求6.批处理作业的调度批处理作业的调度(续续5)(4)常见的批处理作业调度算法)常见的批处理作业调度算法n先来先服务算法(先来先服务算法(FCFS:First Come First Serve)n最短作业优先算法(最短作业优先算法(SJF:Shortest Job First)n最高响应比优先算法最高响应比优先算法 (HRN:Highest Response Ratio Next)响应比响应比响应比响应比R=R=作业周转时间作业周转时间作业周转时间作业周转时间 /作业处理时间作业处理时间
17、作业处理时间作业处理时间 =(作业处理时间(作业处理时间(作业处理时间(作业处理时间+作业等待时间)作业等待时间)作业等待时间)作业等待时间)/作业处理时间作业处理时间作业处理时间作业处理时间 =1+=1+(作业等待时间(作业等待时间(作业等待时间(作业等待时间 /作业处理时间)作业处理时间)作业处理时间)作业处理时间)6.批处理作业的调度批处理作业的调度(续续6)n基于优先数调度算法基于优先数调度算法 (HPF:Highest Priority First)(a)由用户规定优先数(外部优先数)由用户规定优先数(外部优先数)用户提交作业时,根据急迫程度规定适当的优先数用户提交作业时,根据急迫程
18、度规定适当的优先数 作业调度程序根据作业调度程序根据JCB优先数决定进入内存的次序优先数决定进入内存的次序 (b)由系统计算优先数(内部优先数)由系统计算优先数(内部优先数)例:可按如下公式计算作业的优先数:例:可按如下公式计算作业的优先数:优先数优先数 =用户规定优先数用户规定优先数 作业处理时间作业处理时间 +作业等待时间作业等待时间 输出量输出量6.批处理作业的调度批处理作业的调度(续续7)n均衡调度算法均衡调度算法(分类排队算法分类排队算法)基本思想:基本思想:n根据系统运行情况和作业属性将作业分类根据系统运行情况和作业属性将作业分类n轮流从不同的作业类中挑选作业轮流从不同的作业类中挑
19、选作业目标:目标:n力求均衡地利用各种系统资源,发挥资源使用效率力求均衡地利用各种系统资源,发挥资源使用效率n力求使用户满意力求使用户满意6.批处理作业的调度批处理作业的调度(续续8)例例1 1:将待处理作业分成如下队列:将待处理作业分成如下队列:队列队列1 1:计算量大的作业:计算量大的作业 队列队列2 2:I/OI/O量大的作业量大的作业 队列队列3 3:计算量与:计算量与I/OI/O量均衡的作业量均衡的作业n调度时,在三个队列中各取一些作业调度时,在三个队列中各取一些作业在内存中的作业有的使用处理机在内存中的作业有的使用处理机有的使用外部设备有的使用外部设备n使得系统的各种资源能得到充分
20、利用使得系统的各种资源能得到充分利用6.批处理作业的调度批处理作业的调度(续续9)例例2 2:将待处理作业分成如下三个队列:将待处理作业分成如下三个队列:队列队列1 1:长作业:长作业 队列队列2 2:中等长度作业:中等长度作业 队列队列3 3:短作业:短作业n调度时调度时取队列取队列1 1一作业,队列一作业,队列2 2一作业,队列一作业,队列3 3一作业一作业n长作业用户和短作业用户均比较满意长作业用户和短作业用户均比较满意6.批处理作业的调度批处理作业的调度(续续10)(5)作业调度算法应用例子)作业调度算法应用例子1n假设在单道批处理环境下有四个作业,已知它们进入假设在单道批处理环境下有
21、四个作业,已知它们进入系统的时间、估计运行时间系统的时间、估计运行时间 应用先来先服务、最短作业优先和最高响应比优先作应用先来先服务、最短作业优先和最高响应比优先作业调度算法,分别计算出作业的平均周转时间和带权业调度算法,分别计算出作业的平均周转时间和带权的平均周转时间的平均周转时间6.批处理作业的调度批处理作业的调度(续续11)先来先服务调度算法计算结果先来先服务调度算法计算结果6.批处理作业的调度批处理作业的调度(续续12)最短作业优先作业算法计算结果最短作业优先作业算法计算结果6.批处理作业的调度批处理作业的调度(续续13)最高响应比优先作业算法计算结果最高响应比优先作业算法计算结果6.
22、批处理作业的调度批处理作业的调度(续续14)(7)多道程序对平均周转时间的影响)多道程序对平均周转时间的影响作业流在多道环境下运行作业流在多道环境下运行n平均周转时间、带权平均周转时间平均周转时间、带权平均周转时间 比单道环境下都有明显改善比单道环境下都有明显改善n不是任意作业组合都能改善调度性能不是任意作业组合都能改善调度性能 有时甚至可能变坏有时甚至可能变坏6.批处理作业的调度批处理作业的调度(续续15)例:四个各需两小时作业同时投入运行,例:四个各需两小时作业同时投入运行,I/OI/O等待时间均占等待时间均占25%25%,即占,即占CPUCPU时间各为时间各为1.51.5小时小时根据计算
23、公式,根据计算公式,CPUCPU的空转率为的空转率为0 0采用简单轮转法调度,每小时各作业分别占用采用简单轮转法调度,每小时各作业分别占用25%25%的的CPUCPU时间,时间,算得该作业组合的平均周转时间约为算得该作业组合的平均周转时间约为6 6小时,而平均带权周小时,而平均带权周转时间约为转时间约为3 3但是,若以单道程序方式运行:但是,若以单道程序方式运行:n平均周转时间平均周转时间T=T=(2+4+6+82+4+6+8)/4=5/4=5小时小时n平均带权周转时间平均带权周转时间W=W=(1+2+3+41+2+3+4)/4=2.5/4=2.56.批处理作业的调度批处理作业的调度(续续16
24、)7作业调度与进程调度作业调度与进程调度作业能否占用处理器?什么时间能够占用处理器?作业能否占用处理器?什么时间能够占用处理器?由进程调度来决定由进程调度来决定进程的初始状态为就绪状态进程的初始状态为就绪状态进程调度选择当前可占用进程调度选择当前可占用 CPU处理进程,当它让出处理器时,处理进程,当它让出处理器时,进程调度就再选另一作业的进程进程调度就再选另一作业的进程作业调度与进程调度相互配合,实现作业的并行作业调度与进程调度相互配合,实现作业的并行8.批处理作业的控制批处理作业的控制n当作业为执行态时,作业调度程序为其建立一作业控当作业为执行态时,作业调度程序为其建立一作业控制进程制进程,
25、由该进程控制作业运行由该进程控制作业运行n作业控制进程:主要负责控制作业的运行,具体解释作业控制进程:主要负责控制作业的运行,具体解释执行作业说明书的每一个作业步,并创建子进程来完执行作业说明书的每一个作业步,并创建子进程来完成相应步骤成相应步骤n一个作业步的处理:一个作业步的处理:(1 1)建立子进程)建立子进程(2 2)为其申请资源)为其申请资源(3 3)访问该作业的)访问该作业的JCBJCB(4 4)释放占有资源)释放占有资源(5 5)撤消子进程等)撤消子进程等n作业控制程序只有一个作业控制程序只有一个 对应每一处于执行状态的作业有一作业控制进程对应每一处于执行状态的作业有一作业控制进程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 精选操作系统教程第二版第3章 用户接口与作业管理5294 操作系统 教程 第二 用户 接口 作业 管理 5294
限制150内