The primary benefit of memory mapping a file is increasing I/O performance, especially when used on large files.
memery mapped file 主要的优势是提供I/O的效率,尤其在处理大文件上面。
Most modern operating systems or runtime environments support some form of memory-mapped file access.
现在大多数操作系统和运行时都支持memory-mapped file的访问。
The function mmap(),which creates a mapping of a file given a file descriptor, starting location in the file, and a length, is part of the POSIX specification, so the wide variety of POSIX-compliant systems, such as UNIX, Linux, Mac OS X or OpenVMS, support a common mechanism for memory mapping files.
在Posix系统提供的nmap()函数来创建内存映射文件的描述,包括文件开始位置和文件大小。nmap()被Unix 、Linux、Max Os 以及其他操作系统提供。
The Microsoft Windows operating systems also support a group of API functions for this purpose, such as CreateFileMapping().
微软操作系统也通过CreateFileMapping()来提供memory-mapped file的功能。
同时,大部分的编程语言和程序库也提供对memory-mapped file 的编程。
例如:java语言提供RandomAccessFile、FileChannel、MappedByteBuffer 等提供访问内存映射文件。
https://en.wikipedia.org/wiki/Memory-mapped_file