Linux系統程式設計之 mmap對映

2021-10-21 10:55:37 字數 525 閱讀 7474

共享記憶體

了解mmap( )函式的使用

例項**:

#include

#include

#include

#include

#include

int main(

) //拷貝資料

strcpy(mem,"hell0");

//釋放對映區

mummap(mem,8)

;close(fd)

;}

輸出:mem.txt檔案包含hello

如果char*mem=mmap(null,8,prot_read|prot_write,map_private,0); mem.txt檔案不包含hello

char *mem=mmap(null,20,prot_read|prot_write,map_shared,0)

也可,只不過輸和原來一樣

注意:檔案多大,最後只能拷貝多大資料

Linux系統程式設計之mmap實現父子程序通訊

原理 在映 對映區之後,父子都可以拿到對映的記憶體區域的記憶體位址,如果乙個程序改變了記憶體區域的內容,另外乙個去讀的時候會有變化。先建立對映區在fork 所以,應該先建立對映區再fork。include include include include include include include...

Linux系統程式設計 記憶體對映 mmap

mmap 系統呼叫在呼叫程序的虛擬位址空間中建立乙個新記憶體對映。對映分為兩種。檔案對映 檔案對映將乙個檔案的一部分直接對映到呼叫程序的虛擬記憶體中。一旦乙個檔案被對映之後就可以通過在相應的記憶體區域中操作位元組來訪問檔案內容了。對映的分頁會在需要的時候從檔案中 自動 載入。匿名對映 乙個匿名對映沒...

Linux系統程式設計之程序

程序狀態 4 5種 就緒 初始化 執行,掛起 等待 停止 pbc成員 1 程序id 2 程序狀態 3 程序切換需要儲存和恢復的cpu暫存器 4 描述虛擬位址空間資訊 5 描述控制終端的資訊 6 當前工作目錄 7 umask掩碼 8 檔案描述符 9 訊號相關的資訊 10 使用者和使用者組id 11 會...