第2章 操作系統(tǒng)的結(jié)構(gòu)和硬件支持_第1頁
第2章 操作系統(tǒng)的結(jié)構(gòu)和硬件支持_第2頁
第2章 操作系統(tǒng)的結(jié)構(gòu)和硬件支持_第3頁
第2章 操作系統(tǒng)的結(jié)構(gòu)和硬件支持_第4頁
第2章 操作系統(tǒng)的結(jié)構(gòu)和硬件支持_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第2章 OS的結(jié)構(gòu)與硬件支持一、什么是OS虛擬機計算機系統(tǒng)必須提供一個良好的工作環(huán)境幫助用戶快且方便的解決各類問題:硬件層:裸機,由CPU、存儲器和外部設(shè)備構(gòu)成,是OS與用戶進程賴以活動的物質(zhì)基礎(chǔ)和環(huán)境;配置在裸機上的第一層軟件是OS;在裸機上配置了OS后就構(gòu)成了OS虛擬機;OS虛擬機結(jié)構(gòu)圖:裸機OS擴充后的機器應(yīng)用程序用戶程序2.1 OS虛擬機(1/2)二、什么是操作命令語言擴充后的虛擬機不僅可以使用原來裸機提供的各種基本硬件指令,并且可以使用OS中增加的許多其它的“指令”,這些指令統(tǒng)稱為擴充機器的指令系統(tǒng),又稱為操作命令語言。系統(tǒng)所提供的全部操作命令的集合即為操作命令語言。它是用戶和系統(tǒng)進

2、行通信的手段和界面,即OS提供的用戶界面,有兩種形式:操作命令鍵盤命令作業(yè)控制語言圖形化用戶界面系統(tǒng)功能調(diào)用2.1 OS虛擬機(2/2)一、OS的組織結(jié)構(gòu)主要研究的問題OS由處理機管理、存儲管理、輸入/輸出管理、文件管理等功能模塊組成;如何將這些模塊構(gòu)成一個完整的系統(tǒng),這些模塊之間如何調(diào)用,這些模塊如何對外提供接口,這些即為OS的結(jié)構(gòu)問題;OS的組織結(jié)構(gòu)主要包括三方面的內(nèi)容:模塊結(jié)構(gòu):組成系統(tǒng)的不同功能如何分組和交互;接口:OS提供給用戶、用戶程序或上層軟件使用系統(tǒng)的手段;運行時的組織結(jié)構(gòu):執(zhí)行過程中存在的實體類型及調(diào)用方式。2.2 OS的組織結(jié)構(gòu)(1/7)二、OS的組織結(jié)構(gòu)OS由內(nèi)核(核心層

3、)和其它一些功能層組成,核心層包括OS最重要的功能模塊,包括處理機管理、存儲管理、設(shè)備管理和文件管理。通常所說的OS其實指的是OS的內(nèi)核。常見的OS的組織結(jié)構(gòu)有如下四種,一個OS在具體實現(xiàn)時不會十分清晰的采用某一種方式,但主體上會采用這四種方式之一:單體結(jié)構(gòu);模塊結(jié)構(gòu);可擴展內(nèi)核結(jié)構(gòu);層次結(jié)構(gòu)。 P352.2 OS的組織結(jié)構(gòu)(2/7)二、OS的組織結(jié)構(gòu)單體結(jié)構(gòu)OS是一組過程的集合,每一個過程都有一個定義好的接口,包括入口參數(shù)和返回值;過程之間可以相互調(diào)用不受約束;也叫做無結(jié)構(gòu);許多OS采用;簡單,運行效率高,性能高;難以理解,難以維護,難以驗證其正確性;大多數(shù)的 UNIX及Linux內(nèi)核都采用

