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