1.什么是指令?
C语言代码——>翻译——>机器语言指令
指令指CPU能够识别和执行的最基本命令
eg:加、减、乘、除指令
但是有的指令有很高的权限,随意使用很危险
eg:内存清零指令
2.所以指令分类
特权指令:不允许用户程序使用
非特权指令
3.所以CPU要判断是否能执行特权指令
于是CPU就分为了
用户态(目态):此时CPU只能执行非特权指令
核心态(管态):此时CPU特权指令、非特权指令都可以执行
CPU状态用程序状态字寄存器(PSW)中的某标志位来标识当前处理器处于什么状态,
比如:0为用户态,1为核心态。
4.有的程序可以使用特权指令,有的不可以
所以程序也分为两种内核程序和应用程序
内核程序:是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态。
应用程序:普通程序
5.操作系统的内核
windows操作系统并不是所有程序都是必备的,有些删了也不影响。
所以操作系统也分为内核和非内核
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分
实现操作系统内核功能的程序就是内核程序。
而内核功能包括
时钟管理(负责计时功能)
中断管理(实现中断机制)
原语(设备驱动、CPU切换)
原语是一种特殊的程序,是最接近硬件的部分,这种程序的运行具有原子性
其他对系统资源进行管理的功能进程管理、存储器管理、设备管理
6.操作系统体系结构
大内核:将操作系统的主要功能模块都作为系统内核,运行在核心态
优点:高性能
缺点:内核代码庞大,结构混乱,难以维护
微内核: 只把最基本的功能保留在内核
优点:内核功能少,结构清晰,便于维护
缺点:需要频繁在核心态用户态切换,性能低