使用mmap读写文件为什么比普通读写函数要快?(转)

Linux通过内存映像机制来提供用户程序对内存直接访问的能力。

内存映像的意思是把内核中特定部分的内存空间映射到用户级程序的内存空间去。也就是说,用户空间和内核空间共享一块相同的内存。这样做的直

观效果显而易见:内核在这块地址内存储变更的任何数据,用户可以立即发现和使用,根本无须数据拷贝。而在使用系统调用交互信息时,在整个操

作过程中必须有一步数据拷贝的工作——或者是把内核数据拷贝到用户缓冲区,或只是把用户数据拷贝到内核缓冲区——这对于许多数据传输量大、

时间要求高的应用,这无疑是致命的一击:许多应用根本就无法忍受数据拷贝所耗费的时间和资源。

转自:http://bbs.chinaunix.net/thread-3607978-1-1.html
 




原文地址:https://www.cnblogs.com/ZhangJinkun/p/4535103.html