操作系统原理chap03课件

上传人:pu****.1 文档编号:569468863 上传时间:2024-07-29 格式:PPT 页数:130 大小:658.61KB
返回 下载 相关 举报
操作系统原理chap03课件_第1页
第1页 / 共130页
操作系统原理chap03课件_第2页
第2页 / 共130页
操作系统原理chap03课件_第3页
第3页 / 共130页
操作系统原理chap03课件_第4页
第4页 / 共130页
操作系统原理chap03课件_第5页
第5页 / 共130页
点击查看更多>>
资源描述

《操作系统原理chap03课件》由会员分享,可在线阅读,更多相关《操作系统原理chap03课件(130页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章 用户接口与作业管理用户接口与作业管理n用户与操作系统的接口用户与操作系统的接口n批处理操作系统的作业管理批处理操作系统的作业管理 作业的基本概念:作业、作业步、作业流作业的基本概念:作业、作业步、作业流n交互式系统作业管理交互式系统作业管理n系统调用:系统调用: 用户程序提出服务请求的手段,基本思想,实现方法用户程序提出服务请求的手段,基本思想,实现方法n操作系统安装与启动操作系统安装与启动1. 作业级接口作业级接口 操作系统为用户对作业运行全过程控制提供的功能操作系统为用户对作业运行全过程控制提供的功能(1) 联机接口(交互式)联机接口(交互式)(2) 脱机接口脱机接口一、用户

2、与操作系统的接口一、用户与操作系统的接口n作业级接口作业级接口n程序级接口程序级接口系统为用户在程序一级提供有关服务而设置系统为用户在程序一级提供有关服务而设置由一组系统调用命令组成由一组系统调用命令组成n负责管理和控制运行的程序负责管理和控制运行的程序n并在这些程序与系统控制的资源和提供的服务间实并在这些程序与系统控制的资源和提供的服务间实现交互作用现交互作用n用汇编语言:在程序中直接用系统调用命令用汇编语言:在程序中直接用系统调用命令n用高级语言:可在编程时使用过程调用语句用高级语言:可在编程时使用过程调用语句2. 程序级接口程序级接口二、批处理系统作业处理二、批处理系统作业处理1.1.作

3、业的基本概念作业的基本概念(1 1)作业作业 用户在一次计算过程中,或者一次事务处理过程中,要求计用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称算机系统所做工作的总称(2 2)作业步作业步 一个作业可划分成若干部分,称为一个作业步一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程:典型的作业控制过程: “编译编译”、“连接装配连接装配”、“运行运行”(3 3)作业流作业流(4 4)典型的作业步)典型的作业步编译编译连接装配连接装配运行运行目标目标程序程序段段目标目标程序程序源程序源程序输入数据输入数据子程序子程序库函数库函数动态库函数动态库函数计算结果计算

4、结果1. 1. 作业的基本概念作业的基本概念( (续续1)1)2. 批处理作业控制语言与作业说明书批处理作业控制语言与作业说明书(1 1)作业控制语言)作业控制语言n用户用于描述批处理作业处理过程控制意图的用户用于描述批处理作业处理过程控制意图的一种特殊程序一种特殊程序n书写作业说明书的语言称为作业控制语言书写作业说明书的语言称为作业控制语言(JCLJCL)(2)作业控制语言的类别)作业控制语言的类别 包括:包括:I/OI/O命令、编译命令、操作命令以及命令、编译命令、操作命令以及条件命令等条件命令等(3)作业说明书)作业说明书表达用户对作业的控制意图表达用户对作业的控制意图内容:内容:n作业

5、的基本描述作业的基本描述n作业控制描述作业控制描述n资源要求描述资源要求描述2. 批处理作业控制语言与作业说明书批处理作业控制语言与作业说明书(续续)3. 作业控制块与作业表作业控制块与作业表(1)作业控制块()作业控制块(JCB:Job Control Block)n作业控制块是批处理作业存在的标志作业控制块是批处理作业存在的标志n保存有系统对于作业进行管理所需要的全部信保存有系统对于作业进行管理所需要的全部信息息n位于磁盘区域中位于磁盘区域中(2)作业控制块的内容)作业控制块的内容 作业控制块中所包含的信息数量及内容因作业控制块中所包含的信息数量及内容因系统而异系统而异n较简单的系统较简单

6、的系统n较复杂的系统较复杂的系统 3. 作业控制块与作业表作业控制块与作业表(续续1)作业标知作业标知用户名称用户名称用户帐号用户帐号调度信息调度信息资源需求资源需求作业状态作业状态作业类别作业类别输入井地址输入井地址输出井地址输出井地址进入系统时间进入系统时间开始处理时间开始处理时间作业完成时间作业完成时间作业退出时间作业退出时间资源使用情况资源使用情况 作业控制块作业控制块JCB3. 作业控制块与作业表作业控制块与作业表(续续2)(3 3)作业控制块的建立)作业控制块的建立 当作业开始由输入设备向磁盘的输入井传输时当作业开始由输入设备向磁盘的输入井传输时 系统输入程序为其建立一个作业控制块

7、系统输入程序为其建立一个作业控制块 进行初始化进行初始化 初始化的大部分信息取自作业说明书初始化的大部分信息取自作业说明书 3. 作业控制块与作业表作业控制块与作业表(续续3)(4)作业控制块的使用)作业控制块的使用需要访问作业控制块的程序需要访问作业控制块的程序n系统输入程序系统输入程序n作业调度程序作业调度程序n作业控制程序作业控制程序n系统输出程序等系统输出程序等3. 作业控制块与作业表作业控制块与作业表(续续4)(5 5)作业控制块的撤消)作业控制块的撤消作业完成后,其作业控制块由系统输出程序撤消作业完成后,其作业控制块由系统输出程序撤消作业控制块被撤消后其作业也不复存在作业控制块被撤

8、消后其作业也不复存在3. 作业控制块与作业表作业控制块与作业表(续续5)(6)作业表)作业表每个作业有个作业控制块每个作业有个作业控制块n所有作业所有作业JCBJCB构成一个作业表构成一个作业表n作业表存放在外存固定区域中,长度是固定作业表存放在外存固定区域中,长度是固定n限制了系统所能同时容纳的作业数量限制了系统所能同时容纳的作业数量 系统输入程序、作业调度程序、系统输出程序都需要访问系统输入程序、作业调度程序、系统输出程序都需要访问作业表作业表 因而存在互斥问题因而存在互斥问题JCB1 JCB2 JCBi JCBn 作业表作业表3. 作业控制块与作业表作业控制块与作业表(续续6)4. 批处

9、理作业的状态及转换批处理作业的状态及转换一个作业从进入系统到运行结束一个作业从进入系统到运行结束经历四个不同的状态:经历四个不同的状态:“进入进入”“后备后备”“运行运行”“完成完成” ” 作业和进程的状态转换图作业和进程的状态转换图数据数据进入状态进入状态退出状态退出状态后备状态后备状态运行状态运行状态作业控制进程作业控制进程 输入设备输入设备数据数据源程序源程序输出设备输出设备作业说作业说明书明书输输入入井井运行运行等待等待就绪就绪输输出出井井输输入入程程序序输输出出程程序序作作业业调调度度进程进程调度调度4. 批处理作业的状态及转换批处理作业的状态及转换(续续1)(1)运行状态的作业)运

10、行状态的作业三种状态:三种状态:n就绪状态就绪状态n执行状态执行状态n阻塞状态阻塞状态4. 批处理作业的状态及转换批处理作业的状态及转换(续续2)5. 作业的建立作业的建立一个作业建立过程的两个子过程:一个作业建立过程的两个子过程:n作业的输入作业的输入nJCBJCB的建立的建立 作业控制块作业控制块JCBJCB和作业:一一对应关系和作业:一一对应关系(1)作业的输入)作业的输入 将作业程序、数据和作业说明书从输入设备(例将作业程序、数据和作业说明书从输入设备(例如键盘)输入到外存,并形成初始信息如键盘)输入到外存,并形成初始信息作业输入方式作业输入方式n联机输入方式联机输入方式n脱机输入方式

11、脱机输入方式nSPOOLingSPOOLing系统系统5. 作业的建立作业的建立(续续1) 联机输入方式联机输入方式n用户和系统通过交互会话来输入作业用户和系统通过交互会话来输入作业n外围设备直接和主机连接外围设备直接和主机连接 脱机输入方式脱机输入方式 为了解决单台设备联机输入时的为了解决单台设备联机输入时的CPU浪费问题浪费问题5. 作业的建立作业的建立(续续2)(2)JCB的建立的建立在系统把作业信息输入到输入井之后在系统把作业信息输入到输入井之后根据作业说明书和有关作业信息在外存的位置等根据作业说明书和有关作业信息在外存的位置等建立作业控制表建立作业控制表JCBJCBJCBJCB包含对

12、作业进行管理所必须的信息包含对作业进行管理所必须的信息nJCBJCB表的数量是一个常数表的数量是一个常数n外存输入井的大小有限外存输入井的大小有限 只有在获得只有在获得JCBJCB表项和足够输入井空间后表项和足够输入井空间后作业才可能创建成功作业才可能创建成功5. 作业的建立作业的建立(续续3)6. 批处理作业的调度批处理作业的调度主要功能:主要功能:n审查系统能否满足用户作业的资源要求审查系统能否满足用户作业的资源要求 只要通过调用相应的资源管理程序的有关部分只要通过调用相应的资源管理程序的有关部分 审核其表中是否能满足作业说明书中的要求即可审核其表中是否能满足作业说明书中的要求即可n按照一

