操作系統(tǒng)原理及應用(Linux)(第二版)教學課件王紅第8章 現(xiàn)代操作系統(tǒng)實例-_第1頁
操作系統(tǒng)原理及應用(Linux)(第二版)教學課件王紅第8章 現(xiàn)代操作系統(tǒng)實例-_第2頁
操作系統(tǒng)原理及應用(Linux)(第二版)教學課件王紅第8章 現(xiàn)代操作系統(tǒng)實例-_第3頁
操作系統(tǒng)原理及應用(Linux)(第二版)教學課件王紅第8章 現(xiàn)代操作系統(tǒng)實例-_第4頁
操作系統(tǒng)原理及應用(Linux)(第二版)教學課件王紅第8章 現(xiàn)代操作系統(tǒng)實例-_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章

現(xiàn)代操作系統(tǒng)實例本章學習目標掌握UNIX系統(tǒng)的內(nèi)核管理方法了解Windows系統(tǒng)的內(nèi)核管理方法了解分布式操作系統(tǒng)特性及進程管理方式第8章現(xiàn)代操作系統(tǒng)實例1教學內(nèi)容8.1

UNIX操作系統(tǒng)8.2

WINDOWS

2000操作系統(tǒng)8.3分布式操作系統(tǒng)8.1

UNIX操作系統(tǒng)38.1.1

UNIX操作系統(tǒng)的發(fā)展UNIX是目前最流行的操作系統(tǒng)之一,于1969年,在美國的電報電話公司(AT&T)貝爾實驗室誕生的。最初的UNIX系統(tǒng)是用匯編語言編寫的,1973年,

Ritchie又用C語言重寫了UNIX。第8章現(xiàn)代操作系統(tǒng)實例8.1.2

UNIX操作系統(tǒng)的特點4多用戶多任務可移植性樹型文件系統(tǒng)結(jié)構(gòu)I/O重定向和管道技術(shù)非富的實用程序電子郵件第8章現(xiàn)代操作系統(tǒng)實例8.1.3

UNIX系統(tǒng)的內(nèi)核結(jié)構(gòu)5應用程序及編譯器界面Shell編輯器及其組件內(nèi)

核硬

件圖8-1

UNIX系統(tǒng)層次結(jié)構(gòu)模型第8章現(xiàn)代操作系統(tǒng)實例進程控制子系統(tǒng)進程通信調(diào)度內(nèi)存管理硬

制硬

件圖8-2

UNIX系統(tǒng)內(nèi)核模型字符設(shè)備 塊設(shè)備設(shè)備驅(qū)動程序高速緩存用戶程序庫函數(shù)陷阱用戶層核心層系統(tǒng)調(diào)用接口文件子系統(tǒng)第8章現(xiàn)代操作系統(tǒng)實例68.1.4

UNIX系統(tǒng)中的進程管理7UNIX進程的結(jié)構(gòu)用戶級上下文用戶級上下文主要成分是用戶程序。包括正文段即代碼(text)、數(shù)據(jù)段(data)兩部分。寄存器上下文寄存器上下文主要是由CPU中的一些寄存器的內(nèi)容組成的。系統(tǒng)級上下文第8章現(xiàn)代操作系統(tǒng)實例系統(tǒng)級上下文包括操作系統(tǒng)為管理該進程所用的信息,可分為靜態(tài)和動態(tài)兩部分。它包括:proc結(jié)構(gòu):該結(jié)構(gòu)常駐內(nèi)存,內(nèi)容包括經(jīng)常需要訪問的往息,如進程標識符、進程狀態(tài)等。8user結(jié)構(gòu):該結(jié)構(gòu)暫駐內(nèi)存,進程處于執(zhí)行狀態(tài)時調(diào)入內(nèi)存。它包含了進程的一些私有信息,如,進程表項指針、有效用戶標識符等各種資源表格。進程區(qū)表:從虛擬地址到物理地址的映射。核心棧:核心態(tài)執(zhí)行時過程調(diào)用的棧結(jié)構(gòu)。若干寄存器級上下文。第8章現(xiàn)代操作系統(tǒng)實例2.進程調(diào)度算法9UNIX系統(tǒng)是分時系統(tǒng),它的進程調(diào)度采用動態(tài)優(yōu)先數(shù)輪轉(zhuǎn)調(diào)度算法。優(yōu)先數(shù)越小,優(yōu)先級別越高。例如,對換進程的優(yōu)先數(shù)是0,而等待磁盤I/O進程的優(yōu)先數(shù)是20。

