【发布时间】:2010-12-15 02:52:27
【问题描述】:
PAE (Physical Address Extension) 早在 1994 年就被引入 CPU。这允许 32 位处理器访问 64 GB 的内存,而不是 4 GB。 Linux 内核从 2.3.23 开始对此提供支持。假设我正在引导其中一个内核,并且想用 C 语言编写一个可以访问超过 3 GB 内存的应用程序(为什么是 3 GB?See this)。
如何访问超过 3 GB 的内存?当然,我可以分叉多个进程;每个人都可以访问 3 GB,并且可以相互通信。但这对于大多数用例来说不是一个现实的解决方案。还有哪些其他选择?
显然,在大多数情况下,最好的解决方案是简单地以 64 位模式启动,但我的问题是关于如何在启用 PAE 的 32 位上运行的应用程序中使用 4 GB 以上的物理内存内核。
【问题讨论】:
-
“我如何编写一个可以访问超过 3GB RAM 的 C 应用程序”?那属于这里!