第3講操作系統(tǒng)結構設計(東北大學嵌入式實時操作系統(tǒng))_第1頁
第3講操作系統(tǒng)結構設計(東北大學嵌入式實時操作系統(tǒng))_第2頁
第3講操作系統(tǒng)結構設計(東北大學嵌入式實時操作系統(tǒng))_第3頁
第3講操作系統(tǒng)結構設計(東北大學嵌入式實時操作系統(tǒng))_第4頁
第3講操作系統(tǒng)結構設計(東北大學嵌入式實時操作系統(tǒng))_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1.3 操作系統(tǒng)的結構設計1.3.1 操作系統(tǒng)的構件1.3.2 整體式結構的操作系統(tǒng)1.3.3 層次式結構的操作系統(tǒng)1.3.4 虛擬機結構的操作系統(tǒng)1.3.5 客戶/服務器與微內核結構的操作系統(tǒng)1.3.6 操作系統(tǒng)的運行模型1.3.7 Windows 2000/ XP的客戶/服務器結構1.3.1操作系統(tǒng)的結構設計操作系統(tǒng)結構設計概況(1) 操作系統(tǒng)設計呈現(xiàn)出以下特征: 一是復雜程度高, 二是生成周期長, 三是正確性難保證 。 例如,CTSS、OS/360、Multics 、Windows 2000 操作系統(tǒng)的結構設計概況(2)操作系統(tǒng)結構設計有兩層含義 一一. .是是研究操作系統(tǒng)程序的數據結構

2、和控制結構; 二二. .是是組成操作系統(tǒng)程序的構造過程和方法。采用不同的構件和構造方法可組成不同結構的操作系統(tǒng)。操作系統(tǒng)的構件(1)內核進程線程類程管程操作系統(tǒng)的構件(2)1、內核內核不是進程,是提供支持系統(tǒng)運行內核不是進程,是提供支持系統(tǒng)運行的基本功能的一組程序模塊,有了內的基本功能的一組程序模塊,有了內核的支撐,進程運行環(huán)境得到改善,核的支撐,進程運行環(huán)境得到改善,安全性得到保證,系統(tǒng)效率就能提高。安全性得到保證,系統(tǒng)效率就能提高。分類:微內核和單內核。分類:微內核和單內核。LinuxLinux是單內核操作系統(tǒng)是單內核操作系統(tǒng) ,MachMach是微是微內核操作系統(tǒng)內核操作系統(tǒng) ,Wind

3、ows2000/XPWindows2000/XP改進改進的的C/SC/S結構結構 。操作系統(tǒng)的構件操作系統(tǒng)的構件(3)(3)LinuxLinux的內核的內核LniuxLniux的模組的模組(module) (module) ,一定程度上,一定程度上解決了核心功能的靈活性和可伸縮性解決了核心功能的靈活性和可伸縮性問題。問題。LinusLinus曾經就結構問題做出過解釋:曾經就結構問題做出過解釋:現(xiàn)代成功的操作系統(tǒng)基本上都不具有現(xiàn)代成功的操作系統(tǒng)基本上都不具有微內核特性,因此,微內核特性,因此,LinuxLinux也不必是也不必是微內核結構操作系統(tǒng)。微內核結構操作系統(tǒng)。操作系統(tǒng)的構件(4)內核提供

4、以下三方面功能 1 1)中斷處理。)中斷處理。 2 2)短程調度。)短程調度。 3 3)原語管理。)原語管理。 操作系統(tǒng)的構件(5)內核的執(zhí)行有以下屬性 1 1)內核是由中斷驅動的)內核是由中斷驅動的 2 2)內核的執(zhí)行是連續(xù)的)內核的執(zhí)行是連續(xù)的 3 3)內核在屏蔽中斷狀態(tài)下執(zhí)行)內核在屏蔽中斷狀態(tài)下執(zhí)行 4 4)內核可以使用特權指令)內核可以使用特權指令 操作系統(tǒng)的構件(6) 內核和裸機組成了一臺虛擬機具有以下特性特性: 1 1)虛擬機沒有中斷,)虛擬機沒有中斷, 2 2)虛擬機為每個進程提供了一臺虛)虛擬機為每個進程提供了一臺虛擬處理器,擬處理器, 3 3)虛擬機為進程或模塊提供了功能)

