mmap記憶體對映原理

2021-09-25 03:42:46 字數 295 閱讀 1602

mmap概念

mmap是一種記憶體對映檔案的方法,即將乙個檔案或者其它物件對映到程序的位址空間,實現檔案磁碟位址和程序虛擬位址空間中一段虛擬位址的一一對映關係。 

特點:實現這樣的對映關係後,程序就可以採用指標的方式讀寫操作這一段記憶體,而系統會自動回寫髒頁面到對應的檔案磁碟上,即完成了對檔案的操作而不必再呼叫read,write等系統呼叫函式。相反,核心空間對這段區域的修改也直接反映使用者空間,從而可以實現不同程序間的檔案共享。如下圖所示: 

mmap記憶體對映原理

mmap記憶體對映的實現過程,總的來說可以分為三個階段:

mmap記憶體對映原理

mmap記憶體對映的實現過程,總的來說可以分為三個階段 一 程序啟動對映過程,並在虛擬位址空間中為對映建立虛擬對映區域 1 程序在使用者空間呼叫庫函式mmap,原型 void mmap void start,size t length,int prot,int flags,int fd,off t ...

linux記憶體對映mmap原理分析

一直都對記憶體對映檔案這個概念很模糊,不知道它和虛擬記憶體有什麼區別,而且對映這個詞也很讓人迷茫,今天終於搞清楚了。下面,我先解釋一下我對對映這個詞的理解,再區分一下幾個容易混淆的概念,之後,什麼是記憶體對映就很明朗了。首先,對映 這個詞,就和數學課上說的 一一對映 是乙個意思,就是建立一種一一對應...

linux記憶體對映mmap原理分析

一直都對記憶體對映檔案這個概念很模糊,不知道它和虛擬記憶體有什麼區別,而且對映這個詞也很讓人迷茫,今天終於搞清楚了。下面,我先解釋一下我對對映這個詞的理解,再區分一下幾個容易混淆的概念,之後,什麼是記憶體對映就很明朗了。首先,對映 這個詞,就和數學課上說的 一一對映 是乙個意思,就是建立一種一一對應...