操作系統(tǒng)第10講進程管理續(xù)4通信課件_第1頁
操作系統(tǒng)第10講進程管理續(xù)4通信課件_第2頁
操作系統(tǒng)第10講進程管理續(xù)4通信課件_第3頁
操作系統(tǒng)第10講進程管理續(xù)4通信課件_第4頁
操作系統(tǒng)第10講進程管理續(xù)4通信課件_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、操作系統(tǒng)第10講第3章 進程管理(4)(進程通信)主講:閆新慶2012 32022/7/221第3章 進程管理內容提綱3.1 認識進程前的準備 3.2 進程的概念與描述3.3 進程狀態(tài)及其轉換 3.4 進程控制3.5 進程互斥與同步 3.6 進程通信 3.7 死鎖問題 3.8 線程與超級線程 本章小結 習題2022/7/2223.7 進程通信導語: 進程通信是指進程間互相傳遞信息。操作系統(tǒng)可以被看作是各種進程組成。這些進程都具有各自的獨立功能,且大多數(shù)被外部需要而啟動執(zhí)行。一般來說,進程間的通信可以劃分為二種:即控制信息的傳送(低級通信)大批量數(shù)據(jù)傳送(高級通信)進程間同步或互斥,也是使用鎖或

2、信號量進行通信來實現(xiàn)的。低級通信一般只傳送一個或幾個字節(jié)的信息,以達到控制進程執(zhí)行速度的作用。高級通信要傳送大量數(shù)據(jù)。高級通信的目的不是為了控制進程的執(zhí)行速度,而是為了交換信息。2022/7/2233.7 進程通信一、進程間的通信1定義:進程之間相互傳遞消息的過程稱為進程間的通信。2功能:為協(xié)調某一任務,通過發(fā)送消息,使進程之間保持一定的聯(lián)系。二、進程通信類型-低級通信特點:只能用于少量的“狀態(tài)和數(shù)據(jù)控制信息”通信。適用于同步與互斥機制,傳送的是控制信息,19個字節(jié)。)主從式:解決進程能否繼續(xù)執(zhí)行下去。(有固定的主從關系,鍵盤與顯示,計算與打印(讀、)等)其特點: 從進程動作受主進程控制。 主

