加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

進程間通信

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

進程間通信就是在不同進程之間傳播或交換信息,那么不同進程之間存在著什么雙方都可以訪問的介質(zhì)呢?進程的用戶空間是互相獨立的,一般而言是不能互相訪問的,唯一的例外是共享內(nèi)存區(qū)。另外,系統(tǒng)空間是“公共場所”,各進程均可以訪問,所以內(nèi)核也可以提供這樣的條件。此外,還有雙方都可以訪問的外設(shè)。在這個意義上,兩個進程當然也可以通過磁盤上的普通文件交換信息,或者通過“注冊表”或其它數(shù)據(jù)庫中的某些表項和記錄交換信息。廣義上這也是進程間通信的手段,但是一般都不把這算作“進程間通信”。

進程間通信就是在不同進程之間傳播或交換信息,那么不同進程之間存在著什么雙方都可以訪問的介質(zhì)呢?進程的用戶空間是互相獨立的,一般而言是不能互相訪問的,唯一的例外是共享內(nèi)存區(qū)。另外,系統(tǒng)空間是“公共場所”,各進程均可以訪問,所以內(nèi)核也可以提供這樣的條件。此外,還有雙方都可以訪問的外設(shè)。在這個意義上,兩個進程當然也可以通過磁盤上的普通文件交換信息,或者通過“注冊表”或其它數(shù)據(jù)庫中的某些表項和記錄交換信息。廣義上這也是進程間通信的手段,但是一般都不把這算作“進程間通信”。收起

查看更多
  • 《嵌入式Linux應(yīng)用程序開發(fā)標準教程》(第2版)
    華清遠見為您帶來經(jīng)典教程:嵌入式Linux應(yīng)用程序開發(fā)
  • 進程間通信之:實驗內(nèi)容
    通過編寫有名管道多路通信實驗,讀者可進一步掌握管道的創(chuàng)建、讀寫等操作,同時,也復習使用select()函數(shù)實現(xiàn)管道的通信。
  • 進程間通信之:消息隊列
    顧名思義,消息隊列就是一些消息的列表。用戶可以從消息隊列中添加消息和讀取消息等。從這點上看,消息隊列具有一定的FIFO特性,但是它可以實現(xiàn)消息的隨機查詢,比FIFO具有更大的優(yōu)勢。同時,這些消息又是存在于內(nèi)核中的,由“隊列ID”來標識。
  • 進程間通信之: 共享內(nèi)存
    可以說,共享內(nèi)存是一種最為高效的進程間通信方式。因為進程可以直接讀寫內(nèi)存,不需要任何數(shù)據(jù)的復制。為了在多個進程間交換信息,內(nèi)核專門留出了一塊內(nèi)存區(qū)。這段內(nèi)存區(qū)可以由需要訪問的進程將其映射到自己的私有地址空間。因此,進程就可以直接讀寫這一內(nèi)存區(qū)而不需要進行數(shù)據(jù)的復制,從而大大提高了效率。
  • 進程間的通信方式三種
    分別是消息隊列通信、信號量通信和共享內(nèi)存通信:消息隊列是在兩個不相關(guān)的進程之間傳遞數(shù)據(jù)的一種簡單高效的方式,獨立于發(fā)送進程和接受進程而存在;信號量是一種提供不同進程或者一個給定的不同線程之間同步的手段;共享內(nèi)存詩指在多個處理器的計算機中,可以被不同的中央處理器訪問的大容量的內(nèi)存。