我有以下问题:
Kernel Virtual Memory
这些过程中的每一个都包含?它的布局是什么?发布于 2018-05-21 11:49:25
CR3
控制寄存器就足够了。整个4GB地址空间被替换为表替换一个完全不同的4GB地址空间。话虽如此,通常在进程之间会有共享地址空间的区域。0x100000
在一个进程中,可能位于0x101000
在另一个过程中。不同地址空间中的两页,地址完全不同,可以指向相同的物理内存。对评论的答复:
现在这3GB是共享的b/w所有进程?还是每个进程有4GB的空间?
在Windows上,每个进程都有自己的页表。记住,即使每个过程都可能有自己的虚拟地址空间,这并不意味着物理记忆总是不同的。例如,用于kernel32.dll
在进程A中加载的kernel32.dll
在进程B中,许多内核地址空间也在进程之间共享。
为什么每个进程都有内核虚拟内存?
https://stackoverflow.com/questions/-100003353
复制相似问题