UNIX

S-5中進程的優(yōu)先級分為兩大類:用戶優(yōu)先級類和核心優(yōu)先級類。核心用兩種方式改變進程的優(yōu)先級:對核心態(tài)進程設(shè)置優(yōu)先數(shù);對用戶態(tài)進程計算優(yōu)先數(shù)。第8章現(xiàn)代操作系統(tǒng)實例3.進程狀態(tài)及轉(zhuǎn)換10UNIX

System

5進程的狀態(tài)存放在進程的proc結(jié)構(gòu)中。這些進程的狀態(tài)共有9個,它們是:用戶態(tài)執(zhí)行。核心態(tài)執(zhí)行。內(nèi)存中睡眠。睡眠且換出。內(nèi)存中就緒。就緒且換出。僵死。被剝奪狀態(tài)。創(chuàng)建。第8章現(xiàn)代操作系統(tǒng)實例僵死喚醒返回到用戶態(tài)中斷中斷返回被剝奪圖8-3

UNIX系統(tǒng)的進程狀態(tài)轉(zhuǎn)換內(nèi)存足用戶態(tài)執(zhí)行調(diào)度內(nèi)存中就緒核心態(tài)執(zhí)行就緒且換出系統(tǒng)調(diào)用中斷返回換

換出

入內(nèi)存中睡眠睡眠且換出換出喚醒睡眠創(chuàng)建內(nèi)存不足11剝奪第8章現(xiàn)代操作系統(tǒng)實例4.Unix系統(tǒng)中進程的家族關(guān)系12Unix的內(nèi)核中設(shè)置了一個0#進程,它是惟一一個在系統(tǒng)引導時被創(chuàng)建的進程。在系統(tǒng)初啟時,由0#進程再創(chuàng)建1#進程及其它核心進程,然后1號進程又為每個終端創(chuàng)建命令解釋進程;用戶輸入命令后又創(chuàng)建若干進程,這樣便形成了一棵進程樹。以后0號進程作為系統(tǒng)的對換及調(diào)度進程,1號進程成為系統(tǒng)始祖進程,同時又創(chuàng)建其它進程。系統(tǒng)中除0#進程以外,所有其它進程都是由fork創(chuàng)建的。第8章現(xiàn)代操作系統(tǒng)實例8.1.5

UNIX系統(tǒng)的內(nèi)存管理13UNIX系統(tǒng)采用求請調(diào)頁存儲管理方式,支持內(nèi)外存的對換功能。內(nèi)存空間的分配和回收均以頁為單位進行。1.交換將內(nèi)存中處于睡眠狀態(tài)的某些進程調(diào)到外存交換區(qū)中,而將交換區(qū)中的就緒進程重新調(diào)入內(nèi)存。為實現(xiàn)這種策略,系統(tǒng)內(nèi)核應具有交換空間的管理、進程換出和進程換入這三個功能。第8章現(xiàn)代操作系統(tǒng)實例2.請求分頁14UNIX系統(tǒng)為實現(xiàn)請求分頁的功能,配置了四種數(shù)據(jù)結(jié)構(gòu),分別為:頁表。磁盤塊描述字。頁面數(shù)據(jù)表。交換使用表。第8章現(xiàn)代操作系統(tǒng)實例3.換頁進程15換頁進程為核心進程。該進程的主要任務是增加內(nèi)存中所有的有效頁年齡,并將內(nèi)存中長期不用的頁面換出。4.缺頁在UNIX系統(tǒng)中可能會出現(xiàn)兩類缺頁:有效缺頁和保護性缺頁。當出現(xiàn)缺頁時,缺頁處理程序可能要從盤上讀一個頁面到內(nèi)存,并在I/O執(zhí)行期間睡眠。第8章現(xiàn)代操作系統(tǒng)實例8.1.6

