mmap 是类 Unix 系统中的一个系统调用/接口,用于把文件或设备映射到进程的虚拟内存地址空间(“内存映射”)。这样程序就能像访问内存一样读写文件内容,常用于高效 I/O、共享内存、加载大型文件等。(也可指 memory-mapped file 的用法/机制。)
/ɛmɛmˈæp/
The program uses mmap to read the file quickly.
这个程序使用 mmap 来快速读取文件。
By using mmap, the database can share pages between processes and reduce copying overhead.
通过使用 mmap,数据库可以在进程之间共享内存页并减少拷贝开销。
mmap 通常被理解为 memory map(内存映射)的缩写:m(memory)+ map(映射)。它在早期 Unix/POSIX 风格的系统接口中作为把文件映射进内存的核心机制而普及,并在许多操作系统与编程文献中沿用至今。
mmap() 与内存映射文件的实践与陷阱 mmap 在 Unix 编程中的典型用法 mmap 概念的讨论 man 2 mmap 手册页——权威接口说明与参数/返回值定义