第十章 進程通信管理(UNIX操作系統筆記)

進程通信管理基本概念

  • system V IPC中是限制在單機中的通信
  • 套接字(socket)的進程通信機制,屬于網絡進程通信技術

進程通信的分類

  • 控制信息的傳遞:用于控制信息的執行速度和執行方式,通常只包含幾個字節的內容,屬于進程間的低級通信。
  • 大批量數據傳送:執行程序中需要實現數據批量交換的一種手段,通常將進程間的大批量數據傳遞稱為高級通信。

進程間的通信

并發進程間的數據和信息交換稱為進程間通信(IPC),unix系統提供多種手段和技術進行進程間通信,例如基本通信,管道通信,共享內存通信。TCP/IP通過網絡環境,基于套接字進程通信。

進程通信的實現方式

主從式通信

通過主進程控制管理從進程。例如終端控制進程(主進程)和終端進程(從進程)。

會話式通信

雙方采用請求和響應請求的方式實現通信。分為使用者進程和服務者進程。典型的例子是用戶進程和磁盤管理進程之間的通信過程。

消息傳遞式通信

采用消息或者郵箱的方式進行進程間的通信。無論接收是否準備好,發送進程都可以進行消息發送,發送的信息是通過消息緩沖區或郵箱完成傳遞的。

信號通信方式

信號是操作系統中設立的一種運行通報機制,出現異常,會產生一種信號,信號可以傳遞給相關進程。進程接收到后會做出不同的反應。

UNIX的基本通信技術

鎖文件通信

通信進程雙方約定,在某個目錄中(TMP目錄),查找是否有一個雙方都可以訪問的已知文件存在,將這個文件視為鎖文件。

記錄鎖文件通信

通過文件記錄的鎖定來實現進程間的通信。

信號通信

管道通信

共享存儲區通信技術

共享存儲區的概念

利用內存中的一段共享存儲區進行通信,可以將共享區中的內容作為進程自己的虛存空間使用,構成通信機制。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容