第一章 操作系统运行的硬件基础综述

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用户态→内核态 :转换的唯一途径是通过中断。 内核态→用户态 :通过修改PSW中的CPU工作状态 码来实现。
5.程序状态字PSW
程序状态字(PSW):用来指示处理器执行条件和状态的寄存 器。不同机器的PSW格式和信息不完全相同。PSW的信息一 般包括:
CPU工作状态码——指明内核态还是用户态。
第1章 操作系统运行的硬件基础
1.1 中央处理器(CPU)
1.2 中断技术 1.3 系统调用 1.4 存储器 1.5 I/O端口寻址与访问控制
1.1 中央处理器(CPU)
1.单处理器与多处理器系统 一个计算机系统只有一个处理器,称之为单处 理器系统 如果有多个处理器称之为多处理器系统
处理器由运算器、控制器、一组寄存器和高速缓存构成。
在单用户单任务的计算机系统,可以不区分特权指令和非特权 指令,一般用户可以使用指令系统中的全部指令。但是,在 使用多道程序设计技术的计算机系统必须要区分为特权指令 和非特权指令(why?)
4.特权指令和非特权指令
特权指令:只能由操作系统内核执行的指令,如: I/O设备使用指令:如启动I/O设备、测试I/O设备工作状 态、控制I/O设备动作的指令 系统资源的分配和管理指令:包括改变系统工作方式,检 测用户的访问权限,修改主存管理的段表、页表,清内存 和建立存储保护指令 任务的创建和切换指令 存取特殊寄存器的指令:如存取IDTR、GDTR、LDTR、时钟 寄存器(脉冲计数)等指令 。 非特权指令:系统程序和应用程序都可以执行的指令。
1.1 中央处理器(CPU)
内核态wk.baidu.com用户态的比较 处理器处于内核态时
可以执行全部指令(包括特权指令) 可使用系统所有资源 具有改变cpu状态的能力

处理器处于用户态时
只能执行非特权指令 特权级别不同,可运行的指令集合也不同 特权级别越高,可以运行的指令集合越大,高特权级 别可运行指令集合包含低特权级的可运行指令。
数据寄存器(data register)又称通用寄存器, 主要用于各种算术逻辑指令和访存指令。
地址寄存器( address register )用于存储指 令或数据的内存地址。 变址寄存器 段寄存器 栈指针
(2)控制和状态寄存器
用于控制处理器的操作,对于用户不可见的(用户不可以使 用)。常见的控制和状态寄存器: 程序计数器(PC:Program Counter),记录将要取出 的指令的地址。 指令寄存器(IR:Instruction Register),包含最近取 出的指令。 程序状态字(PSW:Program Status Word),记录处 理器的运行模式信息。 条件码寄存器:保存CPU操作结果的各种标记位,如算术 运算产生的溢出、符号等等。机器指令只能通过隐式访问 来读取该寄存器的各个位,不能显示访问修改。) 中断寄存器
条件码——条件码是 CPU 根据运算结果由硬件设置的位
(或位段),指示当前指令执行结果的各种状态信息,如: 算术运算产生的正、负、零或溢出等的结果
中断屏蔽码——指出是否允许中断
例:IBM370的PSW
系统屏蔽 0 7
钥 11
EMWP 15
中断码 31
ILC 33
3.处理器状态
根据运行程序对资源和机器指令的使用权限,将处理器设 置为不同的工作状态。 多数系统将处理器工作状态划分为内核态和用户态: 内核态:操作系统管理(核心)程序运行时的 CPU 状态, 又称为特权态、系统态、管态或核心态 用户态:用户程序运行时的 CPU 状态,又称为普通态或 目态。 有些系统将处理器状态划分核心状态,管理状态和用户程序 状态三种。

1.1 中央处理器(CPU)
操作系统内核功能主要包括: 时钟管理:脉冲计数,指令周期生成 中断机制:中断向量表维护和中断响应 原语:由若干条机器指令构成,用于完成特定功能的 一段程序。原语具有不可分割性,即原语在执行过程 中不允许被中断 。 由系统控制的数据结构管理,如主存页表、进程控制 块表、消息队列、缓冲队列等。
实例:x86系列CPU
386、486、Pentium系列都支持4个处理器特
权级别(特权环:R0、R1、R2和R3) 从R0到R3特权能力依次降低 R0相当于双状态系统的内核态 R3相当于用户态 R1和R2则介于两者之间,它们能够运行的指令 集合具有包含关系:
I R0 I R1 I R 2 I R3
例:32位机器的CPU寄存器
1.1 中央处理器(CPU)
2. 寄存器分类
两类寄存器:
用户可见寄存器(工作寄存器):对所有程序 都是可用的,包括系统程序和用户程序。
控制和状态寄存器:用于控制处理器的操作, 大部分对用户不可见, 由OS的特权代码使用。
(1)用户可见寄存器
用户程序可以访问到的寄存器,包括数据寄存 器、地址寄存器等。
实例:x86系列处理器
各个级别有保护性检查(地址校验、I/O限制),并分 别运行不同级别的程序: R0-运行操作系统核心代码 R1-运行关键设备驱动程序和I/O处理例程 R2-运行其它受保护共享代码,如语言系统运行环境 R3-运行各种用户程序 现有基于x86处理器的操作系统,多数UNIX、Linux 以及Windows系列大都只用了R0和R3两个特权级 别
1.1 中央处理器(CPU)
控制器CU 程序计数器 PC 指令寄存器 IR 指令译码器 ID 堆栈指示器 SP 处理器状态字PSW
工作寄存器 ALU
地址寄存器
I/O 控制逻辑
数据寄存器
指令译码器ID:是控制器中的主要部件之一,分析指令操作码,以决定执
行的操作。 程序计数器PC:程序计数器是用于存放下一条指令的主存单元地址。单片 机及汇编语言中常称作PC(Program Counter)。程序开始执行前,必须将 它的起始地址,即程序开始执行指令的内存单元地址送入PC PSW:状态寄存器,存放指令的执行状态:CPU执行状态、溢出、中断屏蔽码 等。
相关文档
最新文档