第2章操作系统的运行环境讨论操作系统的主要运行环境?中央处理器( CPU ) ?存储系统?中断机制?作业与作业步 1 中央处理器( CPU ) ?一个计算机系统只有一个处理器,称之为单处理器系统?如果有多个处理器称之为多处理器系统处理器由运算器、控制器和以及高速缓存构成。处理器由运算器、控制器和以及高速缓存构成。 2 程序计数器 PC 程序计数器 PC 指令寄存器 IR 指令寄存器 IR 处理器状态字 PSW 处理器状态字 PSW 堆栈指示器 SP 堆栈指示器 SP 指令译码器 ID 指令译码器 ID I/O 控制逻辑 I/O 控制逻辑工作寄存器地址寄存器地址寄存器数据寄存器数据寄存器 ALU 控制器 中央处理器( CPU ) 3 ?两类寄存器: ?用户可见寄存器(工作寄存器): 由处理器执行的机器语言来引用,通常对所有程序都是可用的, 包括系统程序和用户程序。?控制和状态寄存器:用于控制处理器的操作,大部分对用户不可见, 由 OS 的特权代码使用。?两类寄存器: ?用户可见寄存器(工作寄存器): 由处理器执行的机器语言来引用,通常对所有程序都是可用的, 包括系统程序和用户程序。?控制和状态寄存器:用于控制处理器的操作,大部分对用户不可见, 由 OS 的特权代码使用。 中央处理器( CPU ) 4(1)用户可见寄存器?机器语言直接引用?包括数据寄存器、地址寄存器以及条件码寄存器?数据寄存器( data register ) 又称通用寄存器,主要用于各种算术逻辑指令和访存指令?地址寄存器( address register ) 用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。如索引寄存器( index register )、段寄存器( segment pointer )、栈指针( stack pointer ) ?条件码寄存器保存 CPU 操作结果的各种标记位,如算术运算产生的溢出、符号等等 5(2)控制和状态寄存器?用于控制处理器的操作?对于用户不可见的?一部分可以在某种特权模式(由 OS 使用)下访问常见的控制和状态寄存器: ?程序计数器( PC : Program Counter ) ,记录将要取出的指令的地址?指令寄存器( IR : Instruction Register ) ,包含最近取出的指令?程序状态字( PSW : Program Status Word ) ,记录处理器的运行模式信息等等 6 :只能由操作系统使用的指令。特权指令的执行一般会引起处理器状态的切换。使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令( why? ) 使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令( why? ) 7 : ?多数系统将处理器工作状态划分为管态和目态: ?管态:操作系统管理程序运行的状态,又称为特权态、系统态、管理态或核心态?目态:用户程序运行时的状态,又称为普通态或、用户态?有些系统将处理器状态划分核心状态, 管理状态和用户程序状态(目标状态)三种 8实例: x86 系列处理器-1 ? 386 、 486 、 Pentium 系列都支持 4个处理器特权级别(特权环: R0 、 R1 、 R2 和 R3 ) ?从 R0 到 R3 特权能力依次降低? R0 相当于双状态系统的管态? R3 相当于目态? R1 和 R2 则介于两者之间,它们能够运行的指令集合具有包含关系: 3210R R R RIIII??? 9 各个级别有保护性检查(地址校验、 I/O 限制),并分别运行不同级别的程序: ? R0 -运行操作系统核心代码? R1 -运行关键设备驱动程序和 I/O 处理例程? R2 -运行其它受保护共享代码,如语言系统运行环境? R3 -运行各种用户程序现有基于 x86 处理器的操作系统,多数 UNIX 、 Linux 以及 Windows 系列大都只用了 R0 和 R3 两个特权级别实例: x86 系列处理器-2 10
第二章操作系统的运行环境 来自淘豆网www.taodocs.com转载请标明出处.