OS之操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì).ppt_第1頁(yè)
OS之操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì).ppt_第2頁(yè)
OS之操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì).ppt_第3頁(yè)
OS之操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì).ppt_第4頁(yè)
OS之操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì).ppt_第5頁(yè)
已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、操作系統(tǒng)的設(shè)計(jì) 操作系統(tǒng)設(shè)計(jì)目標(biāo) 1、可靠性 正確性 困難:并發(fā)性、共享性、隨機(jī)性(中斷) 健壯性(魯棒性),2、高效性 多道程序設(shè)計(jì)的目標(biāo)是提高資源利用率,但系統(tǒng)開(kāi)銷(xiāo)加大。 Tu:運(yùn)行目態(tài)程序所用的時(shí)間 Tsu:運(yùn)行管態(tài)程序?yàn)橛脩?hù)服務(wù)所用的時(shí)間 Tsm:運(yùn)行管態(tài)程序做系統(tǒng)管理工作所用的時(shí)間 系統(tǒng)運(yùn)行效率: =(Tu+Tsu)/(Tu+Tsu+Tsm),3、易維護(hù) 易讀性 易擴(kuò)充性 易修改性 易裁減性 4、易移植性 5、安全性 6、可適應(yīng)性 7、簡(jiǎn)明性,設(shè)計(jì)一個(gè)操作系統(tǒng)主要包括 功能設(shè)計(jì) 算法設(shè)計(jì) 結(jié)構(gòu)設(shè)計(jì),操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì),結(jié)構(gòu)設(shè)計(jì): 按照系統(tǒng)的功能和特性要求,選擇合適的結(jié)構(gòu),使用相應(yīng)的結(jié)

2、構(gòu)設(shè)計(jì)方法將系統(tǒng)逐步地分解、抽象和綜合,使操作系統(tǒng)結(jié)構(gòu)清晰、簡(jiǎn)單、可靠、易讀、易修改,而且使用方便,適應(yīng)性強(qiáng),操作系統(tǒng)的結(jié)構(gòu): 整體式結(jié)構(gòu) 層次式結(jié)構(gòu) 進(jìn)程分層結(jié)構(gòu) 層次管程結(jié)構(gòu) 客戶(hù)-服務(wù)器結(jié)構(gòu),整體式結(jié)構(gòu) 模塊接口法(無(wú)序模塊法,模塊組合法) 首先確定操作系統(tǒng)的總體功能,然后將總功能分解為若干個(gè)子功能,實(shí)現(xiàn)每個(gè)子功能的模塊稱(chēng)為模塊。繼續(xù)分解,直至每個(gè)模塊僅包含單一功能為止。最后通過(guò)接口將所有模塊連接起來(lái)形成一個(gè)整體,特點(diǎn):根據(jù)功能劃分模塊 數(shù)據(jù)基本上作為全局量使用 在系統(tǒng)內(nèi)部,不同模塊程序之間 可以不加控制地互相調(diào)用和轉(zhuǎn)移 信息的傳遞方式 可根據(jù)需要隨意約定 因而造成模塊間的循環(huán)調(diào)用,優(yōu)點(diǎn)

3、: 結(jié)構(gòu)緊密 接口簡(jiǎn)單直接 模塊間轉(zhuǎn)接的靈活性使系統(tǒng)效率高,缺點(diǎn)(1): 由于模塊之間可以任意相互調(diào)用,形成網(wǎng)絡(luò),各模塊互相聯(lián)系,獨(dú)立性差,系統(tǒng)結(jié)構(gòu)不清晰 數(shù)據(jù)作為全局量處理,系統(tǒng)內(nèi)各模塊均可對(duì)其進(jìn)行存取和修改,造成模塊間更為隱蔽的關(guān)系,使得難于對(duì)軟件結(jié)構(gòu)作出綜合性的理解,難于修改,可靠性、易讀性、適應(yīng)性難以保證,缺點(diǎn)(2): 由于模塊接口法常以大型表格為中心,為保證數(shù)據(jù)完整性,往往采用全局封中斷的方法,從而限制了系統(tǒng)的并發(fā)性,結(jié)論,可適應(yīng)性較差 適用于 規(guī)模較小 使用環(huán)境比較穩(wěn)定 卻要求效率較高的系統(tǒng),用戶(hù)程序2,用戶(hù)程序1,服務(wù)例程,分配表,1,2,3,4,主存,用戶(hù)程序 在用戶(hù)態(tài)運(yùn)行,操

