操作系统硬件基础_第1页
操作系统硬件基础_第2页
操作系统硬件基础_第3页
操作系统硬件基础_第4页
操作系统硬件基础_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第二讲第二讲 计算机系统硬件基础计算机系统硬件基础 概述概述 中央处理器(中央处理器(CPU) 存储系统存储系统 中断机制中断机制 I/O系统系统 系统调用系统调用内容目录内容目录讨论操作系统对运行硬件环境的要求讨论操作系统对运行硬件环境的要求 讨论讨论操作系统设计者操作系统设计者考虑的硬件问题考虑的硬件问题 中央处理器(中央处理器(CPUCPU) 存储系统存储系统 中断机制中断机制 I/O系统系统 时钟以及时钟队列时钟以及时钟队列操作系统的硬件环境操作系统的硬件环境概述概述任何系统软件都是硬件功能的延伸任何系统软件都是硬件功能的延伸操作系统直接依赖于硬件条件操作系统直接依赖于硬件条件OS的硬

2、件环境的硬件环境以较分散的形式同各种管理相结合以较分散的形式同各种管理相结合 实现操作系统时必须理解的实现操作系统时必须理解的 计算机基本结构计算机基本结构 操作系统管理的重要资源操作系统管理的重要资源计算机系统的组成计算机系统的组成ProcCachesBussesMemoryI/O Devices:ControllersadaptersDisksDisplaysKeyboardsNetworksPentium IV Chipset计算机的系统结构图计算机的系统结构图课程导论课程导论主板中的北桥主板中的北桥/南桥芯片南桥芯片 北桥芯片北桥芯片 主板芯片组的核心芯片,也称为主桥主板芯片组的核心芯

3、片,也称为主桥 主要负责与主要负责与CPU的联系,控制内存、的联系,控制内存、AGP等数据传输等数据传输 计算量大、数据传输量大,因此放置在与计算量大、数据传输量大,因此放置在与CPU相近的相近的位置以保证传输速度和能源低耗位置以保证传输速度和能源低耗 南桥芯片南桥芯片 负责各类低速负责各类低速I/O总线以及总线以及I/O设备的管理设备的管理 负责控制时钟、负责控制时钟、BIOS、电源、键盘、网卡等各类低、电源、键盘、网卡等各类低速设备速设备 相比北桥芯片,南桥芯片工作量较小、散热量小相比北桥芯片,南桥芯片工作量较小、散热量小 北桥与南桥连接北桥与南桥连接 南桥芯片不与南桥芯片不与CPU直接通

4、信,通过特定的连接方式与直接通信,通过特定的连接方式与北桥芯片连通北桥芯片连通 例如例如Intel的的Hub Architecture、SIS的的MultiThreaded 概述概述 中央处理器(中央处理器(CPU) 存储系统存储系统 中断机制中断机制 I/O系统系统 系统调用系统调用内容目录内容目录课程导论课程导论CPU算术算术协处理器协处理器8KB一级高速缓存一级高速缓存80486DX结构结构Pentium结构结构CPU1算术算术协处理器协处理器16KB一级高速缓存一级高速缓存CPU2Pentium Pro结构结构CPU1算术算术协处理器协处理器16KB一级高速缓存一级高速缓存CPU2CP

5、U3256KB二级高速缓存二级高速缓存Pentium Pro结构结构CPU1算术算术协处理器协处理器32KB一级高速缓存一级高速缓存CPU2CPU3512KB二级高速缓存二级高速缓存Intel CPU的结构框图的结构框图AMD 双核双核 vs Intel 双核双核专门设计了一系列基本机制:专门设计了一系列基本机制:- - 具有特权级别的处理器状态,能在不同具有特权级别的处理器状态,能在不同特权级运行的各种特权指令特权级运行的各种特权指令- - 硬件机制使得硬件机制使得OSOS可以和普通程序隔离可以和普通程序隔离 实现保护和控制实现保护和控制中央处理器(中央处理器(CPU) CPU的构成与基本工

6、作方式的构成与基本工作方式 处理器由运算器、控制器、一系列的寄处理器由运算器、控制器、一系列的寄存器以及高速缓存构成存器以及高速缓存构成 运算器实现指令中的算术和逻辑运算,是运算器实现指令中的算术和逻辑运算,是计算机计算的核心计算机计算的核心 控制器负责控制程序运行的流程,包括取控制器负责控制程序运行的流程,包括取指令、维护指令、维护CPUCPU状态、状态、CPUCPU与内存的交互等与内存的交互等等等 寄存器是指令在寄存器是指令在CPUCPU内部作处理的过程中暂存数据、内部作处理的过程中暂存数据、地址以及指令信息的存储设备地址以及指令信息的存储设备 在计算机的存储系统中它具有最快的访问速度在计

7、算机的存储系统中它具有最快的访问速度 高速缓存处于高速缓存处于CPUCPU和物理内存之间和物理内存之间 一般由控制器中的内存管理单元(一般由控制器中的内存管理单元(MMUMMU:Memory Memory Management UnitManagement Unit)管理)管理 访问速度快于内存,低于寄存器访问速度快于内存,低于寄存器 利用程序局部性原理使得高速指令处理和低速内存利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高访问得以匹配,从而提高CPUCPU的效率的效率处理器中的寄存器处理器中的寄存器 寄存器提供了一定的存储能力寄存器提供了一定的存储能力 速度比主存快得多速

8、度比主存快得多 造价高,容量一般都很小造价高,容量一般都很小两类寄存器:两类寄存器: 用户可见寄存器,高级语言编译器通过算法分用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问主存次数配并使用之,以减少程序访问主存次数 控制和状态寄存器,用于控制处理器的操作控制和状态寄存器,用于控制处理器的操作 由由OS的的特权代码使用特权代码使用, 以控制其他程序的执以控制其他程序的执行行用户可见寄存器用户可见寄存器 机器语言直接引用机器语言直接引用 包括数据寄存器、地址寄存器以及条件码寄存器包括数据寄存器、地址寄存器以及条件码寄存器 数据寄存器数据寄存器(data register)又称通

9、用寄存器又称通用寄存器 主要用于各种算术逻辑指令和访存指令主要用于各种算术逻辑指令和访存指令 地址寄存器地址寄存器(address register)用于存储数据用于存储数据及指令的物理地址、线性地址或者有效地址,用及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。如于某种特定方式的寻址。如index register、segment pointer、stack pointer 条件码寄存器保存条件码寄存器保存CPU操作结果的各种标记位操作结果的各种标记位 如算术运算产生的溢出、符号等等如算术运算产生的溢出、符号等等控制和状态寄存器控制和状态寄存器 用于控制处理器的操作用于控制处

10、理器的操作 大部分对于用户是不可见的大部分对于用户是不可见的 一部分可以在某种特权模式(由一部分可以在某种特权模式(由OS使用)下访问使用)下访问常见的控制和状态寄存器常见的控制和状态寄存器: : 程序计数器程序计数器(PC:Program Counter),记录将要取出的,记录将要取出的指令的地址指令的地址 指令寄存器指令寄存器(IR:Instruction Register),包含最近取出,包含最近取出的指令的指令 程序状态字程序状态字(PSW:Program Status Word),记录处理,记录处理器的运行模式信息等等器的运行模式信息等等1.2、特权指令和非特权指令、特权指令和非特权

11、指令特权指令:特权指令:只能由操作系统使用的指令只能由操作系统使用的指令 使用多道程序设计技术的计算机指令系统必须要区使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令分为特权指令和非特权指令 处理器通过特殊的机制将处理器状态切换到操作系处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态)统运行的特权状态(管态) CPUCPU如何知道当前运行的是操作系统还是一般应用如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识软件?有赖于处理器状态的标识1.3、处理器的状态、处理器的状态根据运行程序对资源和机器指令的使用权限将处理器设置根据运行程序对资源

12、和机器指令的使用权限将处理器设置为不同状态为不同状态多数系统将处理器工作状态划分为管态和目态多数系统将处理器工作状态划分为管态和目态管态:管态:操作系统管理程序运行的状态,较高的特权级别,操作系统管理程序运行的状态,较高的特权级别,又称为又称为特权态(特态)、核心态、系统态特权态(特态)、核心态、系统态目态:目态:用户程序运行时的状态,较低的特权级别,又称为用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态普通态(普态)、用户态 有些系统将处理器状态划分核心状态、管理状态和用有些系统将处理器状态划分核心状态、管理状态和用户程序状态(目标状态)三种户程序状态(目标状态)三种实例:

13、实例:x86系列处理器(系列处理器(1) 386、486、Pentium系列都支持系列都支持4个处理器特个处理器特权级别(特权环:权级别(特权环:R0、R1、R2和和R3) 从从R0到到R3特权能力依次降低特权能力依次降低 R0相当于双状态系统的管态相当于双状态系统的管态 R3相当于目态相当于目态 R1和和R2则介于两者之间,它们能够运行的指令则介于两者之间,它们能够运行的指令集合具有包含关系:集合具有包含关系:3210RRRRIIII各个级别有保护性检查(地址校验、各个级别有保护性检查(地址校验、I/O限制)限制)特权级别之间的转换方式不尽相同特权级别之间的转换方式不尽相同四个级别运行不同类

14、别的程序:四个级别运行不同类别的程序: R0- -运行操作系统核心代码运行操作系统核心代码 R1- -运行关键设备驱动程序和运行关键设备驱动程序和I/O处理例程处理例程 R2- -运行其他受保护共享代码,如语言系统运行环境运行其他受保护共享代码,如语言系统运行环境 R3- -运行各种用户程序运行各种用户程序现有基于现有基于x86处理器的操作系统,多数处理器的操作系统,多数UNIX、Linux以及以及Windows系列大都只用了系列大都只用了R0和和R3两个特权级别两个特权级别实例:实例:x86系列处理器(系列处理器(2) 在在PSW中专门设置一位,根据运行程序使用指中专门设置一位,根据运行程序

15、使用指令的权限而设置令的权限而设置CPUCPU状态状态 CPU的工作状态码的工作状态码指明管态还是目态,用来指明管态还是目态,用来说明当前在说明当前在CPU上执行的是操作系统还是一般用上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其户,从而决定其是否可以使用特权指令或拥有其他的特殊权力他的特殊权力 条件码条件码反映指令执行后的结果特征反映指令执行后的结果特征 中断屏蔽码中断屏蔽码指出是否允许中断指出是否允许中断程序状态字程序状态字PSW (Program Status Word )微处理器微处理器M68000的程序状态字的程序状态字1514131211109 8 7 6

16、5 4 3 2 1 0TSI2I1I0X N Z V C条件位:条件位:C: 进位标志位进位标志位 V: 溢出标志位溢出标志位Z: 结果为零标志位结果为零标志位N: 结果为负标志位结果为负标志位I0 I2:三位中断屏蔽位:三位中断屏蔽位S:CPU状态标志位,为状态标志位,为1处于管态,为处于管态,为0处于目态处于目态T:陷阱陷阱(Trap)中断指示位为中断指示位为1, 在下一条指令执行后引起自陷中断在下一条指令执行后引起自陷中断CF: 进位标志位进位标志位 ZF: 结果为零标志位结果为零标志位 SF: 符号标志位符号标志位OF: 溢出标志位溢出标志位标准条件位:标准条件位: TF:陷阱标志位:

17、陷阱标志位IF:中断允许(中断屏蔽)标志位:中断允许(中断屏蔽)标志位VIF:虚拟中断标志位:虚拟中断标志位VIP:虚拟中断待决标志位:虚拟中断待决标志位IOPL:IO特权级别特权级别 微处理器微处理器Pentium的程序状态字的程序状态字目态目态管态管态 唯一途径唯一途径 是是 中断中断管态管态目态目态 设置设置PSW(PSW(修改程序状态字修改程序状态字) ) 可实现可实现CPU状态的转换状态的转换 概述概述 中央处理器(中央处理器(CPU) 存储系统存储系统 中断机制中断机制 I/O系统系统 系统调用系统调用内容目录内容目录存储系统存储系统支持支持OS运行硬件环境的一个重要方面:运行硬件

18、环境的一个重要方面: 作业必须把它的程序和数据存放在内存中才能运行作业必须把它的程序和数据存放在内存中才能运行 多道程系统中,若干个程序和相关的数据要放入内存多道程系统中,若干个程序和相关的数据要放入内存 操作系统要管理、保护程序和数据,使它们不至于受操作系统要管理、保护程序和数据,使它们不至于受到破坏到破坏 操作系统本身也要存放在内存中并运行操作系统本身也要存放在内存中并运行 存储器的类型存储器的类型半导体存储器半导体存储器 实现实现 内存内存 存储器芯片的内部组织结构存储器芯片的内部组织结构 静态存储器(静态存储器(SRAMSRAM) 异步动态随机存储器(异步动态随机存储器(DRAMDRA

19、M) 同步动态随机存储器(同步动态随机存储器(SDRAMSDRAM)双倍数据速率双倍数据速率SDRAMSDRAM(DDR SDRAMDDR SDRAM)(开放标准)(开放标准)RambusRambus公司的公司的SDRAMSDRAM只读型存储器只读型存储器 ROM( Read-Only Memory) :只能从其中读取数据,但只能从其中读取数据,但不能随意用普通方法写入数据(写入数据只能用特殊方法)不能随意用普通方法写入数据(写入数据只能用特殊方法)在微机中,一些常驻内存的模块以微程序形式固化在在微机中,一些常驻内存的模块以微程序形式固化在ROM中,如中,如: :PC BIOS和和CBASIC

20、解释程序被固化于解释程序被固化于ROM中中 PROM:可编程只读存储器,使用特殊可编程只读存储器,使用特殊PROM写入器写入数据写入器写入数据 EPROM:电可擦写:电可擦写可编程只读存储器,用特殊的紫外线光照可编程只读存储器,用特殊的紫外线光照射此芯片,以射此芯片,以“擦去擦去”信息,恢复原来状态,再使用特殊信息,恢复原来状态,再使用特殊EPROM写入器写入数据写入器写入数据 闪存(闪存(flash memoryflash memory)存储器的类型存储器的类型存储器的层次结构存储器的层次结构存储系统设计三个问题:存储系统设计三个问题: 容量、速度和成本容量、速度和成本 容量:需求无止境容量

21、:需求无止境 速度:能匹配处理器的速度速度:能匹配处理器的速度 成本问题:成本和其他部件相比应在合适范围之内成本问题:成本和其他部件相比应在合适范围之内容量、速度和成本容量、速度和成本 三个目标不可能同时达到最优,要作权衡三个目标不可能同时达到最优,要作权衡 存取速度快,每比特价格高存取速度快,每比特价格高 容量大,每比特价格越低,同时存取速度也越慢容量大,每比特价格越低,同时存取速度也越慢解决方案:采用层次化的存储体系结构解决方案:采用层次化的存储体系结构 当沿着层次下降时当沿着层次下降时 每比特的价格将下降,容量将增大每比特的价格将下降,容量将增大 速度将变慢,处理器的访问频率也将下降速度

22、将变慢,处理器的访问频率也将下降层次化的存储体系结构层次化的存储体系结构存储访问局部性原理存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性原理 程序执行时,有很多的循环和子程序调用,一旦进入程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合这样的程序段,就会重复存取相同的指令集合 对数据存取也有局部性,在较短的时间内,稳定地保对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域持在一个存储器的局部区域处理器主要和存储器的局部打交道处理器主要和存储器的局部打交道在经过一段时间以后,使用

23、的代码和数据集合会改变在经过一段时间以后,使用的代码和数据集合会改变存储分块存储分块 存储最小单位存储最小单位: :“二进位二进位”,包含信息为,包含信息为0 0或或1 1 最小编址单位最小编址单位: :字节,一个字节包含八个二进位字节,一个字节包含八个二进位主流个人电脑主流个人电脑主存主存:128MB:128MB512MB512MB之间之间辅助存储器辅助存储器: :在在20GB20GB70GB70GB工作站、服务器工作站、服务器主存主存:512MB :512MB 4GB4GB之间之间硬盘容量硬盘容量: :数百数百GBGB为简化分配和管理,存储器分成块为简化分配和管理,存储器分成块, ,称一个

24、物理页(称一个物理页(PagePage) 块的大小:块的大小:512B512B、1K1K、4K4K、8K8K 对主存中的信息加以严格的保护,使操作系统及其对主存中的信息加以严格的保护,使操作系统及其他程序不被破坏,是其正确运行的基本条件之一他程序不被破坏,是其正确运行的基本条件之一多用户,多任务操作系统:多用户,多任务操作系统: OSOS给每个运行进程分配一个存储区域给每个运行进程分配一个存储区域问题:问题: 多个程序同时在同一台机器上运行,怎样才能互不多个程序同时在同一台机器上运行,怎样才能互不侵犯?侵犯? 如何处理重定位?如何处理重定位?存储保护设施存储保护设施解决方案解决方案 依赖于依赖

25、于 配有特殊硬件的配有特殊硬件的CPUCPU硬件可提供如下功能:硬件可提供如下功能: 界地址寄存器(界限寄存器)界地址寄存器(界限寄存器) 存储键存储键 地址转换机制地址转换机制保护的硬件支持保护的硬件支持界地址寄存器(界限寄存器)界地址寄存器(界限寄存器) 界地址寄存器被广泛使用的一种存储保护技术界地址寄存器被广泛使用的一种存储保护技术 机制比较简单,易于实现机制比较简单,易于实现实现方法:实现方法: 在在CPUCPU中设置一对下限寄存器和上限寄存器中设置一对下限寄存器和上限寄存器 存放用户作业在主存中的下限和上限地址存放用户作业在主存中的下限和上限地址 也可将一个寄存器作为基址寄存器,另一

26、寄存器作为限也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)长寄存器(指示存储区长度) 每当每当CPUCPU要访问主存,硬件自动将被访问的主存地址与要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界界限寄存器的内容进行比较,以判断是否越界 如果未越界,则按此地址访问主存,否则将产生程序中如果未越界,则按此地址访问主存,否则将产生程序中断断越界中断(存储保护中断)越界中断(存储保护中断)界地址寄存器界地址寄存器存储保护技术存储保护技术存储键存储键 每个存储块有一个由二进位组成的存储保护键每个存储块有一个由二进位组成的存储保护键 一用户作业被

27、允许进入主存,一用户作业被允许进入主存,OSOS分给它一个唯分给它一个唯一的存储键号一的存储键号 并将分配给该作业各存储块存储键也置成同样并将分配给该作业各存储块存储键也置成同样键号键号 当当OSOS挑选该作业运行时,挑选该作业运行时,OSOS将它的存储键号放将它的存储键号放入程序状态字入程序状态字PSWPSW存储键(存储键(“钥匙钥匙”)域中)域中 每当每当CPUCPU访问主存时,都将该主存块的存储键访问主存时,都将该主存块的存储键与与PSWPSW中的中的“钥匙钥匙”进行比较进行比较 如果相匹配,则允许访问,否则,拒绝并报警如果相匹配,则允许访问,否则,拒绝并报警地址转换机制地址转换机制同时

28、有多个程序在内存同时有多个程序在内存程序在内存的位置不是固定的而是随机的程序在内存的位置不是固定的而是随机的用户程序用户程序A A内存内存用户程序用户程序B BCPUMMU内存内存磁盘磁盘控制器控制器总线总线虚拟地址虚拟地址物理地址物理地址MMU:内存管理单元:内存管理单元地址转换机制地址转换机制 虚拟地址(逻辑地址)虚拟地址(逻辑地址) 处理器生成的指令或数据的二进制地址处理器生成的指令或数据的二进制地址 这些地址用硬件和软件结合的方法转换成物理地址这些地址用硬件和软件结合的方法转换成物理地址 MMUMMU:内存管理单元,一种特殊硬件,完成转换工作:内存管理单元,一种特殊硬件,完成转换工作

29、概述概述 中央处理器(中央处理器(CPU) 存储系统存储系统 中断机制中断机制 I/O系统系统 系统调用系统调用内容目录内容目录中断技术中断技术中断对于操作系统的重要性中断对于操作系统的重要性 就像机器中的驱动齿轮一样就像机器中的驱动齿轮一样所以有人把操作系统称为是由所以有人把操作系统称为是由 “中断驱动中断驱动”或者或者 “(中断)事件驱动(中断)事件驱动” 它使得它使得OS可以捕获用户程序发出的系统功能调用可以捕获用户程序发出的系统功能调用 及时处理设备的中断请求及时处理设备的中断请求 防止用户程序中破坏性的活动等等防止用户程序中破坏性的活动等等中断的概念中断的概念 CPUCPU对系统发生

30、的某个事件作出的一种反应对系统发生的某个事件作出的一种反应 CPUCPU暂停正在执行的程序,保留现场后暂停正在执行的程序,保留现场后自动自动转转去去执行相应事件的处理程序执行相应事件的处理程序,处理完成后返回,处理完成后返回断点,继续执行被打断的程序断点,继续执行被打断的程序特点:特点: 1) 1) 中断随机的中断随机的 2) 2) 中断是可恢复的中断是可恢复的 3) 3) 中断是自动处理的中断是自动处理的引入中断的目的引入中断的目的 解决主机与外设的并解决主机与外设的并行工作问题行工作问题 实现实时控制实现实时控制中断中断/ /异常:异常:指系统发生某个异步指系统发生某个异步/ /同步事件后

31、同步事件后, ,处处理机暂停正在执行的程序理机暂停正在执行的程序, ,转去执行处理该事件程转去执行处理该事件程序的过程序的过程中断的引入:中断的引入:为了开发为了开发CPUCPU和通道和通道( (或设备或设备) )之间的之间的并行操作,当并行操作,当CPUCPU启动通道启动通道( (或设备或设备) )进行输入进行输入/ /输输出后,通道便出后,通道便( (或设备或设备) )可以独立工作了,可以独立工作了,CPUCPU也可也可以转去做与此次输入以转去做与此次输入/ /输出不相关的事情,那么通输出不相关的事情,那么通道道( (或设备或设备) ) 输入输入/ /输出完成后,还必须告诉输出完成后,还必

32、须告诉CPUCPU继继续输入续输入/ /输出以后的事情,通道输出以后的事情,通道( (或设备或设备) )通过向通过向CPUCPU发中断告诉发中断告诉CPUCPU此次输入此次输入/ /输出结束输出结束异常引入:异常引入:用于表示用于表示CPUCPU执行指令时本身出现算术执行指令时本身出现算术溢出、零做除数、取数时的奇偶错,访存指令越溢出、零做除数、取数时的奇偶错,访存指令越界或就是执行了一条所谓界或就是执行了一条所谓“异常指令异常指令”(用于实(用于实现系统调用)等情况,这时中断当前的执行流程现系统调用)等情况,这时中断当前的执行流程,转到相应的错误处理程序或异常处理程序,转到相应的错误处理程序

33、或异常处理程序注意:注意:最早中断和异常并没有区分,都把它们叫最早中断和异常并没有区分,都把它们叫做中断。随着它们的发生原因和处理方式的差别做中断。随着它们的发生原因和处理方式的差别愈发明显,才有了以后的中断和异常愈发明显,才有了以后的中断和异常 中断中断( (外中断外中断) )异常异常( (内中断内中断) )例外例外I/OI/O中断中断时钟中断时钟中断系统调用系统调用缺页异常缺页异常断点指令断点指令其他程序性异常其他程序性异常( (如算术溢出等如算术溢出等) )中断中断( (狭义狭义) )与异常的区别与异常的区别: :中断中断: : 与正执行指令无关,可以屏蔽与正执行指令无关,可以屏蔽异常异

34、常: : 与正执行指令有关,不可屏蔽与正执行指令有关,不可屏蔽广义中断广义中断中断系统中断系统中断系统是现代计算机系统的核心机制之一中断系统是现代计算机系统的核心机制之一硬件和软件相互配合、相互渗透而使得计算机系统得以硬件和软件相互配合、相互渗透而使得计算机系统得以充分发挥能力的计算模式充分发挥能力的计算模式中断系统的两大组成部分:硬件中断装置和软件中断处中断系统的两大组成部分:硬件中断装置和软件中断处理程序理程序 中断系统的硬件中断装置中断系统的硬件中断装置- -中断系统的机制部分中断系统的机制部分 负责捕获中断源发出的中断请求,以一定方式响应负责捕获中断源发出的中断请求,以一定方式响应中断

35、源,然后将处理器控制权交给特定的中断处理程中断源,然后将处理器控制权交给特定的中断处理程序序 软件中断处理程序软件中断处理程序- -中断系统的策略部分中断系统的策略部分 负责辨别中断类型并做出相应的操作负责辨别中断类型并做出相应的操作中断优先级设计原则:中断优先级设计原则:一般来说,高速设备的中一般来说,高速设备的中断优先级高,慢速设备的中断优先级低。因为高断优先级高,慢速设备的中断优先级低。因为高速设备的中断被处理机优先响应时,可以让处理速设备的中断被处理机优先响应时,可以让处理机尽快地向它发出下一个机尽快地向它发出下一个I/OI/O请求,提高高速设备请求,提高高速设备的利用率的利用率处理机

36、优先级:处理机优先级:指出处理机正运行程序的中断响指出处理机正运行程序的中断响应级别。即当处理机处于某一优先级时,只允许应级别。即当处理机处于某一优先级时,只允许处理机去响应比该优先级高的中断处理机去响应比该优先级高的中断, ,而屏蔽低于或而屏蔽低于或等于该优先级的中断。可以通过置处理机优先级等于该优先级的中断。可以通过置处理机优先级来通知硬件:屏蔽优先级小于等于处理机优先级来通知硬件:屏蔽优先级小于等于处理机优先级的中断的中断中断屏蔽:中断屏蔽:指禁止处理机响应中断或禁止中断出指禁止处理机响应中断或禁止中断出现现中断屏蔽有两种方法中断屏蔽有两种方法:n 硬件实现硬件实现由软件置处理机优先级,

37、硬件按系由软件置处理机优先级,硬件按系统设计时的约定,屏蔽那些低优先级中断统设计时的约定,屏蔽那些低优先级中断n 软件实现软件实现由软件按操作系统优先级约定由软件按操作系统优先级约定, ,设置设置屏蔽寄存器屏蔽寄存器强迫性中断强迫性中断 正在运行的程序所不期望的,由于某种硬件故正在运行的程序所不期望的,由于某种硬件故障或外部请求引起的障或外部请求引起的自愿性中断自愿性中断 用户在程序中有意识安排的中断,是由于用户用户在程序中有意识安排的中断,是由于用户在编制程序时因为要求操作系统提供服务,有在编制程序时因为要求操作系统提供服务,有意使用意使用“访管访管”指令或系统调用,使中断发生指令或系统调用

38、,使中断发生中断类型中断类型强迫性中断强迫性中断 输入输入/ /输出输出(I/O)(I/O)中断:主要来自外部设备通中断:主要来自外部设备通道道 程序性中断:运行程序中本身的中断程序性中断:运行程序中本身的中断( (如溢出如溢出, ,缺页中断缺页中断, ,缺段中断缺段中断, ,地址越界地址越界) ) 时钟中断时钟中断 控制台中断控制台中断 硬件故障硬件故障中断类型中断类型自愿性中断自愿性中断 执行执行I/OI/O,创建进程,分配内存,创建进程,分配内存 信号量操作,发送信号量操作,发送/ /接收消息接收消息中断类型中断类型微机中的中断微机中的中断1.1.可屏蔽中断(可屏蔽中断(IOIO中断)中

39、断)2.2.不可屏蔽中断(机器内部故障、掉电中断)不可屏蔽中断(机器内部故障、掉电中断)3.3.程序错误中断(溢出、除法错等中断)程序错误中断(溢出、除法错等中断)4.4.软件中断(软件中断(TrapTrap指令或中断指令指令或中断指令INTINT)IBM370中的中断中的中断1. 1. 机器故障中断:如电源故障,机器电路检验错等机器故障中断:如电源故障,机器电路检验错等2. 2. 输入输出中断:输入输出设备和通道数据传输状态)输入输出中断:输入输出设备和通道数据传输状态)3. 3. 外部中断:时钟中断,操作员控制台中断,多机系统外部中断:时钟中断,操作员控制台中断,多机系统中其他机器的通信要

40、求中断,各种外设或传感器发来的中其他机器的通信要求中断,各种外设或传感器发来的实时中断等实时中断等4. 4. 程序中断:程序中的问题引起的中断,如错误地使用程序中断:程序中的问题引起的中断,如错误地使用指令或数据、溢出等问题,存储保护等指令或数据、溢出等问题,存储保护等5. 5. 访管中断:访管指令或陷阱指令(访管中断:访管指令或陷阱指令(TrapTrap指令)中的操指令)中的操作数规定了要求服务的类型。每当作数规定了要求服务的类型。每当CPUCPU执行访管指令或执行访管指令或陷阱指令时,即引起中断并调用操作系统相应的功能模陷阱指令时,即引起中断并调用操作系统相应的功能模块为其服务块为其服务C

41、PUCPU如何响应中断如何响应中断, , 两个问题:两个问题: CPUCPU何时响应中断?何时响应中断? 通常在通常在CPUCPU执行了一条指令以后,更确切执行了一条指令以后,更确切地,在指令周期最后时刻接受中断请求,地,在指令周期最后时刻接受中断请求,或此时扫描中断寄存器或此时扫描中断寄存器 如何知道提出中断请求的设备或中断源?如何知道提出中断请求的设备或中断源? 因为只有知道中断源或中断设备,才能因为只有知道中断源或中断设备,才能调用相应的中断处理程序调用相应的中断处理程序中断响应中断响应处理器如何发现中断信号?处理器如何发现中断信号? 处理器的控制部件中设一个能检测中断的机构处理器的控制

42、部件中设一个能检测中断的机构 称为中断扫描机构称为中断扫描机构 在每条指令执行周期的最后时刻扫描中断寄存器,在每条指令执行周期的最后时刻扫描中断寄存器,询问是否有中断信号询问是否有中断信号 若无中断信号,继续执行下一条指令若无中断信号,继续执行下一条指令 若有中断,中断硬件将该中断触发器内容按规定编若有中断,中断硬件将该中断触发器内容按规定编码送入码送入PSWPSW的相应位,称为中断码的相应位,称为中断码 通过交换中断向量引出中断处理程序通过交换中断向量引出中断处理程序中断响应中断响应 中断向量:中断向量:一个存放中断处理程序入口地址和程一个存放中断处理程序入口地址和程序运行所需处理机状态字的

43、内存单元序运行所需处理机状态字的内存单元硬件按中断号、异常类型的不同通过中断向量表硬件按中断号、异常类型的不同通过中断向量表转移转移中断向量表中断向量表在有的机器中:在有的机器中:将主存最低位将主存最低位128128个字保留作为中断向量表,每个字保留作为中断向量表,每个中断向量占两个字个中断向量占两个字中断请求的设备接口为了标识自己,向处理器发中断请求的设备接口为了标识自己,向处理器发送一个该设备在中断向量表中表目的地址指针送一个该设备在中断向量表中表目的地址指针中断响应中断响应典型的中断处理(典型的中断处理(1 1):):I/O中断中断由由I/OI/O设备的控制器或者通道发出设备的控制器或者

44、通道发出两类两类I/OI/O中断:中断: I/OI/O操作正常结束操作正常结束如果要继续如果要继续I/OI/O操作,需要在准备好以后重新启动操作,需要在准备好以后重新启动I/OI/O,若请求若请求I/OI/O程序正处于等待程序正处于等待I/OI/O状态,则应将其唤醒状态,则应将其唤醒 I/OI/O异常异常需要重新执行失败的需要重新执行失败的I/OI/O操作操作重试次数有上限,次数过大,系统将判定硬件故障重试次数有上限,次数过大,系统将判定硬件故障系统多道能力的重要推动力量,时钟中断处理程序通常系统多道能力的重要推动力量,时钟中断处理程序通常做与系统运转、管理和维护相关的工作,包括:做与系统运转

45、、管理和维护相关的工作,包括: 维护软件时钟:系统有若干个软件时钟,控制定时任维护软件时钟:系统有若干个软件时钟,控制定时任务以及进程的处理器时间配额,时钟中断需要维护、务以及进程的处理器时间配额,时钟中断需要维护、定时更新这些软件时钟定时更新这些软件时钟 处理器时间调度:维护当前进程时间片软件时钟,并处理器时间调度:维护当前进程时间片软件时钟,并在当前进程时间片到时以后运行调度程序选择下一个在当前进程时间片到时以后运行调度程序选择下一个被调度的进程被调度的进程 控制系统定时任务:通过软件时钟和调度程序定时激控制系统定时任务:通过软件时钟和调度程序定时激活一些系统任务,如监测死锁、系统记帐、系

46、统审计活一些系统任务,如监测死锁、系统记帐、系统审计等等 实时处理实时处理典型的中断处理典型的中断处理(2):时钟中断时钟中断 硬件故障中断处理程序一般需要做的工作:硬件故障中断处理程序一般需要做的工作: 保存现场,使用一定警告手段,提供些辅助诊断信息保存现场,使用一定警告手段,提供些辅助诊断信息 在高可靠系统中,中断处理程序还要评估系统可用性,尽可能在高可靠系统中,中断处理程序还要评估系统可用性,尽可能恢复系统恢复系统如如Windows 2000/XPWindows 2000/XP,关键硬件发生故障时,如显示卡损坏,出,关键硬件发生故障时,如显示卡损坏,出现系统蓝屏,系统实际上进入相应故障处

47、理程序,发现故障不现系统蓝屏,系统实际上进入相应故障处理程序,发现故障不可恢复,则在屏幕上打印出发生故障时程序位置,并开始进行可恢复,则在屏幕上打印出发生故障时程序位置,并开始进行内存转储(将一定范围的内存内容写上磁盘,是系统故障时的内存转储(将一定范围的内存内容写上磁盘,是系统故障时的全系统全系统“快照快照”),备日后故障诊断),备日后故障诊断典型的中断处理(典型的中断处理(3):硬件故障中断硬件故障中断程序指令出错、指令越权或者指令寻址越界而引发程序指令出错、指令越权或者指令寻址越界而引发两类处理方法:两类处理方法: 只能由操作系统的相关扩展功能模块完成只能由操作系统的相关扩展功能模块完成

48、 多为程序试图作不能做的操作引起的系统保护多为程序试图作不能做的操作引起的系统保护 如访问合法的、但不在内存虚地址内,引发页故障页故障一如访问合法的、但不在内存虚地址内,引发页故障页故障一般会引发般会引发OSOS虚存模块作一个页面换入虚存模块作一个页面换入 可由程序自己完成,如一些算术运算错误可由程序自己完成,如一些算术运算错误 不同程序可有不同处理方法,所以很多不同程序可有不同处理方法,所以很多OSOS提供由用户自己处提供由用户自己处理这类中断的理这类中断的“绿色通道绿色通道” 系统调试中断(断点中断、单步跟踪)也可被用户程序处理,系统调试中断(断点中断、单步跟踪)也可被用户程序处理,用以支

49、持各种程序调试用以支持各种程序调试典型的中断处理典型的中断处理( (4) ):程序性中断程序性中断系统服务请求由处理器专用指令(访管指令)激发系统服务请求由处理器专用指令(访管指令)激发 如如x86x86处理器提供处理器提供int指令,用来激发软件中断指令,用来激发软件中断 其他不少处理器则提供系统调用指令其他不少处理器则提供系统调用指令syscall 执行专用指令的结果是系统被切换到管态,并且转执行专用指令的结果是系统被切换到管态,并且转移到一段专门移到一段专门OS程序处开始执行程序处开始执行 指令格式通常是指令名加请求服务识别号(中断号)指令格式通常是指令名加请求服务识别号(中断号) OS

50、利用处理器提供的这种接口建立系统服务体系利用处理器提供的这种接口建立系统服务体系 处理器一般不负责定义系统调用所传递的参数格式处理器一般不负责定义系统调用所传递的参数格式典型的中断处理典型的中断处理(5):系统服务请求(自愿性中断):系统服务请求(自愿性中断) DOS:21h号中断的系统服务功能以及参数列表号中断的系统服务功能以及参数列表 现代操作系统一般不提供直接使用系统调用指令的接口,通现代操作系统一般不提供直接使用系统调用指令的接口,通常做法:提供一套方便、实用的应用程序函数库(应用程序常做法:提供一套方便、实用的应用程序函数库(应用程序设计接口设计接口APIAPI)从应用层面重新封装系

51、统调用从应用层面重新封装系统调用屏蔽复杂的系统调用传参问题屏蔽复杂的系统调用传参问题高级语言接口,有助于快速开发高级语言接口,有助于快速开发有的系统在更高层面提供系统程序设计模板库和类库有的系统在更高层面提供系统程序设计模板库和类库 如如Windows 2000/XPWindows 2000/XP提供封装系统用提供封装系统用Win32 APIWin32 API和高层编程机和高层编程机制制MFCMFC以及以及ATLATL Linux Linux提供封装系统调用、符合提供封装系统调用、符合POSIXPOSIX标准标准 APIAPI和和C C运行库运行库典型的中断处理典型的中断处理( (6) ):系

52、统服务请求实系统服务请求实例例设备控制器或其他设备控制器或其他系统硬件发出中断系统硬件发出中断处理器完成当前指处理器完成当前指令的执行令的执行处理器接受中断处理器接受中断处理器将处理器将PSW和和PC推入系统堆栈推入系统堆栈处理器根据中断类处理器根据中断类型读入新的型读入新的PC值值中断系统硬件完成的工作中断系统硬件完成的工作保存进程状态的其保存进程状态的其余信息余信息进程中断进程中断恢复进程状态信息恢复进程状态信息从系统堆栈恢复原从系统堆栈恢复原PSW和和PC中断系统软件完成的工作中断系统软件完成的工作 概述概述 中央处理器(中央处理器(CPU) 存储系统存储系统 中断机制中断机制 I/O系

53、统系统 系统调用系统调用内容目录内容目录I/O技术技术I/O控制使用下面几种技术:控制使用下面几种技术: 程序控制程序控制 中断驱动中断驱动 直接存储器存取直接存储器存取(DMA) 通道通道由处理器提供由处理器提供I/OI/O相关指令来实现相关指令来实现 I/O处理单元处理请求并设置处理单元处理请求并设置I/O状态寄存器相关位状态寄存器相关位 不中断处理器,也不给处理器警告信息不中断处理器,也不给处理器警告信息 处理器定期轮询处理器定期轮询I/O单元的状态,直到处理完毕单元的状态,直到处理完毕I/O软件包含直接操纵软件包含直接操纵I/O的指令的指令 控制指令控制指令: : 用于激活外设,并告诉

54、它做什么用于激活外设,并告诉它做什么 状态指令状态指令: : 用于测试用于测试I/OI/O控制中的各种状态和条件控制中的各种状态和条件 数据传送指令数据传送指令: : 用于在设备和主存之间来回传送数据用于在设备和主存之间来回传送数据主要缺陷:处理器必须关注主要缺陷:处理器必须关注I/OI/O处理单元的状态,因而耗费大处理单元的状态,因而耗费大量时间轮询信息,严重地降低了系统性能量时间轮询信息,严重地降低了系统性能程序控制程序控制I/O技术技术中断驱动中断驱动I/O技术技术为了解决程序控制为了解决程序控制I/O方法的主要问题方法的主要问题 应该让处理器从轮询任务中解放出来应该让处理器从轮询任务中

55、解放出来 使使I/O操作和指令执行并行起来操作和指令执行并行起来具体作法:具体作法: 当当I/O处理单元准备好与设备交互的时候处理单元准备好与设备交互的时候 通过物理信号通知处理器,即中断处理器通过物理信号通知处理器,即中断处理器DMA技术(技术(1)中断的引入大大地提高了处理器处理中断的引入大大地提高了处理器处理I/O的的效率效率当处理器和当处理器和I/O间间传送数据时,效率仍旧不高传送数据时,效率仍旧不高解决方法:解决方法:直接存储器访问直接存储器访问(DMA:Direct Memory Access) 通过系统总线中一独立控制单元通过系统总线中一独立控制单元DMA控制控制器器 自动控制成

56、块数据在内存和自动控制成块数据在内存和I/O单元间的传送单元间的传送 大大提高处理大大提高处理I/O的效能的效能DMA技术技术(2)当处理器需要读写一整块数据时当处理器需要读写一整块数据时给给DMA控制单元发送一条命令控制单元发送一条命令包含:是否请求一次读或写,包含:是否请求一次读或写,I/O设备的编址,开设备的编址,开始读或写的主存编址,需要传送的数据长度等信始读或写的主存编址,需要传送的数据长度等信息息 处理器发送完命令后就可处理其他事情处理器发送完命令后就可处理其他事情 DMADMA控制器将自动管理数据的传送控制器将自动管理数据的传送 当这个过程完成后,它会给处理器发一个中断当这个过程

57、完成后,它会给处理器发一个中断处理器只在开始传送和传送结束时关注一下就可处理器只在开始传送和传送结束时关注一下就可 处理器和处理器和DMA传送不完全并行传送不完全并行 有时会有总线竞争的情况发生有时会有总线竞争的情况发生 处理器用总线时可能稍作等待处理器用总线时可能稍作等待 不会引起中断不会引起中断 不引起程序上下文的保存不引起程序上下文的保存 通常过程只有一个总线周期通常过程只有一个总线周期 在在DMA传送传送时,处理器访问总线速度会变慢时,处理器访问总线速度会变慢 对于大量数据对于大量数据I/O传送,传送,DMA技术是很有价值技术是很有价值DMA技术技术(3)独立于中央处理器,专门负责数据

58、独立于中央处理器,专门负责数据I/O传输传输的的处理机处理机它对外设实现统一管理它对外设实现统一管理代替代替CPU对对I/O操作进行控制操作进行控制使使CPU和和外设可以并行工作外设可以并行工作通道又称为通道又称为I/O处理机处理机引入通道的目的引入通道的目的: : 为了使为了使CPU从从I/O事务中解脱出来事务中解脱出来 同时为了提高同时为了提高CPU与设备、设备与设备之间的并行度与设备、设备与设备之间的并行度通道通道时钟时钟时钟为计算机完成以下必不可少的工作:时钟为计算机完成以下必不可少的工作: 在多道程序运行环境中,为系统发现陷入死循环(编程错误)在多道程序运行环境中,为系统发现陷入死循

59、环(编程错误)的作业,防止机时的浪费的作业,防止机时的浪费 在分时系统中,间隔时钟实现作业间按时间片轮转在分时系统中,间隔时钟实现作业间按时间片轮转 在实时系统中,按要求的间隔输出正确时间信号给实时的控在实时系统中,按要求的间隔输出正确时间信号给实时的控制设备(如制设备(如AD、D/A转换设备)转换设备) 定时唤醒要求延迟执行的各外部事件(如定时为各进程计算定时唤醒要求延迟执行的各外部事件(如定时为各进程计算优先数,银行中定时运行某类结账程序等)优先数,银行中定时运行某类结账程序等) 记录用户使用设备时间和记录某外部事件发生时间记录用户使用设备时间和记录某外部事件发生时间 记录用户和系统所需要

60、的绝对时间,即年、月、日记录用户和系统所需要的绝对时间,即年、月、日 时钟是操作系统运行的必不可少的硬件设施时钟是操作系统运行的必不可少的硬件设施 时钟,实际上都是硬件时钟寄存器,按时钟电路所产生的脉时钟,实际上都是硬件时钟寄存器,按时钟电路所产生的脉冲数对时钟寄存器进行加冲数对时钟寄存器进行加1 1或减或减1 1的工作的工作 绝对时钟:记录当时时间(年、月、日、时、分、秒)绝对时钟:记录当时时间(年、月、日、时、分、秒) 一般来说,绝对时钟准确,当停机时,绝对时钟值仍然自动一般来说,绝对时钟准确,当停机时,绝对时钟值仍然自动修改修改 间隔时钟间隔时钟( (相对时钟相对时钟) ):通过时钟寄存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论