天天看點

系統程式設計-程序間通信-概述

程序間通信概述

1.  什麼是程序間通信?

     什麼是線程間通信?

   程序間通信: 在使用者空間實作程序間通信是不可能的,程序間通信通過Linux核心對象來實作。

   線程間通信:這在使用者空間就可以實作,甚至可以通過全局變量來通信。

2. 有哪幾種程序間通信方式?

  ** 管道通信:無名管道、有名管道(檔案系統中有名)

  ** 信号通信:信号的發送、信号的接收和信号的處理。

  ** IPC(Inter-Process Communication)通信: 共享記憶體、消息隊列 和 信号燈。

  以上是單機子模式下的程序間通信(隻有一個Linux核心),而Socket通信則用于一個網絡内的兩個程序之間的通信(兩個Linux核心)。

3. 學習程序間通信的思路: 每一種通信方式都是基于檔案IO的思想。

  open: 建立或打開程序通信對象。   函數形式不一樣,有的是多個函數完成。例如建立無名管道,使用pipe,而打開普通檔案,使用open即可。

  write: 向程序間通信對象寫入内容。函數形式可能不一樣。

  read: 從程序間通信對象讀取内容。 函數形式可能不一樣。

  close: 關閉或删除程序間通信對象。函數形式可能不一樣。

(文字純手打)

.

/************* 社會的有色眼光是:博士生、研究所學生、大學生、工廠中的房間勞工; 重點大學高材生、普通院校、二流院校、野雞大學; 年薪百萬、五十萬、五萬; 這些都隻是帽子,可以失敗千百次,但我和社會都覺得,人隻要成功一次,就能換一頂帽子,隻是社會看不見你之前的失敗的帽子。 當然,換帽子決不是最終目的,走好自己的路就行。 杭州.大話西遊 *******/