UNIX系統(tǒng)的文件管理16UNIX系統(tǒng)中的文件子系統(tǒng),既具有很強的功能,又具有靈活性。按文件的內(nèi)部構(gòu)造方式,UNIX系統(tǒng)將文件分為三類,即:普通文件、目錄文件和特別文件(即設(shè)備文件)。UNIX系統(tǒng)的目錄結(jié)構(gòu)為有向非循環(huán)圖結(jié)構(gòu)。第8章現(xiàn)代操作系統(tǒng)實例1.文件卷的組織結(jié)構(gòu)17U0N#

IX系1#統(tǒng)2中#

3,#

文……件是以K#

塊為(單K+1位)#存放……在介質(zhì)N#上的,存儲介質(zhì)可以是磁盤或磁帶。通常把每個磁盤或磁帶看作一個文件卷。上圖示出了UNIX系統(tǒng)的文件卷結(jié)構(gòu)。其中,0號塊是系統(tǒng)的引導塊或空閑,當該系統(tǒng)需引導時才有引導程序放在這里,其它一般文件系統(tǒng)都不使用引導塊;1號塊為超級塊(也稱為專用塊),它既是文件系統(tǒng)的控制塊,也是對空閑盤塊和I結(jié)點等資源的管理表。從2號塊到第K號塊為索引結(jié)點區(qū),(K值由系統(tǒng)配置給定),用來存放該文件卷中所有文件的索引結(jié)點;從第K+1塊至第N塊為文件區(qū),用來存放系統(tǒng)中所有的文件。第8章現(xiàn)代操作系統(tǒng)實例超級塊包括以下內(nèi)容:18文件系統(tǒng)大小??臻e盤塊數(shù)目。空閑索引結(jié)點數(shù)目。空閑索引結(jié)點索引表。封鎖標記。專用塊修改標記。其它信息。第8章現(xiàn)代操作系統(tǒng)實例2.文件的目錄結(jié)構(gòu)19UNIX系統(tǒng)的目錄結(jié)構(gòu)采用了將文件名與文件描述信息分開的方法。文件目錄由文件名和該文件的索引結(jié)點號構(gòu)成。其中,文件名占14個字節(jié),索引結(jié)點號占2個字節(jié)。因此,在1KB的盤塊中就可以存放64(1K/16)個目錄項。這樣就節(jié)省了系統(tǒng)查找及訪問文件的時間。第8章現(xiàn)代操作系統(tǒng)實例文件名(14B)磁盤索引結(jié)點號(2B)F1.c45Myfile38F6.c67ABC56…………20UNIX一個文件的磁盤索引結(jié)點占64個字節(jié),主要包括文件標識符、文件存取權(quán)限、文件物理地址、文件長度、文件連接系數(shù)、文件存取時間等一些文件的重要信息。第8章現(xiàn)代操作系統(tǒng)實例3.文件的物理結(jié)構(gòu)21UNIX系統(tǒng)文件的物理結(jié)構(gòu)采用混合索引方式,對分配給文件的磁盤塊進行管理。在UNIX文件系統(tǒng)的索引結(jié)點中,存在一項i.addr[13],用于存放該文件的磁盤塊號。如圖8-7示出了UNIX系統(tǒng)的混合索引文件結(jié)構(gòu)。第8章現(xiàn)代操作系統(tǒng)實例(1)直接尋址i.addr[0]~i.addr[9]這10項。直接從索引結(jié)點中找出該文件所在的磁盤塊號,訪問速度較快。22(2)一次間接尋址方式i.addr[10]這一項中存放的磁盤塊號。(3)二次間接尋址方式i.addr[11]存放的磁盤塊號,采用兩級索引的方式。(4)三次間接尋址方式i.addr[12]存放的磁盤塊號,采用三級索引的方式。第8章現(xiàn)代操作系統(tǒng)實例4.磁盤空間的管理方式23UNIX系統(tǒng)對于空閑盤塊的管理,采用成組鏈接法。該方法把第一組中的所有空閑盤塊號放入超級塊的空閑盤塊號棧中。5.系統(tǒng)為打開文件建立的數(shù)據(jù)結(jié)構(gòu)UNIX系統(tǒng)打開文件的操作,就是由操作系統(tǒng)在內(nèi)存為文件建立相應的數(shù)據(jù)結(jié)構(gòu)。系統(tǒng)為打開文件建立的數(shù)據(jù)結(jié)構(gòu)有三個,即:用戶文件描述符表、文件表和內(nèi)存索引結(jié)點。第8章現(xiàn)代操作系統(tǒng)實例fpfp用戶文件描述符表內(nèi)存索引結(jié)點文件表圖8-7

