malloc分配的内存可能占用多个页面,这些页面不一定是彼此相邻的,这是正确的吗?
答案 0 :(得分:3)
这是正确的。
物理上连续的内存只对DMA很重要,你不在乎,因为你不在内核空间。
它在虚拟地址空间中是连续的。
答案 1 :(得分:3)
是的,实际上它们并不保证是相邻的,但至少在过程中它们看起来是虚拟地址空间。
在用户空间中,您很少需要考虑物理内存和连续页面。
答案 2 :(得分:1)
malloc
将为您提供连续虚拟地址空间的内存。如果您知道虚拟内存的工作原理,您就会知道无法保证虚拟页面在物理上是连续的。