—C進(jìn)程通信PPT學(xué)習(xí)教案_第1頁
—C進(jìn)程通信PPT學(xué)習(xí)教案_第2頁
—C進(jìn)程通信PPT學(xué)習(xí)教案_第3頁
—C進(jìn)程通信PPT學(xué)習(xí)教案_第4頁
—C進(jìn)程通信PPT學(xué)習(xí)教案_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、會計學(xué)1C進(jìn)程通信進(jìn)程通信2 進(jìn)程的同步與互斥是一種通信方式,一進(jìn)進(jìn)程的同步與互斥是一種通信方式,一進(jìn)程可通過修改變量或信號量告知另一進(jìn)程,它程可通過修改變量或信號量告知另一進(jìn)程,它是否可以繼續(xù)執(zhí)行下去。利用生產(chǎn)者是否可以繼續(xù)執(zhí)行下去。利用生產(chǎn)者消費(fèi)消費(fèi)者算法,生產(chǎn)者進(jìn)程可以傳送一批數(shù)據(jù)給消費(fèi)者算法,生產(chǎn)者進(jìn)程可以傳送一批數(shù)據(jù)給消費(fèi)進(jìn)程,或者說生產(chǎn)者通過緩沖區(qū)與消費(fèi)者進(jìn)行進(jìn)程,或者說生產(chǎn)者通過緩沖區(qū)與消費(fèi)者進(jìn)行通信,但通信,但P P、V V操作只能操作只能傳遞信號傳遞信號,信號本身不信號本身不包含任何數(shù)據(jù),而進(jìn)程不當(dāng)還容易導(dǎo)致進(jìn)程死包含任何數(shù)據(jù),而進(jìn)程不當(dāng)還容易導(dǎo)致進(jìn)程死鎖,鎖,因此,稱這些同

2、步機(jī)構(gòu)為因此,稱這些同步機(jī)構(gòu)為低級通信機(jī)構(gòu)低級通信機(jī)構(gòu)。第1頁/共17頁3高級通信的三種方式:高級通信的三種方式: 1 1、共享存儲器系統(tǒng)共享存儲器系統(tǒng) 2 2、消息傳遞系統(tǒng)消息傳遞系統(tǒng) 3 3、管道管道通信通信-共享文件共享文件通信通信消息緩沖消息緩沖通信通信( (直接通信直接通信) )信箱信箱通信通信( (間接通信間接通信) )第2頁/共17頁42.5.1 2.5.1 進(jìn)程通信的類型進(jìn)程通信的類型高級通信機(jī)制類型高級通信機(jī)制類型1 共享存儲器系統(tǒng)共享存儲器系統(tǒng)(Shared-Memory System)2 消息傳遞系統(tǒng)消息傳遞系統(tǒng)(Message passing System)3 管道管道

3、(pipe)通信系統(tǒng)通信系統(tǒng) 第3頁/共17頁5第4頁/共17頁6直接通信方式(消息緩沖機(jī)制)間接通信方式(信箱通信方式)第5頁/共17頁7第6頁/共17頁8發(fā)送進(jìn)程在自己的內(nèi)存空間設(shè)置一個把要發(fā)送的消息填入發(fā)送區(qū)發(fā)送區(qū)接收區(qū)接收進(jìn)程在自己的內(nèi)存空間設(shè)置一個公用緩沖區(qū)兩通信進(jìn)程必須滿足下列條件兩通信進(jìn)程必須滿足下列條件1在發(fā)送進(jìn)程把消息寫入緩沖區(qū)和把緩沖區(qū)掛入消息隊(duì)列時在發(fā)送進(jìn)程把消息寫入緩沖區(qū)和把緩沖區(qū)掛入消息隊(duì)列時, 應(yīng)應(yīng)禁止其他進(jìn)程對緩沖區(qū)消息隊(duì)列的訪問禁止其他進(jìn)程對緩沖區(qū)消息隊(duì)列的訪問。同理,。同理,接收進(jìn)程接收進(jìn)程取消息時取消息時也禁止其他進(jìn)程訪問緩沖區(qū)消息隊(duì)列也禁止其他進(jìn)程訪問緩沖