UNIX打個數(shù)據(jù)結(jié)構(gòu)及三種讀寫方式第二種f方p

式fp第三種方式fp第一種方式用戶四 用戶五

用用戶一 用戶f二p

用戶三戶六……第i個內(nèi)存索引結(jié)點……第j個內(nèi)存索引結(jié)點……第k個內(nèi)存索引結(jié)點……第l個內(nèi)存索引結(jié)點……f_offsetf_inodef-flagf-countf_offsetf_inodef-flagf-count……f_offsetf_inode……f_offsetf開_文in件o在de內(nèi)存的三……f_offsetf_inodefpfp24fpfpfpfp第8章現(xiàn)代操作系統(tǒng)實例8.1.7

UNIX系統(tǒng)的設(shè)備管理25UNIX系統(tǒng)把設(shè)備分為兩類,即字符設(shè)備和塊設(shè)備。在UNIX系統(tǒng)中有兩種類型的I/O,即:緩沖I/O和無緩沖I/O。1.緩沖高速緩存UNIX系統(tǒng)中的緩沖Cache實際上是一個磁盤Cache。對于磁盤的I/O操作通過緩沖Cache處理。第8章現(xiàn)代操作系統(tǒng)實例2.字符隊列26緩沖Cache可支持像磁盤、磁帶這樣的塊設(shè)備。另一種緩沖則適用于面向字符的設(shè)備,如終端、打印機等。字符隊列可以由I/O設(shè)備寫、處理器讀或由處理器來寫、I/O設(shè)備讀。3.無緩沖I/O無緩沖I/O是進程進行I/O的最快的方法,它在設(shè)備和進程空間之間使用DMA,進行無緩沖I/O的進程在主存中被鎖起來,不能被換出。通過給高端內(nèi)存加鎖,減少了交換的機會,但也降低了整個系統(tǒng)的性能。同時,I/O設(shè)備也固定于一個進程,在傳輸中,不能為其他進程使用。第8章現(xiàn)代操作系統(tǒng)實例4.UNIX設(shè)備27UNIX系統(tǒng)本身可識別如下5種設(shè)備,即:磁盤驅(qū)動器、磁帶驅(qū)動器、終端、通信線、打印機。磁盤的讀/寫方式讀方式一般讀方式。提前讀方式。寫方式一般寫方式。異步寫方式。延遲寫方式。第8章現(xiàn)代操作系統(tǒng)實例8.2

Windows

2000操作系統(tǒng)288.2.1

Windows

2000概述Windows操作系統(tǒng)家族是微軟公司的核心產(chǎn)品之一,其產(chǎn)品包括Windows

95、Windows98、Windows

Me等桌面型操作系統(tǒng)以及Windows

NT、Windows2000服務器操作系統(tǒng)。Windows

2000是一個商用多用戶操作系統(tǒng),其開發(fā)目標是開發(fā)工作站和服務器上的32位操作系統(tǒng),以充分利用32位微處理器等硬件的新特性,并使它很容易適用將來的硬件變化,增加它的兼容性,同時,又不影響已有的應用程序的兼容性。第8章現(xiàn)代操作系統(tǒng)實例8.2.2

