(P28)共享內存介紹

文章目錄

共享內存傳遞數據是最快的
mmap
將文件或者IO映射到一塊內存區域
在這裏插入圖片描述

進程間通信,通過內存操作函數來傳遞數據
在這裏插入圖片描述

共享存儲器的映射區可以映射到不同進程的進程地址空間
在這裏插入圖片描述

4次系統調用,4次拷貝
在這裏插入圖片描述

共享內存是內存中的一塊特殊區域
2次系統調用,
在這裏插入圖片描述

表示映射到哪個地址
在這裏插入圖片描述
prot:對內存的操作,就是對文件的操作;
對共享內存寫操作會影響其它進程,對共享內存的寫操作,會寫到文件中;
對共享內存寫操作不會影響其它進程,對共享內存的寫操作,不會寫到文件中;
addr可能不是內存業面(指的是內存頁面,內存是以業面爲單位的,將文件映射到內存中)的整數倍,MAP_FIXED會將其對齊到業面的整數倍,通常不用關心
僅供父子進程使用;
在這裏插入圖片描述
內存分配是以頁面爲單位的,若Len小於一個頁面的大小,也是分配一個頁面
在這裏插入圖片描述

40對應8進制數爲32,依次類推就是32(0000040),33,34。。40
在這裏插入圖片描述

2140

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章