进程的虚拟地址空间分为两部分:内核空间和用户空间

进程的虚拟地址空间_内核空间


每个进程都有各自的虚拟地址空间,这个是说用户空间,而内核空间是所有进程共享的,内核在初始化时,就创建内核空间的映射(因为所有进程共享,有一份就够了),并且,采用的就是线性映射,所谓线性, 就是内核一整块内核空间页, 一对一地映射到一块物理内存上。

当程序进行系统调用时,产生中断,从用户态切换到内核态,切换用户栈为内核栈,将用户栈信息放到内核栈里,中断结束后恢复现场,这里内核空间的资源都是共享的。