交通923、927操作系統(tǒng)電子課件zgsosjiaoan_第1頁
交通923、927操作系統(tǒng)電子課件zgsosjiaoan_第2頁
交通923、927操作系統(tǒng)電子課件zgsosjiaoan_第3頁
交通923、927操作系統(tǒng)電子課件zgsosjiaoan_第4頁
交通923、927操作系統(tǒng)電子課件zgsosjiaoan_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

118三月2023北京交通大學(xué)計算機學(xué)院主講教師:翟高壽(副教授)聯(lián)系電話:(辦)電子郵件:制作人:翟高壽制作單位:北京交通大學(xué)計算機學(xué)院《操作系統(tǒng)》218三月2023北京交通大學(xué)計算機學(xué)院第二章進程管理2.1進程的基本概念2.2進程控制2.3進程同步2.4經(jīng)典進程同步問題2.5進程通信2.6管程與線程318三月2023北京交通大學(xué)計算機學(xué)院2.5

進程通信2.5.1進程通信概念及分類2.5.2消息傳遞通信實現(xiàn)方式2.5.3消息傳遞系統(tǒng)實現(xiàn)若干問題2.5.4消息緩沖隊列通信機制418三月2023北京交通大學(xué)計算機學(xué)院進程通信概念與實現(xiàn)機制進程通信概念

指進程之間的信息交換實現(xiàn)機制低級進程通信:效率低,操作系統(tǒng)僅提供共享存儲器,通信對用戶不透明和不方便高級進程通信:能傳送大量數(shù)據(jù),效率高,進程通信實現(xiàn)細節(jié)由操作系統(tǒng)提供,整個通信過程對用戶透明,通信程序編制簡單518三月2023北京交通大學(xué)計算機學(xué)院進程通信的類型共享存儲器系統(tǒng)基于共享數(shù)據(jù)結(jié)構(gòu)的通信方式基于共享存儲區(qū)的通信方式消息傳遞系統(tǒng)直接/間接通信方式管道通信管道概念協(xié)調(diào)機制:互斥、同步、通信前提618三月2023北京交通大學(xué)計算機學(xué)院2.5

進程通信2.5.1進程通信概念及分類2.5.2消息傳遞通信實現(xiàn)方式2.5.3消息傳遞系統(tǒng)實現(xiàn)若干問題2.5.4消息緩沖隊列通信機制718三月2023北京交通大學(xué)計算機學(xué)院直接通信方式通信原語Send(Receiver,message)Receive(Sender,message)一個接收進程可與多個發(fā)送進程通信打印進程Sender無法事先指定基于進程直接通信原語的應(yīng)用生產(chǎn)者-消費者通信過程818三月2023北京交通大學(xué)計算機學(xué)院基于通信原語的生產(chǎn)者子程序設(shè)計producer:Varnextp:item;beginrepeatproduceaniteminnextp;

wait(empty);wait(mutex);

buffer[in]nextp;in(in+1)modn;

signal(mutex);signal(full);untilfalse;endSend(consumer,nextp);918三月2023北京交通大學(xué)計算機學(xué)院基于通信原語的消費者子程序設(shè)計consumer:Varnextc:item;beginrepeat

wait(full);wait(mutex);

nextcbuffer[out];out(out+1)modn;signal(mutex);signal(empty);

consumetheiteminnextc;untilfalse;endReceive(producer,nextc);1018三月2023北京交通大學(xué)計算機學(xué)院間接通信方式信箱進程間通信有關(guān)共享數(shù)據(jù)結(jié)構(gòu)的中間實體由操作系統(tǒng)或用戶進程創(chuàng)建私有/公有/共享信箱可實現(xiàn)實時/非實時通信通信原語信箱的創(chuàng)建和撤銷、消息的發(fā)送和接收發(fā)送/接收進程間存在的四種關(guān)系一對一、多對一、一對多、多對多1118三月2023北京交通大學(xué)計算機學(xué)院2.5

進程通信2.5.1進程通信概念及分類2.5.2消息傳遞通信實現(xiàn)方式2.5.3消息傳遞系統(tǒng)實現(xiàn)若干問題2.5.4消息緩沖隊列通信機制1218三月2023北京交通大學(xué)計算機學(xué)院消息傳遞系統(tǒng)中的幾個問題通信鏈路顯式/隱式建立(計算機網(wǎng)絡(luò)/單機)點-點或多點連接通信鏈路單向/雙向通信鏈路無容量/有容量通信鏈路(緩沖區(qū))消息格式有消息頭和消息正文構(gòu)成,分定/變長兩種進程同步方式發(fā)送/接收進程阻塞與否(三種情況)1318三月2023北京交通大學(xué)計算機學(xué)院2.5

進程通信2.5.1進程通信概念及分類2.5.2消息傳遞通信實現(xiàn)方式2.5.3消息傳遞系統(tǒng)實現(xiàn)若干問題2.5.4消息緩沖隊列通信機制1418三月2023北京交通大學(xué)計算機學(xué)院消息緩沖隊列通信機制-數(shù)據(jù)結(jié)構(gòu)

消息緩沖區(qū)typeMessageBuffer=recordSender;//發(fā)送者進程標識符

Size;//消息長度

Text;//消息正文

Next;//指向下一緩沖區(qū)的指針End;PCB通信數(shù)據(jù)項typePCB=recordMessageQueue;//隊首指針

mutex;//消息隊列互斥信號量

Semphore;//消息隊列資源信號量

……End;1518三月2023北京交通大學(xué)計算機學(xué)院消息緩沖隊列通信機制示意圖Send(B,SA)……Sender:ASize:5Text:Hello…………Receive(RB)……Sender:ASize:5Text:Hello………………MessageQueueMutexSemphore……Sender:ASize:5Text:HelloNext:0發(fā)送區(qū)接收區(qū)進程A進程BPCB(B)隊首消息緩沖區(qū)1618三月2023北京交通大學(xué)計算機學(xué)院消息緩沖隊列通信機制-發(fā)送原語ProcedureSend(Receiver,SA)Begingetbuf(SA.Size,Bufferi);Bufferi.SenderSA.Sender;Bufferi.Size

SA.Size;

Bufferi.Text

SA.Text;Bufferi.Next0;getid(PCB_Set,Receiver,PID);wait(PID.mutex);insert(PID.MessageQueue,Bufferi);signal(PID.mutex);signal(PID.Semphore);End;1718三月2023北京交通大學(xué)計算機學(xué)院消息緩沖隊列通信機制-接收原語ProcedureReceive(RB)BeginPIDInternalNameOfProcess;wait(PID.Semphore);wait(PID.mutex);remove(PID.MessageQueue,Bufferj);signal(PID.mutex);RB.SenderBufferj.Sender;RB.SizeBufferj.Size;

RB.TextBufferj.Text;End;1818三月2023北京交通大學(xué)計算機學(xué)院2.5

進程通信2.5.1進程通信概念及分類2.

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論