欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    操作系统教程CH 02 处理器管理.ppt

    • 资源ID:87081797       资源大小:1.13MB        全文页数:109页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    操作系统教程CH 02 处理器管理.ppt

    ch2.1第二讲第二讲 进程管理与调度进程管理与调度2.1 中央处理器中央处理器 2.2 中断技术中断技术2.3 进程及其实现进程及其实现2.4 线程及其实现线程及其实现2.5 处理器调度处理器调度2.6 批处理作业的管理与调度批处理作业的管理与调度2.7 低级调度低级调度ch2.2本章的学习目标本章的学习目标n什么是进程?和程序有何不同?什么是进程?和程序有何不同?n如何实现多道程序并发执行的?如何实现多道程序并发执行的?n进程的状态迁移进程的状态迁移n什么是线程?什么是线程?n处理器调度算法处理器调度算法(按照什么规则让进程占有按照什么规则让进程占有CPU)漫游漫游ch2.4程序的执行过程程序的执行过程n从从PC(程序计数器程序计数器)所指地址取出所指地址取出指令,并且装载到指令,并且装载到IR(指令寄存器指令寄存器)中中nCPU解码并指执行该指令解码并指执行该指令n将执行结果写入到内存当中将执行结果写入到内存当中nPC=下一条指令在内存中的地址下一条指令在内存中的地址Memory指令指令1指令指令2指令指令3.PCCPUIRPC运算运算部件部件ch2.5一个程序的执行只有代码足矣?一个程序的执行只有代码足矣?n一个程序装载入内存后有四个一个程序装载入内存后有四个部分部分:n代码代码n数据数据n堆堆(heap):malloc分配的空间就分配的空间就是从这里来的是从这里来的n栈栈(stack):系统使用的空间,:系统使用的空间,保存函数的返回地址。保存函数的返回地址。Program Address Spacech2.6复习:进程和程序复习:进程和程序n一个程序装载入内存后有四个一个程序装载入内存后有四个部分部分:n代码代码n数据数据n堆堆(heap):malloc分配的空间就分配的空间就是从这里来的是从这里来的n栈栈(stack):系统使用的空间,:系统使用的空间,保存函数的返回地址。保存函数的返回地址。n程序进入到内存执行程序进入到内存执行进程!进程!Program Address Spacech2.7进程和程序进程和程序n进程是一组数据结构的集合,程序只是进程的一个进程是一组数据结构的集合,程序只是进程的一个部分部分n同一个程序可以对应多个进程同一个程序可以对应多个进程(e.g.聊天软件聊天软件)n程序被载入内存开始执行程序被载入内存开始执行进程进程main()A();A()程序程序main()A();A()HeapStackAmain进程进程ch2.8复习:并发进程共享一个复习:并发进程共享一个CPUnPC始终是下一条指令执行始终是下一条指令执行的地址的地址nIR存放当前执行的指令存放当前执行的指令n并发进程共享一个并发进程共享一个CPU时需时需要不断地进行切换:要不断地进行切换:n将将CPU当前的当前的PC和其它寄存和其它寄存器值保存起来器值保存起来n将新进程的将新进程的PC和其它寄存器和其它寄存器值装载入值装载入CPU中中n这种切换也称作进程上下文这种切换也称作进程上下文切换切换CPUIRPC运算运算部件部件进程进程1PC1进程进程2PC2进程进程3PC3ch2.9如何让多个进程使用同一个处理器?如何让多个进程使用同一个处理器?n分时复用让进程感觉它们都拥有一个分时复用让进程感觉它们都拥有一个CPU,但这个,但这个CPU是虚拟的,它们共享一个真实的是虚拟的,它们共享一个真实的CPU。n每一个虚拟的每一个虚拟的CPU都应该拥有一些数据结构都应该拥有一些数据结构nPC和和CPU寄存器堆的当前值,以及目前主存的部分内容寄存器堆的当前值,以及目前主存的部分内容n如何切换这些虚拟如何切换这些虚拟CPU?n保存保存PC和寄存器堆的当前值以及目前主存的部分内容和寄存器堆的当前值以及目前主存的部分内容n将新将新CPU的的PC和寄存器堆值以及主存内容装载进来和寄存器堆值以及主存内容装载进来n谁触发了这些转换谁触发了这些转换?n目前看来是时钟发生器目前看来是时钟发生器CPU1CPU2CPU3CPU1CPU2Time ch2.10进程上下文切换过程图进程上下文切换过程图应用程序代码应用程序代码操作系统代码操作系统代码应用程序代码应用程序代码操作系统代码操作系统代码应用程序代码应用程序代码进程进程1进程进程2时间时间上下文切换上下文切换上下文切换上下文切换ch2.11那些那些CPU状态信息保存到哪去了?状态信息保存到哪去了?n像像CPU当前的当前的PC值和寄存器堆值都是与当前正在执值和寄存器堆值都是与当前正在执行的进程相关的,为了使得该进程在重新获得行的进程相关的,为了使得该进程在重新获得CPU后能够继续工作,在其被剥夺后能够继续工作,在其被剥夺CPU时就应该把那些时就应该把那些CPU状态信息保存到进程的数据结构当中去。状态信息保存到进程的数据结构当中去。n我们把进程运行所需要的这些状态信息称为我们把进程运行所需要的这些状态信息称为进程上进程上下文下文(context),进程,进程(虚拟虚拟CPU)之间的切换叫作之间的切换叫作上上下文切换下文切换。ch2.12多线程的多线程的”Hello world”n多线程多线程的的“Hello World”是文件复制。是文件复制。n在进行一个大文件的复制时,虽然复制窗体上有一在进行一个大文件的复制时,虽然复制窗体上有一个个“取消取消”按钮,但如果不是多线程,就只有到了按钮,但如果不是多线程,就只有到了文件复制完毕时程序才知道用户按了文件复制完毕时程序才知道用户按了“取消取消”钮,钮,典型的先斩后奏。典型的先斩后奏。n而用而用“多线程多线程”,可以用一个线程执行,可以用一个线程执行“疯狂拷贝疯狂拷贝”,一个线程监视按钮状态,在用户按下了,一个线程监视按钮状态,在用户按下了“取消取消”按钮时,程序马上就可以知道,并且马上按钮时,程序马上就可以知道,并且马上“取消取消”。ch2.13多处理器和超线程技术多处理器和超线程技术n超线程处理器超线程处理器被视为两个分被视为两个分离的离的逻辑处理器逻辑处理器。每个逻。每个逻辑处理器都可独立响应中辑处理器都可独立响应中断。第一个逻辑处理器可断。第一个逻辑处理器可追踪一个软件线程,而第追踪一个软件线程,而第二个逻辑处理器则可同时二个逻辑处理器则可同时追踪另一个软件线程。由追踪另一个软件线程。由于两个线程共同使用同样于两个线程共同使用同样的执行资源,因此不会产的执行资源,因此不会产生一个线程执行的同时,生一个线程执行的同时,另一个线程闲置的状况。另一个线程闲置的状况。n但是两个逻辑处理器还是共但是两个逻辑处理器还是共用一套用一套CPU资源。资源。E.g.当一当一个处理线程在使用浮点运个处理线程在使用浮点运算器时,另一个线程就只算器时,另一个线程就只能进行整数运算。能进行整数运算。2.1中央处理器中央处理器n处理器的构成处理器的构成n特权指令与非特权指令特权指令与非特权指令n处理器状态处理器状态n程序状态字寄存器程序状态字寄存器ch2.15CPU的构成的构成CPU寄存器寄存器运算器运算器控制器控制器缓存缓存运算器实现指令中的算术和逻辑运算,是计算机计算的核心运算器实现指令中的算术和逻辑运算,是计算机计算的核心控制器负责控制程序运行的流程,包括取指令、维护控制器负责控制程序运行的流程,包括取指令、维护CPU状态、状态、CPU与内存的交互等等与内存的交互等等分分1级和级和2级高速缓存,级高速缓存,1级在级在CPU内部,内部,2级在级在CPU外部与内存之间外部与内存之间ch2.16寄存器寄存器n寄存器寄存器是一组是一组CPU内部内部的存储器,容量小但速度的存储器,容量小但速度快,一般存放操作数、地快,一般存放操作数、地址以及控制信息等。址以及控制信息等。n它们构成了一级储存它们构成了一级储存n通用寄存器通用寄存器n数据寄存器数据寄存器n地址寄存器地址寄存器nI/O地址寄存器地址寄存器nI/O缓冲寄存器缓冲寄存器n控制寄存器控制寄存器n其他寄存器其他寄存器ch2.17特权指令与非特权指令特权指令与非特权指令n特权指令特权指令:只能由操作系统使用的指令。:只能由操作系统使用的指令。(如启动如启动I/O设备、设置时钟、控制中断屏蔽位、清内存、设备、设置时钟、控制中断屏蔽位、清内存、建立存储键,加载建立存储键,加载PSW等等)n使用多道程序设计技术的计算机指令系统必须要区使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令分为特权指令和非特权指令nCPU如何知道当前运行的是用户程序还是操作系统如何知道当前运行的是用户程序还是操作系统呢?呢?ch2.18处理器状态处理器状态n管理状态管理状态(特权状态、系统模式、特态或管态)(特权状态、系统模式、特态或管态)n程序可以执行全部指令,使用所有资源,具有改变处理器程序可以执行全部指令,使用所有资源,具有改变处理器状态的能力状态的能力n用户状态用户状态(目标状态、用户模式、常态或目态)(目标状态、用户模式、常态或目态)n程序只能执行非特权指令程序只能执行非特权指令n问题:问题:n1.两种状态记录在何处?两种状态记录在何处?n2.两种状态如何转化?两种状态如何转化?ch2.19程序状态字寄存器程序状态字寄存器n通常操作系统都引入通常操作系统都引入程序状态字程序状态字PSW来区别不同的来区别不同的处理器工作状态并且保留和指示与运行程序有关的处理器工作状态并且保留和指示与运行程序有关的各种信息。它主要内容包括:各种信息。它主要内容包括:n程序基本状态程序基本状态n程序计数器程序计数器PCn条件码条件码:反映指令执行后的结果特征:反映指令执行后的结果特征n处理器状态处理器状态n中断码中断码:保存程序执行当时发生的中断事件:保存程序执行当时发生的中断事件n中断屏蔽码中断屏蔽码:指明程序执行中发生中断事件时,是否响应:指明程序执行中发生中断事件时,是否响应出现的中断事件出现的中断事件ch2.20程序状态字寄存器程序状态字寄存器(续续)nPSW保存了程序的保存了程序的CPU现场信息现场信息n每个程序都有一个与其执行相关的每个程序都有一个与其执行相关的PSW,每个处理,每个处理器都设置一个器都设置一个PSW寄存器。程序占有处理器执行,寄存器。程序占有处理器执行,它的它的PSW将占有将占有PSW寄存器。寄存器。n各种不同的处理器的控制寄存器组织方式不同,所各种不同的处理器的控制寄存器组织方式不同,所以大多数计算机的处理器现场都有一组控制与状态以大多数计算机的处理器现场都有一组控制与状态寄存器构成。课本中为了方便解释,就使用程序状寄存器构成。课本中为了方便解释,就使用程序状态字这个概念来表达态字这个概念来表达CPU现场信息。现场信息。2.2 中断技术中断技术n中断的概念中断的概念n中断源分类中断源分类n中断装置中断装置n中断处理程序中断处理程序n中断事件的具体处理方法中断事件的具体处理方法n中断的优先级和多重中断中断的优先级和多重中断ch2.22中断的概念中断的概念(对异步事件的响应对异步事件的响应)n中断中断是指程序执行过是指程序执行过程中程中n当发生某个事件时,当发生某个事件时,中止中止CPU上现行程序的上现行程序的运行运行n引出该事件的处理程引出该事件的处理程序执行序执行n执行完毕返回原程序执行完毕返回原程序中断点继续执行中断点继续执行ch2.23中断的概念中断的概念(续续)n中断处理是操作系统的重要组成部分中断处理是操作系统的重要组成部分n操作系统就是由中断驱动的操作系统就是由中断驱动的n中断是现代计算机系统中基本设施之一,它起着通中断是现代计算机系统中基本设施之一,它起着通讯联络作用,协调系统对各种外部事件的响应和处讯联络作用,协调系统对各种外部事件的响应和处理理n中断是实现多道程序的必要条件中断是实现多道程序的必要条件ch2.24中断系统中断系统n中断源中断源:引起中断的事件:引起中断的事件n中断装置中断装置:指发现中断,响应中断的硬件:指发现中断,响应中断的硬件n中断处理程序中断处理程序:由软件来完成:由软件来完成n中断系统中断系统=中断装置中断装置+中断处理程序中断处理程序n中断由软硬件协同处理中断由软硬件协同处理ch2.25中断源分类中断源分类正在运行的程序所正在运行的程序所正在运行的程序所正在运行的程序所不期望的,由于某不期望的,由于某不期望的,由于某不期望的,由于某种硬件故障或外部种硬件故障或外部种硬件故障或外部种硬件故障或外部请求引起的请求引起的请求引起的请求引起的用户在程序中有意用户在程序中有意用户在程序中有意用户在程序中有意识安排的中断识安排的中断识安排的中断识安排的中断ch2.26中断和异常的区别中断和异常的区别异常:发生在指令执行当中中断:发生在指令执行之间ch2.27中断装置中断装置n主要工作:主要工作:n发现发现中断源中断源,响应中断请求(中断响应的实质就是,响应中断请求(中断响应的实质就是交换指令地址及处理机的状态信息)交换指令地址及处理机的状态信息)n保护现场保护现场n启动处理中断事件的中断处理程序启动处理中断事件的中断处理程序此时处理器状态已从目态切换到管态此时处理器状态已从目态切换到管态此时处理器状态已从目态切换到管态此时处理器状态已从目态切换到管态n关键部件:关键部件:n中断寄存器中断寄存器:由若干个中断位组成,每个中断源分别占用由若干个中断位组成,每个中断源分别占用一位,规定值为一位,规定值为1 1时,表示有中断信号,为时,表示有中断信号,为0 0时表示无时表示无n中断字中断字:中断寄存器的内容称为中断字:中断寄存器的内容称为中断字ch2.28处理器状态的转换处理器状态的转换n中断中断是目态向管态转换的是目态向管态转换的唯一途径唯一途径!系统调用实质上也是一!系统调用实质上也是一种中断。种中断。nOS提供提供Load PSW指令装载用户程序指令装载用户程序PSW返回用户状态返回用户状态目态目态管态管态中断中断LPSW指令指令ch2.29如何发现中断信号如何发现中断信号?n在每条指令执行周期的最后时刻扫描中断寄存器,在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号?询问是否有中断信号?n若无中断信号,继续执行下一条指令若无中断信号,继续执行下一条指令n若有中断,中断硬件将该中断寄存器内容按规定编码送入若有中断,中断硬件将该中断寄存器内容按规定编码送入PSW的中断码字段,并且把中断寄存器的相应位置的中断码字段,并且把中断寄存器的相应位置0。系统屏蔽位系统屏蔽位保护键位保护键位 C M W P中断码中断码条件码条件码程序屏蔽程序屏蔽 指令地址指令地址PSW寄存器内容寄存器内容中断字中断字中断寄存器内容中断寄存器内容ch2.30保护现场保护现场(PSW)n要保护的内容有:要保护的内容有:n程序基本状态程序基本状态n程序计数器程序计数器PCn条件码:反映指令执行后的结果特征条件码:反映指令执行后的结果特征n处理器状态处理器状态n中断码:保存程序执行当时发生的中断事件中断码:保存程序执行当时发生的中断事件n中断屏蔽码:指明程序执行中发生中断事件时,是否响应中断屏蔽码:指明程序执行中发生中断事件时,是否响应出现的中断事件出现的中断事件n最后,将中断处理程序的程序状态字送于最后,将中断处理程序的程序状态字送于PSW寄存寄存器,就引出了中断事件处理程序。器,就引出了中断事件处理程序。ch2.31中断处理程序中断处理程序n保护未被硬件保护的状态保护未被硬件保护的状态n识别中断源识别中断源n处理发生的中断事件处理发生的中断事件n恢复正常操作恢复正常操作ch2.32IBM大型机中断响应过程大型机中断响应过程外中断旧外中断旧外中断旧外中断旧PSWPSW访管中断旧访管中断旧访管中断旧访管中断旧PSWPSW程序中断旧程序中断旧程序中断旧程序中断旧PSWPSW机器故障中断旧机器故障中断旧机器故障中断旧机器故障中断旧PSWPSWI/OI/O中断旧中断旧中断旧中断旧PSWPSW外中断新外中断新外中断新外中断新PSWPSW访管中断新访管中断新访管中断新访管中断新PSWPSW程序中断新程序中断新程序中断新程序中断新PSWPSW机器故障中断新机器故障中断新机器故障中断新机器故障中断新PSWPSWI/OI/O中断新中断新中断新中断新PSWPSW1818202028283030383858586060686870707878现行现行现行现行PSWPSW中断时保存中断时保存中断时保存中断时保存现行现行现行现行PSWPSW中断时装中断时装中断时装中断时装入现行入现行入现行入现行PSWPSW 中断后中断后中断后中断后恢复恢复恢复恢复PSWPSW主存专用双字单元主存专用双字单元主存专用双字单元主存专用双字单元 (16(16(16(16进制进制进制进制)装配装配装配装配中断中断中断中断码码码码ch2.33IBM PC机中断响应过程机中断响应过程IPIPCSCSPSWPSW现行现行PSW 寄存器寄存器新新IP新新CS老老IP老老CS老老PSW新栈顶新栈顶主存主存新新PSW中断向量表中断向量表ch2.34复习:中断系统复习:中断系统=中断装置中断装置+中断处理程序中断处理程序18202830385860687078现行现行PSW中断时保存中断时保存现行现行PSW中断时装中断时装入现行入现行PSW 中断后中断后恢复恢复PSW装配装配中断中断码码系统屏蔽位系统屏蔽位保护键位保护键位 C M W P中断码中断码条件码条件码程序屏蔽程序屏蔽 指令地址指令地址PSW寄存器内容寄存器内容中断字中断字中断寄存器内容中断寄存器内容ch2.35复习:中央处理器复习:中央处理器n什么是什么是特权指令特权指令?n两种两种处理器状态处理器状态:用于区分谁正在处理器上运行:用于区分谁正在处理器上运行n目态目态(用户态用户态):仅能执行非特权指令:仅能执行非特权指令n管态管态(核心态核心态):可以执行特权和非特权指令:可以执行特权和非特权指令n程序状态字程序状态字(PSW):p80-81nPSW寄存器寄存器n每个进程都有一个每个进程都有一个PSW,而,而PSW寄存器只有一个!寄存器只有一个!n进程占用处理器运行时,它的进程占用处理器运行时,它的PSW将占有将占有PSW寄存器!寄存器!n当前当前CPU的的PSW寄存器值被称为寄存器值被称为CPU的现场信息的现场信息。系统屏蔽位系统屏蔽位保护键位保护键位 C M W P中断码中断码条件码条件码程序屏蔽程序屏蔽 指令地址指令地址2.3 进程及其实现进程及其实现n进程的定义和属性进程的定义和属性n进程的状态和转换进程的状态和转换n进程的描述进程的描述n进程的控制进程的控制ch2.37程序的执行过程程序的执行过程磁盘存储器磁盘存储器P1代码代码PSWCPUOSP1的管理信息的管理信息P的标识的标识P所使用的数据空间所使用的数据空间P2代码代码P2的管理信息的管理信息内存内存ch2.38程序执行的动态性程序执行的动态性n程序存放在外存中不会消失,产生和消亡的只是与程序存放在外存中不会消失,产生和消亡的只是与之相关的内存信息。之相关的内存信息。n程序只有进入了内存才能执行,在执行过程中可能程序只有进入了内存才能执行,在执行过程中可能会被另一个执行的程序打断暂失去会被另一个执行的程序打断暂失去CPU。n用进程一词来描述程序这一动态的执行过程。程序用进程一词来描述程序这一动态的执行过程。程序P1被装入内存后被称为进程被装入内存后被称为进程P1。ch2.39进程的定义及属性进程的定义及属性n进程是一个程序的一次执行过程进程是一个程序的一次执行过程n能完成具体的功能能完成具体的功能n是在某个是在某个数据集合数据集合上完成的上完成的n执行过程是可并发的执行过程是可并发的n进程是资源分配、保护和调度的基本单位进程是资源分配、保护和调度的基本单位动态性动态性动态性动态性 结构性结构性结构性结构性 并发性并发性并发性并发性制约性制约性制约性制约性 共享性共享性共享性共享性 独立性独立性独立性独立性包含什么?(进程上下文)ch2.40进程与程序的区别进程与程序的区别n程序是静态的概念;进程是动态的概念程序是静态的概念;进程是动态的概念n进程是一个独立运行的活动单位进程是一个独立运行的活动单位n进程是竞争系统资源的基本单位进程是竞争系统资源的基本单位n一个程序可以对应多个进程;一个进程至少包含一一个程序可以对应多个进程;一个进程至少包含一个程序个程序ch2.41进程的状态进程的状态n进程在其创建后至消亡前这段时间可以划分成三种进程在其创建后至消亡前这段时间可以划分成三种基本状态:基本状态:n就绪:就绪:一个进程已经具备运行条件,但由于无一个进程已经具备运行条件,但由于无CPUCPU暂时不暂时不能运行的状态(当调度给其能运行的状态(当调度给其CPUCPU时,立即可以运行)时,立即可以运行)n运行:运行:进程占有进程占有CPUCPU,并在,并在CPUCPU上运行。上运行。同一时刻处于此状同一时刻处于此状态的进程有且仅有一个态的进程有且仅有一个n等待(阻塞、睡眠):等待(阻塞、睡眠):进程因等待某种事件的发生而暂时进程因等待某种事件的发生而暂时不能运行的状态(即使不能运行的状态(即使CPU空闲,该进程也不可运行)空闲,该进程也不可运行)ch2.42三态模型及其状态转换三态模型及其状态转换运行态运行态就绪态就绪态等待态等待态选中选中落选落选出现等待事件出现等待事件等待事件结束等待事件结束n等待态等待态就绪态:资源得到满足或事件发生就绪态:资源得到满足或事件发生n就绪态就绪态运行态:运行态:CPU空闲时选择一个就绪进程空闲时选择一个就绪进程ch2.43进程何时离开进程何时离开CPU?n内部事件内部事件n进程进程主动放弃主动放弃(yield)CPU,进入等待,进入等待/终止状态。终止状态。nE.g 使用使用I/O设备,设备,(非非)正常结束。正常结束。n外部事件外部事件n进程被剥夺进程被剥夺CPU使用权,进入就绪状态。这个动作叫使用权,进入就绪状态。这个动作叫抢占抢占(preempt)nE.g 时间片到达,高优先权进程到达。时间片到达,高优先权进程到达。ch2.44五态模型及其状态转换五态模型及其状态转换n新建态新建态nOS为一个新进程创建了必要的管理信息为一个新进程创建了必要的管理信息n进程还未被提交至内存(资源不足)进程还未被提交至内存(资源不足)n终止态终止态n进程正常结束或发生致命错误进程正常结束或发生致命错误n进程不能再执行,但其管理信息仍保留,善后工作后被进程不能再执行,但其管理信息仍保留,善后工作后被OS删除删除运行态运行态就绪态就绪态等待态等待态选中选中落选落选出现等待事件出现等待事件等待事件结束等待事件结束新建态新建态终止态终止态许可许可进程结束或发进程结束或发生错误生错误ch2.45进程的挂起进程的挂起n进程的进程的挂起挂起(suspend)是指将内存中的进程对换到磁是指将内存中的进程对换到磁盘镜像区中的过程。盘镜像区中的过程。n进程被挂起的原因主要有:进程被挂起的原因主要有:n系统中所有进程都处于等待状态系统中所有进程都处于等待状态n系统资源不足系统资源不足n对换一些定期执行的进程对换一些定期执行的进程n用户要求挂起自己的进程用户要求挂起自己的进程n父进程要求挂起自已的子进程父进程要求挂起自已的子进程nOS要求挂起某些进程要求挂起某些进程ch2.46七态模型及其状态转换七态模型及其状态转换n挂起等待态:挂起等待态:进程正在等待某事件并且在辅存中进程正在等待某事件并且在辅存中n挂起就绪态:挂起就绪态:进程具备运行条件但仍在辅存中,只进程具备运行条件但仍在辅存中,只有被调入内存才能得以被调度执行有被调入内存才能得以被调度执行挂起挂起等待事件结束等待事件结束出现等出现等待事件待事件解除解除挂起挂起挂起挂起落选落选选中选中运行态运行态就绪态就绪态等待事件结束等待事件结束终止态终止态新建态新建态挂起就挂起就绪态绪态解除解除挂起挂起挂起挂起挂起等挂起等待态待态等待态等待态提交提交提交提交ch2.47进程在虚拟内存中的映像进程在虚拟内存中的映像n进程的内存映像进程的内存映像n进程控制块进程控制块(PCB)n用户程序用户程序n用户数据用户数据n堆栈堆栈n把进程物理实体和支持进把进程物理实体和支持进程运行的环境合称为程运行的环境合称为进程进程上下文上下文(process context)Program Address SpacePCBProcessch2.48进程在主存实际存放并非连续的进程在主存实际存放并非连续的Prog 1VirtualAddressSpace 1Prog 2VirtualAddressSpace 2PCB代码代码数据数据堆栈堆栈Code 2Heap&Stack 1Data 1OS heap&StacksPCB 1Heap&Stack 2Code 1Data 2PCB 2OS codeOS dataTranslation Map 1Translation Map 2Physical Address SpacePCB代码代码数据数据堆栈堆栈ch2.49进程控制块进程控制块n进程被创建时,进程被创建时,OS会为其创建必要管理信息,这会为其创建必要管理信息,这是一系列数据结构,用于记录进程的状态和特征,是一系列数据结构,用于记录进程的状态和特征,描述进程的运动变化过程。我们将这种管理信息描述进程的运动变化过程。我们将这种管理信息称为称为进程控制块进程控制块(Process Control Block)n进程与进程与PCB之间一一对应,之间一一对应,OS通过通过PCB可以得知可以得知进程的所有信息进程的所有信息ch2.50PCB应该有些什么东西?应该有些什么东西?n标识信息标识信息n每个进程需要一个唯一的每个进程需要一个唯一的ID号号n现场信息现场信息nPSW和其它寄存器值和其它寄存器值n用户堆栈指针用户堆栈指针n控制信息控制信息n进程的状态进程的状态n时间片余量,已占用时间片余量,已占用CPU时间时间n进程在辅存中的地址进程在辅存中的地址n数据段、代码段指针数据段、代码段指针n队列指针队列指针Program Address SpacePCBProcessch2.51进程队列及链接方式进程队列及链接方式nOS通过通过PCB来调度进程,调度时不是移动整个进程,来调度进程,调度时不是移动整个进程,只是通过移动只是通过移动PCB来实现。来实现。n把同一状态的所有进程的把同一状态的所有进程的PCB链接在一起的数据结链接在一起的数据结构称为构称为进程队列进程队列(Process Queues),简称队列。),简称队列。000后向后向前向前向单向连接单向连接双向连接双向连接ch2.52操作系统的队列管理操作系统的队列管理指派指派提交提交完成完成超时超时事件事件1 1等待队列等待队列事件事件2 2等待队列等待队列事件事件n n等待队列等待队列就绪队列就绪队列等待事件等待事件1 1等待事件等待事件2 2等待事件等待事件n n事件事件1 1出现出现事件事件2 2出现出现事件事件n n出现出现ch2.53复习:进程的定义复习:进程的定义n进程的定义和属性,它和程序之间的区别进程的定义和属性,它和程序之间的区别(意会不可意会不可言传,不要死背课本文字,尽量用你们能看得到的言传,不要死背课本文字,尽量用你们能看得到的事物去解释它事物去解释它)n进程的状态及转换进程的状态及转换n就绪态就绪态n运行态运行态n等待态等待态(阻塞、睡眠阻塞、睡眠)n挂起态挂起态n进程如何放弃进程如何放弃CPUn主动主动n被动被动(抢占抢占)ch2.54复习:进程在虚拟内存中的映像复习:进程在虚拟内存中的映像n进程的内存映像进程的内存映像n把进程物理实体和支持进程把进程物理实体和支持进程运行的环境合称为运行的环境合称为进程上下进程上下文文(process context)nPCB的内容的内容n标识信息标识信息n现场信息现场信息n控制信息控制信息Program Address SpacePCBProcess进程上下文进程上下文ch2.55进程切换进程切换n进程切换进程切换是让处于运行态的进程中断运行,让出处是让处于运行态的进程中断运行,让出处理器,这时要做一次进程上下文切换、即保存老进理器,这时要做一次进程上下文切换、即保存老进程状态而装入被保护了的新进程的状态,以便新进程状态而装入被保护了的新进程的状态,以便新进程运行。程运行。n进程切换必定是在核心态下进行的进程切换必定是在核心态下进行的n内核以下种情况允许发生进程切换内核以下种情况允许发生进程切换n进程进入等待状态时进程进入等待状态时(自愿放弃自愿放弃yield)n完成系统调用或中断处理,返回用户态但不是最具有资格完成系统调用或中断处理,返回用户态但不是最具有资格获得获得CPU时时(抢占抢占preempt),进入就绪状态,进入就绪状态n进程执行结束时,进入终止状态进程执行结束时,进入终止状态ch2.56进程切换步骤进程切换步骤n保存被中断进程的处理器现场信息保存被中断进程的处理器现场信息n修改被中断进程的进程控制块的有关信息,如进程修改被中断进程的进程控制块的有关信息,如进程状态等状态等n把被中断进程的进程控制块加入有关队列把被中断进程的进程控制块加入有关队列n选择下一个占有处理器运行的进程选择下一个占有处理器运行的进程n修改被选中进程的进程控制块的有关信息修改被选中进程的进程控制块的有关信息n根据被选中进程设置操作系统用到的地址转换和存根据被选中进程设置操作系统用到的地址转换和存储保护信息储保护信息n根据被选中进程恢复处理器现场根据被选中进程恢复处理器现场ch2.57模式切换模式切换n当中断发生时,暂时中断正在执行的用户进程,把当中断发生时,暂时中断正在执行的用户进程,把进程从用户状态切换到内核状态,去执行操作系统进程从用户状态切换到内核状态,去执行操作系统例行程序以获得服务,这就是一次例行程序以获得服务,这就是一次模式切换模式切换。n内核在被中断了的进程的上下文中对这个中断事件内核在被中断了的进程的上下文中对这个中断事件作处理(进程的上下文未发生切换),即使该中断作处理(进程的上下文未发生切换),即使该中断可能不是此进程引起的。可能不是此进程引起的。n模式切换步骤模式切换步骤n保存被中断进程的处理器现场信息保存被中断进程的处理器现场信息n根据中断号置程序计数器根据中断号置程序计数器n把用户状态切换到内核状态,以便执行中断处理程序把用户状态切换到内核状态,以便执行中断处理程序ch2.58进程切换与模式切换进程切换与模式切换n模式切换不同于进程模式切换不同于进程切换,它并不引起进切换,它并不引起进程状态变化,也不一程状态变化,也不一定引起进程的切换,定引起进程的切换,在完成了中断调用之在完成了中断调用之后,完全可以再通过后,完全可以再通过一次逆向的模式切换一次逆向的模式切换来继续执行用户进程。来继续执行用户进程。n核心态运行的进程是核心态运行的进程是不能被抢占不能被抢占的,但可的,但可以继续响应中断。以继续响应中断。核心态核心态运行运行系统调系统调用或中用或中断断(隐含隐含模式切模式切换换)模模式式切切换换用户态用户态运行运行等待等待状态状态就绪就绪状态状态阻塞阻塞唤醒唤醒调度进程调度进程中断、中断、中断返回中断返回ch2.59进程的控制进程的控制n创建创建n创建一个创建一个PCBn赋予一个统一进程标识符赋予一个统一进程标识符n为进程映象分配空间为进程映象分配空间n初始化进程控制块初始化进程控制块(如如:状态为状态为 New,优先级,优先级)n设置相应的链接设置相应的链接(把新进程加到就绪队列的链表中把新进程加到就绪队列的链表中)n阻塞和唤醒阻塞和唤醒n撤销撤销n回收进程占用的资源回收进程占用的资源n撤销该进程的撤销该进程的PCB并回收并回收PCB空间空间n挂起和激活挂起和激活2.4 线程及其实现线程及其实现n线程概念线程概念n线程的实现线程的实现n线程的状态线程的状态ch2.61引入线程的动机引入线程的动机n单个执行流的程序单个执行流的程序main()ComputePI(“pi.txt”);PrintClassList(“clist.text”);n运行结果会是怎么样的?运行结果会是怎么样的?PrintClassList会被执行吗?会被执行吗?n如果两个函数分成两个执行流,则可以分时地享用如果两个函数分成两个执行流,则可以分时地享用CPU并并发执行发执行n服务器的例子服务器的例子n一个进程来实现:一次只能为一个客户服务一个进程来实现:一次只能为一个客户服务n可以启动多个相同的进程来为多个客户服务,既然是相同可以启动多个相同的进程来为多个客户服务,既然是相同的任务,重复的开销是不必要的的任务,重复的开销是不必要的n在一个进程中启动多个执行流来为多客户服务在一个进程中启动多个执行流来为多客户服务ch2.62单线程进程和多线程进程单线程进程和多线程进程nHeavyweight process:单线程进程单线程进程(HWP)nLightweight process:多线程进程多线程进程(LWP)ch2.63用户级线程和内核级线程用户级线程和内核级线程n用户级线程用户级线程(ULT)n在内核之上,在用户模式下通过线程库来实现。线程库提在内核之上,在用户模式下通过线程库来实现。线程库提供对线程的创建、调度和管理的支持而无需内核支持。供对线程的创建、调度和管理的支持而无需内核支持。n创建和管理执行速度较快,因为它不需要内核的支持,但创建和管理执行速度较快,因为它不需要内核的支持,但是由于内核感知不到用户线程的存在,所以当一个用户线是由于内核感知不到用户线程的存在,所以当一个用户线程阻塞时会引起整个进程的阻塞。程阻塞时会引起整个进程的阻塞。n内核级线程内核级线程(KLT)n由操作系统在内核模式下执行线程的创建、调度和管理。由操作系统在内核模式下执行线程的创建、调度和管理。n创建和管理执行速度较用户线程慢,但可以实现内核的并创建和管理执行速度较用户线程慢,但可以实现内核的并发线程。发线程。ch2.64多线程模型多线程模型N-1模型模型User ModelKernel ModelThread Libch2.65多线程模型多线程模型1-1模型模型User ModelKernel Modelch2.66多线程模型多线程模型M-N模型模型User ModelKernel ModelThread Libch2.67Solaris多线程模型多线程模型ch2.68线程控制块线程控制块TCBn每个线程都有一个每个线程都有一个TCBn执行状态执行状态:CPU寄存器寄存器,PC,栈指针栈指针n调度信息调度信息:线程状态,时间片和线程状态,时间片和CPU时间时间n指向指向PCB的指针的指针多线程进程模型 用户地址空间进程控制块线程控制块系统堆栈用户堆栈线程1线程控制块系统堆栈用户堆栈线程Nch2.69线程的状态线程的状态n线程状态线程状态有:运行、就绪和阻塞,线程的状态转换有:运行、就绪和阻塞,线程的状态转换也类似于进程。也类似于进程。n挂起状态对线程是没有意义的,如果进程挂起后被挂起状态对线程是没有意义的,如果进程挂起后被对换出主存,则它的所有线程因共享了进程的地址对换出主存,则它的所有线程因共享了进程的地址空间,也必须全部对换出去。空间,也必须全部对换出去。n线程的状态转换与进程状态转换类似,线程的状态转换与进程状态转换类似,OS对线程也对线程也是通过是通过TCB管理调度的。管理调度的。ch2.70并发多线程程序设计的优点并发多线程程序设计的优点n提高了响应速度提高了响应速度:多线程交互式应用程序可以允许:多线程交互式应用程序可以允许程序在它的一部分被阻塞或正在执行一个冗长的操程序在它的一部分被阻塞或正在执行一个冗长的操作时持续运行,从而提高了了对用户的响应速度。作时持续运行,从而提高了了对用户的响应速度。n资源共享资源共享:缺省情况下,线程共享它们所属进程的:缺省情况下,线程共享它们所属进程的存储器和资源。代码共享的优点在于它允许应用程存储器和资源。代码共享的优点在于它允许

    注意事项

    本文(操作系统教程CH 02 处理器管理.ppt)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开