【问题标题】:Is the memory allocated by malloc not necessarily physically continous?malloc分配的内存不一定是物理连续的吗?
【发布时间】:2011-10-19 15:20:06
【问题描述】:

malloc分配的内存可以占用好几页,这些页不一定是相邻的,对吗?

【问题讨论】:

标签: c malloc virtual-address-space


【解决方案1】:

没错。

物理上连续的内存只对 DMA 很重要,您不在乎,因为您不在内核空间中。

它将在虚拟地址空间中是连续的。

【讨论】:

    【解决方案2】:

    是的,物理上它们不能保证是相邻的,但至少在进程的虚拟地址空间中它们看起来是相邻的。

    在用户空间中,您很少需要考虑物理内存和连续页面。

    【讨论】:

      【解决方案3】:

      malloc 将为您提供在虚拟地址空间上连续的内存。如果您知道虚拟内存是如何工作的,那么您就知道无法保证虚拟页面在物理上是连续的。

      【讨论】:

        猜你喜欢
        • 2010-10-12
        • 2015-01-26
        • 1970-01-01
        • 2011-01-15
        • 1970-01-01
        • 2019-04-08
        • 2014-02-15
        • 2020-11-23
        相关资源
        最近更新 更多