4、作系統(tǒng) 在核心態(tài)運(yùn)行,2. 層次式結(jié)構(gòu) 按此模型構(gòu)造的第一個(gè)操作系統(tǒng)是 E.W.Dijkstra和他的學(xué)生 在荷蘭開(kāi)發(fā)的THE系統(tǒng)(1968年),THE系統(tǒng)分為六層: 層次功能 5 操作員 4 用戶(hù)程序 3 輸入/輸出管理 2 操作員-進(jìn)程通信 1 內(nèi)存和磁盤(pán)管理 0 處理器分配和多道程序,3. 進(jìn)程分層結(jié)構(gòu) 采用進(jìn)程概念后 把含有并發(fā)活動(dòng)的系統(tǒng) 分為若干異步運(yùn)行的 與時(shí)間無(wú)關(guān)的順序程序模塊 操作系統(tǒng)的任務(wù)就是 協(xié)調(diào)這些異步運(yùn)行的進(jìn)程 使它們能夠協(xié)調(diào)工作,進(jìn)程分層結(jié)構(gòu) 把系統(tǒng)中所有的進(jìn)程模塊 按照一定的原則排列在若干層上 并要求這些層間是一種單向依賴(lài)關(guān)系 系統(tǒng)由 一個(gè)核心和位于各層上的若干進(jìn)程

5、組成,優(yōu)點(diǎn): 進(jìn)程模塊的獨(dú)立性強(qiáng)、易維護(hù)、易調(diào)整 整個(gè)系統(tǒng)結(jié)構(gòu)清晰、形式整齊劃一 缺點(diǎn): 由于系統(tǒng)中所有進(jìn)程的控制轉(zhuǎn)移、通訊等任務(wù)全部交給系統(tǒng)的核心去管理,要花費(fèi)一定的代價(jià),主要缺點(diǎn)有: 每一個(gè)進(jìn)程必須設(shè)立進(jìn)程控制塊 用以保留進(jìn)程的狀態(tài)信息 增加了內(nèi)存開(kāi)銷(xiāo) 進(jìn)程間控制轉(zhuǎn)移、狀態(tài)保留及信息傳送 均由核心管理 時(shí)間消耗多,效率下降 系統(tǒng)并發(fā)活動(dòng)過(guò)多,調(diào)度負(fù)擔(dān)過(guò)重 且同步操作過(guò)于分散 易于造成死鎖,影響了系統(tǒng)的安全性,4、虛擬機(jī)結(jié)構(gòu),系統(tǒng)調(diào)用,陷入,陷入,I/O指令,CMS,CMS,CMS,370虛擬機(jī),VM/370,370裸機(jī),虛擬機(jī)思想的應(yīng)用:在奔騰CPU上運(yùn)行老的MS-DOS程序 Intel在

6、奔騰芯片上提供了一個(gè)虛擬8086模式,在此模式下,奔騰機(jī)就像一臺(tái)8086計(jì)算機(jī)一樣,包括1M字節(jié)內(nèi)的16位尋址方式,虛擬8086模式被Windows、OS/2及其他操作系統(tǒng)用于運(yùn)行MS-DOS程序。程序在虛擬8086模式下啟動(dòng),執(zhí)行一般的指令時(shí)它們?cè)诼銠C(jī)上運(yùn)行。但是,當(dāng)一個(gè)程序試圖陷入系統(tǒng)來(lái)執(zhí)行一條系統(tǒng)調(diào)用時(shí),或者試圖執(zhí)行受保護(hù)的I/O操作時(shí),將發(fā)生一條虛擬機(jī)監(jiān)控程序的陷入,兩種設(shè)計(jì)方法: 第一種:MS-DOS本身被裝入虛擬8086模式的地址空間,虛擬機(jī)僅僅將該陷入傳回給DOS 第二種:虛擬機(jī)監(jiān)控程序僅僅捕獲第一條陷入并自己執(zhí)行I/O操作。,IBM390與Linux: Linux在S/390下