13、定的算法从输入井中的后备作业中选取作业按照一定的算法从输入井中的后备作业中选取作业 调度的关键在选择恰当的算法调度的关键在选择恰当的算法(1)调度算法评价)调度算法评价调度实质上是一个策略问题调度实质上是一个策略问题设定的目标往往是相互冲突的设定的目标往往是相互冲突的 目标:目标:n单位时间内运行尽可能多的作业单位时间内运行尽可能多的作业n使处理机尽可能保持使处理机尽可能保持“忙碌忙碌”n使各种使各种I/OI/O设备得以充分利用设备得以充分利用n对所有的作业都是公平合理的对所有的作业都是公平合理的6. 批处理作业的调度批处理作业的调度(续续1)要设计一个理想的调度算法是一件十分困难的事要设计一

14、个理想的调度算法是一件十分困难的事在实际系统中,调度算法往往折衷考虑在实际系统中,调度算法往往折衷考虑设计调度算法时应考虑的因素:设计调度算法时应考虑的因素:n调度算法应与系统设计目标保持一致调度算法应与系统设计目标保持一致n注意系统资源均衡使用注意系统资源均衡使用n保证提交的作业在截止时间内完成保证提交的作业在截止时间内完成n设法缩短作业平均周转时间设法缩短作业平均周转时间大多数操作系统都采用比较简单的调度算法大多数操作系统都采用比较简单的调度算法6. 批处理作业的调度批处理作业的调度(续续2)作业平均周转时间作业平均周转时间假定某一作业进入假定某一作业进入“输入井输入井”的时间为的时间为S

15、iSi, 它被选中执行,得到计算结果的时间为它被选中执行,得到计算结果的时间为EiEi 它的周转时间为它的周转时间为Ti Ti EiEi SiSi 则作业平均周转时间为:则作业平均周转时间为: T T( ) n n为被测定作业流中的作业数为被测定作业流中的作业数(2)调度算法性能的衡量)调度算法性能的衡量6. 批处理作业的调度批处理作业的调度(续续3)平均带权周转时间平均带权周转时间 W W( ) riri 为某作业为某作业i i的实际执行时间的实际执行时间n T:衡量不同调度算法对同一个作业流的性能衡量不同调度算法对同一个作业流的性能n W:同一调度算法对不同作业流的性能衡量同一调度算法对不

16、同作业流的性能衡量 6. 批处理作业的调度批处理作业的调度(续续4)(3)系统进行作业调度的决策因素)系统进行作业调度的决策因素n作业到达时间作业到达时间n预先为作业确定的优先级预先为作业确定的优先级系统可测定的其他因素:系统可测定的其他因素:n作业所需的作业所需的CPUCPU时间时间C Cn存储要求存储要求M Mn打印输出的行数打印输出的行数L Ln其他的资源要求其他的资源要求6. 批处理作业的调度批处理作业的调度(续续5)(4)常见的批处理作业调度算法)常见的批处理作业调度算法n先来先服务算法(先来先服务算法(FCFS:First Come First Serve)n最短作业优先算法(最短

17、作业优先算法(SJF:Shortest Job First)n最高响应比优先算法最高响应比优先算法 (HRN:Highest Response Ratio Next) 响应比响应比响应比响应比R = R = 作业周转时间作业周转时间作业周转时间作业周转时间 / / 作业处理时间作业处理时间作业处理时间作业处理时间 = =(作业处理时间(作业处理时间(作业处理时间(作业处理时间+ +作业等待时间)作业等待时间)作业等待时间)作业等待时间)/ / 作业处理时间作业处理时间作业处理时间作业处理时间 = 1 += 1 +(作业等待时间(作业等待时间(作业等待时间(作业等待时间 / / 作业处理时间)作

18、业处理时间)作业处理时间)作业处理时间)6. 批处理作业的调度批处理作业的调度(续续6)n基于优先数调度算法基于优先数调度算法 (HPF:Highest Priority First) (a)由用户规定优先数(外部优先数)由用户规定优先数(外部优先数) 用户提交作业时,根据急迫程度规定适当的优先数用户提交作业时,根据急迫程度规定适当的优先数 作业调度程序根据作业调度程序根据JCB优先数决定进入内存的次序优先数决定进入内存的次序 (b)由系统计算优先数(内部优先数)由系统计算优先数(内部优先数)例:可按如下公式计算作业的优先数:例:可按如下公式计算作业的优先数:优先数优先数 = = 用户规定优先

19、数用户规定优先数 作业处理时间作业处理时间 + + 作业等待时间作业等待时间 输出量输出量6. 批处理作业的调度批处理作业的调度(续续7)n均衡调度算法均衡调度算法(分类排队算法分类排队算法)基本思想:基本思想:n根据系统运行情况和作业属性将作业分类根据系统运行情况和作业属性将作业分类n轮流从不同的作业类中挑选作业轮流从不同的作业类中挑选作业目标:目标:n力求均衡地利用各种系统资源,发挥资源使用效率力求均衡地利用各种系统资源,发挥资源使用效率n力求使用户满意力求使用户满意6. 批处理作业的调度批处理作业的调度(续续8)例例1 1:将待处理作业分成如下队列:将待处理作业分成如下队列: 队列队列1

20、 1:计算量大的作业:计算量大的作业 队列队列2 2:I/OI/O量大的作业量大的作业 队列队列3 3:计算量与:计算量与I/OI/O量均衡的作业量均衡的作业n调度时,在三个队列中各取一些作业调度时,在三个队列中各取一些作业在内存中的作业有的使用处理机在内存中的作业有的使用处理机有的使用外部设备有的使用外部设备n使得系统的各种资源能得到充分利用使得系统的各种资源能得到充分利用6. 批处理作业的调度批处理作业的调度(续续9)例例2 2:将待处理作业分成如下三个队列:将待处理作业分成如下三个队列: 队列队列1 1:长作业:长作业 队列队列2 2:中等长度作业:中等长度作业 队列队列3 3:短作业:

21、短作业n调度时调度时取队列取队列1 1一作业,队列一作业,队列2 2一作业,队列一作业,队列3 3一作业一作业n长作业用户和短作业用户均比较满意长作业用户和短作业用户均比较满意6. 批处理作业的调度批处理作业的调度(续续10)(5)作业调度算法应用例子)作业调度算法应用例子1n假设在单道批处理环境下有四个作业,已知它们进入假设在单道批处理环境下有四个作业,已知它们进入系统的时间、估计运行时间系统的时间、估计运行时间 应用先来先服务、最短作业优先和最高响应比优先作应用先来先服务、最短作业优先和最高响应比优先作业调度算法,分别计算出作业的平均周转时间和带权业调度算法,分别计算出作业的平均周转时间和

22、带权的平均周转时间的平均周转时间6. 批处理作业的调度批处理作业的调度(续续11)先来先服务调度算法计算结果先来先服务调度算法计算结果6. 批处理作业的调度批处理作业的调度(续续12)最短作业优先作业算法计算结果最短作业优先作业算法计算结果6. 批处理作业的调度批处理作业的调度(续续13)最高响应比优先作业算法计算结果最高响应比优先作业算法计算结果6. 批处理作业的调度批处理作业的调度(续续14)在两道环境下有四个作业在两道环境下有四个作业已知它们进入系统的时间、估计运行时间已知它们进入系统的时间、估计运行时间系统采用短作业优先作业调度算法,作业被调度运行后系统采用短作业优先作业调度算法,作业

23、被调度运行后不再退出不再退出当一新作业投入运行后,可按照作业运行时间长短调整当一新作业投入运行后,可按照作业运行时间长短调整作业执行的次序作业执行的次序请给出这四个作业的执行时间序列,并计算出平均周转请给出这四个作业的执行时间序列,并计算出平均周转时间及带权平均周转时间时间及带权平均周转时间(6)作业调度算法应用例子)作业调度算法应用例子26. 批处理作业的调度批处理作业的调度(续续15)两道批处理系统中两道批处理系统中最短作业优先作业算法计算结果最短作业优先作业算法计算结果6. 批处理作业的调度批处理作业的调度(续续16)四个作业的执行时间序列为:四个作业的执行时间序列为:JOB1JOB1:

