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

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

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

進(jìn)程間的通訊方式

嵌入式應(yīng)用開發(fā) ? 來源:嵌入式應(yīng)用開發(fā) ? 作者:嵌入式應(yīng)用開發(fā) ? 2022-12-29 16:47 ? 次閱讀

1.管道模型通訊

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

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

poYBAGOtUwKAQ0zfAAA46IVlUJE936.png

一方面,我們能夠看到,管道里面的內(nèi)容被讀取出來,打印到了終端上;另一方面,echo 那個(gè)命令正常退出了,也即交接完畢,前一個(gè)項(xiàng)目組就完成了使命,可以解散了。管道通信,我們可以看出,瀑布模型的開發(fā)流程效率比較低下,因?yàn)閳F(tuán)隊(duì)之間無法頻繁地溝通。而且,管道的使用模式,也不適合進(jìn)程間頻繁的交換數(shù)據(jù)。

2.消息隊(duì)列

消息隊(duì)列可以理解為發(fā)郵件,每一封郵件都視為一個(gè)獨(dú)立的數(shù)據(jù)單元,也就是消息體,每個(gè)消息體都是固定大小的存儲(chǔ)塊,在字節(jié)流上不連續(xù)。

poYBAGOtU0mAPppJAADVUcI8zGk703.png

3.共享內(nèi)存

每個(gè)進(jìn)程都有自己獨(dú)立的虛擬內(nèi)存空間,不同的進(jìn)程的虛擬內(nèi)存空間映射到不同的物理內(nèi)存中去。這個(gè)進(jìn)程訪問 A 地址和另一個(gè)進(jìn)程訪問 A 地址,其實(shí)訪問的是不同的物理內(nèi)存地址,對(duì)于數(shù)據(jù)的增刪查改互不影響。

poYBAGOtU4KAa7EAAAE7rjuHG64344.png

4.信號(hào)

信號(hào)可以在任何時(shí)候發(fā)送給某一進(jìn)程,進(jìn)程需要為這個(gè)信號(hào)配置信號(hào)處理函數(shù)。當(dāng)某個(gè)信號(hào)發(fā)生的時(shí)候,就默認(rèn)執(zhí)行這個(gè)函數(shù)就可以了。這就相當(dāng)于咱們運(yùn)維一個(gè)系統(tǒng)應(yīng)急手冊(cè),當(dāng)遇到什么情況,做什么事情,都事先準(zhǔn)備好,出了事情照著做就可以了。

