進程間通信———共享內存的原理

這篇寫的不錯給出鏈接

 https://blog.csdn.net/ljianhui/article/details/10253345

下圖是兩個進程間使用共享內存通信的示意圖:
進程A和進程B在操作系統os中都有自己的虛擬內存空間
這個虛擬內存空間又各自對應磁盤上的一段物理內存空間,而且它們是各自獨立沒有交集的。
1、調用API,讓操作系統在物理內存中開闢一大段緩存空間(就是筆在的那個空間)
2、進程A和進程B各自讓進程空間與開闢出的實際物理緩存空間建立一一對應的映射關係
3、兩個進程各自操作自己的虛擬內存來讀寫數據,以達到進程間通信的目的。
4、虛擬地址其實就是內存條的大小,每個進程都有這麼大的虛擬地址,進程本身是有一部分虛擬地址與實際的物理地址對應,還有很大一部分虛擬地址並沒有是有,就可以用其中一部分來實現虛擬地址的映射

 

 

 

 

 

發佈了92 篇原創文章 · 獲贊 71 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章