OS硬件環(huán)境(補)課件_第1頁
OS硬件環(huán)境(補)課件_第2頁
OS硬件環(huán)境(補)課件_第3頁
OS硬件環(huán)境(補)課件_第4頁
OS硬件環(huán)境(補)課件_第5頁
已閱讀5頁,還剩183頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二講操作系統(tǒng)的硬件環(huán)境討論操作系統(tǒng)對運行硬件環(huán)境的要求討論操作系統(tǒng)設(shè)計者考慮的硬件問題操作系統(tǒng)運行的硬件環(huán)境組成中央處理器(CPU)存儲系統(tǒng)中斷機制I/O系統(tǒng)時鐘以及時鐘隊列其他1/3/20231第二講操作系統(tǒng)的硬件環(huán)境討論操作系統(tǒng)對運行硬件環(huán)境的要求1概述任何系統(tǒng)軟件都是硬件功能的延伸操作系統(tǒng)直接依賴于硬件條件OS的硬件環(huán)境以較分散的形式同各種管理相結(jié)合實現(xiàn)操作系統(tǒng)時必須理解的計算機基本結(jié)構(gòu)操作系統(tǒng)管理的重要資源1/3/20232概述任何系統(tǒng)軟件都是硬件功能的延伸12/25/20222簡單的個人計算機中的部件MonitorBus1/3/20233簡單的個人計算機中的部件MonitorBus12/25/20一、中央處理器(CPU)專門設(shè)計了一系列基本機制:-具有特權(quán)級別的處理器狀態(tài),能在不同特權(quán)級運行的各種特權(quán)指令-硬件機制使得OS可以和普通程序隔離實現(xiàn)保護和控制1/3/20234一、中央處理器(CPU)專門設(shè)計了一系列基本機制:12/251、CPU的構(gòu)成與基本工作方式處理器由運算器、控制器、一系列的寄存器以及高速緩存構(gòu)成運算器實現(xiàn)指令中的算術(shù)和邏輯運算,是計算機計算的核心控制器負責(zé)控制程序運行的流程,包括取指令、維護CPU狀態(tài)、CPU與內(nèi)存的交互等等1/3/202351、CPU的構(gòu)成與基本工作方式處理器由運算器、控制器、一寄存器是指令在CPU內(nèi)部作處理的過程中暫存數(shù)據(jù)、地址以及指令信息的存儲設(shè)備在計算機的存儲系統(tǒng)中它具有最快的訪問速度高速緩存處于CPU和物理內(nèi)存之間一般由控制器中的內(nèi)存管理單元(MMU:MemoryManagementUnit)管理訪問速度快于內(nèi)存,低于寄存器利用程序局部性原理使得高速指令處理和低速內(nèi)存訪問得以匹配,從而提高CPU的效率1/3/20236寄存器是指令在CPU內(nèi)部作處理的過程中暫存數(shù)據(jù)、地址以及指令處理器中的寄存器寄存器提供了一定的存儲能力速度比主存快得多造價高,容量一般都很小兩類寄存器:用戶可見寄存器,高級語言編譯器通過算法分配并使用之,以減少程序訪問主存次數(shù)控制和狀態(tài)寄存器,用于控制處理器的操作由OS的特權(quán)代碼使用,以控制其他程序的執(zhí)行1/3/20237處理器中的寄存器寄存器提供了一定的存儲能力12/25/202用戶可見寄存器機器語言直接引用包括數(shù)據(jù)寄存器、地址寄存器以及條件碼寄存器數(shù)據(jù)寄存器(dataregister)又稱通用寄存器主要用于各種算術(shù)邏輯指令和訪存指令地址寄存器(addressregister)用于存儲數(shù)據(jù)及指令的物理地址、線性地址或者有效地址,用于某種特定方式的尋址。如indexregister、segmentpointer、stackpointer條件碼寄存器保存CPU操作結(jié)果的各種標記位如算術(shù)運算產(chǎn)生的溢出、符號等等1/3/20238用戶可見寄存器機器語言直接引用12/25/20228控制和狀態(tài)寄存器用于控制處理器的操作大部分對于用戶是不可見的一部分可以在某種特權(quán)模式(由OS使用)下訪問常見的控制和狀態(tài)寄存器:程序計數(shù)器(PC:ProgramCounter),記錄將要取出的指令的地址指令寄存器(IR:InstructionRegister),包含最近取出的指令程序狀態(tài)字(PSW:ProgramStatusWord),記錄處理器的運行模式信息等等1/3/20239控制和狀態(tài)寄存器用于控制處理器的操作12/25/20229指令執(zhí)行的基本過程(1)兩個步驟:先從存儲器中每次讀取一條指令然后執(zhí)行這條指令一個單條指令處理過程稱為一個指令周期程序的執(zhí)行是由不斷取指和執(zhí)行的指令周期組成僅當關(guān)機、出錯或有停機相關(guān)指令時,程序才停止1/3/202310指令執(zhí)行的基本過程(1)兩個步驟:12/25/202210每個指令周期開始時,依據(jù)在程序計數(shù)器中的指令地址從存儲器中取一條指令在取指完成后根據(jù)指令類別自動將程序計數(shù)器的值變成下條指令的地址,自增1取到的指令放在指令寄存器中處理器解釋并執(zhí)行所要求的動作指令執(zhí)行的基本過程(2)1/3/202311每個指令周期開始時,依據(jù)在程序計數(shù)器中的指令地址從存儲器中取5類指令訪問存儲器指令:處理器和存儲器間數(shù)據(jù)傳送I/O指令:處理器和I/O模塊間數(shù)據(jù)傳送和命令發(fā)送算術(shù)邏輯指令(數(shù)據(jù)處理指令):執(zhí)行數(shù)據(jù)算術(shù)和邏輯操作控制轉(zhuǎn)移指令:指定一個新的指令的執(zhí)行起點處理器控制指令:修改處理器狀態(tài),改變處理器工作方式1/3/2023125類指令訪問存儲器指令:12/25/2022122、特權(quán)指令和非特權(quán)指令特權(quán)指令:只能由操作系統(tǒng)使用的指令使用多道程序設(shè)計技術(shù)的計算機指令系統(tǒng)必須要區(qū)分為特權(quán)指令和非特權(quán)指令特權(quán)指令一般引起處理器狀態(tài)的切換處理器通過特殊的機制將處理器狀態(tài)切換到操作系統(tǒng)運行的特權(quán)狀態(tài)(管態(tài))然后將處理權(quán)移交給操作系統(tǒng)中的一段特殊代碼,這一個過程稱為陷入?CPU如何知道當前運行的是操作系統(tǒng)還是一般應(yīng)用軟件?有賴于處理器狀態(tài)的標識1/3/2023132、特權(quán)指令和非特權(quán)指令特權(quán)指令:只能由操作系統(tǒng)使用的指令13、處理器的狀態(tài)根據(jù)運行程序?qū)Y源和機器指令的使用權(quán)限將處理器設(shè)置為不同狀態(tài)多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)管態(tài):操作系統(tǒng)管理程序運行的狀態(tài),較高的特權(quán)級別,又稱為特權(quán)態(tài)(特態(tài))、核心態(tài)、系統(tǒng)態(tài)目態(tài):用戶程序運行時的狀態(tài),較低的特權(quán)級別,又稱為普通態(tài)(普態(tài))、用戶態(tài)有些系統(tǒng)將處理器狀態(tài)劃分核心狀態(tài)、管理狀態(tài)和用戶程序狀態(tài)(目標狀態(tài))三種1/3/2023143、處理器的狀態(tài)根據(jù)運行程序?qū)Y源和機器指令的使用權(quán)限將處理實例:x86系列處理器(1)386、486、Pentium系列都支持4個處理器特權(quán)級別(特權(quán)環(huán):R0、R1、R2和R3)從R0到R3特權(quán)能力依次降低R0相當于雙狀態(tài)系統(tǒng)的管態(tài)R3相當于目態(tài)R1和R2則介于兩者之間,它們能夠運行的指令集合具有包含關(guān)系:1/3/202315實例:x86系列處理器(1)386、486、Pentium系各個級別有保護性檢查(地址校驗、I/O限制)特權(quán)級別之間的轉(zhuǎn)換方式不盡相同四個級別運行不同類別的程序:R0-運行操作系統(tǒng)核心代碼R1-運行關(guān)鍵設(shè)備驅(qū)動程序和I/O處理例程R2-運行其他受保護共享代碼,如語言系統(tǒng)運行環(huán)境R3-運行各種用戶程序現(xiàn)有基于x86處理器的操作系統(tǒng),多數(shù)UNIX、Linux以及Windows系列大都只用了R0和R3兩個特權(quán)級別實例:x86系列處理器(2)1/3/202316各個級別有保護性檢查(地址校驗、I/O限制)實例:x86系列管態(tài)和目態(tài)的差別處理器處于管態(tài)時:全部指令(包括特權(quán)指令)可以執(zhí)行可使用所有資源并具有改變處理器狀態(tài)的能力處理器處于目態(tài)時:只有非特權(quán)指令能執(zhí)行特權(quán)級別不同,可運行指令集合也不同特權(quán)級別越高,可以運行指令集合越大高特權(quán)級別對應(yīng)的可運行指令集合包含低特權(quán)級的1/3/202317管態(tài)和目態(tài)的差別處理器處于管態(tài)時:12/25/2022174、程序狀態(tài)字PSW(ProgramStatusWord)在PSW中專門設(shè)置一位,根據(jù)運行程序使用指令的權(quán)限而設(shè)置CPU狀態(tài)CPU的工作狀態(tài)碼——指明管態(tài)還是目態(tài),用來說明當前在CPU上執(zhí)行的是操作系統(tǒng)還是一般用戶,從而決定其是否可以使用特權(quán)指令或擁有其他的特殊權(quán)力條件碼——反映指令執(zhí)行后的結(jié)果特征中斷屏蔽碼——指出是否允許中斷1/3/2023184、程序狀態(tài)字PSW(ProgramStatusWor例:微處理器M68000的程序狀態(tài)字條件位:C:進位標志位 V:溢出標志位Z:結(jié)果為零標志位 N:結(jié)果為負標志位I0–I2:三位中斷屏蔽位S:CPU狀態(tài)標志位,為1處于管態(tài),為0處于目態(tài)T:陷阱(Trap)中斷指示位為1,在下一條指令執(zhí)行后引起自陷中斷1/3/202319例:微處理器M68000的程序狀態(tài)字條件位:12/25/20CF:進位標志位ZF:結(jié)果為零標志位SF:符號標志位OF:溢出標志位標準條件位:TF:陷阱標志位IF:中斷允許(中斷屏蔽)標志位VIF:虛擬中斷標志位VIP:虛擬中斷待決標志位IOPL:IO特權(quán)級別

例:微處理器Pentium的程序狀態(tài)字1/3/202320CF:進位標志位標準條件位:例:微處理器PentiCPU狀態(tài)的轉(zhuǎn)換目態(tài)→管態(tài)

唯一途徑是中斷管態(tài)→目態(tài)設(shè)置PSW(修改程序狀態(tài)字)可實現(xiàn)1/3/202321CPU狀態(tài)的轉(zhuǎn)換目態(tài)→管態(tài)12/25/202221二、存儲系統(tǒng)支持OS運行硬件環(huán)境的一個重要方面:作業(yè)必須把它的程序和數(shù)據(jù)存放在內(nèi)存中才能運行多道程系統(tǒng)中,若干個程序和相關(guān)的數(shù)據(jù)要放入內(nèi)存操作系統(tǒng)要管理、保護程序和數(shù)據(jù),使它們不至于受到破壞操作系統(tǒng)本身也要存放在內(nèi)存中并運行

1/3/202322二、存儲系統(tǒng)支持OS運行硬件環(huán)境的一個重要方面:12/25/1、存儲器的類型半導(dǎo)體存儲器實現(xiàn)內(nèi)存存儲器芯片的內(nèi)部組織結(jié)構(gòu)靜態(tài)存儲器(SRAM)異步動態(tài)隨機存儲器(DRAM)同步動態(tài)隨機存儲器(SDRAM)雙倍數(shù)據(jù)速率SDRAM(DDRSDRAM)(開放標準)Rambus公司的SDRAM1/3/2023231、存儲器的類型半導(dǎo)體存儲器實現(xiàn)內(nèi)存12/25/20只讀型存儲器ROM(Read-OnlyMemory):只能從其中讀取數(shù)據(jù),但不能隨意用普通方法寫入數(shù)據(jù)(寫入數(shù)據(jù)只能用特殊方法)在微機中,一些常駐內(nèi)存的模塊以微程序形式固化在ROM中,如:PCBIOS和CBASIC解釋程序被固化于ROM中PROM:可編程只讀存儲器,使用特殊PROM寫入器寫入數(shù)據(jù)EPROM:電可擦寫可編程只讀存儲器,用特殊的紫外線光照射此芯片,以“擦去”信息,恢復(fù)原來狀態(tài),再使用特殊EPROM寫入器寫入數(shù)據(jù)閃存(flashmemory)存儲器的類型1/3/202324只讀型存儲器存儲器的類型12/25/2022242、存儲器的層次結(jié)構(gòu)存儲系統(tǒng)設(shè)計三個問題:

容量、速度和成本容量:需求無止境速度:能匹配處理器的速度成本問題:成本和其他部件相比應(yīng)在合適范圍之內(nèi)1/3/2023252、存儲器的層次結(jié)構(gòu)存儲系統(tǒng)設(shè)計三個問題:12/25/202容量、速度和成本三個目標不可能同時達到最優(yōu),要作權(quán)衡存取速度快,每比特價格高容量大,每比特價格越低,同時存取速度也越慢解決方案:采用層次化的存儲體系結(jié)構(gòu)當沿著層次下降時每比特的價格將下降,容量將增大速度將變慢,處理器的訪問頻率也將下降1/3/202326容量、速度和成本12/25/202226層次化的存儲體系結(jié)構(gòu)1/3/202327層次化的存儲體系結(jié)構(gòu)12/25/202227存儲訪問局部性原理提高存儲系統(tǒng)效能關(guān)鍵點:程序存儲訪問局部性原理程序執(zhí)行時,有很多的循環(huán)和子程序調(diào)用,一旦進入這樣的程序段,就會重復(fù)存取相同的指令集合對數(shù)據(jù)存取也有局部性,在較短的時間內(nèi),穩(wěn)定地保持在一個存儲器的局部區(qū)域處理器主要和存儲器的局部打交道在經(jīng)過一段時間以后,使用的代碼和數(shù)據(jù)集合會改變1/3/202328存儲訪問局部性原理提高存儲系統(tǒng)效能關(guān)鍵點:程序存儲訪問局部性設(shè)計多級存儲的體系結(jié)構(gòu)原則:級別較低存儲器比率小于級別較高存儲器比率假設(shè)兩級存儲器: 第I級包含1KB,存取時間為0.1μs 第II級包含1MB,存取時間為1μs存取I級中的內(nèi)容,直接存取存取II級,首先被轉(zhuǎn)移到I級,然后再存取假設(shè)確定內(nèi)容所在位置時間可以忽略若在I級存儲器中發(fā)現(xiàn)存取對象的概率是95%,則平均訪問時間為:結(jié)果非常接近I級存儲的存取時間1/3/202329設(shè)計多級存儲的體系結(jié)構(gòu)原則:級別較低存儲器比率小于級別較高存T1:I級存儲器的存取時間T2:II級存儲器的存取時間一個簡單二級存儲系統(tǒng)的性能1/3/202330T1:I級存儲器的存取時間一個簡單二級存儲系統(tǒng)的性能12/23、存儲分塊存儲最小單位:“二進位”,包含信息為0或1最小編址單位:字節(jié),一個字節(jié)包含八個二進位主流個人電腦主存:2GB~4GB之間輔助存儲器:在200GB~400GB工作站、服務(wù)器主存:8GB~16GB之間硬盤容量:N個數(shù)百GB為簡化分配和管理,存儲器分成塊,稱一個物理頁(Page)塊的大?。?12B、1K、4K、8K1/3/2023313、存儲分塊存儲最小單位:“二進位”,包含信息為0或112/4、存儲保護設(shè)施對主存中的信息加以嚴格的保護,使操作系統(tǒng)及其他程序不被破壞,是其正確運行的基本條件之一多用戶,多任務(wù)操作系統(tǒng):OS給每個運行進程分配一個存儲區(qū)域問題:多個程序同時在同一臺機器上運行,怎樣才能互不侵犯?如何處理重定位?1/3/2023324、存儲保護設(shè)施對主存中的信息加以嚴格的保護,使操作系統(tǒng)保護的硬件支持解決方案依賴于配有特殊硬件的CPU硬件可提供如下功能:界地址寄存器(界限寄存器)存儲鍵地址轉(zhuǎn)換機制1/3/202333保護的硬件支持解決方案依賴于配有特殊硬件的CPU12界地址寄存器(界限寄存器)界地址寄存器被廣泛使用的一種存儲保護技術(shù)機制比較簡單,易于實現(xiàn)實現(xiàn)方法:在CPU中設(shè)置一對下限寄存器和上限寄存器存放用戶作業(yè)在主存中的下限和上限地址也可將一個寄存器作為基址寄存器,另一寄存器作為限長寄存器(指示存儲區(qū)長度)每當CPU要訪問主存,硬件自動將被訪問的主存地址與界限寄存器的內(nèi)容進行比較,以判斷是否越界如果未越界,則按此地址訪問主存,否則將產(chǎn)生程序中斷——越界中斷(存儲保護中斷)1/3/202334界地址寄存器(界限寄存器)界地址寄存器被廣泛使用的一種存儲保界地址寄存器存儲保護技術(shù)1/3/202335界地址寄存器12/25/202235存儲鍵每個存儲塊有一個由二進位組成的存儲保護鍵一用戶作業(yè)被允許進入主存,OS分給它一個唯一的存儲鍵號并將分配給該作業(yè)各存儲塊存儲鍵也置成同樣鍵號當OS挑選該作業(yè)運行時,OS將它的存儲鍵號放入程序狀態(tài)字PSW存儲鍵(“鑰匙”)域中每當CPU訪問主存時,都將該主存塊的存儲鍵與PSW中的“鑰匙”進行比較如果相匹配,則允許訪問,否則,拒絕并報警1/3/202336存儲鍵每個存儲塊有一個由二進位組成的存儲保護鍵12/25/2地址轉(zhuǎn)換機制同時有多個程序在內(nèi)存程序在內(nèi)存的位置不是固定的而是隨機的用戶程序A內(nèi)存用戶程序B1/3/202337地址轉(zhuǎn)換機制同時有多個程序在內(nèi)存用戶程序A內(nèi)存用戶程序B12CPUMMU內(nèi)存磁盤控制器總線虛擬地址物理地址MMU:內(nèi)存管理單元1/3/202338CPUMMU內(nèi)存磁盤總線虛擬地址物理地址MMU:內(nèi)存管理單元地址轉(zhuǎn)換機制虛擬地址(邏輯地址)

處理器生成的指令或數(shù)據(jù)的二進制地址這些地址用硬件和軟件結(jié)合的方法轉(zhuǎn)換成物理地址MMU:內(nèi)存管理單元,一種特殊硬件,完成轉(zhuǎn)換工作1/3/202339地址轉(zhuǎn)換機制虛擬地址(邏輯地址)12/25/202239三、中斷技術(shù)中斷對于操作系統(tǒng)的重要性就像機器中的驅(qū)動齒輪一樣所以有人把操作系統(tǒng)稱為是由“中斷驅(qū)動”或者“(中斷)事件驅(qū)動”它使得OS可以捕獲用戶程序發(fā)出的系統(tǒng)功能調(diào)用及時處理設(shè)備的中斷請求防止用戶程序中破壞性的活動等等1/3/202340三、中斷技術(shù)中斷對于操作系統(tǒng)的重要性12/25/2022401、中斷的概念CPU對系統(tǒng)發(fā)生的某個事件作出的一種反應(yīng)CPU暫停正在執(zhí)行的程序,保留現(xiàn)場后自動轉(zhuǎn)去執(zhí)行相應(yīng)事件的處理程序,處理完成后返回斷點,繼續(xù)執(zhí)行被打斷的程序特點:1)中斷隨機的2)中斷是可恢復(fù)的3)中斷是自動處理的引入中斷的目的解決主機與外設(shè)的并行工作問題實現(xiàn)實時控制1/3/2023411、中斷的概念CPU對系統(tǒng)發(fā)生的某個事件作出的一種反應(yīng)特點:中斷/異常:指系統(tǒng)發(fā)生某個異步/同步事件后,處理機暫停正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行處理該事件程序的過程中斷的引入:為了開發(fā)CPU和通道(或設(shè)備)之間的并行操作,當CPU啟動通道(或設(shè)備)進行輸入/輸出后,通道便(或設(shè)備)可以獨立工作了,CPU也可以轉(zhuǎn)去做與此次輸入/輸出不相關(guān)的事情,那么通道(或設(shè)備)輸入/輸出完成后,還必須告訴CPU繼續(xù)輸入/輸出以后的事情,通道(或設(shè)備)通過向CPU發(fā)中斷告訴CPU此次輸入/輸出結(jié)束中斷的概念1/3/202342中斷/異常:指系統(tǒng)發(fā)生某個異步/同步事件后,處理機暫停正在執(zhí)異常引入:用于表示CPU執(zhí)行指令時本身出現(xiàn)算術(shù)溢出、零做除數(shù)、取數(shù)時的奇偶錯,訪存指令越界或就是執(zhí)行了一條所謂“異常指令”(用于實現(xiàn)系統(tǒng)調(diào)用)等情況,這時中斷當前的執(zhí)行流程,轉(zhuǎn)到相應(yīng)的錯誤處理程序或異常處理程序注意:最早中斷和異常并沒有區(qū)分,都把它們叫做中斷。隨著它們的發(fā)生原因和處理方式的差別愈發(fā)明顯,才有了以后的中斷和異常中斷的概念1/3/202343異常引入:用于表示CPU執(zhí)行指令時本身出現(xiàn)算術(shù)溢出、零做除數(shù)中斷(外中斷)異常(內(nèi)中斷)例外I/O中斷時鐘中斷系統(tǒng)調(diào)用缺頁異常斷點指令其他程序性異常(如算術(shù)溢出等)中斷(狹義)與異常的區(qū)別:中斷:與正執(zhí)行指令無關(guān),可以屏蔽異常:與正執(zhí)行指令有關(guān),不可屏蔽廣義中斷中斷的概念1/3/202344中斷(外中斷)異常(內(nèi)中斷)I/O中斷時鐘中斷系統(tǒng)調(diào)用中斷(2、中斷系統(tǒng)中斷系統(tǒng)是現(xiàn)代計算機系統(tǒng)的核心機制之一硬件和軟件相互配合、相互滲透而使得計算機系統(tǒng)得以充分發(fā)揮能力的計算模式中斷系統(tǒng)的兩大組成部分:硬件中斷裝置和軟件中斷處理程序中斷系統(tǒng)的硬件中斷裝置-中斷系統(tǒng)的機制部分負責(zé)捕獲中斷源發(fā)出的中斷請求,以一定方式響應(yīng)中斷源,然后將處理器控制權(quán)交給特定的中斷處理程序軟件中斷處理程序-中斷系統(tǒng)的策略部分負責(zé)辨別中斷類型并做出相應(yīng)的操作1/3/2023452、中斷系統(tǒng)中斷系統(tǒng)是現(xiàn)代計算機系統(tǒng)的核心機制之一12/25中斷源:引起中斷發(fā)生的事件中斷寄存器:記錄中斷中斷字:中斷寄存器的內(nèi)容系統(tǒng)堆棧:

在內(nèi)存開辟的一塊區(qū)域,用于臨時保存現(xiàn)場中斷系統(tǒng)中的相關(guān)概念1/3/202346中斷源:引起中斷發(fā)生的事件中斷系統(tǒng)中的相關(guān)概念12/25/2中斷優(yōu)先級設(shè)計原則:一般來說,高速設(shè)備的中斷優(yōu)先級高,慢速設(shè)備的中斷優(yōu)先級低。因為高速設(shè)備的中斷被處理機優(yōu)先響應(yīng)時,可以讓處理機盡快地向它發(fā)出下一個I/O請求,提高高速設(shè)備的利用率如PDP-11機上的UNIX系統(tǒng)把中斷級別分為:時鐘中斷——中斷優(yōu)先級=6級磁盤中斷——中斷優(yōu)先級=5級終端等其他外設(shè)中斷——中斷優(yōu)先級=4級3、中斷優(yōu)先級和中斷屏蔽1/3/202347中斷優(yōu)先級設(shè)計原則:一般來說,高速設(shè)備的中斷優(yōu)先級高,慢速設(shè)處理機優(yōu)先級:指出處理機正運行程序的中斷響應(yīng)級別。即當處理機處于某一優(yōu)先級時,只允許處理機去響應(yīng)比該優(yōu)先級高的中斷,而屏蔽低于或等于該優(yōu)先級的中斷??梢酝ㄟ^置處理機優(yōu)先級來通知硬件:屏蔽優(yōu)先級小于等于處理機優(yōu)先級的中斷中斷屏蔽:指禁止處理機響應(yīng)中斷或禁止中斷出現(xiàn)中斷優(yōu)先級和中斷屏蔽1/3/202348處理機優(yōu)先級:指出處理機正運行程序的中斷響應(yīng)級別。即當處理機中斷屏蔽有兩種方法:硬件實現(xiàn)——由軟件置處理機優(yōu)先級,硬件按系統(tǒng)設(shè)計時的約定,屏蔽那些低優(yōu)先級中斷軟件實現(xiàn)——由軟件按操作系統(tǒng)優(yōu)先級約定,設(shè)置屏蔽寄存器中斷優(yōu)先級和中斷屏蔽1/3/202349中斷屏蔽有兩種方法:中斷優(yōu)先級和中斷屏蔽12/25/20224、中斷類型強迫性中斷正在運行的程序所不期望的,由于某種硬件故障或外部請求引起的自愿性中斷用戶在程序中有意識安排的中斷,是由于用戶在編制程序時因為要求操作系統(tǒng)提供服務(wù),有意使用“訪管”指令或系統(tǒng)調(diào)用,使中斷發(fā)生1/3/2023504、中斷類型強迫性中斷12/25/202250中斷類型強迫性中斷輸入/輸出(I/O)中斷:主要來自外部設(shè)備通道程序性中斷:運行程序中本身的中斷(如溢出,缺頁中斷,缺段中斷,地址越界)時鐘中斷控制臺中斷硬件故障1/3/202351中斷類型強迫性中斷12/25/202251中斷類型自愿性中斷執(zhí)行I/O,創(chuàng)建進程,分配內(nèi)存信號量操作,發(fā)送/接收消息1/3/202352中斷類型自愿性中斷12/25/202252微機中的中斷1.可屏蔽中斷(IO中斷)2.不可屏蔽中斷(機器內(nèi)部故障、掉電中斷)3.程序錯誤中斷(溢出、除法錯等中斷)4.軟件中斷(Trap指令或中斷指令I(lǐng)NT)1/3/202353微機中的中斷1.可屏蔽中斷(IO中斷)12/25/20225IBM370中的中斷1.機器故障中斷:如電源故障,機器電路檢驗錯等2.輸入輸出中斷:輸入輸出設(shè)備和通道數(shù)據(jù)傳輸狀態(tài))3.外部中斷:時鐘中斷,操作員控制臺中斷,多機系統(tǒng)中其他機器的通信要求中斷,各種外設(shè)或傳感器發(fā)來的實時中斷等4.程序中斷:程序中的問題引起的中斷,如錯誤地使用指令或數(shù)據(jù)、溢出等問題,存儲保護等5.訪管中斷:訪管指令或陷阱指令(Trap指令)中的操作數(shù)規(guī)定了要求服務(wù)的類型。每當CPU執(zhí)行訪管指令或陷阱指令時,即引起中斷并調(diào)用操作系統(tǒng)相應(yīng)的功能模塊為其服務(wù)1/3/202354IBM370中的中斷1.機器故障中斷:如電源故障,機器電路5、中斷響應(yīng)

