OS的运行机制、体系结构、中断
操作系统的运行机制和体系结构
一、操作系统的运行机制
操作系统需要两种CPU状态:内核态
(Kernel Mode)和用户态
(User Mode),内核态用于运行操作系统程序,用户态用于运行用户程序。CPU的两个状态可以执行不同的指令集合,所以可以指令集合划分为两类:特权(privilege)指令和非特权指令,特权指令
是指只能有操作系统程序使用,用户程序不能使用的指令,非特权指令
是指操作系统程序和用户程序都可以使用的指令。
1、指令: 能被计算机识别和执行的命令,一条C程序代码被翻译成多条指令
2、两种指令类型:
- 特权指令: 具有很高的权限,比如删除指令等
- 非特权指令: 一般权限,比如加减乘除等指令
3、两种状态: CPU判断什么时候执行特权指令什么时候执行非特权指令,用状态字寄存器(PSW)中的标识符标识状态0和1标识
- 核心态(管态): 特权指令和非特权指令都能执行(trap指令除外只在用户态下执行)
- 用户态(目态): 执行非特权指令
4、两种程序:
- 内核程序: 系统的管理者,运行在核心态
- 应用程序: 运行在用户态
二、操作系统的内核
1、操作系统内核: 操作系统中最接近硬件的层次
2、内核包括:
最接近硬件的:
- 时钟管理: 提供计算机的计时功能
- 中断处理
- 原语: 一种特殊的程序,例如设备驱动程序,原语的执行具有原子性
铺设在最接近硬件之上的
- 对系统资源进行管理的功能:设备管理、进程管理、存储器管理
三、操作系统体系结构
1、体系结构: 并不是所有操作系统对内核的 划分都是一样的,有的将最接近硬件的和铺设在之上的划分到内核中,而有的只划分最接近硬件的内容到内核
2、操作系统体系结构分类:
大内核:将时钟管理、中断处理、原语和设备管理、进程管理、存储器 管理都划分到内核中(将操作系统的主要功能都作为系统内核,运行在核心态)
- 优点:高性能
- 缺点:内核代码庞大,结构混乱,不容易维护
微内核:只将时钟管理、中断处理、原语划分到内核(只把最基本的功能保留到系统内核,运行在核心态)
- 优点:结构清晰、维护方便
- 缺点:核心态和用户态切换频繁,性能低
中断与异常机制
中断与异常
是CPU对系统发生的某个事件做出的一种反应。事件的发生改变了CPU的控制流,CPU暂停正在执行的程序,保留现场后自动去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序。
中断的引入是为了支持**CPU和设备之间的并行操作**,异常的引入是为了表示CPU执行指令时本身出现的问题。中断包括I/O中断、时钟中断、硬件故障。异常包括系统调用、页故障/页错误、保护性异常、断点异常、其他程序性异常。
还没有评论,来说两句吧...