4、區(qū)消息隊(duì)列2 當(dāng)緩沖區(qū)中沒有信息存在時,接收進(jìn)程當(dāng)緩沖區(qū)中沒有信息存在時,接收進(jìn)程不能接收到任何消息不能接收到任何消息第7頁/共17頁9PCBPCB.Send(R, M)Send(R, M).SIZE:SIZE:消息長度消息長度TEXT:TEXT:消息正文消息正文.消息鏈指針消息鏈指針.Receive(pid, N)Receive(pid, N).SIZE:SIZE:消息長度消息長度TEXT:TEXT:消息正文消息正文.M:M:N:N:接收進(jìn)程接收進(jìn)程 R R發(fā)送進(jìn)程發(fā)送進(jìn)程 S S消息消息消息消息消息消息.第8頁/共17頁 發(fā)送進(jìn)程和接收進(jìn)程發(fā)送進(jìn)程和接收進(jìn)程發(fā)送原語發(fā)送原語SendSend

5、()和接收原語()和接收原語receivereceive()()設(shè)公用信號量設(shè)公用信號量mutexmutex,并置初值為,并置初值為1 1設(shè)設(shè)SMSM為接收進(jìn)程的私用信號量,置初值為為接收進(jìn)程的私用信號量,置初值為0 0Send(m) begin 向系統(tǒng)申請一個消息緩沖區(qū) P(mutex) 使用公用緩沖區(qū) 將發(fā)送區(qū)消息m送入新申請的消息緩沖區(qū) 把消息緩沖區(qū)掛入接收進(jìn)程的消息隊(duì)列 V(mutex) 釋放緩沖區(qū) V(SM) 向接收進(jìn)程發(fā)送消息 endReceive(m ) begin P(SM) 等待接的消息的個數(shù) P(mutex) 使用公用緩沖區(qū) 摘下消息隊(duì)列中的消息m 將消息隊(duì)列m從緩沖區(qū)復(fù)制

6、到接收區(qū) 釋放緩沖區(qū) V(mutex) 釋放公用緩沖區(qū) end第9頁/共17頁11 間接通信方式中的發(fā)送和接收原語的形式如下: send(A,信件):把一個信件發(fā)送給信箱A; receive(A,信件):從信箱A接收一封信件;發(fā)送和接收消息原語的功能如下: 接收信件接收信件:如果指定信箱中有信,則取出一封信件,并釋放等待信箱的等待者,否則,接收信件者被置成等待信箱中信件的狀態(tài)。第10頁/共17頁12 發(fā)送信件發(fā)送信件:如果指定的信箱未滿,則將信件送入信箱中由指針?biāo)甘镜奈恢?并釋放等待該信箱中的信件的等待者;否則,發(fā)送信件者被置成等待信箱狀態(tài)。 信箱可由信箱可由OSOS創(chuàng)建創(chuàng)建,也可由,也可由

7、用戶進(jìn)程用戶進(jìn)程創(chuàng)建,創(chuàng)建創(chuàng)建,創(chuàng)建者是信箱的者是信箱的擁有者擁有者,據(jù)此可把信箱分為:,據(jù)此可把信箱分為:私用信私用信箱箱,公用信箱公用信箱,共享信箱共享信箱。第11頁/共17頁13第12頁/共17頁143 3、管道通信管道通信 管道(管道(pipepipe)通信由)通信由UNIXUNIX首創(chuàng)的首創(chuàng)的一種借助文件和文件系統(tǒng)形成的一種通信方式。由于其有效性,一些系統(tǒng)繼。由于其有效性,一些系統(tǒng)繼UNIXUNIX之后相之后相繼引入了管道技術(shù),如繼引入了管道技術(shù),如pc-dospc-dos,管道通信將,管道通信將成為進(jìn)程通信的一種重要方式。成為進(jìn)程通信的一種重要方式。 消息緩沖通信機(jī)構(gòu)是以內(nèi)存緩沖區(qū)為基消息緩沖通信機(jī)構(gòu)是以內(nèi)存緩沖區(qū)為

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論