女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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)程間通信的幾種方法

麥辣雞腿堡 ? 來(lái)源:嵌入式Linux系統(tǒng)開(kāi)發(fā) ? 作者:嵌入式Linux系統(tǒng)開(kāi) ? 2023-07-21 11:32 ? 次閱讀

1、管道和 FIFO

管道是 UNIX 系統(tǒng)上最古老的 IPC 方法,它在 1970 年 UNIX 的第三個(gè)版本上就出現(xiàn)了。把一個(gè)進(jìn)程連接到另一個(gè)進(jìn)程的數(shù)據(jù)流稱為管道,管道被抽象成一個(gè)文件。

管道包括三種:

普通管道 pipe:通常有兩種限制,一是單工,數(shù)據(jù)只能單向傳輸;二是只能在父子或者兄弟進(jìn)程間使用;

流管道 s_pipe:去除了普通管道的第一種限制,為半雙工,可以雙向傳輸;只能在父子或兄弟進(jìn)程間使用;

有名管道 name_pipe(FIFO):去除了普通管道的第二種限制,并且允許在不相關(guān)(不是父子或兄弟關(guān)系)的進(jìn)程間進(jìn)行通訊。

2、信號(hào)

信號(hào)用于通知接收信號(hào)的進(jìn)程有某種事件發(fā)生,所以可用于進(jìn)程間通信;除了用于進(jìn)程間通信之外,進(jìn)程還可以發(fā)送信號(hào)給進(jìn)程本身。

3、消息隊(duì)列

消息隊(duì)列是消息的鏈表,存放在內(nèi)核中并由消息隊(duì)列標(biāo)識(shí)符標(biāo)識(shí),消息隊(duì)列克服了信號(hào)傳遞信息少、管道只能承載無(wú)格式字節(jié)流以及緩沖區(qū)大小受限等缺陷。消息隊(duì)列包括 POSIX 消息隊(duì)列和 System V 消息隊(duì)列。

消息隊(duì)列是 UNIX 下不同進(jìn)程之間實(shí)現(xiàn)共享資源的一種機(jī)制,UNIX 允許不同進(jìn)程將格式化的數(shù)據(jù)流以消息隊(duì)列形式發(fā)送給任意進(jìn)程,有足夠權(quán)限的進(jìn)程可以向隊(duì)列中添加消息,被賦予讀權(quán)限的進(jìn)程則可以讀走隊(duì)列中的消息。

4、信號(hào)量

信號(hào)量是一個(gè)計(jì)數(shù)器,與其它進(jìn)程間通信方式不大相同,它主要用于控制多個(gè)進(jìn)程間或一個(gè)進(jìn)程內(nèi)的多個(gè)線程間對(duì)共享資源的訪問(wèn),相當(dāng)于內(nèi)存中的標(biāo)志,進(jìn)程可以根據(jù)它判定是否能夠訪問(wèn)某些共享資源,同時(shí),進(jìn)程也可以修改該標(biāo)志,除了用于共享資源的訪問(wèn)控制外,還可用于進(jìn)程同步。

它常作為一種鎖機(jī)制,防止某進(jìn)程在訪問(wèn)資源時(shí)其它進(jìn)程也訪問(wèn)該資源,因此,主要作為進(jìn)程間以及同一個(gè)進(jìn)程內(nèi)不同線程之間的同步手段。Linux 提供了一組精心設(shè)計(jì)的信號(hào)量接口來(lái)對(duì)信號(hào)量進(jìn)行操作,它們聲明在頭文件 sys/sem.h 中。

5、共享內(nèi)存

共享內(nèi)存就是映射一段能被其它進(jìn)程所訪問(wèn)的內(nèi)存,這段共享內(nèi)存由一個(gè)進(jìn)程創(chuàng)建,但其它的多個(gè)進(jìn)程都可以訪問(wèn),使得多個(gè)進(jìn)程可以訪問(wèn)同一塊內(nèi)存空間。

共享內(nèi)存是最快的 IPC 方式,它是針對(duì)其它進(jìn)程間通信方式運(yùn)行效率低而專門設(shè)計(jì)的,它往往與其它通信機(jī)制,譬如結(jié)合信號(hào)量來(lái)使用,以實(shí)現(xiàn)進(jìn)程間的同步和通信。

6、套接字(Socket)

Socket 是一種 IPC 方法,是基于網(wǎng)絡(luò)的 IPC 方法,允許位于同一主機(jī)(計(jì)算機(jī))或使用網(wǎng)絡(luò)連接起來(lái)的不同主機(jī)上的應(yīng)用程序之間交換數(shù)據(jù),說(shuō)白了就是網(wǎng)絡(luò)通信

在一個(gè)典型的客戶端/服務(wù)器場(chǎng)景中,應(yīng)用程序使用 socket 進(jìn)行通信的方式如下:

各個(gè)應(yīng)用程序創(chuàng)建一個(gè) socket。socket 是一個(gè)允許通信的“設(shè)備”,兩個(gè)應(yīng)用程序都需要用到它。