5、虛擬機為進程或模塊提供了功能較強的指令系統(tǒng)。較強的指令系統(tǒng)。內核被觸發(fā)和內核處理流程 運行進程發(fā)現(xiàn)中斷源發(fā)現(xiàn)中斷源裝配中斷碼交換PSW自愿中斷事件保護現(xiàn)場分析和傳遞參數原語?原語處理創(chuàng)建系統(tǒng)進程系統(tǒng)調用處理強迫中斷事件機器故障中斷處理I/O中斷處理程序中斷處理隊列調整低級調度運行進程是否管態(tài)目態(tài)目態(tài)硬件完成操作系統(tǒng)內核完成外中斷處理創(chuàng)建系統(tǒng)進程操作系統(tǒng)的構件(7)2 2、進程、進程 進程是并發(fā)程序設計的一個工具,并發(fā)程序設計支撐了多道程序設計 操作系統(tǒng)的構件(8)進程概念使OS結構變得清晰(1) 1)一個進程到另一個進程的控制轉移由進程調度機構統(tǒng)一管理,不能雜亂無章,隨意進行。 2)進程間的信

6、號發(fā)送、消息傳遞和同步互斥由通信及同步機制完成,進程無法有意或無意破壞它進程的數據。每個進程相對獨立,相互隔離,提高了系統(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)進行調度的單位。操作系統(tǒng)的構件(11)4、管程管程管程是管理共享資源的機制,對管程的調用表示對共享資源的請求與釋放。管程應包含

7、條件變量,當條件不滿足時,可以通過對條件變量做延遲操作使調用進程等待,直到另一個進程調用管程過程并執(zhí)行一個釋放操作為止。操作系統(tǒng)的構件(12)5 5、類程、類程類程類程用于管理私有資源,對類程的調用表示對私有資源的操作。它僅能被進程及起源于同一進程的其它類程或管程嵌套調用鏈所調用。其本身也可以調用其它類程或管程。類程可以看作子程序概念的擴充。操作系統(tǒng)的構件(13)采用進程、管程、類程實現(xiàn)的操作系統(tǒng)進程執(zhí)行過程中若請求使用共享資源,可以調用管程;若要控制私有資源操作,可以調用類程,這樣便于使用高級語言來書寫操作系統(tǒng)。1975年,漢森成功地在PDP 11/45機上實現(xiàn)了:單用戶操作系統(tǒng)Solo、處

8、理小作業(yè)作業(yè)流系統(tǒng)和過程控制實時調度系統(tǒng)等三個層次管程結構的操作系統(tǒng)。操作系統(tǒng)體系結構分類 整體式結構層次式結構虛擬機結構客戶服務器及微內核結構1.3.2 整體式結構的操作系統(tǒng) 操作系統(tǒng)的整體式結構又叫模塊組合法,早期操作系統(tǒng)(如IBM操作系統(tǒng))采用這種結構設計方法, 主要設計思想: 主要設計步驟: 主要優(yōu)點和缺點:1.3.3 層次式結構的操作系統(tǒng)(1) 層次層次式結構結構是把操作系統(tǒng)劃分為內核和若干模塊(或進程),這些模塊(或進程)按功能的調用次序排列成若干層次,各層之間只能是單向依賴或單向調用關系,這樣不但系統(tǒng)結構清晰,而且不構成循環(huán)。層次式結構的操作系統(tǒng)(2) 層次結構的全序和半序式層次

