第2章操作系統(tǒng)的運行基礎(chǔ)與結(jié)構(gòu)_第1頁
第2章操作系統(tǒng)的運行基礎(chǔ)與結(jié)構(gòu)_第2頁
第2章操作系統(tǒng)的運行基礎(chǔ)與結(jié)構(gòu)_第3頁
第2章操作系統(tǒng)的運行基礎(chǔ)與結(jié)構(gòu)_第4頁
第2章操作系統(tǒng)的運行基礎(chǔ)與結(jié)構(gòu)_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 / 40第2章 操作系統(tǒng)的運行基礎(chǔ)與結(jié)構(gòu)2 / 402.1 基本硬件結(jié)構(gòu)2.1.1、處理器的狀態(tài)及特權(quán)指令操作系統(tǒng)為了建立一個保護環(huán)境,根據(jù)運行程序?qū)Y源和機器指令的使用權(quán)限將處理器設(shè)置為不同狀態(tài)。多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)管態(tài)(Supervisor mode):操作系統(tǒng)管理程序運行的狀態(tài),較高的特權(quán)級別,又稱為特權(quán)態(tài)(特態(tài))、系統(tǒng)態(tài)目態(tài)(user mode):用戶程序運行時的狀態(tài),較低的特權(quán)級別,又稱為普通態(tài)(普態(tài))、用戶態(tài)有些系統(tǒng)將處理器狀態(tài)劃分核心狀態(tài),管理狀態(tài)和用戶程序狀態(tài)(目標狀態(tài))三種3 / 40實例:實例:x86系列處理器系列處理器-13386、486、Pent