CPU如何響應(yīng)中斷,兩個問題:

CPU何時響應(yīng)中斷?通常在CPU執(zhí)行了一條指令以后,更確切地,在指令周期最后時刻接受中斷請求,或此時掃描中斷寄存器如何知道提出中斷請求的設(shè)備或中斷源?因為只有知道中斷源或中斷設(shè)備,才能調(diào)用相應(yīng)的中斷處理程序1/3/2023555、中斷響應(yīng) CPU如何響應(yīng)中斷,兩個問題:12/25/2處理器如何發(fā)現(xiàn)中斷信號?處理器的控制部件中設(shè)一個能檢測中斷的機構(gòu)稱為中斷掃描機構(gòu)在每條指令執(zhí)行周期的最后時刻掃描中斷寄存器,詢問是否有中斷信號若無中斷信號,繼續(xù)執(zhí)行下一條指令若有中斷,中斷硬件將該中斷觸發(fā)器內(nèi)容按規(guī)定編碼送入PSW的相應(yīng)位,稱為中斷碼通過交換中斷向量引出中斷處理程序中斷響應(yīng)1/3/202356處理器如何發(fā)現(xiàn)中斷信號?中斷響應(yīng)12/25/202256開始取下一條指令執(zhí)行指令檢查指令處理中斷停止取周期執(zhí)行周期中斷周期不允許中斷允許中斷1/3/202357開始取下一條指令執(zhí)行指令檢查指令停止取周期執(zhí)行周期中斷周期不用軟件指令去查詢各設(shè)備接口這種方法比較費時多數(shù)微型機對此問題的解決方法:使用一種“向量中斷”的硬件設(shè)施“中斷向量”:當CPU接受某中斷請求時,該設(shè)備接口給處理器發(fā)送具有唯一性的“中斷向量”,以標識該設(shè)備“中斷向量”在各計算機上實現(xiàn)方法差別比較大兩種解決方法

