我从mmap() internals了解mmap读取的工作原理 - 导致页面错误 - 将文件数据从磁盘复制到内部内核缓冲区 - 将内核缓冲区映射到用户空间
我的问题是:
谢谢,对不起,如果这些问题非常基本,但我没有找到明确的答案。
答案 0 :(得分:0)
我不是任何方式的内核黑客,但这是我收集的内容:
mmap()
内存的好处是,它可以轻松地分页到磁盘;不需要分配交换空间。memcpy()
,而不是write()
),请执行。 mmap()
的重点是将用户空间虚拟地址空间映射到物理内存,以允许读取和写入,而无需借助系统调用。磁盘的同步将由内核直接执行,无需额外复制到内核缓冲区。