7、有三種實(shí)現(xiàn)模式: 本地運(yùn)行模式:即獨(dú)立運(yùn)行模式,Linux可以不依賴(lài)S/390自己的任何操作系統(tǒng)完整地運(yùn)行 邏輯分區(qū)運(yùn)行模式:Linux在S/390的硬件邏輯分區(qū)內(nèi)運(yùn)行,S/390最大支持15個(gè)獨(dú)立的邏輯分區(qū) VM/ESA模式:把Linux當(dāng)成一個(gè)虛擬機(jī)來(lái)運(yùn)行,VM提供虛擬的CPU、I/O子系統(tǒng)和內(nèi)存資源,IBM390與Linux: 用戶(hù)既可以選擇把OS/390與Linux共存,只是簡(jiǎn)單地共享硬件,也可以將兩者設(shè)置成客戶(hù)/服務(wù)器模式來(lái)應(yīng)用,非常靈活,為了控制并發(fā)程序設(shè)計(jì)的復(fù)雜性 使并發(fā)程序易于理解和易于保證其正確性 吸取模塊組合結(jié)構(gòu)和進(jìn)程分層結(jié)構(gòu)優(yōu)點(diǎn) 不斷尋求一種抽象的概念和嚴(yán)格的表示法 發(fā)展

8、了以數(shù)據(jù)為中心的模塊概念 和操作系統(tǒng)的層次管程結(jié)構(gòu),5. 層次管程結(jié)構(gòu),系統(tǒng)按資源管理的觀(guān)點(diǎn)分解成若干模塊,用數(shù)據(jù)表示抽象系統(tǒng)資源,同時(shí)分析了共享資源和專(zhuān)用資源在管理上的差別,按不同的管理方式定義模塊的類(lèi)型和結(jié)構(gòu),使同步操作相對(duì)集中,從而增加了模塊的相對(duì)獨(dú)立性,從功能和實(shí)現(xiàn)相結(jié)合的觀(guān)點(diǎn)出發(fā),從系統(tǒng)中提煉出管程、類(lèi)程、一般模塊和進(jìn)程等幾種基本成分,使一個(gè)復(fù)雜的系統(tǒng)可分解為由這幾種基本成分構(gòu)成的模型 在分解和提煉這些模塊的基礎(chǔ)上,將它們按照一定的準(zhǔn)則編入各層,包括核心在內(nèi) 核心是最內(nèi)層,可看成是管理中央處理機(jī)的一個(gè)專(zhuān)門(mén)管程 最外層是反映系統(tǒng)并發(fā)度的若干管程、類(lèi)程和一般模塊 稱(chēng)操作系統(tǒng)的這種結(jié)構(gòu)為層

9、次管程結(jié)構(gòu) 這種結(jié)構(gòu)設(shè)計(jì)方法為PCM方法,層次管程結(jié)構(gòu)的優(yōu)點(diǎn)(1): 結(jié)構(gòu)清晰統(tǒng)一 同步操作相對(duì)集中,增加系統(tǒng)安全性 用高級(jí)語(yǔ)言書(shū)寫(xiě)程序 可以縮短系統(tǒng)的研制周期 利用編譯時(shí)檢查取代硬件保護(hù)機(jī)構(gòu) 更加靈活 降低了運(yùn)行時(shí)檢查的開(kāi)銷(xiāo),層次管程結(jié)構(gòu)的優(yōu)點(diǎn)(2): 由于只有進(jìn)程是系統(tǒng)中并發(fā)執(zhí)行單位 因此可按照系統(tǒng)要求的并發(fā)度 設(shè)置進(jìn)程 由于去掉了不必要的平行性 從而減少了系統(tǒng)開(kāi)銷(xiāo),層次管程結(jié)構(gòu)的局限性(1) 管程概念的一重要特征是 保證模塊內(nèi)數(shù)據(jù)的完整性 為了保證每一管程所管理的數(shù)據(jù)的完整性 可采用局部互斥技術(shù),或縮小臨界區(qū) 但在解決任意管程嵌套調(diào)用問(wèn)題時(shí) 僅是局部互斥難于實(shí)現(xiàn) 要根據(jù)具體情況,或采用全

