進(jìn)程通信

1 進(jìn)程通信概念

??進(jìn)程通信就是進(jìn)程之間的信息交換。
??進(jìn)程是分配系統(tǒng)資源的單位(包括地址空間)指蚜,因為各進(jìn)程擁有的內(nèi)存地址空間相互獨立庆寺。


??為了保證安全,一個進(jìn)程不能直接訪問另一進(jìn)程的地址空間券时。但是進(jìn)程之間的信息交換又是必須實現(xiàn)的。為了保證進(jìn)程間安全通信伏伯,操作系統(tǒng)提供了一些方法橘洞。
??操作系統(tǒng)為進(jìn)程通信實現(xiàn)了三種方式:共享存儲、消息傳遞说搅、管道通信炸枣。

2 進(jìn)程通信方式

??2.1 共享存儲

??操作系統(tǒng)為需要通信的進(jìn)程創(chuàng)建一個共享空間,進(jìn)程可以向共享空間中發(fā)送信息或接收信息弄唧。但是進(jìn)程對共享空間的訪問必須是互斥的适肠,即只有一個進(jìn)程對共享空間的訪問釋放,其他進(jìn)程才能訪問共享空間候引。

??共享存儲分為:基于數(shù)據(jù)結(jié)構(gòu)的共享和基于存儲區(qū)的共享迂猴。

??(1) 基于數(shù)據(jù)結(jié)構(gòu)的共享:如共享空間里只能放一個長度為10的數(shù)組,這種共享方式速度慢背伴,限制多沸毁,是一種低級通信方式峰髓。
??(2) 基于存儲區(qū)的共享:在內(nèi)存中畫出一塊共享區(qū)域,數(shù)據(jù)的形式息尺、存放的位置都由進(jìn)程控制携兵,而不是操作系統(tǒng)。相比之下搂誉,這種共享方式速度更快徐紧,是一種高級通信方式。

??2.2 管道通信

??“管道”是指用于連續(xù)讀寫進(jìn)程的一個共享文件炭懊,又名pipe文件并级,其實就是在內(nèi)存中開辟一個大小固定的緩沖區(qū)。


??管道只能采用半雙工通信侮腹,所謂半雙工就是在某一個時間段內(nèi)只能實現(xiàn)單向的傳輸嘲碧。如果要實現(xiàn)雙向同時通信,則需要像上圖一樣設(shè)置兩個管道父阻。
??各個進(jìn)程同樣要互斥訪問管道愈涩。
??數(shù)據(jù)以字符流的形式寫入管道,當(dāng)管道寫滿時加矛,寫進(jìn)程的write()系統(tǒng)調(diào)用會被阻塞,等待讀進(jìn)程將數(shù)據(jù)取走斟览。讀進(jìn)程將數(shù)據(jù)全部取走后苛茂,管道變空味悄,此時讀進(jìn)程的read()系統(tǒng)調(diào)用將被阻塞侍瑟。
??如果管道沒寫滿涨颜,就不允許讀庭瑰。如果管道沒被讀空弹灭,就不允許寫穷吮。
??數(shù)據(jù)一旦被讀出捡鱼,就從管道中被拋棄驾诈,這就意味著讀進(jìn)程只能有一個乍迄,否則可能會有讀錯數(shù)據(jù)的可能性就乓。

??2.3 消息傳遞

?? 進(jìn)程間的數(shù)據(jù)交換以格式化的消息(Message)為單位生蚁。進(jìn)程通過操作系統(tǒng)提供的“發(fā)送消息/接收消息”兩個原語進(jìn)行數(shù)據(jù)交換邦投。

??消息傳遞分為:直接通信方式和間接通信方式屯援。
??直接通信方式:將消息直接掛到接收進(jìn)程的消息緩沖隊列上狞洋。


??間接通信方式:先將消息發(fā)送到中間實體(信箱)中吉懊,因此也稱“信箱通信方式”借嗽。

??進(jìn)程之間的發(fā)送的信息都存儲在信箱(中間實體)中,由于每消息頭中都包含了消息的發(fā)送進(jìn)程ID和接收進(jìn)程ID惨寿,所以信箱中的消息只會被與消息頭中接收進(jìn)程ID相同的進(jìn)程接收裂垦。

3 小結(jié)

??本文完


??如發(fā)現(xiàn)錯誤包蓝,請指正2馕9枨啤腕唧!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市但惶,隨后出現(xiàn)的幾起案子膀曾,更是在濱河造成了極大的恐慌添谊,老刑警劉巖斩狱,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祝高,死亡現(xiàn)場離奇詭異乍赫,居然都是意外死亡雷厂,警方通過查閱死者的電腦和手機改鲫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進(jìn)店門稽亏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來截歉,“玉大人,你說我怎么就攤上這事宵睦。” “怎么了诬辈?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵焙糟,是天一觀的道長穿撮。 經(jīng)常有香客問我,道長栗柒,這世上最難降的妖魔是什么瞬沦? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮芳悲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘罢洲。我一直安慰自己惹苗,他們只是感情好耸峭,可當(dāng)我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著院究,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天,我揣著相機與錄音眉撵,去河邊找鬼芜赌。 笑死缠沈,一個胖子當(dāng)著我的面吹牛颓芭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼沉帮,長吁一口氣:“原來是場噩夢啊……” “哼待牵!你這毒婦竟也來了茄蚯?” 一聲冷哼從身側(cè)響起壮不,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤健蕊,失蹤者是張志新(化名)和其女友劉穎晴及,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡甫男,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年效扫,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡郊供,死狀恐怖吉执,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤类浪,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布力细,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一崩泡、第九天 我趴在偏房一處隱蔽的房頂上張望呛伴。 院中可真熱鬧劣领,春花似錦村生、人聲如沸辽话。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春全封,著一層夾襖步出監(jiān)牢的瞬間攒暇,已是汗流浹背证杭。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工梦鉴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像耕赘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子考榨,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 進(jìn)程通信是指進(jìn)程之間的信息交換。 一夺颤、低級通信——進(jìn)程之間的互斥和同步 信號量機制是有效的同步工具痢缎,但作為通信工具...
    盆栽木只閱讀 710評論 0 1
  • 進(jìn)程通信是指進(jìn)程之間的信息交換,其交換的信息量由一個狀態(tài)或數(shù)值到成千上萬字節(jié)不等世澜。 進(jìn)程間同步互斥操作由于交換信息...
    saviochen閱讀 657評論 0 4
  • 進(jìn)程通信是指進(jìn)程之間的信息交換寥裂。 一嵌洼、低級通信——進(jìn)程之間的互斥和同步 信號量機制是有效的同步工具,但作為通信...
    麻皮阿洪閱讀 717評論 0 0
  • 進(jìn)程通信是指進(jìn)程之間的信息交換。 一诺舔、低級通信——進(jìn)程之間的互斥和同步 信號量機制是有效的同步工具鳖昌,但作為通信工...
    溪的風(fēng)閱讀 289評論 0 0
  • 20.1死鎖概念 由于競爭資源或者通信關(guān)系,兩個或更多線程在執(zhí)行中出現(xiàn)混萝,永遠(yuǎn)相互等待只能由其他進(jìn)程引發(fā)的事件 進(jìn)程...
    龜龜51閱讀 643評論 0 1