操作系统的运行环境PPT

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 从R0到R3特权能力依次降低 • R0相当于双状态系统的管态 • R3相当于目态 • R1和R2则介于两者之间,它们能够运行的指令
集合具有包含关系:
• 程 序 状 态 字 ( PSW : Program Status Word),记录处理器的运行模式信息等 等
6
指令执行的基本过程(1)
两个步骤: • 先从存储器中每次读取一条指令 • 然后执行这条指令 一个单条指令处理过程称为一个指令周期 程序的执行是由不断取指和执行的指令周期组成
7
指令执行的基本过程(2)
2
处理器中的寄存器
• 寄存器提供了一定的存储能力 • 速度比主存快得多 • 造价高,容量一般都很小
两类寄存器: • 用户可见寄存器 高级语言编译器通过算法分配
并使用之,以减少程序访问主存次数。 • 控制和状态寄存器 用于控制处理器的操作wk.baidu.com由
OS的特权代码使用,以控制其它程序的执行。
3
用户可见寄存器
• 算术逻辑指令(数据处理指令): 执行数据算术和逻辑操作
• 控制转移指令: 指定一个新的指令的执行起点
• 处理器控制指令: 修改处理器状态,改变处理器工作方式
9
特权指令和非特权指令
• 使用多道程序设计技术的计算机指令系统必 须要区分为特权指令和非特权指令
• 特权指令:只能由操作系统使用的指令。如 启动I/O设备、设置时钟、控制中断屏蔽位、 清主存、设置中断向量,修改PSW等。
1.7 操作系统的运行环境
1.7.1 中央处理器CPU
一、CPU的构成与基本工作方式:
CPU包含:运算器、控制器、寄存器、高速缓存。
处理器
数据寄存器 地址寄存器 控制和状态寄存器
PC IR PSW
高速缓存Cache
运算器
控制器
总线
内存
1
运算器实现指令中的算术和逻辑运算,是计算机计 算的核心。 控制器负责控制程序运行的流程,包括取指令、维 护CPU状态、CPU与内存的交互等等。 寄存器是指令在CPU内部作处理的过程中暂存数据、 地址以及指令信息的存储设备,在计算机的存储系 统中它具有最快的访问速度。 高速缓存处于CPU和物理内存之间,一般由控制器中 的内存管理单元(MMU:Memory Management Unit) 管理,访问速度快于内存,低于寄存器。利用程序 局部性原理使得高速指令处理和低速内存访问得以 匹配,从而提高CPU的效率。
• 非特权指令:一般用户使用的指令。如算术 逻辑运算、访问内存、访管指令等
• CPU如何知道当前运行的是操作系统还是一 般应用软件?
依赖于处理器状态
10
Which of the following instructions should be privileged?
a. Set value of timer. b. Read the clock. c. Clear memory. d. Issue a trap instruction. e. Turn off interrupts. f. Modify entries in device-status table. g. Switch from user to kernel mode. h. Access I/O device.
12
核态(Kernel Mode):
CPU执行操作系统程序时所处的状态。
在此状态下允许CPU使用全部资源和全部指令,其中 包括一组特权指令(如涉及外设的I/O、改变处理机 状态、修改存储保护的指令),实现对系统资源的 分配与管理,为用户提供使用外部设备的服务。
管态比核态的权限低,在此状态下允许使用一些 用户态下不能使用的资源,但不能使用修改CPU状态 的指令。无核态时,管态执行核态的全部功能。
控制和状态寄存器
• 用于控制处理器的操作 • 大部分对于用户是不可见的 • 一部分可以在某种特权模式(由OS使用)下
访问
5
常见的控制和状态寄存器
• 程序计数器(PC:Program Counter), 记录将要取出的指令的地址
• 指令寄存器(IR:Instruction Register), 包含最近取出的指令
11
处理器的状态
为了保护操作系统,将处理器工作状态划分为管态 和用户态:
管态:操作系统管理程序执行时机器所处的状态, 较高的特权级别,又称为特权态(特态)、系统 态 、核心态
用户态:用户程序执行时机器所处的状态,较低的 特权级别,又称为普通态(普态)、目态
有些系统将处理器状态划分核心状态,管理状态和 用户程序状态(目标状态)三种
• 每个指令周期开始时,依据在程序计数器中的指 令地址从存储器中取一条指令
• 在取指完成后根据指令类别自动将程序计数器的 值变成下条指令的地址
• 取到的指令放在指令寄存器(IR)中 • 处理器解释并执行所要求的动作
8
5类指令
• 访问存储器指令: 处理器和存储器间数据传送
• I/O指令: 处理器和I/O设备间数据传送和命令发送
• 机器语言(汇编语言)直接引用 • 包括数据寄存器、地址寄存器等
• 数据寄存器(data register)又称通用寄存器 • 地址寄存器(address register)用于存储数据及指
令的物理地址。如index register、segment pointer、 stack pointer
4
在下列情况下,由用户态转向核态:
• 用户程序要求操作系统的服务,系统调用; • 发生一次中断; • 在用户程序中产生了一个错误的状态; • 在用户程序中企图执行一条特权指令;
从核态转回用户态用一条指令实现,这条指令也是特权指令。 一般情况下是中断返回指令。
14
实例:x86系列处理器
• 386、486、Pentium系列都支持4个处理器特权 级别(特权环:R0、R1、R2和R3)
用户态(User Mode):
用户程序执行时CPU所处的状态。
在此状态下禁止使用特权指令,不能直接使用系统
资源与改变CPU状态,并且只能访问用户程序所在的
存储空间。
13
在核态下操作系统可以使用所有指令,包括 一组特权指令。
• 允许和禁止中断; • 在进程之间切换处理机; • 存取用于内存保护的寄存器; • 执行输入和输出操作; • 停止一个中央处理机的工作。
相关文档
最新文档