内核态与用户态

CPU指令级分为 分为 0-3 级,具体为 ring0、ring1、ring2、ring3,最高级为ring0,最低级为ring3

像windows系统linux系统只用到ring0和ring3


一些清系统内存、设置系统时间等,这些属于ring0级别,是特权指令,只有操作系统以及相关模块才可以使用,如果这些指令被普通程序使用可能会造成系统奔溃等。

再来说说用户太和内核态,当一个任务执行系统调用而陷入内核代码中执行时,此时处理器处于特权级最高的(ring0级)内核中执行,
我们称进程处于内核态。当进程执行用户自己的代码时,此时处理器处于特权级最低的(ring3级)用户代码中执行,我们成进程处于用户态。

一般情况是,系统调用运行在内核态,函数运行在用户态。

 

posted @ 2019-03-19 07:30  NCat  阅读(386)  评论(0)    收藏  举报