管道通信的概念
所謂管道,是指用于連接一個讀進程和一個寫進程以實現他們之間的通信的一個共享文件。
管道通信系統主要由區段通信、干線通信和移動通信三部分組成。
區段通信:主要指管道各區段內部的通信。每個區段的通信系統不僅要滿足本區段的通信需要,而且也是干線通信網的組成部分。
干線通信:管道運輸部門各級管理機構之間及其與調度中心之間的通信。干線通信網一般溝通總部、大區中心和調度中心。
移動通信:為滿足收集和傳遞管道沿線的各種監視信號的需要,以及為滿足管道維護工作的需要所使用的超短波或甚高頻 (VHF)無線電通信系統。
管道通信作用:
1.它可以使互不相關的兩個進程實現彼此通信。
2.該管道可以通過路徑名來指出,并且在文件系統中是可見的。在建立了管道之后,兩個進程就可以把它當作普通文件進行讀寫操作,使用非常方便。
3.FIFO 嚴格地遵循先進先出規則,對管道及 FIFO 的讀總是從開始處返回數據,對它們的寫則把數據添加到末尾。
管道特性:不能能在創建時就確定確定數據流向(操作系統無法確定誰讀誰寫),而是在使用的時候確定,因此操作系統會提供兩個描述符供使用,一個讀一個寫,這樣的確定方向就是將對應的一段關閉掉即可,這樣方向的控制權就交給了用戶。
管道通信和共享存儲的區別
操作系統分為內核態和用戶態,管道就是在內核中開辟一塊緩沖區,不同的進程通過對這個緩沖取進行讀寫操作實現IPC。
共享內存的最大特性: 最快的進程間通信方式。
共享內存的本質是直接在物理空間上開辟的一塊物理內存,而非pcb的虛擬內存,多個進程可以將自己的虛擬地址映射到這塊內存上面從而達到通信的目的,相比于其他方式,很明顯,這種方式有效的降低了輸入輸出數據的拷貝次數,從而降低了效率。
文章綜合動植物百科、CSDN、Serendipity_00、code配上格子衫
發布評論請先 登錄
相關推薦
評論