24、1010:00100010:0505,1010:40114011:0505JOB2JOB2:1010:05100510:2525JOB3JOB3:1010:25102510:3030JOB4JOB4:1010:30103010:4040两道批处理系统中两道批处理系统中最短作业优先作业算法计算结果(续最短作业优先作业算法计算结果(续1)6. 批处理作业的调度批处理作业的调度(续续17)1010:0000,JOB1JOB1进入,只有一作业,进入,只有一作业,JOB1JOB1被调入执行被调入执行1010:0505,JOB2JOB2到达,最多允许两作业同时进入到达,最多允许两作业同时进入 所以所以JO

25、B2JOB2也被调入也被调入n内存中有两作业,哪一个执行?题目规定当一新作业运行后,可按内存中有两作业,哪一个执行?题目规定当一新作业运行后,可按作业运行时间长短调整执行次序作业运行时间长短调整执行次序n即基于优先数可抢占式调度策略即基于优先数可抢占式调度策略优先数是根据作业估计运行时间大小来决定的优先数是根据作业估计运行时间大小来决定的由于由于JOB2JOB2运行时间(运行时间(2020分)比分)比JOB1JOB1少少(到(到1010:0505,JOB1JOB1还需还需2525分钟)分钟)所以所以JOB2JOB2运行,而运行,而JOB1JOB1等待等待两道批处理系统中两道批处理系统中最短作业

26、优先作业算法分析过程最短作业优先作业算法分析过程6. 批处理作业的调度批处理作业的调度(续续18)1010:1010,JOB3JOB3到达输入井,内存已有两作业到达输入井,内存已有两作业 JOB3JOB3不能马上进入内存;不能马上进入内存;1010:2020,JOB4JOB4也不能进入内存也不能进入内存1010:2525,JOB2JOB2运行结束,退出,内存中剩下运行结束,退出,内存中剩下JOB1JOB1 输入井中有两作业输入井中有两作业JOB3JOB3和和JOB4JOB4,如何调度?如何调度?n作业调度算法:最短作业优先作业调度算法:最短作业优先因此因此JOB3JOB3进入内存进入内存比较比

27、较JOB1JOB1和和JOB3JOB3运行时间运行时间JOB3JOB3运行时间短,故运行时间短,故JOB3JOB3运行运行同样,同样,JOB3JOB3退出后,下一个是退出后,下一个是JOB4JOB4JOB4JOB4结束后,结束后,JOB1JOB1才能继续运行才能继续运行两道批处理系统中两道批处理系统中最短作业优先作业算法分析过程(续最短作业优先作业算法分析过程(续1)6. 批处理作业的调度批处理作业的调度(续续19)(7)多道程序对平均周转时间的影响)多道程序对平均周转时间的影响作业流在多道环境下运行作业流在多道环境下运行n平均周转时间、带权平均周转时间平均周转时间、带权平均周转时间 比单道环

28、境下都有明显改善比单道环境下都有明显改善n不是任意作业组合都能改善调度性能不是任意作业组合都能改善调度性能 有时甚至可能变坏有时甚至可能变坏6. 批处理作业的调度批处理作业的调度(续续20)例:四个各需两小时作业同时投入运行,例:四个各需两小时作业同时投入运行,I/OI/O等待时间均占等待时间均占25%25%,即占,即占CPUCPU时间各为时间各为1.51.5小时小时根据计算公式,根据计算公式,CPUCPU的空转率为的空转率为0 0采用简单轮转法调度,每小时各作业分别占用采用简单轮转法调度,每小时各作业分别占用25%25%的的CPUCPU时间,时间,算得该作业组合的平均周转时间约为算得该作业组

29、合的平均周转时间约为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. 批处理作业的调度批处理作业的调度(续续21)7作业调度与进程调度作业调度与进程调度作业能否占用处理器?什么时间能够占用处理器?作业能否占用处理器?什么时间能够占用处理器?由进程调度来决定由进程调度来决定进程的初始状态为就绪状态进程的初始状态为就绪状态进程调度选择

30、当前可占用进程调度选择当前可占用 CPU处理进程,当它让出处理器时,处理进程,当它让出处理器时,进程调度就再选另一作业的进程进程调度就再选另一作业的进程作业调度与进程调度相互配合,实现作业的并行作业调度与进程调度相互配合,实现作业的并行作业调度与进程调度的例子作业调度与进程调度的例子 某系统采用不能移动已在内存中作业的可变分区方案管理内存某系统采用不能移动已在内存中作业的可变分区方案管理内存 供用户使用的内存空间为供用户使用的内存空间为100K100K,系统配有系统配有4 4台磁带机台磁带机 一批作业如下图:一批作业如下图:作业作业 进入时间进入时间 估计估计 内存需要内存需要 磁带机需要磁带

31、机需要 运行时间运行时间JOB1 10:00 25分钟分钟 15K 2台台JOB2 10:20 30分钟分钟 60K 1台台JOB3 10:30 10分钟分钟 50K 3台台JOB4 10:35 20分钟分钟 10K 2台台JOB5 10:40 15分钟分钟 30K 2台台7作业调度与进程调度作业调度与进程调度(续续1)作业调度与进程调度的例子(续作业调度与进程调度的例子(续1) 该系统采用多道程序设计技术,对磁带机采用静态分配,忽略该系统采用多道程序设计技术,对磁带机采用静态分配,忽略设备工作时间和系统进行调度所共花的时间,请分别给出采用设备工作时间和系统进行调度所共花的时间,请分别给出采用

32、“先来先服务调度算法先来先服务调度算法”和和“短作业优先算法短作业优先算法”选中作业执行选中作业执行的次序以及它们的平均周转时间。的次序以及它们的平均周转时间。 若允许移动已在主存储器中的作业,则作业被选中的次序又是若允许移动已在主存储器中的作业,则作业被选中的次序又是怎样的呢?它们的平均周转时间又如何?怎样的呢?它们的平均周转时间又如何?n小结:小结: 作业调度前提:并行道数、资源满足作业调度前提:并行道数、资源满足 进程调度进程调度7作业调度与进程调度作业调度与进程调度(续续2)8. 批处理作业的控制批处理作业的控制n当作业为执行态时,作业调度程序为其建立一作业控当作业为执行态时,作业调度

33、程序为其建立一作业控制进程制进程, , 由该进程控制作业运行由该进程控制作业运行n作业控制进程:主要负责控制作业的运行,具体解释作业控制进程:主要负责控制作业的运行,具体解释执行作业说明书的每一个作业步,并创建子进程来完执行作业说明书的每一个作业步,并创建子进程来完成相应步骤成相应步骤n一个作业步的处理:一个作业步的处理:(1 1)建立子进程)建立子进程(2 2)为其申请资源)为其申请资源(3 3)访问该作业的)访问该作业的JCBJCB(4 4)释放占有资源释放占有资源(5 5)撤消子进程等)撤消子进程等n作业控制程序只有一个作业控制程序只有一个 对应每一处于执行状态的作业有一作业控制进程对应

34、每一处于执行状态的作业有一作业控制进程9. 作业退出作业退出把输出结果送到输出设备上(启动缓输出进程完成)把输出结果送到输出设备上(启动缓输出进程完成)回收各种资源回收各种资源10. SPOOLing系统工作原理系统工作原理全称:全称:Simultaneous Peripheral Operations Simultaneous Peripheral Operations On-LineOn-Line含义:含义:同时的外围设备联机操作(假脱机技术)同时的外围设备联机操作(假脱机技术)包括:包括:n输入程序模块输入程序模块n输出程序模块输出程序模块n作业调度程序作业调度程序作业和进程的状态转换图

35、作业和进程的状态转换图数据数据进入状态进入状态退出状态退出状态后备状态后备状态运行状态运行状态作业控制进程作业控制进程 输入设备输入设备数据数据源程序源程序输出设备输出设备作业说作业说明书明书输输入入井井运行运行等待等待就绪就绪输输出出井井输输入入程程序序输输出出程程序序作作业业调调度度进程进程调度调度10. SPOOLing系统工作原理系统工作原理(续续1)10. SPOOLing系统工作原理(续系统工作原理(续2)n作业执行前用慢速设备将作业预先输入到后援存储器(如磁作业执行前用慢速设备将作业预先输入到后援存储器(如磁盘、磁鼓,称为输入井)中,称为预输入盘、磁鼓,称为输入井)中,称为预输入

36、n作业运行后,使用数据时,从输入井中取出作业运行后,使用数据时,从输入井中取出n作业执行不必直接启动外设输出数据,只需将这些数据写入作业执行不必直接启动外设输出数据,只需将这些数据写入输出井中输出井中n作业全部运行完毕,再由外设输出全部数据和信息,称为缓作业全部运行完毕,再由外设输出全部数据和信息,称为缓输出输出实现了对作业输入、组织调度和输出的统一管理实现了对作业输入、组织调度和输出的统一管理n使外设在使外设在CPUCPU直接控制下,与直接控制下,与CPUCPU并行工作(称为假脱机)并行工作(称为假脱机)输入装置输入装置输出装置输出装置通通道道通通道道输出装置输出装置输出装置输出装置通通 道

37、道 主机系统主机系统输入管输入管 输出管输出管理模块理模块 理模块理模块外外 设设输入井输入井 输出井输出井 SPOOLing系统系统10. SPOOLing系统工作原理系统工作原理(续续3)三、三、 交互式系统的作业管理交互式系统的作业管理1. 1. 概述概述(1 1)命令接口)命令接口 在操作系统与计算机用户之间提供易于理解的双向通信机制在操作系统与计算机用户之间提供易于理解的双向通信机制基本任务:基本任务:n解释命令,传送命令以便执行解释命令,传送命令以便执行n接受系统信息,提交给用户(以响应语言的形式)接受系统信息,提交给用户(以响应语言的形式)n交互式命令的接口复杂交互式命令的接口复

38、杂 含功能结构,可能问题的处理,如各种约定、前端处理、命含功能结构,可能问题的处理,如各种约定、前端处理、命令日志、命令注解、宏命令及命令组等令日志、命令注解、宏命令及命令组等n交互式控制灵活方便,可以随时进行各种处理,排除问题,交互式控制灵活方便,可以随时进行各种处理,排除问题,方便调试;系统利用率低方便调试;系统利用率低n接口包括:一组联机命令,终端处理程序,命令解释程序接口包括:一组联机命令,终端处理程序,命令解释程序1. 1. 概述概述( (续续1)1)(2)终端处理程序)终端处理程序n交互式命令接口:用户同操作系统的通信通过一个输入交互式命令接口:用户同操作系统的通信通过一个输入/