2、ium系列都支持系列都支持4個處理器特權(quán)級別(特權(quán)環(huán):個處理器特權(quán)級別(特權(quán)環(huán):R0、R1、R2和和R3)從從R0到到R3特權(quán)能力依次降低特權(quán)能力依次降低RR0相當(dāng)于雙狀態(tài)系統(tǒng)的管態(tài)相當(dāng)于雙狀態(tài)系統(tǒng)的管態(tài)RR3相當(dāng)于目態(tài)相當(dāng)于目態(tài)RR1和和R2則介于兩者之間,它們能夠運行的指令集合具有包含關(guān)則介于兩者之間,它們能夠運行的指令集合具有包含關(guān)系:系:3210RRRRIIII4 / 40各個級別有保護性檢查(地址校驗、各個級別有保護性檢查(地址校驗、I/O限制)限制)特權(quán)級別之間的轉(zhuǎn)換方式不盡相同特權(quán)級別之間的轉(zhuǎn)換方式不盡相同四個級別運行不同類別的程序:四個級別運行不同類別的程序:R0- -運行操作

3、系統(tǒng)核心代碼運行操作系統(tǒng)核心代碼R1- -運行關(guān)鍵設(shè)備驅(qū)動程序和運行關(guān)鍵設(shè)備驅(qū)動程序和I/O處理例程處理例程R2- -運行其它受保護共享代碼,如語言系統(tǒng)運行環(huán)境運行其它受保護共享代碼,如語言系統(tǒng)運行環(huán)境R3- -運行各種用戶程序運行各種用戶程序現(xiàn)有基于現(xiàn)有基于x86處理器的操作系統(tǒng),多數(shù)處理器的操作系統(tǒng),多數(shù)UNIX、Linux以以及及Windows系列大都只用了系列大都只用了R0和和R3兩個特權(quán)級別兩個特權(quán)級別實例:實例:x86系列處理器系列處理器-25 / 40管態(tài)和目態(tài)的差別處理器處于管態(tài)時:全部指令(包括特權(quán)指令)可以執(zhí)行可使用所有資源并具有改變處理器狀態(tài)的能力處理器處于目態(tài)時:只有非

4、特權(quán)指令能執(zhí)行特權(quán)級別不同,可運行指令集合也不同特權(quán)級別越高,可以運行指令集合越大高特權(quán)級別對應(yīng)的可運行指令集合包含低特權(quán)級的6 / 40(二)特權(quán)指令集允許和禁止中斷在進程之間切換處理器存取用于主存保護的寄存器執(zhí)行I/O操作停止一個中央處理機的工作7 / 40在下列情況下,由用戶態(tài)自動轉(zhuǎn)向管態(tài):用戶進程訪問操作系統(tǒng),要求操作系統(tǒng)的某種服務(wù)(即管理程序調(diào)用)。發(fā)生一次中斷。用戶程序發(fā)生一個錯誤。在用戶態(tài)下企圖執(zhí)行一條特權(quán)指令。8 / 402.2.2 存儲系統(tǒng)支持OS運行硬件環(huán)境的一個重要方面:作業(yè)必須把它的程序和數(shù)據(jù)存放在主存儲器(內(nèi)存)中才能運行多道程系統(tǒng)中,若干個程序和相關(guān)的數(shù)據(jù)要放入主存

5、儲器操作系統(tǒng)要管理、保護程序和數(shù)據(jù),使它們不至于受到破壞操作系統(tǒng)本身也要存放在主存儲器中并運行 9 / 40(一)主存儲器的類型兩類存儲器:讀寫型的存儲器 只讀型的存儲器讀寫型的存儲器可把數(shù)據(jù)存入其中任一地址單元,并可在以后的任何時候把數(shù)據(jù)讀出,或者重新存入新的數(shù)據(jù)的一種存儲器常被稱為隨機訪問存儲器(RAM:Random Access Memory)RAM主要用作存放隨機存取的程序的數(shù)據(jù)10 / 40只讀型的存儲器:只能從其中讀取數(shù)據(jù),但不能隨意用普通方法寫入數(shù)據(jù)(寫入數(shù)據(jù)只能用特殊方法)稱為只讀存儲器(ROM:Read-Only Memory)變型:PROM和EPROMPROM:一種可編程只

6、讀存儲器,使用特殊PROM寫入器寫入數(shù)據(jù)EPROM:用特殊的紫外線光照射此芯片,以“擦去”信息,恢復(fù)原來狀態(tài),然后使用特殊EPROM寫入器寫入數(shù)據(jù)在微機中,一些常駐內(nèi)存的模塊以微程序形式固化在ROM中如:PC BIOS和CBASIC解釋程序被固化于ROM中11 / 402、存儲器的層次結(jié)構(gòu)存儲系統(tǒng)設(shè)計三個問題: 容量、速度和成本容量:需求無止境速度:能匹配處理器的速度成本問題:成本和其它部件相比應(yīng)在合適范圍之內(nèi)12 / 40容量、速度和成本三個目標不可能同時達到最優(yōu),要作權(quán)衡存取速度快,每比特價格高容量大,每比特價格越低,同時存取速度也越慢解決方案:采用層次化的存儲體系結(jié)構(gòu)當(dāng)沿著層次下降時每比

7、特的價格將下降,容量將增大速度將變慢,處理器的訪問頻率也將下降13 / 40層次化的存儲體系結(jié)構(gòu)層次化的存儲體系結(jié)構(gòu)14 / 402.2.3、實時時鐘時鐘為計算機完成以下必不可少的工作:在多道程序運行環(huán)境中,為系統(tǒng)發(fā)現(xiàn)陷入死循環(huán)(編程錯誤)的作業(yè),防止機時的浪費在分時系統(tǒng)中,間隔時鐘實現(xiàn)作業(yè)間按時間片輪轉(zhuǎn)在實時系統(tǒng)中,按要求的間隔輸出正確時間信號給實時的控制設(shè)備(如AD、D/A轉(zhuǎn)換設(shè)備)定時喚醒要求延遲執(zhí)行的各外部事件(如定時為各進程計算優(yōu)先數(shù),銀行中定時運行某類結(jié)賬程序等)記錄用戶使用設(shè)備時間和記錄某外部事件發(fā)生時間記錄用戶和系統(tǒng)所需要的絕對時間,即年、月、日、時、分、秒。 15 / 40時

8、鐘是操作系統(tǒng)運行的必不可少的硬件設(shè)施時鐘,實際上都是硬件時鐘寄存器,按時鐘電路所產(chǎn)生的脈沖數(shù)對時鐘寄存器進行加1或減1的工作絕對時鐘:記錄當(dāng)時時間(年、月、日、時、分、秒) 一般來說,絕對時鐘準確,當(dāng)停機時,絕對時鐘值仍然自動修改間隔時鐘(相對時鐘):通過時鐘寄存器實現(xiàn) 置上時間間隔初值,每經(jīng)過一個單位時間,時鐘值減1,直到該值為負時,則觸發(fā)時鐘中斷,并進行相應(yīng)中斷處理時鐘-216 / 40硬件時鐘:某個寄存器來模擬(根據(jù)脈沖頻率定時加1,減1)軟件時鐘:用作相對時鐘,用內(nèi)存單元來模擬時鐘CPU保護:防止進程得到CPU后不放棄控制權(quán)解決:分配給每個進程一段時間(時間片) 時間片到,發(fā)時鐘中斷,

9、控制權(quán)交給操作系統(tǒng)17 / 402.2.4 中斷與俘獲中斷對于操作系統(tǒng)的重要性 就像機器中的驅(qū)動齒輪一樣所以有人把操作系統(tǒng)稱為是由 “中斷驅(qū)動”或者 “(中斷)事件驅(qū)動”18 / 40什么是中斷?指CPU對系統(tǒng)中或系統(tǒng)外發(fā)生異步事件的響應(yīng)異步事件是指無一定時序關(guān)系的隨機發(fā)生事件如外部設(shè)備完成數(shù)據(jù)傳輸,實時設(shè)備出現(xiàn)異常等“中斷”名稱源于:當(dāng)異步事件發(fā)生后,打斷了對當(dāng)前程序的執(zhí)行而轉(zhuǎn)去處理該異步事件直到處理完了后,再轉(zhuǎn)回原程序中斷點繼續(xù)執(zhí)行(一)中斷的概念19 / 40中斷的概念(續(xù)1)中斷處理是操作系統(tǒng)的一個重要組成部分操作系統(tǒng)就是由中斷驅(qū)動的中斷是現(xiàn)代計算機系統(tǒng)中基本設(shè)施之一,它起著通訊聯(lián)絡(luò)作

10、用,協(xié)調(diào)系統(tǒng)對各種外部事件的響應(yīng)和處理中斷是實現(xiàn)多道程序的必要條件20 / 40中斷定義:CPU對系統(tǒng)發(fā)生的某個事件作出的一種反應(yīng)CPU暫停正在執(zhí)行的程序,保留現(xiàn)場后自動轉(zhuǎn)去執(zhí)行相應(yīng)事件的處理程序,處理完成后返回斷點,繼續(xù)執(zhí)行被打斷的程序21 / 40從用戶角度看中斷從用戶角度看中斷22 / 40引入中斷的目的解決主機與外設(shè)的并行工作問題提高可靠性實現(xiàn)多機聯(lián)系實現(xiàn)實時控制特點: 1) 中斷隨機的 2) 中斷是可恢復(fù)的 3) 中斷是自動處理的23 / 40中斷系統(tǒng)的概念中斷由軟硬件協(xié)同處理中斷裝置:指發(fā)現(xiàn)中斷,響應(yīng)中斷的硬件中斷處理程序:由軟件來完成中斷系統(tǒng)=中斷裝置+中斷處理程序24 / 40

