勵志

勵志人生知識庫

mmap作用

mmap(記憶體映射)的作用是將一個檔案或者其他對象映射到進程的地址空間,實現檔案磁碟地址和進程虛擬地址空間中一段虛擬地址的一一對映關係。

通過mmap,進程可以像讀寫記憶體一樣讀寫檔案,同時多個進程映射同一檔案,還能保證虛擬空間映射到同一塊物理記憶體,達到記憶體共享的作用。mmap提供了一個記憶體訪問接口,使得應用程式能夠訪問遠遠大於物理記憶體大小的虛擬空間。mmap還是一種零拷貝技術,可以減少數據在核心空間和用戶空間之間的複製開銷,從而提高I/O性能。

需要注意的是,mmap中的數據並沒有被真正寫到硬碟,作業系統會在程式主動調用flush的時候才把數據真正的寫到硬碟,因此mmap具有不可靠的特點。