10、局互斥 或采用限制嵌套類(lèi)型與重?cái)?shù)等策略 導(dǎo)致使用范圍受到限制,層次管程結(jié)構(gòu)的局限性(2) 資源管理局部化增加了 模塊的獨(dú)立性和系統(tǒng)的安全性 但對(duì)全局性資源 或同時(shí)涉及多個(gè)資源的管理時(shí) 不方便 這也是引起管程嵌套調(diào)用的一個(gè)因素,管程: 記錄、協(xié)調(diào)各進(jìn)程對(duì)臨界資源使用要求 供進(jìn)程實(shí)現(xiàn)同步與互斥 并完成對(duì)共享變量的修改 類(lèi)程: 指一個(gè)專(zhuān)用(獨(dú)占)的數(shù)據(jù)結(jié)構(gòu) 以及在此數(shù)據(jù)結(jié)構(gòu)上定義的所有操作 進(jìn)程: 執(zhí)行單位 實(shí)現(xiàn)系統(tǒng)中并發(fā)工作的基本成分,管程、類(lèi)程與進(jìn)程的比較,建立于進(jìn)程、類(lèi)程、管程基礎(chǔ)上的系統(tǒng)結(jié)構(gòu)模式 是從各進(jìn)程出發(fā) 對(duì)類(lèi)程和管程的一系列嵌套調(diào)用 直到系統(tǒng)核心,6. 客戶(hù)- 服務(wù)器結(jié)構(gòu)(微內(nèi)核)

11、現(xiàn)代操作系統(tǒng)的一個(gè)趨勢(shì) 將傳統(tǒng)操作系統(tǒng)大部分代碼分離出來(lái) 放在更高的層次上 即從操作系統(tǒng)中去掉盡可能多的東西 而只留一個(gè)最小的核心,通常的實(shí)現(xiàn)方法 將多數(shù)操作系統(tǒng)功能由用戶(hù)進(jìn)程來(lái)實(shí)現(xiàn) 核心:只處理客戶(hù)與服務(wù)器間的通信 操作系統(tǒng)被分割成許多部分 每一部分只處理一方面的功能 如文件服務(wù)、進(jìn)程服務(wù)、終端服務(wù) 或存儲(chǔ)器服務(wù)等,在微內(nèi)核上建有應(yīng)用運(yùn)行環(huán)境的服務(wù)器 Workspace OS稱(chēng)之為個(gè)性服務(wù)器 Windows NT稱(chēng)之為保護(hù)子系統(tǒng) 微內(nèi)核操作系統(tǒng)可提供多種OS運(yùn)行環(huán)境,微內(nèi)核結(jié)構(gòu)的設(shè)計(jì)目標(biāo): 為構(gòu)造其他操作系統(tǒng)提供基礎(chǔ) 支持大而稀疏的空間 能透明地使用網(wǎng)絡(luò)資源 在系統(tǒng)一級(jí)和應(yīng)用一級(jí)均可拓展并行

