首先,理论上CPU32位保护模式可以支持4G内存,但是XP那个时代,为了寻址所有的内存,必须初始化内存分配表,但是初始化内存分配表必须要一段内存,存在一个先有鸡还是现有蛋的问题,于是XP自己设置了一个不大不小的内存来创建内存分配表,这段内存分配表最高支持2.3G 的内存,这在当年看来是不可能达到的。但是今天···——出自《Windows编程启示录》
God_of_喷 21:06 回复(6)
7楼. 顺便科普一下,CPU的32位是可以寻址全部的内存的,其GDT(全局描述符表)支持全部4G内存寻址。所以操作系统能够直接对显存写入字符之类的。WinNT的内存分配机制我不清楚,不知道是否延续了XP的那个机制。