操作系統(tǒng)結(jié)構(gòu)[谷風軟件]_第1頁
操作系統(tǒng)結(jié)構(gòu)[谷風軟件]_第2頁
操作系統(tǒng)結(jié)構(gòu)[谷風軟件]_第3頁
操作系統(tǒng)結(jié)構(gòu)[谷風軟件]_第4頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、1.2操作系統(tǒng)結(jié)構(gòu)設計 操作系統(tǒng)是一種大型、復雜的并發(fā)系統(tǒng),為了研制操作系統(tǒng),首先必須研究它的結(jié)構(gòu),力求設計出結(jié)構(gòu)良好的程序。操作系統(tǒng)的結(jié)構(gòu)設計有兩層含義:一是研究操作系統(tǒng)的整體結(jié)構(gòu),由程序的構(gòu)成成分組成操作系統(tǒng)程序的構(gòu)造過程和方法;二是研究操作系統(tǒng)程序的局部結(jié)構(gòu),包括數(shù)據(jù)結(jié)構(gòu)和控制結(jié)構(gòu)。采用不同的構(gòu)件和構(gòu)造方法可組成不同結(jié)構(gòu)的操作系統(tǒng)。本節(jié)將在討論操作系統(tǒng)構(gòu)件之后,全面介紹各種操作系統(tǒng)的構(gòu)造方法。1.2.1 操作系統(tǒng)的組件通常把組成操作系統(tǒng)程序的基本單位稱作操作系統(tǒng)的構(gòu)件。剖析現(xiàn)代操作系統(tǒng),構(gòu)成操作系統(tǒng)的基本單位除內(nèi)核之外,主要還有進程、線程、類程和管程。1內(nèi)核現(xiàn)代操作系統(tǒng)中大都采用了進程的

2、概念,為了解決系統(tǒng)的并發(fā)性、共享性和隨機性,并使進程能協(xié)調(diào)地工作,單靠計算機硬件提供的功能是十分不夠的。例如,進程調(diào)度工作目前就不能用硬件來實現(xiàn);而進程自己調(diào)度自己也是困難的。所以,系統(tǒng)必須有一個軟件部分能對硬件處理器及有關(guān)資源進行首次改造,以便給進程的執(zhí)行提供良好運行環(huán)境,這個部分就是操作系統(tǒng)的內(nèi)核。由于操作系統(tǒng)設計的目標和環(huán)境不同,內(nèi)核的大小和功能有很大差別。有些設計希望把內(nèi)核做得盡量小僅具有極少的必需功能,稱為微內(nèi)核(microkernel),其他功能都在核外實現(xiàn),通過微內(nèi)核提供的消息傳遞機制完成其余功能模塊間的聯(lián)系;有些設計則希望內(nèi)核具有較多的功能,雖然其內(nèi)部也可劃分成層次或模塊,但運

3、行時是一個大二進制映像,模塊間的聯(lián)系可通過函數(shù)或過程調(diào)用實現(xiàn),稱為單內(nèi)核(monolithic kernel)。操作系統(tǒng)的一個基本問題就是內(nèi)核的功能設計。微內(nèi)核結(jié)構(gòu)是現(xiàn)代操作系統(tǒng)的特征之一,這種方法把內(nèi)核和核外服務程序的開發(fā)分離,可為特定應用程序或運行環(huán)境要求定制服務程序,具有較好的可伸縮性,簡化了實現(xiàn),提供了靈活性,很適合分布式系統(tǒng)的構(gòu)造。一般而言,內(nèi)核必須提供以下3個方面的功能。(1)中斷處理。中斷處理是內(nèi)核中最基本的功能,也是操作系統(tǒng)賴以活動的基礎,為了縮短屏蔽中斷的時間,增加系統(tǒng)內(nèi)的并發(fā)性,通常它僅僅進行有限的、簡短的處理,其余任務交給在內(nèi)核之外的特殊用戶態(tài)進程完成。當中斷事件產(chǎn)生時,

