由于进程具有在运行时复制到RAM中的虚拟内存。如上一篇文章所述。
Which part of process virtual memory layout does mmap() uses?
我有以下双打:
-
学习者
答案 0 :(得分:1)
malloc
这样的函数时,运行时中的分配器要么返回一个先前已经保留过的块,要么返回一个已经重新定义的块(之前称为free
),或者它要求操作系统保留更多内存(sbrk
或mmap
)。当您第一次访问此内存时,操作系统会看到页面错误并验证您是否可以访问此位置(因为您已保留它),然后提供有效页面。