我想了解进程的地址空间。
我们知道,在32位操作系统的每个进程都有AA 4GB的内存地址块也被称为虚拟地址空间。必须保留为OS交互的内核虚拟地址空间的一个部分。因此,此地址空间分为用户空间(2/3 GB)和内核空间(2/1 GB)。
假设我有两个我的系统上运行的应用程序,1)的notepad.exe 2)word.exe
这意味着每一个都的NOTEPAD.EXE与word.exe 4 GB空间,将被分配。
我understanig是既NOTEPAD.EXE和word.exe的,将有单独的2 GB的用户空间和单独的2 GB的系统空间。
我的理解是否正确?
现在在http://msdn.microsoft.com/en-us/library/windows/hardware/hh439648网站(V = VS.85)。ASPX它写道:"每个用户模式进程都有自己的私有的虚拟地址空间,但所有的代码运行在内核模式下股份称为一个单一的虚拟地址空间系统的空间。"
我不能够得到所有的代码运行在内核模式下共享一个单一的虚拟地址空间称为系统空间"声明"。
与上面的例子中不尊重,这意味着NOTEPAD.EXE和word.exe将有单独的用户空间每个2 GB。但是,双方将共享2 GB的系统空间?
PLS的澄清我的疑问。