4、先由內(nèi)核截獲并轉(zhuǎn)向中斷處理例行程序進行原則處理,它分析中斷事件的類型和性質(zhì),進行必要的狀態(tài)修改,然后交給內(nèi)核之外的進程去處理。例如,產(chǎn)生外圍設備結(jié)束中斷事件時,內(nèi)核首先分析是否正常結(jié)束,如果是正常結(jié)束,那么,就應釋放等待該外圍傳輸?shù)倪M程;否則啟動相應設備管理進程進行出錯或異常處理。又如當操作員請求從控制臺輸入命令時,內(nèi)核將把這一任務轉(zhuǎn)交給命令管理進程去處理,以接收和執(zhí)行命令。(2)短程調(diào)度。主要職能是分配處理器。當系統(tǒng)中發(fā)生了一個事件之后,可能一個進程要讓出處理器,而另一個進程又要獲得處理器。短程調(diào)度按照一定的策略管理處理器的轉(zhuǎn)讓,以及完成保護和恢復現(xiàn)場的工作。由于它是協(xié)調(diào)進程競爭處理器資源的

5、程序,所以它不是進程而是內(nèi)核中的一個程序。(3)原語管理。原語是內(nèi)核中實現(xiàn)某一功能的不可中斷過程。為了協(xié)調(diào)進程完成通信、并發(fā)執(zhí)行和共享資源,各種原語是必不可少的。通信原語為進程相互傳遞消息,同步原語能協(xié)調(diào)并發(fā)進程之間的種種制約關(guān)系。此外,還有其他原語,如啟動外圍設備工作的啟動原語,若啟動不成功則請求啟動者應等待,顯然,這個啟動過程應該是完整的,否則在成為等待狀態(tài)時,可能外圍設備已經(jīng)空閑。由于設備的操作與硬件密切相關(guān),故通常設備驅(qū)動程序等功能都放在內(nèi)核中完成。內(nèi)核是操作系統(tǒng)對裸機的首次改造,內(nèi)核和裸機組成了一臺虛擬機,進程就在這臺虛擬機上運行,它比裸機的功能更強大,具有以下特性:(1)虛擬機沒有

6、中斷,因而,進程的設計者不再需要有硬件中斷的概念,用戶進程執(zhí)行中無須處理中斷;(2)虛擬機為每個進程提供了一臺虛擬處理器,每個進程就好像在各自的私有處理器上順序地推進,實現(xiàn)了多個進程的并發(fā)執(zhí)行;(3)虛擬機為進程提供了功能較強的指令系統(tǒng),即它們能夠使用機器非特權(quán)指令、系統(tǒng)調(diào)用和原語所組成的新的指令系統(tǒng)。為了保證系統(tǒng)的有效性和靈活性,設計內(nèi)核應遵循少而精的原則。如果內(nèi)核功能過強,則一方面在修改系統(tǒng)時可能牽動內(nèi)核;另一方面它占用的內(nèi)存容量和執(zhí)行時間都會增大,且屏蔽中斷的時間過長也會影響系統(tǒng)效率。因而,設計內(nèi)核時應注意:中斷處理要簡單;調(diào)度算法要有效;原語應靈活有力、數(shù)量適當。這樣就可以做到下次修改

7、系統(tǒng)時,盡量少改動內(nèi)核,執(zhí)行時中斷屏蔽時間縮短。2進程管理程序本身并不能做什么,只有在CPU執(zhí)行它的指令時才能有所作為;因此,可以把進程看做是正在運行的程序。但是當我們進一步研究時,對進程的定義將更為普遍。例如:一個分時用戶程序(如編譯器)是一個進程,個人用戶在PC 上運行的字處理程序是一個進程,一個系統(tǒng)任務(如輸出到打印機)也是一個進程,并可以提供允許進程創(chuàng)建與其并發(fā)執(zhí)行的子進程的系統(tǒng)調(diào)用。進程需要特定的資源(包括CPU時間、內(nèi)存、文件和I/O設備)來完成工作。這些資源或者在進程創(chuàng)建時分配給它,或者在其運行時分配。除了在進程創(chuàng)建時所獲得的各種物理資源和邏輯資源以外,各種各樣的初始化數(shù)據(jù)(或輸

8、入)也可能一同傳送給進程。例如,考慮一個能夠在終端的顯示屏上顯示一個文件狀態(tài)的進程。這個進程將獲得包含輸入的文件名,將執(zhí)行相應的指令和系統(tǒng)調(diào)用來獲取所期望的信息并顯示在終端上。著重強調(diào)程序本身不是進程;程序是靜態(tài)實體(passive entity)(好像是存儲在磁盤中的文件的內(nèi)容),而進程是動態(tài)實體(active entity),它用一個程序計數(shù)器來指明要執(zhí)行的下一條指令。進程必須要按順序執(zhí)行,CPU執(zhí)行完進程的一條指令后再執(zhí)行下一條,直到進程結(jié)束。進一步地講,一次最多執(zhí)行一條代表該進程的指令。這樣,從來就不會出現(xiàn)兩個獨立運行的序列。但一個程序在運行時創(chuàng)建多個進程是非常普遍的。進程是并發(fā)程序設

9、計的一個工具,并發(fā)程序設計支撐了多道程序設計,由于進程能確切、動態(tài)地刻畫計算機系統(tǒng)內(nèi)部的并發(fā)性,更好地解決系統(tǒng)資源的共享性,所以,在操作系統(tǒng)的發(fā)展史上,進程概念被較早地引入了系統(tǒng)。它在操作系統(tǒng)的理論研究和設計實現(xiàn)上均發(fā)揮了重要作用。采用進程概念使得操作系統(tǒng)結(jié)構(gòu)變得清晰,主要表現(xiàn)如下。(1)一個進程到另一個進程的控制轉(zhuǎn)移由進程調(diào)度機構(gòu)統(tǒng)一管理,不能雜亂無章,隨意進行。(2)進程之間的交互如信號發(fā)送、消息傳遞和同步互斥等活動由通信及同步機制完成,從而使進程無法有意或無意破壞其他進程的數(shù)據(jù)。因此,每個進程相對獨立,相互隔離,提高了系統(tǒng)的安全性和可靠性。(3)進程結(jié)構(gòu)較好地刻畫了系統(tǒng)的并發(fā)性,動態(tài)地描

10、述出系統(tǒng)的執(zhí)行過程,因而具有進程結(jié)構(gòu)的操作系統(tǒng),結(jié)構(gòu)清晰、整齊劃一,可維護性好。3主存儲器管理主存儲器是現(xiàn)代計算機系統(tǒng)運行的核心。主存儲器是由字或字節(jié)組成的大型隊列,每個字或字節(jié)都有它自己的地址。主存儲器是CPU 和I/O 設備共享的大容量快速存儲器。中央處理器在取指令周期中從主存儲器中讀取指令,而且在取數(shù)據(jù)周期中從主存儲器中讀/寫數(shù)據(jù)。通過DMA(動態(tài)內(nèi)存存取),I/O操作也實現(xiàn)了對主存儲器的數(shù)據(jù)讀/寫。通常主存儲器是CPU唯一能夠直接尋址和訪問的大容量存儲空間。例如,CPU要處理磁盤中的數(shù)據(jù),那么 CPU首先發(fā)出I/O調(diào)用將這些數(shù)據(jù)傳送到主存儲器中。同樣,指令必須在存儲器中才能夠由CPU執(zhí)

11、行。必須要把程序映射到絕對地址并載入內(nèi)存中才可以執(zhí)行。在程序運行時,它通過產(chǎn)生絕對地址來從內(nèi)存中訪問程序指令和數(shù)據(jù)。最后,程序結(jié)束,釋放所占的內(nèi)存空間,方便下一個程序載入。為了提高CPU利用率和計算機響應速度,必須在內(nèi)存中保留多個程序。有許多不同的內(nèi)存管理策略,而且不同算法的效率取決于具體的環(huán)境。為具體的系統(tǒng)選擇內(nèi)存管理策略要考慮許多因素尤其是系統(tǒng)的硬件設計。每種算法都需要自己的硬件支持。操作系統(tǒng)要負責下列與內(nèi)存管理相關(guān)的工作:跟蹤內(nèi)存使用情況,明確哪一部分正在使用和為誰所用;在內(nèi)存空間有效時決定將哪個進程載入內(nèi)存;根據(jù)需要分配和釋放內(nèi)存空間。4文件管理文件管理是操作系統(tǒng)中可視性最強的組件之一

12、。計算機能夠?qū)?shù)據(jù)存儲在各種類型的物理介質(zhì)上。磁帶、磁盤和光盤是最常用的介質(zhì)。每種介質(zhì)都有自己的特性和物理結(jié)構(gòu)。每個存儲媒體由一個驅(qū)動器控制(如磁盤驅(qū)動器或磁帶驅(qū)動器),這種驅(qū)動器也有自己的獨有特性。這些特性包括訪問速度、容量、數(shù)據(jù)傳輸率和存取方式(順序的或隨機的)。為了便于使用計算機系統(tǒng),操作系統(tǒng)提供了一個計算機系統(tǒng)的整體邏輯層面。操作系統(tǒng)把存儲設備的物理屬性抽象定義為一個邏輯存儲單元文件。文件被映像到物理媒介中,通過存儲設備來訪問這些文件。文件是由其創(chuàng)建者定義的相關(guān)信息的集合。一般的文件表現(xiàn)為程序(源程序和目標代碼)和數(shù)據(jù)。數(shù)據(jù)文件可能是數(shù)字的、字母的或二者混合的。文件可能是形式自由的(如

13、文本文件),也可能有嚴格定義的格式(如固定字段)。由字、字節(jié)、行或記錄組成的文件結(jié)構(gòu)是其創(chuàng)建者定義的。文件概念具有相當廣泛的含義。操作系統(tǒng)通過管理大容量存儲體(如由驅(qū)動器控制的磁盤和磁帶)實現(xiàn)了文件的抽象概念。另外,為了更簡易地使用文件,通常將他們組織到目錄中。最后,如果有多個用戶訪問文件,可能需要控制誰以什么樣的方式訪問(例如:讀、寫、追加)。操作系統(tǒng)要負責下列與文件管理相關(guān)的工作:創(chuàng)建和刪除文件;創(chuàng)建和刪除目錄;將文件映像到輔助存儲器中;將文件備份到永久(非易失性)存儲體中。5I/O系統(tǒng)管理操作系統(tǒng)的目的之一就是要向用戶隱藏具體的硬件特性。例如,在UNIX 中,通過I/O 子系統(tǒng)向操作系統(tǒng)

14、隱藏了I/O設備的特性。I/O子系統(tǒng)由以下幾個方面組成:一個內(nèi)存管理模塊,這包括Buffering、Caching 和SPOOLing;一個通用設備驅(qū)動程序接口;針對具體硬件設備的驅(qū)動程序。6輔助存儲器管理操作系統(tǒng)的主要目的是執(zhí)行程序。這些程序在運行時(以及它們要訪問的數(shù)據(jù))都必須在主存儲器中。因為主存儲器的容量太小不能存儲所有的程序和數(shù)據(jù),而且掉電后會丟失所有的存儲信息,所以計算機系統(tǒng)必須要提供輔助存儲器作為主存儲器的后備。大多數(shù)現(xiàn)代計算機系統(tǒng)使用磁盤作為存儲程序和數(shù)據(jù)的主要聯(lián)機存儲體。大多數(shù)程序(包括編譯程序、匯編程序、排列程序、編輯程序和格式化程序)在載入內(nèi)存之前存儲在磁盤上,并且在運行

15、時利用磁盤存儲它們所處理的源文件和目標文件。因此,合理的磁盤管理對一個計算機系統(tǒng)來說是至關(guān)重要的。操作系統(tǒng)要負責下列與輔助存儲器管理相關(guān)的工作:空閑空間管理;空間分配;磁盤調(diào)度。因為頻繁地使用輔助存儲器,所以必須要能夠高效運行。而且計算機的整體運行速度取決于磁盤子系統(tǒng)的速度和該子系統(tǒng)實現(xiàn)算法的效率。7網(wǎng)絡管理分布式系統(tǒng)是一個處理機的集合,這些處理機既不共享內(nèi)存和外圍設備,也不共享時鐘。而是每個處理機擁有自己的本地內(nèi)存和時鐘,并且這些處理機可以通過各種通信線路(如高速總線或網(wǎng)絡)進行通信。一個分布式系統(tǒng)中的處理機在規(guī)模和功能上有所不同,其中可能包括小型微處理器、工作站、小型機和大型通用計算機。在

16、(分布式)系統(tǒng)中,處理機通過通信網(wǎng)絡相連接,有多種不同的方法可以配置該網(wǎng)絡。這種網(wǎng)絡可以完全或部分地連接。通信網(wǎng)絡的設計必須要考慮報文路由選擇和連接策略,以及爭用和安全的問題。分布式系統(tǒng)將物理上相互獨立的可能不同種類的系統(tǒng)集合成為一個獨立相連的系統(tǒng),它具有向用戶提供訪問由系統(tǒng)維護的各種資源的能力。對共享資源的訪問加快了計算速度、增強了系統(tǒng)功能、提高了數(shù)據(jù)的可用性并加強了可靠性。操作系統(tǒng)把網(wǎng)絡細節(jié)包含在了網(wǎng)絡接口設備驅(qū)動程序中,于是將網(wǎng)絡訪問泛化為一種文件訪問的形式。因此,分布式系統(tǒng)所使用的協(xié)議在很大程度上影響到系統(tǒng)的效率和普及。8系統(tǒng)保護如果一個計算機系統(tǒng)有多個用戶并允許并行執(zhí)行多個進程,那么

17、必須要保護各個進程免受其他進程的侵擾。為此,需要提供一種機制來保證只有那些從操作系統(tǒng)獲取了合適權(quán)限的進程能夠操作文件、存儲段、CPU和其他資源。例如,內(nèi)存尋址硬件確保了一個進程只能在自己的地址空間內(nèi)執(zhí)行,計時器確保進程最終能夠放棄對CPU的控制,用戶不能夠訪問設備控制寄存器;這樣,就保護了各種外圍設備的完整性。保護是操作系統(tǒng)定義的控制程序,是進程或用戶訪問的機制。這個機制必須要提供一種方法來描述要施加的控制,以及強制執(zhí)行的方法。通過檢測子系統(tǒng)接口中潛伏的錯誤,保護能夠增強系統(tǒng)的可靠性。對接口錯誤的早期檢測常常能夠阻止一個子系統(tǒng)故障波及到其他正常的子系統(tǒng)。一個未受保護的資源難以防止未授權(quán)或不適當

18、的用戶的使用(或誤用)。一個面向保護的系統(tǒng)提供了一種區(qū)分授權(quán)的和未授權(quán)的使用方法。9操作系統(tǒng)服務操作系統(tǒng)提供了程序運行的環(huán)境。它為程序和程序用戶提供了特定的服務。當然,不同的操作系統(tǒng)提供的具體服務不同,但是我們能夠找出其共同部分。提供的這些操作系統(tǒng)服務是為了便于程序員設計程序。具體如下。程序執(zhí)行:系統(tǒng)必須能夠?qū)⒊绦蜉d入內(nèi)存并運行它。程序必須能夠正常地或異常地(指示錯誤)結(jié)束運行。I/O 操作:一個正在運行的程序可能要請求I/O 操作。這可能會涉及文件或I/O 設備。針對具體的設備,需要特定的功能(如倒卷一個磁帶驅(qū)動器或清空一個CRT屏幕顯示)。出于系統(tǒng)效率和保護的原因,用戶通常不能夠直接控制I

19、/O 設備。因此,操作系統(tǒng)必須要提供一種I/O 運行機制。文件系統(tǒng)處理:文件系統(tǒng)相當有意思。顯然,程序需要能夠讀寫文件,也要能夠創(chuàng)建和刪除文件。通信:在很多情況下,一個進程需要與另外一個進程交換信息。通信有兩種主要的方式。第一種方式是在運行在同一臺計算機上的進程間通信;另外一種方式是運行在由一個計算機網(wǎng)絡連接的不同的計算機系統(tǒng)上的進程間通信??梢酝ㄟ^共享存儲器或報文傳送(這種方式中,操作系統(tǒng)在進程之間將信息打包移動)的方式實現(xiàn)進程間的通信。錯誤檢測:操作系統(tǒng)需要經(jīng)常注意可能發(fā)生的錯誤。錯誤可能發(fā)生在CPU、內(nèi)存(如存儲錯誤或電源故障)、I/O 設備(如磁帶奇偶檢驗錯誤、連結(jié)網(wǎng)絡失敗或打印機缺紙

20、)及用戶程序(如運算溢出、試圖訪問非法存儲器地址或過多占用CPU 時間)中。對于每種類型的錯誤,操作系統(tǒng)應該能夠采取針對性措施以確保計算的正確性和相容性。另外,操作系統(tǒng)還存在另外一些功能,它們不是為了幫助用戶工作,而是為了確保系統(tǒng)本身的高效運行。如:資源分配:當多個用戶登錄到系統(tǒng)中或同時有多個作業(yè)運行時,必須要在它們之間分配資源。操作系統(tǒng)管理許多不同類型的資源。有些資源(如CPU 周期、主存儲器和外存儲器)可能有專用的分配代碼,而其他的(如I/O 設備)可能有更通用的請求和釋放代碼。例如,在決定如何最好地使用CPU 的問題上,操作系統(tǒng)的CPU 調(diào)度程序要考慮CPU 速度、必須要執(zhí)行的作業(yè)、有效

21、的寄存器數(shù)量和其他的一些因素;賬戶管理:我們希望跟蹤記錄每個用戶使用哪些類型的計算機資源和用了多少。這個記錄保持可能用于記賬(以便用戶付賬)或簡單地用于累加使用率統(tǒng)計。對于研究者來說,使用率統(tǒng)計可能是個有效的工具。利用使用率統(tǒng)計,研究者可以重新配制系統(tǒng)以改善計算服務;保護:存儲在多用戶計算機系統(tǒng)上的信息的所有者希望能夠控制對該信息的使用。當多個不相關(guān)的進程并發(fā)執(zhí)行時,一個進程不應該能夠干擾其他進程或操作系統(tǒng)本身。保護包括了監(jiān)控所有對系統(tǒng)資源的訪問。對來自外界的系統(tǒng)安全檢測(security)也是非常重要的。這種保護往往通過密碼的方式,用戶向系統(tǒng)驗證口令才能訪問資源。它也包括了保護外部I/O 設

22、備(包括調(diào)制解調(diào)器和網(wǎng)絡適配器)免于非法的訪問企圖和記錄所有這樣的非法闖入。如果一個系統(tǒng)受到保護并且是安全的,那么就必須要建立預防措施。一般,系統(tǒng)的安全強度與其最薄弱的一個環(huán)節(jié)密切相關(guān)。1.2.2 操作系統(tǒng)功能的實現(xiàn)模型操作系統(tǒng)本身是一組程序,像其他程序一樣也在處理器上執(zhí)行,那么,操作系統(tǒng)程序是否組織成進程?它是如何控制和怎樣執(zhí)行的呢?下面來討論這個問題。從操作系統(tǒng)的執(zhí)行方式來看,可以把它分成:非進程內(nèi)核模型、OS功能(函數(shù))在用戶進程內(nèi)執(zhí)行的模型和OS功能(函數(shù))作為獨立進程執(zhí)行的模型3種。1非進程內(nèi)核模型許多老式操作系統(tǒng)的實現(xiàn)采用非進程內(nèi)核模型,即操作系統(tǒng)的功能都不組織成進程來實現(xiàn),如 圖

23、1-2所示,該模型包括一個較大的操作系統(tǒng)內(nèi)核程序,進程的執(zhí)行在內(nèi)核之外。當中斷發(fā)生時,當前運行進程的上下文現(xiàn)場信息將被保存,并把控制權(quán)傳遞給操作系統(tǒng)內(nèi)核。操作系統(tǒng)具有自己的內(nèi)存區(qū)和系統(tǒng)堆棧區(qū),用于控制過程調(diào)用和返回。它將在核心態(tài)執(zhí)行相應的操作,并根據(jù)中斷的類型和具體的情況,或者是恢復被中斷進程的現(xiàn)場并讓它繼續(xù)執(zhí)行,或是轉(zhuǎn)向進程調(diào)度指派另一個就緒進程運行。在這種情況下,進程的概念僅僅是針對用戶程序而言的,操作系統(tǒng)代碼作為一個獨立實體在內(nèi)核模式下運行。2OS功能在用戶進程內(nèi)執(zhí)行的模型小型機和工作站操作系統(tǒng)(如UNIX等)往往采用OS的所有功能在用戶進程內(nèi)執(zhí)行的模型,如圖1-3所示,在這種實現(xiàn)模型中,大部分操作系統(tǒng)功能組織成一組例行程序供用戶程序調(diào)用,認為操作系統(tǒng)例程與用戶進程是上下文相關(guān)的,操作系統(tǒng)的地址空間被包含在用戶進程的地址空間中;因而,操作系統(tǒng)例行程序也在用戶進程的上下文環(huán)境中執(zhí)行。圖1-4給出了OS的所有功能在用戶進程內(nèi)執(zhí)行的模型中的進程映像,它既包含進程控制塊、用戶堆棧、容納用戶程序和數(shù)據(jù)的地址空間等,還包括操作系統(tǒng)內(nèi)核的程序、數(shù)據(jù)和系統(tǒng)堆棧區(qū)。當發(fā)生一次中斷或系統(tǒng)調(diào)用后,處理器狀態(tài)將被置成內(nèi)核模式,控制從用戶進程手中被剝奪并傳遞給操作系統(tǒng)例行程序。此時,發(fā)生了模式切換,模式上下文(

溫馨提示

  • 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

提交評論