9、結構的全序和半序式層次結構的由底向上方法層次結構的由底向上方法 和自頂向下方法和自頂向下方法 層次式結構的操作系統(tǒng)(3)構造層次結構OS分層原則 1)把與機器硬件有關的程序模塊放在最底層, 2)反映系統(tǒng)外特性的軟件放在最外層, 3)按照實現(xiàn)操作系統(tǒng)命令時模塊間的調用次序或按進程間單向發(fā)送信息的順序來分層 4)為進程的正常運行創(chuàng)造環(huán)境和提供條件的內核程序應該盡可能放在底層。 層次式結構的操作系統(tǒng)(4)層次結構的優(yōu)點:整體問題局部化,系統(tǒng)的正確性可通過各層正確性來保證。增加、修改或替換層次不影響其他層次,有利于系統(tǒng)的維護和擴充。層次結構是分層單向依賴的,必須要建立模塊(進程)間的通信機制,系統(tǒng)花費

10、在通信上的開銷較大,系統(tǒng)的效率也就會降低。層次式結構的操作系統(tǒng)(5) THE系統(tǒng)第一次提出層次結構設計方法 第第0 0層層完成中斷處理、定時器管理和處理器調度。第第1 1層層內存和磁鼓管理,為進程分配內存空間,并自動實現(xiàn)內存和磁鼓對換區(qū)的數據交換。第第2 2層層處理進程與操作員間的通信,為每個進程生成虛操作員控制臺。第第3 3層層I/O管理,管理信息緩沖區(qū)。第第4 4層層用戶(進程)層。第第5 5層層系統(tǒng)操作員(進程)層。1.3.4 虛擬機結構的操作系統(tǒng)(1) 基于如下思想,一個分時系統(tǒng)應該提供以下特性: (1) 多道程序, (2) 一個具有比裸機更方便、界面擴展的計算機。 VM/370的主旨

11、在于將此二者徹底地隔離開來。虛擬機結構的操作系統(tǒng)(2) 物理計算機資源通過多重化和共享技術可改變成多個虛擬機?;咀龇ǎ和ㄟ^用一類物理設備來模擬另一類物理設備,或通過分時地使用一類物理設備,把一個物理實體改變成若干個邏輯上的對應物。物理實體是實際存在的,而邏輯上的對應物是虛幻的、感覺上的。 虛擬機結構的操作系統(tǒng)(3) 程序設計接口進程內核虛機器硬件進程內核進程內核 CMS CMS CMS 370虛擬機虛擬機系統(tǒng)調用系統(tǒng)調用陷入陷入陷入陷入I/O指令指令運行CMS的VM370虛擬機器虛擬機概念結構 370裸機裸機VM3701.3.5 客戶/服務器與微內核結構操作系統(tǒng)(1) 1 1、客戶、客戶/

12、/服務器與微內核結構服務器與微內核結構 客戶/服務器結構的思想:將操作系統(tǒng)分成兩大部分, 一是運行在用戶態(tài)并以C/S方式活動的進程; 二是運行在核心態(tài)的內核。 客戶/服務器與微內核結構操作系統(tǒng)(2)客戶/服務器結構的思想(1)每個進程實現(xiàn)一類服務,稱服務器進程(如文件服務、進程管理服務、存儲管理服務、網絡通信服務等)。它的任務是檢查是否有客戶提出服務請求,如果有請求則在滿足客戶的要求后返回結果,于是,用戶進程與服務器進程形成了C/S關系。客戶/服務器與微內核結構操作系統(tǒng)(3)客戶/服務器結構的思想(2)運行在核心態(tài)的內核把該消息傳給服務器;服務器執(zhí)行相應操作,再通過內核用消息把結果返回給用戶。

