什么是内存映射文件?

What are memory mapped files?

最近,我遇到了 this video,它展示了如何将 mmap() 与文件 io 一起使用。但是,我找不到他记录该功能的视频。我不了解它是什么,为什么存在,也不了解它与文件的关系。

太多行话在我脑海中飞来飞去,无法理解。我在维基百科等网站上遇到了同样的问题。

文件是存储在文件系统中的字节数组。

"Memory" 在这种情况下是存储在 RAM 中的字节数组。

内存映射是操作系统做的事情。这意味着内存中的某些字节范围具有某些特殊含义。

内存映射文件一般是文件系统中的一个文件,已经被操作系统映射到进程内存中的某个字节范围内。当进程写入进程的内存时,操作系统负责将字节写入文件,当进程从内存读取时,操作系统负责读取文件。