知识框架:
特权指令与非特权指令
特权指令:指一些非常重要的指令,如内存清零指令,I/O指令,置中断指令,只能由特殊程序执行,保证安全性。
非特权指令:即一般指令,不影响系统的安全性,如加减乘除指令,可以由一般的程序执行。
核心态与用户态
计算机如何区分当前是否可以执行特权指令?没错,采用的是不同的状态,即核心态和用户态,在状态字寄存器中存在一个状态标志位,可以区分当前是核心态还是用户态,只有在核心态中才可以使用特权指令。
内核程序和应用程序
内核程序指能够特权指令的特殊程序
应用程序指其他能够调用一般指令的普通程序
操作系统内核
1、与硬件关联紧密的模块:时钟管理、中断处理、设备驱动等。
2、运行频率较高的程序:进程管理、存储器管理、设备管理等。
3、原语:是一种特殊的程序,执行具有原子性,即要么不执行,要么不可被中断地被执行完毕。
(操作系统内核的指令操作工作在核心态)
操作系统的体系结构
1、大内核:管理层可以做大部分工作。其优点是性能高,缺点是结构混乱,难以维护。
2、微内核:管理层与员工层分工明确。其优点是结构清晰,分工明确,维护方便,缺点是需要不断在核心态与用户态之间转 换,性能较低。
中断和异常
CPU如何在用户态和核心态之间切换? --利用中断,中断是CPU从用户态进入核心态的唯一途径
发生中断意味着需要操作系统介入进行工作,CPU会立即进入核心态,如进行IO管理,允许打印机开始工作等。
中断的分类
广义中断可以分为内中断和外中断,平常我们把外中断称为中断实际上是狭义上的中断定义。
内中断又分为自愿中断和强迫中断,自愿中断是指被指令中断,而强迫中断一般是遇到了异常,如硬件故障,或者除数为0,都会抛出异常。
而外中断一般包括外设的请求中断,如打印机工作完毕会向CPU发送完成信号中断,或者人工干预的中断,即认为的强行结束一个进程。
外中断的处理过程
1、每条指令结束,CPU例行检查是否有中断
2、如果有中断,保护现场,进入中断子程序
3、恢复现场,返回继续向下执行
以上图片来自王道考研视频,如有侵犯权益请告知