13、內核只實現(xiàn)極少任務,主要起信息驗證、交換的作用,因而,稱微內核(Microkernel),這種結構也就稱為客戶/服務器與微內核結構??蛻?服務器與微內核結構操作系統(tǒng)(4) 1) 分層結構內核2) 微內核進程管理硬件存儲管理設備管理文件管理作業(yè)管理內核模式微內核硬件客戶進程安全服務虛存管理器文件服務器設備驅動程序用戶模式客戶/服務器與微內核結構操作系統(tǒng)(5)微內核結構的優(yōu)點有: 1)一致性接口 2)可擴充性 3)可移植性 4)可靠性 5)支持分布式系統(tǒng) 6)支持面向對象的操作系統(tǒng) 客戶/服務器與微內核結構操作系統(tǒng)(6)2 2、微內核的設計、微內核的設計 1 1)基本的存儲管理)基本的存儲管理 微

14、內核支持內核外部的頁面管理和虛存管理: 轉讓(轉讓(GrantGrant) 映射映射 (Map)(Map) 刷新(刷新(FlushFlush)客戶/服務器與微內核結構操作系統(tǒng)(7)內核外的頁面管理程序做缺頁處理 微內核應用進程頁面管理程序缺頁中斷恢復地址空間函數調用客戶/服務器與微內核結構操作系統(tǒng)(8)2 2)進程間通信)進程間通信微內核操作系統(tǒng)中,進程和線程通信的基本形式是消息。進程間通信基于進程間相關聯(lián)的端口(Ports),一個端口是一個特定進程的消息隊列,與端口相關的是一張能力表,記錄了可以與這個進程通信的進程。客戶/服務器與微內核結構操作系統(tǒng)(9)3 3)I/OI/O和中斷管理和中斷管

15、理driver thread;do wait for (mhg, sender); if sender = my_hardware_interrupt read/writer I/O ports; reset hardware interrut else while (true);1.3.6 操作系統(tǒng)的運行模型(1)操作系統(tǒng)本身是一組程序,也在處理器上運行,那么,操作系統(tǒng)程序是否組織成進程?它是如何控制的、怎樣執(zhí)行的呢?它在什么模式下運行呢? 從操作系統(tǒng)的運行方式來看,可分成:非進程內核模型、OS功能(函數)在用戶進程內執(zhí)行的模型和OS功能(函數)作為進程執(zhí)行的模型。操作系統(tǒng)的運行模型(2)1

16、 1)非進程內核模型)非進程內核模型操作系統(tǒng)內核操作系統(tǒng)內核P P1 1P P2 2P Pn n操作系統(tǒng)運行模型(3)2)OS功能在用戶進程內執(zhí)行的模型功能在用戶進程內執(zhí)行的模型進程切換函數進程切換函數OSOSfuncfuncOSOSfuncfuncOSOSfuncfuncP P1 1P P2 2P Pn n操作系統(tǒng)運行模型(4) OS功能在用戶進程內執(zhí)行模型的進程映像進程控制塊用戶堆棧用戶私有地址空間(程序、數據)共享地址空間內核堆棧操作系統(tǒng)的運行模型(5)3 3)OSOS功能作為獨立進程執(zhí)行的模型功能作為獨立進程執(zhí)行的模型進程切換函數進程切換函數P P1 1P P2 2P Pn nOSOS

17、1 1OSOS2 2OSOSm m1.3.7Windows 2000/ XP1.3.7Windows 2000/ XP客戶客戶/ /服務器服務器結構結構(1)(1) Windows 2000/XP系統(tǒng)結構的設計目標: 1)可擴充性: 2)可移植性: 3)可靠性與堅固性: 4)兼容性: 5)高性能:Windiws2000/ XP客戶/服務器結構(2) 采用基于對象技術,提出了一種C/S系統(tǒng)結構,該結構在純微內核結構的基礎上做了擴展,融合了層次式結構和純微內核結構的特點。對操作系統(tǒng)性能影響很大的組件放在內核下運行,其他功能則在內核外實現(xiàn)。主要優(yōu)點是模塊化程度高、靈活性大、便于維護、系統(tǒng)性能好。 W