39、/输输出装置来实现出装置来实现nI/O装置一般是显示终端装置一般是显示终端 输入通过键盘:在有的系统中,可通过指示装置(例如鼠标)输入通过键盘:在有的系统中,可通过指示装置(例如鼠标)输入输入 系统输入呈现在显示屏幕上,一次显示若干正文行系统输入呈现在显示屏幕上,一次显示若干正文行 某些系统中,提供图形显示功能某些系统中,提供图形显示功能n不管哪种不管哪种I/O方式,这个终端装置是由一个终端处理程序管方式,这个终端装置是由一个终端处理程序管理和控制理和控制1. 1. 概述概述( (续续2)2)n终端处理程序提供的输入输出方式对整个用户命令接口有终端处理程序提供的输入输出方式对整个用户命令接口有

40、重大影响重大影响n也确定了用户与其应用程序之间的通信方式也确定了用户与其应用程序之间的通信方式n终端处理程序必须作为用户接口的一个组成部分来考虑终端处理程序必须作为用户接口的一个组成部分来考虑 即,直接影响命令接口的一些问题须由终端处理程序解决即,直接影响命令接口的一些问题须由终端处理程序解决1. 1. 概述概述( (续续3)3)(3)直接影响命令接口的一些问题)直接影响命令接口的一些问题(a a)回送显示(回送显示(EchoingEchoing) 通常,每从键盘打入一个字符,终端处理程序回送响应通常,每从键盘打入一个字符,终端处理程序回送响应的字符到显示屏上的字符到显示屏上 有时用户要求其显

41、示一个不同的字符或不显示(例如,有时用户要求其显示一个不同的字符或不显示(例如,用户键入口令时)用户键入口令时) 对于通过远程通信线路访问的终端,可能需要抑制这种对于通过远程通信线路访问的终端,可能需要抑制这种回送回送 回送显示委托给远程终端来实现回送显示委托给远程终端来实现1. 1. 概述概述( (续续4)4)(b b)提前打入(提前打入(Type aheadType ahead) 假定输入字符在一程序准备处理它们之前打入,则由假定输入字符在一程序准备处理它们之前打入,则由“提前打入进程提前打入进程”把它们保存在缓冲区中把它们保存在缓冲区中 缓冲区容量是有限,当其存满后,再有输入时,或者漏掉

42、,或者将破坏缓冲区容量是有限,当其存满后,再有输入时,或者漏掉,或者将破坏缓冲区原有的内容缓冲区原有的内容(c c)字符变换字符变换 有些情况下,需要对打入的字符进行代码变换有些情况下,需要对打入的字符进行代码变换 如,把小写字母转换成大写字母,或者反之如,把小写字母转换成大写字母,或者反之(d d)行缓冲行缓冲 打入的字符在送到程序前,由终端接口保存,直到整个命令行打入为止打入的字符在送到程序前,由终端接口保存,直到整个命令行打入为止 为用户提供了校验、编辑,甚至取消命令的机会为用户提供了校验、编辑,甚至取消命令的机会(3)直接影响命令接口的一些问题(续)直接影响命令接口的一些问题(续1)1

43、. 1. 概述概述( (续续5)5)(e e)中断字符(中断字符(Break CharactersBreak Characters) 多数交互式命令接口可以接受一些称为中断字符的特多数交互式命令接口可以接受一些称为中断字符的特殊字符,并立即采取相应的行动殊字符,并立即采取相应的行动 如,在许多系统中,同时打入如,在许多系统中,同时打入CTRLCCTRLC字符键,立即终字符键,立即终止当前程序执行,并使命令处理程序重新初始化止当前程序执行,并使命令处理程序重新初始化(3)直接影响命令接口的一些问题(续)直接影响命令接口的一些问题(续2)1. 1. 概述概述( (续续6)6)2. 命令解释程序命令

44、解释程序命令解释程序有两种处理方法:命令解释程序有两种处理方法:(a a)由终端命令解释程序直接处理由终端命令解释程序直接处理 在没有创建子进程功能的系统中在没有创建子进程功能的系统中 终端命令通常由对应的命令解释程序处理终端命令通常由对应的命令解释程序处理 在这样系统中,仅有一个进程对应一个终端用户在这样系统中,仅有一个进程对应一个终端用户(b b)由子进程代为处理由子进程代为处理n在具有创建子进程功能的系统中,对于较为单纯的命令,如在具有创建子进程功能的系统中,对于较为单纯的命令,如列目录,拷贝文件等,命令解释程序本身便能完成,此时由列目录,拷贝文件等,命令解释程序本身便能完成,此时由命令

45、解释程序直接处理命令解释程序直接处理n对较复杂命令,如对于对较复杂命令,如对于C C源程序进行编译,命令解释程序本源程序进行编译,命令解释程序本身不能处理,此时创建一个子进程,并由该子进程运行身不能处理,此时创建一个子进程,并由该子进程运行C C编编译程序译程序3. 命令接口的结构命令接口的结构n命令接口由命令处理器来实现命令接口由命令处理器来实现n命令处理器的实现方式:命令处理器的实现方式:(a a)作为作为OSOS的一个部分的一个部分 如,如,OS/MVTOS/MVT或或VAX/VMSVAX/VMS(b b)作为作为OSOS的一个独特模块,能方便地修改或替换的一个独特模块,能方便地修改或替

46、换 如,如,RT-11RT-11或或CP/MCP/M(c c)作为一易于被替换的普通程序作为一易于被替换的普通程序 如,如,UNIXUNIX操作系统操作系统 (d) (d) 在某些系统中,可能用专门设计的命令接口替代标准在某些系统中,可能用专门设计的命令接口替代标准的命令接口的命令接口 如,多用户如,多用户UNIXUNIX,用户可有不同命令接口用户可有不同命令接口4命令语言命令语言命令语言规定由命令语言规定由OSOS执行的一系列操作执行的一系列操作n在一般的命令语言中,用户通过打入称为命令行的一行在一般的命令语言中,用户通过打入称为命令行的一行指令来规定每一个动作指令来规定每一个动作n每一命令

47、行以命令开始,它标识所要执行的操作每一命令行以命令开始,它标识所要执行的操作n大多数命令是用运行一个程序来执行所请求的操作大多数命令是用运行一个程序来执行所请求的操作 多数命令行中要给出一些参数多数命令行中要给出一些参数, , 每一命令语句实际上是带每一命令语句实际上是带有参数的一个过程调用有参数的一个过程调用一个命令语言通常提供下列几组命令:一个命令语言通常提供下列几组命令:(1 1)系统访问命令)系统访问命令登录命令,如,登录命令,如,loginlogin等等撤离命令,如,撤离命令,如,logoutlogout等等(2 2)文件管理命令)文件管理命令(3 3)编辑、编译和执行命令)编辑、编

48、译和执行命令(4 4)询问命令)询问命令(5 5)操作员专用命令)操作员专用命令4. 命令语言(续命令语言(续1)4. 命令语言(续命令语言(续2) 命令行:规定由操作系统执行的一系列操作命令行:规定由操作系统执行的一系列操作n命令行命令行:一行可有一个或多个命令,每次一行,包含一个或:一行可有一个或多个命令,每次一行,包含一个或多个命令。多个命令。nshell给出提示符出提示符时可可输入,以回入,以回车键提交。如:提交。如:n“ls -a -l”列出当前目列出当前目录文件列表;文件列表;ngunzip mp1.tar.gz; tar -xvf mp1.tar; rm -r -f mp1.ta

49、r为解解压缩后再展开。后再展开。n命令格式命令格式:一个命令可有命令:一个命令可有命令参数参数,格式包括,格式包括选项/开关开关 (option/switch)或参数或参数(argument)。n如如UNIX系系统: cp -r doc /tmpargv0, argv1, .(含含子目子目录的文件复制:的文件复制:/tmp为目目标地址)地址)4. 命令语言(续命令语言(续3)n命令分命令分类:内部命令和外部命令:内部命令和外部命令n内部命令:内部命令:直接由直接由shell本身完成本身完成,功能,功能简单、使用、使用频繁;繁;如:如:DOS的的copy命令。命令。n外部命令:运行相外部命令:运

50、行相应的的可可执行文件行文件,在使用,在使用时加加载。如:。如:DOS的的xcopy命令命令n命令命令简化化:利用:利用参数替参数替换可可简化命令化命令输入,通配符入,通配符(?, *)用于用于匹配一匹配一组文件名文件名n如:如:UNIX的的cp命令:当前目命令:当前目录上有两个上有两个1.tar和和2.tar时,cp *.tar /tmp等同于等同于cp 1.tar /tmp; cp 2.tar /tmpn命令的附加功能命令的附加功能 命令的附加功能用以扩大命令的功能性、选择性、适命令的附加功能用以扩大命令的功能性、选择性、适应性。包括:应性。包括:(1)参数与变量)参数与变量 位置变量位置

51、变量 关键字变量关键字变量(2)命令通配符)命令通配符(3)重定向)重定向(4)管道与过滤器)管道与过滤器4. 命令语言(续命令语言(续4)批处理命令:批处理命令:针对脱机用户操作和大量顺序操作功能而设计针对脱机用户操作和大量顺序操作功能而设计 批处理命令可以是专门的命令,也可是系统的批处理命令可以是专门的命令,也可是系统的基本命令;还有有关的语法结构,循环、分支、基本命令;还有有关的语法结构,循环、分支、转移、判别等,构成一套特殊的命令语言转移、判别等,构成一套特殊的命令语言5命令文件命令文件5命令文件(续)命令文件(续)n提前写出命令并存入文件,称之为命令文件提前写出命令并存入文件,称之为

52、命令文件n命令文件提供了一种把一系列命令组装成文件的方法,然命令文件提供了一种把一系列命令组装成文件的方法,然后用文件名作为命令名执行另外一系列命令后用文件名作为命令名执行另外一系列命令n特点:特点:(1 1)接受参数、变量,宏变量替换)接受参数、变量,宏变量替换(2 2)允许嵌套形式调用其他命令文件)允许嵌套形式调用其他命令文件(3 3)允许参数来自终端的命令文件本身)允许参数来自终端的命令文件本身(4 4)允许执行显示到终端、存入文件或送入打印机)允许执行显示到终端、存入文件或送入打印机(5 5)允许命令加入注释)允许命令加入注释(6 6)出错时允许用户干预)出错时允许用户干预(7 7)可

