内存布局 有一次面试官问我为什么上面的128MB在32位环境下不能使用,为什么这个数字不是256MB。
当时无法回答,后来上网查资料也没有找到满意的解释。
在典型的32位计算环境中,最大可寻址内存为4GB(从0x00000000到0xFFFFFFFF)。此限制是由于 32 位地址寄存器只能保存 2^32 个不同的值,相当于 4GB。然而,并非所有这些内存都可供程序使用;有些保留用于其他用途,例如系统硬件资源。
顶部 128MB(或者有时是 256MB 或更多)通常保留用于内存映射 I/O、内核和/或 Bios ROM 内容。