




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
進(jìn)程間通信機(jī)制的分析與比較
Ver20150302v0.1為什么進(jìn)程間需要通信?
1、數(shù)據(jù)傳輸一個(gè)進(jìn)程需要將它的數(shù)據(jù)發(fā)送給另一個(gè)進(jìn)程。2、資源共享多個(gè)進(jìn)程之間共享同樣的資源。3、通知事件一個(gè)進(jìn)程需要向另一個(gè)或一組進(jìn)程發(fā)送消息,通知它們發(fā)生了某種事件。4、進(jìn)程控制有些進(jìn)程希望完全控制另一個(gè)進(jìn)程的執(zhí)行(如Debug進(jìn)程),此時(shí)控制進(jìn)程希望能夠攔截另一個(gè)進(jìn)程的所有操作,并能夠及時(shí)知道它的狀態(tài)改變。分類進(jìn)程間通信方式包括:1、管道(pipe)和有名管道(FIFO)2、信號(hào)(signal)3、消息隊(duì)列4、共享內(nèi)存5、信號(hào)量6、套接字(socket)信號(hào)信號(hào)通信
信號(hào)(signal)機(jī)制是Unix系統(tǒng)中最為古老的進(jìn)程間通信機(jī)制,很多條件可以產(chǎn)生一個(gè)信號(hào):1、當(dāng)用戶按某些按鍵時(shí),產(chǎn)生信號(hào)。2、硬件異常產(chǎn)生信號(hào):除數(shù)為0、無(wú)效的存儲(chǔ)訪問等等。這些情況通常由硬件檢測(cè)到,將其通知內(nèi)核,然后內(nèi)核產(chǎn)生適當(dāng)?shù)男盘?hào)通知進(jìn)程,例如,內(nèi)核對(duì)正訪問一個(gè)無(wú)效存儲(chǔ)區(qū)的進(jìn)程產(chǎn)生一個(gè)SIGSEGV信號(hào)。3、進(jìn)程用kill函數(shù)將信號(hào)發(fā)送給另一個(gè)進(jìn)程。4、用戶可用kill命令將信號(hào)發(fā)送給其他進(jìn)程。信號(hào)類型下面是幾種常見的信號(hào):
SIGHUP:從終端上發(fā)出的結(jié)束信號(hào)
SIGINT:來(lái)自鍵盤的中斷信號(hào)(Ctrl-C)
SIGKILL:該信號(hào)結(jié)束接收信號(hào)的進(jìn)程SIGTERM:kill命令發(fā)出的信號(hào)
SIGCHLD:標(biāo)識(shí)子進(jìn)程停止或結(jié)束的信號(hào)
SIGSTOP:來(lái)自鍵盤(Ctrl-Z)或調(diào)試程序的停止執(zhí)行信號(hào)信號(hào)處理當(dāng)某信號(hào)出現(xiàn)時(shí),將按照下列三種方式中的一種進(jìn)行處理:1、忽略此信號(hào)大多數(shù)信號(hào)都按照這種方式進(jìn)行處理,但有兩種信號(hào)卻決不能被忽略。它們是:SIGKILL和SIGSTOP。這兩種信號(hào)不能被忽略的原因是:它們向超級(jí)用戶提供了一種終止或停止進(jìn)程的方法。2、執(zhí)行用戶希望的動(dòng)作通知內(nèi)核在某種信號(hào)發(fā)生時(shí),調(diào)用一個(gè)用戶函數(shù)。在用戶函數(shù)中,執(zhí)行用戶希望的處理。3、執(zhí)行系統(tǒng)默認(rèn)動(dòng)作對(duì)大多數(shù)信號(hào)的系統(tǒng)默認(rèn)動(dòng)作是終止該進(jìn)程。信號(hào)狐通信園機(jī)制湖的局驕限性這種欠通信緞方式沈主要首的局加限性弓就是涼開銷槍太大茅,發(fā)溝送進(jìn)植程需芒要調(diào)棒用系畜統(tǒng)調(diào)許用,涉這時(shí)泊核心開會(huì)中辮斷接壞收進(jìn)詢程,佛且要拐管理給它的本堆棧因、調(diào)消用處猜理程叮序、黃恢復(fù)希被中窮斷的辰接收銷信號(hào)符進(jìn)程棕等.另外丸,信山號(hào)的裹數(shù)量臨受到露限制青,并繩且只疑能傳禿送有略限的筐信息玩量,碎例如辛不能毅攜帶剝參數(shù)閣等。廳所以脈對(duì)于耽復(fù)雜頂?shù)耐ㄇ嘈挪贀u作不健適用計(jì)。管道背通信什么黎是管劈燕道?管道鳴是單向舟的、尿先進(jìn)煌先出燭的,它桿把一烘?zhèn)€進(jìn)隆程的洗輸出喝和另亡一個(gè)硬進(jìn)程裝的輸園入連證接在穿一起嚼。一嶺個(gè)進(jìn)沫程(獲寫進(jìn)手程)慶在管倡道的絞尾部曾寫入獅數(shù)據(jù)越,另功一個(gè)妹進(jìn)程獎(jiǎng)(讀感進(jìn)程寸)從灰管道涌的頭鍋部讀奴出數(shù)辰據(jù)。數(shù)據(jù)冰被一哪個(gè)進(jìn)環(huán)程讀謠出后予,將術(shù)被從想管道淡中刪遼除,其區(qū)它讀鐘進(jìn)程腔將不勻能再盟讀到瘦這些錫數(shù)據(jù)化。管云道提娘供了匪簡(jiǎn)單獲的流熟控制窄機(jī)制值,進(jìn)聞程試皂圖讀喬空管宅道時(shí)煤,進(jìn)艱程將柏阻塞智。同墨樣,猴管道巾已經(jīng)澡滿時(shí)目,進(jìn)蓋程再師試圖塌向管黎道寫踐入數(shù)逼據(jù),沃進(jìn)程咐將阻兩塞。樣例頁(yè):ls-l|le合ss在這畝個(gè)例躍子中稅,ls用于誦在Un炕ix下列代出目附錄內(nèi)缸容,le傷ss是一攜個(gè)有閱搜索怖功能示的交區(qū)互式年的文特本分煮頁(yè)器克。這沸個(gè)管帝線使望得用圈戶可撕以在游列出丙的目揉錄內(nèi)敘容比久屏幕販長(zhǎng)時(shí)奴目錄丑上下羅翻頁(yè)席。以le子ss退出儲(chǔ)的管離道(情或mo沉re,這牽是個(gè)勻相似嘉的標(biāo)廊簽頁(yè)浴工具論,與mo手re相比le抽ss允許垃使用另者往霜回卷壘動(dòng))熱是最葡常被違使用觀的。拔這讓翅用戶俗可以睡閱覽散尚未竭顯示糖的大爪量文競(jìng)字(責(zé)受可課用緩老存限離制,可控制霧臺(tái)的掃屏幕錘大小規(guī)、屏丟幕緩固存大狠小往川往有炒限,手不足滅以一踢次先墊輸出詢所有勾輸出胳內(nèi)容跑,也缸不能列自由運(yùn)滾動(dòng)送內(nèi)容言),止若少珍了這結(jié)工具賭則這喪些文腿字將贏會(huì)卷奴過終仇端機(jī)要而無(wú)誓法閱告讀到貢。管道局分類管道敏包括無(wú)名橋管道和有名門管道兩種振,前金者用邊于父帳進(jìn)程話和子卸進(jìn)程縣間的栗通信具,后員者可纖用于茄運(yùn)行父于同貢一系牌統(tǒng)中裁的任股意兩莖個(gè)進(jìn)察程間減的通郵信。無(wú)名格管道驗(yàn)由pi經(jīng)pe()桑函數(shù)殼創(chuàng)建笨:in蠻tpi聽pe加(i擴(kuò)ntfi態(tài)le拜di繪s[忘2]居);當(dāng)一汪個(gè)管岔道建辛立時(shí)夕,它肌會(huì)創(chuàng)省建兩笑個(gè)文坑件描落述符到:fi薯le執(zhí)di勸s[觸0]用于只讀管虧道,fi徒le秩di曲s[沖1]用于軟寫管怒道。管道歡創(chuàng)建無(wú)名吃管道救由pi隱pe()坦函數(shù)粘創(chuàng)建膊:in宏tpi接pe置(i寫ntfi正le疼di蛋s[毛2]越);當(dāng)一蔥個(gè)管添道建溜立時(shí)喉,它鄙會(huì)創(chuàng)蒙建兩平個(gè)文嗎件描宋述符文:fi黨le煤di戒s[窩0]用于交讀管演道,fi患le久di漫s[估1]用于篇寫管感道有名鋤管道森(FI陰FO)in炕tmk夸fi陳fo易(c賢on吸stch爽ar觸*囑p煮at羨hn短am茅e,mo蠅de楚_tmo男de錢)vp搏at忙hn葵am抽e:FI愛FO文件巨名vm拾od斯e:屬眼性(治見文渾件操架作章障節(jié))一旦駛創(chuàng)建膽了一侮個(gè)FI幣FO,就疊可用op忠en打開勾它,級(jí)一般蜘的文輛件訪戒問函弟數(shù)(cl低os油e、re挎ad、wr歉it吉e等)冤都可書用于FI盒FO。無(wú)名態(tài)管道#i澤nc饑lu獨(dú)de且<un接is炒td績(jī).h>#i哥nc肉lu皆de布<er婆rn伶o.李h>#i檔nc某lu洋de辣<st醒di孔o(hù).鑄h>#i虹nc烏lu局de斜<st漲dl促ib奏.h>in幣tma渡in附(){in邁tpi撿pe難_f敘d[迎2]宗;if屑(p稀ip吵e(梁pi息pe硬_f育d)<翼0){pr貼in子tf傷("逝pi途pecr占ea爪te詳e旋rr祝or靠\n靜")叮;re齒tu栗rn同-跟1;}el嘆sepr歡in盜tf佩("圈pi度pecr霧ea英te院s冤uc鎖ce柴ss飛\n慚")膜;cl殿os侄e(紫pi這pe倍_f鹿d[鉗0]寺);cl置os忍e(瀉pi予pe鐵_f符d[樸1]顏);}舉例:pi缺pe驅(qū)_r菊w.社cSy寒st茶em白V允I白PCSy里st斃em沖VSy趨st搖em哭V是AT濁&T的第脾一個(gè)架商業(yè)UN蟻IX版本問(UN備IX欲S腳ys汽te計(jì)m塔II胸I)的臟加強(qiáng)演。傳梳統(tǒng)上政,Sy教st省em廳V被看劍作是賀兩種UN許IX狹"風(fēng)味"之一枝(另填一個(gè)陸是BS依D(Be鼻rk坦el色ey侄S礦of丙tw警ar頂e非Di牢st福ri豈bu滲ti催on,伯?dāng)n克利憑軟件挖套件腫))氣。然殊而,短隨著見一些盼并不乘基于叫這兩色者代慣碼的UN煙IX實(shí)現(xiàn)困的出逮現(xiàn),暈例如Li鋼nu吸x和QN牛X,有這一惱歸納跌不再誰(shuí)準(zhǔn)確撥,但劈燕不論朽如何好,像PO嚷SI槐X這樣孕的標(biāo)惱準(zhǔn)化央努力零一直國(guó)在試鈴圖減浙少各墾種實(shí)紐奉現(xiàn)之丙間的烈不同慕。消息炕隊(duì)列消息寺隊(duì)列炭就是宿一個(gè)翁消息爆的鏈表。可呀以把漠消息女看作竄一個(gè)吹記錄夕,具有乏特定更的格皮式。進(jìn)襖程可門以向淘中按取照一抬定的尺規(guī)則能添加抗新消鴉息;嘉另一彼些進(jìn)擦程則肝可以規(guī)從消病息隊(duì)筍列中構(gòu)讀走恰消息克。和信要號(hào)相怕比,變消息倘隊(duì)列擾能夠葡傳遞惕更多來(lái)的信類息。旨與管鵲道相此比,鑼消息泉隊(duì)列哈提供取了有法格式儲(chǔ)的數(shù)邪據(jù),腳這可攻以減懂少開餃發(fā)人證員的隊(duì)工作惕量。信號(hào)錯(cuò)量信號(hào)漆量(又名燥:信得號(hào)燈)與其網(wǎng)他進(jìn)脾程間熄通信徐方式惑不大撤相同撕,主緞要用唯途是摸保護(hù)臨界景資源。進(jìn)乘程可方以根波據(jù)它萬(wàn)判定懶是否扭能夠綁訪問狂某些缸共享師資源廣。除游了用幼于訪獸問控返制外語(yǔ),還機(jī)可用呆于進(jìn)程狐同步。分類二值趙信號(hào)怖燈:信損號(hào)燈他的值揪只能千取0或1,類賀似于涌互斥拾鎖。吼但究?jī)烧邌逃胁魂?duì)同:拉信號(hào)榴燈強(qiáng)蘋調(diào)共物享資枕源,伏只要孕共享沈資源替可用毒,其杯他進(jìn)闖程同畫樣可磁以修征改信匹號(hào)燈鴿的值逮;互膏斥鎖批更強(qiáng)拌調(diào)進(jìn)稼程,屋占用嬸資源仔的進(jìn)勵(lì)程使純用完漠資源收后,堪必須堆由進(jìn)尋程本它身來(lái)弓解鎖蜂。計(jì)數(shù)渴信號(hào)偽燈:信趙號(hào)燈零的值圖可以少取任搜意非性負(fù)值辱。共享橫內(nèi)存共享矛內(nèi)存共享靠?jī)?nèi)存另是被惹多個(gè)撇進(jìn)程寇共享唯的一膛部分堡物理敵內(nèi)存怕。共播享內(nèi)妻存是怪進(jìn)程覽間共殃享數(shù)侮據(jù)的祝一種題最快頭的方葬法,即一個(gè)國(guó)進(jìn)程俱向共腸享內(nèi)盟存區(qū)澆域?qū)懖侨肓丝緮?shù)據(jù)骨,共乏享這敢個(gè)內(nèi)秀存區(qū)筒域的諸所有喚進(jìn)程護(hù)就可成以立有刻看揪到其諒中的對(duì)內(nèi)容瓶。共享費(fèi)內(nèi)存道實(shí)現(xiàn)喇步驟一、河創(chuàng)建共享內(nèi)存拜,使毫用sh爹mg必et函數(shù)。二、魔映射煉共享歇內(nèi)存斃,將蕩這段洽創(chuàng)建饑的共單享內(nèi)顫存映動(dòng)射到盤具體董的進(jìn)約程空碗間去夕,使圓用sh督ma準(zhǔn)t函數(shù)。創(chuàng)建in拉tsh瞎mg錄et(ke騎y_孝tke狂y,in愁tsi借ze逝,in怕tsh壓mf范lg)ke努y標(biāo)識(shí)漆共享忍內(nèi)存響的鍵誕值:崇0/瓦IP傍C_嶺PR佳IV矛AT烤E。告當(dāng)ke攪y的取嫁值為IP挪C_餓PR狼IV遠(yuǎn)AT往E,則濱函數(shù)sh每mg加et()將創(chuàng)亦建一恒塊新
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 電商聚區(qū)辦公樓轉(zhuǎn)讓居間
- 二零二五年度北京市通信中心綠色環(huán)保裝修服務(wù)合同
- 光伏發(fā)電規(guī)劃報(bào)告
- 公務(wù)用車輛管理系統(tǒng)
- 低空經(jīng)濟(jì)發(fā)展行動(dòng)計(jì)劃
- 營(yíng)養(yǎng)學(xué)飲食指南閱讀題
- 房車項(xiàng)目可行性研究報(bào)告
- 智能家居網(wǎng)絡(luò)系統(tǒng)
- 中光能光伏發(fā)電
- 建筑設(shè)計(jì)咨詢服務(wù)合同
- 《法律職業(yè)倫理》課件-第四講 律師職業(yè)倫理
- (2025)輔警招聘公安基礎(chǔ)知識(shí)必刷題庫(kù)及參考答案
- 人教版(2024)七年級(jí)下冊(cè)英語(yǔ)Unit 5 Here and Now 單元教學(xué)設(shè)計(jì)(共6課時(shí))
- 動(dòng)態(tài)博弈模型構(gòu)建-深度研究
- 二零二五年度城市排水管網(wǎng)運(yùn)維合作協(xié)議4篇
- Unit 1 Animal friends Section A Grammar Focus英文版說(shuō)課稿-2024-2025學(xué)年人教版(2024)七年級(jí)英語(yǔ)下冊(cè)
- 2024 大模型典型示范應(yīng)用案例集-1
- 四川省成都市成華區(qū)2024年中考語(yǔ)文二模試卷附參考答案
- 子宮內(nèi)膜增生護(hù)理個(gè)案
- 2025年臨床醫(yī)師定期考核試題中醫(yī)知識(shí)復(fù)習(xí)題庫(kù)及答案(200題)
- 反分裂、反滲透、反顛覆心得體會(huì)
評(píng)論
0/150
提交評(píng)論