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