一, 内核态
进程执行系统调用陷入内核代码中执行时, 就处于内核态.
操作系统运行在内核态, 可以执行全部指令.
特权指令只有内核态才能使用, 比如 I/O 指令, 中断屏蔽指令, 设置时钟指令, 清理内存指令...
二, 用户态
用户程序运行在用户态, 用户态无法干扰内核态.
非特权指令所有程序都可以使用.
用户态只能执行非特权指令.
用户态切换到内核态方式: 系统调用, 异常, 外设请求.
来源: http://www.bubuko.com/infodetail-2976348.html