共享記憶體
了解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 會...