小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
操作系统运行机制和体系结构
指令
cpu的指令分为特权指令和非特权指令
非特权指令
比如说加减乘除这样的操作,这些指令指令了对其他用户的信息不会有什么改变
特权指令
比如内存清零指令,这种可能会改变用户信息,需要很高的权限
cpu如何判断当前是否可以执行特权指令?
使用程序状态寄存器psw中的某个标志位来看当前处理器处于一个什么状态,0为用户态,1为核心态
处理器的运行状态
用户态
只能执行非特权指令
内核态
既能执行特权指令也能执行非特权指令
内核体系结构
大内核体系结构
时钟管理
中断处理
原语(执行具有原子性的特殊程序)
对系统资源进行管理的功能(进程、存储、设备)
微内核体系结构
在微内核体系结果下对系统资源进行管理这一部分不包括在里面
二者的对比
大内核效率高,结构混乱,不方便管理。
微内核效率低(需要频繁在用户态和内核态之间切换),结构清晰,方便管理
中断和异常
什么是中断?
中断是为了让多道程序并发执行的一种技术,由于中断的产生,cpu可以暂停执行当前进程根据操作系统的调度执行其他进程。这样就实现了多个进程并发执行。
中断的概念和作用
-
中断发生时,操作系统会介入管理
-
中断发生时,处理器会立刻从用户态变成内核态(也是唯一途径)
中断的分类
中断分为内部中断和外部中断
其中内部中断又有一种分类方法
外中断的处理过程
1.每条指令执行完毕,cpu会检查是否有中断信号
2.cpu接收到中断信号时保护原来进程的cpu环境,立刻从用户态切换到内核态。
3.操作系统根据接收到的中断指令进行处理
4.恢复原进程的cpu环境并且结束中断,返回原程序继续执行。