服務(wù)器將自己的 socket 綁定到一個(gè)眾所周知的地址上使得客戶端能夠定位到它的位置。

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

    關(guān)注

    87

    文章

    11456

    瀏覽量

    212742
  • 進(jìn)程間通信
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    2503
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux下進(jìn)程通信方式-管道

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

    Linux下進(jìn)程通信

    華清遠(yuǎn)見(jiàn)嵌入式linux學(xué)習(xí)資料《Linux下進(jìn)程通信》,通過(guò)前面的學(xué)習(xí),讀者已經(jīng)知道了進(jìn)程是一個(gè)程序的一次執(zhí)行,是系統(tǒng)資源分配的最小單元。這里所說(shuō)的
    發(fā)表于 09-04 10:07

    常用的進(jìn)程通信主要有哪幾種方式

    ;常用的進(jìn)程通信主要有以下幾種方式:1.消息隊(duì)列;2. socket(本地socket和INETsocket)3.管道(有名管道和無(wú)名管道)4.信號(hào)5.共享內(nèi)存以上5中方式,...
    發(fā)表于 11-08 07:38

    進(jìn)程通信的方式有哪些?

    進(jìn)程通信的方式有哪些?
    發(fā)表于 12-24 06:46

    進(jìn)程幾種狀態(tài)?

    文章目錄操作系統(tǒng)進(jìn)程和線程什么是進(jìn)程?什么是線程?進(jìn)程和線程有什么區(qū)別?何時(shí)使用多進(jìn)程,何時(shí)使用多線程?進(jìn)程
    發(fā)表于 12-24 07:16

    抖動(dòng)測(cè)量的幾種方法

    抖動(dòng)測(cè)量的幾種方法 測(cè)試抖動(dòng)常用在測(cè)試數(shù)據(jù)通信IC或測(cè)試電信網(wǎng)絡(luò)中。抖動(dòng)是應(yīng)該呈現(xiàn)的數(shù)字信號(hào)沿與實(shí)際存在
    發(fā)表于 08-17 13:02 ?3267次閱讀

    關(guān)于實(shí)時(shí)操作系統(tǒng)中任務(wù)通信的一種方法

    關(guān)于實(shí)時(shí)操作系統(tǒng)中任務(wù)通信的一種方法
    發(fā)表于 09-03 11:45 ?3次下載
    關(guān)于實(shí)時(shí)操作系統(tǒng)中任務(wù)<b class='flag-5'>間</b><b class='flag-5'>通信</b>的一<b class='flag-5'>種方法</b>

    進(jìn)程與線程通信方式

    進(jìn)程通信則不同,它的數(shù)據(jù)空間的獨(dú)立性決定了它的通信相對(duì)比較復(fù)雜,需要通過(guò)操作系統(tǒng)。以前進(jìn)程
    的頭像 發(fā)表于 04-09 15:58 ?9120次閱讀
    <b class='flag-5'>進(jìn)程</b><b class='flag-5'>間</b>與線程<b class='flag-5'>間</b>的<b class='flag-5'>通信</b>方式

    干貨:計(jì)算fibnacci 級(jí)數(shù)的幾種方法

    干貨:計(jì)算fibnacci 級(jí)數(shù)的幾種方法
    的頭像 發(fā)表于 06-22 11:23 ?2655次閱讀
    干貨:計(jì)算fibnacci 級(jí)數(shù)的<b class='flag-5'>幾種方法</b>

    使用MQTT作為進(jìn)程通信的方式

    小編對(duì)Linux這一塊的實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)雖然還不是很足,但也知道進(jìn)程通信有那么幾種方式:管道、消息隊(duì)列、共享內(nèi)存、套接字等。
    的頭像 發(fā)表于 10-22 12:09 ?6508次閱讀
    使用MQTT作為<b class='flag-5'>進(jìn)程</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>的方式

    Linux進(jìn)程通信方法之管道

    上文中我們介紹了進(jìn)程通信方法之一:信號(hào),本文將繼續(xù)介紹另一種進(jìn)程
    的頭像 發(fā)表于 05-14 15:47 ?2157次閱讀
    Linux<b class='flag-5'>進(jìn)程</b><b class='flag-5'>間</b><b class='flag-5'>通信</b><b class='flag-5'>方法</b>之管道

    進(jìn)程通信的機(jī)制有哪些

    進(jìn)程通信(interprocess communication,簡(jiǎn)稱IPC)指兩個(gè)進(jìn)程之間的通信。系統(tǒng)中的每一個(gè)
    的頭像 發(fā)表于 07-21 11:23 ?1215次閱讀
    <b class='flag-5'>進(jìn)程</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>的機(jī)制有哪些

    常見(jiàn)的進(jìn)程通信方式

    進(jìn)程通信 如果兩個(gè)進(jìn)程,想要知道對(duì)方在干嘛,或者進(jìn)行協(xié)調(diào)運(yùn)行,就需要進(jìn)程
    的頭像 發(fā)表于 10-08 15:48 ?1596次閱讀
    常見(jiàn)的<b class='flag-5'>進(jìn)程</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>方式

    進(jìn)程通信方式總結(jié)

    進(jìn)程通信(IPC): 進(jìn)程通信的方式有很多,這里主要講到
    的頭像 發(fā)表于 11-09 09:25 ?1004次閱讀
    <b class='flag-5'>進(jìn)程</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>方式總結(jié)

    進(jìn)程通信的原理

    一.為什么進(jìn)程需要通信? 1).數(shù)據(jù)傳輸 一個(gè)進(jìn)程需要將它的數(shù)據(jù)發(fā)送給另一個(gè)進(jìn)程; 2).資源共享 多個(gè)
    的頭像 發(fā)表于 11-10 17:05 ?1527次閱讀
    <b class='flag-5'>進(jìn)程</b><b class='flag-5'>間</b><b class='flag-5'>通信</b>的原理