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

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

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

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

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

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

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

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

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

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

溫馨提示

  • 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)論