11、中斷源:引起中斷發(fā)生的事件中斷寄存器:記錄中斷中斷字:中斷寄存器的內(nèi)容系統(tǒng)堆棧:在內(nèi)存開辟的一塊區(qū)域,用于臨時保存現(xiàn)場1. 1. 機器故障中斷:如電源故障,機器電路檢驗錯等機器故障中斷:如電源故障,機器電路檢驗錯等2. 2. 輸入輸出中斷:輸入輸出設(shè)備和通道數(shù)據(jù)傳輸狀態(tài))輸入輸出中斷:輸入輸出設(shè)備和通道數(shù)據(jù)傳輸狀態(tài))3. 3. 外部中斷:時鐘中斷,操作員控制臺中斷,多機系統(tǒng)中外部中斷:時鐘中斷,操作員控制臺中斷,多機系統(tǒng)中其它機器的通信要求中斷,各種外設(shè)或傳感器發(fā)來的實時中其它機器的通信要求中斷,各種外設(shè)或傳感器發(fā)來的實時中斷等斷等4. 4. 程序中斷:程序中的問題引起的中斷,如錯誤地使用指程

12、序中斷:程序中的問題引起的中斷,如錯誤地使用指令或數(shù)據(jù)、溢出等問題,存儲保護等令或數(shù)據(jù)、溢出等問題,存儲保護等5. 5. 訪管中斷:對操作系統(tǒng)提出某種需求(如請求訪管中斷:對操作系統(tǒng)提出某種需求(如請求I/OI/O傳輸,傳輸,建立進程等)是所發(fā)出的中斷稱為訪問中斷。建立進程等)是所發(fā)出的中斷稱為訪問中斷。(二)中斷類型26 / 40強迫性中斷強迫性中斷 正在運行的程序所不期望的,由于某種硬件故正在運行的程序所不期望的,由于某種硬件故障或外部請求引起的障或外部請求引起的自愿性中斷自愿性中斷 用戶在程序中有意識安排的中斷,是由于用戶用戶在程序中有意識安排的中斷,是由于用戶在編制程序時因為要求操作系

