Linux Kernel Space
内核空间
内核独立于普通应用程序,处于系统态,拥有受保护的内存空间和访问硬件设备的所有权限,这种系统态和 被保护的内存空间,统称为内核空间。
用户空间
用户空间和内核空间相对,这里只能看到允许他们使用的部分系统资源,并且只能使用特定的系统功能,不 能直接访问硬件。
用户空间和内核空间说明
可以看到应用程序在用户空间执行,如果需要有系统调用,则陷入(trap)内核,让内核代为执行于内核空间, 此时的内核处于进程上下文中。 除了应用程序,还有一些硬件设备,当设备希望和系统通信时,比如键盘按下一个键位,他首先发出一个 中断(interrupt)信号,中断处理器的运行,然后内核开始处理这个信号,一般中断的优先级较高,根据这个 信号区寻找对应的中断程序响应并处理中断,这里位于中断上下文中。
- 运行于用户空间,执行用户进程
- 运行于内核空间,处于进程上下文,代表某个特定的进程执行
- 运行于内核空间,处于中断上下文,与任何进程无关,处理某个特定的中断