虚拟内存:处理'一个和系统的一个

时间:2011-05-05 15:51:07

标签: windows memory pagination virtual

本文http://msdn.microsoft.com/en-us/library/aa366912(v=vs.85).aspx指出win32环境(32位假设)中的虚拟内存专用于用户模式进程,一半专用于内核模式进程。

如果我从分页中回忆起来,每个进程都应该有自己的地址空间,从0到任何地方(根据文章,最大为0x7FFFFFFF)。但是对于内核驱动程序呢?每个内核驱动程序/程序的内核地址空间是否从0x80000000到0xFFFFFFFF?

或者我刚出错?

3 个答案:

答案 0 :(得分:3)

我相信你的印象是司机是独立的过程;单片和混合内核(NT被认为是混合内核),它们不是。将驱动程序视为内核在环0中加载的模块。实际上,它们成为内核的一部分。

该地址空间的某些部分可能在进程之间发生变化,但大多数内核地址空间将在所有进程之间共享。

答案 1 :(得分:2)

据我所知,只有一个内核。 : - )

除非系统配置为3GB用户空间,否则地址范围似乎没问​​题。

答案 2 :(得分:2)

在Windows中,内核模式驱动程序存在于内核中并共享内核的地址空间。