操作系统的运行环境
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 程 序 状 态 字 ( PSW : Program Status Word),记录处理器的运行模式信息等 等
操作系统的运行环境
指令执行的基本过程(1)
两个步骤: • 先从存储器中每次读取一条指令 • 然后执行这条指令 一个单条指令处理过程称为一个指令周期 程序的执行是由不断取指和执行的指令周期组成
操作系统的运行环境
核态(Kernel Mode):
CPU执行操作系统程序时所处的状态。
在此状态下允许CPU使用全部资源和全部指令,其中 包括一组特权指令(如涉及外设的I/O、改变处理机 状态、修改存储保护的指令),实现对系统资源的 分配与管理,为用户提供使用外部设备的服务。
管态比核态的权限低,在此状态下允许使用一些 用户态下不能使用的资源,但不能使用修改CPU状态 的指令。无核态时,管态执行核态的全部功能。
• 特权指令:只能由操作系统使用的指令。如 启动I/O设备、设置时钟、控制中断屏蔽位、 清主存、设置中断向量,修改PSW等。
• 非特权指令:一般用户使用的指令。如算术 逻辑运算、访问内存、访管指令等
• CPU如何知道当前运行的是操作系统还是一 般应用软件?
依赖于处理器状态
操作系统的运行环境
Which of the following instructions should be privileged?
用户态(User Mode):
用户程序执行时CPU所处的状态。
在此状态下禁止使用特权指令,不能直接使用系统
资源与改变CPU状态,并且只能访问用户程序所在的
存储空间。
操作系统的运行环境
在核态下操作系统可以使用所有指令,包括 一组特权指令。
• 允许和禁止中断; • 在进程之间切换处理机; • 存取用于内存保护的寄存器; • 执行输入和输出操作; • 停止一个中央处理机的工作。
• 中断源:引起中断的事件称中断源,如打印完成中断,其中断源是打印 机。
• 断点:发生中断时正在运行的程序被暂时停止,程序的暂停点称为断点 。例如,某程序正在执行0200地址的指令被中断,那么,0200地址就是 断点, 在中断返回时就执行0200的下一条指令。 中断响应: 是处理机发现有中断请求时,中止现运行程序的执行 并自动引出中断处理程序的过程。 中断处理程序: 对中断事件进行处理的程序叫中断处理程序。如时钟中断处理、打印 机完成中断处理、打印机缺纸中断处理等等。它是操作系统中与硬件最 接近的一部分,是操作系统与硬件的接口。
越慢
操作系统的运行环境
解决方案
采用层次化的存储体系结构 • 当沿着层次下降时 • 每比特的价格将下降,容量将增大 • 速度将变慢,处理器的访问频率也将下
降
操作系统的运行环境
存储访问局部性原理
提高存储系统效能关键点:程序存储访问局部性原理
• 程序执行时,有很多的循环和子程序调用,一旦进入 这样的程序段,就会重复存取相同的指令集合
操作系统的运行环境
读写型的存储器 • 可把数据存入其中任一地址单元,并可
在以后的任何时候把数据读出,或者重 新存入新的数据的一种存储器 • 常 被 称 为 随 机 访 问 存 储 器 ( RAM : Random Access Memory) • RAM主要用作存放随机存取的程序的数 据
操作系统的运行环境
操作系统的运行环境
处理器的状态
为了保护操作系统,将处理器工作状态划分为管态 和用户态:
管态:操作系统管理程序执行时机器所处的状态, 较高的特权级别,又称为特权态(特态)、系统 态 、核心态
用户态:用户程序执行时机器所处的状态,较低的 特权级别,又称为普通态(普态)、目态
有些系统将处理器状态划分核心状态,管理状态和 用户程序状态(目标状态)三种
• 从R0到R3特权能力依次降低 • R0相当于双状态系统的管态 • R3相当于目态 • R1和R2则介于两者之间,它们能够运行的指令
集合具有包含关系:
操作系统的运行环境
四个级别运行不同类别的程序: • R0-运行操作系统核心代码 • R1-运行关键设备驱动程序和I/O处理例程 • R2-运行其它受保护共享代码,如语言系统运行环
• I/O指令: 处理器和I/O设备间数据传送和命令发送
• 算术逻辑指令(数据处理指令): 执行数据算术和逻辑操作
• 控制转移指令: 指定一个新的指令的执行起点
• 处理器控制指令: 修改处理器状态,改变处理器工作方式
操作系统的运行环境
特权指令和非特权指令
• 使用多道程序设计技术的计算机指令系统必 须要区分为特权指令和非特权指令
• 对数据存取也有局部性,在较短的时间内,稳定地保 持在一个存储器的局部区域
处理器主要和存储器的局部打交道 在经过一段时间以后,使用的代码和数据集合会改变
操作系统的运行环境
设计多级存储的体系结构
假设两级存储器:
• 第I级包含1KB,存取时间为0.1μs • 第II级包含1MB,存取时间为1μs
存取I级中的内容,直接存取 存取II级,首先被转移到I级,然后再存取 假设确定内容所在位置时间可以忽略 若在I级存储器中发现存取对象的概率是95%,则平均
信息,恢复原来状态,然后使用特殊EPROM写入器 写入数据
操作系统的运行环境
存储器的层次结构
存储系统设计三个问题: 容量、速度和成本
• 容量:需求无止境 • 速度:能匹配处理器的速度 • 成本问题:成本和其它部件相比应在合
适范围之内
操作系统的运行环境
容量、速度和成本 • 三个目标不可能同时达到最优,要作权衡 • 存取速度快,每比特价格高 • 容量大,每比特价格越低,同时存取速度也
操作系统的运行环境
用户可见寄存器
• 机器语言(汇编语言)直接引用 • 包括数据寄存器、地址寄存器等
• 数据寄存器(data register)又称通用寄存器 • 地址寄存器(address register)用于存储数据及指
令的物理地址。如index register、segment pointer、 stack pointer
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.
访问时间为:
结果非常接近I级存储的存取时间
操作系统的运行环境
缓冲技术
引入缓冲目的:缓和CPU与设备速度不匹配的矛盾。
内存
CPU
Cache
字传送
块传送
Buffer
外部设备
缓冲包括:Cache和Buffer。
操作系统的运行环境
1.7.3 中断技术
什么是中断? • 指CPU对系统中或系统外发生异步事件的响应 • 异步事件是指无一定时序关系的随机发生事件
在下列情况下,由用户态转向核态:
• 用户程序要求操作系统的服务,系统调用; • 发生一次中断; • 在用户程序中产生了一个错误的状态; • 在用户程序中企图执行一条特权指令;
从核态转回用户态用一条指令实现,这条指令也是特权指令。 一般情况下是中断返回指令。
操作系统的运行环境
Biblioteka Baidu
实例:x86系列处理器
• 386、486、Pentium系列都支持4个处理器特权 级别(特权环:R0、R1、R2和R3)
操作系统的运行环境
控制和状态寄存器
• 用于控制处理器的操作 • 大部分对于用户是不可见的 • 一部分可以在某种特权模式(由OS使用)下
访问
操作系统的运行环境
常见的控制和状态寄存器
• 程序计数器(PC:Program Counter), 记录将要取出的指令的地址
• 指令寄存器(IR:Instruction Register), 包含最近取出的指令
操作系统的运行环境
指令执行的基本过程(2)
• 每个指令周期开始时,依据在程序计数器中的指 令地址从存储器中取一条指令
• 在取指完成后根据指令类别自动将程序计数器的 值变成下条指令的地址
• 取到的指令放在指令寄存器(IR)中 • 处理器解释并执行所要求的动作
操作系统的运行环境
5类指令
• 访问存储器指令: 处理器和存储器间数据传送
只读型的存储器: • 只能从其中读取数据,但不能随意用普通方法写入
数据(写入数据只能用特殊方法) • 称为只读存储器(ROM:Read-Only Memory)
变型:PROM和EPROM • PROM:一种可编程只读存储器,使用特殊PROM写
入器写入数据 • EPROM:用特殊的紫外线光照射此芯片,以“擦去”
操作系统的运行环境
2020/11/20
操作系统的运行环境
运算器实现指令中的算术和逻辑运算,是计算机计 算的核心。 控制器负责控制程序运行的流程,包括取指令、维 护CPU状态、CPU与内存的交互等等。 寄存器是指令在CPU内部作处理的过程中暂存数据、 地址以及指令信息的存储设备,在计算机的存储系 统中它具有最快的访问速度。 高速缓存处于CPU和物理内存之间,一般由控制器中 的内存管理单元(MMU:Memory Management Unit) 管理,访问速度快于内存,低于寄存器。利用程序 局部性原理使得高速指令处理和低速内存访问得以 匹配,从而提高CPU的效率。
境 • R3-运行各种用户程序 现有基于x86处理器的操作系统,如UNIX、Linux以
及Windows系列大都只用了R0和R3两个特权级别
操作系统的运行环境
图:Intel 系列CPU的特权级别
操作系统的运行环境
管态和用户态的差别
处理器处于管态时: • 全部指令(包括特权指令)可以执行 • 可使用所有资源 • 并具有改变处理器状态的能力
操作系统的运行环境
强迫性中断 • 输入/输出(I/O)中断:主要来自外部设备通
处理器处于目态时: • 只有非特权指令能执行
操作系统的运行环境
程序状态字PSW
PSW (Program Status Word ): • CPU的状态——指明管态还是目态,用来说
明当前在CPU上执行的是操作系统还是一般 用户程序,从而决定其是否可以使用特权指 令或拥有其它的特殊权力 • 条件码——反映指令执行后的结果特征 • 中断屏蔽码——指出是否允许中断
到破坏 • 操作系统本身也要存放在主存储器中并运行
操作系统的运行环境
一、存储器类型:
RAM 和 ROM
二、存储系统的层次结构:存储访问的局部性原理
速度
寄存器
高速缓存 256K、512K
内存
128M、2G
硬盘缓存 2M
硬盘
40G~80G
光盘、磁盘、优盘、磁带 650M、1.44M、64M、400G
容量
如外部设备完成数据传输、实时设备出现异常等
“中断”名称源于: • 当异步事件发生后,打断了对当前程序的执行 • 而转去处理该异步事件 • 直到处理完了后,再转回原程序中断点继续执行
操作系统的运行环境
从用户角度看中断
操作系统的运行环境
几个概念
• 中断是指某个事件(例如,电源掉电、俘点运算溢出、外部设备传输完 成或出错等)发生时,系统中止现运行程序的执行,引出处理事件程序 对相应事件进行处理,处理完毕后返回断点继续执行。
操作系统的运行环境
例1:微处理器M68000的程序状态字
条件位: C: 进位标志位 Z: 结果为零标志位
V: 溢出标志位 N: 结果为负标志位
I0 – I2:三位中断屏蔽位 S:CPU状态标志位,为1处于管态,为0处于目态 T:陷阱(Trap)中断指示位为1,
在下一条指令执行后引起自陷中断
操作系统的运行环境
CPU状态的转换
目态--管态 其转换的唯一途径是通过中断
管态--目态 可用设置PSW(修改程序状态字)实现
操作系统的运行环境
1.7.2 存储系统
• 作业必须把它的程序和数据存放在内存中才能运行 • 多道程系统中,若干个程序和相关的数据要放入主存
储器 • 操作系统要管理、保护程序和数据,使它们不至于受
操作系统的运行环境
处理器中的寄存器
• 寄存器提供了一定的存储能力 • 速度比主存快得多 • 造价高,容量一般都很小
两类寄存器: • 用户可见寄存器 高级语言编译器通过算法分配
并使用之,以减少程序访问主存次数。 • 控制和状态寄存器 用于控制处理器的操作,由
OS的特权代码使用,以控制其它程序的执行。
操作系统的运行环境
指令执行的基本过程(1)
两个步骤: • 先从存储器中每次读取一条指令 • 然后执行这条指令 一个单条指令处理过程称为一个指令周期 程序的执行是由不断取指和执行的指令周期组成
操作系统的运行环境
核态(Kernel Mode):
CPU执行操作系统程序时所处的状态。
在此状态下允许CPU使用全部资源和全部指令,其中 包括一组特权指令(如涉及外设的I/O、改变处理机 状态、修改存储保护的指令),实现对系统资源的 分配与管理,为用户提供使用外部设备的服务。
管态比核态的权限低,在此状态下允许使用一些 用户态下不能使用的资源,但不能使用修改CPU状态 的指令。无核态时,管态执行核态的全部功能。
• 特权指令:只能由操作系统使用的指令。如 启动I/O设备、设置时钟、控制中断屏蔽位、 清主存、设置中断向量,修改PSW等。
• 非特权指令:一般用户使用的指令。如算术 逻辑运算、访问内存、访管指令等
• CPU如何知道当前运行的是操作系统还是一 般应用软件?
依赖于处理器状态
操作系统的运行环境
Which of the following instructions should be privileged?
用户态(User Mode):
用户程序执行时CPU所处的状态。
在此状态下禁止使用特权指令,不能直接使用系统
资源与改变CPU状态,并且只能访问用户程序所在的
存储空间。
操作系统的运行环境
在核态下操作系统可以使用所有指令,包括 一组特权指令。
• 允许和禁止中断; • 在进程之间切换处理机; • 存取用于内存保护的寄存器; • 执行输入和输出操作; • 停止一个中央处理机的工作。
• 中断源:引起中断的事件称中断源,如打印完成中断,其中断源是打印 机。
• 断点:发生中断时正在运行的程序被暂时停止,程序的暂停点称为断点 。例如,某程序正在执行0200地址的指令被中断,那么,0200地址就是 断点, 在中断返回时就执行0200的下一条指令。 中断响应: 是处理机发现有中断请求时,中止现运行程序的执行 并自动引出中断处理程序的过程。 中断处理程序: 对中断事件进行处理的程序叫中断处理程序。如时钟中断处理、打印 机完成中断处理、打印机缺纸中断处理等等。它是操作系统中与硬件最 接近的一部分,是操作系统与硬件的接口。
越慢
操作系统的运行环境
解决方案
采用层次化的存储体系结构 • 当沿着层次下降时 • 每比特的价格将下降,容量将增大 • 速度将变慢,处理器的访问频率也将下
降
操作系统的运行环境
存储访问局部性原理
提高存储系统效能关键点:程序存储访问局部性原理
• 程序执行时,有很多的循环和子程序调用,一旦进入 这样的程序段,就会重复存取相同的指令集合
操作系统的运行环境
读写型的存储器 • 可把数据存入其中任一地址单元,并可
在以后的任何时候把数据读出,或者重 新存入新的数据的一种存储器 • 常 被 称 为 随 机 访 问 存 储 器 ( RAM : Random Access Memory) • RAM主要用作存放随机存取的程序的数 据
操作系统的运行环境
操作系统的运行环境
处理器的状态
为了保护操作系统,将处理器工作状态划分为管态 和用户态:
管态:操作系统管理程序执行时机器所处的状态, 较高的特权级别,又称为特权态(特态)、系统 态 、核心态
用户态:用户程序执行时机器所处的状态,较低的 特权级别,又称为普通态(普态)、目态
有些系统将处理器状态划分核心状态,管理状态和 用户程序状态(目标状态)三种
• 从R0到R3特权能力依次降低 • R0相当于双状态系统的管态 • R3相当于目态 • R1和R2则介于两者之间,它们能够运行的指令
集合具有包含关系:
操作系统的运行环境
四个级别运行不同类别的程序: • R0-运行操作系统核心代码 • R1-运行关键设备驱动程序和I/O处理例程 • R2-运行其它受保护共享代码,如语言系统运行环
• I/O指令: 处理器和I/O设备间数据传送和命令发送
• 算术逻辑指令(数据处理指令): 执行数据算术和逻辑操作
• 控制转移指令: 指定一个新的指令的执行起点
• 处理器控制指令: 修改处理器状态,改变处理器工作方式
操作系统的运行环境
特权指令和非特权指令
• 使用多道程序设计技术的计算机指令系统必 须要区分为特权指令和非特权指令
• 对数据存取也有局部性,在较短的时间内,稳定地保 持在一个存储器的局部区域
处理器主要和存储器的局部打交道 在经过一段时间以后,使用的代码和数据集合会改变
操作系统的运行环境
设计多级存储的体系结构
假设两级存储器:
• 第I级包含1KB,存取时间为0.1μs • 第II级包含1MB,存取时间为1μs
存取I级中的内容,直接存取 存取II级,首先被转移到I级,然后再存取 假设确定内容所在位置时间可以忽略 若在I级存储器中发现存取对象的概率是95%,则平均
信息,恢复原来状态,然后使用特殊EPROM写入器 写入数据
操作系统的运行环境
存储器的层次结构
存储系统设计三个问题: 容量、速度和成本
• 容量:需求无止境 • 速度:能匹配处理器的速度 • 成本问题:成本和其它部件相比应在合
适范围之内
操作系统的运行环境
容量、速度和成本 • 三个目标不可能同时达到最优,要作权衡 • 存取速度快,每比特价格高 • 容量大,每比特价格越低,同时存取速度也
操作系统的运行环境
用户可见寄存器
• 机器语言(汇编语言)直接引用 • 包括数据寄存器、地址寄存器等
• 数据寄存器(data register)又称通用寄存器 • 地址寄存器(address register)用于存储数据及指
令的物理地址。如index register、segment pointer、 stack pointer
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.
访问时间为:
结果非常接近I级存储的存取时间
操作系统的运行环境
缓冲技术
引入缓冲目的:缓和CPU与设备速度不匹配的矛盾。
内存
CPU
Cache
字传送
块传送
Buffer
外部设备
缓冲包括:Cache和Buffer。
操作系统的运行环境
1.7.3 中断技术
什么是中断? • 指CPU对系统中或系统外发生异步事件的响应 • 异步事件是指无一定时序关系的随机发生事件
在下列情况下,由用户态转向核态:
• 用户程序要求操作系统的服务,系统调用; • 发生一次中断; • 在用户程序中产生了一个错误的状态; • 在用户程序中企图执行一条特权指令;
从核态转回用户态用一条指令实现,这条指令也是特权指令。 一般情况下是中断返回指令。
操作系统的运行环境
Biblioteka Baidu
实例:x86系列处理器
• 386、486、Pentium系列都支持4个处理器特权 级别(特权环:R0、R1、R2和R3)
操作系统的运行环境
控制和状态寄存器
• 用于控制处理器的操作 • 大部分对于用户是不可见的 • 一部分可以在某种特权模式(由OS使用)下
访问
操作系统的运行环境
常见的控制和状态寄存器
• 程序计数器(PC:Program Counter), 记录将要取出的指令的地址
• 指令寄存器(IR:Instruction Register), 包含最近取出的指令
操作系统的运行环境
指令执行的基本过程(2)
• 每个指令周期开始时,依据在程序计数器中的指 令地址从存储器中取一条指令
• 在取指完成后根据指令类别自动将程序计数器的 值变成下条指令的地址
• 取到的指令放在指令寄存器(IR)中 • 处理器解释并执行所要求的动作
操作系统的运行环境
5类指令
• 访问存储器指令: 处理器和存储器间数据传送
只读型的存储器: • 只能从其中读取数据,但不能随意用普通方法写入
数据(写入数据只能用特殊方法) • 称为只读存储器(ROM:Read-Only Memory)
变型:PROM和EPROM • PROM:一种可编程只读存储器,使用特殊PROM写
入器写入数据 • EPROM:用特殊的紫外线光照射此芯片,以“擦去”
操作系统的运行环境
2020/11/20
操作系统的运行环境
运算器实现指令中的算术和逻辑运算,是计算机计 算的核心。 控制器负责控制程序运行的流程,包括取指令、维 护CPU状态、CPU与内存的交互等等。 寄存器是指令在CPU内部作处理的过程中暂存数据、 地址以及指令信息的存储设备,在计算机的存储系 统中它具有最快的访问速度。 高速缓存处于CPU和物理内存之间,一般由控制器中 的内存管理单元(MMU:Memory Management Unit) 管理,访问速度快于内存,低于寄存器。利用程序 局部性原理使得高速指令处理和低速内存访问得以 匹配,从而提高CPU的效率。
境 • R3-运行各种用户程序 现有基于x86处理器的操作系统,如UNIX、Linux以
及Windows系列大都只用了R0和R3两个特权级别
操作系统的运行环境
图:Intel 系列CPU的特权级别
操作系统的运行环境
管态和用户态的差别
处理器处于管态时: • 全部指令(包括特权指令)可以执行 • 可使用所有资源 • 并具有改变处理器状态的能力
操作系统的运行环境
强迫性中断 • 输入/输出(I/O)中断:主要来自外部设备通
处理器处于目态时: • 只有非特权指令能执行
操作系统的运行环境
程序状态字PSW
PSW (Program Status Word ): • CPU的状态——指明管态还是目态,用来说
明当前在CPU上执行的是操作系统还是一般 用户程序,从而决定其是否可以使用特权指 令或拥有其它的特殊权力 • 条件码——反映指令执行后的结果特征 • 中断屏蔽码——指出是否允许中断
到破坏 • 操作系统本身也要存放在主存储器中并运行
操作系统的运行环境
一、存储器类型:
RAM 和 ROM
二、存储系统的层次结构:存储访问的局部性原理
速度
寄存器
高速缓存 256K、512K
内存
128M、2G
硬盘缓存 2M
硬盘
40G~80G
光盘、磁盘、优盘、磁带 650M、1.44M、64M、400G
容量
如外部设备完成数据传输、实时设备出现异常等
“中断”名称源于: • 当异步事件发生后,打断了对当前程序的执行 • 而转去处理该异步事件 • 直到处理完了后,再转回原程序中断点继续执行
操作系统的运行环境
从用户角度看中断
操作系统的运行环境
几个概念
• 中断是指某个事件(例如,电源掉电、俘点运算溢出、外部设备传输完 成或出错等)发生时,系统中止现运行程序的执行,引出处理事件程序 对相应事件进行处理,处理完毕后返回断点继续执行。
操作系统的运行环境
例1:微处理器M68000的程序状态字
条件位: C: 进位标志位 Z: 结果为零标志位
V: 溢出标志位 N: 结果为负标志位
I0 – I2:三位中断屏蔽位 S:CPU状态标志位,为1处于管态,为0处于目态 T:陷阱(Trap)中断指示位为1,
在下一条指令执行后引起自陷中断
操作系统的运行环境
CPU状态的转换
目态--管态 其转换的唯一途径是通过中断
管态--目态 可用设置PSW(修改程序状态字)实现
操作系统的运行环境
1.7.2 存储系统
• 作业必须把它的程序和数据存放在内存中才能运行 • 多道程系统中,若干个程序和相关的数据要放入主存
储器 • 操作系统要管理、保护程序和数据,使它们不至于受
操作系统的运行环境
处理器中的寄存器
• 寄存器提供了一定的存储能力 • 速度比主存快得多 • 造价高,容量一般都很小
两类寄存器: • 用户可见寄存器 高级语言编译器通过算法分配
并使用之,以减少程序访问主存次数。 • 控制和状态寄存器 用于控制处理器的操作,由
OS的特权代码使用,以控制其它程序的执行。