審核編輯:湯梓紅

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

    關(guān)注

    5091

    文章

    19176

    瀏覽量

    307082
  • 進(jìn)程
    +關(guān)注

    關(guān)注

    0

    文章

    204

    瀏覽量

    13979
  • 通訊方式
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    2179
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    深入解析Linux程序與進(jìn)程

    什么是程序 一組計(jì)算機(jī)能識(shí)別和執(zhí)行的指令,用于指導(dǎo)計(jì)算機(jī)執(zhí)行特定任務(wù)或解決特定問題。程序通常由代碼、數(shù)據(jù)和資源文件組成,涉及語法、算法和數(shù)據(jù)結(jié)構(gòu)。為二進(jìn)制文件 什么是進(jìn)程 是一個(gè)具有獨(dú)立功能的程序
    的頭像 發(fā)表于 12-18 11:01 ?131次閱讀
    深入解析Linux程序與<b class='flag-5'>進(jìn)程</b>

    機(jī)智云智能家居網(wǎng)關(guān)方案的組網(wǎng)方式通訊協(xié)議解析

    組網(wǎng)方式通訊協(xié)議在智能家居領(lǐng)域,組網(wǎng)方式通訊協(xié)議的選擇至關(guān)重要,它們直接影響到設(shè)備和網(wǎng)關(guān)之間的互通。機(jī)智云作為智能家居領(lǐng)域的領(lǐng)先企業(yè),采用了多種組網(wǎng)
    的頭像 發(fā)表于 11-23 01:02 ?412次閱讀
    機(jī)智云智能家居網(wǎng)關(guān)方案的組網(wǎng)<b class='flag-5'>方式</b>與<b class='flag-5'>通訊</b>協(xié)議解析

    機(jī)智云智能家居網(wǎng)關(guān)方案的組網(wǎng)方式通訊協(xié)議解析

    在智能家居領(lǐng)域,組網(wǎng)方式通訊協(xié)議的選擇至關(guān)重要,它們直接影響到設(shè)備和網(wǎng)關(guān)之間的互通。機(jī)智云作為智能家居領(lǐng)域的領(lǐng)先企業(yè),采用了多種組網(wǎng)方式以滿足不同場(chǎng)景的需求。 機(jī)智云在智能家居的組網(wǎng)方式
    的頭像 發(fā)表于 11-22 18:01 ?325次閱讀

    深入Linux進(jìn)程管理:提升效率與穩(wěn)定性的關(guān)鍵方法

    基本概述 2.進(jìn)程狀態(tài) 3.進(jìn)程優(yōu)先級(jí) 4.進(jìn)程命令 5. 控制作業(yè) 6.進(jìn)程通信 7.使用信號(hào)控制進(jìn)
    的頭像 發(fā)表于 11-22 11:05 ?345次閱讀
    深入Linux<b class='flag-5'>進(jìn)程</b>管理:提升效率與穩(wěn)定性的關(guān)鍵方法

    一文搞懂Linux進(jìn)程的睡眠和喚醒

    一、常見的進(jìn)程狀態(tài)與理解 在操作系統(tǒng)內(nèi)部,有專門用來管理進(jìn)程的結(jié)構(gòu)體,叫做struct task_struct,也稱作進(jìn)程控制塊(PCB),主要包含描述進(jìn)程的相關(guān)信息,如
    發(fā)表于 11-04 15:15

    Python中多線程和多進(jìn)程的區(qū)別

    Python作為一種高級(jí)編程語言,提供了多種并發(fā)編程的方式,其中多線程與多進(jìn)程是最常見的兩種方式之一。在本文中,我們將探討Python中多線程與多進(jìn)程的概念、區(qū)別以及如何使用線程池與
    的頭像 發(fā)表于 10-23 11:48 ?474次閱讀
    Python中多線程和多<b class='flag-5'>進(jìn)程</b>的區(qū)別

    PLC多種通訊方式匯總學(xué)習(xí)~

    PLC的通訊功能是其連接設(shè)備、控制系統(tǒng)和外部系統(tǒng)的重要組成部分。PLC支持多種通訊方式,本文將講述PLC常見的通訊方式及其優(yōu)缺點(diǎn),別再傻傻分
    的頭像 發(fā)表于 09-25 09:09 ?442次閱讀
    PLC多種<b class='flag-5'>通訊</b><b class='flag-5'>方式</b>匯總學(xué)習(xí)~

    三菱PLC有哪些通訊方式

    隨著工業(yè)自動(dòng)化技術(shù)的快速發(fā)展,PLC(可編程邏輯控制器)作為工業(yè)自動(dòng)化系統(tǒng)的核心控制設(shè)備,其通訊方式的多樣性和高效性對(duì)于整個(gè)系統(tǒng)的運(yùn)行效率起著至關(guān)重要的作用。三菱PLC作為市場(chǎng)上的知名品牌,憑借其
    的頭像 發(fā)表于 06-17 17:04 ?2991次閱讀

    鴻蒙開發(fā):【進(jìn)程模型】

    應(yīng)用中(同一Bundle名稱)的所有UIAbility、ServiceExtensionAbility和DataShareExtensionAbility均是運(yùn)行在同一個(gè)獨(dú)立進(jìn)程(主進(jìn)程)中,如下圖中綠色部分的“Main Process”。
    的頭像 發(fā)表于 06-13 09:53 ?325次閱讀
    鴻蒙開發(fā):【<b class='flag-5'>進(jìn)程</b>模型】

    歐姆龍plc之間怎么通訊

    。本文將詳細(xì)介紹歐姆龍PLC之間的通訊方式、通訊協(xié)議、硬件連接以及編程實(shí)現(xiàn)等方面的內(nèi)容。 歐姆龍PLC通訊方式 歐姆龍PLC支持多種
    的頭像 發(fā)表于 06-11 16:27 ?4731次閱讀

    上位機(jī)與下位機(jī)之間的通訊方式

    設(shè)備狀態(tài),執(zhí)行具體任務(wù)。兩者之間的通訊不僅涉及到數(shù)據(jù)的傳輸,還關(guān)系到命令的執(zhí)行和反饋的收集。本文將深入探討上位機(jī)與下位機(jī)之間的通訊方式,以期為相關(guān)領(lǐng)域的技術(shù)人員提供參考。
    的頭像 發(fā)表于 06-06 11:23 ?4736次閱讀

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

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

    進(jìn)程通信的消息隊(duì)列介紹

    消息隊(duì)列是一種非常常見的進(jìn)程通信方式
    的頭像 發(fā)表于 04-08 17:27 ?339次閱讀

    進(jìn)程通信的信號(hào)問題分析

    Linux里面信號(hào)有60多個(gè),分為標(biāo)準(zhǔn)信號(hào)和實(shí)時(shí)信號(hào),編號(hào)從1到31,34到64。不同的內(nèi)核版本略有區(qū)別。
    的頭像 發(fā)表于 04-07 10:16 ?448次閱讀

    線程是什么的基本單位 進(jìn)程與線程的本質(zhì)區(qū)別

    的代碼、數(shù)據(jù)以及用于執(zhí)行這些代碼的上下文信息。一個(gè)進(jìn)程可以由一個(gè)或多個(gè)線程組成,從而并發(fā)執(zhí)行多個(gè)任務(wù)。 本質(zhì)區(qū)別: 資源擁有方式進(jìn)程是資源分配的基本單位,每個(gè)進(jìn)程擁有獨(dú)立的內(nèi)存空間、
    的頭像 發(fā)表于 02-02 16:30 ?999次閱讀