简单的说一说mmap

mmap:memory map,就是内存映射

简单的说就是将文件映射到用户的地址空间中。这么做有什么好处呢?

1.传统文件访问方式是, 首先用open系统调用打开文件, 然后使用read, write等调用进行顺序或者随即的I/O. 这种方式是非常低效的, 每一次I/O操作都需要一次系统调用. 而通过mmap可以将文件映射到进程空间中,把对文件的操作变为对内存的访问,提高了效率。

2.另外, 如果若干个进程访问同一个文件, 每个进程都要在自己的地址空间维护一个副本, 浪费了内存空间。而通过mmap由于只是简单的映射关系,所以非常方便于同一副本的共享

posted @ 2012-02-18 12:42  only_eVonne  阅读(313)  评论(0编辑  收藏  举报