進程間通信

進程間通信(IPC)

爲什麼操作系統要爲用戶提供進程間通信方式?

答:因爲進程的獨立性。每個進程都有自己的獨立虛擬地址空間,操作的都是自己的地址,所以進程之間無法直接進行通信。

進程間通信方式

  1. 從Unix借鑑的:管道- - -資源傳輸;
  2. systemV標準的進程間通信方式:共享共存、消息隊列、信號量

管道:傳輸資源- - -傳輸的是數據資源;

本質:內核中的一塊緩衝區,若多個進程可以訪問到同一個緩衝區,就可以實現通信。
分類:匿名管道/命名管道。
匿名管道:內核中的這塊緩衝區沒有具體的標識符,只能用於具有親緣關係的進程間通信。多個進程只要通過子進程複製父進程的方式拿到同一個管道(緩衝區)的操作句柄就可以進行通信。


在這裏插入圖片描述

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