unix和linux的体系架构:分为用户态和内核态unix和linux的体系架构.png
三者之间的关系如下: 三者之间的关系.png 系统调用是操作系统中的最小功能单位。
从特权级来区分内核态和用户态:在CPU的所有指令中,有一些指令是非常危险的,如果错用,将导致整个系统崩溃。所以,CPU将指令分为特权指令和非特权指令,对于那些危险的指令,只允许操作系统及其相关模块使用,普通的应用程序只能使用那些不会造成灾难的指令。
用户态切换为内核态的三种情况:
系统调用的本质其实也是中断,相对于外围设备的硬中断,这种中断称为软中断。从触发方式和效果上来看,这三种切换方式是完全一样的,都相当于是执行了一个中断响应的过程。但是从触发的对象来看,系统调用是进程主动请求切换的,而异常和硬中断则是被动的。 |
|