【发布时间】:2017-06-09 03:19:41
【问题描述】:
在我看来,当我们通过调用 open 然后 read 系统调用读取文件时,磁盘中文件的内容将首先被读取到内核空间,然后复制到用户空间或进程,所以,如果文件是1G这样的大文件,读取会占用物理内存中的2G内存,1G映射到内核空间,1G映射到进程。我知道这可能是错的,但我错在哪里? Linux如何在读取文件等情况下管理内存?如果我使用 mmap 而不是 read,那么 Linux 的处理方式会有什么不同呢?
【问题讨论】:
标签: linux linux-kernel system-calls mmap