<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

進程間的通訊方式

嵌入式應用開發 ? 來源:嵌入式應用開發 ? 作者:嵌入式應用開發 ? 2022-12-29 16:47 ? 次閱讀

1.管道模型通訊

管道模型與軟件生命周期模型——瀑布模型(Waterfall Model)很相似。所謂的瀑布模型,其實就是將整個軟件開發過程分成多個階段,往往是上一個階段完全做完,才將輸出結果交給下一個階段。從管道的這個名稱可以看出來,管道是一種單向傳輸數據的機制,它其實是一段緩存,里面的數據只能從一端寫入,從另一端讀出。如果想互相通信,我們需要創建兩個管道才行。

管道又可以分為:匿名管道和命名管道。

poYBAGOtUwKAQ0zfAAA46IVlUJE936.png

一方面,我們能夠看到,管道里面的內容被讀取出來,打印到了終端上;另一方面,echo 那個命令正常退出了,也即交接完畢,前一個項目組就完成了使命,可以解散了。管道通信,我們可以看出,瀑布模型的開發流程效率比較低下,因為團隊之間無法頻繁地溝通。而且,管道的使用模式,也不適合進程間頻繁的交換數據。

2.消息隊列

消息隊列可以理解為發郵件,每一封郵件都視為一個獨立的數據單元,也就是消息體,每個消息體都是固定大小的存儲塊,在字節流上不連續。

poYBAGOtU0mAPppJAADVUcI8zGk703.png

3.共享內存

每個進程都有自己獨立的虛擬內存空間,不同的進程的虛擬內存空間映射到不同的物理內存中去。這個進程訪問 A 地址和另一個進程訪問 A 地址,其實訪問的是不同的物理內存地址,對于數據的增刪查改互不影響。

poYBAGOtU4KAa7EAAAE7rjuHG64344.png

4.信號

信號可以在任何時候發送給某一進程,進程需要為這個信號配置信號處理函數。當某個信號發生的時候,就默認執行這個函數就可以了。這就相當于咱們運維一個系統應急手冊,當遇到什么情況,做什么事情,都事先準備好,出了事情照著做就可以了。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5006

    文章

    18440

    瀏覽量

    292135
  • 進程
    +關注

    關注

    0

    文章

    196

    瀏覽量

    13905
  • 通訊方式
    +關注

    關注

    0

    文章

    9

    瀏覽量

    2155
收藏 人收藏

    評論

    相關推薦

    上位機與下位機之間的通訊方式

    設備狀態,執行具體任務。兩者之間的通訊不僅涉及到數據的傳輸,還關系到命令的執行和反饋的收集。本文將深入探討上位機與下位機之間的通訊方式,以期為相關領域的技術人員提供參考。
    的頭像 發表于 06-06 11:23 ?264次閱讀

    逆變電源通訊方式大全,支持加密功能

    逆變器作為電站的核心部件,在不同應用場景下的通訊方式應該如何選擇和應用呢?逆變器的通訊方式和應用場景2.14G通訊通訊
    的頭像 發表于 05-08 11:47 ?283次閱讀
    逆變電源<b class='flag-5'>通訊</b><b class='flag-5'>方式</b>大全,支持加密功能

    進程間通信的消息隊列介紹

    消息隊列是一種非常常見的進程間通信方式。
    的頭像 發表于 04-08 17:27 ?157次閱讀

    淺談Linux的進程

    進程和程序的區別: 進程是動態的,程序是靜態的 一、進程的創建(fork()函數) int main(){ pid_t pid; pid=fork(); if(pid
    的頭像 發表于 01-28 15:54 ?134次閱讀
    淺談Linux的<b class='flag-5'>進程</b>

    進程進入等待狀態有哪幾種方式

    進程進入等待狀態的方式有多種,下面將詳細介紹。 一、阻塞等待狀態 阻塞等待狀態是指進程由于某些原因無法繼續執行,需要等待特定事件的發生。以下是幾種常見的阻塞等待狀態: I/O操作:當進程
    的頭像 發表于 11-17 11:19 ?1014次閱讀

    進程間通信的原理

    一.為什么進程間需要通信? 1).數據傳輸 一個進程需要將它的數據發送給另一個進程; 2).資源共享 多個進程之間共享同樣的資源; 3).通知事件 一個
    的頭像 發表于 11-10 17:05 ?498次閱讀
    <b class='flag-5'>進程</b>間通信的原理

    進程間通信方式總結

    進程間通信(IPC): 進程間通信的方式有很多,這里主要講到進程間通信的六種方式,分別為:管道、FIFO、消息隊列、共享內存、信號、信號量。
    的頭像 發表于 11-09 09:25 ?455次閱讀
    <b class='flag-5'>進程</b>間通信<b class='flag-5'>方式</b>總結

    分頁方式中可以每個進程分配一個頁表嗎

    在分頁方式下,每個進程分配一個頁表會有什么問題? 不賣關子了,每個進程分配一個頁表會有空間上的缺陷,因為操作系統上可以運行非常多的進程,那不就意味著頁表數量非常多! 1B(Byte 字
    的頭像 發表于 10-09 17:06 ?831次閱讀
    分頁<b class='flag-5'>方式</b>中可以每個<b class='flag-5'>進程</b>分配一個頁表嗎

    常見的進程間通信方式

    進程間通信 如果兩個進程,想要知道對方在干嘛,或者進行協調運行,就需要進程間通信。下面介紹一下常見的進程間通信方式。 無名管道: 管道是一種
    的頭像 發表于 10-08 15:48 ?952次閱讀
    常見的<b class='flag-5'>進程</b>間通信<b class='flag-5'>方式</b>

    PCB進程的創建和終止過程

    PCB進程控制塊 獨立運行基本單位的標志:創建進程時創建PCB,進程結束時回PCB,進程隨之消亡。系統是通過PCB,感知進程的存在。PCB已
    的頭像 發表于 10-08 15:36 ?843次閱讀

    支持總線方式的常用的通訊方式有哪些?

    支持總線方式的常用的通訊方式有哪些
    發表于 09-25 07:06

    工廠生產車間管理看板系統應該選擇什么通訊方式

    工廠看板系統通常采用有線通訊方式,這種通訊方式穩定可靠,但是有線連接方式因為受到線纜長度等因素的限制,導致無法覆蓋較大區域內的所有生產線。并
    的頭像 發表于 09-12 16:43 ?696次閱讀
    工廠生產車間管理看板系統應該選擇什么<b class='flag-5'>通訊</b><b class='flag-5'>方式</b>

    OpenHarmony—應用HSP開發指導

    方式使用應用HSP提供的能力,從而實現應用自身所需要的功能。 注意事項 應用HSP的代碼會運行在開發者應用的進程中,調用相關代碼時,需要做好異常捕獲與容錯處理,防止由于應用
    發表于 09-11 19:02

    采集設備都有哪幾種方式實現通訊及如何選擇

    采集設備都有哪幾種方式實現通訊及如何選擇 ? 采集設備通訊可以通過不同的方式實現,例如: 串口通訊:使用串口傳輸數據,
    的頭像 發表于 08-16 09:42 ?527次閱讀
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>