3、進程可以使用從進程提供的數(shù)據(jù)。 主從之間的關系是固定的 2022/7/2243.7 進程通信二進程通信類型低級通信會話式:(共享存儲區(qū)數(shù)據(jù)結構的交互式進程間通信方式,許可式通信方式,如用戶進程與服務進程,如申請讀寫磁盤的進程與完成讀寫操作的進程。特點:使用進程必須得到服務進程的許可才能激活與使用。服務進程根據(jù)使用進程要求提供服務,服務控制由服務進程自身完成。兩者之間存在固定關系。只能用于少量的狀態(tài)和據(jù)通信。 2022/7/2253.7 進程通信三、進程通信類型高級通信1 類型:(1). 消息通信機制(公用緩沖區(qū),1973年Hansen提出)消息或郵箱機制則無論接收進程是否已準備好接收消息,發(fā)送

4、進程都將把所要發(fā)送的消息送入緩沖區(qū)或郵箱。消息的一般形式由發(fā)送進程名、接收進程名、數(shù)據(jù)和有關數(shù)據(jù)的操作個部分組成。(圖3.15)。圖3.15消息的組成發(fā)送進程接受進程操作數(shù)據(jù)2022/7/2263.7 進程通信 消息或郵箱機制的特點: 只要存在空緩沖區(qū)或郵箱,發(fā)送進程就可以發(fā)送消息。 發(fā)送進程和接收進程之間無直接連接關系,接收進程可能在收到 某個發(fā)送進程發(fā)來的消息之后,又轉去接收另一個發(fā)送進程發(fā)來 的消息。 發(fā)送進程和接收進程之間存在緩沖區(qū)或郵箱(圖3.16)用來存放 被傳送消息。(2). 共享存儲區(qū)方式與前面三種方式不同,共享存儲區(qū)方式不要求數(shù)據(jù)移動。兩個需要互相交換信息的進程通過對同一共享

5、數(shù)據(jù)區(qū)(shared memory)的操作來達到互相通信的目的。這個共享數(shù)據(jù)區(qū)是每個互相通信進程的一個組成部分。圖3.16緩沖區(qū)或郵箱通信結構PsPr緩沖區(qū)或郵箱2022/7/2273.7 進程通信 低級通信只能獲得進程是否能夠繼續(xù)下去的簡單信息(僅作為一種進程控制的標志),如信號量及PV操作。 高級通信能夠解決一個進程將大批量數(shù)據(jù)傳遞給另一個進程的問題。1. 基于共享存儲區(qū)的通信方式,是效率最高的一種通信機制 原理:在內存中開辟一個區(qū)域,并連入多個進程的虛擬地址空間,當一個進程在該空間(緩沖區(qū))寫入數(shù)據(jù)后,另一個進程就可以從所連的虛擬地址空間直接進入該區(qū)讀出數(shù)據(jù),就好像使用私有數(shù)據(jù)一樣方便。

6、進程要求分配一個共享存儲時,核心是先要按進程提供的關鍵字值,查找系統(tǒng)共享存儲區(qū)段表,表存在共享段,則說明該共享段已被其它進程創(chuàng)建,如不存在,則建立一個空閑頁表區(qū)(包括共享段的關鍵字,大小,首地址,存取控制權等)。2022/7/2283.7 進程通信 特點:效率高, 一個進程可以分配多個共享存儲區(qū),最大值由系統(tǒng)決定。2消息通信機制(公用緩沖區(qū),1973年Hansen提出)原理: 消息通信機構管理一組空閑緩沖區(qū)消息。 A進程向B進程發(fā)送消息,申請一個緩沖區(qū),填寫有關 信息后,發(fā)送信號給B進程。 B進程讀取數(shù)據(jù)并釋放消息緩沖區(qū)。2022/7/2293.7 進程通信三、進程通信類型高級通信(續(xù)1) 2

7、消息通信機制(續(xù))控制信息 Send-pia 發(fā)送進程標志。 Iype 消息類型。Size 消息長度。 Text 消息正文。 Next- ptr 下一個消息的指針。PCB 有關管理消息的數(shù)據(jù)項。Hd-ptr 進程已收到的消息隊列的指針Mutex 對消息隊列進行操作的互斥信號燈。Ssm 接受與發(fā)送進程之間的同步信號量,其值表示接受的消息數(shù)。OS提供接受和發(fā)送兩個調用系統(tǒng)。 2022/7/22103.7 進程通信三、進程通信類型-高級通信(續(xù)2) 2消息通信機制(續(xù)) 發(fā)送進程 開辟一個發(fā)送緩沖區(qū) 填入消息及控制信息 調用發(fā)送消息系統(tǒng),spn-pir指向緩沖區(qū)首地址。 (5) 接收進程 開辟一個接

8、收緩沖區(qū) 調用接收消息系統(tǒng)調用。 2022/7/22113.7 進程通信三、進程通信類型-高級通信(續(xù)3) 4郵箱通信:郵箱通信就是由發(fā)送進程申請建立一與接收進程鏈接的郵箱。發(fā)送進程把消息送往郵箱,接收進程從郵箱中取出消息,從而完成進程間信息交換。設置郵箱的最大好處就是發(fā)送進程和接收進程之間沒有處理時間上的限制。一個郵箱可考慮成發(fā)送進程與接收進程之間的大小固定的私有數(shù)據(jù)結構,它不像緩沖區(qū)那樣被系統(tǒng)內所有進程共享。郵箱由郵箱頭和郵箱體組成。其中郵箱頭描述郵箱名稱、郵箱大小、郵箱方向以及擁有該郵箱的進程名等。郵箱體主要用來存放消息。郵箱頭發(fā)送進程接受進程 郵箱體 deposit(m)remove(

9、m)圖 3.17 郵箱通信結構2022/7/22123.7 進程通信三、進程通信類型-高級通信(續(xù)4) 3郵箱通信(續(xù)) 信箱類型 公用信箱OS創(chuàng)建,由系統(tǒng)核準使用,系統(tǒng)運行期間,該信箱始終存在。 專用信箱由某個進程創(chuàng)建,創(chuàng)建后指明用戶名。 私用信號量由用戶進程創(chuàng)建,用戶 信箱進程之間的彼此關系 1對1: 收發(fā)進程之間建立一條進程間的通信鏈路。它們之間的交互 不受其它進程影響。 1對多: 廣播式,客戶服務模式。2022/7/22133.7 進程通信多對1: 客戶機對服務器模式,允許一個和多個進程之間進行交互。多對多: 公用信箱關系,多個進程可以向其發(fā)送,也可以接收公用 信箱。 郵箱通信條件 郵

10、箱為空才能發(fā)。 郵箱存在數(shù)據(jù)才能接收。收發(fā)進程之間至少存在一個郵箱。2022/7/22143.7 進程通信三、進程通信類型-高級通信(續(xù)5) 4管道通信 通過管道文件:連接一個讀進程和一個寫進程的文件稱之為管道文件,以實現(xiàn)兩者之間的通信。 特征 采用FIFO的數(shù)據(jù)組織傳輸方式。 能傳送任意量的數(shù)據(jù)。 寫滿則發(fā)送進程自我阻塞,讀空則阻塞。 通信機制的三方協(xié)調能力 接、收進程雙方都存在才能通信。 互斥:寫不能讀,讀不能寫。 同步,收、發(fā)進程互相協(xié)作的機制 2022/7/2215第10講小結2022/7/2216 君辭西行歸塞上,淚兩行,月無光。秦嶺八百無黛色,商都戚容,中秋似冬涼。嫦娥相伴跨三省,衷情長,塞外涼。王倫捧酒踏歌過,太白驚詫,瓊漿何人當?李廣邀月云臺上,論漢賦,話安陽。沙湖為酒滿漢席;嬋娟舞袖

溫馨提示

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

評論

0/150

提交評論