OS的运行机制和体系结构
什么是指令
代码都会被翻译成很多条的指令执行,每一条指令就是让cpu干一些工作。“指令”就是CPU能识别、执行的最基本命令。比如加法指令。
有的指令是普通的指令,比如加减乘除运算指令,我们称它为非特权指令。而有的指令拥有着很高的权限,比如内存清零、关机等,一旦用户程序执行了这个指令,可能会造成严重的后果,我们称这样的指令为特权指令。
特权指令不允许普通的用户程序使用的。
如何判断是否执行特权指令
我们将cpu分为用户态(目态)和内核态(管态)。
**用户态(目态):**此时cpu只能执行非特权指令,一般是用户程序在执行
**内核态(管态):**此时cpu可以执行非特权指令和特权指令,一般是内核程序在执行(内核程序是内核的管理者)
操作系统一般用**程序状态关键字(PSW)**中的某个标志位来识别当前处理器处于一个什么状态。如0表示用户态,1表示内核态。
操作系统内核结构
内核是计算机配置底层的软件,是操作系统最基本、最核心的部分。实现操作系统内核功能的程序就是内核程序。
操作系统分为内核部分和非内核功能。内核功能主要包括一些底层的操作,比如进程管理、存储器管理、设备管理、文件管理、处理机管理等。非内核功能主要是操作系统提供给用户的功能,比如任务管理器等。
时钟管理:实现计时功能
中断处理:处理中断请求
原语:原语是一种特殊的程序,是最接近硬件的部分,这种程序运行具有原子性,执行过程是不可分割的整体,运行时间比较短、调用频繁。
对于进程管理、存储器管理、设备管理,有的操作系统不会把这部分归作内核功能,也就是不同的操作系统内核划分可能不一样。
大内核和微内核
转载自:https://www.yuque.com/devhg/os/qa6e16