13、統(tǒng)提供服務(wù),有意在編制程序時因為要求操作系統(tǒng)提供服務(wù),有意使用使用“訪管訪管”指令或系統(tǒng)調(diào)用,使中斷發(fā)生指令或系統(tǒng)調(diào)用,使中斷發(fā)生俘獲是高優(yōu)先級中斷俘獲是高優(yōu)先級中斷27 / 40微機中的中斷1. 可屏蔽中斷(IO中斷)2.不可屏蔽中斷(機器內(nèi)部故障、掉電中斷)3. 程序錯誤中斷(溢出、除法錯等中斷)4. 軟件中斷(Trap指令或中斷指令I(lǐng)NT)28 / 40(三)中斷進入1、保護現(xiàn)場和恢復(fù)現(xiàn)場2、程序狀態(tài)字(PSW)當(dāng)前方式當(dāng)前方式 原先方式原先方式不用不用 優(yōu)先級優(yōu)先級T N Z V C 15 14 13 12 11 10 8 7 5 4 3 2 1 029 / 403、中斷響應(yīng)CPU如何

14、響應(yīng)中斷, 兩個問題: CPU何時響應(yīng)中斷? 通常在CPU執(zhí)行了一條指令以后,更確切地,在指令周期最后時刻接受中斷請求,或此時掃描中斷寄存器如何知道提出中斷請求的設(shè)備或中斷源? 因為只有知道中斷源或中斷設(shè)備,才能調(diào)用相應(yīng)的中斷處理程序30 / 40開始開始取下一條指令取下一條指令執(zhí)行指令執(zhí)行指令檢查指令檢查指令處理中斷處理中斷停止停止取周期取周期執(zhí)行周期執(zhí)行周期中斷周期中斷周期不允許中斷不允許中斷允許允許中斷中斷31 / 40兩種解決方法:用軟件指令去查詢各設(shè)備接口 這種方法比較費時多數(shù)微型機對此問題的解決方法: 使用一種“向量中斷”的硬件設(shè)施“向量中斷”:當(dāng)CPU接受某中斷請求時,該設(shè)備接口