Windows

2000中的進程和線程的特點第8章現(xiàn)代操作系統(tǒng)實例Windows2000操作系統(tǒng)對CPU的管理可體現(xiàn)為它的進程和線程模型。它具有以下特點:它是多任務(多進程)、多線程、對稱多處理的。由于采用了客戶/服務器模型,Windows

2000體現(xiàn)為多個服務器進程。Windows2000的進程以及線程全部作為對象實現(xiàn),并通過對象服務訪問。進程管理程序在它所管理的子進程之間不具有父進程/子進程或其他關(guān)系。在該系統(tǒng)中,基本的調(diào)度實體是線程,采用動態(tài)優(yōu)先級多級調(diào)度隊列算法,允許可搶占CPU,但核心代碼不可被搶占。

6.可以在進程間共享對象,以及具有靈活的內(nèi)部進程通信能力。7.Windows

NT原設(shè)計可以Intel、MIPS等多種CPU上運行,但出于市場因素的考慮,Windows

2000只在Intel上運行2。98.2.3

Windows

2000中的進程第8章現(xiàn)代操作系統(tǒng)實例進程與線程Windows

2000中的進程由以下幾部分組成:該進程所執(zhí)行的程序。一個由該進程專用的地址空間。系統(tǒng)資源。至少有一個線程。2.進程的管理在Windows

2000中,每個進程由一個進程對象結(jié)構(gòu)表現(xiàn),并有一個執(zhí)行現(xiàn)場。進程執(zhí)行現(xiàn)場包括進程的虛地址空間、該進程可見的資源集合、該進程的所有線程的集合。303.進程的同步與互斥■Windows

2000中提供了互斥對象、信號量對象和事件對象等3種不同對象和相應的系統(tǒng)調(diào)用,用于進程和線程的同步。4.進程通信有以下幾種:信號(Signal)通信、共享存儲區(qū)、管道通信、郵件槽通信、

Windows套接字、剪貼板。8.2.4

Windows

2000中線程的實現(xiàn)32線程的構(gòu)成在Windows

2000中,一個線程由以下幾部分構(gòu)成:線程標識符。一組易變寄存器的內(nèi)容,用來表示CPU的狀態(tài)。兩個棧。一個供該線程專用的存儲區(qū)域。第8章現(xiàn)代操作系統(tǒng)實例2.線程的狀態(tài)33Windows

2000的線程狀態(tài)共有以下六個:就緒(ready)。備用(standby)。運行(running)。等待(waiting)。轉(zhuǎn)換(transition)。終止(terminated)。第8章現(xiàn)代操作系統(tǒng)實例8.2.5

Windows

2000的調(diào)度算法34Windows

2000/NT中,基本的調(diào)度實體是線程。線程調(diào)度算法采用多級調(diào)度隊列動態(tài)優(yōu)先級算法。實現(xiàn)該調(diào)度算法的是內(nèi)核中的一個數(shù)據(jù)結(jié)構(gòu),稱為“調(diào)度程序數(shù)據(jù)庫”。Windows

2000是搶占式多任務的操作系統(tǒng)。運行內(nèi)核代碼的線程不能被搶占但內(nèi)核的大部分是可被高級中斷所中斷的。第8章現(xiàn)代操作系統(tǒng)實例8.2.6

Windows

2000的內(nèi)存管理35Windows

2000的內(nèi)存管理采用頁式虛存。在功能和用戶界面上,具有如下特點:提供32位虛地址內(nèi)存功能強大地址空間分布及地址轉(zhuǎn)換第8章現(xiàn)代操作系統(tǒng)實例8.2.7

Windows

2000的文件系統(tǒng)36Windows

2000文件系統(tǒng)的特點Windows

2000文件系統(tǒng)具有以下特點:兼容性和可擴充性。功能強大。Windows

2000文件系統(tǒng)的實現(xiàn)Windows

