第2章 操作系统运行机制
单选题2题 多选题1题
2.1 CPU及系统调用
中央处理器(CPU)
(1) 中央处理器的组成
- 运算器:实现指令中的算数和逻辑运算
- 控制器:控制程序的运行流程
- 寄存器:在CPU内部暂存数据
- 高速缓存:处于CPU和内存之间。利用程序局部原理提高CPU的效率
(2) 寄存器
特点:有一定的存储能力、速度快、造价高、容量小
分类:
用户可见寄存器
- 数据寄存器
- 地址寄存器
- 条件码寄存器
控制和状态寄存器
- 程序计数器PC
- 指令寄存器IR
- 程序状态字PSW
CPU的工作方式
(1) 指令执行过程
指令的分类
按照功能分
- CPU控制指令
- 访问M指令
- I/O指令
- 算数逻辑指令
- 控制转移指令
按照权限分
- 特权指令——操作系统使用
- 非特权指令——用户程序使用
指令周期:CPU单条指令的处理过程
步骤:CPU先从存储器每次取出一条指令,然后执行
(2) 处理器的状态
管态和目态
通过设置PSW中的CPU状态来实现
根据运行的程序对资源和机器指令的使用权限将处理器设置为不同状态:
- 管态:操作系统管理程序运行的状态,又称为特权态(特态)、系统态,全部指令可以执行,所有资源可使用,并改变处理器状态
- 目态:用户程序运行时的状态,又称为普通态(普态)、用户态,只有非特权指令能执行
(3) 程序状态字PSW
- 用来指示处理器状态的寄存器,称为程序状态字(PSW)
- 条件码——反应指令执行后的结果特征
- 中断屏蔽码——指出是否允许中断
- CPU的工作状态码——指明管态还是目态
- 用来指示要执行的下一条指令的寄存器,称为程序技术器(PC)
- 标志位
- VIP——虚拟中断待决标志位
- VIF——虚拟中断标志位
- IOPL——IO特权级别
- OF——溢出标志位
- IF——中断使能标志位
- TF——陷阱标志位
- SF——符号标志位
- ZF——结果为零标志位
- CF——进位标志位
系统调用
(1) 概念
- 用户在程序中调用操作系统所提供的一些子功能。由特殊的机器指令实现。只能由汇编语言直接访问
- 本质上是应用程序请求操作系统核心完成某-特定功能的一种过程调用,是一种特殊的过程调用,提供对操作系统子程序的调用外,还将系统转入特权方式。
- 是提供给编程人员的唯一接口, 可动态请求和释放系统资源,调用系统中的已有功能来完成与计算机硬件部分相关的工作以及控制程序的执行速度等。
- 系统调用对用户屏蔽了操作系统的具体动作而只提供有关的功能。
(2) 系统调用与一般过程调用的区别
- 运行在不同的系统状态
- 一般过程调用:其调用程序和被调用程序都运行在相同的状态
- 系统调用:调用程序运行在用户态,而被调用程序则运行在系统态。
- 状态的转换
- 一般过程调用不涉及系统状态的转换
- 系统调用时调用和被调用过程工作在不同的系统状态。
- 返回问题
- 一般过程调用完成后将返回到调用过程
- 而在抢占式系统中,系统调用完成后需对所有要求运行的进程进行优先级分析,并可能引起重新调度。
- 嵌套调用
- 系统调用的深度通常会受到限制。
(3) 系统调用的分类
- 信息维护类
- 进程控制类
- 文件操作类
- 进程通信类
- 设备管理类
系统调用处理过程
(1) 系统调用的过程
- 陷入和异常处理
- 异常指令和访管指令
- 调用功能号
- 入口地址
- 处理机现场
- 用户态和系统态
(2) 参数传递的方法
不同的系统调用需传递给子程序不同的参数,其执行结果也以参数形式返回给用户程序。
- 陷入指令自带参数;指令长度有限,参数个数受限。
- 通过有关通用寄存器来传递参数。不过,由于寄存器长度也较短,参数个数也受限制。
- 在较多的系统中,在内存中开辟专用堆栈区。
2.2 存储体系
存储器的层次结构
(1) 计算机存储系统的设计主要考虑
- 容量——是存储系统的基础,希望配备尽可能大的存储系统
- 速度——要能匹配处理器的速度
- 成本——存储器的成本和其他部件相比应该在一个合适的范围之内
(2) 容量、速度和成本的匹配
- 容量、速度和成本这3个目标不可能同时达到最优,需要作权衡
- 计算机系统的层次化存储体系:
- 寄存器
- 高速缓存Cache
- 内存存储器
- 硬盘存储器
- 磁盘机、光盘存储器
(3) 存储访问局部性原理
- 提高存储系统性能的关键在于程序的存储访问局部性原理
- 假设处理器存储两级存储器,第Ⅰ级包括1KB,存取时间为0.1μs,第Ⅱ级包括1MB,存储时间为1μs;如果处理器在Ⅰ级存储器中发现存取对象的概率是95%,那么平均访问时间为:
95 * 0.1μs + 0.05 * (0.1μs + 1μs) = 0.15μs
(4) 程序局部性原理
- 定义:是指程序在执行时呈现出局部性规律,即在一段时间内,整个程序在执行仅限于程序中的某一部分
- 局部性
- 时间局部性
- 如果程序中的某条指令一旦执行,则不久之后该指令可以再次被执行
- 如果某数据被访问,则不久之后该数据可能再次被访问
- 空间局部性
- 程序访问了某个存储单元,其附近的存储单元也将被访问
- 时间局部性
存储保护
(1) 界地址寄存器(界限寄存器)
- 上限寄存器
- 下限寄存器
(2) 存储键
- ”存储保护键“机构来对主存进行保护。每个存储块都关联一个由二进位组成的存储保护键。
- 当一个作业被允许进入主存时,该作业的所有存储块被分配相同的唯一存储键号。
- 当该作业运行时,操作系统同时将该作业的存储键号存入PSW的存储键域。
- CPU访问主存时,将对主存块的存储键与PSW中的存储键域相比较。
- 若匹配,则允 许访问;否则,拒绝并报警。
2.3 中断与异常机制
操作系统在处理外部的各种事件时,都需要通过中断与异常机制进行处理。
中断与异常的概念
(1) 中断与异常
- 中断: 指CPU对系统中或系统外发生的异步事件的响应。
- 中断事件: 引起中断的那些事件,也称为中断源。有多少中断源,由计算机系统设置。如PC能处理256种中断源。
- 中断请求: 中断源向处理器发出的请求信号。
- 中断处理程序:处理中断事件的那段程序。
- 中断断点:发现中断时正在执行的程序暂停点。
- 中断响应:处理器暂停当前程序转而处理中断的过程。
- 中断返回:中断处理结束之后恢复原来程序的执行。
- 中断字:一个计算机系统提供的中断源的有序集合,是一个逻辑结构,在不同的处理器有着很不相同的实现方式。
- 中断向量表:中断处理程序入口地址映射表。中断向量表中的每一项是一个中断向量,主 要由程序状态字PSW和指令计数器PC的值组成。
- 中断与异常中断作用:解决了主机和外设并行工作的问题,消除了因外设的慢速而使得主机等待的现象,为多 机操作和实时处理提供了硬件基础
- 能充分发挥处理器的使用效率
- 提高系统的实时能力
(2) 中断和异常分类
中断是由外部事件引发的,而异常是由正在执行的指令引发的。
- 中断
- 时钟中断
- 输入输出(I/O)中断
- 控制台中断
- 硬件故障中断
- 异常
- 程序性中断(算术溢出、被零除)
- 访管指令异常(目态程序试图执行特权指令)
中断系统的运行机制
(1) 中断系统的运行机制
- 硬件中断装置
- 负责捕获中断源发出的中断请求,并以一定的方式响应中断源
- 将处理器的控制权移交给特定的中断处理程序
- 软件中断处理程序
- 针对中断事件的性质而执行响应的一系列操作
(2) 中断请求的接受
- 通过在计算机硬件的中断逻辑线路和中断寄存器实现的。
- 中断逻辑线路接收中断信号,并存放在线路中的硬件触发器(线路中有若干个,每个触发 器称为一个中断位, 1接收,0无信号)中,中断位的全体称为中断寄存器。
- 每个中断源都用一个固定的触发器来寄存中断信号,而对未得到响应的、不重要的中断信 号,则丢弃。
(3) 中断响应和处理
- 处理器接收中断信号
- 保护现场,将中断断点的程序状态字PSW和程序计数器PC值存入系统堆栈
- 分析中断向量,取得中断处理程序的入口地址
- 将处理器的PC值置为中断处理程序的入口地址
- 调用中断处理程序, 中断处理结束恢复现场,原有程序继续执行
(4) 几种典型的中断
- I/O中断:由I/O设备的控制器或者通道发出,分为正常和异常结束
- 时钟中断:包括维护软件时钟、处理器调度、控制系统定时任务和实时处理
- 硬件故障中断:由硬件的问题引起的,需要保存现场,提供诊断信息(蓝屏)
- 程序性中断:由指令出错、指令越权或者指令寻址越界而引发的
- 系统服务请求(访管中断):由处理器的专用指令(又称访管指令)来激发。
- 硬件中断装置
中断优先级与中断屏蔽
(1) 多级中断与中断优先级
- 多级中断的作用
- 对各类中断信号依据其紧急程度和重要性划分级别。
- 解决如果有重要程度相当的多个中断信号同时到达时,如何选择首个被处理的中断信号的问题。
- 同级多个中断请求的处理策略:
- 固定优先数
- 轮转法
(2) 中断屏蔽
- 在中断系统中,可以允许或者禁止对某些类别中断的响应。
- PSW中的中断屏蔽位标识了哪些被屏蔽的中断类或者中断。
- 对于被屏蔽的中断信号,通常仍然保存在中断寄存器中,有些可以在以后继续响应,而 有些则被丢弃。
- 还有一类中断信号是不可屏蔽的,一旦发生,不管在程序状态字中是否屏蔽,处理器都要立 即响应这类中断,并进行处理。通常属于机器故障中断。比如内存奇偶校验错等
- 多级中断的作用
预览: