版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、1.4 操作系統(tǒng)的結(jié)構(gòu)設計,1.4.1 操作系統(tǒng)的構(gòu)件1.4.2 整體式結(jié)構(gòu)的操作系統(tǒng)1.4.3 層次式結(jié)構(gòu)的操作系統(tǒng)1.4.4 虛擬機結(jié)構(gòu)的操作系統(tǒng)1.4.5 客戶/服務器與微內(nèi)核結(jié)構(gòu)的操作系統(tǒng)1.4.6 操作系統(tǒng)的運行模型1.4.7 Windows 2000/ XP的客戶/服務器結(jié)構(gòu),1.4 .1操作系統(tǒng)的結(jié)構(gòu)設計操作系統(tǒng)結(jié)構(gòu)設計概況(1),操作系統(tǒng)設計呈現(xiàn)出以下特征: 一是復雜程度高, 二是生成周期長,
2、 三是正確性難保證 。 例如,CTSS、OS/360、Multics 、Windows 2000,操作系統(tǒng)的結(jié)構(gòu)設計概況(2)操作系統(tǒng)結(jié)構(gòu)設計有兩層含義,一.是研究操作系統(tǒng)程序的數(shù)據(jù)結(jié)構(gòu)和控制結(jié)構(gòu); 二.是組成操作系統(tǒng)程序的構(gòu)造過程和方法。采用不同的構(gòu)件和構(gòu)造方法可組成不同結(jié)構(gòu)的操作系統(tǒng)。,操作系統(tǒng)的構(gòu)件(1),內(nèi)核 進程 線程 類程 管程,操作系統(tǒng)的構(gòu)件(2)1、內(nèi)核
3、,內(nèi)核不是進程,是提供支持系統(tǒng)運行的基本功能的一組程序模塊,有了內(nèi)核的支撐,進程運行環(huán)境得到改善,安全性得到保證,系統(tǒng)效率就能提高。分類:微內(nèi)核和單內(nèi)核。Linux是單內(nèi)核操作系統(tǒng) ,Mach是微內(nèi)核操作系統(tǒng) ,Windows2000/XP改進的C/S結(jié)構(gòu) 。,操作系統(tǒng)的構(gòu)件(3)Linux的內(nèi)核,Lniux的模組(module) ,一定程度上解決了核心功能的靈活性和可伸縮性問題。Linus曾經(jīng)就結(jié)構(gòu)問題做出過解釋:現(xiàn)代成功的操
4、作系統(tǒng)基本上都不具有微內(nèi)核特性,因此,Linux也不必是微內(nèi)核結(jié)構(gòu)操作系統(tǒng)。,操作系統(tǒng)的構(gòu)件(4)內(nèi)核提供以下三方面功能,1)中斷處理。 2)短程調(diào)度。 3)原語管理。,操作系統(tǒng)的構(gòu)件(5)內(nèi)核的執(zhí)行有以下屬性,1)內(nèi)核是由中斷驅(qū)動的 2)內(nèi)核的執(zhí)行是連續(xù)的 3)內(nèi)核在屏蔽中斷狀態(tài)下執(zhí)行 4)內(nèi)核可以使用特權指令,操作系統(tǒng)的構(gòu)件(6),內(nèi)核和裸機組成了一臺虛擬機具有以下特性: 1)虛擬機沒有
5、中斷, 2)虛擬機為每個進程提供了一臺虛擬處理器, 3)虛擬機為進程或模塊提供了功能較強的指令系統(tǒng)。,內(nèi)核被觸發(fā)和內(nèi)核處理流程,,操作系統(tǒng)的構(gòu)件(7)2、進程,進程是并發(fā)程序設計的一個工具,并發(fā)程序設計支撐了多道程序設計,操作系統(tǒng)的構(gòu)件(8)進程概念使OS結(jié)構(gòu)變得清晰(1),1)一個進程到另一個進程的控制轉(zhuǎn)移由進程調(diào)度機構(gòu)統(tǒng)一管理,不能雜亂無章,隨意進行。 2)進程間的信號發(fā)送、消息傳遞和同步互 斥由通
6、信及同步機制完成,進程無法有意或無意破壞它進程的數(shù)據(jù)。每個進程相對獨立,相互隔離,提高了系統(tǒng)的安全性和可靠性。,操作系統(tǒng)的構(gòu)件(9)進程概念使OS結(jié)構(gòu)變得清晰(2),3)進程結(jié)構(gòu)較好刻畫了系統(tǒng)的并發(fā)性,動態(tài)地描述出系統(tǒng)的執(zhí)行過程,具有進程結(jié)構(gòu)的操作系統(tǒng),結(jié)構(gòu)清晰、整齊劃一,可維護性好。,操作系統(tǒng)的構(gòu)件(10)3、線程,進程是系統(tǒng)進行保護和資源分配的單位,而線程則是進程中一條執(zhí)行路徑,每個進程中允許有多個并行執(zhí)行的路徑,線程才是系統(tǒng)進
7、行調(diào)度的單位。,操作系統(tǒng)的構(gòu)件(11)4、管程,管程是管理共享資源的機制,對管程的調(diào)用表示對共享資源的請求與釋放。管程應包含條件變量,當條件不滿足時,可以通過對條件變量做延遲操作使調(diào)用進程等待,直到另一個進程調(diào)用管程過程并執(zhí)行一個釋放操作為止。,操作系統(tǒng)的構(gòu)件(12)5、類程,類程用于管理私有資源,對類程的調(diào)用表示對私有資源的操作。它僅能被進程及起源于同一進程的其它類程或管程嵌套調(diào)用鏈所調(diào)用。其本身也可以調(diào)用其它類程或管程。類程可以
8、看作子程序概念的擴充。,操作系統(tǒng)的構(gòu)件(13)采用進程、管程、類程實現(xiàn)的操作系統(tǒng),進程執(zhí)行過程中若請求使用共享資源,可以調(diào)用管程;若要控制私有資源操作,可以調(diào)用類程,這樣便于使用高級語言來書寫操作系統(tǒng)。1975年,漢森成功地在PDP 11/45機上實現(xiàn)了:單用戶操作系統(tǒng)Solo、處理小作業(yè)作業(yè)流系統(tǒng)和過程控制實時調(diào)度系統(tǒng)等三個層次管程結(jié)構(gòu)的操作系統(tǒng)。,操作系統(tǒng)體系結(jié)構(gòu)分類,整體式結(jié)構(gòu)層次式結(jié)構(gòu)虛擬機結(jié)構(gòu)客戶服務器及微內(nèi)核結(jié)構(gòu),
9、1.4.2 整體式結(jié)構(gòu)的操作系統(tǒng),操作系統(tǒng)的整體式結(jié)構(gòu)又叫模塊組合法,早期操作系統(tǒng)(如IBM操作系統(tǒng))采用這種結(jié)構(gòu)設計方法, ?主要設計思想: ?主要設計步驟: ?主要優(yōu)點和缺點:,1.4.3 層次式結(jié)構(gòu)的操作系統(tǒng)(1),層次式結(jié)構(gòu)是把操作系統(tǒng)劃分為內(nèi)核和若干模塊(或進程),這些模塊(或進程)按功能的調(diào)用次序排列成若干層次,各層之間只能是單向依賴或單向調(diào)用關系,這樣不但系統(tǒng)結(jié)構(gòu)清晰,而且不
10、構(gòu)成循環(huán)。,層次式結(jié)構(gòu)的操作系統(tǒng)(2),層次結(jié)構(gòu)的全序和半序式層次結(jié)構(gòu)的由底向上方法 和自頂向下方法,層次式結(jié)構(gòu)的操作系統(tǒng)(3)構(gòu)造層次結(jié)構(gòu)OS分層原則,1)把與機器硬件有關的程序模塊放在最底層, 2)反映系統(tǒng)外特性的軟件放在最外層, 3)按照實現(xiàn)操作系統(tǒng)命令時模塊間的調(diào)用次序或按進程間單向發(fā)送信息的順序來分層 4)為進程的正常運行創(chuàng)造環(huán)境和提供條件的內(nèi)核程序應該盡可能放在底層。,層次式結(jié)構(gòu)的操作系統(tǒng)(4),層次
11、結(jié)構(gòu)的優(yōu)點:整體問題局部化,系統(tǒng)的正確性可通過各層正確性來保證。增加、修改或替換層次不影響其他層次,有利于系統(tǒng)的維護和擴充。層次結(jié)構(gòu)是分層單向依賴的,必須要建立模塊(進程)間的通信機制,系統(tǒng)花費在通信上的開銷較大,系統(tǒng)的效率也就會降低。,層次式結(jié)構(gòu)的操作系統(tǒng)(5),THE系統(tǒng)第一次提出層次結(jié)構(gòu)設計方法 ? 第0層完成中斷處理、定時器管理和處理器調(diào)度。第1層內(nèi)存和磁鼓管理,為進程分配內(nèi)存空間,并自動實現(xiàn)內(nèi)存和磁鼓對換區(qū)的數(shù)據(jù)交換。第2
12、層處理進程與操作員間的通信,為每個進程生成虛操作員控制臺。第3層I/O管理,管理信息緩沖區(qū)。第4層用戶(進程)層。第5層系統(tǒng)操作員(進程)層。,1.4.4 虛擬機結(jié)構(gòu)的操作系統(tǒng)(1),基于如下思想,一個分時系統(tǒng)應該提供以下特性: (1) 多道程序, (2) 一個具有比裸機更方便、界面擴展的計算機。 VM/370的主旨在于將此二者徹底地隔離開來。,虛擬機結(jié)構(gòu)的操作系統(tǒng)(2),物理計算機資源通過多重化和共享技術可改變成多個
13、虛擬機?;咀龇ǎ和ㄟ^用一類物理設備來模擬另一類物理設備,或通過分時地使用一類物理設備,把一個物理實體改變成若干個邏輯上的對應物。物理實體是實際存在的,而邏輯上的對應物是虛幻的、感覺上的。,虛擬機結(jié)構(gòu)的操作系統(tǒng)(3),,1.4.5 客戶/服務器與微內(nèi)核結(jié)構(gòu)操作系統(tǒng)(1),1、客戶/服務器與微內(nèi)核結(jié)構(gòu) 客戶/服務器結(jié)構(gòu)的思想:將操作系統(tǒng)分成兩大部分, 一是運行在用戶態(tài)并以C/S方式活動的進程; 二是運行在核心態(tài)的內(nèi)核。,客
14、戶/服務器與微內(nèi)核結(jié)構(gòu)操作系統(tǒng)(2),客戶/服務器結(jié)構(gòu)的思想(1)每個進程實現(xiàn)一類服務,稱服務器進程(如文件服務、進程管理服務、存儲管理服務、網(wǎng)絡通信服務等)。它的任務是檢查是否有客戶提出服務請求,如果有請求則在滿足客戶的要求后返回結(jié)果,于是,用戶進程與服務器進程形成了C/S關系。,客戶/服務器與微內(nèi)核結(jié)構(gòu)操作系統(tǒng)(3),客戶/服務器結(jié)構(gòu)的思想(2)運行在核心態(tài)的內(nèi)核把該消息傳給服務器;服務器執(zhí)行相應操作,再通過內(nèi)核用消息把結(jié)果
15、返回給用戶。內(nèi)核只實現(xiàn)極少任務,主要起信息驗證、交換的作用,因而,稱微內(nèi)核(Microkernel),這種結(jié)構(gòu)也就稱為客戶/服務器與微內(nèi)核結(jié)構(gòu)。,客戶/服務器與微內(nèi)核結(jié)構(gòu)操作系統(tǒng)(4),,客戶/服務器與微內(nèi)核結(jié)構(gòu)操作系統(tǒng)(5),微內(nèi)核結(jié)構(gòu)的優(yōu)點有: 1)一致性接口 2)可擴充性 3)可移植性 4)可靠性 5)支持分布式系統(tǒng) 6)支持面向?qū)ο蟮牟僮飨到y(tǒng),客戶/服務器與微內(nèi)核結(jié)構(gòu)操作系統(tǒng)(6)2、微
16、內(nèi)核的設計,1)基本的存儲管理 微內(nèi)核支持內(nèi)核外部的頁面管理和虛存管理: ?轉(zhuǎn)讓(Grant) ?映射 (Map) ?刷新(Flush),客戶/服務器與微內(nèi)核結(jié)構(gòu)操作系統(tǒng)(7)內(nèi)核外的頁面管理程序做缺頁處理,,客戶/服務器與微內(nèi)核結(jié)構(gòu)操作系統(tǒng)(8)2)進程間通信,微內(nèi)核操作系統(tǒng)中,進程和線程通信的基本形式是消息。進程間通信基于進程間相關聯(lián)的端口(Ports),一
17、個端口是一個特定進程的消息隊列,與端口相關的是一張能力表,記錄了可以與這個進程通信的進程。,客戶/服務器與微內(nèi)核結(jié)構(gòu)操作系統(tǒng)(9)3)I/O和中斷管理,,driver thread;do wait for (mhg, sender); if sender = my_hardware_interrupt { read/writer I/O ports; rese
18、t hardware interrut } else …while (true);,1.4.6 操作系統(tǒng)的運行模型(1),操作系統(tǒng)本身是一組程序,也在處理器上運行,那么,操作系統(tǒng)程序是否組織成進程?它是如何控制的、怎樣執(zhí)行的呢?它在什么模式下運行呢? 從操作系統(tǒng)的運行方式來看,可分成:非進程內(nèi)核模型、OS功能(函數(shù))在用戶進程內(nèi)執(zhí)行的模型和OS功能(函數(shù))作為進程執(zhí)行的模型。,操作系統(tǒng)的運行模型(2)1)非進程
19、內(nèi)核模型,,操作系統(tǒng)運行模型(3)2)OS功能在用戶進程內(nèi)執(zhí)行的模型,,操作系統(tǒng)運行模型(4) OS功能在用戶進程內(nèi)執(zhí)行模型的進程映像,,操作系統(tǒng)的運行模型(5)3)OS功能作為獨立進程執(zhí)行的模型,,1.4.7Windows 2000/ XP客戶/服務器結(jié)構(gòu)(1),Windows 2000/XP系統(tǒng)結(jié)構(gòu)的設計目標: 1)可擴充性: 2)可移植性: 3)可靠性與堅固性: 4)兼容性:
20、 5)高性能:,Windiws2000/ XP客戶/服務器結(jié)構(gòu)(2),采用基于對象技術,提出了一種C/S系統(tǒng)結(jié)構(gòu),該結(jié)構(gòu)在純微內(nèi)核結(jié)構(gòu)的基礎上做了擴展,融合了層次式結(jié)構(gòu)和純微內(nèi)核結(jié)構(gòu)的特點。對操作系統(tǒng)性能影響很大的組件放在內(nèi)核下運行,其他功能則在內(nèi)核外實現(xiàn)。主要優(yōu)點是模塊化程度高、靈活性大、便于維護、系統(tǒng)性能好。,Windows2000/XP客戶/服務器結(jié)構(gòu)(3)結(jié)構(gòu)簡框,,Windows2000/ XP客戶/服務器結(jié)構(gòu)(4),
21、,Windows2000/ XP客戶/服務器結(jié)構(gòu)(5)1)硬件抽象層HAL,HAL是實現(xiàn)可移植性的關鍵部分,位于硬件最上面和系統(tǒng)的最低層,把系統(tǒng)的內(nèi)核、設備驅(qū)動程序及執(zhí)行體從與平臺相關的硬件差異中分隔開來。HAL隱藏各種與硬件有關的細節(jié),如系統(tǒng)總線、計時器、I/O接口、DMA、中斷控制器、多處理器通信機制等,對內(nèi)核來說是運行在計算機硬件平臺上的低級接口。,Windows2000/ XP客戶/服務器結(jié)構(gòu)(6)2)設備驅(qū)動程序(1),
22、設備驅(qū)動程序是I/O系統(tǒng)和相關硬件之間的接口,把用戶的I/O函數(shù)調(diào)用轉(zhuǎn)換成特定硬件設備的I/O要求。設備驅(qū)動程序不直接操作硬件,而是調(diào)用HAL來控制硬件的接口。,Windows2000/ XP客戶/服務器結(jié)構(gòu)(7)設備驅(qū)動程序(2),設備驅(qū)動程序包括以下幾類: (1)硬件設備驅(qū)動程序: (2)文件系統(tǒng)驅(qū)動程序: (3)過濾器驅(qū)動程序: (4)網(wǎng)絡重定向程序和服務
23、器:,Windows2000/ XP客戶/服務器結(jié)構(gòu)(8)3)內(nèi)核,內(nèi)核執(zhí)行操作系統(tǒng)最基本的操作,決定操作系統(tǒng)如何使用處理器并確保慎重使用它們。內(nèi)核提供如下函數(shù): (1) 線程管理和調(diào)度; (2) 進程切換; (3) 陷阱處理和異常調(diào)度;,Windows2000/ XP客戶/服務器結(jié)構(gòu)(9),內(nèi)核提供如下函數(shù): (4)中斷處理和調(diào)度; (5)多處理器同步; (6)提供由執(zhí)行
24、體使用的基本內(nèi)核對象。,Windows2000/ XP客戶/服務器結(jié)構(gòu)(10)4)Windows 2000/XP執(zhí)行體,執(zhí)行體包括五種類型函數(shù):(1)從用戶態(tài)被導出并且可以調(diào)用的函數(shù)。(2)從用戶態(tài)被導出并且可以調(diào)用的函數(shù),(3)只能從在 DDK中已經(jīng)導出并且文檔化的核心態(tài)調(diào)用的函數(shù)。(4)在核心態(tài)組件之間調(diào)用的但沒有文檔化的函數(shù)。(5)組件內(nèi)部的函數(shù)。,Windows2000/ XP客戶/服務器結(jié)構(gòu)(11)執(zhí)行體包含下列
25、重要組件,進程和線程管理器虛擬內(nèi)存管理器 安全訪問監(jiān)視器 I/O管理器 高速緩存管理器,Windows2000/ XP客戶/服務器結(jié)構(gòu)(12)5)NTDLL.DLL,NTDLL.DLL是特殊的系統(tǒng)支持庫,用于子系統(tǒng)動態(tài)鏈接庫。包含兩類函數(shù): (1)作為Windows XP執(zhí)行體系統(tǒng)服務的系統(tǒng)服務調(diào)度占位程序; (2)子系統(tǒng)動態(tài)鏈接庫、及其他本機映像使用的內(nèi)部支持函數(shù)。,Windows2000/ XP客戶/服務器結(jié)構(gòu)(1
26、3)6)系統(tǒng)進程,Idle進程:System進程和System :會話管理器SMSS.EXE: WIN32子系統(tǒng)CSRSS.EXE :登錄進程WinLogon.EXE:本地安全身份身份鑒別服務器進程LSASS.EXE:服務管理器SERVICES.EXE及其相關服務器進程:,Windows2000/ XP客戶/服務器結(jié)構(gòu)(14)7)服務控制器及服務進程,?一個特殊系統(tǒng)進程,負責啟動、停止和與服務控制器交互,并管理用戶態(tài)進程
27、服務。服務類似于UNIX的守護進程,可配置成在系統(tǒng)引導時自動啟動而不需交互式登錄。 ?服務程序是合法的Win32映象,這些映象調(diào)用特殊Win32函數(shù)以與服務控制器相互使用,例如,注冊、啟動、響應狀態(tài)請求、暫?;蜿P閉服務。一些組件是作為服務來實現(xiàn)的,如,事件日志、假脫機、RPC支持和網(wǎng)絡組件。,Windows2000/ XP客戶/服務器結(jié)構(gòu)(15)8)環(huán)境子系統(tǒng),Win32子系統(tǒng)是將基本的執(zhí)行體系統(tǒng)服務的某些子集提供給應用程序,向用戶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 操作系統(tǒng)課程設計——操作系統(tǒng)課程設計模擬操作系統(tǒng)
- 操作系統(tǒng)課程設計-- 操作系統(tǒng)
- 操作系統(tǒng)課程設計--模擬操作系統(tǒng)的實現(xiàn)
- 人防結(jié)構(gòu)設計與抗震結(jié)構(gòu)設計的探討
- 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設計
- 立式加工中心床身系統(tǒng)結(jié)構(gòu)設計及排屑系統(tǒng)結(jié)構(gòu)設計.doc
- 操作系統(tǒng)程序設計-操作系統(tǒng)模擬實現(xiàn)
- 立式加工中心床身系統(tǒng)結(jié)構(gòu)設計及排屑系統(tǒng)結(jié)構(gòu)設計.doc
- 內(nèi)存管理(操作系統(tǒng))操作系統(tǒng)課程設計
- 系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設計
- 立式加工中心床身系統(tǒng)結(jié)構(gòu)設計及排屑系統(tǒng)結(jié)構(gòu)設計.doc
- 立式加工中心床身系統(tǒng)結(jié)構(gòu)設計及排屑系統(tǒng)結(jié)構(gòu)設計.doc
- 建筑結(jié)構(gòu)設計中的抗震結(jié)構(gòu)設計研究
- 結(jié)構(gòu)設計人員如何開始結(jié)構(gòu)設計
- 立式加工中心床身系統(tǒng)結(jié)構(gòu)設計及排屑系統(tǒng)結(jié)構(gòu)設計論文.doc
- 立式加工中心床身系統(tǒng)結(jié)構(gòu)設計及排屑系統(tǒng)結(jié)構(gòu)設計論文.doc
- 《操作系統(tǒng)》的設計實現(xiàn)
- 操作系統(tǒng)課程設計-- geekos操作系統(tǒng)的研究與實現(xiàn)
- 實時操作系統(tǒng)設計
- 操作系統(tǒng)課程設計---geekos操作系統(tǒng)的研究與實現(xiàn)
評論
0/150
提交評論