2000文件系統(tǒng)的整體實現(xiàn)機制采用了面向?qū)ο蟮哪P?。文件對象由I/O管理器進行管理。NTFS、FAT、HPFS等文件系統(tǒng),稱為文件系統(tǒng)驅(qū)動程序。用戶打開文件表和系統(tǒng)打開文件表在

Windows2000中,體現(xiàn)為每個進程設(shè)置一個進程對象表,以及它所指向的具體對象體。第8章現(xiàn)代操作系統(tǒng)實例3.Windows的NTFS文件格式Window

2000支持文件分配表(FAT)形式的文件系統(tǒng)和NTFS文件系統(tǒng)。Window

2000還支持CDFS。CDFS是CD-ROM的文件系統(tǒng),用于讀取CD-ROM。NTFS(Windows

NT文件系統(tǒng))以簇為單位分配磁盤卷上的空間。簇的大小是磁盤格式化時確定的,該系統(tǒng)采用邏輯簇號作為磁盤地址。8.2.8

Windows設(shè)備管理第8章現(xiàn)代操作系統(tǒng)實例1.Windows

2000中的設(shè)備管理具有以下特點:支持進程級異步I/O操作。具有與塊設(shè)備管理相關(guān)的文件系統(tǒng)特點。允許系統(tǒng)管理員動態(tài)地向系統(tǒng)中增加或從系統(tǒng)中刪除設(shè)備。提供服務程序,簡化了設(shè)備驅(qū)動程序的開發(fā)工作。分層驅(qū)動程序模型提供可擴充性,使設(shè)備的動態(tài)增刪更容易實現(xiàn)。382.Windows

2000的I/O系統(tǒng)結(jié)構(gòu)Windows2000I/O系統(tǒng)由一些執(zhí)行體組件和設(shè)備驅(qū)動程序組成。這些執(zhí)行體組件和設(shè)備驅(qū)動程序有以下幾點:I/O管理器把把程序和系統(tǒng)組件連接到各種虛擬的、邏輯的和物理的設(shè)備上,并且定義了一個支持設(shè)備驅(qū)動程序的基本構(gòu)架。設(shè)備允動程序為某種類型的設(shè)備提供一個I/O接口。即插即用管理器通過與I/O管理器和總線驅(qū)動程序的協(xié)同工作檢測硬件資源的分配,并且檢測相應硬件設(shè)備的添加和刪除。電源管理器通過與I/O管理器的協(xié)同工作檢測整個系統(tǒng)和單個硬件設(shè)備,完成不同電源狀態(tài)的轉(zhuǎn)換。WMI支持例程允許驅(qū)動程序使用這些支持例程作為媒介,與用戶態(tài)運行的WMI服務通訊。注冊表存儲基本硬件設(shè)備的描述信息以及驅(qū)動程序的初始化和配置信息。硬件抽象層(HAL)I/O訪問例程把設(shè)備驅(qū)動程序與多種多樣的硬件平臺隔離開來。8.3

分布式操作系統(tǒng)40分布式系統(tǒng)泛指各種包含多個計算機(處理器)的信息處理系統(tǒng),因此,并行計算機系統(tǒng)和網(wǎng)絡系統(tǒng)也都屬于分布式系統(tǒng)。多處理機系統(tǒng)的當前趨勢是研究并解決若干物理處理機的分布及處理問題。構(gòu)造這樣的系統(tǒng),有兩種基本類型:第一種是緊密耦合系統(tǒng),其中的處理機共享存儲空間和時鐘。第二種是松散耦合系統(tǒng),其中的處理機不共享存儲區(qū)和時鐘。配置在分布式系統(tǒng)上的操作系統(tǒng)稱為分布式操作系統(tǒng)。第8章現(xiàn)代操作系統(tǒng)實例8.3.1

分布式操作系統(tǒng)的特性41分布式操作系統(tǒng)具有以下特性:

1.透明性可靠性高性能伸縮性第8章現(xiàn)代操作系統(tǒng)實例8.3.2

