你没有明白虚拟地址空间和物理地址空间的区别,建议你看看操作系统原理和计算机体系结构。对于linux内核来说,虚拟地址空间0-3G可以被应用程序访问,但是应用程序不能直接访问3G以上的虚拟地址空间。
还有一点:应用程序所能访问最大地址空间和CPU的硬件结构有关。对于I386而言可以访问(4G,36G,64T)你看相关的CPU体系结构的书就知道了
------------------ 原始邮件 ------------------
发送时间: 2010年1月1日(星期五) 晚上11:29
主题: Re: 32 位系统最多支持 4GB 内存,哪些 bigmem 模块是做什么用的?
1 单个应用程序只能用3G,但多个应用程序加起来可以用更多 2 4G地址空间,并不表示4G都是内存,也不表示4G都是给应用程序用的。在每个应用程序的虚拟地址空间中,内核占据1G地址。应用程序需要调用操作系统功能时,就跳转到操作系统的地址运行。注意区分地址和内存的概念
2010/1/1 User <resation@yeah.net>:
> 那些地址应用程序不能访问,是否专供内核程序可以使用?另外,应用程序不 > 是最大能够使用到 4GB 内存,怎么是 3GB 呢?麻烦大哥解释一下。 >
-- Ren Xiaolei
|