操作系统的运行机制和体系结构(知识点笔记)

操作系统的运行机制和体系结构(知识点笔记)

运行机制

指令
有的指令是非特权指令,诸如加减乘除这种普通的运算指令。
有的指令是特权指令(不允许用户程序使用),像是内存清零这种。
而对于内存清零这种特权指令,如果所有的程序都可以调用的话,则任何用户都可以删除其他用户的信息,这样做很明显是不对的。

处理器状态
对于上面两种指令,cpu又是如何判断当前是否可以执行特权指令的呢?
这里cpu存在两种状态:
1、用户态(目态):此时只能执行非特权指令
2、核心态(管态):特权指令和非特权指令都能执行
(这里用程序状态寄存器(PSW)中的某个标志位来标识当前的处理器处于什么状态。如0为用户态,1为核心态。)

两种程序
1、内核程序:操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态。
2、应用程序:为了系统的运行安全,应用程序只能执行非特权指令,运行在用户态。

操作系统内核

内核是计算机上配置的底层软件,是操作系统的基本、最核心的部分。
实现操作系统内核功能的那些程序就是内核程序。

在我们的Windows系统当中,有像记事本、资源管理器等等,但是这些都不是必不可少的(非内核功能)。

内核
1、对系统资源进行管理的功能(有的操作系统不把这些认为是内核功能):进程管理、存储器管理、设备管理等等
2、和硬件紧密相关的:时钟管理、中断处理、原语(设备驱动、CPU切换等运行时间较短、调用频繁的特点)
(原语是最接近硬件的部分,这种程序运行具有原子性(其运行只能一气呵成,不可中断))

大内核(包含1、2):将操作系统的主要功能模块都作为系统内核,运行在核心态,性能高、但是内核代码庞大,结构混乱,难以维护。
微内核(只含2):只把最基本的功能保留在内核,内核功能少,结构清晰,方便维护,但是需要频繁的在核心态和用户态之间切换,性能低。