1/3/202358用軟件指令去查詢各設(shè)備接口兩種解決方法 12/25/2022

中斷向量:一個存放中斷處理程序入口地址和程序運行所需處理機狀態(tài)字的內(nèi)存單元硬件按中斷號、異常類型的不同通過中斷向量表轉(zhuǎn)移1/3/202359中斷向量:一個存放中斷處理程序入口地址和程序運行所需處理機中斷向量表在有的機器中:將主存最低位128個字保留作為中斷向量表,每個中斷向量占兩個字中斷請求的設(shè)備接口為了標識自己,向處理器發(fā)送一個該設(shè)備在中斷向量表中表目的地址指針1/3/202360中斷向量表在有的機器中:12/25/202260中斷響應(yīng)

1/3/202361中斷響應(yīng) 12/25/2022616、中斷處理簡單的中斷處理-典型的處理過程:(1)設(shè)備給處理器發(fā)一個中斷信號(2)處理器處理完當前指令后響應(yīng)中斷,延遲非常短(要求處理器沒有關(guān)閉中斷)(3)處理器處理完當前指令后檢測到中斷,判斷出中斷來源并向發(fā)送中斷的設(shè)備發(fā)送了確認中斷信號,確認信號使得該設(shè)備將中斷信號恢復(fù)到一般狀態(tài)(4)處理器開始為軟件處理中斷做準備:

保存中斷點的程序執(zhí)行上下文環(huán)境,這通常包括程序狀態(tài)字PSW,程序計數(shù)器PC中的下一條指令位置,一些寄存器的值,它們通常保存在系統(tǒng)控制棧中,處理器狀態(tài)被切換到管態(tài)1/3/2023626、中斷處理簡單的中斷處理-典型的處理過程:12/25/(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被恢復(fù)成中斷前的值,處理器開始一個新的指令周期,中斷處理結(jié)束中斷處理1/3/202363(5)處理器根據(jù)中斷源查詢中斷向量表,獲得與該中斷相聯(lián)系的處簡單的中斷處理過程1/3/202364簡單的中斷處理過程12/25/202264多個中斷的處理若中斷處理過程中又發(fā)生中斷,引起多中斷處理問題兩種策略方法:第一種:處理一個中斷時禁止中斷,對任何新中斷置之不理,在這期間發(fā)生的中斷將保持掛起狀態(tài)當再次允許中斷時,新中斷信號被處理器檢測到軟件實現(xiàn)方法:在任何中斷處理前使用禁止中斷指令在處理結(jié)束后開放中斷指令所有中斷嚴格按照發(fā)生順序處理不考慮中斷緊急程度,無法達到較嚴格時間要求1/3/202365多個中斷的處理若中斷處理過程中又發(fā)生中斷,引起多中斷處理問題多中斷處理第一種策略方法1/3/202366多中斷處理第一種策略方法12/25/202266第二種:中斷按照優(yōu)先度分級允許優(yōu)先級高中斷打斷優(yōu)先級低的中斷處理過程這樣中斷優(yōu)先級技術(shù)將引起中斷處理的嵌套只要合適地定義中斷的優(yōu)先級別方法一的弊端大都可以克服多個中斷的處理1/3/202367第二種:多個中斷的處理12/25/202267多中斷處理第二種策略方法1/3/202368多中斷處理第二種策略方法12/25/202268典型的中斷處理(1):I/O中斷由I/O設(shè)備的控制器或者通道發(fā)出兩類I/O中斷:I/O操作正常結(jié)束如果要繼續(xù)I/O操作,需要在準備好以后重新啟動I/O,若請求I/O程序正處于等待I/O狀態(tài),則應(yīng)將其喚醒I/O異常需要重新執(zhí)行失敗的I/O操作重試次數(shù)有上限,次數(shù)過大,系統(tǒng)將判定硬件故障1/3/202369典型的中斷處理(1):I/O中斷由I/O設(shè)備的控制器或者通道系統(tǒng)多道能力的重要推動力量,時鐘中斷處理程序通常做與系統(tǒng)運轉(zhuǎn)、管理和維護相關(guān)的工作,包括:維護軟件時鐘:系統(tǒng)有若干個軟件時鐘,控制定時任務(wù)以及進程的處理器時間配額,時鐘中斷需要維護、定時更新這些軟件時鐘處理器時間調(diào)度:維護當前進程時間片軟件時鐘,并在當前進程時間片到時以后運行調(diào)度程序選擇下一個被調(diào)度的進程控制系統(tǒng)定時任務(wù):通過軟件時鐘和調(diào)度程序定時激活一些系統(tǒng)任務(wù),如監(jiān)測死鎖、系統(tǒng)記帳、系統(tǒng)審計等實時處理典型的中斷處理(2):時鐘中斷1/3/202370系統(tǒng)多道能力的重要推動力量,時鐘中斷處理程序通常做與系統(tǒng)運轉(zhuǎn)典型的中斷處理(3):硬件故障中斷硬件故障中斷處理程序一般需要做的工作:保存現(xiàn)場,使用一定警告手段,提供些輔助診斷信息在高可靠系統(tǒng)中,中斷處理程序還要評估系統(tǒng)可用性,盡可能恢復(fù)系統(tǒng)如Windows2000/XP,關(guān)鍵硬件發(fā)生故障時,如顯示卡損壞,出現(xiàn)系統(tǒng)藍屏,系統(tǒng)實際上進入相應(yīng)故障處理程序,發(fā)現(xiàn)故障不可恢復(fù),則在屏幕上打印出發(fā)生故障時程序位置,并開始進行內(nèi)存轉(zhuǎn)儲(將一定范圍的內(nèi)存內(nèi)容寫上磁盤,是系統(tǒng)故障時的全系統(tǒng)“快照”),備日后故障診斷1/3/202371典型的中斷處理(3):硬件故障中斷硬件故障中斷處理程序一程序指令出錯、指令越權(quán)或者指令尋址越界而引發(fā)兩類處理方法:只能由操作系統(tǒng)的相關(guān)擴展功能模塊完成多為程序試圖作不能做的操作引起的系統(tǒng)保護如訪問合法的、但不在內(nèi)存虛地址內(nèi),引發(fā)頁故障頁故障一般會引發(fā)OS虛存模塊作一個頁面換入可由程序自己完成,如一些算術(shù)運算錯誤不同程序可有不同處理方法,所以很多OS提供由用戶自己處理這類中斷的“綠色通道”系統(tǒng)調(diào)試中斷(斷點中斷、單步跟蹤)也可被用戶程序處理,用以支持各種程序調(diào)試典型的中斷處理(4):程序性中斷1/3/202372程序指令出錯、指令越權(quán)或者指令尋址越界而引發(fā)典型的中斷處理(典型的中斷處理(5):系統(tǒng)服務(wù)請求(自愿性中斷)系統(tǒng)服務(wù)請求由處理器專用指令(訪管指令)激發(fā)如x86處理器提供int指令,用來激發(fā)軟件中斷其他不少處理器則提供系統(tǒng)調(diào)用指令syscall執(zhí)行專用指令的結(jié)果是系統(tǒng)被切換到管態(tài),并且轉(zhuǎn)移到一段專門OS程序處開始執(zhí)行指令格式通常是指令名加請求服務(wù)識別號(中斷號)OS利用處理器提供的這種接口建立系統(tǒng)服務(wù)體系處理器一般不負責(zé)定義系統(tǒng)調(diào)用所傳遞的參數(shù)格式1/3/202373典型的中斷處理(5):系統(tǒng)服務(wù)請求(自愿性中斷)系統(tǒng)服務(wù)請求DOS:21h號中斷的系統(tǒng)服務(wù)功能以及參數(shù)列表現(xiàn)代操作系統(tǒng)一般不提供直接使用系統(tǒng)調(diào)用指令的接口,通常做法:提供一套方便、實用的應(yīng)用程序函數(shù)庫(應(yīng)用程序設(shè)計接口API)從應(yīng)用層面重新封裝系統(tǒng)調(diào)用屏蔽復(fù)雜的系統(tǒng)調(diào)用傳參問題高級語言接口,有助于快速開發(fā)有的系統(tǒng)在更高層面提供系統(tǒng)程序設(shè)計模板庫和類庫

如Windows2000/XP提供封裝系統(tǒng)用Win32API和高層編程機制MFC以及ATLLinux提供封裝系統(tǒng)調(diào)用、符合POSIX標準API和C運行庫典型的中斷處理(6):系統(tǒng)服務(wù)請求實例1/3/202374DOS:21h號中斷的系統(tǒng)服務(wù)功能以及參數(shù)列表典型的中斷處理設(shè)備控制器或其他系統(tǒng)硬件發(fā)出中斷處理器完成當前指令的執(zhí)行處理器接受中斷處理器將PSW和PC推入系統(tǒng)堆棧處理器根據(jù)中斷類型讀入新的PC值中斷系統(tǒng)硬件完成的工作1/3/202375設(shè)備控制器或其他系統(tǒng)硬件發(fā)出中斷處理器完成當前指令的執(zhí)行處理保存進程狀態(tài)的其余信息進程中斷恢復(fù)進程狀態(tài)信息從系統(tǒng)堆?;謴?fù)原PSW和PC中斷系統(tǒng)軟件完成的工作1/3/202376保存進程狀態(tài)的其余信息進程中斷恢復(fù)進程狀態(tài)信息從系統(tǒng)堆?;謴?fù)強迫性中斷事件自愿性中斷事件保存現(xiàn)場信息保存現(xiàn)場信息取出中斷碼取出訪管號分析中斷原因分析何種系統(tǒng)調(diào)用轉(zhuǎn)相應(yīng)處理程序是否中斷嵌套由系統(tǒng)恢復(fù)現(xiàn)場由系統(tǒng)恢復(fù)現(xiàn)場轉(zhuǎn)低級調(diào)度程序返回上層中斷返回目態(tài)程序需要切換進程TFFT1/3/202377強迫性中斷事件自愿性中斷事件保存現(xiàn)場信息保存現(xiàn)場信息取出中斷四、I/O技術(shù)I/O控制使用下面幾種技術(shù):程序控制中斷驅(qū)動直接存儲器存?。―MA)通道1/3/202378四、I/O技術(shù)I/O控制使用下面幾種技術(shù):12/25/2021、程序控制I/O技術(shù)由處理器提供I/O相關(guān)指令來實現(xiàn)I/O處理單元處理請求并設(shè)置I/O狀態(tài)寄存器相關(guān)位不中斷處理器,也不給處理器警告信息處理器定期輪詢I/O單元的狀態(tài),直到處理完畢I/O軟件包含直接操縱I/O的指令控制指令:用于激活外設(shè),并告訴它做什么狀態(tài)指令:用于測試I/O控制中的各種狀態(tài)和條件數(shù)據(jù)傳送指令:用于在設(shè)備和主存之間來回傳送數(shù)據(jù)主要缺陷:處理器必須關(guān)注I/O處理單元的狀態(tài),因而耗費大量時間輪詢信息,嚴重地降低了系統(tǒng)性能1/3/2023791、程序控制I/O技術(shù)由處理器提供I/O相關(guān)指令來實現(xiàn)12/2、中斷驅(qū)動I/O技術(shù)為了解決程序控制I/O方法的主要問題應(yīng)該讓處理器從輪詢?nèi)蝿?wù)中解放出來使I/O操作和指令執(zhí)行并行起來具體作法:當I/O處理單元準備好與設(shè)備交互的時候通過物理信號通知處理器,即中斷處理器1/3/2023802、中斷驅(qū)動I/O技術(shù)為了解決程序控制I/O方法的主要問題13、DMA技術(shù)(1)中斷的引入大大地提高了處理器處理I/O的效率當處理器和I/O間傳送數(shù)據(jù)時,效率仍舊不高解決方法:直接存儲器訪問(DMA:DirectMemoryAccess)通過系統(tǒng)總線中一獨立控制單元——DMA控制器自動控制成塊數(shù)據(jù)在內(nèi)存和I/O單元間的傳送大大提高處理I/O的效能1/3/2023813、DMA技術(shù)(1)中斷的引入大大地提高了處理器處理I/O的DMA技術(shù)(2)當處理器需要讀寫一整塊數(shù)據(jù)時給DMA控制單元發(fā)送一條命令包含:是否請求一次讀或?qū)?,I/O設(shè)備的編址,開始讀或?qū)懙闹鞔婢幹?,需要傳送的?shù)據(jù)長度等信息處理器發(fā)送完命令后就可處理其他事情DMA控制器將自動管理數(shù)據(jù)的傳送當這個過程完成后,它會給處理器發(fā)一個中斷處理器只在開始傳送和傳送結(jié)束時關(guān)注一下就可1/3/202382DMA技術(shù)(2)當處理器需要讀寫一整塊數(shù)據(jù)時12/25/20處理器和DMA傳送不完全并行有時會有總線競爭的情況發(fā)生處理器用總線時可能稍作等待不會引起中斷不引起程序上下文的保存通常過程只有一個總線周期在DMA傳送時,處理器訪問總線速度會變慢對于大量數(shù)據(jù)I/O傳送,DMA技術(shù)是很有價值DMA技術(shù)(3)1/3/202383處理器和DMA傳送不完全并行DMA技術(shù)(3)12/25/204、通道獨立于中央處理器,專門負責(zé)數(shù)據(jù)I/O傳輸?shù)奶幚頇C它對外設(shè)實現(xiàn)統(tǒng)一管理代替CPU對I/O操作進行控制使CPU和外設(shè)可以并行工作通道又稱為I/O處理機引入通道的目的:為了使CPU從I/O事務(wù)中解脫出來同時為了提高CPU與設(shè)備、設(shè)備與設(shè)備之間的并行度1/3/2023844、通道獨立于中央處理器,專門負責(zé)數(shù)據(jù)I/O傳輸?shù)奶幚頇C12五、時鐘(1)時鐘為計算機完成以下必不可少的工作:在多道程序運行環(huán)境中,為系統(tǒng)發(fā)現(xiàn)陷入死循環(huán)(編程錯誤)的作業(yè),防止機時的浪費在分時系統(tǒng)中,間隔時鐘實現(xiàn)作業(yè)間按時間片輪轉(zhuǎn)在實時系統(tǒng)中,按要求的間隔輸出正確時間信號給實時的控制設(shè)備(如A/D、D/A轉(zhuǎn)換設(shè)備)定時喚醒要求延遲執(zhí)行的各外部事件(如定時為各進程計算優(yōu)先數(shù),銀行中定時運行某類結(jié)賬程序等)記錄用戶使用設(shè)備時間和記錄某外部事件發(fā)生時間記錄用戶和系統(tǒng)所需要的絕對時間,即年、月、日1/3/202385五、時鐘(1)時鐘為計算機完成以下必不可少的工作:12/25時鐘是操作系統(tǒng)運行的必不可少的硬件設(shè)施時鐘,實際上都是硬件時鐘寄存器,按時鐘電路所產(chǎn)生的脈沖數(shù)對時鐘寄存器進行加1或減1的工作絕對時鐘:記錄當時時間(年、月、日、時、分、秒)一般來說,絕對時鐘準確,當停機時,絕對時鐘值仍然自動修改間隔時鐘(相對時鐘):通過時鐘寄存器實現(xiàn)置上時間間隔初值,每經(jīng)過一個單位時間,時鐘值減1,直到該值為負時,則觸發(fā)時鐘中斷,并進行相應(yīng)中斷處理時鐘(2)1/3/202386時鐘是操作系統(tǒng)運行的必不可少的硬件設(shè)施時鐘(2)12/25/每個脈沖使計數(shù)器減1用來裝入計數(shù)器初值1/3/202387每個脈沖使計數(shù)器減1用來裝入計數(shù)器初值12/25/20228硬件時鐘:某個寄存器來模擬(根據(jù)脈沖頻率定時加1,減1)軟件時鐘:用作相對時鐘,用內(nèi)存單元來模擬時鐘CPU保護:防止進程得到CPU后不放棄控制權(quán)解決:分配給每個進程一段時間(時間片)時間片到,發(fā)時鐘中斷,控制權(quán)交給操作系統(tǒng)1/3/202388硬件時鐘:某個寄存器來模擬12/25/202288六、緩沖技術(shù)緩沖區(qū)是硬件設(shè)備之間進行數(shù)據(jù)傳輸時,用來暫存數(shù)據(jù)的一個存儲區(qū)域緩沖技術(shù)三種用途:處理器與主存儲器之間處理器和其他外部設(shè)備之間設(shè)備與設(shè)備之間的通信目的:解決部件之間速度不匹配的問題1/3/202389六、緩沖技術(shù)緩沖區(qū)是硬件設(shè)備之間進行數(shù)據(jù)傳輸時,用來暫存數(shù)據(jù)多緩沖區(qū)(Cache)技術(shù)單緩沖區(qū):設(shè)備向緩沖區(qū)輸入數(shù)據(jù)直到裝滿后必須等待CPU將其取完,才能繼續(xù)向其中輸入數(shù)據(jù)為了提高設(shè)備利用率,單緩沖區(qū)不夠多緩沖區(qū)(Cache)技術(shù):Cache:離CPU最近,使CPU快速訪問常使用的數(shù)據(jù)CPU首先到一級Cache中找如果沒有,CPU到二級Cache中找如果沒有,CPU到系統(tǒng)內(nèi)存中找1/3/202390多緩沖區(qū)(Cache)技術(shù)單緩沖區(qū):12/25/202290一級Cache,CPU先訪問,性能對系統(tǒng)性能作用很大Cache與主存儲器1/3/202391一級Cache,CPU先訪問,性能對系統(tǒng)性能作用很大Cach七、其他問題例如:總線八種總線:緩存,局部,內(nèi)存,PCI,SCSI,USB,IDE,ISA傳輸速度和功能1/3/202392七、其他問題例如:總線12/25/202292總線1/3/202393總線12/25/202293演講完畢,謝謝觀看!演講完畢,謝謝觀看!第二講操作系統(tǒng)的硬件環(huán)境討論操作系統(tǒng)對運行硬件環(huán)境的要求討論操作系統(tǒng)設(shè)計者考慮的硬件問題操作系統(tǒng)運行的硬件環(huán)境組成中央處理器(CPU)存儲系統(tǒng)中斷機制I/O系統(tǒng)時鐘以及時鐘隊列其他1/3/202395第二講操作系統(tǒng)的硬件環(huán)境討論操作系統(tǒng)對運行硬件環(huán)境的要求1概述任何系統(tǒng)軟件都是硬件功能的延伸操作系統(tǒng)直接依賴于硬件條件OS的硬件環(huán)境以較分散的形式同各種管理相結(jié)合實現(xiàn)操作系統(tǒng)時必須理解的計算機基本結(jié)構(gòu)操作系統(tǒng)管理的重要資源1/3/202396概述任何系統(tǒng)軟件都是硬件功能的延伸12/25/20222簡單的個人計算機中的部件MonitorBus1/3/202397簡單的個人計算機中的部件MonitorBus12/25/20一、中央處理器(CPU)專門設(shè)計了一系列基本機制:-具有特權(quán)級別的處理器狀態(tài),能在不同特權(quán)級運行的各種特權(quán)指令-硬件機制使得OS可以和普通程序隔離實現(xiàn)保護和控制1/3/202398一、中央處理器(CPU)專門設(shè)計了一系列基本機制:12/251、CPU的構(gòu)成與基本工作方式處理器由運算器、控制器、一系列的寄存器以及高速緩存構(gòu)成運算器實現(xiàn)指令中的算術(shù)和邏輯運算,是計算機計算的核心控制器負責(zé)控制程序運行的流程,包括取指令、維護CPU狀態(tài)、CPU與內(nèi)存的交互等等1/3/2023991、CPU的構(gòu)成與基本工作方式處理器由運算器、控制器、一寄存器是指令在CPU內(nèi)部作處理的過程中暫存數(shù)據(jù)、地址以及指令信息的存儲設(shè)備在計算機的存儲系統(tǒng)中它具有最快的訪問速度高速緩存處于CPU和物理內(nèi)存之間一般由控制器中的內(nèi)存管理單元(MMU:MemoryManagementUnit)管理訪問速度快于內(nèi)存,低于寄存器利用程序局部性原理使得高速指令處理和低速內(nèi)存訪問得以匹配,從而提高CPU的效率1/3/2023100寄存器是指令在CPU內(nèi)部作處理的過程中暫存數(shù)據(jù)、地址以及指令處理器中的寄存器寄存器提供了一定的存儲能力速度比主存快得多造價高,容量一般都很小兩類寄存器:用戶可見寄存器,高級語言編譯器通過算法分配并使用之,以減少程序訪問主存次數(shù)控制和狀態(tài)寄存器,用于控制處理器的操作由OS的特權(quán)代碼使用,以控制其他程序的執(zhí)行1/3/2023101處理器中的寄存器寄存器提供了一定的存儲能力12/25/202用戶可見寄存器機器語言直接引用包括數(shù)據(jù)寄存器、地址寄存器以及條件碼寄存器數(shù)據(jù)寄存器(dataregister)又稱通用寄存器主要用于各種算術(shù)邏輯指令和訪存指令地址寄存器(addressregister)用于存儲數(shù)據(jù)及指令的物理地址、線性地址或者有效地址,用于某種特定方式的尋址。如indexregister、segmentpointer、stackpointer條件碼寄存器保存CPU操作結(jié)果的各種標記位如算術(shù)運算產(chǎn)生的溢出、符號等等1/3/2023102用戶可見寄存器機器語言直接引用12/25/20228控制和狀態(tài)寄存器用于控制處理器的操作大部分對于用戶是不可見的一部分可以在某種特權(quán)模式(由OS使用)下訪問常見的控制和狀態(tài)寄存器:程序計數(shù)器(PC:ProgramCounter),記錄將要取出的指令的地址指令寄存器(IR:InstructionRegister),包含最近取出的指令程序狀態(tài)字(PSW:ProgramStatusWord),記錄處理器的運行模式信息等等1/3/2023103控制和狀態(tài)寄存器用于控制處理器的操作12/25/20229指令執(zhí)行的基本過程(1)兩個步驟:先從存儲器中每次讀取一條指令然后執(zhí)行這條指令一個單條指令處理過程稱為一個指令周期程序的執(zhí)行是由不斷取指和執(zhí)行的指令周期組成僅當關(guān)機、出錯或有停機相關(guān)指令時,程序才停止1/3/2023104指令執(zhí)行的基本過程(1)兩個步驟:12/25/202210每個指令周期開始時,依據(jù)在程序計數(shù)器中的指令地址從存儲器中取一條指令在取指完成后根據(jù)指令類別自動將程序計數(shù)器的值變成下條指令的地址,自增1取到的指令放在指令寄存器中處理器解釋并執(zhí)行所要求的動作指令執(zhí)行的基本過程(2)1/3/2023105每個指令周期開始時,依據(jù)在程序計數(shù)器中的指令地址從存儲器中取5類指令訪問存儲器指令:處理器和存儲器間數(shù)據(jù)傳送I/O指令:處理器和I/O模塊間數(shù)據(jù)傳送和命令發(fā)送算術(shù)邏輯指令(數(shù)據(jù)處理指令):執(zhí)行數(shù)據(jù)算術(shù)和邏輯操作控制轉(zhuǎn)移指令:指定一個新的指令的執(zhí)行起點處理器控制指令:修改處理器狀態(tài),改變處理器工作方式1/3/20231065類指令訪問存儲器指令:12/25/2022122、特權(quán)指令和非特權(quán)指令特權(quán)指令:只能由操作系統(tǒng)使用的指令使用多道程序設(shè)計技術(shù)的計算機指令系統(tǒng)必須要區(qū)分為特權(quán)指令和非特權(quán)指令特權(quán)指令一般引起處理器狀態(tài)的切換處理器通過特殊的機制將處理器狀態(tài)切換到操作系統(tǒng)運行的特權(quán)狀態(tài)(管態(tài))然后將處理權(quán)移交給操作系統(tǒng)中的一段特殊代碼,這一個過程稱為陷入?CPU如何知道當前運行的是操作系統(tǒng)還是一般應(yīng)用軟件?有賴于處理器狀態(tài)的標識1/3/20231072、特權(quán)指令和非特權(quán)指令特權(quán)指令:只能由操作系統(tǒng)使用的指令13、處理器的狀態(tài)根據(jù)運行程序?qū)Y源和機器指令的使用權(quán)限將處理器設(shè)置為不同狀態(tài)多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)管態(tài):操作系統(tǒng)管理程序運行的狀態(tài),較高的特權(quán)級別,又稱為特權(quán)態(tài)(特態(tài))、核心態(tài)、系統(tǒng)態(tài)目態(tài):用戶程序運行時的狀態(tài),較低的特權(quán)級別,又稱為普通態(tài)(普態(tài))、用戶態(tài)有些系統(tǒng)將處理器狀態(tài)劃分核心狀態(tài)、管理狀態(tài)和用戶程序狀態(tài)(目標狀態(tài))三種1/3/20231083、處理器的狀態(tài)根據(jù)運行程序?qū)Y源和機器指令的使用權(quán)限將處理實例:x86系列處理器(1)386、486、Pentium系列都支持4個處理器特權(quán)級別(特權(quán)環(huán):R0、R1、R2和R3)從R0到R3特權(quán)能力依次降低R0相當于雙狀態(tài)系統(tǒng)的管態(tài)R3相當于目態(tài)R1和R2則介于兩者之間,它們能夠運行的指令集合具有包含關(guān)系:1/3/2023109實例:x86系列處理器(1)386、486、Pentium系各個級別有保護性檢查(地址校驗、I/O限制)特權(quán)級別之間的轉(zhuǎn)換方式不盡相同四個級別運行不同類別的程序:R0-運行操作系統(tǒng)核心代碼R1-運行關(guān)鍵設(shè)備驅(qū)動程序和I/O處理例程R2-運行其他受保護共享代碼,如語言系統(tǒng)運行環(huán)境R3-運行各種用戶程序現(xiàn)有基于x86處理器的操作系統(tǒng),多數(shù)UNIX、Linux以及Windows系列大都只用了R0和R3兩個特權(quán)級別實例:x86系列處理器(2)1/3/2023110各個級別有保護性檢查(地址校驗、I/O限制)實例:x86系列管態(tài)和目態(tài)的差別處理器處于管態(tài)時:全部指令(包括特權(quán)指令)可以執(zhí)行可使用所有資源并具有改變處理器狀態(tài)的能力處理器處于目態(tài)時:只有非特權(quán)指令能執(zhí)行特權(quán)級別不同,可運行指令集合也不同特權(quán)級別越高,可以運行指令集合越大高特權(quán)級別對應(yīng)的可運行指令集合包含低特權(quán)級的1/3/2023111管態(tài)和目態(tài)的差別處理器處于管態(tài)時:12/25/2022174、程序狀態(tài)字PSW(ProgramStatusWord)在PSW中專門設(shè)置一位,根據(jù)運行程序使用指令的權(quán)限而設(shè)置CPU狀態(tài)CPU的工作狀態(tài)碼——指明管態(tài)還是目態(tài),用來說明當前在CPU上執(zhí)行的是操作系統(tǒng)還是一般用戶,從而決定其是否可以使用特權(quán)指令或擁有其他的特殊權(quán)力條件碼——反映指令執(zhí)行后的結(jié)果特征中斷屏蔽碼——指出是否允許中斷1/3/20231124、程序狀態(tài)字PSW(ProgramStatusWor例:微處理器M68000的程序狀態(tài)字條件位:C:進位標志位 V:溢出標志位Z:結(jié)果為零標志位 N:結(jié)果為負標志位I0–I2:三位中斷屏蔽位S:CPU狀態(tài)標志位,為1處于管態(tài),為0處于目態(tài)T:陷阱(Trap)中斷指示位為1,在下一條指令執(zhí)行后引起自陷中斷1/3/2023113例:微處理器M68000的程序狀態(tài)字條件位:12/25/20CF:進位標志位ZF:結(jié)果為零標志位SF:符號標志位OF:溢出標志位標準條件位:TF:陷阱標志位IF:中斷允許(中斷屏蔽)標志位VIF:虛擬中斷標志位VIP:虛擬中斷待決標志位IOPL:IO特權(quán)級別

例:微處理器Pentium的程序狀態(tài)字1/3/2023114CF:進位標志位標準條件位:例:微處理器PentiCPU狀態(tài)的轉(zhuǎn)換目態(tài)→管態(tài)

唯一途徑是中斷管態(tài)→目態(tài)設(shè)置PSW(修改程序狀態(tài)字)可實現(xiàn)1/3/2023115CPU狀態(tài)的轉(zhuǎn)換目態(tài)→管態(tài)12/25/202221二、存儲系統(tǒng)支持OS運行硬件環(huán)境的一個重要方面:作業(yè)必須把它的程序和數(shù)據(jù)存放在內(nèi)存中才能運行多道程系統(tǒng)中,若干個程序和相關(guān)的數(shù)據(jù)要放入內(nèi)存操作系統(tǒng)要管理、保護程序和數(shù)據(jù),使它們不至于受到破壞操作系統(tǒng)本身也要存放在內(nèi)存中并運行

1/3/2023116二、存儲系統(tǒng)支持OS運行硬件環(huán)境的一個重要方面:12/25/1、存儲器的類型半導(dǎo)體存儲器實現(xiàn)內(nèi)存存儲器芯片的內(nèi)部組織結(jié)構(gòu)靜態(tài)存儲器(SRAM)異步動態(tài)隨機存儲器(DRAM)同步動態(tài)隨機存儲器(SDRAM)雙倍數(shù)據(jù)速率SDRAM(DDRSDRAM)(開放標準)Rambus公司的SDRAM1/3/20231171、存儲器的類型半導(dǎo)體存儲器實現(xiàn)內(nèi)存12/25/20只讀型存儲器ROM(Read-OnlyMemory):只能從其中讀取數(shù)據(jù),但不能隨意用普通方法寫入數(shù)據(jù)(寫入數(shù)據(jù)只能用特殊方法)在微機中,一些常駐內(nèi)存的模塊以微程序形式固化在ROM中,如:PCBIOS和CBASIC解釋程序被固化于ROM中PROM:可編程只讀存儲器,使用特殊PROM寫入器寫入數(shù)據(jù)EPROM:電可擦寫可編程只讀存儲器,用特殊的紫外線光照射此芯片,以“擦去”信息,恢復(fù)原來狀態(tài),再使用特殊EPROM寫入器寫入數(shù)據(jù)閃存(flashmemory)存儲器的類型1/3/2023118只讀型存儲器存儲器的類型12/25/2022242、存儲器的層次結(jié)構(gòu)存儲系統(tǒng)設(shè)計三個問題:

容量、速度和成本容量:需求無止境速度:能匹配處理器的速度成本問題:成本和其他部件相比應(yīng)在合適范圍之內(nèi)1/3/20231192、存儲器的層次結(jié)構(gòu)存儲系統(tǒng)設(shè)計三個問題:12/25/202容量、速度和成本三個目標不可能同時達到最優(yōu),要作權(quán)衡存取速度快,每比特價格高容量大,每比特價格越低,同時存取速度也越慢解決方案:采用層次化的存儲體系結(jié)構(gòu)當沿著層次下降時每比特的價格將下降,容量將增大速度將變慢,處理器的訪問頻率也將下降1/3/2023120容量、速度和成本12/25/202226層次化的存儲體系結(jié)構(gòu)1/3/2023121層次化的存儲體系結(jié)構(gòu)12/25/202227存儲訪問局部性原理提高存儲系統(tǒng)效能關(guān)鍵點:程序存儲訪問局部性原理程序執(zhí)行時,有很多的循環(huán)和子程序調(diào)用,一旦進入這樣的程序段,就會重復(fù)存取相同的指令集合對數(shù)據(jù)存取也有局部性,在較短的時間內(nèi),穩(wěn)定地保持在一個存儲器的局部區(qū)域處理器主要和存儲器的局部打交道在經(jīng)過一段時間以后,使用的代碼和數(shù)據(jù)集合會改變1/3/2023122存儲訪問局部性原理提高存儲系統(tǒng)效能關(guān)鍵點:程序存儲訪問局部性設(shè)計多級存儲的體系結(jié)構(gòu)原則:級別較低存儲器比率小于級別較高存儲器比率假設(shè)兩級存儲器: 第I級包含1KB,存取時間為0.1μs 第II級包含1MB,存取時間為1μs存取I級中的內(nèi)容,直接存取存取II級,首先被轉(zhuǎn)移到I級,然后再存取假設(shè)確定內(nèi)容所在位置時間可以忽略若在I級存儲器中發(fā)現(xiàn)存取對象的概率是95%,則平均訪問時間為:結(jié)果非常接近I級存儲的存取時間1/3/2023123設(shè)計多級存儲的體系結(jié)構(gòu)原則:級別較低存儲器比率小于級別較高存T1:I級存儲器的存取時間T2:II級存儲器的存取時間一個簡單二級存儲系統(tǒng)的性能1/3/2023124T1:I級存儲器的存取時間一個簡單二級存儲系統(tǒng)的性能12/23、存儲分塊存儲最小單位:“二進位”,包含信息為0或1最小編址單位:字節(jié),一個字節(jié)包含八個二進位主流個人電腦主存:2GB~4GB之間輔助存儲器:在200GB~400GB工作站、服務(wù)器主存:8GB~16GB之間硬盤容量:N個數(shù)百GB為簡化分配和管理,存儲器分成塊,稱一個物理頁(Page)塊的大?。?12B、1K、4K、8K1/3/20231253、存儲分塊存儲最小單位:“二進位”,包含信息為0或112/4、存儲保護設(shè)施對主存中的信息加以嚴格的保護,使操作系統(tǒng)及其他程序不被破壞,是其正確運行的基本條件之一多用戶,多任務(wù)操作系統(tǒng):OS給每個運行進程分配一個存儲區(qū)域問題:多個程序同時在同一臺機器上運行,怎樣才能互不侵犯?如何處理重定位?1/3/20231264、存儲保護設(shè)施對主存中的信息加以嚴格的保護,使操作系統(tǒng)保護的硬件支持解決方案依賴于配有特殊硬件的CPU硬件可提供如下功能:界地址寄存器(界限寄存器)存儲鍵地址轉(zhuǎn)換機制1/3/2023127保護的硬件支持解決方案依賴于配有特殊硬件的CPU12界地址寄存器(界限寄存器)界地址寄存器被廣泛使用的一種存儲保護技術(shù)機制比較簡單,易于實現(xiàn)實現(xiàn)方法:在CPU中設(shè)置一對下限寄存器和上限寄存器存放用戶作業(yè)在主存中的下限和上限地址也可將一個寄存器作為基址寄存器,另一寄存器作為限長寄存器(指示存儲區(qū)長度)每當CPU要訪問主存,硬件自動將被訪問的主存地址與界限寄存器的內(nèi)容進行比較,以判斷是否越界如果未越界,則按此地址訪問主存,否則將產(chǎn)生程序中斷——越界中斷(存儲保護中斷)1/3/2023128界地址寄存器(界限寄存器)界地址寄存器被廣泛使用的一種存儲保界地址寄存器存儲保護技術(shù)1/3/2023129界地址寄存器12/25/202235存儲鍵每個存儲塊有一個由二進位組成的存儲保護鍵一用戶作業(yè)被允許進入主存,OS分給它一個唯一的存儲鍵號并將分配給該作業(yè)各存儲塊存儲鍵也置成同樣鍵號當OS挑選該作業(yè)運行時,OS將它的存儲鍵號放入程序狀態(tài)字PSW存儲鍵(“鑰匙”)域中每當CPU訪問主存時,都將該主存塊的存儲鍵與PSW中的“鑰匙”進行比較如果相匹配,則允許訪問,否則,拒絕并報警1/3/2023130存儲鍵每個存儲塊有一個由二進位組成的存儲保護鍵12/25/2地址轉(zhuǎn)換機制同時有多個程序在內(nèi)存程序在內(nèi)存的位置不是固定的而是隨機的用戶程序A內(nèi)存用戶程序B1/3/2023131地址轉(zhuǎn)換機制同時有多個程序在內(nèi)存用戶程序A內(nèi)存用戶程序B12CPUMMU內(nèi)存磁盤控制器總線虛擬地址物理地址MMU:內(nèi)存管理單元1/3/2023132CPUMMU內(nèi)存磁盤總線虛擬地址物理地址MMU:內(nèi)存管理單元地址轉(zhuǎn)換機制虛擬地址(邏輯地址)

處理器生成的指令或數(shù)據(jù)的二進制地址這些地址用硬件和軟件結(jié)合的方法轉(zhuǎn)換成物理地址MMU:內(nèi)存管理單元,一種特殊硬件,完成轉(zhuǎn)換工作1/3/2023133地址轉(zhuǎn)換機制虛擬地址(邏輯地址)12/25/202239三、中斷技術(shù)中斷對于操作系統(tǒng)的重要性就像機器中的驅(qū)動齒輪一樣所以有人把操作系統(tǒng)稱為是由“中斷驅(qū)動”或者“(中斷)事件驅(qū)動”它使得OS可以捕獲用戶程序發(fā)出的系統(tǒng)功能調(diào)用及時處理設(shè)備的中斷請求防止用戶程序中破壞性的活動等等1/3/2023134三、中斷技術(shù)中斷對于操作系統(tǒng)的重要性12/25/2022401、中斷的概念CPU對系統(tǒng)發(fā)生的某個事件作出的一種反應(yīng)CPU暫停正在執(zhí)行的程序,保留現(xiàn)場后自動轉(zhuǎn)去執(zhí)行相應(yīng)事件的處理程序,處理完成后返回斷點,繼續(xù)執(zhí)行被打斷的程序特點:1)中斷隨機的2)中斷是可恢復(fù)的3)中斷是自動處理的引入中斷的目的解決主機與外設(shè)的并行工作問題實現(xiàn)實時控制1/3/20231351、中斷的概念CPU對系統(tǒng)發(fā)生的某個事件作出的一種反應(yīng)特點:中斷/異常:指系統(tǒng)發(fā)生某個異步/同步事件后,處理機暫停正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行處理該事件程序的過程中斷的引入:為了開發(fā)CPU和通道(或設(shè)備)之間的并行操作,當CPU啟動通道(或設(shè)備)進行輸入/輸出后,通道便(或設(shè)備)可以獨立工作了,CPU也可以轉(zhuǎn)去做與此次輸入/輸出不相關(guān)的事情,那么通道(或設(shè)備)輸入/輸出完成后,還必須告訴CPU繼續(xù)輸入/輸出以后的事情,通道(或設(shè)備)通過向CPU發(fā)中斷告訴CPU此次輸入/輸出結(jié)束中斷的概念1/3/2023136中斷/異常:指系統(tǒng)發(fā)生某個異步/同步事件后,處理機暫停正在執(zhí)異常引入:用于表示CPU執(zhí)行指令時本身出現(xiàn)算術(shù)溢出、零做除數(shù)、取數(shù)時的奇偶錯,訪存指令越界或就是執(zhí)行了一條所謂“異常指令”(用于實現(xiàn)系統(tǒng)調(diào)用)等情況,這時中斷當前的執(zhí)行流程,轉(zhuǎn)到相應(yīng)的錯誤處理程序或異常處理程序注意:最早中斷和異常并沒有區(qū)分,都把它們叫做中斷。隨著它們的發(fā)生原因和處理方式的差別愈發(fā)明顯,才有了以后的中斷和異常中斷的概念1/3/2023137異常引入:用于表示CPU執(zhí)行指令時本身出現(xiàn)算術(shù)溢出、零做除數(shù)中斷(外中斷)異常(內(nèi)中斷)例外I/O中斷時鐘中斷系統(tǒng)調(diào)用缺頁異常斷點指令其他程序性異常(如算術(shù)溢出等)中斷(狹義)與異常的區(qū)別:中斷:與正執(zhí)行指令無關(guān),可以屏蔽異常:與正執(zhí)行指令有關(guān),不可屏蔽廣義中斷中斷的概念1/3/2023138中斷(外中斷)異常(內(nèi)中斷)I/O中斷時鐘中斷系統(tǒng)調(diào)用中斷(2、中斷系統(tǒng)中斷系統(tǒng)是現(xiàn)代計算機系統(tǒng)的核心機制之一硬件和軟件相互配合、相互滲透而使得計算機系統(tǒng)得以充分發(fā)揮能力的計算模式中斷系統(tǒng)的兩大組成部分:硬件中斷裝置和軟件中斷處理程序中斷系統(tǒng)的硬件中斷裝置-中斷系統(tǒng)的機制部分負責(zé)捕獲中斷源發(fā)出的中斷請求,以一定方式響應(yīng)中斷源,然后將處理器控制權(quán)交給特定的中斷處理程序軟件中斷處理程序-中斷系統(tǒng)的策略部分負責(zé)辨別中斷類型并做出相應(yīng)的操作1/3/20231392、中斷系統(tǒng)中斷系統(tǒng)是現(xiàn)代計算機系統(tǒng)的核心機制之一12/25中斷源:引起中斷發(fā)生的事件中斷寄存器:記錄中斷中斷字:中斷寄存器的內(nèi)容系統(tǒng)堆棧:

在內(nèi)存開辟的一塊區(qū)域,用于臨時保存現(xiàn)場中斷系統(tǒng)中的相關(guān)概念1/3/2023140中斷源:引起中斷發(fā)生的事件中斷系統(tǒng)中的相關(guān)概念12/25/2中斷優(yōu)先級設(shè)計原則:一般來說,高速設(shè)備的中斷優(yōu)先級高,慢速設(shè)備的中斷優(yōu)先級低。因為高速設(shè)備的中斷被處理機優(yōu)先響應(yīng)時,可以讓處理機盡快地向它發(fā)出下一個I/O請求,提高高速設(shè)備的利用率如PDP-11機上的UNIX系統(tǒng)把中斷級別分為:時鐘中斷——中斷優(yōu)先級=6級磁盤中斷——中斷優(yōu)先級=5級終端等其他外設(shè)中斷——中斷優(yōu)先級=4級3、中斷優(yōu)先級和中斷屏蔽1/3/2023141中斷優(yōu)先級設(shè)計原則:一般來說,高速設(shè)備的中斷優(yōu)先級高,慢速設(shè)處理機優(yōu)先級:指出處理機正運行程序的中斷響應(yīng)級別。即當處理機處于某一優(yōu)先級時,只允許處理機去響應(yīng)比該優(yōu)先級高的中斷,而屏蔽低于或等于該優(yōu)先級的中斷??梢酝ㄟ^置處理機優(yōu)先級來通知硬件:屏蔽優(yōu)先級小于等于處理機優(yōu)先級的中斷中斷屏蔽:指禁止處理機響應(yīng)中斷或禁止中斷出現(xiàn)中斷優(yōu)先級和中斷屏蔽1/3/2023142處理機優(yōu)先級:指出處理機正運行程序的中斷響應(yīng)級別。即當處理機中斷屏蔽有兩種方法:硬件實現(xiàn)——由軟件置處理機優(yōu)先級,硬件按系統(tǒng)設(shè)計時的約定,屏蔽那些低優(yōu)先級中斷軟件實現(xiàn)——由軟件按操作系統(tǒng)優(yōu)先級約定,設(shè)置屏蔽寄存器中斷優(yōu)先級和中斷屏蔽1/3/2023143中斷屏蔽有兩種方法:中斷優(yōu)先級和中斷屏蔽12/25/20224、中斷類型強迫性中斷正在運行的程序所不期望的,由于某種硬件故障或外部請求引起的自愿性中斷用戶在程序中有意識安排的中斷,是由于用戶在編制程序時因為要求操作系統(tǒng)提供服務(wù),有意使用“訪管”指令或系統(tǒng)調(diào)用,使中斷發(fā)生1/3/20231444、中斷類型強迫性中斷12/25/202250中斷類型強迫性中斷輸入/輸出(I/O)中斷:主要來自外部設(shè)備通道程序性中斷:運行程序中本身的中斷(如溢出,缺頁中斷,缺段中斷,地址越界)時鐘中斷控制臺中斷硬件故障1/3/2023145中斷類型強迫性中斷12/25/202251中斷類型自愿性中斷執(zhí)行I/O,創(chuàng)建進程,分配內(nèi)存信號量操作,發(fā)送/接收消息1/3/2023146中斷類型自愿性中斷12/25/202252微機中的中斷1.可屏蔽中斷(IO中斷)2.不可屏蔽中斷(機器內(nèi)部故障、掉電中斷)3.程序錯誤中斷(溢出、除法錯等中斷)4.軟件中斷(Trap指令或中斷指令I(lǐng)NT)1/3/2023147微機中的中斷1.可屏蔽中斷(IO中斷)12/25/20225IBM370中的中斷1.機器故障中斷:如電源故障,機器電路檢驗錯等2.輸入輸出中斷:輸入輸出設(shè)備和通道數(shù)據(jù)傳輸狀態(tài))3.外部中斷:時鐘中斷,操作員控制臺中斷,多機系統(tǒng)中其他機器的通信要求中斷,各種外設(shè)或傳感器發(fā)來的實時中斷等4.程序中斷:程序中的問題引起的中斷,如錯誤地使用指令或數(shù)據(jù)、溢出等問題,存儲保護等5.訪管中斷:訪管指令或陷阱指令(Trap指令)中的操作數(shù)規(guī)定了要求服務(wù)的類型。每當CPU執(zhí)行訪管指令或陷阱指令時,即引起中斷并調(diào)用操作系統(tǒng)相應(yīng)的功能模塊為其服務(wù)1/3/2023148IBM370中的中斷1.機器故障中斷:如電源故障,機器電路5、中斷響應(yīng)