53、把输入传给程序,可有循环、分支、转移等)可把输入传给程序,可有循环、分支、转移等时间片轮转:时间片轮转:n在在OSOS控制下,采用控制下,采用“时间片轮转时间片轮转”方法使每个终端作业都方法使每个终端作业都能在一个能在一个“时间片时间片”内去占用处理器内去占用处理器n当时间片用完后,让出处理器给另一个终端作业当时间片用完后,让出处理器给另一个终端作业n这样,保证从终端用户输入命令到计算机系统给出应答这样,保证从终端用户输入命令到计算机系统给出应答 只是几秒钟的时间,使端用户感到满意只是几秒钟的时间,使端用户感到满意6. 交互式系统实例交互式系统实例分时系统分时系统分时系统中的用户控制作业的执行

54、大致有四个阶分时系统中的用户控制作业的执行大致有四个阶段:段:n终端的连接终端的连接n用户登录用户登录n控制作业执行控制作业执行n用户退出用户退出6. 交互式系统实例交互式系统实例分时系统分时系统(续续1)(1) 终端的连接终端的连接必须使终端设备与计算机系统在线路上接通必须使终端设备与计算机系统在线路上接通n近程终端是直接与计算机系统连接的,当终端设备加电后,近程终端是直接与计算机系统连接的,当终端设备加电后,终端就与计算机系统在线路上接通了终端就与计算机系统在线路上接通了n远程终端通过租用专线或交换线接到计算机系统,在终端远程终端通过租用专线或交换线接到计算机系统,在终端加电后用户还需通过

55、电话拨号进行呼叫,直到接通加电后用户还需通过电话拨号进行呼叫,直到接通当终端与计算机系统在线路上接通后,计算机系统会在终端上当终端与计算机系统在线路上接通后,计算机系统会在终端上显示信息告诉用户显示信息告诉用户6. 交互式系统实例交互式系统实例分时系统分时系统(续续2)(2) 用户登录用户登录用户必须向系统登录用户必须向系统登录n用户首先输入用户首先输入“登录登录”命令(命令(LOGONLOGON)命令命令 系统会向询问用户名、作业名、口令和资源需求等系统会向询问用户名、作业名、口令和资源需求等 经过识别用户、核对口令,系统在终端上显示经过识别用户、核对口令,系统在终端上显示“已登录已登录”和

56、和进入系统的时间等信息进入系统的时间等信息n若口令不对或资源暂时不能满足时,则系统在终端上显示若口令不对或资源暂时不能满足时,则系统在终端上显示“登录不成功登录不成功”并给出登录失败的原因并给出登录失败的原因n用户的登录过程可看作是对终端作业的作业调度用户的登录过程可看作是对终端作业的作业调度6. 交互式系统实例交互式系统实例分时系统分时系统(续续3)(3) 控制作业执行控制作业执行登录成功的终端用户登录成功的终端用户n可从终端上输入作业的程序和数据可从终端上输入作业的程序和数据n使用系统提供的命令语言或会话语句控制作业执行使用系统提供的命令语言或会话语句控制作业执行每输入一命令或一会话语句后

57、,由系统解释执行每输入一命令或一会话语句后,由系统解释执行且在终端上显示执行成功或问题且在终端上显示执行成功或问题由用户决定下一步命令或会话由用户决定下一步命令或会话直到作业完成直到作业完成6. 交互式系统实例交互式系统实例分时系统分时系统(续续4)(4) 用户退出用户退出用户输入用户输入“退出退出”命令(命令(LOGOFF LOGOFF 命令)请求退出系统命令)请求退出系统系统接收命令后就收回该用户所占的资源让其退出系统接收命令后就收回该用户所占的资源让其退出同时在终端上显示同时在终端上显示“退出时间退出时间”或或“使用系统时间使用系统时间6. 交互式系统实例交互式系统实例分时系统分时系统(

58、续续5)7. 图形用户接口图形用户接口GUI在命令行方式下,用户与操作系统的交互要求用户在命令行方式下,用户与操作系统的交互要求用户记忆命令格记忆命令格式式。在图形用户接口方式下,用户可利用鼠标对屏幕上的。在图形用户接口方式下,用户可利用鼠标对屏幕上的图标图标进行操作进行操作,完成与操作系统的交互,从而减少记忆内容,方便,完成与操作系统的交互,从而减少记忆内容,方便用户使用。它的技术基础是用户使用。它的技术基础是高分辩显示器和鼠标高分辩显示器和鼠标(1)窗口系统)窗口系统(window system)的特点的特点(2)窗口系统的图形元素及其状态)窗口系统的图形元素及其状态(3)窗口管理器)窗口

59、管理器(window manager)(4)例子)例子7. 图形用户接口图形用户接口GUI(续(续1)(1)窗口系统)窗口系统(window system)的特点的特点n利用图形元素表示功能利用图形元素表示功能:将各种图形元素显示在屏幕上,用户可以通:将各种图形元素显示在屏幕上,用户可以通过操纵图形元素(如菜单、图标)来执行相应的功能过操纵图形元素(如菜单、图标)来执行相应的功能n同屏多窗口与并发进程相对应同屏多窗口与并发进程相对应:屏幕上同时显示多个窗口;一个进程:屏幕上同时显示多个窗口;一个进程可以对应一个或多个窗口;窗口动态创建、改变、撤销可以对应一个或多个窗口;窗口动态创建、改变、撤销

60、n输入方式输入方式:鼠标鼠标指针点击(或其他定位设备)和指针点击(或其他定位设备)和键盘键盘输入;通常是输入;通常是即即时交互时交互n一致的图形元素风格一致的图形元素风格可方便用户学习和使用:如按钮、滚动条可方便用户学习和使用:如按钮、滚动条n优点优点:操作直观(不必记命令行参数),可与多个进程交互,便于进:操作直观(不必记命令行参数),可与多个进程交互,便于进行多媒体处理简而言之:交互的并发性好、传递信息量大行多媒体处理简而言之:交互的并发性好、传递信息量大7. 图形用户接口图形用户接口GUI(续(续2)(2)窗口系统的图形元素及其状态)窗口系统的图形元素及其状态n窗口窗口(window):