15、給處理器發(fā)送具有唯一性的“中斷向量”,以標識該設(shè)備“中斷向量”在各計算機上實現(xiàn)方法差別比較大32 / 40中斷向量表:在有的機器中:將主存最低位128個字保留作為中斷向量表,每個中斷向量占兩個字中斷向量:一般來說,是中斷源的中斷服務(wù)程序的入口地址。33 / 406、中斷處理簡單的中斷處理 - 典型的處理過程:(1)設(shè)備給處理器發(fā)一個中斷信號(2)處理器處理完當(dāng)前指令后響應(yīng)中斷,延遲非常短(要求處理器沒有關(guān)閉中斷)(3)處理器處理完當(dāng)前指令后檢測到中斷,判斷出中斷來源并向發(fā)送中斷的設(shè)備發(fā)送了確認中斷信號,確認信號使得該設(shè)備將中斷信號恢復(fù)到一般狀態(tài)(4)處理器開始為軟件處理中斷做準備: 保存中斷點

16、的程序執(zhí)行上下文環(huán)境,這通常包括程 序狀態(tài)字PSW,程序計數(shù)器PC中的下一條指令位置,一些寄存器的值,它們通常保存在系統(tǒng)控制棧中, 處理器狀態(tài)被切換到管態(tài)34 / 40簡單的中斷處理 -典型的處理過程(續(xù)1):(5)處理器根據(jù)中斷源查詢中斷向量表,獲得與該中斷相聯(lián)系的處理程序入口地址,并將PC置成該地址,處理器開始一個新的指令周期,控制轉(zhuǎn)移到中斷處理程序(6)中斷處理程序開始工作,包括檢查I/O相關(guān)的狀態(tài)信息,操縱I/O設(shè)備或者在設(shè)備和主存之間傳送數(shù)據(jù)等等(7)中斷處理結(jié)束時,處理器檢測到中斷返回指令,被中斷程序的上下文環(huán)境從系統(tǒng)堆棧中被恢復(fù) 處理器狀態(tài)恢復(fù)成原來的狀態(tài)。(8)PSW和PC被恢

17、復(fù)成中斷前的值,處理器開始一個新的指令周期,中斷處理結(jié)束35 / 4036 / 40強迫性中斷事件強迫性中斷事件自愿性中斷事件自愿性中斷事件保存現(xiàn)場信息保存現(xiàn)場信息保存現(xiàn)場信息保存現(xiàn)場信息取出中斷碼取出中斷碼取出訪管號取出訪管號分析中斷原因分析中斷原因分析何種系統(tǒng)調(diào)用分析何種系統(tǒng)調(diào)用轉(zhuǎn)相應(yīng)處理程序轉(zhuǎn)相應(yīng)處理程序是否中斷嵌套是否中斷嵌套由系統(tǒng)恢復(fù)現(xiàn)場由系統(tǒng)恢復(fù)現(xiàn)場由系統(tǒng)恢復(fù)現(xiàn)場由系統(tǒng)恢復(fù)現(xiàn)場轉(zhuǎn)低級調(diào)度程序轉(zhuǎn)低級調(diào)度程序返回上層中斷返回上層中斷返回目態(tài)程序返回目態(tài)程序需要切換進程需要切換進程 TFFT37 / 402. 操作系統(tǒng)虛擬機 操作系統(tǒng)虛擬機為用戶提供了很多硬件無法提供的功能。 總之,在裸機上配置了操作系統(tǒng)程序后就構(gòu)成了操作系統(tǒng)虛擬機。裸機:沒有裝入任何軟件的計算機。 操作系統(tǒng)虛擬機:操作系統(tǒng)中的CPU調(diào)度程序、虛擬存儲技術(shù)、設(shè)備管理程序和文件系統(tǒng)構(gòu)成多個用戶感覺都在自己的處理機上用自己的內(nèi)存執(zhí)行的假象。cpudevicememoryfile虛擬處理機文件系統(tǒng)虛存虛擬設(shè)備用戶眼中的虛擬

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論