CPU如何響應(yīng)中斷,兩個問題:

CPU何時響應(yīng)中斷?通常在CPU執(zhí)行了一條指令以后,更確切地,在指令周期最后時刻接受中斷請求,或此時掃描中斷寄存器如何知道提出中斷請求的設(shè)備或中斷源?因為只有知道中斷源或中斷設(shè)備,才能調(diào)用相應(yīng)的中斷處理程序1/3/20231495、中斷響應(yīng) CPU如何響應(yīng)中斷,兩個問題:12/25/2處理器如何發(fā)現(xiàn)中斷信號?處理器的控制部件中設(shè)一個能檢測中斷的機構(gòu)稱為中斷掃描機構(gòu)在每條指令執(zhí)行周期的最后時刻掃描中斷寄存器,詢問是否有中斷信號若無中斷信號,繼續(xù)執(zhí)行下一條指令若有中斷,中斷硬件將該中斷觸發(fā)器內(nèi)容按規(guī)定編碼送入PSW的相應(yīng)位,稱為中斷碼通過交換中斷向量引出中斷處理程序中斷響應(yīng)1/3/2023150處理器如何發(fā)現(xiàn)中斷信號?中斷響應(yīng)12/25/202256開始取下一條指令執(zhí)行指令檢查指令處理中斷停止取周期執(zhí)行周期中斷周期不允許中斷允許中斷1/3/2023151開始取下一條指令執(zhí)行指令檢查指令停止取周期執(zhí)行周期中斷周期不用軟件指令去查詢各設(shè)備接口這種方法比較費時多數(shù)微型機對此問題的解決方法:使用一種“向量中斷”的硬件設(shè)施“中斷向量”:當CPU接受某中斷請求時,該設(shè)備接口給處理器發(fā)送具有唯一性的“中斷向量”,以標識該設(shè)備“中斷向量”在各計算機上實現(xiàn)方法差別比較大兩種解決方法