12、性 高度的可移植性,途徑: 1、把傳統(tǒng)意義上屬于操作系統(tǒng)的代碼 由低層移向高層 由核心移向用戶(hù) 要增加新功能僅需加結(jié)點(diǎn) 2、消息傳送機(jī)制 Client/Server,特點(diǎn): 每一部分變得很小,更易于管理 所有服務(wù)器以用戶(hù)進(jìn)程的形式運(yùn)行 而不是運(yùn)行在核心態(tài) 所以它們不直接訪(fǎng)問(wèn)硬件 這樣處理的結(jié)果: 假如在文件服務(wù)器中發(fā)生錯(cuò)誤 文件服務(wù)器可能崩潰 但不會(huì)導(dǎo)致整個(gè)系統(tǒng)的崩潰,客戶(hù)/服務(wù)器模型另一個(gè)優(yōu)點(diǎn) 適用于分布式系統(tǒng) 如果一個(gè)客戶(hù)通過(guò)消息傳遞 與服務(wù)器通信 客戶(hù)無(wú)需知道 消息是在本機(jī)處理 還是通過(guò)網(wǎng)絡(luò)送給遠(yuǎn)程機(jī)器的服務(wù)器,優(yōu)點(diǎn): 易于擴(kuò)充,易于移植 提高系統(tǒng)的可靠性 提供多種操作環(huán)境 適宜于分布計(jì)

13、算模式 有助于多處理器系統(tǒng)的實(shí)現(xiàn) 支持實(shí)時(shí)任務(wù),缺點(diǎn): 消息傳遞方式增加開(kāi)銷(xiāo) 使響應(yīng)變慢 幾個(gè)商品化系統(tǒng): NextStep XINU,OSF/1 1.3, Workspace OS,Chorus/Mix V.4 Mac G3,Windows NT,QNX,CTOS,應(yīng)用程序,微內(nèi)核操作系統(tǒng),DOS服務(wù)器,UNI服務(wù)器,VMS服務(wù)器,OS/2服務(wù)器,基于微內(nèi)核的開(kāi)放式系統(tǒng)環(huán)境,系統(tǒng)程序接口 (SPI),應(yīng)用程序接口 (API),客戶(hù) 進(jìn)程,客戶(hù) 進(jìn)程,進(jìn)程 服務(wù)器,終端 服務(wù)器,文件 服務(wù)器,內(nèi)存 服務(wù)器,。,核心,客戶(hù)向服務(wù)器進(jìn)程發(fā)送 消息,以獲得服務(wù),客戶(hù)服務(wù)器模型,客戶(hù)向服務(wù)器發(fā)送 消息

14、,以獲得服務(wù),一個(gè)分布式系統(tǒng)中的客戶(hù)服務(wù)器模型,機(jī)器1,客戶(hù),核心,機(jī)器2,文件服務(wù)器,核心,機(jī)器3,進(jìn)程服務(wù)器,核心,機(jī)器4,終端服務(wù)器,核心,其他設(shè)計(jì)問(wèn)題 1、接口設(shè)計(jì) 用戶(hù)界面設(shè)計(jì) 程序設(shè)計(jì)接口 2、一些實(shí)現(xiàn)技術(shù) 策略與機(jī)制的分離 靜態(tài)結(jié)構(gòu)與動(dòng)態(tài)結(jié)構(gòu) 自頂向下的實(shí)現(xiàn)與自底向上的實(shí)現(xiàn) 隱藏硬件細(xì)節(jié) 間接處理,補(bǔ)充:Windows 2000/XP系統(tǒng)模型,融合了分層操作系統(tǒng)和微內(nèi)核操作系統(tǒng)的設(shè)計(jì)思想,使用面向?qū)ο蟮姆治雠c設(shè)計(jì),采用整體式的實(shí)現(xiàn) Windows 2000/XP通過(guò)硬件機(jī)制實(shí)現(xiàn)了核心態(tài)以及用戶(hù)態(tài)兩個(gè)特權(quán)級(jí)別 。對(duì)性能影響很大的操作系統(tǒng)組件運(yùn)行在核心態(tài)。核心內(nèi)沒(méi)有保護(hù)。 設(shè)計(jì)充分體

