Linux是否在mmap()之后立即为进程分配内存?

时间:2019-01-15 09:48:36

标签: linux-kernel mmap

我正在阅读mmap()的源代码,并且发现Linux内核将使文件映射到vma结构中。 vma仅代表存储区。那么,操作系统是否会在mmap()之后立即为该进程分配物理内存?

1 个答案:

答案 0 :(得分:2)

否,Linux {strong>可以推迟mmap请求的物理内存分配,直到该内存被访问为止。

当应用程序访问未映射的内存时,会触发 page fault 异常;处理此异常时,Linux可能会映射访问的内存,从而允许应用程序继续运行。