内核空间和用户空间

为了保证不同进程之间的相互独立(一个进程的崩溃不会影响其他进程,恶意进程不能读取和修改其他进程运行时的代码和数据)。

因此操作系统内核需要拥有高于普通进程的权限, 以此来调度和管理用户的应用程序。

于是内存空间被划分为两部分,一部分为内核空间,一部分为用户空间,内核空间存储的代码和数据具有更高级别的权限。内存访问的相关硬件在程序执行期间会进行访问控制(Access Control),使得用户空间的程序不能直接读写内核空间的内存。