18、indows2000/XP客戶客戶/ /服務器結構服務器結構(3)(3)結構簡框 系統(tǒng)進程服務進程應用程序環(huán)境子系統(tǒng) 子系統(tǒng)動態(tài)鏈接庫用戶態(tài)核心態(tài) 執(zhí)行體 核心 設備驅動程序 硬件抽象層圖形引擎Windows2000/ XPWindows2000/ XP客戶客戶/ /服務器結構服務器結構(4)(4) 系統(tǒng)線程NTDLL.DLLService.exeRPCSpooler事件日志服務進程任務管理器IE瀏覽器用戶程序子系統(tǒng)DLL應用程序POSIXOS2WIN32環(huán)境子系統(tǒng)服務管理器安全驗證Win登錄會話管理器系統(tǒng)進程核心態(tài)用戶態(tài)Win32 UserGDI圖形驅動器硬件抽象層(HAL)設備驅動程序內核

19、對象管理器核心態(tài)可調用接口(執(zhí)行程序API)系統(tǒng)服務調度進程I/O管理器文件緩存管理 進程線 程管理安全訪問監(jiān)視虛存管理局部過程調用注冊表配置管理器電源管理器即插即用管理硬件接口(總線、I/O、時鐘、計時器、中斷、DMA、CACHE控制器) Windows2000/ XPWindows2000/ XP客戶客戶/ /服務器結構服務器結構(5)(5)1)硬件抽象層HALHAL是實現(xiàn)可移植性的關鍵部分,位于硬件最上面和系統(tǒng)的最低層,把系統(tǒng)的內核、設備驅動程序及執(zhí)行體從與平臺相關的硬件差異中分隔開來。HAL隱藏各種與硬件有關的細節(jié),如系統(tǒng)總線、計時器、I/O接口、DMA、中斷控制器、多處理器通信機制等

20、,對內核來說是運行在計算機硬件平臺上的低級接口。 Windows2000/ XP客戶/服務器結構(6)2)設備驅動程序(1)設備驅動程序是I/O系統(tǒng)和相關硬件之間的接口,把用戶的I/O函數調用轉換成特定硬件設備的I/O要求。設備驅動程序不直接操作硬件,而是調用HAL來控制硬件的接口。 Windows2000/ XPWindows2000/ XP客戶客戶/ /服務器結構服務器結構(7)(7)設備驅動程序(2)設備驅動程序包括以下幾類:(1)硬件設備驅動程序: (2)文件系統(tǒng)驅動程序:(3)過濾器驅動程序: (4)網絡重定向程序和服務器:Windows2000/ XP客戶/服務器結構(8)3)內核

21、 內核執(zhí)行操作系統(tǒng)最基本的操作,決定操作系統(tǒng)如何使用處理器并確保慎重使用它們。內核提供如下函數: (1) 線程管理和調度; (2) 進程切換; (3) 陷阱處理和異常調度;Windows2000/ XP客戶/服務器結構(9) 內核提供如下函數: (4)中斷處理和調度;(5)多處理器同步;(6)提供由執(zhí)行體使用的基本內核對象。Windows2000/ XPWindows2000/ XP客戶客戶/ /服務器結構服務器結構(10)(10)4)4)Windows 2000/XP執(zhí)行體執(zhí)行體包括五種類型函數:(1)從用戶態(tài)被導出并且可以調用的函數。(2)從用戶態(tài)被導出并且可以調用的函數,(3)只能從在 DDK中已經導出并且文檔化的核心態(tài)調用的函數。(4)在核心態(tài)組件之間調用的但沒有文檔化的函數。(5)組件內部的函數。Windows2000/ XPWindows2000/ XP客戶客戶/ /服務器結構服務器結構(11)(11)執(zhí)行體包含下列重要組件進程和線程管理器虛擬內存管理器 安全訪問監(jiān)視器 I/O管理器 高速緩存管理器 Windows2000/ XPWindows2000/ XP客戶客戶/ /服務器結構服務器結構(12)(12)5)NTDLL.DLL NTDLL.DLL是特殊的系統(tǒng)支持庫,用于子系統(tǒng)動態(tài)鏈接庫。包含兩類函

溫馨提示

  • 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

提交評論