进程的内核虚拟内存是否包含进程特定的数据?

进程的内核虚拟内存是否包含进程特定的数据?

我不太明白CS:APP书中的这张图。

文本

它显示了进程的内核虚拟内存如何具有与其他进程不同的区域。

这是否意味着内核在过程A,将无法在上下文中看到进程特定的数据过程B

这是内核访问此数据的唯一方法,通过上下文切换到过程B并使用的页表,或者可以从过程A

答案1

你的困惑是可以理解的;该图是错误的,如图所示本书的勘误表:

p。 829,图 9.26。每个进程的地址空间的内核部分都是相同的。每个进程的内核虚拟内存没有任何不同的部分。

(具体来说,在 x86-64 上,这是图中使用的架构(如参考文献所示%rsp),内核具有物理内存的完整映射,因此内存中的任何页面无论如何都会出现在内核的虚拟内存中。请参阅64位linux进程的虚拟内存的内核部分里面有什么?

相关内容