mmap为什么更高效?

mmap是一种内存映射文件的方法,它将一个文件映射到进程的地址空间,建立文件磁盘地址与虚拟内存的一种对应关系,如此,读写相应的虚拟地址等同于直接读写对应的文件内容了,这样映射的最大好处是进程可以直接读取内存,避免了频繁的使用read,write等系统调用

这里需要注意:mmap并不是直接分配内存,它所做的最重要的工作就是为进程映射区的虚拟地址建立页表项。

从下图可以看出,应用程序虚拟地址空间有多个区域构成, mmap映射的虚拟内存再heap和栈之间的空余部分。

猜你喜欢

转载自blog.csdn.net/CPriLuke/article/details/111073463