進程遷移42進程遷移就是將一個進程的狀態(tài),從一臺機器轉(zhuǎn)移到另一臺機器上,從而使該進程能在目標機上執(zhí)行。進程遷移主要有以下四方面的原因:負載共享通信性能可獲得性利用特定資源第8章現(xiàn)代操作系統(tǒng)實例8.3.3

分布式進程管理43在分布式系統(tǒng)中,要實現(xiàn)進程的同步,主要采用了以下方法:1.事件定序這種算法將事發(fā)前關(guān)系擴充成為系統(tǒng)中所有事件的全序關(guān)系。2.Lamport算法該算法基于分布式隊列的概念,算法如下:第8章現(xiàn)代操作系統(tǒng)實例該算法基于分布式隊列的概念,并含有以下假定:①分布式系統(tǒng)由N個站點組成,每個站點都有惟一的編號1~N。每個站點都只有一個進程負責進程互斥訪問資源。②按發(fā)送的順序接收從一個進程到另一個進程的消息。③每條消息都在有限時間內(nèi)正確地送到目的地。④網(wǎng)絡是全互連的,任意兩個進程間可以直接傳遞消息,不需另一個節(jié)點中轉(zhuǎn)。44第8章現(xiàn)代操作系統(tǒng)實例3.Ricart算法45Ricart算法與Lamport算法的假設(shè)相同。每個站點都有一個進程負責控制資源的分配。該進程有一個數(shù)組q并遵循以下規(guī)則:當進程Pi請求訪問資源時,它發(fā)出一個請求

Request(Ti,i)。時戳為當前本地時鐘的值。將這條消息放入自身數(shù)組q[i]中,然后將消息發(fā)送給所有其它進程。當進程Pj收到Request(Ti,i)后,按下列規(guī)則,進行處理。如果Pj正處于臨界段,則延遲發(fā)送Reply消息;如果Pj并不等待進入臨界段,就發(fā)送Replyt(Tj,j)消息給所有其它進程;第8章現(xiàn)代操作系統(tǒng)實例如果Pj等待進入其臨界段,且收到的消息在Pj的Request之后,則將到來的消息放入其數(shù)組的q[i]中,并延遲發(fā)送Reply消息。如果Pj等待進入其臨界段,但收到的消息在Pj的Request之前,則將到來的消息放入其數(shù)組的q[i]中,并發(fā)送Reply消息給進程Pi。(3)如果進程Pi從所有其它進程都收到了Reply消息,它就可以訪問資源,進入該臨界段。(4)當進程Pi離開臨界段時,它給每個掛起的Request發(fā)送一個Reply消息,從而釋放資源。在本算法中,需要2(N-1)條消息,其中(N-1)個Request消息,表示進程Pi要進入臨界段;(N-1)個Reply消息以允許其它進程的訪問。本算法利用時間戳來實現(xiàn)進程的同斥,可以避免死鎖及饑餓。464.令牌方法47令牌本身是一種特定格式的報文,通常長度為1B。它是為了實現(xiàn)進程的互斥及象征存取權(quán)利,在系統(tǒng)設(shè)置的。它不斷地在由進程組成的邏輯環(huán)中循環(huán)。環(huán)中的每一個進程都有惟一的前趨和后繼。在使用令牌傳送時,必須滿足以下兩點:邏輯環(huán)應能夠及時發(fā)現(xiàn)環(huán)路中某進程失效或退出,以及通信鏈路的故障。一旦發(fā)現(xiàn)這種進程或故障,應立即

撤消該進程,對對邏輯環(huán)進行重構(gòu)。保證邏輯環(huán)中在任何時候都有令牌在循環(huán)。一旦發(fā)現(xiàn)令牌丟失,應立即選擇一個進程,用來產(chǎn)生一個新的令牌。第8章現(xiàn)代操作系統(tǒng)實例本章小結(jié)48本章主要介紹了目前常用的操作系統(tǒng)UNIX、Windows系統(tǒng)的內(nèi)核結(jié)構(gòu),對分布式操作系統(tǒng)作了簡要介紹,同時對于操作

溫馨提示

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

最新文檔

評論

0/150

提交評論