4、單體結(jié)構(gòu);2.2 OS的組織結(jié)構(gòu)(3/7)模塊結(jié)構(gòu) 采用面向?qū)ο蟮乃枷牒驼Z言設(shè)計、建立OS,其功能通過邏輯獨立的模塊來劃分;有利于OS的理解與維護;存在潛在的性能退化;存在一個實驗性O(shè)S,Choices;沒有商業(yè)化OS采用;可擴展內(nèi)核結(jié)構(gòu)將OS的核心分為基礎(chǔ)核心和其它核心功能兩部分;基礎(chǔ)核心又稱為微內(nèi)核,可擴展內(nèi)核;微內(nèi)核結(jié)構(gòu)基于客戶/服務(wù)器模式,由微內(nèi)核和核外的服務(wù)器進程組成。Linux之前的Minix即采用微內(nèi)核結(jié)構(gòu),內(nèi)核只負責(zé)處理進程間通信和設(shè)備驅(qū)動等底層功能,而將存儲管理和文件系統(tǒng)從內(nèi)核分離出去,稱為單獨的進程運行,實現(xiàn)了內(nèi)核最小化;2.2 OS的組織結(jié)構(gòu)(4/7)層次結(jié)構(gòu) OS由若干

5、層構(gòu)成,每一層提供一套功能,該功能僅依賴于該層以內(nèi)的各層;作為一種指導(dǎo)性原則,在設(shè)計OS時借鑒和參考。裸機存儲管理I/O管理文件管理資源分配和調(diào)度初級中斷處理進程控制進程通信處理機分派2.2 OS的組織結(jié)構(gòu)(5/7)三、運行時的組織結(jié)構(gòu)系統(tǒng)功能調(diào)用方式OS內(nèi)核服務(wù)例程用戶進程庫或內(nèi)核調(diào)用返回2.2 OS的組織結(jié)構(gòu)(6/7)三、運行時的組織結(jié)構(gòu)客戶/服務(wù)器方式用戶進程 客戶端OS內(nèi)核服務(wù)例程發(fā)送請求返回結(jié)果2.2 OS的組織結(jié)構(gòu)(7/7)支持OS運行的硬件之一CPU一般的處理器由運算器、控制器、一系列的寄存器以及高速緩存構(gòu)成;處理器一般包括兩類寄存器:通用寄存器(保存操作數(shù)及運算結(jié)果)及狀態(tài)寄存

6、器(如PC、IR、PSW);指令執(zhí)行的基本過程:特權(quán)指令和非特權(quán)指令特權(quán)指令:在指令系統(tǒng)中那些只能由操作系統(tǒng)使用的指令;非特權(quán)指令:允許一般的用戶使用的指令;2.3 處理機的特權(quán)級(1/3)支持OS運行的硬件之一CPU特權(quán)指令的功能改變機器狀態(tài)修改特殊寄存器控制外部設(shè)備的輸入/輸出處理機的狀態(tài)管態(tài)(特權(quán)態(tài)、特態(tài)、系統(tǒng)態(tài)):指操作系統(tǒng)管理程序運行時機器所處的狀態(tài)??梢詧?zhí)行全部指令,使用所有資源,具有改變處理機狀態(tài)的能力,允許訪問整個存儲區(qū)。用戶態(tài)(普通態(tài)、普態(tài)、目態(tài)):指用戶程序運行時機器所處的狀態(tài)。只能執(zhí)行非特權(quán)指令,不能直接取用資源與改變機器狀態(tài),只允許用戶訪問自己的存儲區(qū)。 有些系統(tǒng)分為核

7、態(tài)、管態(tài)和用戶態(tài)。2.3 處理機的特權(quán)級(2/3)支持OS運行的硬件之一CPU程序狀態(tài)字PSW用來指示處理器狀態(tài),通常包括以下狀態(tài)代碼:CPU的工作狀態(tài)代碼 條件碼 中斷屏蔽碼處理機狀態(tài)的改變:由用戶態(tài)轉(zhuǎn)向管態(tài)用戶進程訪問OS,要求OS的某種服務(wù);發(fā)生一次中斷;在一個用戶進程中產(chǎn)生一個錯誤狀態(tài);在用戶態(tài)下企圖執(zhí)行一條特權(quán)指令;15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0TSI2I1I0XNZVC進位溢出零負中斷屏蔽位cpu狀態(tài)陷阱中斷2.3 處理機的特權(quán)級(3/3)一、中斷的相關(guān)概念某個事件(如,電源掉電、定點加法溢出或I/O傳輸結(jié)束等)發(fā)生時,系統(tǒng)中止現(xiàn)行程序的