1/3/2023152用軟件指令去查詢各設(shè)備接口兩種解決方法 12/25/2022

中斷向量:一個存放中斷處理程序入口地址和程序運行所需處理機狀態(tài)字的內(nèi)存單元硬件按中斷號、異常類型的不同通過中斷向量表轉(zhuǎn)移1/3/2023153中斷向量:一個存放中斷處理程序入口地址和程序運行所需處理機中斷向量表在有的機器中:將主存最低位128個字保留作為中斷向量表,每個中斷向量占兩個字中斷請求的設(shè)備接口為了標識自己,向處理器發(fā)送一個該設(shè)備在中斷向量表中表目的地址指針1/3/2023154中斷向量表在有的機器中:12/25/202260中斷響應(yīng)

1/3/2023155中斷響應(yīng) 12/25/2022616、中斷處理簡單的中斷處理-典型的處理過程:(1)設(shè)備給處理器發(fā)一個中斷信號(2)處理器處理完當前指令后響應(yīng)中斷,延遲非常短(要求處理器沒有關(guān)閉中斷)(3)處理器處理完當前指令后檢測到中斷,判斷出中斷來源并向發(fā)送中斷的設(shè)備發(fā)送了確認中斷信號,確認信號使得該設(shè)備將中斷信號恢復(fù)到一般狀態(tài)(4)處理器開始為軟件處理中斷做準備:

保存中斷點的程序執(zhí)行上下文環(huán)境,這通常包括程序狀態(tài)字PSW,程序計數(shù)器PC中的下一條指令位置,一些寄存器的值,它們通常保存在系統(tǒng)控制棧中,處理器狀態(tài)被切換到管態(tài)1/3/20231566、中斷處理簡單的中斷處理-典型的處理過程:12/25/(5)處理器根據(jù)中斷源查詢中斷向量表,獲得與該中斷相聯(lián)系的處理程序入口地址,并將PC置成該地址,處理器開始一個新的指令周期,控制轉(zhuǎn)移到中斷處理程序(

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論