亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人


Linux下進程間通信

分享到:
           

    本文關鍵字: linux進程間通信,linux 進程通信

    通過前面的學習,讀者已經知道了進程是一個程序的一次執行,是系統資源分配的小單元。這里所說的進程一般是指運行在用戶態的進程,而由于處于用戶態的不同進程間是彼此隔離的,就像處于不同城市的人們,他們必須通過某種方式來進行通信,例如人們現在廣泛使用的手機等方式。本章將講述如何建立這些不同的通信方式,就像人們有多種通信方式一樣。

    Linux下的進程通信手段基本上是從UNIX平臺上的進程通信手段繼承而來的。而對UNIX發展做出重大貢獻的兩大主力AT&T的貝爾實驗室及BSD(加州大學伯克利分校的伯克利軟件發布中心)在進程間的通信方面的側重點有所不同。前者是對UNIX早期的進程間通信手段進行了系統的改進和擴充,形成了“System V IPC”,其通信進程主要局限在單個計算機內;后者則跳過了該限制,形成了基于套接口(Socket)的進程間通信機制。而Linux則把兩者的優勢都繼承下來,如圖4.1所示。


圖4.1 進程間通信發展歷程

    ● UNIX進程間通信(IPC)方式包括管道、FIFO及信號。

    ● System V進程間通信(IPC)包括System V消息隊列、System V信號量及System V共享內存區。

    ● Posix 進程間通信(IPC)包括Posix消息隊列、Posix信號量及Posix共享內存區。
       現在在Linux中使用較多的進程間通信方式主要有以下幾種。

    ● 管道(Pipe)有名管道(Named Pipe):管道可用于具有親緣關系進程間的通信。有名管道除具有管道所具有的功能外,還允許無親緣關系進程間的通信。

    ● 信號(Signal):信號是在軟件層次上對中斷機制的一種模擬,它是比較復雜的通信方式,用于通知進程有某事件發生,一個進程收到一個信號與處理器收到一個中斷請求效果上可以說是一樣的。

    ● 消息隊列(Messge Queue):消息隊列是消息的鏈接表,包括Posix消息隊列和System V消息隊列。它克服了前兩種通信方式中信息量有限的缺點,具有寫權限的進程可以按照一定的規則向消息隊列中添加新消息;對消息隊列有讀權限的進程則可以從消息隊列中讀取消息。

    ● 共享內存(Shared Memory):可以說這是有效的進程間通信方式。它使得多個進程可以訪問同一塊內存空間,不同進程可以及時看到對方進程中對共享內存中數據的更新。這種通信方式需要依靠某種同步機制,如互斥鎖和信號量等。

    ● 信號量(Semaphore):主要作為進程之間及同一進程的不同線程之間的同步和互斥手段。

    ● 套接字(Socket):這是一種更為一般的進程間通信機制,它可用于網絡中不同機器之間的進程間通信,應用非常廣泛。

    本文選自華清遠見嵌入式培訓教材《從實踐中學嵌入式Linux應用程序開發》

   熱點鏈接:

   1、實驗:編寫守護進程
   2、實驗:編寫多進程程序
   3、Linux守護進程
   4、Linux下多進程編程之exec函數語法及使用實例
   5、Linux下多進程編程之fork()函數語法

更多新聞>> 

主站蜘蛛池模板: 黄色免费网站在线播放 | 精品国产人成亚洲区 | 国内精品手机在线观看视频 | 天天操天天摸天天干 | 久久精品美女久久 | 国产精品亚洲片在线花蝴蝶 | 秋霞手机入口二日韩区 | 欧美日韩中文视频 | 国产高清一区 | 这里只有久久精品视频 | 午夜在线亚洲男人午在线 | 日本在线三级 | 日本一区二区免费不卡 | 蜜臀在线观看 | 韩剧伦理在线 | 日韩不卡视频在线 | 黄色毛片免费看 | 99精品视频在线观看 | 日本精品一在线观看视频 | 色秀视频免费网站在线观看 | 欧美一区二区三区精品 | 成人av在线播放 | 精品久久久久久无码中文字幕 | 黄色片网址在线观看 | 高清色本在线www | 国产精品伦理久久久久 | 亚洲经典激情春色另类 | 国产性夜夜春夜夜爽三级 | 国产精品二区在线 | 亚洲欧美中文在线观看4 | 九色综合久久综合欧美97 | 欧美视频免费 | 99久久99这里只有免费费精品 | 久久机热| 国产色爽免费视频 | 好色站 | 日本人亚洲人jjzzjjzz页码1 | 91九九| 日本特黄特色大片免费看 | 日本人六九视频 | 免费福利资源站在线视频 |