操作系统教程CH 02 处理器管理.ppt
《操作系统教程CH 02 处理器管理.ppt》由会员分享,可在线阅读,更多相关《操作系统教程CH 02 处理器管理.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、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程序的执行过程
2、程序的执行过程n从从PC(程序计数器程序计数器)所指地址取出所指地址取出指令,并且装载到指令,并且装载到IR(指令寄存器指令寄存器)中中nCPU解码并指执行该指令解码并指执行该指令n将执行结果写入到内存当中将执行结果写入到内存当中nPC=下一条指令在内存中的地址下一条指令在内存中的地址Memory指令指令1指令指令2指令指令3.PCCPUIRPC运算运算部件部件ch2.5一个程序的执行只有代码足矣?一个程序的执行只有代码足矣?n一个程序装载入内存后有四个一个程序装载入内存后有四个部分部分:n代码代码n数据数据n堆堆(heap):malloc分配的空间就分配的空间就是从这里来的是从这里来的n栈栈
3、(stack):系统使用的空间,:系统使用的空间,保存函数的返回地址。保存函数的返回地址。Program Address Spacech2.6复习:进程和程序复习:进程和程序n一个程序装载入内存后有四个一个程序装载入内存后有四个部分部分:n代码代码n数据数据n堆堆(heap):malloc分配的空间就分配的空间就是从这里来的是从这里来的n栈栈(stack):系统使用的空间,:系统使用的空间,保存函数的返回地址。保存函数的返回地址。n程序进入到内存执行程序进入到内存执行进程!进程!Program Address Spacech2.7进程和程序进程和程序n进程是一组数据结构的集合,程序只是进程的一
4、个进程是一组数据结构的集合,程序只是进程的一个部分部分n同一个程序可以对应多个进程同一个程序可以对应多个进程(e.g.聊天软件聊天软件)n程序被载入内存开始执行程序被载入内存开始执行进程进程main()A();A()程序程序main()A();A()HeapStackAmain进程进程ch2.8复习:并发进程共享一个复习:并发进程共享一个CPUnPC始终是下一条指令执行始终是下一条指令执行的地址的地址nIR存放当前执行的指令存放当前执行的指令n并发进程共享一个并发进程共享一个CPU时需时需要不断地进行切换:要不断地进行切换:n将将CPU当前的当前的PC和其它寄存和其它寄存器值保存起来器值保存起
5、来n将新进程的将新进程的PC和其它寄存器和其它寄存器值装载入值装载入CPU中中n这种切换也称作进程上下文这种切换也称作进程上下文切换切换CPUIRPC运算运算部件部件进程进程1PC1进程进程2PC2进程进程3PC3ch2.9如何让多个进程使用同一个处理器?如何让多个进程使用同一个处理器?n分时复用让进程感觉它们都拥有一个分时复用让进程感觉它们都拥有一个CPU,但这个,但这个CPU是虚拟的,它们共享一个真实的是虚拟的,它们共享一个真实的CPU。n每一个虚拟的每一个虚拟的CPU都应该拥有一些数据结构都应该拥有一些数据结构nPC和和CPU寄存器堆的当前值,以及目前主存的部分内容寄存器堆的当前值,以及
6、目前主存的部分内容n如何切换这些虚拟如何切换这些虚拟CPU?n保存保存PC和寄存器堆的当前值以及目前主存的部分内容和寄存器堆的当前值以及目前主存的部分内容n将新将新CPU的的PC和寄存器堆值以及主存内容装载进来和寄存器堆值以及主存内容装载进来n谁触发了这些转换谁触发了这些转换?n目前看来是时钟发生器目前看来是时钟发生器CPU1CPU2CPU3CPU1CPU2Time ch2.10进程上下文切换过程图进程上下文切换过程图应用程序代码应用程序代码操作系统代码操作系统代码应用程序代码应用程序代码操作系统代码操作系统代码应用程序代码应用程序代码进程进程1进程进程2时间时间上下文切换上下文切换上下文切换
7、上下文切换ch2.11那些那些CPU状态信息保存到哪去了?状态信息保存到哪去了?n像像CPU当前的当前的PC值和寄存器堆值都是与当前正在执值和寄存器堆值都是与当前正在执行的进程相关的,为了使得该进程在重新获得行的进程相关的,为了使得该进程在重新获得CPU后能够继续工作,在其被剥夺后能够继续工作,在其被剥夺CPU时就应该把那些时就应该把那些CPU状态信息保存到进程的数据结构当中去。状态信息保存到进程的数据结构当中去。n我们把进程运行所需要的这些状态信息称为我们把进程运行所需要的这些状态信息称为进程上进程上下文下文(context),进程,进程(虚拟虚拟CPU)之间的切换叫作之间的切换叫作上上下文
8、切换下文切换。ch2.12多线程的多线程的”Hello world”n多线程多线程的的“Hello World”是文件复制。是文件复制。n在进行一个大文件的复制时,虽然复制窗体上有一在进行一个大文件的复制时,虽然复制窗体上有一个个“取消取消”按钮,但如果不是多线程,就只有到了按钮,但如果不是多线程,就只有到了文件复制完毕时程序才知道用户按了文件复制完毕时程序才知道用户按了“取消取消”钮,钮,典型的先斩后奏。典型的先斩后奏。n而用而用“多线程多线程”,可以用一个线程执行,可以用一个线程执行“疯狂拷贝疯狂拷贝”,一个线程监视按钮状态,在用户按下了,一个线程监视按钮状态,在用户按下了“取消取消”按钮
9、时,程序马上就可以知道,并且马上按钮时,程序马上就可以知道,并且马上“取消取消”。ch2.13多处理器和超线程技术多处理器和超线程技术n超线程处理器超线程处理器被视为两个分被视为两个分离的离的逻辑处理器逻辑处理器。每个逻。每个逻辑处理器都可独立响应中辑处理器都可独立响应中断。第一个逻辑处理器可断。第一个逻辑处理器可追踪一个软件线程,而第追踪一个软件线程,而第二个逻辑处理器则可同时二个逻辑处理器则可同时追踪另一个软件线程。由追踪另一个软件线程。由于两个线程共同使用同样于两个线程共同使用同样的执行资源,因此不会产的执行资源,因此不会产生一个线程执行的同时,生一个线程执行的同时,另一个线程闲置的状况
10、。另一个线程闲置的状况。n但是两个逻辑处理器还是共但是两个逻辑处理器还是共用一套用一套CPU资源。资源。E.g.当一当一个处理线程在使用浮点运个处理线程在使用浮点运算器时,另一个线程就只算器时,另一个线程就只能进行整数运算。能进行整数运算。2.1中央处理器中央处理器n处理器的构成处理器的构成n特权指令与非特权指令特权指令与非特权指令n处理器状态处理器状态n程序状态字寄存器程序状态字寄存器ch2.15CPU的构成的构成CPU寄存器寄存器运算器运算器控制器控制器缓存缓存运算器实现指令中的算术和逻辑运算,是计算机计算的核心运算器实现指令中的算术和逻辑运算,是计算机计算的核心控制器负责控制程序运行的流
11、程,包括取指令、维护控制器负责控制程序运行的流程,包括取指令、维护CPU状态、状态、CPU与内存的交互等等与内存的交互等等分分1级和级和2级高速缓存,级高速缓存,1级在级在CPU内部,内部,2级在级在CPU外部与内存之间外部与内存之间ch2.16寄存器寄存器n寄存器寄存器是一组是一组CPU内部内部的存储器,容量小但速度的存储器,容量小但速度快,一般存放操作数、地快,一般存放操作数、地址以及控制信息等。址以及控制信息等。n它们构成了一级储存它们构成了一级储存n通用寄存器通用寄存器n数据寄存器数据寄存器n地址寄存器地址寄存器nI/O地址寄存器地址寄存器nI/O缓冲寄存器缓冲寄存器n控制寄存器控制寄
12、存器n其他寄存器其他寄存器ch2.17特权指令与非特权指令特权指令与非特权指令n特权指令特权指令:只能由操作系统使用的指令。:只能由操作系统使用的指令。(如启动如启动I/O设备、设置时钟、控制中断屏蔽位、清内存、设备、设置时钟、控制中断屏蔽位、清内存、建立存储键,加载建立存储键,加载PSW等等)n使用多道程序设计技术的计算机指令系统必须要区使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令分为特权指令和非特权指令nCPU如何知道当前运行的是用户程序还是操作系统如何知道当前运行的是用户程序还是操作系统呢?呢?ch2.18处理器状态处理器状态n管理状态管理状态(特权状态、系统模式
13、、特态或管态)(特权状态、系统模式、特态或管态)n程序可以执行全部指令,使用所有资源,具有改变处理器程序可以执行全部指令,使用所有资源,具有改变处理器状态的能力状态的能力n用户状态用户状态(目标状态、用户模式、常态或目态)(目标状态、用户模式、常态或目态)n程序只能执行非特权指令程序只能执行非特权指令n问题:问题:n1.两种状态记录在何处?两种状态记录在何处?n2.两种状态如何转化?两种状态如何转化?ch2.19程序状态字寄存器程序状态字寄存器n通常操作系统都引入通常操作系统都引入程序状态字程序状态字PSW来区别不同的来区别不同的处理器工作状态并且保留和指示与运行程序有关的处理器工作状态并且保
14、留和指示与运行程序有关的各种信息。它主要内容包括:各种信息。它主要内容包括:n程序基本状态程序基本状态n程序计数器程序计数器PCn条件码条件码:反映指令执行后的结果特征:反映指令执行后的结果特征n处理器状态处理器状态n中断码中断码:保存程序执行当时发生的中断事件:保存程序执行当时发生的中断事件n中断屏蔽码中断屏蔽码:指明程序执行中发生中断事件时,是否响应:指明程序执行中发生中断事件时,是否响应出现的中断事件出现的中断事件ch2.20程序状态字寄存器程序状态字寄存器(续续)nPSW保存了程序的保存了程序的CPU现场信息现场信息n每个程序都有一个与其执行相关的每个程序都有一个与其执行相关的PSW,
15、每个处理,每个处理器都设置一个器都设置一个PSW寄存器。程序占有处理器执行,寄存器。程序占有处理器执行,它的它的PSW将占有将占有PSW寄存器。寄存器。n各种不同的处理器的控制寄存器组织方式不同,所各种不同的处理器的控制寄存器组织方式不同,所以大多数计算机的处理器现场都有一组控制与状态以大多数计算机的处理器现场都有一组控制与状态寄存器构成。课本中为了方便解释,就使用程序状寄存器构成。课本中为了方便解释,就使用程序状态字这个概念来表达态字这个概念来表达CPU现场信息。现场信息。2.2 中断技术中断技术n中断的概念中断的概念n中断源分类中断源分类n中断装置中断装置n中断处理程序中断处理程序n中断事
16、件的具体处理方法中断事件的具体处理方法n中断的优先级和多重中断中断的优先级和多重中断ch2.22中断的概念中断的概念(对异步事件的响应对异步事件的响应)n中断中断是指程序执行过是指程序执行过程中程中n当发生某个事件时,当发生某个事件时,中止中止CPU上现行程序的上现行程序的运行运行n引出该事件的处理程引出该事件的处理程序执行序执行n执行完毕返回原程序执行完毕返回原程序中断点继续执行中断点继续执行ch2.23中断的概念中断的概念(续续)n中断处理是操作系统的重要组成部分中断处理是操作系统的重要组成部分n操作系统就是由中断驱动的操作系统就是由中断驱动的n中断是现代计算机系统中基本设施之一,它起着通
17、中断是现代计算机系统中基本设施之一,它起着通讯联络作用,协调系统对各种外部事件的响应和处讯联络作用,协调系统对各种外部事件的响应和处理理n中断是实现多道程序的必要条件中断是实现多道程序的必要条件ch2.24中断系统中断系统n中断源中断源:引起中断的事件:引起中断的事件n中断装置中断装置:指发现中断,响应中断的硬件:指发现中断,响应中断的硬件n中断处理程序中断处理程序:由软件来完成:由软件来完成n中断系统中断系统=中断装置中断装置+中断处理程序中断处理程序n中断由软硬件协同处理中断由软硬件协同处理ch2.25中断源分类中断源分类正在运行的程序所正在运行的程序所正在运行的程序所正在运行的程序所不期
18、望的,由于某不期望的,由于某不期望的,由于某不期望的,由于某种硬件故障或外部种硬件故障或外部种硬件故障或外部种硬件故障或外部请求引起的请求引起的请求引起的请求引起的用户在程序中有意用户在程序中有意用户在程序中有意用户在程序中有意识安排的中断识安排的中断识安排的中断识安排的中断ch2.26中断和异常的区别中断和异常的区别异常:发生在指令执行当中中断:发生在指令执行之间ch2.27中断装置中断装置n主要工作:主要工作:n发现发现中断源中断源,响应中断请求(中断响应的实质就是,响应中断请求(中断响应的实质就是交换指令地址及处理机的状态信息)交换指令地址及处理机的状态信息)n保护现场保护现场n启动处理
19、中断事件的中断处理程序启动处理中断事件的中断处理程序此时处理器状态已从目态切换到管态此时处理器状态已从目态切换到管态此时处理器状态已从目态切换到管态此时处理器状态已从目态切换到管态n关键部件:关键部件:n中断寄存器中断寄存器:由若干个中断位组成,每个中断源分别占用由若干个中断位组成,每个中断源分别占用一位,规定值为一位,规定值为1 1时,表示有中断信号,为时,表示有中断信号,为0 0时表示无时表示无n中断字中断字:中断寄存器的内容称为中断字:中断寄存器的内容称为中断字ch2.28处理器状态的转换处理器状态的转换n中断中断是目态向管态转换的是目态向管态转换的唯一途径唯一途径!系统调用实质上也是一
20、!系统调用实质上也是一种中断。种中断。nOS提供提供Load PSW指令装载用户程序指令装载用户程序PSW返回用户状态返回用户状态目态目态管态管态中断中断LPSW指令指令ch2.29如何发现中断信号如何发现中断信号?n在每条指令执行周期的最后时刻扫描中断寄存器,在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号?询问是否有中断信号?n若无中断信号,继续执行下一条指令若无中断信号,继续执行下一条指令n若有中断,中断硬件将该中断寄存器内容按规定编码送入若有中断,中断硬件将该中断寄存器内容按规定编码送入PSW的中断码字段,并且把中断寄存器的相应位置的中断码字段,并且把中断寄存器的相应位置
21、0。系统屏蔽位系统屏蔽位保护键位保护键位 C M W P中断码中断码条件码条件码程序屏蔽程序屏蔽 指令地址指令地址PSW寄存器内容寄存器内容中断字中断字中断寄存器内容中断寄存器内容ch2.30保护现场保护现场(PSW)n要保护的内容有:要保护的内容有:n程序基本状态程序基本状态n程序计数器程序计数器PCn条件码:反映指令执行后的结果特征条件码:反映指令执行后的结果特征n处理器状态处理器状态n中断码:保存程序执行当时发生的中断事件中断码:保存程序执行当时发生的中断事件n中断屏蔽码:指明程序执行中发生中断事件时,是否响应中断屏蔽码:指明程序执行中发生中断事件时,是否响应出现的中断事件出现的中断事件
22、n最后,将中断处理程序的程序状态字送于最后,将中断处理程序的程序状态字送于PSW寄存寄存器,就引出了中断事件处理程序。器,就引出了中断事件处理程序。ch2.31中断处理程序中断处理程序n保护未被硬件保护的状态保护未被硬件保护的状态n识别中断源识别中断源n处理发生的中断事件处理发生的中断事件n恢复正常操作恢复正常操作ch2.32IBM大型机中断响应过程大型机中断响应过程外中断旧外中断旧外中断旧外中断旧PSWPSW访管中断旧访管中断旧访管中断旧访管中断旧PSWPSW程序中断旧程序中断旧程序中断旧程序中断旧PSWPSW机器故障中断旧机器故障中断旧机器故障中断旧机器故障中断旧PSWPSWI/OI/O中
23、断旧中断旧中断旧中断旧PSWPSW外中断新外中断新外中断新外中断新PSWPSW访管中断新访管中断新访管中断新访管中断新PSWPSW程序中断新程序中断新程序中断新程序中断新PSWPSW机器故障中断新机器故障中断新机器故障中断新机器故障中断新PSWPSWI/OI/O中断新中断新中断新中断新PSWPSW1818202028283030383858586060686870707878现行现行现行现行PSWPSW中断时保存中断时保存中断时保存中断时保存现行现行现行现行PSWPSW中断时装中断时装中断时装中断时装入现行入现行入现行入现行PSWPSW 中断后中断后中断后中断后恢复恢复恢复恢复PSWPSW主存
24、专用双字单元主存专用双字单元主存专用双字单元主存专用双字单元 (16(16(16(16进制进制进制进制)装配装配装配装配中断中断中断中断码码码码ch2.33IBM PC机中断响应过程机中断响应过程IPIPCSCSPSWPSW现行现行PSW 寄存器寄存器新新IP新新CS老老IP老老CS老老PSW新栈顶新栈顶主存主存新新PSW中断向量表中断向量表ch2.34复习:中断系统复习:中断系统=中断装置中断装置+中断处理程序中断处理程序18202830385860687078现行现行PSW中断时保存中断时保存现行现行PSW中断时装中断时装入现行入现行PSW 中断后中断后恢复恢复PSW装配装配中断中断码码系
25、统屏蔽位系统屏蔽位保护键位保护键位 C M W P中断码中断码条件码条件码程序屏蔽程序屏蔽 指令地址指令地址PSW寄存器内容寄存器内容中断字中断字中断寄存器内容中断寄存器内容ch2.35复习:中央处理器复习:中央处理器n什么是什么是特权指令特权指令?n两种两种处理器状态处理器状态:用于区分谁正在处理器上运行:用于区分谁正在处理器上运行n目态目态(用户态用户态):仅能执行非特权指令:仅能执行非特权指令n管态管态(核心态核心态):可以执行特权和非特权指令:可以执行特权和非特权指令n程序状态字程序状态字(PSW):p80-81nPSW寄存器寄存器n每个进程都有一个每个进程都有一个PSW,而,而PSW
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统教程CH 02 处理器管理 操作系统 教程 CH 处理器 管理
限制150内