第6章用户接口与作业管理课件

上传人:494895****12427 文档编号:241018890 上传时间:2024-05-24 格式:PPT 页数:69 大小:381.11KB
返回 下载 相关 举报
第6章用户接口与作业管理课件_第1页
第1页 / 共69页
第6章用户接口与作业管理课件_第2页
第2页 / 共69页
第6章用户接口与作业管理课件_第3页
第3页 / 共69页
点击查看更多>>
资源描述
第第6章章 用户接口与作业管理用户接口与作业管理n用户与操作系统的接口用户与操作系统的接口n批处理系统的作业管理批处理系统的作业管理n交互式系统作业管理交互式系统作业管理1谢谢观赏2019-8-17第6章 用户接口与作业管理用户与操作系统的接口1谢谢观赏201、作业级接口、作业级接口 操作系统通过作业级接口为用户提供对作业运行操作系统通过作业级接口为用户提供对作业运行全过程控制的功能全过程控制的功能(1)联机接口(交互式)联机接口(交互式)(2)脱机接口脱机接口6.1 用户与操作系统的接口用户与操作系统的接口n作业级接口作业级接口n程序级接口程序级接口2谢谢观赏2019-8-171、作业级接口 操作系统通过作业级接口为用户提供对作业2.程序级接口程序级接口 操作系统为用户在程序一级提供有关服务操作系统为用户在程序一级提供有关服务而设置的由一组系统调用命令组成而设置的由一组系统调用命令组成n负责管理和控制运行的程序。负责管理和控制运行的程序。n并在这些并在这些程序程序与与系统控制的资源和提供的服务系统控制的资源和提供的服务之间实现之间实现交互作用。交互作用。n用汇编语言:在程序中直接用系统调用命令,用汇编语言:在程序中直接用系统调用命令,例如,例如,DOS中的软终端中的软终端INT 21H。n用高级语言:可在编程时使用过程调用语句。用高级语言:可在编程时使用过程调用语句。3谢谢观赏2019-8-172.程序级接口 操作系统为用户在程序一级6.2 批处理系统作业处理批处理系统作业处理1 1、作业的基本概念、作业的基本概念(1 1)作业)作业 用户在一次计算过程中,或者一次事务处理过程中,用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称要求计算机系统所做工作的总称(2 2)作业步)作业步 一个作业运行过程可划分成若干阶段,每一个阶段一个作业运行过程可划分成若干阶段,每一个阶段均称为一个作业步。均称为一个作业步。n典型的作业控制过程:典型的作业控制过程:“编译编译”、“连接装配连接装配”、“运行运行”等等。等等。4谢谢观赏2019-8-176.2 批处理系统作业处理1、作业的基本概念4谢谢观赏201(3)作业流:多个作业排队进行依次处理的)作业流:多个作业排队进行依次处理的集合。集合。(4 4)典型的作业步。)典型的作业步。编译编译连接装配连接装配运行运行目标目标程序程序段段目标目标程序程序源程序源程序输入数据输入数据子程序子程序库函数库函数动态库函数动态库函数计算结果计算结果5谢谢观赏2019-8-17(3)作业流:多个作业排队进行依次处理的集合。编译连接装配运2、批处理作业控制语言与作业说明书、批处理作业控制语言与作业说明书(1 1)作业控制语言)作业控制语言n作业说明书作业说明书-用户用于用户用于描述批处理作业处理描述批处理作业处理过程控制意图过程控制意图的一种特殊程序的一种特殊程序n作业控制语言作业控制语言-书写作业说明书的语言书写作业说明书的语言(JCLJCL)(2)作业控制语言的类型)作业控制语言的类型 包括:包括:I/OI/O命令、编译命令、操作命令以及命令、编译命令、操作命令以及条件命令等等。条件命令等等。6谢谢观赏2019-8-172、批处理作业控制语言与作业说明书6谢谢观赏2019-8-1(3)作业说明书)作业说明书表达用户对作业的控制意图内容:表达用户对作业的控制意图内容:n作业的基本描述作业的基本描述n作业控制描述作业控制描述n资源要求描述资源要求描述3、作业控制块(、作业控制块(JCB-Job Control Block)n作业控制块是批处理作业存在的标志作业控制块是批处理作业存在的标志n保存系统对于作业进行管理所需要的全部信息保存系统对于作业进行管理所需要的全部信息n位于磁盘区域中位于磁盘区域中7谢谢观赏2019-8-17(3)作业说明书7谢谢观赏2019-8-17(1)作业控制块的内容)作业控制块的内容n作业控制块中所包含的信息数量及内容因系统作业控制块中所包含的信息数量及内容因系统而异而异。n较简单的系统较简单的系统n较复杂的系统较复杂的系统 作业控制块的内容如下:作业控制块的内容如下:8谢谢观赏2019-8-17(1)作业控制块的内容8谢谢观赏2019-8-17作业标知作业标知用户名称用户名称用户帐号用户帐号调度信息调度信息资源需求资源需求作业状态作业状态作业类别作业类别输入井地址输入井地址输出井地址输出井地址进入系统时间进入系统时间开始处理时间开始处理时间作业完成时间作业完成时间作业退出时间作业退出时间资源使用情况资源使用情况 作业控制块作业控制块JCB9谢谢观赏2019-8-17作业标知 作业控制块JCB9谢谢观赏2019-8-17(3 3)作业控制块的建立)作业控制块的建立n当作业开始由输入设备向磁盘的输入井传输时当作业开始由输入设备向磁盘的输入井传输时系统输入程序系统输入程序为其建立一个作业控制块并进行为其建立一个作业控制块并进行初始化。初始化。n初始化的大部分信息取自作业说明书。初始化的大部分信息取自作业说明书。(4)作业控制块的使用)作业控制块的使用需要访问作业控制块的程序需要访问作业控制块的程序n系统输入程序系统输入程序n作业调度程序作业调度程序n作业控制程序作业控制程序n系统输出程序等系统输出程序等10谢谢观赏2019-8-17(3)作业控制块的建立10谢谢观赏2019-8-17(5 5)作业控制块的撤消)作业控制块的撤消n作业完成后,其作业控制块由作业完成后,其作业控制块由系统输出程序系统输出程序撤撤消。消。n作业控制块被撤消后其作业也不复存在。作业控制块被撤消后其作业也不复存在。(6)作业表)作业表n每个作业有个作业控制块每个作业有个作业控制块n所有作业所有作业JCBJCB构成一个作业表构成一个作业表n作业表存放在外存固定区域中,长度是固定作业表存放在外存固定区域中,长度是固定11谢谢观赏2019-8-17(5)作业控制块的撤消11谢谢观赏2019-8-17n限制了系统所能同时容纳的作业数量限制了系统所能同时容纳的作业数量n系统输入程序、作业调度程序、系统输出程序都需系统输入程序、作业调度程序、系统输出程序都需要访问作业表因而存在互斥问题要访问作业表因而存在互斥问题JCB1 JCB2 JCBi JCBn 作业表作业表12谢谢观赏2019-8-17限制了系统所能同时容纳的作业数量JCB1 JCB2 4、批处理作业的状态及转换批处理作业的状态及转换 一个作业从进入系统到运行结束经历四个一个作业从进入系统到运行结束经历四个不同的状态:不同的状态:“进入进入”“后备后备”“运行运行”“完成完成”13谢谢观赏2019-8-174、批处理作业的状态及转换13谢谢观赏2019-8-17作业和进程的状态转换图作业和进程的状态转换图数据数据进入状态进入状态退出状态退出状态后备状态后备状态运行状态运行状态作业控制进程作业控制进程 输入设备输入设备数据数据源程序源程序输出设备输出设备作业说作业说明书明书输输入入井井运行运行等待等待就绪就绪输输出出井井输输入入程程序序输输出出程程序序作作业业调调度度进程进程调度调度14谢谢观赏2019-8-17作业和进程的状态转换图数据进入状态退出状态后备状态运行状态作(1)运行状态的作业)运行状态的作业三种状态:三种状态:n就绪状态就绪状态n执行状态执行状态n等待状态等待状态15谢谢观赏2019-8-17(1)运行状态的作业15谢谢观赏2019-8-175、作业的建立、作业的建立一个作业建立过程的两个子过程:一个作业建立过程的两个子过程:n作业的输入作业的输入nJCBJCB的建立的建立n作业控制块作业控制块JCBJCB和作业:一一对应关系和作业:一一对应关系(1)作业的输入)作业的输入n将作业程序、数据和作业说明书从输入设备将作业程序、数据和作业说明书从输入设备(例如键盘)输入到外存,并形成初始信息。(例如键盘)输入到外存,并形成初始信息。n典型作业输入方式典型作业输入方式-SPOOLingSPOOLing系统系统16谢谢观赏2019-8-175、作业的建立16谢谢观赏2019-8-17(2)JCB的建立的建立n在系统把作业信息输入到输入井之后,根据在系统把作业信息输入到输入井之后,根据作业说明书和有关作业信息在外存的位置等作业说明书和有关作业信息在外存的位置等建立作业控制块建立作业控制块JCBJCB。nJCBJCB包含对作业进行管理所必须的信息。包含对作业进行管理所必须的信息。nJCBJCB表的数量是一个常数。表的数量是一个常数。n外存输入井的大小有限。外存输入井的大小有限。n只有在获得只有在获得JCBJCB表项和足够输入井空间后作业表项和足够输入井空间后作业才可能创建成功。才可能创建成功。17谢谢观赏2019-8-17(2)JCB的建立17谢谢观赏2019-8-176、批处理作业的调度、批处理作业的调度调度前工作:调度前工作:n审查系统能否满足用户作业的资源要求审查系统能否满足用户作业的资源要求n调用相应资源管理程序的有关部分来审核其表调用相应资源管理程序的有关部分来审核其表中是否能满足作业说明书中的要求即可中是否能满足作业说明书中的要求即可作业调度:作业调度:n按照一定的算法从输入井中的后备作业中选取按照一定的算法从输入井中的后备作业中选取作业将其投入内存运行。作业将其投入内存运行。n调度的关键在于选择恰当的算法调度的关键在于选择恰当的算法18谢谢观赏2019-8-176、批处理作业的调度18谢谢观赏2019-8-17(1)调度算法评价)调度算法评价n调度实质上是一个策略问题调度实质上是一个策略问题n设定的调度目标往往是设定的调度目标往往是相互冲突相互冲突的的调度目标调度目标:n单位时间内运行尽可能多的作业单位时间内运行尽可能多的作业n使处理机尽可能保持使处理机尽可能保持“忙碌忙碌”n使各种使各种I/OI/O设备得以充分利用设备得以充分利用n对所有的作业都是公平合理的对所有的作业都是公平合理的19谢谢观赏2019-8-17(1)调度算法评价19谢谢观赏2019-8-17n要设计一个理想的调度算法是一件十分困难要设计一个理想的调度算法是一件十分困难的事。的事。n在实际系统中,调度算法往往折衷考虑在实际系统中,调度算法往往折衷考虑设计调度算法时应考虑的因素:设计调度算法时应考虑的因素:n调度算法应与系统设计目标保持一致调度算法应与系统设计目标保持一致n注意系统资源均衡使用注意系统资源均衡使用n保证提交的作业在截止时间内完成保证提交的作业在截止时间内完成n缩短作业平均周转时间缩短作业平均周转时间n大多数操作系统都采用比较简单的调度算法大多数操作系统都采用比较简单的调度算法20谢谢观赏2019-8-17要设计一个理想的调度算法是一件十分困难的事。20谢谢观赏20(2)调度算法性能的衡量)调度算法性能的衡量作业平均周转时间作业平均周转时间n假定某一作业进入假定某一作业进入“输入井输入井”的时间为的时间为SiSin它被选中执行,得到计算结果的时间为它被选中执行,得到计算结果的时间为EiEin它的周转时间为它的周转时间为TiTiEiSiEiSin则作业平均周转时间为:则作业平均周转时间为:T T()n n为被测定作业流中的作业数为被测定作业流中的作业数21谢谢观赏2019-8-17(2)调度算法性能的衡量21谢谢观赏2019-8-17平均带权周转时间平均带权周转时间 W W()ri ri 为某作业为某作业i i的实际执行时间:的实际执行时间:n T:衡量不同调度算法对同一个作业流的性:衡量不同调度算法对同一个作业流的性能能n W:同一调度算法对不同作业流的性能衡:同一调度算法对不同作业流的性能衡量量 22谢谢观赏2019-8-17平均带权周转时间 T:衡量不同调度算法对同一个作业流的性能2(3)系统进行作业调度的决策因素)系统进行作业调度的决策因素n作业到达时间作业到达时间n预先为作业确定的优先级预先为作业确定的优先级系统可测定的其他因素:系统可测定的其他因素:n作业所需的作业所需的CPUCPU时间时间C Cn存储要求存储要求M Mn打印输出的行数打印输出的行数L Ln其他的资源要求其他的资源要求23谢谢观赏2019-8-17(3)系统进行作业调度的决策因素作业到达时间23谢谢观赏20(4)常见的批处理作业调度算法)常见的批处理作业调度算法n先来先服务算法(先来先服务算法(FCFS:First Come First Serve)n最短作业优先算法(最短作业优先算法(SJF:Shortest Job First)n最高响应比优先算法(最高响应比优先算法(HRN:Highest Response Ratio Next)响应比响应比响应比响应比R=R=作业周转时间作业周转时间作业周转时间作业周转时间 /作业处理时间作业处理时间作业处理时间作业处理时间=(作业处理时间(作业处理时间(作业处理时间(作业处理时间+作业等待时间)作业等待时间)作业等待时间)作业等待时间)/作业处理作业处理作业处理作业处理时间时间时间时间=1+=1+(作业等待时间(作业等待时间(作业等待时间(作业等待时间 /作业处理时间)作业处理时间)作业处理时间)作业处理时间)24谢谢观赏2019-8-17(4)常见的批处理作业调度算法24谢谢观赏2019-8-17n基于优先数调度算法基于优先数调度算法 (HPF:Highest Priority First)(a)由用户规定优先数(外部优先数)由用户规定优先数(外部优先数)用户提交作业时,根据急迫程度规定适当的优用户提交作业时,根据急迫程度规定适当的优先数,作业调度程序根据先数,作业调度程序根据JCB优先数决定进入优先数决定进入内存的次序内存的次序 (b)由系统计算优先数(内部优先数)由系统计算优先数(内部优先数)例:可按如下公式计算作业的优先数:例:可按如下公式计算作业的优先数:优先数优先数 =用户规定优先数用户规定优先数 作业处理时间作业处理时间 +作业等待时间作业等待时间 输出量输出量25谢谢观赏2019-8-17基于优先数调度算法25谢谢观赏2019-8-17n均衡调度算法均衡调度算法(分类排队算法分类排队算法)基本思想:基本思想:n根据系统运行情况和作业属性将作业分类根据系统运行情况和作业属性将作业分类n轮流从不同的作业类中挑选作业轮流从不同的作业类中挑选作业目标:目标:n力求均衡地利用各种系统资源,发挥资源使用力求均衡地利用各种系统资源,发挥资源使用效率效率n力求使用户满意力求使用户满意26谢谢观赏2019-8-17均衡调度算法(分类排队算法)26谢谢观赏2019-8-17例例1 1:将待处理作业分成如下队列:将待处理作业分成如下队列:队列队列1 1:计算量大的作业:计算量大的作业 队列队列2 2:I/OI/O量大的作业量大的作业 队列队列3 3:计算量与:计算量与I/OI/O量均衡的作业量均衡的作业n调度时,在三个队列中各取一些作业调度时,在三个队列中各取一些作业在内存中的作业有的使用处理机在内存中的作业有的使用处理机,有的使用外部有的使用外部设备设备n使得系统的各种资源能得到充分利用。使得系统的各种资源能得到充分利用。例例2 2:将待处理作业分成如下三个队列:将待处理作业分成如下三个队列:队列队列1 1:长作业:长作业27谢谢观赏2019-8-17例1:将待处理作业分成如下队列:27谢谢观赏2019-8-1 队列队列2 2:中等长度作业:中等长度作业 队列队列3 3:短作业:短作业n调度时取队列调度时取队列1 1一作业,队列一作业,队列2 2一作业,队列一作业,队列3 3一作业一作业n长作业用户和短作业用户均比较满意长作业用户和短作业用户均比较满意(5)作业调度算法应用例子)作业调度算法应用例子1:n假设在单道批处理环境下有四个作业,已知它假设在单道批处理环境下有四个作业,已知它们进入系统的时间、估计运行时间。们进入系统的时间、估计运行时间。n应用先来先服务、最短作业优先和最高响应比应用先来先服务、最短作业优先和最高响应比优先作业调度算法,分别计算出作业的平均周优先作业调度算法,分别计算出作业的平均周转时间和带权的平均周转时间。转时间和带权的平均周转时间。28谢谢观赏2019-8-17 队列2:中等长度作业28谢谢观赏2019-8-17先来先服务调度算法计算结果先来先服务调度算法计算结果29谢谢观赏2019-8-17先来先服务调度算法计算结果29谢谢观赏2019-8-17最短作业优先作业算法计算结果最短作业优先作业算法计算结果30谢谢观赏2019-8-17最短作业优先作业算法计算结果30谢谢观赏2019-8-17最高响应比优先作业算法计算结果最高响应比优先作业算法计算结果31谢谢观赏2019-8-17最高响应比优先作业算法计算结果31谢谢观赏2019-8-17n在两道环境下有四个作业在两道环境下有四个作业n已知它们进入系统的时间、估计运行时间已知它们进入系统的时间、估计运行时间n系统采用短作业优先作业调度算法,作业被调系统采用短作业优先作业调度算法,作业被调度运行后不再退出度运行后不再退出n当一新作业投入运行后,可按照作业运行时间当一新作业投入运行后,可按照作业运行时间长短调整作业执行的次序长短调整作业执行的次序请给出这四个作业的执行时间序列,并计算出平请给出这四个作业的执行时间序列,并计算出平均周转时间及带权平均周转时间均周转时间及带权平均周转时间(6)作业调度算法应用例子)作业调度算法应用例子232谢谢观赏2019-8-17在两道环境下有四个作业(6)作业调度算法应用例子232谢谢观两道批处理系统中两道批处理系统中最短作业优先作业算法计算结果最短作业优先作业算法计算结果33谢谢观赏2019-8-17两道批处理系统中最短作业优先作业算法计算结果33谢谢观赏2四个作业的执行时间序列为:四个作业的执行时间序列为:JOB1JOB1:1010:00001010:0505,1010:40401111:0505JOB2JOB2:1010:05051010:2525JOB3JOB3:1010:25251010:3030JOB4JOB4:1010:30301010:4040两道批处理系统中两道批处理系统中最短作业优先作业算法计算结果最短作业优先作业算法计算结果34谢谢观赏2019-8-17四个作业的执行时间序列为:两道批处理系统中最短作业优先作业n1010:0000,JOB1JOB1进入,只有一作业,进入,只有一作业,JOB1JOB1被调入执被调入执行。行。n1010:0505,JOB2JOB2到达,最多允许两作业同时进入,到达,最多允许两作业同时进入,所以所以JOB2JOB2也被调入。也被调入。n内存中有两作业,哪一个执行?规定当一新作业内存中有两作业,哪一个执行?规定当一新作业运行后,可按作业运行时间长短调整执行次序。运行后,可按作业运行时间长短调整执行次序。由于由于JOB2JOB2运行时间(运行时间(2020分)比分)比JOB1JOB1少(到少(到1010:0505,JOB1JOB1还需还需2525分钟)所以,分钟)所以,JOB2JOB2先开始运行,先开始运行,而而JOB1JOB1必须等待。必须等待。两道批处理系统中最短作业优先作业两道批处理系统中最短作业优先作业算法分析过程算法分析过程35谢谢观赏2019-8-1710:00,JOB1进入,只有一作业,JOB1被调入执行。两n1010:1010,JOB3JOB3到达输入井,内存已有两作业,到达输入井,内存已有两作业,JOB3JOB3不能马上进入内存;不能马上进入内存;n1010:2020,JOB4JOB4也不能进入内存也不能进入内存n1010:2525,JOB2JOB2运行结束退出,内存中剩下运行结束退出,内存中剩下JOB1JOB1,输入井中有两作业输入井中有两作业JOB3JOB3和和JOB4JOB4,如何调度?,如何调度?n作业调度算法:最短作业优先,所以,作业调度算法:最短作业优先,所以,JOB3JOB3进入进入内存,比较内存,比较JOB1JOB1和和JOB3JOB3运行时间,运行时间,JOB3JOB3运行时间运行时间短,故短,故JOB3JOB3运行,同样,运行,同样,JOB3JOB3退出后,退出后,JOB4JOB4进入进入内存,内存,JOB4JOB4的运行时间为的运行时间为1010,而,而JOB1JOB1剩余时间为剩余时间为2525,短作业优先,短作业优先,JOB4JOB4先运行,先运行,JOB4JOB4结束后,结束后,JOB1JOB1才能继续运行。才能继续运行。36谢谢观赏2019-8-1710:10,JOB3到达输入井,内存已有两作业,JOB3不能(7)多道程序对平均周转时间的影响)多道程序对平均周转时间的影响作业流在多道环境下运行时:作业流在多道环境下运行时:n平均周转时间、带权平均周转时间比单道环平均周转时间、带权平均周转时间比单道环境下均有明显改善。境下均有明显改善。n不是任意作业组合都能改善调度性能有时甚不是任意作业组合都能改善调度性能有时甚至可能变坏。至可能变坏。例:四个各需两小时作业同时投入运行,例:四个各需两小时作业同时投入运行,I/OI/O等等待时间均占待时间均占25%25%,即占,即占CPUCPU时间各为时间各为1.51.5小时。小时。37谢谢观赏2019-8-17(7)多道程序对平均周转时间的影响作业流在多道环境下运行时:根据计算公式,根据计算公式,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.5n多道程序比单道程序的平均周转率要差一些。多道程序比单道程序的平均周转率要差一些。38谢谢观赏2019-8-17 根据计算公式,CPU的空转率为0。采用简单轮转法调度,每7、作业调度与进程调度、作业调度与进程调度n作业能否占用处理器?什么时间能够占用处理器作业能否占用处理器?什么时间能够占用处理器?由进程调度来决定,进程的初始状态为就绪状?由进程调度来决定,进程的初始状态为就绪状态。态。n进程调度选择当前可占用进程调度选择当前可占用 CPU处理进程,当它让处理进程,当它让出处理器时,进程调度就再选另一作业的进程,出处理器时,进程调度就再选另一作业的进程,作业调度与进程调度相互配合,实现作业的并行。作业调度与进程调度相互配合,实现作业的并行。39谢谢观赏2019-8-177、作业调度与进程调度39谢谢观赏2019-8-178、批处理作业的控制、批处理作业的控制n当作业为执行态时,作业调度程序为其建立一作业控当作业为执行态时,作业调度程序为其建立一作业控制进程制进程,由该进程控制作业运行由该进程控制作业运行n作业控制进程:主要负责控制作业的运行,具体解释作业控制进程:主要负责控制作业的运行,具体解释执行作业说明书的每一个作业步,并创建子进程来完执行作业说明书的每一个作业步,并创建子进程来完成相应步骤成相应步骤n一个作业步的处理:一个作业步的处理:(1 1)建立子进程)建立子进程(2 2)为其申请资源)为其申请资源(3 3)访问该作业的)访问该作业的JCBJCB(4 4)释放占有资源)释放占有资源(5 5)撤消子进程等)撤消子进程等n作业控制程序只有一个作业控制程序只有一个 对应每一处于执行状态的作业有一作业控制进程对应每一处于执行状态的作业有一作业控制进程40谢谢观赏2019-8-178、批处理作业的控制当作业为执行态时,作业调度程序为其建立一9、作业退出、作业退出把把输输出出结结果果送送到到输输出出设设备备上上(启启动动缓缓输输出出进进程程完成)完成)回收各种资源回收各种资源41谢谢观赏2019-8-179、作业退出41谢谢观赏2019-8-1710、SPOOLing系统工作原理系统工作原理全称:全称:Simultaneous Peripheral Operations Simultaneous Peripheral Operations On-LineOn-Line含义:含义:同时的外围设备联机操作(假脱机技术)同时的外围设备联机操作(假脱机技术)包括:包括:n输入程序模块输入程序模块n输出程序模块输出程序模块n作业调度程序作业调度程序42谢谢观赏2019-8-1710、SPOOLing系统工作原理42谢谢观赏2019-8-作业和进程的状态转换图作业和进程的状态转换图数据数据进入状态进入状态退出状态退出状态后备状态后备状态运行状态运行状态作业控制进程作业控制进程 输入设备输入设备数据数据源程序源程序输出设备输出设备作业说作业说明书明书输输入入井井运行运行等待等待就绪就绪输输出出井井输输入入程程序序输输出出程程序序作作业业调调度度进程进程调度调度43谢谢观赏2019-8-17作业和进程的状态转换图数据进入状态退出状态后备状态运行状态作n作业执行前用慢速设备将作业预先输入到后援存储作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘、磁鼓,称为输入井)中,称为预输入器(如磁盘、磁鼓,称为输入井)中,称为预输入n作业运行后,使用数据时,从输入井中取出作业运行后,使用数据时,从输入井中取出n作业执行不必直接启动外设输出数据,只需将这些作业执行不必直接启动外设输出数据,只需将这些数据写入输出井中数据写入输出井中n作业全部运行完毕,再由外设输出全部数据和信息,作业全部运行完毕,再由外设输出全部数据和信息,称为缓输出称为缓输出实现了对作业输入、组织调度和输出的统一管理实现了对作业输入、组织调度和输出的统一管理n使外设在使外设在CPUCPU直接控制下,与直接控制下,与CPUCPU并行工作(称为假并行工作(称为假脱机)脱机)44谢谢观赏2019-8-17作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘、磁鼓输入装置输入装置输入装置输入装置通通道道通通道道输出装置输出装置输出装置输出装置通通 道道 主机系统主机系统输入管输入管 输出管输出管理模块理模块 理模块理模块外外 设设输入井输入井 输出井输出井 SPOOLing系统系统45谢谢观赏2019-8-17输入装置输入装置输出装置输出装置通 道输入管 三、三、交互式系统的作业管理交互式系统的作业管理1 1、概述、概述(1 1)命令接口)命令接口 在操作系统与计算机用户之间提供易于理解的双向在操作系统与计算机用户之间提供易于理解的双向通信机制。通信机制。基本任务:基本任务:n解释命令,传送命令以便执行解释命令,传送命令以便执行n接收系统信息,提交给用户(以响应语言的形式)接收系统信息,提交给用户(以响应语言的形式)包括:包括:一组联机命令,终端处理程序,命令解释程序一组联机命令,终端处理程序,命令解释程序n交互式命令的接口复杂交互式命令的接口复杂 含功能结构,可能问题的处理,如各种约定、前端含功能结构,可能问题的处理,如各种约定、前端处理、命令日志、命令注解、宏命令及命令组等处理、命令日志、命令注解、宏命令及命令组等46谢谢观赏2019-8-17三、交互式系统的作业管理1、概述46谢谢观赏2019-8-2、终端处理程序、终端处理程序n用户与操作系统的通信通过一个用户与操作系统的通信通过一个输入输入/输出装置输出装置来来实现实现nI/O装置是显示终端和键盘装置是显示终端和键盘 输入通过键盘:在有的系统中,可通过指示装置输入通过键盘:在有的系统中,可通过指示装置(例如鼠标)输入,系统输入呈现在显示屏幕上,(例如鼠标)输入,系统输入呈现在显示屏幕上,一次显示若干正文行(某些系统中,提供图形显一次显示若干正文行(某些系统中,提供图形显示功能)示功能)n不管哪种不管哪种I/O方式,终端装置是由方式,终端装置是由终端处理程序终端处理程序管管理和控制理和控制47谢谢观赏2019-8-172、终端处理程序47谢谢观赏2019-8-17n终端处理程序提供的输入输出方式对整个用户命令终端处理程序提供的输入输出方式对整个用户命令接口有重大影响,也确定了用户与其应用程序之间接口有重大影响,也确定了用户与其应用程序之间的通信方式的通信方式n终端处理程序必须作为用户接口的一个组成部分来终端处理程序必须作为用户接口的一个组成部分来考虑考虑,即即直接影响命令接口的一些问题直接影响命令接口的一些问题须由终端处须由终端处理程序解决理程序解决直接影响命令接口的一些问题直接影响命令接口的一些问题(a a)回送显示(回送显示(EchoingEchoing)n通常,每从键盘打入一个字符,终端处理程序回送通常,每从键盘打入一个字符,终端处理程序回送响应的字符到显示屏上响应的字符到显示屏上48谢谢观赏2019-8-17终端处理程序提供的输入输出方式对整个用户命令接口有重大影响,n有时用户要求其显示一个不同的字符或不显示有时用户要求其显示一个不同的字符或不显示(例如,用户键入口令时)(例如,用户键入口令时)n对于通过远程通信线路访问的终端,可能需要抑对于通过远程通信线路访问的终端,可能需要抑制这种回送制这种回送n委托给远程终端实现回送显示委托给远程终端实现回送显示(b b)提前打入(提前打入(Type aheadType ahead)n假定输入字符在一程序准备处理它们之前打入,假定输入字符在一程序准备处理它们之前打入,则由则由“提前打入进程提前打入进程”把它们保存在缓冲区中把它们保存在缓冲区中n缓冲区容量是有限,当其存满后,再有输入时,缓冲区容量是有限,当其存满后,再有输入时,或者漏掉,或者将破坏缓冲区原有的内容或者漏掉,或者将破坏缓冲区原有的内容49谢谢观赏2019-8-17有时用户要求其显示一个不同的字符或不显示(例如,用户键入口令(c c)字符变换字符变换 有些情况下,需要对打入的字符进行代码变换例如有些情况下,需要对打入的字符进行代码变换例如把小写字母转换成大写字母,或者反之把小写字母转换成大写字母,或者反之(d d)行缓冲行缓冲 打入的字符在送到程序前,由终端接口保存,直到打入的字符在送到程序前,由终端接口保存,直到整个命令行打入为止为用户提供了校验、编辑,甚整个命令行打入为止为用户提供了校验、编辑,甚至取消命令的机会至取消命令的机会(e e)中断字符(中断字符(Break CharactersBreak Characters)大多数交互式命令接口可以接受一些称为中断字符大多数交互式命令接口可以接受一些称为中断字符的特殊字符,并立即采取相应的行动的特殊字符,并立即采取相应的行动,如,在许多如,在许多系统中,同时打入系统中,同时打入CTRL-CCTRL-C键,立即终止当前程序执键,立即终止当前程序执行,并使命令处理程序重新初始化行,并使命令处理程序重新初始化50谢谢观赏2019-8-17(c)字符变换50谢谢观赏2019-8-173、命令解释程序、命令解释程序对命令有两种处理方法:对命令有两种处理方法:(a a)由命令解释程序直接处理由命令解释程序直接处理 在没有创建子进程功能的系统中终端命令通常由对在没有创建子进程功能的系统中终端命令通常由对应的命令解释程序处理,在这种系统中,只有一个应的命令解释程序处理,在这种系统中,只有一个进程对应一个终端用户。进程对应一个终端用户。(b b)由子进程代为处理由子进程代为处理n在具有创建子进程功能的系统中,对于较为单纯的在具有创建子进程功能的系统中,对于较为单纯的命令,如列目录,拷贝文件等,命令解释程序本身命令,如列目录,拷贝文件等,命令解释程序本身便能完成,此时由命令解释程序直接处理。便能完成,此时由命令解释程序直接处理。n对较复杂命令,如对于对较复杂命令,如对于C C源程序进行编译,命令解源程序进行编译,命令解释程序本身不能处理,此时创建一个子进程,并由释程序本身不能处理,此时创建一个子进程,并由该子进程运行该子进程运行C C编译程序。编译程序。51谢谢观赏2019-8-173、命令解释程序51谢谢观赏2019-8-174、命令接口、命令接口命令接口由命令处理器来实现命令接口由命令处理器来实现n命令处理器的实现方式:命令处理器的实现方式:(a a)作为)作为OSOS的一个部分,例如的一个部分,例如OS/MVTOS/MVT或或VAX/VMSVAX/VMS(b b)作为)作为OSOS的一个独特模块,能方便地修改或替的一个独特模块,能方便地修改或替换,例如换,例如RT-11RT-11或或CP/MCP/M(c c)作为一易于被替换的普通程序,例如)作为一易于被替换的普通程序,例如UNIXUNIX操操作系统作系统(d d)在某些系统中,可能用专门设计的命令接口)在某些系统中,可能用专门设计的命令接口替代标准的命令接口,例如多用户替代标准的命令接口,例如多用户UNIXUNIX,用户可,用户可有不同命令接口。有不同命令接口。52谢谢观赏2019-8-174、命令接口52谢谢观赏2019-8-175、命令语言、命令语言命令语言命令语言规定由规定由OSOS执行的一系列操作执行的一系列操作n在一般的命令语言中,用户通过打入称为命令行在一般的命令语言中,用户通过打入称为命令行的一行指令来规定每一个动作的一行指令来规定每一个动作n每一命令行以命令开始,它标识所要执行的操作每一命令行以命令开始,它标识所要执行的操作n大多数命令是用运行一个程序来执行所请求的操大多数命令是用运行一个程序来执行所请求的操作作n多数命令行中要给出一些参数多数命令行中要给出一些参数,每一命令语句实每一命令语句实际上是带有参数的一个过程调用际上是带有参数的一个过程调用53谢谢观赏2019-8-175、命令语言53谢谢观赏2019-8-17一种命令语言通常提供几类命令:一种命令语言通常提供几类命令:(1 1)系统访问命令)系统访问命令登录命令,如,登录命令,如,loginlogin等等撤离命令,如,撤离命令,如,logoutlogout等等(2 2)文件管理命令)文件管理命令(3 3)编辑、编译和执行命令)编辑、编译和执行命令(4 4)询问命令)询问命令(5 5)操作员专用命令)操作员专用命令 命令行:规定由操作系统执行的一系列操作命令行:规定由操作系统执行的一系列操作54谢谢观赏2019-8-17一种命令语言通常提供几类命令:54谢谢观赏2019-8-17n命令行命令行:一行可有一个或多个命令,每次一行,包:一行可有一个或多个命令,每次一行,包含一个或多个命令。含一个或多个命令。nshell给出提示符时可输入,以回车键提交。如:给出提示符时可输入,以回车键提交。如:n“ls-a-l”列出当前目录文件列表;列出当前目录文件列表;ngunzip mp1.tar.gz;tar-xvf mp1.tar;rm-r-f mp1.tar为解压缩后再展开。为解压缩后再展开。n命令格式命令格式:一个命令可有命令:一个命令可有命令参数参数,格式包括选项,格式包括选项/开关开关(option/switch)或参数或参数(argument)。n如如UNIX系统:系统:cp-r doc/tmpargv0,argv1,.(含子目录的文件复制:(含子目录的文件复制:/tmp为目标为目标地址)地址)55谢谢观赏2019-8-17命令行:一行可有一个或多个命令,每次一行,包含一个或多个命令n命令分类命令分类:内部命令和外部命令:内部命令和外部命令n内部命令:内部命令:直接由直接由shell本身完成本身完成,功能简单、使,功能简单、使用频繁;如:用频繁;如:DOS的的copy命令。命令。n外部命令:运行相应的外部命令:运行相应的可执行文件可执行文件,在使用时加,在使用时加载。如:载。如:DOS的的xcopy命令命令n命令简化命令简化:利用:利用参数替换参数替换可简化命令输入,通配符可简化命令输入,通配符(?,*)用于匹配一组文件名用于匹配一组文件名n如:如:UNIX的的cp命令:当前目录上有两个命令:当前目录上有两个1.tar和和2.tar时,时,cp*.tar/tmp等同于等同于cp 1.tar/tmp;cp 2.tar/tmp56谢谢观赏2019-8-17命令分类:内部命令和外部命令56谢谢观赏2019-8-17n命令的附加功能命令的附加功能 命令的附加功能命令的附加功能用以扩大命令的功能性、选择用以扩大命令的功能性、选择性、适应性性、适应性。包括:。包括:(1)参数与变量)参数与变量 位置变量位置变量 关键字变量关键字变量(2)命令通配符)命令通配符(3)重定向)重定向(4)管道与过滤器)管道与过滤器57谢谢观赏2019-8-17命令的附加功能57谢谢观赏2019-8-176、命令文件、命令文件批处理命令:批处理命令:针对针对脱机用户操作脱机用户操作和和大量顺序操作大量顺序操作功能而设计功能而设计 批处理命令可以是批处理命令可以是专门命令专门命令,也可是系统的,也可是系统的基基本命令本命令;还有有关的语法结构,循环、分支、;还有有关的语法结构,循环、分支、转移、判别等,构成一套特殊的转移、判别等,构成一套特殊的命令语言命令语言n提前写出命令并存入文件,称之为命令文件提前写出命令并存入文件,称之为命令文件n命令文件提供了一种把一系列命令组装成文件命令文件提供了一种把一系列命令组装成文件的方法,然后用文件名作为命令名执行一系列的方法,然后用文件名作为命令名执行一系列命令命令58谢谢观赏2019-8-176、命令文件58谢谢观赏2019-8-17n特点:特点:(1 1)接受参数、变量,宏变量替换)接受参数、变量,宏变量替换(2 2)允许嵌套形式调用其他命令文件)允许嵌套形式调用其他命令文件(3 3)允许参数来自终端的命令文件本身)允许参数来自终端的命令文件本身(4 4)允许执行显示到终端、存入文件或送入打印机)允许执行显示到终端、存入文件或送入打印机(5 5)允许命令加入注释)允许命令加入注释(6 6)出错时允许用户干预)出错时允许用户干预(7 7)可把输入传给程序,可有循环、分支、转移等)可把输入传给程序,可有循环、分支、转移等59谢谢观赏2019-8-17特点:59谢谢观赏2019-8-177、图形用户接口、图形用户接口GUI命令行方式:要求用户命令行方式:要求用户记忆命令格式记忆命令格式图形用户接口方式:用户可利用鼠标对屏幕上的图形用户接口方式:用户可利用鼠标对屏幕上的图标进行操作图标进行操作,完成与操作系统的交互完成与操作系统的交互,从而,从而减减少记忆内容,方便用户使用少记忆内容,方便用户使用。图形用户接口图形用户接口的技术基础:的技术基础:高分辩显示器和鼠标高分辩显示器和鼠标(1)窗口系统()窗口系统(window system)的特点)的特点n利用图形元素表示功能:利用图形元素表示功能:将各种图形元素显示在将各种图形元素显示在屏幕上,用户可以通过操纵图形元素(如菜单、屏幕上,用户可以通过操纵图形元素(如菜单、图标)来执行相应的功能图标)来执行相应的功能60谢谢观赏2019-8-177、图形用户接口GUI60谢谢观赏2019-8-17n同屏多窗口与并发进程相对应同屏多窗口与并发进程相对应:屏幕上同时显示:屏幕上同时显示多个窗口;一个进程可以对应一个或多个窗口;多个窗口;一个进程可以对应一个或多个窗口;窗口动态创建、改变、撤销,交互的并发性好、窗口动态创建、改变、撤销,交互的并发性好、传递信息量大。传递信息量大。n输入方式输入方式:鼠标鼠标指针点击(或其他定位设备)和指针点击(或其他定位设备)和键盘键盘输入;通常是输入;通常是即时交互。即时交互。n一致的图形元素风格一致的图形元素风格可方便用户学习和使用:如可方便用户学习和使用:如按钮、滚动条。按钮、滚动条。(2)窗口系统的图形元素及其状态)窗口系统的图形元素及其状态61谢谢观赏2019-8-17同屏多窗口与并发进程相对应:屏幕上同时显示多个窗口;一个进程n窗口:窗口:屏幕上的屏幕上的矩形区域矩形区域n包括:包括:标题条标题条、边框边框、窗口角窗口角、系统菜单框系统菜单框、最大化最大化/最小化按钮最小化按钮、滚动条滚动条等等n状态:状态:当前当前/非当前非当前窗口接受输入,最大化窗口接受输入,最大化/最小化最小化/恢复原大小,窗口的恢复原大小,窗口的前后遮盖前后遮盖Z轴,轴,焦点处焦点处接受键盘输入(而非鼠标)接受键盘输入(而非鼠标)n桌面和墙纸桌面和墙纸n图标:图标:一个小图象一个小图象(如如32x32或或64x64 pixel),供鼠,供鼠标指针点击。不同的图标可以标指针点击。不同的图标可以标识不同的对象标识不同的对象。如可执行程序、最小化的窗口、文件动画图标如可执行程序、最小化的窗口、文件动画图标62谢谢观赏2019-8-17窗口:屏幕上的矩形区域62谢谢观赏2019-8-17n鼠标指针:鼠标指针:鼠标指针通常对应屏幕上的鼠标指针通常对应屏幕上的光标光标n光标在屏幕上只有一个,在不同屏幕位置(上下光标在屏幕上只有一个,在不同屏幕位置(上下文)可以呈现文)可以呈现不同形状不同形状,可以独立于鼠标来直接,可以独立于鼠标来直接操纵光标操纵光标n鼠标点击鼠标点击:左键:左键/右键右键/中键,单击中键,单击/双击,拖曳双击,拖曳/拖放拖放n按钮:按钮:鼠标点击或按回车键鼠标点击或按回车键/空格键时执行相应功空格键时执行相应功能,如能,如 menu button;提供单项或多项选择,如;提供单项或多项选择,如radiobutton和和checkbutton;当前按钮及其切换;当前按钮及其切换n菜单:菜单:临时窗口,菜单条、弹出式菜单、下拉式菜临时窗口,菜单条、弹出式菜单、下拉式菜63谢谢观赏2019-8-17鼠标指针:鼠标指针通常对应屏幕上的光标63谢谢观赏2019-单(上下文相关菜单)单(上下文相关菜单)n对话框:对话框:临时窗口,显示提示信息临时窗口,显示提示信息(message)或或填写用户设置填写用户设置(3)窗口管理器)窗口管理器(window manager):形成统一:形成统一的使用风格的使用风格n处理窗口的处理窗口的普遍特性普遍特性,如:窗口的大小、位置,如:窗口的大小、位置(窗口的标题条、边框、控制菜单框)窗(窗口的标题条、边框、控制菜单框)窗口中由应用程序管理的部分称为口中由应用程序管理的部分称为客户区客户区(client area)n协调各窗口间的协调各窗口间的相互关系相互关系,如:窗口之间的前,如:窗口之间的前64谢谢观赏2019-8-17 单(上下文相关菜单)64谢谢观赏2019-8-17 后遮盖关系,桌面后遮盖关系,桌面(4 4)例子:)例子:MS WindowsMS Windowsn特点特点nMS WindowsMS Windows结构结构n基本概念基本概念n消息处理:两种方法消息处理:两种方法特点:特点:是是OS OS 的一部分的一部分,提供默认的窗口风格,提供默认的窗口风格(如菜单、对话框),除(如菜单、对话框),除Windows2000Windows2000外,窗外,窗口应用程序只能在口应用程序只能在控制台控制台(本地)执行。(本地)执行。65谢谢观赏2019-8-17 后遮盖关系,桌面65谢谢观赏2019-8-17 MS Windows结构:结构:可分成三个部分可分成三个部分nOS系统服务系统服务(KERNEL):内存管理、程序加载):内存管理、程序加载(包括(包括DLL)、任务调度、文件管理)、任务调度、文件管理n用户接口(用户接口(USER):窗口和消息管理,以及菜单、):窗口和消息管理,以及菜单、控制、对话框、定时器等控制、对话框、定时器等n图形设备接口(图形设备接口(GDI,Graphic Device Interface):):管理显示器,为管理显示器,为USER与应用程序提供与硬件设备与应用程序提供与硬件设备独立的接口独立的接口66谢谢观赏2019-8-17 MS Windows结构:可分成三个部分66谢谢观赏 基本概念基本概念n消息消息(message):消息作为窗口的输入,如用户操消息作为窗口的输入,如用户操作、其他窗口或系统发出的请求或通知作、其他窗口或系统发出的请求或通知n窗口过程窗口过程(window procedure):消息由各窗口自己消息由各窗口自己的窗口过程来作处理的窗口过程来作处理n窗口过程的调用参数:窗口过程的调用参数:接收窗口句柄(可以在接收窗口句柄(可以在多个窗口共用一个窗口过程时加以区分)、消多个窗口共用一个窗口过程时加以区分)、消息息ID(消息的类型)、消息参数(消息的类型)、消息参数(16+32位或位或32+32位值,整数或指针)位值,整数或指针)n还可以取得消息的发生时间和屏幕坐标还可以取得消息的发生时间和屏幕坐标67谢谢观赏2019-8-17 基本概念67谢谢观赏2019-8-17消息处理:两种方法消息处理:两种方法n排队消息:排队消息:放到进程(线程)的放到进程(线程)的FIFO消息队列里。消息队列里。如应用程序发送的消息,系统的鼠标、键盘、定时如应用程序发送的消息,系统的鼠标、键盘、定时器、窗口绘制和退出等。排队消息所用的器、窗口绘制和退出等。排队消息所用的API:n发送消息到消息队列发送消息到消息队列PostMessage;n从消息队列读取消息从消息队列读取消息GetMessage,PeekMessage;n分发一个消息到相应窗口分发一个消息到相应窗口DispatchMessage;n非排队消息:非排队消息:直接发送到指定窗口的窗口过程。非直接发送到指定窗口的窗口过程。非排队消息所用的排队消息所用的API:nSendMessage直到接收方窗口过程处理完才返回直到接收方窗口过程处理完才返回68谢谢观赏2019-8-17消息处理:两种方法68谢谢观赏2019-8-17n接收方正处于接收方正处于GetMessage,而接受并处理,而接受并处理SendMessage送来的消息之后,仍处于送来的消息之后,仍处于GetMessage。为防止死锁,一般要:。为防止死锁,一般要:if(InSendMessage()ReplyMessage(TRUE);n消息循环:不断移出消息,并加以处理。用户不消息循环:不断移出消息,并加以处理。用户不作处理的消息,应传给默认窗口过程加以处理:作处理的消息,应传给默认窗口过程加以处理:DefWindowProc()nWM_PAINT消息:通知窗口客户区中的某部分消息:通知窗口客户区中的某部分(region)已被改变,应用程序应该对其已被改变,应用程序应该对其重新绘制重新绘制。总是被排在总是被排在线程消息队列的最后线程消息队列的最后,并且多个,并且多个WM_PAINT消息中的消息中的region会会自动被合并为一个自动被合并为一个69谢谢观赏2019-8-17接收方正处于GetMessage,而接受并处理SendMes
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!