15、現(xiàn)了機(jī)制與策略分離的思想,Windows 2000/XP的核心態(tài)組件使用了面向?qū)ο笤O(shè)計(jì)原則 出于可移植性以及效率因素的考慮,大部分代碼使用了基于C語(yǔ)言的對(duì)象實(shí)現(xiàn)。 Windows 2000/XP的很多系統(tǒng)服務(wù)運(yùn)行在核心態(tài),這使得Windows 2000/XP更加高效,而且也是相當(dāng)穩(wěn)定的,1、Windows 2000/XP的構(gòu)成,用戶(hù)態(tài)組件 系統(tǒng)支持進(jìn)程(system support process),不是Windows 2000/XP服務(wù),不由服務(wù)控制器啟動(dòng) 服務(wù)進(jìn)程(service process),Windows 2000/XP的服務(wù) 環(huán)境子系統(tǒng)(enviroment subsystems

16、),它們向應(yīng)用程序提供操作系統(tǒng)功能調(diào)用接口包括:Win32、POSIX和OS/2 1.2 應(yīng)用程序(user applications),五種類(lèi)型:Win32、Windows 3.1、MS-DOS、POSIX 或OS/2 1.2 子系統(tǒng)動(dòng)態(tài)鏈接庫(kù):調(diào)用層轉(zhuǎn)換和映射,核心態(tài)組件 核心(kernel)包含了最低級(jí)的操作系統(tǒng)功能,例如線(xiàn)程調(diào)度、中斷和異常調(diào)度、多處理器同步等。同時(shí)它也提供了執(zhí)行體(Executive)用來(lái)實(shí)現(xiàn)高級(jí)結(jié)構(gòu)的一組例程和基本對(duì)象 執(zhí)行體包含基本的操作系統(tǒng)服務(wù),例如內(nèi)存管理器、進(jìn)程和線(xiàn)程管理、安全控制、I/O以及進(jìn)程間的通信。 硬件抽象層(HAL, Hardware Abstr

17、action Layer)將內(nèi)核、設(shè)備驅(qū)動(dòng)程序以及執(zhí)行體同硬件分隔開(kāi)來(lái),實(shí)現(xiàn)硬件映射 設(shè)備驅(qū)動(dòng)程序(Device Drivers)包括文件系統(tǒng)和硬件設(shè)備驅(qū)動(dòng)程序等,其中硬件設(shè)備驅(qū)動(dòng)程序?qū)⒂脩?hù)的I/O函數(shù)調(diào)用轉(zhuǎn)換為對(duì)特定硬件設(shè)備的I/O請(qǐng)求 窗口和圖形系統(tǒng)包含了實(shí)現(xiàn)圖形用戶(hù)界面(GUI,Graphical User Interface)的基本函數(shù),2、可移植性的獲得,兩種手段 分層的設(shè)計(jì)。依賴(lài)于處理器體系結(jié)構(gòu)或平臺(tái)的系統(tǒng)底層部分被隔離在單獨(dú)的模塊之中,系統(tǒng)的高層可以被屏蔽在千差萬(wàn)別的硬件平臺(tái)之外。提供操作系統(tǒng)可移植性的兩個(gè)關(guān)鍵組件是HAL和內(nèi)核。依賴(lài)于體系結(jié)構(gòu)的功能在內(nèi)核中實(shí)現(xiàn),在相同體系結(jié)構(gòu)中

18、,因計(jì)算機(jī)而異的功能在HAL中實(shí)現(xiàn) Windows 2000/XP大量使用高級(jí)語(yǔ)言執(zhí)行體、設(shè)備驅(qū)動(dòng)程序等用C語(yǔ)言編寫(xiě),圖形用戶(hù)界面用C+編寫(xiě)。只有那些必須和系統(tǒng)硬件直接通信的操作系統(tǒng)部分,或性能極度敏感的部分是用匯編語(yǔ)言編寫(xiě)的。匯編語(yǔ)言代碼分布集中且少,3、對(duì)稱(chēng)多處理器支持,代碼對(duì)處理器的可伸縮性好 IPC和鎖機(jī)制完善 核心態(tài)組件代碼可重入程度極高 多優(yōu)先級(jí)占式調(diào)度,多數(shù)核心態(tài)組件代碼都可以被搶占 設(shè)計(jì)抽象度高,SMP硬件設(shè)置對(duì)絕大多數(shù)組件不可見(jiàn)、也無(wú)需關(guān)心,Windows 2000/XP的關(guān)鍵系統(tǒng)組件,內(nèi)核,功能 線(xiàn)程安排和調(diào)度 陷阱處理和異常調(diào)度 中斷處理和調(diào)度 多處理器同步 供執(zhí)行體使用

