计算机操作系统(第三版) 第二章 ppt.ppt
《计算机操作系统(第三版) 第二章 ppt.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统(第三版) 第二章 ppt.ppt(74页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京大学软件与微电子学院北京大学软件与微电子学院20092009春季春季操作系统高级操作系统高级Operating Systems Advanced Class 第第二二讲讲 系统机制系统机制讨论讨论讨论讨论操作系统设计者操作系统设计者考虑的硬件问题考虑的硬件问题 讨论讨论操作系统设计者操作系统设计者考虑的其他问题考虑的其他问题中央处理器(中央处理器(CPUCPU)中断机制中断机制系统调用系统调用一、中央处理器(一、中央处理器(CPUCPU)专门设计了一系列基本机制:专门设计了一系列基本机制:-具有特权级别的处理器状态,能在不具有特权级别的处理器状态,能在不同特权级运行的各种特权指令同特权级运
2、行的各种特权指令-硬件机制使得硬件机制使得OSOS可以和普通程序隔离可以和普通程序隔离 实现实现保护和控制保护和控制1.CPU1.CPU的构成与基本工作方式的构成与基本工作方式 处理器由运算器、控制器、一系列的寄存器以处理器由运算器、控制器、一系列的寄存器以及高速缓存构成及高速缓存构成运算器实现指令中的算术和逻辑运算,是计算运算器实现指令中的算术和逻辑运算,是计算机计算的核心机计算的核心控制器负责控制程序运行的流程,包括取指令、控制器负责控制程序运行的流程,包括取指令、维护维护CPUCPU状态、状态、CPUCPU与内存的交互等等与内存的交互等等处理器中的寄存器处理器中的寄存器寄存器提供了一定的
3、存储能力寄存器提供了一定的存储能力速度比主存快得多速度比主存快得多造价高,容量一般都很小造价高,容量一般都很小两类寄存器:两类寄存器:用户可见寄存器,高级语言编译器通过算法分用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问内存次数配并使用之,以减少程序访问内存次数控制和状态寄存器,用于控制处理器的操作控制和状态寄存器,用于控制处理器的操作 由由OSOS的的特权代码使用特权代码使用,以控制其他程序的执行以控制其他程序的执行用户可见寄存器用户可见寄存器机器语言直接引用机器语言直接引用 包括包括数据寄存器数据寄存器、地址寄存器地址寄存器以及以及条件码寄存器条件码寄存器数据寄存器数据
4、寄存器(data registerdata register)又称通用寄存器又称通用寄存器 主要用于各种算术逻辑指令和访存指令主要用于各种算术逻辑指令和访存指令地地址址寄寄存存器器(address address registerregister)用用于于存存储储数数据据及及指指令令的的物物理理地地址址、线线性性地地址址或或者者有有效效地地址址,用用于于某某种种特特定定方方式式的的寻寻址址。如如index index registerregister、segment pointersegment pointer、stack pointerstack pointer条件码寄存器条件码寄存器保存保
5、存CPUCPU操作结果的各种标记位操作结果的各种标记位 如算术运算产生的溢出、符号等等如算术运算产生的溢出、符号等等控制和状态寄存器控制和状态寄存器用于控制处理器的操作用于控制处理器的操作大部分对于用户是不可见的大部分对于用户是不可见的一部分可以在某种特权模式(由一部分可以在某种特权模式(由OSOS使用)下访问使用)下访问常见的控制和状态寄存器常见的控制和状态寄存器:程程序序计计数数器器(PCPC:Program Program CounterCounter),记记录录将将要要取取出出的的指指令的地址令的地址指指令令寄寄存存器器(IRIR:Instruction Instruction Reg
6、isterRegister),包包含含最最近近取取出的指令出的指令程程序序状状态态字字(PSWPSW:Program Program Status Status WordWord),记记录录处处理理器器的运行模式信息等等的运行模式信息等等2.2.特权指令和非特权指令特权指令和非特权指令特权指令:只能由操作系统使用的指令特权指令:只能由操作系统使用的指令使用多道程序设计技术的计算机指令系统必须要区使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令分为特权指令和非特权指令特权指令一般引起处理器状态的切换特权指令一般引起处理器状态的切换处理器通过特殊的机制将处理器状态切换到操作系统
7、运行的特权状处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态)态(管态)然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为然后将处理权移交给操作系统中的一段特殊代码,这一个过程称为陷入陷入 CPUCPU如何知道当前运行的是操作系统还是一般应用如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识软件?有赖于处理器状态的标识3.3.处理器的状态处理器的状态 根根据据运运行行程程序序对对资资源源和和机机器器指指令令的的使使用用权权限限将将处理器设置为不同状态处理器设置为不同状态程序状态字程序状态字PSWPSW多数系统将处理器工作状态划分为管态和目态多数系统将
8、处理器工作状态划分为管态和目态管管态态:操操作作系系统统管管理理程程序序运运行行的的状状态态,较较高高的的特特权权级别,又称为级别,又称为特权态(特态)、核心态、系统态特权态(特态)、核心态、系统态目目态态:用用户户程程序序运运行行时时的的状状态态,较较低低的的特特权权级级别别,又称为又称为普通态(普态)、用户态普通态(普态)、用户态具体处理器将具体处理器将CPUCPU状态划分为两种、三种或四种状态划分为两种、三种或四种实例:实例:x86x86系列处理器系列处理器386386、486486、PentiumPentium系列都支持系列都支持4 4个处理器特权级别个处理器特权级别 特权环:特权环:
9、R0R0、R1R1、R2R2和和R3R3从从R0R0到到R3R3特权能力依次降低:特权能力依次降低:R0R0相当于双状态系统的管相当于双状态系统的管态,态,R3R3相当于目态相当于目态四个级别运行不同类别的程序:四个级别运行不同类别的程序:R0R0-运行操作系统核心代码运行操作系统核心代码R1R1-运行关键设备驱动程序和运行关键设备驱动程序和I/OI/O处理例程处理例程R2R2-运行其他受保护共享代码,如语言系统运行环境运行其他受保护共享代码,如语言系统运行环境R3R3-运行各种用户程序运行各种用户程序 现有基于现有基于x86x86处理器的操作系统大都只用了处理器的操作系统大都只用了R0R0和
10、和R3R3两个特权级别两个特权级别(UNIXUNIX、LinuxLinux以及以及WindowsWindows系列系列)4.4.程序状态字程序状态字PSW PSW(Program Status Word)(Program Status Word)在在PSWPSW中专门设置一位,根据运行程序使用指令中专门设置一位,根据运行程序使用指令的权限而设置的权限而设置CPUCPU状态状态CPUCPU的的工工作作状状态态码码指指明明管管态态还还是是目目态态,用用来来说说明明当当前前在在CPUCPU上上执执行行的的是是操操作作系系统统还还是是一一般般用用户户,从从而而决决定定其其是是否否可可以以使使用用特特权
11、权指指令令或或拥拥有有其其他的特殊权力他的特殊权力条件码条件码反映指令执行后的结果特征反映指令执行后的结果特征中断屏蔽码中断屏蔽码指出是否允许中断指出是否允许中断例例:微处理器微处理器M68000M68000的程序状态字的程序状态字条件位:条件位:C:进位标志位进位标志位 V:溢出标志位溢出标志位Z:结果为零标志位结果为零标志位N:结果为负标志位结果为负标志位I0 I2:三位中断屏蔽位三位中断屏蔽位S:CPU状态标志位,为状态标志位,为1处于管态,为处于管态,为0处于目态处于目态T:陷阱陷阱(Trap)中断指示位为中断指示位为1,在下一条指令执行后引起自陷中断在下一条指令执行后引起自陷中断CF
12、:进位标志位进位标志位 ZF:结果为零标志位结果为零标志位 SF:符号标志位符号标志位OF:溢出标志位溢出标志位标准条件位:标准条件位:TF:陷阱标志位:陷阱标志位IF:中断允许(中断屏蔽)标志位:中断允许(中断屏蔽)标志位VIF:虚拟中断标志位:虚拟中断标志位VIP:虚拟中断待决标志位:虚拟中断待决标志位IOPL:IO特权级别特权级别 例例:微处理器微处理器PentiumPentium的的FLAGSFLAGS和描述符和描述符CPUCPU状态的转换状态的转换目态目态管态管态 唯一途径唯一途径 是是 中断(广义)中断(广义)管态管态目态目态 设置设置PSW(PSW(修改程序状态字修改程序状态字)
13、可可实现实现一条特殊的指令:访管指令一条特殊的指令:访管指令 供用户调用操作系统的功能(服务)供用户调用操作系统的功能(服务)INT,TRAP,SYSCALL二、二、中断技术中断技术中断对于操作系统的重要性中断对于操作系统的重要性 就像机器中的驱动齿轮一样就像机器中的驱动齿轮一样可以认为操作系统可以认为操作系统 是由是由“中断驱动中断驱动”或者或者“(中断)事件驱(中断)事件驱动动”及时处理设备的中断请求及时处理设备的中断请求它使得它使得OSOS可以捕获用户程序发出的系统功能调用可以捕获用户程序发出的系统功能调用防止用户程序中破坏性的活动防止用户程序中破坏性的活动 等等等等事件:事件:异步异步
14、/同步事件同步事件1.1.中断的概念中断的概念CPUCPU对系统发生的某个事件作出的一种反应对系统发生的某个事件作出的一种反应CPUCPU暂停正在执行的程序,保留现场后暂停正在执行的程序,保留现场后自动自动转转去去执行相应事件的处理程序执行相应事件的处理程序,处理完成后返回,处理完成后返回断点,继续执行被打断的程序断点,继续执行被打断的程序特点:特点:1)1)中断是随机发生的中断是随机发生的 2)2)中断是可恢复的中断是可恢复的 3)3)中断是自动处理的中断是自动处理的中断的引入中断的引入:为了开发:为了开发CPUCPU和通道和通道(或设备或设备)之间的并行之间的并行操作,当操作,当CPUCP
15、U启动通道启动通道(或设备或设备)进行输入进行输入/输出后,通输出后,通道道 (或设备或设备)便可以独立工作,便可以独立工作,CPUCPU转去处理与此次输转去处理与此次输入入/输出不相关的事情。当通道输出不相关的事情。当通道(或设备或设备)完成输入完成输入/输输出后,通过向出后,通过向CPUCPU发中断告诉发中断告诉CPUCPU此次输入此次输入/输出结束,输出结束,使使CPUCPU继续处理输入继续处理输入/输出以后的事情输出以后的事情中断的概念中断的概念(2/3)中断与异常中断与异常异常的引入异常的引入:用于表示:用于表示CPUCPU执行指令时本身出现算术溢执行指令时本身出现算术溢出、零做除数
16、、取数时的奇偶错,访存指令越界或就出、零做除数、取数时的奇偶错,访存指令越界或就是执行了一条所谓是执行了一条所谓“异常指令异常指令”(用于实现系统调用)(用于实现系统调用)等情况,这时中断当前的执行流程,转到相应的错误等情况,这时中断当前的执行流程,转到相应的错误处理程序或异常处理程序处理程序或异常处理程序中断中断(外中断外中断)异常异常(内中断内中断)例外例外I/OI/O中断中断时钟中断时钟中断系统调用系统调用缺页异常缺页异常断点指令断点指令其他程序性异常其他程序性异常(如算术溢出等如算术溢出等)中断中断(狭义狭义)与异常的区别与异常的区别:中断中断:与正执行指令无关,可以屏蔽与正执行指令无
17、关,可以屏蔽异常异常:与正执行指令有关,不可屏蔽与正执行指令有关,不可屏蔽广义中断广义中断中断的概念(中断的概念(3/3)硬件故障硬件故障2.2.中断系统中断系统中断系统是现代计算机系统的核心机制之一中断系统是现代计算机系统的核心机制之一 硬件和软件相互配合、相互渗透而使得计算机系硬件和软件相互配合、相互渗透而使得计算机系统得以充分发挥能力统得以充分发挥能力中断系统中断系统的两大组成部分:的两大组成部分:硬件中断装置和软件中断处理程序硬件中断装置和软件中断处理程序中断系统的硬件中断装置中断系统的硬件中断装置-中断系统的机制部分中断系统的机制部分 负责捕获中断源发出的中断请求,以一定方式响负责捕
18、获中断源发出的中断请求,以一定方式响应中断源,然后将处理器控制权交给特定的中断应中断源,然后将处理器控制权交给特定的中断处理程序处理程序软件中断处理程序软件中断处理程序-中断系统的策略部分中断系统的策略部分 负责辨别中断类型并做出相应的操作负责辨别中断类型并做出相应的操作中断源:引起中断发生的事件中断源:引起中断发生的事件中断寄存器:记录中断中断寄存器:记录中断中断字:中断寄存器的内容中断字:中断寄存器的内容系统堆栈系统堆栈:在内存开辟的一块区域,用于临时保存在内存开辟的一块区域,用于临时保存现场现场中断系统中的相关概念中断系统中的相关概念3.中断类型(中断类型(1/2)输入输入/输出输出(I
19、/O)(I/O)中断中断:由:由I/OI/O控制器产生控制器产生程序性中断程序性中断:某些条件下由指令执行的结果产生:某些条件下由指令执行的结果产生 (如算术溢出如算术溢出,除零,缺页中断除零,缺页中断,地址越界,试图地址越界,试图执行一条非法指令执行一条非法指令)时钟中断时钟中断:由:由CPUCPU内部的计时器产生内部的计时器产生硬件故障中断硬件故障中断:如:如掉电或内存奇偶错掉电或内存奇偶错等等强迫性中断强迫性中断 正在运行的程序所不期望正在运行的程序所不期望的,由于某种硬件故障或外部的,由于某种硬件故障或外部请求引起的请求引起的William Stallings中断类型(中断类型(2/2
20、)访管指令访管指令/系统调用引发的中断系统调用引发的中断执行执行I/OI/O,创建进程,分配内存创建进程,分配内存信号量操作,发送信号量操作,发送/接收消息接收消息断点调试断点调试自愿性中断自愿性中断 用户在程序中有意识安排的用户在程序中有意识安排的中断,是由于用户在编制程序时中断,是由于用户在编制程序时因为要求操作系统提供服务,有因为要求操作系统提供服务,有意使用意使用“访管访管”指令或系统调用,指令或系统调用,使中断发生使中断发生例:微机中的中断例:微机中的中断1.1.可屏蔽中断(可屏蔽中断(IOIO中断)中断)2.2.不可屏蔽中断(机器内部故障、掉电中断)不可屏蔽中断(机器内部故障、掉电
21、中断)3.3.程序错误中断(溢出、除法错等中断)程序错误中断(溢出、除法错等中断)4.4.软件中断(软件中断(TrapTrap指令或中断指令指令或中断指令INTINT)例:例:IBM370IBM370中的中断中的中断1.1.机器故障中断:如电源故障,机器电路检验错等机器故障中断:如电源故障,机器电路检验错等2.2.输入输出中断:输入输出设备和通道数据传输状态)输入输出中断:输入输出设备和通道数据传输状态)3.3.外外部部中中断断:时时钟钟中中断断,操操作作员员控控制制台台中中断断,多多机机系系统统中中其其他他机机器器的的通通信信要要求求中中断断,各各种种外外设设或或传传感感器器发发来来的的实实
22、时中断等时中断等4.4.程程序序中中断断:程程序序中中的的问问题题引引起起的的中中断断,如如错错误误地地使使用用指指令或数据、溢出等问题,存储保护等令或数据、溢出等问题,存储保护等5.5.访访管管中中断断:访访管管指指令令或或陷陷阱阱指指令令(TrapTrap指指令令)中中的的操操作作数数规规定定了了要要求求服服务务的的类类型型。每每当当CPUCPU执执行行访访管管指指令令或或陷陷阱阱指指令令时时,即即引引起起中中断断并并调调用用操操作作系系统统相相应应的的功功能能模模块块为为其服务其服务广义上讲,中断可分为四类:广义上讲,中断可分为四类:中断、故障、陷阱、中断、故障、陷阱、终止,终止,其异同
23、点如下:其异同点如下:类别类别原因原因异步异步/同步同步返回行为返回行为中断中断来自来自I/OI/O设备的信号设备的信号 异步异步总是返回到下一条总是返回到下一条指令指令陷阱陷阱有意的异常有意的异常同步同步总是返回到下一条总是返回到下一条指令指令故障故障潜在可恢复的错误潜在可恢复的错误同步同步返回到当前指令返回到当前指令终止终止不可恢复的错误不可恢复的错误同步同步不会返回不会返回中断优先级设计原则:中断优先级设计原则:一般来说,高速设备的中一般来说,高速设备的中断优先级高,慢速设备的中断优先级低。因为高断优先级高,慢速设备的中断优先级低。因为高速设备的中断被处理机优先响应时,可以让处理速设备的
24、中断被处理机优先响应时,可以让处理机尽快地向它发出下一个机尽快地向它发出下一个I/OI/O请求,提高高速设备请求,提高高速设备的利用率的利用率如如PDP-11PDP-11机上的机上的UNIXUNIX系统把中断级别分为:系统把中断级别分为:时钟中断时钟中断中断优先级中断优先级6 6级级磁盘中断磁盘中断中断优先级中断优先级5 5级级终端等其他外设中断终端等其他外设中断中断优先级中断优先级4 4级级4.4.中断优先级和中断屏蔽(中断优先级和中断屏蔽(1/3)处理机优先级:处理机优先级:指出处理机正运行程序的中断响指出处理机正运行程序的中断响应级别。即当处理机处于某一优先级时,只允许应级别。即当处理机
25、处于某一优先级时,只允许处理机去响应比该优先级高的中断处理机去响应比该优先级高的中断,而屏蔽低于或而屏蔽低于或等于该优先级的中断等于该优先级的中断 可以通过设置处理机优先级来通知硬件:屏可以通过设置处理机优先级来通知硬件:屏蔽优先级小于等于处理机优先级的中断蔽优先级小于等于处理机优先级的中断中断屏蔽:中断屏蔽:指禁止指禁止CPUCPU响应中断或禁止中断出现响应中断或禁止中断出现中断优先级和中断屏蔽(中断优先级和中断屏蔽(2/3)中断屏蔽有两种方法中断屏蔽有两种方法:n 硬件实现硬件实现由软件置处理机优先级,硬件按系由软件置处理机优先级,硬件按系统设计时的约定,屏蔽那些低优先级中断统设计时的约定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机操作系统第三版 第二章 ppt 计算机 操作系统 第三 第二
限制150内