8、運行,引出處理該事件的程序進行處理,處理完畢后返回斷點,繼續(xù)執(zhí)行的全過程稱為中斷;中斷的意義:是實現(xiàn)操作系統(tǒng)功能的基礎(chǔ),是構(gòu)成多道程序運行環(huán)境的根本措施。為了實現(xiàn)并發(fā)活動,為了實現(xiàn)計算機系統(tǒng)的自動化工作,系統(tǒng)必須具備處理中斷的能力。2.4 中斷及其處理(1/7)中斷返回用戶程序中斷進入繼續(xù)執(zhí)行中斷信號中斷處理程序一、中斷的相關(guān)概念引起中斷的那些事件稱為中斷事件或中斷源;中斷源向處理器發(fā)出的請求信號稱為中斷請求;把處理中斷事件的那段程序稱為中斷處理程序;發(fā)生中斷時正在執(zhí)行的程序的暫停點叫做中斷斷點;處理器暫停當前程序轉(zhuǎn)而處理中斷的過程稱為中斷響應(yīng);中斷處理結(jié)束之后恢復(fù)原來程序的執(zhí)行稱為中斷返回;

9、一個計算機系統(tǒng)提供的中斷源的有序集合稱為中斷字。2.4 中斷及其處理(2/7)二、中斷的類型按中斷功能分類輸入輸出中斷外中斷機器故障中斷程序性中斷訪管中斷按中斷方式分類強迫性中斷自愿中斷按中斷來源分類中斷俘獲 2.4 中斷及其處理(3/7)三、向量中斷和探詢中斷當中斷發(fā)生時,由中斷源自己引導(dǎo)處理機進入中斷服務(wù)程序的中斷過程稱為向量中斷。中斷向量:存儲該類型中斷的中斷服務(wù)例行程序的入口地址和處理器狀態(tài)字的存儲單元;系統(tǒng)中所有中斷類型的中斷向量放在一起,形成中斷向量表。主存中有特定區(qū)域用來存放中斷向量表。探詢中斷:另一種中斷機制。中斷類型中斷向量PC及PS值終端輸入060062終端輸入處理程序入口

10、地址0200(八進制數(shù))2.4 中斷及其處理(4/7)三、中斷進入中斷裝置(中斷系統(tǒng)):發(fā)現(xiàn)中斷源而產(chǎn)生中斷過程的設(shè)備。中斷系統(tǒng)的職能是實現(xiàn)中斷的進入,即實現(xiàn)中斷響應(yīng)的過程?,F(xiàn)場信息:在中斷的那一時刻能確保程序繼續(xù)運行的有關(guān)信息,最重要的是后繼指令所在主存的單元號,程序運行時的機器狀態(tài)?,F(xiàn)場保護:中斷發(fā)生時必須立即將現(xiàn)場信息保存到主存中,這一過程;恢復(fù)現(xiàn)場:為了確保被中斷的程序從恢復(fù)點繼續(xù)運行,必須在該程序重新運行之前,把保留的該程序的現(xiàn)場信息從主存送至相應(yīng)的寄存器,這一過程。2.4 中斷及其處理(5/7)三、中斷進入中斷響應(yīng):當CPU發(fā)現(xiàn)已有中斷請求時,中止現(xiàn)行程序的運行,并自動引出中斷處理程序的過程。中斷響應(yīng)的實質(zhì)是交換指令執(zhí)行地址和處理器狀態(tài):將程序狀態(tài)字寄存器的內(nèi)容存放道主存約定單元,將處理中斷程序的指令執(zhí)行地址和處理器狀態(tài)送入相應(yīng)的寄存器中。中斷響應(yīng)全過程舉例:當某一設(shè)備完成I/O操作時發(fā)出中斷請求信號,則中斷響應(yīng)全過程如下:1、當優(yōu)先級滿足時,處理機中斷現(xiàn)行程序的運行;2、設(shè)備向處理器發(fā)出中斷命令和中斷向量地址; 3、當前處理器狀態(tài)字(PS)寄存器和指令計數(shù)器(PC)的內(nèi)容自動進 入系統(tǒng)堆棧; 4、從中斷向量地址中得到新的PC,PS內(nèi)容分別

溫馨提示

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

評論

0/150

提交評論