19、的基本內(nèi)核對(duì)象 始終運(yùn)行在核心態(tài),代碼精簡(jiǎn),可移植性好。除了中斷服務(wù)例程(ISR,interrupt service routine),正在運(yùn)行的線(xiàn)程不能搶先內(nèi)核,內(nèi)核對(duì)象 幫助控制、處理并支持執(zhí)行體對(duì)象的操作,以降低系統(tǒng)策略代價(jià) 控制對(duì)象,這個(gè)對(duì)象集和包括內(nèi)核進(jìn)程對(duì)象、異步過(guò)程調(diào)用(APC,asynchronous procedure call)對(duì)象、延遲過(guò)程調(diào)用(DPC,deferred procedure call)對(duì)象和幾個(gè)由I/O系統(tǒng)使用的對(duì)象,例如中斷對(duì)象 調(diào)度程序?qū)ο蠹县?fù)責(zé)同步操作并影響線(xiàn)程調(diào)度。調(diào)度程序?qū)ο蟀▋?nèi)核線(xiàn)程、互斥體(Mutex)、事件(Event)、內(nèi)核事件對(duì)、信

20、號(hào)量(Semaphore)、定時(shí)器和可等待定時(shí)器,內(nèi)核與硬件 使得執(zhí)行體和設(shè)備驅(qū)動(dòng)程序同硬件無(wú)關(guān) 實(shí)現(xiàn)手段:一組在多個(gè)體系結(jié)構(gòu)上可移植、同語(yǔ)義的接口 內(nèi)核也有部分代碼不具有移植性 支持虛擬8086模式的代碼,用以運(yùn)行一些古老的16位DOS程序 高速緩存管理 描述表切換,硬件抽象層(HAL),實(shí)際硬件與Windows 2000/XP抽象計(jì)算機(jī)描述的接口層和功能映射層 隱藏各種與硬件有關(guān)的細(xì)節(jié),例如I/O接口、中斷控制器以及多處理器通信機(jī)制等 實(shí)現(xiàn)多種硬件平臺(tái)上的可移植性,執(zhí)行體,提供的功能性調(diào)用 從用戶(hù)態(tài)導(dǎo)出并且可以調(diào)用的函數(shù)。這些函數(shù)的接口在NTDLL.DLL中。通過(guò)Win32API或一些其他

21、的環(huán)境子系統(tǒng)可以對(duì)它們進(jìn)行訪(fǎng)問(wèn)。 從用戶(hù)態(tài)導(dǎo)出并且可以調(diào)用的函數(shù),但當(dāng)前通過(guò)任何文檔化的子系統(tǒng)函數(shù)都不能使用。 在Windows 2000 DDK中已經(jīng)導(dǎo)出并且文檔化的核心態(tài)調(diào)用的函數(shù)。 在核心態(tài)組件中調(diào)用但沒(méi)有文檔化的函數(shù)。例如在執(zhí)行體內(nèi)部使用的內(nèi)部支持例程。 組件內(nèi)部的函數(shù)。,包含的功能實(shí)體 進(jìn)程和線(xiàn)程管理器創(chuàng)建及中止進(jìn)程和線(xiàn)程。對(duì)進(jìn)程和線(xiàn)程的基本支持在Windows 2000內(nèi)核中實(shí)現(xiàn),而執(zhí)行體給這些低級(jí)對(duì)象添加附加語(yǔ)義和功能。 虛擬內(nèi)存管理器實(shí)現(xiàn)“虛擬內(nèi)存”。內(nèi)存管理器也為高速緩存管理器提供基本的支持。 安全引用監(jiān)視器在本地計(jì)算機(jī)上執(zhí)行安全策略。它保護(hù)了操作系統(tǒng)資源,執(zhí)行運(yùn)行時(shí)對(duì)象的保

