0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

管道通信的作用 管道通信和共享存儲的區(qū)別

要長高 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2022-12-09 16:47 ? 次閱讀

管道通信的概念

所謂管道,是指用于連接一個讀進程和一個寫進程以實現(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配上格子衫

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏

    評論

    相關(guān)推薦

    Linux匿名管道和命名管道區(qū)別

    管道是 UNIX系統(tǒng) IPC的最古老的形式,所有的UNIX系統(tǒng)都提供此種通信。所謂的管道,也就是內(nèi)核里面的一串緩存,從管道的一段寫入的數(shù)據(jù),實際上是緩存在內(nèi)核中的,令一端讀取,也就是從
    發(fā)表于 10-12 12:50 ?1006次閱讀

    Linux下進程間通信方式-管道

    Linux下進程間通信方式-管道分享到: 本文關(guān)鍵字: linux 管道通信,linux 進程通信方式 ,無名
    發(fā)表于 08-29 15:29

    管道文件如何實現(xiàn)兩個進程間的通信

    管道文件如何實現(xiàn)兩個進程間的通信
    發(fā)表于 01-11 16:54

    無名管道通信方式簡介

    最常用的無名管道,有名管道,消息隊列,信號,信號量,共享內(nèi)存等進程間的通信方式。其實后面網(wǎng)絡(luò)通信套字節(jié) socket的方式也可以歸為進程通行
    發(fā)表于 11-04 09:03

    怎樣通過匿名管道去實現(xiàn)進程間的通信

    進程通信是指什么?怎樣通過匿名管道去實現(xiàn)進程間的通信呢?有哪些步驟?
    發(fā)表于 12-24 06:45

    有名管道的相關(guān)資料分享

    進程間通信在實際項目中多多少少都會使用到,最常用的有無名管道,有名管道,消息隊列,信號,信號量,共享內(nèi)存等進程間的通信方式。網(wǎng)絡(luò)
    發(fā)表于 12-24 08:08

    通信管道設(shè)計規(guī)范

    通信管道設(shè)計圖集(送審稿)Volume Drawing and design forCommunication Conduit Engineering 中華人民共和國通信行業(yè)標準通信管道設(shè)計圖集(送審稿)Volume Draw
    發(fā)表于 06-21 15:02 ?85次下載

    通信管道與通道工程設(shè)計規(guī)范

    通信管道與通道工程設(shè)計規(guī)范的主要內(nèi)容:1 總則2 通信管理與通道規(guī)劃的原則3 通信管道通信路由和位置的確定4 通信管道容量的確定5
    發(fā)表于 08-01 14:50 ?25次下載

    通信電纜配線管道圖集 YD5062-98

    通信電纜配線管道圖集:
    發(fā)表于 08-20 09:20 ?106次下載
    <b class='flag-5'>通信</b>電纜配線<b class='flag-5'>管道</b>圖集 YD5062-98

    管道ADC,管道ADC原理及作用是什么?

    管道ADC,管道ADC原理及作用是什么? 人們都習慣把管道ADC稱為流水線ADC,流水線結(jié) 構(gòu)中各模數(shù)轉(zhuǎn)換級處于并行工作狀態(tài),提高了轉(zhuǎn)換速率;如果要增
    發(fā)表于 03-24 13:35 ?2219次閱讀

    進程間通信之:管道

    8.2.1 管道概述 本書在第2章中介紹ps的命令時提到過管道,當時指出了管道是Linux中一種很重要的通信方式,它是把一個程序的輸出直接連接到另一個程序的輸入,這里仍以第2章中的ps
    發(fā)表于 10-18 16:06 ?0次下載
    進程間<b class='flag-5'>通信</b>之:<b class='flag-5'>管道</b>

    Linux系統(tǒng)管道和有名管道通信機制解析

    Linux 進程間通信的幾種主要手段。其中管道和有名管道是最早的進程間通信機制之一,管道可用于具有親緣關(guān)系進程間的
    發(fā)表于 11-07 10:51 ?0次下載

    Linux進程間通信方式——管道

    管道是Linux中進程間通信的一種方式,它把一個程序的輸出直接連接到另一個程序的輸入。Linux的管道主要包括兩種:無名管道和有名管道
    發(fā)表于 06-01 09:13 ?1457次閱讀
    Linux進程間<b class='flag-5'>通信</b>方式——<b class='flag-5'>管道</b>

    Linux進程間通信方法之管道

    上文中我們介紹了進程間通信的方法之一:信號,本文將繼續(xù)介紹另一種進程間通信的方法,即管道。管道是Linux中使用shell經(jīng)常用到的一個技術(shù),本文將深入剖析
    的頭像 發(fā)表于 05-14 15:47 ?1979次閱讀
    Linux進程間<b class='flag-5'>通信</b>方法之<b class='flag-5'>管道</b>

    linux管道概述

    、信號量、共享存儲、Socket、Streams等。其中 Socket和Streams支持不同主機上的兩個進程IPC。 ? 二、管道 管道,通常指無名
    的頭像 發(fā)表于 02-18 14:51 ?510次閱讀
    linux<b class='flag-5'>管道</b>概述