61、屏幕上的屏幕上的矩形区域矩形区域(可以通(可以通过掩模掩模mask来来显示任意形状)示任意形状)n包括:包括:标题条条(title bar)、边框框(border)、窗口角窗口角(corner)、系系统菜菜单框框(system menu box)、最大化最大化/最小化按最小化按钮(maximize/minimize)、滚动条条(scroll bar)等等n状状态:当前当前/非当前非当前窗口窗口(active/inactive) 接受接受输入,最大化入,最大化/最小化最小化/恢复原大小恢复原大小(restore),窗口的窗口的前后遮盖前后遮盖Z轴,焦点焦点(focus)接受接受键盘输入(而非鼠入

62、(而非鼠标)n桌面桌面(desktop)和和墙纸(wallpaper)n图标(icon):一个小一个小图象象(如如32x32或或64x64 pixel),通常供鼠通常供鼠标指指针点点击。通通过不同的不同的图标可以可以标识不同的不同的对象象。如:可。如:可执行程序、最小化的窗口、行程序、最小化的窗口、文件文件动画画图标7. 图形用户接口图形用户接口GUI(续(续3)n鼠鼠标指指针(mouse pointer):鼠鼠标指指针通常通常对应屏幕上的屏幕上的光光标(cursor)n光光标在屏幕上只有一个,在不同屏幕位置(上下文)可以呈在屏幕上只有一个,在不同屏幕位置(上下文)可以呈现不同形不同形状状,可

63、以独立于鼠,可以独立于鼠标来直接操来直接操纵光光标n鼠鼠标点点击:左:左键/右右键/中中键(left/right/middle button),单击(click)/双双击(double-click),拖曳拖曳(drag)/拖放拖放(drag-and-drop)n按按钮(button):鼠鼠标点点击或按回或按回车键/空格空格键时执行相行相应功能,如功能,如 menu button;提供提供单项或多或多项选择,如,如radiobutton和和checkbutton;当前按当前按钮及其切及其切换n菜菜单(menu):临时窗口,菜窗口,菜单条条(menu bar)、弹出式菜出式菜单、下拉式菜、下拉式菜

64、单(上下文相关菜(上下文相关菜单)n对话框框(dialog box):临时窗口,窗口,显示提示信息示提示信息(message)或填写用或填写用户设置置7. 图形用户接口图形用户接口GUI(续(续4)(3)窗口管理器)窗口管理器(window manager):形成统一的使用形成统一的使用风格风格n处理窗口的处理窗口的普遍特性普遍特性,如:窗口的大小、位置(窗口,如:窗口的大小、位置(窗口的标题条、边框、控制菜单框)窗口中由应用程的标题条、边框、控制菜单框)窗口中由应用程序管理的部分称为序管理的部分称为客户区客户区(client area)n协调各窗口间的协调各窗口间的相互关系相互关系,如:窗口

65、之间的前后遮盖,如:窗口之间的前后遮盖关系,桌面关系,桌面7. 图形用户接口图形用户接口GUI(续(续5)(4)例子:)例子: MS Windowsn特点特点nMS Windows结构结构n基本概念基本概念n消息处理:两种方法消息处理:两种方法7. 图形用户接口图形用户接口GUI(续(续6)特点特点n是是OS 的一部分的一部分,提供默认的窗口风格(如,提供默认的窗口风格(如菜单、对话框)菜单、对话框)n除除Windows2000外,窗口应用程序只能在外,窗口应用程序只能在控控制台制台(本地)执行(本地)执行7. 图形用户接口图形用户接口GUI(续(续7)MS Windows结构:结构:可分成三

66、个部分nOS系统服务系统服务(KERNEL):内存管理、程序加载(包括内存管理、程序加载(包括DLL)、)、任务调度、文件管理任务调度、文件管理n用户接口用户接口(USER):窗口和消息管理,以及菜单、控制、对窗口和消息管理,以及菜单、控制、对话框、定时器等话框、定时器等n图形设备接口图形设备接口(GDI, Graphic Device Interface):管理显示管理显示器,为器,为USER与应用程序提供与硬件设备独立的接口与应用程序提供与硬件设备独立的接口7. 图形用户接口图形用户接口GUI(续(续8)基本概念基本概念n消息消息(message):消息作为窗口的输入,如用户操作、其他窗消

67、息作为窗口的输入,如用户操作、其他窗口或系统发出的请求或通知口或系统发出的请求或通知n窗口过程窗口过程(window procedure):消息由各窗口自己的窗口过程消息由各窗口自己的窗口过程来作处理来作处理n窗口过程的调用参数:窗口过程的调用参数:接收窗口句柄(可以在多个窗口共接收窗口句柄(可以在多个窗口共用一个窗口过程时加以区分)、消息用一个窗口过程时加以区分)、消息ID(消息的类型)、消息的类型)、消息参数(消息参数(16+32位或位或32+32位值,整数或指针)位值,整数或指针)n还可以取得消息的发生时间和屏幕坐标还可以取得消息的发生时间和屏幕坐标7. 图形用户接口图形用户接口GUI(

68、续(续9)消息处理:两种方法消息处理:两种方法n排排队消息:消息:放到放到进程(程(线程)的程)的FIFO消息消息队列里。如列里。如应用程序用程序发送的消送的消息,系息,系统的鼠的鼠标、键盘、定、定时器、窗口器、窗口绘制和退出等。排制和退出等。排队消息所用的消息所用的API:n发送消息到消息送消息到消息队列列PostMessage;n从消息从消息队列列读取消息取消息GetMessage, PeekMessage;n分分发一个消息到相一个消息到相应窗口窗口DispatchMessage;n非排非排队消息:消息:直接直接发送到指定窗口的窗口送到指定窗口的窗口过程。非排程。非排队消息所用的消息所用的

69、API:nSendMessage,直到接收方窗口直到接收方窗口过程程处理完才返回理完才返回n接收方正接收方正处于于GetMessage,而接受并而接受并处理理SendMessage送来的消息之送来的消息之后,仍后,仍处于于GetMessage。为防止死防止死锁,一般要:,一般要:if (InSendMessage() ReplyMessage(TRUE);7. 图形用户接口图形用户接口GUI(续(续10)n消息循环:不断移出消息,并加以处理。用户不作处理的消消息循环:不断移出消息,并加以处理。用户不作处理的消息,应传给默认窗口过程加以处理:息,应传给默认窗口过程加以处理:DefWindowPr

70、oc()nWM_PAINT消息:通知窗口客户区中的某部分消息:通知窗口客户区中的某部分(region)已被已被改变,应用程序应该对其改变,应用程序应该对其重新绘制重新绘制。总是被排在。总是被排在线程消息队线程消息队列的最后列的最后,并且多个,并且多个WM_PAINT消息中的消息中的region会会自动被合自动被合并为一个并为一个7. 图形用户接口图形用户接口GUI(续(续11)四四. 系统调用系统调用1.1.系统调用简介系统调用简介系统调用,是用户在程序中调用操作系统所提供的一些子功能系统调用,是用户在程序中调用操作系统所提供的一些子功能n这是特殊的过程调用,由特殊的机器指令实现这是特殊的过程

71、调用,由特殊的机器指令实现n这个指令还将系统转入管态这个指令还将系统转入管态系统调用程序是一个低级过程,只能由汇编语言直接访问系统调用程序是一个低级过程,只能由汇编语言直接访问系统调用是操作系统提供给编程人员的唯一接口系统调用是操作系统提供给编程人员的唯一接口利用系统调用,动态请求和释放系统资源利用系统调用,动态请求和释放系统资源完成与硬件相关的工作以及控制程序的执行等完成与硬件相关的工作以及控制程序的执行等 每个操作系统都提供几百种系统调用,包括:外存文件与目每个操作系统都提供几百种系统调用,包括:外存文件与目录的读写,各种录的读写,各种I/O设备的使用,在程序中启动另一个程序,设备的使用,

72、在程序中启动另一个程序,查询和统计系统资源使用情况等等查询和统计系统资源使用情况等等实际上系统调用语句本身是硬件提供的(机器指令),但其所实际上系统调用语句本身是硬件提供的(机器指令),但其所调用的功能是操作系统提供的调用的功能是操作系统提供的每种机器的机器指令集中都有一条系统调用指令(访管指令)每种机器的机器指令集中都有一条系统调用指令(访管指令)1.1.系统调用简介系统调用简介( (续续1)1)汇编程序例子:打印汇编程序例子:打印5个字符个字符 方法方法1:调用:调用DOS功能功能 MOVE A, PARA1 MOVE B, PARA2 INT 21H系统调用的例子系统调用的例子-11.1

73、.系统调用简介系统调用简介( (续续2)2) 方法方法2:用:用OUT语句直接打印语句直接打印 L1:MOVE A,I IN ADDR1,B OR B,BS JNC L1 OUT ADDR2,A RET系统调用的例子系统调用的例子-21.1.系统调用简介系统调用简介( (续续3)3) I/O设备的硬件接口设备的硬件接口一般由四种寄存器(地址,数据,状态,控制)或一般由四种寄存器(地址,数据,状态,控制)或其子集组成其子集组成任一程序中若要使用任一程序中若要使用I/O设备来输出数据或接受输入设备来输出数据或接受输入必须通过对这四种寄存器读写的必须通过对这四种寄存器读写的I/O机器指令进行机器指令

74、进行1.1.系统调用简介系统调用简介( (续续4)4) 汇编程序例子汇编程序例子2:读写硬盘文件内容:读写硬盘文件内容 MOVE DX,OFFSETBUFF MOVE CX,BYTE MOVE BX,HANDLE MOVE AH,3FH INT 21H系统调用的例子系统调用的例子-31.1.系统调用简介系统调用简介( (续续5)5)n磁盘读写的例子:更复杂磁盘读写的例子:更复杂原因原因: A、磁盘的控制和状态接口寄存器比打印机的复杂的多,磁盘的控制和状态接口寄存器比打印机的复杂的多,而且还有地址接口寄存器而且还有地址接口寄存器 B、通常一个外存存储介质上可以存放多个文件,随着通常一个外存存储介

75、质上可以存放多个文件,随着文件的建立、删除和拷贝在不停地变化,每个文件的文件的建立、删除和拷贝在不停地变化,每个文件的长度随着其内容的变化而不停地变化长度随着其内容的变化而不停地变化系统调用的例子系统调用的例子-41.1.系统调用简介系统调用简介( (续续6)6) 高级语言例子:打印高级语言例子:打印5个字符个字符 char buff4=“abcde”; for(i=4;i=0;i-) print(buffi);高级语言例子:高级语言例子: 读硬盘文件读硬盘文件f1的第的第10到到20个字节个字节 seek(fd,10,0); read(fd,buff,11);系统调用的例子系统调用的例子-5

76、1.1.系统调用简介系统调用简介( (续续7)7).A= A+1printf(. . .)B=B+A(1)源程序段源程序段1.1.系统调用简介系统调用简介( (续续8)8)(2)printf目标代码目标代码(3)程序段编译产生的程序段编译产生的可执行代码可执行代码(4)操作系统操作系统内部代码内部代码INT.INTA=A+1B=B+A.INOUT.嵌入后嵌入后该系统调该系统调用的操作用的操作系统内部系统内部实现代码实现代码1.1.系统调用简介系统调用简介( (续续9)9)用户程序用户程序函数函数操作系统操作系统n凡是与硬件相关、与应用无关的工作,都通过操作系凡是与硬件相关、与应用无关的工作,都

77、通过操作系统程序来完成统程序来完成1.1.系统调用简介系统调用简介( (续续10)10)2. 系统调用的处理过程系统调用的处理过程为了保证为了保证OSOS不被用户程序破坏不被用户程序破坏 不允许用户程序访问不允许用户程序访问OS的系统程序和数据的系统程序和数据 那么,怎样得到系统服务的呢?那么,怎样得到系统服务的呢?需要有一个类似于硬件中断处理的处理机构需要有一个类似于硬件中断处理的处理机构当用户使用操作系统调用时,产生一条相应的指令当用户使用操作系统调用时,产生一条相应的指令处理机在执行到该指令时发生相应的中断,并发出有关处理机在执行到该指令时发生相应的中断,并发出有关的信号给该处理机构的信

78、号给该处理机构该处理机构在收到了处理机发来的信号后,启动相关的该处理机构在收到了处理机发来的信号后,启动相关的处理程序去完成该系统调用所要求的功能处理程序去完成该系统调用所要求的功能2. 系统调用的处理过程(续系统调用的处理过程(续1)在系统中为控制系统调用服务的机构称为陷入在系统中为控制系统调用服务的机构称为陷入(TRAP)或或异常处理机构异常处理机构相对应,把由于系统调用引起处理机中断的指令称为陷入或相对应,把由于系统调用引起处理机中断的指令称为陷入或异常指令(或称访管指令)异常指令(或称访管指令)在操作系统中,每个系统调用都对应一个事先给定的功能号,在操作系统中,每个系统调用都对应一个事

79、先给定的功能号,例如例如0、1、2、3等等在陷入指令中必须包括对应系统调用的功能号在陷入指令中必须包括对应系统调用的功能号而且,在有些陷入指令中,还带有传给陷入处理机构和内部而且,在有些陷入指令中,还带有传给陷入处理机构和内部处理程序的有关参数处理程序的有关参数n必须为实现系统调用功能的子程序编造入口地址表必须为实现系统调用功能的子程序编造入口地址表n每个入口地址与相应的系统程序名对应每个入口地址与相应的系统程序名对应n陷入处理程序把陷入指令包含功能号与入口地址表有关项对陷入处理程序把陷入指令包含功能号与入口地址表有关项对应应, , 系统调用功能号驱动有关子程序执行系统调用功能号驱动有关子程序

80、执行n在系统调用处理结束之后,用户程序需利用系统调用返回结在系统调用处理结束之后,用户程序需利用系统调用返回结果继续执行果继续执行保护现场:保护现场:n在进入系统调用处理之前,陷入处理机构还需保存处理机现在进入系统调用处理之前,陷入处理机构还需保存处理机现场场n在系统调用处理结束之后,要恢复处理机现场,现场被保护在系统调用处理结束之后,要恢复处理机现场,现场被保护在特定的内存区或寄存器中在特定的内存区或寄存器中2. 系统调用的处理过程(续系统调用的处理过程(续2) system call 入口地址表入口地址表 (1)保护处保护处理现场理现场(2)取系统取系统调用功能号调用功能号并寻找子程并寻找

81、子程序入口序入口(3)返回返回A0A1Ai AnA0 A1AiAnSub0Sub1SubiSubn 用户程序用户程序 陷入处理机构陷入处理机构 系统子程序系统子程序系统调用的处理过程系统调用的处理过程系统调用处理过程系统调用处理过程read (fd, buffer, nbytes)参数传递过程问题参数传递过程问题怎样实现用户程序和系统程序间的参数传递?怎样实现用户程序和系统程序间的参数传递?常用的实现方法:常用的实现方法:n由陷入指令自带参数:陷入指令的长度有限的,且还由陷入指令自带参数:陷入指令的长度有限的,且还要携带系统调用功能号,只能自带有限的参数要携带系统调用功能号,只能自带有限的参数

82、n通过有关通用寄存器来传递参数:这些寄存器应是系通过有关通用寄存器来传递参数:这些寄存器应是系统程序和用户程序都能访问,由于寄存器长度较短,统程序和用户程序都能访问,由于寄存器长度较短,从法传递较多的参数从法传递较多的参数n大多在内存中开辟专用堆栈区来传递参数大多在内存中开辟专用堆栈区来传递参数3. 系统调用的分类系统调用的分类将系统的功能分为两部分:将系统的功能分为两部分:n系统自身所需要的系统自身所需要的n作为服务提供给用户的作为服务提供给用户的OS的系统调用的系统调用: :n进程控制类系统调用进程控制类系统调用n文件操作类系统调用文件操作类系统调用n进程通信类系统调用进程通信类系统调用n

83、设备管理类系统调用设备管理类系统调用n信息维护类系统调用信息维护类系统调用进程管理进程管理文件管理文件管理目录管理目录管理其他其他 系统调用方式(系统调用方式(INT)与程序中一般的调用方式与程序中一般的调用方式的的相同点相同点:n改变指令流程改变指令流程n重复执行和公用重复执行和公用n改变指令流程后需要返回原处改变指令流程后需要返回原处4.系统调用与一般过程调用的比较系统调用与一般过程调用的比较系系统调用方式(用方式(INT)与程序中一般的)与程序中一般的调用方式的用方式的不同点不同点:运行在不同的系统状态运行在不同的系统状态 n一般过程调用,其调用程序和被调用程序都运行在相同状态:一般过程

84、调用,其调用程序和被调用程序都运行在相同状态:核心态或用户态核心态或用户态n系统调用:调用程序在用户态,被调用程序在系统态系统调用:调用程序在用户态,被调用程序在系统态状态的转换状态的转换n一般的过程调用不涉及系统状态的转换,可直接由调用过程转一般的过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程向被调用过程n运行系统调用时,调用和被调用过程在不同系统状态,不允许运行系统调用时,调用和被调用过程在不同系统状态,不允许由调用过程直接转向被调用过程由调用过程直接转向被调用过程n通过软中断机制先由用户态转换为核心态通过软中断机制先由用户态转换为核心态n在在OSOS核心分析后,转向相应的系

85、统调用处理子程序核心分析后,转向相应的系统调用处理子程序4.4.系统调用与一般过程调用的比较(续系统调用与一般过程调用的比较(续1 1)返回问题返回问题n一般过程调用在被调用过程执行完后,回调用过程一般过程调用在被调用过程执行完后,回调用过程n抢占式调度的系统中,被调用过程执行完后,系统将对抢占式调度的系统中,被调用过程执行完后,系统将对所有要求运行的进程进行优先级分析。如果调用进程仍所有要求运行的进程进行优先级分析。如果调用进程仍有最高优先级,则返回到调用进程执行有最高优先级,则返回到调用进程执行 否则,引起重新调度,让优先级最高的进程优先执行。此否则,引起重新调度,让优先级最高的进程优先执

86、行。此时,系统把调用进程放入就绪队列时,系统把调用进程放入就绪队列嵌套或递归调用嵌套或递归调用n对系统调用,一般不允许在同一个进程中发生嵌套或递对系统调用,一般不允许在同一个进程中发生嵌套或递归(不同进程可以重入同一个系统调用)归(不同进程可以重入同一个系统调用)4.4.系统调用与一般过程调用的比较(续系统调用与一般过程调用的比较(续3 3) 进入方式不同进入方式不同nCALL指令的内部实现过程指令的内部实现过程n返回地址压栈(即该返回地址压栈(即该CALL指令所在的地址)指令所在的地址)n将该将该CALL指令中所含的地址(即被调用代码所指令中所含的地址(即被调用代码所在地址)送入在地址)送入

87、PCnRET指令的内部实现过程指令的内部实现过程n从栈顶弹出返回地址送入程序计数器从栈顶弹出返回地址送入程序计数器PC利用利用int或或trap指令进行系统调用;利用指令进行系统调用;利用call 或或 jmp 指令进入普通的过程调用指令进入普通的过程调用4.系统调用与一般过程调用的比较(续系统调用与一般过程调用的比较(续4)系统调用是动态调用,而系统调用是动态调用,而CALL调用方式是静态调用方式是静态调用调用a. 同一程序中不包含被调用代码同一程序中不包含被调用代码 系统调用是动态调用,程序中不包含被调用代系统调用是动态调用,程序中不包含被调用代码,好处:码,好处:(1)用户程序长度缩短)

88、用户程序长度缩短(2)当)当OS升级时,调用方不必改变升级时,调用方不必改变4.系统调用与一般过程调用的比较(续系统调用与一般过程调用的比较(续5) b. 系统调用方式的调用地址和返回地址都是不固系统调用方式的调用地址和返回地址都是不固定的定的 系统调用指令中不包含调用地址系统调用指令中不包含调用地址, 只包含功能号只包含功能号 是按功能号(在可执行目标程序中)调用的是按功能号(在可执行目标程序中)调用的在操作系统内部在操作系统内部 由系统调用处理程序通过系统调用分支表由系统调用处理程序通过系统调用分支表 (OS的一个数据结构)的一个数据结构) 将功能号转换为相应的指令地址将功能号转换为相应的

89、指令地址4.系统调用与一般过程调用的比较(续系统调用与一般过程调用的比较(续6).功能号功能号 地址地址显显 示示打打 印印读文件读文件.OS的系统调用分支表的系统调用分支表OS代码代码显示显示打印打印读文件读文件OS用户程序用户程序INT.4.系统调用与一般过程调用的比较(续系统调用与一般过程调用的比较(续7)系统调用返回指令中不包括返回地址,通过栈保系统调用返回指令中不包括返回地址,通过栈保存和弹出返回地址存和弹出返回地址系统调用返回地址不固定,因为用户程序在不同系统调用返回地址不固定,因为用户程序在不同的地方调用的地方调用OS CALL调用方式是静态调用,调用方式是静态调用,被调用代码与

90、调用被调用代码与调用代码在同一程序之内代码在同一程序之内。CALL调用方式,其调用方式,其调用调用地址是固定的地址是固定的,包含在调用语句中;,包含在调用语句中;返回地址是返回地址是不固定的不固定的(同一子程序可能被不同处多次调用)(同一子程序可能被不同处多次调用),在程序执行过程中通过栈的实现来保存和弹出,在程序执行过程中通过栈的实现来保存和弹出返回地址返回地址4.系统调用与一般过程调用的比较(续系统调用与一般过程调用的比较(续8)c. 安全接口安全接口INT指令和指令和IRET指令的执行过程中指令的执行过程中 要处理程序状态字要处理程序状态字PSW INT指令中要保存用户程序的老指令中要保

91、存用户程序的老PSW 并根据中断向量表设置新并根据中断向量表设置新PSW IRET指令中要在返回用户程序前恢复用户程序指令中要在返回用户程序前恢复用户程序的老的老PSW4.系统调用与一般过程调用的比较(续系统调用与一般过程调用的比较(续9)安全接口(续安全接口(续1)目的:目态、管态的管理目的:目态、管态的管理系统态与用户态的转换系统态与用户态的转换 由系统在由系统在INT指令与指令与IRET指令内部自动完成指令内部自动完成 没有用一条单独的专门指令没有用一条单独的专门指令好处:有效地防止在系统态下执行用户程序好处:有效地防止在系统态下执行用户程序4.系统调用与一般过程调用的比较(续系统调用与

92、一般过程调用的比较(续10)5. Win32 应用程序接口应用程序接口n在在Windows中,定义了一系列程序中,定义了一系列程序(应用程序接口应用程序接口Win32 API) ,提供提供OS服务服务n这个接口(部分)支持这个接口(部分)支持Win95 以后的以后的Windows版本版本Win32 API调用的种类非常多,以千计算调用的种类非常多,以千计算n在在Windows中不可能分辨出哪些是系统调用(被内核执行),中不可能分辨出哪些是系统调用(被内核执行),哪些是用户空间的库调用哪些是用户空间的库调用n事实上,一个事实上,一个Windows版本中的系统调用也许在另一个版本中的系统调用也许在

93、另一个Windows版本中会在用户空间执行版本中会在用户空间执行n由于图形子系统在内核中运行(在某些由于图形子系统在内核中运行(在某些Windows版本中),版本中),它们也是系统调用,否则是库调用它们也是系统调用,否则是库调用n操作系统怎样开始运行操作系统怎样开始运行n怎样形成系统操作环境怎样形成系统操作环境n怎样从程序的顺序执行转换到支持程序的并发执行怎样从程序的顺序执行转换到支持程序的并发执行五五. 操作系统的安装与启动操作系统的安装与启动操作系统的引导有两种方式:操作系统的引导有两种方式:n独立引导(独立引导(bootupbootup)n辅助下装(辅助下装(downloaddownlo

94、ad)1. 操作系统的引导和装入操作系统的引导和装入(1 1)独立引导方式)独立引导方式n大多数系统采用大多数系统采用nOSOS核心文件存储在系统本身的存储设备中核心文件存储在系统本身的存储设备中n由系统自己将由系统自己将OSOS核心程序读入内存并运行核心程序读入内存并运行n最后建立一个操作环境最后建立一个操作环境1. 操作系统的引导和装入操作系统的引导和装入(续续1)独立引导方式步骤独立引导方式步骤(1 1)系统加电,执行系统初启程序)系统加电,执行系统初启程序(2 2)执行初启程序,对系统硬件和配置进行自检,保证系统)执行初启程序,对系统硬件和配置进行自检,保证系统没有硬件错误没有硬件错误

95、(3 3)从硬盘中读入操作系统初启文件,并将控制权交给该程)从硬盘中读入操作系统初启文件,并将控制权交给该程序模块序模块(4 4)执行操作系统初启程序,完成系统环境配置和操作系统)执行操作系统初启程序,完成系统环境配置和操作系统初始化工作初始化工作(5 5)继续读入其余的)继续读入其余的OSOS文件,逐个执行相应的系统程序,完文件,逐个执行相应的系统程序,完成成OSOS各种功能模块的装入,完善各种功能模块的装入,完善OSOS的操作环境,做好程序的操作环境,做好程序并发执行的准备并发执行的准备(6 6)等待用户请求和用户作业的输入,经过操作系统调度后)等待用户请求和用户作业的输入,经过操作系统调

96、度后并发执行并发执行1. 操作系统的引导和装入操作系统的引导和装入(续续2)(2)辅助下装方式)辅助下装方式OS主要文件不放在系统本身的存储设备中主要文件不放在系统本身的存储设备中而是在系统启动后,执行下装操作而是在系统启动后,执行下装操作从另外的计算机系统中将操作系统常驻部分传送到该计算机从另外的计算机系统中将操作系统常驻部分传送到该计算机中,使它形成一个操作环境中,使它形成一个操作环境优点:可以节省较大的存储空间优点:可以节省较大的存储空间下装的下装的OS并非是全部代码,只是常驻部分或者专用部分并非是全部代码,只是常驻部分或者专用部分当这部分当这部分OS出现问题和故障时,可以再请求下装出现

97、问题和故障时,可以再请求下装1. 操作系统的引导和装入操作系统的引导和装入(续续3)2. 系统配置与初始化系统配置与初始化操作系统引导是从程序的顺序执行到并发执行的过程操作系统引导是从程序的顺序执行到并发执行的过程在操作系统初始化完成后,才能建立这样一个环境在操作系统初始化完成后,才能建立这样一个环境n步骤:步骤:(1 1)关掉系统中断,以保证系统顺利引导)关掉系统中断,以保证系统顺利引导(2 2)对当前的系统运行环境进行检查,对系统的配置进)对当前的系统运行环境进行检查,对系统的配置进行认定行认定 并保存检测的结果作为系统的初始配置条件。并保存检测的结果作为系统的初始配置条件。(3 3)进行

98、操作系统的初始化)进行操作系统的初始化(1)根据)根据OS设计时定义的全局参数,在内存中建立设计时定义的全局参数,在内存中建立OS工作时所必需的数据结构和各种记录表格,并且根据工作时所必需的数据结构和各种记录表格,并且根据当前系统的环境配置情况,填写相应的表格和结构,当前系统的环境配置情况,填写相应的表格和结构,设定它们的初始条件、参数和状态设定它们的初始条件、参数和状态(2)最重要的是建立有关进程的所有数据结构,如建立)最重要的是建立有关进程的所有数据结构,如建立PCB表,建立相应的进程队列表,建立相应的进程队列(3)操作系统根据检查得到的数据获得自由存储空间的)操作系统根据检查得到的数据获

99、得自由存储空间的容量,并以此作为存储分配的基数之一,同时建立存容量,并以此作为存储分配的基数之一,同时建立存储管理的若干数据结构,如自由空间队列、分配空间储管理的若干数据结构,如自由空间队列、分配空间队列等,获得待分配的自由空间的地址队列等,获得待分配的自由空间的地址3. 初始化工作要点初始化工作要点(4)分别建立系统设备和文件系统的控制结构及相应表)分别建立系统设备和文件系统的控制结构及相应表格,并填写好设备的初始条件、状态和类型,建立好格,并填写好设备的初始条件、状态和类型,建立好访问文件系统的各种索引表格访问文件系统的各种索引表格(5)对)对PCB表和几个进程队列进行初始化表和几个进程队

100、列进行初始化 此时,可以建立一个空进程(此时,可以建立一个空进程(NULL),),或者把执行的或者把执行的这个程序本身作为第一个进程这个程序本身作为第一个进程 如果系统有实时时钟控制,还需对时钟控制逻辑进行初如果系统有实时时钟控制,还需对时钟控制逻辑进行初始化始化3. 初始化工作要点(续初始化工作要点(续1)4. 初始化需要注意的问题初始化需要注意的问题(1)系统初启引导过程不属于操作系统)系统初启引导过程不属于操作系统 由初启过程转入由初启过程转入OS初始化程序才算进入了操初始化程序才算进入了操OS模块模块(2)初启引导程序没有通过,不再进入系统初始化,系)初启引导程序没有通过,不再进入系统

101、初始化,系统出错提示用户重启或停机统出错提示用户重启或停机(3)初始化程序开始要建立大量的数据结构,所有系统)初始化程序开始要建立大量的数据结构,所有系统全局变量都在此过程中建立并定位全局变量都在此过程中建立并定位(4)对数据结构的初始化和赋初值是根据系统设计的目)对数据结构的初始化和赋初值是根据系统设计的目标和规范拟定而进行的,尤其是对标和规范拟定而进行的,尤其是对PCB表的初始化,表的初始化,这些初始值的设置构成并发运行的基础这些初始值的设置构成并发运行的基础(5)在)在OS初始化过程中不允许发生中断,因此必须关闭中断,初始化过程中不允许发生中断,因此必须关闭中断,初始化完成再打开中断,从

102、而进入并发环境初始化完成再打开中断,从而进入并发环境(6)初启引导过程和初始化过程中的程序都是顺序执行的,)初启引导过程和初始化过程中的程序都是顺序执行的,一旦初始化完成便开放中断,当下一个时间片到来或者中断一旦初始化完成便开放中断,当下一个时间片到来或者中断发生就进入了程序的并发执行发生就进入了程序的并发执行 这是顺序到并发的分界点这是顺序到并发的分界点(7)若处于并发环境,没有多个进程或多道程序等待,此时)若处于并发环境,没有多个进程或多道程序等待,此时运行空进程代码,或者进入一个无限循环,或者运行待机程运行空进程代码,或者进入一个无限循环,或者运行待机程序,或者运行安全检测程序等,直到有并发程序进入,引起序,或者运行安全检测程序等,直到有并发程序进入,引起调度切换调度切换4. 初始化需要注意的问题(续初始化需要注意的问题(续1)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号