22、護(hù)和監(jiān)視。 I/O系統(tǒng)執(zhí)行獨(dú)立于設(shè)備的輸入/輸出,并為進(jìn)一步處理調(diào)用適當(dāng)?shù)脑O(shè)備驅(qū)動(dòng)程序。 高速緩存管理器通過(guò)將最近引用的磁盤(pán)數(shù)據(jù)駐留在主內(nèi)存中來(lái)提高文件I/O的性能,并且通過(guò)在把更新數(shù)據(jù)發(fā)送到磁盤(pán)之前將它們?cè)趦?nèi)存中保持一個(gè)短的時(shí)間來(lái)延緩磁盤(pán)的寫(xiě)操作,這樣就可以實(shí)現(xiàn)快速訪(fǎng)問(wèn)。,對(duì)象管理:創(chuàng)建、管理以及刪除Windows 2000/XP的執(zhí)行體對(duì)象和用于代表操作系統(tǒng)資源的抽象數(shù)據(jù)類(lèi)型,例如進(jìn)程、線(xiàn)程和各種同步對(duì)象。 本地過(guò)程調(diào)用(LPC,Local Procedure Call)機(jī)制,在同一臺(tái)計(jì)算機(jī)上的客戶(hù)進(jìn)程和服務(wù)進(jìn)程之間傳遞信息。LPC是一個(gè)靈活的、經(jīng)過(guò)優(yōu)化的“遠(yuǎn)程過(guò)程調(diào)用”(RPC,Remo

23、te Procedure Call)版本。 一組廣泛的公用運(yùn)行時(shí)函數(shù),例如字符串處理、算術(shù)運(yùn)算、數(shù)據(jù)類(lèi)型轉(zhuǎn)換和完全結(jié)構(gòu)處理。 執(zhí)行體支持例程,例如系統(tǒng)內(nèi)存分配(頁(yè)交換區(qū)和非頁(yè)交換區(qū))、互鎖內(nèi)存訪(fǎng)問(wèn)和兩種特殊類(lèi)型的同步對(duì)象:資源和快速互斥體。,設(shè)備驅(qū)動(dòng)程序,可加載的核心態(tài)模塊 I/O系統(tǒng)和相關(guān)硬件之間的接口 使用WDM以及加強(qiáng)的WDM方式 分類(lèi) 硬件設(shè)備驅(qū)動(dòng)程序操作硬件。 文件系統(tǒng)驅(qū)動(dòng)程序接受面向文件的I/O請(qǐng)求,并把它們轉(zhuǎn)化為對(duì)特殊設(shè)備的I/O請(qǐng)求。 過(guò)濾器驅(qū)動(dòng)程序截取I/O并在傳遞I/O到下一層之前執(zhí)行某些特定處理。,環(huán)境子系統(tǒng),將基本的執(zhí)行體系統(tǒng)服務(wù)的某些子集以特定的形態(tài)展示給應(yīng)用程序,函數(shù)調(diào)用不能在不同子系統(tǒng)之間混用,因此每一個(gè)可執(zhí)行的映像都受限于唯一的子系統(tǒng) 三種環(huán)境子系統(tǒng):POSIX、OS/2和Win32(OS/2 只能用于x86系統(tǒng)) Win32子系統(tǒng)必須始終處于運(yùn)行狀態(tài),其他兩個(gè)子系統(tǒng)只是在需要時(shí)才被啟動(dòng),Win32子系統(tǒng)是Windows 2000/XP運(yùn)行的基本條件之一,Win32子系統(tǒng) Win32環(huán)境子系統(tǒng)進(jìn)程CSRSS,包括對(duì)下列功能的支持:控制臺(tái)(文本)窗口、創(chuàng)建及刪除進(jìn)程與線(xiàn)程、支持16位DOS虛擬機(jī)(VDM)進(jìn)程的部分 核心態(tài)設(shè)備驅(qū)動(dòng)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論