計(jì)算機(jī)操作系統(tǒng)ch02_第1頁(yè)
計(jì)算機(jī)操作系統(tǒng)ch02_第2頁(yè)
計(jì)算機(jī)操作系統(tǒng)ch02_第3頁(yè)
計(jì)算機(jī)操作系統(tǒng)ch02_第4頁(yè)
計(jì)算機(jī)操作系統(tǒng)ch02_第5頁(yè)
已閱讀5頁(yè),還剩52頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、計(jì)算機(jī)操作系統(tǒng)Operating System of Computer第二章第二章 操作系統(tǒng)操作系統(tǒng)的硬件環(huán)境的硬件環(huán)境v主要內(nèi)容:主要內(nèi)容:個(gè)人計(jì)算機(jī)的組成中央處理器(CPU)存儲(chǔ)系統(tǒng)中斷機(jī)制時(shí)鐘v知識(shí)點(diǎn)及要求:知識(shí)點(diǎn)及要求:學(xué)習(xí)本章的目的是了解OS的基礎(chǔ)硬件環(huán)境。2.1 2.1 概述概述v任何系統(tǒng)軟件都是硬件功能的延伸任何系統(tǒng)軟件都是硬件功能的延伸v操作系統(tǒng)直接依賴于硬件條件操作系統(tǒng)直接依賴于硬件條件v硬件環(huán)境硬件環(huán)境以較分散的形式同各種管以較分散的形式同各種管理相結(jié)合理相結(jié)合簡(jiǎn)單的個(gè)人計(jì)算機(jī)中的部件簡(jiǎn)單的個(gè)人計(jì)算機(jī)中的部件MonitorBus2.2 2.2 中央處理器(中央處理器(CPU

2、CPU)v具有特權(quán)級(jí)別的處理器狀態(tài),能具有特權(quán)級(jí)別的處理器狀態(tài),能在不同特權(quán)級(jí)運(yùn)行各種特權(quán)指令在不同特權(quán)級(jí)運(yùn)行各種特權(quán)指令v硬件機(jī)制使得硬件機(jī)制使得OSOS可以和普通程序可以和普通程序隔離實(shí)現(xiàn)保護(hù)和控制隔離實(shí)現(xiàn)保護(hù)和控制CPUCPU的構(gòu)成與基本工作方式的構(gòu)成與基本工作方式v處理器由運(yùn)算器、控制器、一系列處理器由運(yùn)算器、控制器、一系列的寄存器以及高速緩存構(gòu)成的寄存器以及高速緩存構(gòu)成v運(yùn)算器實(shí)現(xiàn)指令中的算術(shù)和邏輯運(yùn)運(yùn)算器實(shí)現(xiàn)指令中的算術(shù)和邏輯運(yùn)算,是計(jì)算機(jī)計(jì)算的核心算,是計(jì)算機(jī)計(jì)算的核心v控制器負(fù)責(zé)控制程序運(yùn)行的流程,控制器負(fù)責(zé)控制程序運(yùn)行的流程,包括取指令、維護(hù)包括取指令、維護(hù)CPUCPU狀態(tài)、

3、狀態(tài)、CPUCPU與內(nèi)存的交互等等與內(nèi)存的交互等等v寄存器是指令在寄存器是指令在CPUCPU內(nèi)部作處理的過(guò)程中暫存內(nèi)部作處理的過(guò)程中暫存數(shù)據(jù)、地址以及指令信息的存儲(chǔ)設(shè)備;數(shù)據(jù)、地址以及指令信息的存儲(chǔ)設(shè)備; 在計(jì)算機(jī)的存儲(chǔ)系統(tǒng)中它具有最快的訪問(wèn)速在計(jì)算機(jī)的存儲(chǔ)系統(tǒng)中它具有最快的訪問(wèn)速度。度。v高速緩存處于高速緩存處于CPUCPU和物理內(nèi)存之間,一般由控和物理內(nèi)存之間,一般由控制器中的內(nèi)存管理單元(制器中的內(nèi)存管理單元(MMUMMU:Memory Memory Management UnitManagement Unit)管理,訪問(wèn)速度快于內(nèi)存,)管理,訪問(wèn)速度快于內(nèi)存,低于寄存器。低于寄存器。

4、利用程序局部性原理使得高速指令處理和低利用程序局部性原理使得高速指令處理和低速內(nèi)存訪問(wèn)得以匹配,從而提高速內(nèi)存訪問(wèn)得以匹配,從而提高CPUCPU的效率。的效率。處理器中的寄存器處理器中的寄存器v寄存器提供了一定的存儲(chǔ)能力寄存器提供了一定的存儲(chǔ)能力v速度比主存快得多速度比主存快得多v造價(jià)高,容量一般都很小造價(jià)高,容量一般都很小兩類寄存器:兩類寄存器:v用戶可見寄存器,高級(jí)語(yǔ)言編譯器通過(guò)算法分用戶可見寄存器,高級(jí)語(yǔ)言編譯器通過(guò)算法分配并使用之,以減少程序訪問(wèn)主存次數(shù)配并使用之,以減少程序訪問(wèn)主存次數(shù)v控制和狀態(tài)寄存器,用于控制處理器的操作控制和狀態(tài)寄存器,用于控制處理器的操作 由由OS的的特權(quán)代碼

5、使用特權(quán)代碼使用, 以控制其它程序的執(zhí)行以控制其它程序的執(zhí)行用戶可見寄存器用戶可見寄存器v機(jī)器語(yǔ)言(匯編語(yǔ)言)直接引用機(jī)器語(yǔ)言(匯編語(yǔ)言)直接引用v包括數(shù)據(jù)寄存器、地址寄存器等包括數(shù)據(jù)寄存器、地址寄存器等v數(shù)據(jù)寄存器數(shù)據(jù)寄存器(data register)又稱通用寄存器又稱通用寄存器v地址寄存器地址寄存器(address register)用于存儲(chǔ)數(shù)用于存儲(chǔ)數(shù)據(jù)及指令的物理地址。如據(jù)及指令的物理地址。如index register、segment pointer、stack pointer控制和狀態(tài)寄存器控制和狀態(tài)寄存器v用于控制處理器的操作用于控制處理器的操作v大部分對(duì)于用戶是不可見的大部分

6、對(duì)于用戶是不可見的v一部分可以在某種特權(quán)模式(由一部分可以在某種特權(quán)模式(由OS使用)下訪使用)下訪問(wèn)問(wèn)常見的控制和狀態(tài)寄存器常見的控制和狀態(tài)寄存器: :v程序計(jì)數(shù)器程序計(jì)數(shù)器(PC:Program Counter),記,記錄將要取出的指令的地址錄將要取出的指令的地址v指令寄存器指令寄存器(IR:Instruction Register),包,包含最近取出的指令含最近取出的指令v程序狀態(tài)字(程序狀態(tài)字(PSW:Program Status Word),記錄處理器的運(yùn)行模式信息等等記錄處理器的運(yùn)行模式信息等等指令執(zhí)行的基本過(guò)程(指令執(zhí)行的基本過(guò)程(1 1)兩個(gè)步驟:兩個(gè)步驟:v先從存儲(chǔ)器中每次讀

7、取一條指令先從存儲(chǔ)器中每次讀取一條指令v然后執(zhí)行這條指令然后執(zhí)行這條指令 一個(gè)單條指令處理過(guò)程稱為一個(gè)指令周期一個(gè)單條指令處理過(guò)程稱為一個(gè)指令周期 程序的執(zhí)行是由不斷取指和執(zhí)行的指令周期組程序的執(zhí)行是由不斷取指和執(zhí)行的指令周期組成成指令執(zhí)行的基本過(guò)程(指令執(zhí)行的基本過(guò)程(2 2)v每個(gè)指令周期開始時(shí),依據(jù)在程序計(jì)數(shù)每個(gè)指令周期開始時(shí),依據(jù)在程序計(jì)數(shù)器中的指令地址從存儲(chǔ)器中取一條指令器中的指令地址從存儲(chǔ)器中取一條指令v在取指完成后根據(jù)指令類別自動(dòng)將程序在取指完成后根據(jù)指令類別自動(dòng)將程序計(jì)數(shù)器的值變成下條指令的地址計(jì)數(shù)器的值變成下條指令的地址v取到的指令放在指令寄存器(取到的指令放在指令寄存器(I

8、RIR)中)中v處理器解釋并執(zhí)行所要求的動(dòng)作處理器解釋并執(zhí)行所要求的動(dòng)作5 5類指令類指令v訪問(wèn)存儲(chǔ)器指令: 處理器和存儲(chǔ)器間數(shù)據(jù)傳送處理器和存儲(chǔ)器間數(shù)據(jù)傳送vI/O指令: 處理器和處理器和I/O設(shè)備間數(shù)據(jù)傳送和命令發(fā)送設(shè)備間數(shù)據(jù)傳送和命令發(fā)送v算術(shù)邏輯指令(數(shù)據(jù)處理指令): 執(zhí)行數(shù)據(jù)算術(shù)和邏輯操作執(zhí)行數(shù)據(jù)算術(shù)和邏輯操作v控制轉(zhuǎn)移指令: 指定一個(gè)新的指令的執(zhí)行起點(diǎn)指定一個(gè)新的指令的執(zhí)行起點(diǎn)v處理器控制指令: 修改處理器狀態(tài),改變處理器工作方式修改處理器狀態(tài),改變處理器工作方式特權(quán)指令和非特權(quán)指令特權(quán)指令和非特權(quán)指令特權(quán)指令特權(quán)指令:只能由操作系統(tǒng)使用的指令:只能由操作系統(tǒng)使用的指令v使用多道程

9、序設(shè)計(jì)技術(shù)的計(jì)算機(jī)指令使用多道程序設(shè)計(jì)技術(shù)的計(jì)算機(jī)指令系統(tǒng)必須要區(qū)分為系統(tǒng)必須要區(qū)分為特權(quán)指令和非特權(quán)特權(quán)指令和非特權(quán)指令指令vCPUCPU如何知道當(dāng)前運(yùn)行的是操作系統(tǒng)還如何知道當(dāng)前運(yùn)行的是操作系統(tǒng)還是一般應(yīng)用軟件?有賴于處理器狀態(tài)是一般應(yīng)用軟件?有賴于處理器狀態(tài)處理器的狀態(tài)處理器的狀態(tài)根據(jù)運(yùn)行程序?qū)Y源和機(jī)器指令的使用權(quán)限將處根據(jù)運(yùn)行程序?qū)Y源和機(jī)器指令的使用權(quán)限將處理器設(shè)置為不同狀態(tài)理器設(shè)置為不同狀態(tài)多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)管態(tài)和目態(tài)管態(tài):管態(tài):操作系統(tǒng)管理程序運(yùn)行的狀態(tài),較高的特操作系統(tǒng)管理程序運(yùn)行的狀態(tài),較高的特權(quán)級(jí)別,又稱為特權(quán)態(tài)(特態(tài))

10、、系統(tǒng)態(tài)權(quán)級(jí)別,又稱為特權(quán)態(tài)(特態(tài))、系統(tǒng)態(tài) 、核、核心態(tài)心態(tài)目態(tài):目態(tài):用戶程序運(yùn)行時(shí)的狀態(tài),較低的特權(quán)級(jí)別,用戶程序運(yùn)行時(shí)的狀態(tài),較低的特權(quán)級(jí)別,又稱為普通態(tài)(普態(tài))、用戶態(tài)又稱為普通態(tài)(普態(tài))、用戶態(tài)有些系統(tǒng)將處理器狀態(tài)劃分核心狀態(tài),管理狀態(tài)有些系統(tǒng)將處理器狀態(tài)劃分核心狀態(tài),管理狀態(tài)和用戶程序狀態(tài)(目標(biāo)狀態(tài))三種和用戶程序狀態(tài)(目標(biāo)狀態(tài))三種實(shí)例:實(shí)例:x86x86系列處理器系列處理器v386、486、Pentium系列都支持系列都支持4個(gè)處理器特個(gè)處理器特權(quán)級(jí)別(特權(quán)環(huán):權(quán)級(jí)別(特權(quán)環(huán):R0、R1、R2和和R3)v從從R0到到R3特權(quán)能力依次降低特權(quán)能力依次降低vR0相當(dāng)于雙狀態(tài)系統(tǒng)的

11、管態(tài)相當(dāng)于雙狀態(tài)系統(tǒng)的管態(tài)vR3相當(dāng)于目態(tài)相當(dāng)于目態(tài)vR1和和R2則介于兩者之間,它們能夠運(yùn)行的指令則介于兩者之間,它們能夠運(yùn)行的指令集合具有包含關(guān)系:集合具有包含關(guān)系:3210RRRRIIII四個(gè)級(jí)別運(yùn)行不同類別的程序四個(gè)級(jí)別運(yùn)行不同類別的程序vR0- -運(yùn)行操作系統(tǒng)核心代碼運(yùn)行操作系統(tǒng)核心代碼vR1- -運(yùn)行關(guān)鍵設(shè)備驅(qū)動(dòng)程序和運(yùn)行關(guān)鍵設(shè)備驅(qū)動(dòng)程序和I/O處理例程處理例程vR2- -運(yùn)行其它受保護(hù)共享代碼,如語(yǔ)言系運(yùn)行其它受保護(hù)共享代碼,如語(yǔ)言系統(tǒng)運(yùn)行環(huán)境統(tǒng)運(yùn)行環(huán)境vR3- -運(yùn)行各種用戶程序運(yùn)行各種用戶程序現(xiàn)有基于現(xiàn)有基于x86處理器的操作系統(tǒng),如處理器的操作系統(tǒng),如UNIX、Linux以

12、及以及Windows系列大都只用了系列大都只用了R0和和R3兩個(gè)特權(quán)級(jí)別兩個(gè)特權(quán)級(jí)別管態(tài)和目態(tài)的差別管態(tài)和目態(tài)的差別處理器處于管態(tài)時(shí):處理器處于管態(tài)時(shí):v全部指令(包括特權(quán)指令)可以執(zhí)行全部指令(包括特權(quán)指令)可以執(zhí)行v可使用所有資源可使用所有資源v并具有改變處理器狀態(tài)的能力并具有改變處理器狀態(tài)的能力處理器處于目態(tài)時(shí):處理器處于目態(tài)時(shí):v只有非特權(quán)指令能執(zhí)行只有非特權(quán)指令能執(zhí)行程序狀態(tài)字程序狀態(tài)字PSWPSWPSW (Program Status Word ): :vCPU的狀態(tài)的狀態(tài)指明管態(tài)還是目態(tài),用來(lái)指明管態(tài)還是目態(tài),用來(lái)說(shuō)明當(dāng)前在說(shuō)明當(dāng)前在CPU上執(zhí)行的是操作系統(tǒng)還是上執(zhí)行的是操作系統(tǒng)

13、還是一般用戶程序,從而決定其是否可以使用一般用戶程序,從而決定其是否可以使用特權(quán)指令或擁有其它的特殊權(quán)力特權(quán)指令或擁有其它的特殊權(quán)力v條件碼條件碼反映指令執(zhí)行后的結(jié)果特征反映指令執(zhí)行后的結(jié)果特征v中斷屏蔽碼中斷屏蔽碼指出是否允許中斷指出是否允許中斷例例1:1:微處理器微處理器M68000M68000的程序狀態(tài)字的程序狀態(tài)字條件位:條件位:vC: 進(jìn)位標(biāo)志位進(jìn)位標(biāo)志位 V: 溢出標(biāo)志位溢出標(biāo)志位vZ: 結(jié)果為零標(biāo)志位結(jié)果為零標(biāo)志位N: 結(jié)果為負(fù)標(biāo)志位結(jié)果為負(fù)標(biāo)志位I0 I2:三位中斷屏蔽位:三位中斷屏蔽位vS:CPU狀態(tài)標(biāo)志位,為狀態(tài)標(biāo)志位,為1處于管態(tài),為處于管態(tài),為0處于目態(tài)處于目態(tài)vT:陷

14、阱(:陷阱(Trap)中斷指示位為)中斷指示位為1,v 在下一條指令執(zhí)行后引起自陷中斷在下一條指令執(zhí)行后引起自陷中斷1514131211109876543210TSI2I1I0XNZVCCPUCPU狀態(tài)的轉(zhuǎn)換狀態(tài)的轉(zhuǎn)換v目態(tài)目態(tài)-管態(tài)管態(tài) 其轉(zhuǎn)換的唯一途徑是通過(guò)中斷其轉(zhuǎn)換的唯一途徑是通過(guò)中斷v管態(tài)管態(tài)-目態(tài)目態(tài) 可用設(shè)置可用設(shè)置PSW(PSW(修改程序狀態(tài)字修改程序狀態(tài)字) )可實(shí)現(xiàn)可實(shí)現(xiàn)2.3 2.3 存儲(chǔ)系統(tǒng)存儲(chǔ)系統(tǒng)支持支持OS運(yùn)行硬件環(huán)境的一個(gè)重要方面:運(yùn)行硬件環(huán)境的一個(gè)重要方面:v作業(yè)必須把它的程序和數(shù)據(jù)存放在內(nèi)存作業(yè)必須把它的程序和數(shù)據(jù)存放在內(nèi)存中才能運(yùn)行中才能運(yùn)行v多道程系統(tǒng)中,若

15、干個(gè)程序和相關(guān)的數(shù)多道程系統(tǒng)中,若干個(gè)程序和相關(guān)的數(shù)據(jù)要放入主存儲(chǔ)器據(jù)要放入主存儲(chǔ)器v操作系統(tǒng)要管理、保護(hù)程序和數(shù)據(jù),使操作系統(tǒng)要管理、保護(hù)程序和數(shù)據(jù),使它們不至于受到破壞它們不至于受到破壞v操作系統(tǒng)本身也要存放在主存儲(chǔ)器中并操作系統(tǒng)本身也要存放在主存儲(chǔ)器中并運(yùn)行運(yùn)行存儲(chǔ)器的類型存儲(chǔ)器的類型兩類存儲(chǔ)器:讀寫型的存儲(chǔ)器兩類存儲(chǔ)器:讀寫型的存儲(chǔ)器 只讀型的存儲(chǔ)器只讀型的存儲(chǔ)器讀寫型的存儲(chǔ)器讀寫型的存儲(chǔ)器v可把數(shù)據(jù)存入其中任一地址單元,并可在以可把數(shù)據(jù)存入其中任一地址單元,并可在以后的任何時(shí)候把數(shù)據(jù)讀出,或者重新存入新后的任何時(shí)候把數(shù)據(jù)讀出,或者重新存入新的數(shù)據(jù)的一種存儲(chǔ)器的數(shù)據(jù)的一種存儲(chǔ)器v常被稱

16、為隨機(jī)訪問(wèn)存儲(chǔ)器常被稱為隨機(jī)訪問(wèn)存儲(chǔ)器(RAM:Random Access Memory)vRAM主要用作存放隨機(jī)存取的程序的數(shù)據(jù)主要用作存放隨機(jī)存取的程序的數(shù)據(jù)只讀型的存儲(chǔ)器只讀型的存儲(chǔ)器: :v只能從其中讀取數(shù)據(jù),但不能隨意用普通方法寫入數(shù)只能從其中讀取數(shù)據(jù),但不能隨意用普通方法寫入數(shù)據(jù)(寫入數(shù)據(jù)只能用特殊方法)據(jù)(寫入數(shù)據(jù)只能用特殊方法)v稱為只讀存儲(chǔ)器稱為只讀存儲(chǔ)器(ROM:Read-Only Memory)變型變型:PROM和和EPROMvPROM:一種可編程只讀存儲(chǔ)器,使用特殊一種可編程只讀存儲(chǔ)器,使用特殊PROM寫寫入器寫入數(shù)據(jù)入器寫入數(shù)據(jù)vEPROM:用特殊的紫外線光照射此芯片

17、,以用特殊的紫外線光照射此芯片,以“擦去擦去”信息,恢復(fù)原來(lái)狀態(tài),然后使用特殊信息,恢復(fù)原來(lái)狀態(tài),然后使用特殊EPROM寫入器寫寫入器寫入數(shù)據(jù)入數(shù)據(jù)在微機(jī)中,一些常駐內(nèi)存的模塊以微程序形式固化在在微機(jī)中,一些常駐內(nèi)存的模塊以微程序形式固化在ROM中中如如: :PC BIOS和和CBASIC解釋程序被固化于解釋程序被固化于ROM中中存儲(chǔ)器的層次結(jié)構(gòu)存儲(chǔ)器的層次結(jié)構(gòu)存儲(chǔ)系統(tǒng)設(shè)計(jì)三個(gè)問(wèn)題:存儲(chǔ)系統(tǒng)設(shè)計(jì)三個(gè)問(wèn)題: 容量、速度和成本容量、速度和成本v容量:需求無(wú)止境容量:需求無(wú)止境v速度:能匹配處理器的速度速度:能匹配處理器的速度v成本問(wèn)題:成本和其它部件相比應(yīng)在合成本問(wèn)題:成本和其它部件相比應(yīng)在合適范

18、圍之內(nèi)適范圍之內(nèi)容量、速度和成本容量、速度和成本v三個(gè)目標(biāo)不可能同時(shí)達(dá)到最優(yōu),要作權(quán)衡三個(gè)目標(biāo)不可能同時(shí)達(dá)到最優(yōu),要作權(quán)衡v存取速度快,每比特價(jià)格高存取速度快,每比特價(jià)格高v容量大,每比特價(jià)格越低,同時(shí)存取速度也越容量大,每比特價(jià)格越低,同時(shí)存取速度也越慢慢解決方案:采用層次化的存儲(chǔ)體系結(jié)構(gòu)解決方案:采用層次化的存儲(chǔ)體系結(jié)構(gòu)v當(dāng)沿著層次下降時(shí)當(dāng)沿著層次下降時(shí)v每比特的價(jià)格將下降,容量將增大每比特的價(jià)格將下降,容量將增大v速度將變慢,處理器的訪問(wèn)頻率也將下降速度將變慢,處理器的訪問(wèn)頻率也將下降層次化的存儲(chǔ)體系結(jié)構(gòu)層次化的存儲(chǔ)體系結(jié)構(gòu)存儲(chǔ)訪問(wèn)局部性原理存儲(chǔ)訪問(wèn)局部性原理提高存儲(chǔ)系統(tǒng)效能關(guān)鍵點(diǎn):提高

19、存儲(chǔ)系統(tǒng)效能關(guān)鍵點(diǎn):程序存儲(chǔ)訪問(wèn)局部性程序存儲(chǔ)訪問(wèn)局部性原理原理v程序執(zhí)行時(shí),有很多的循環(huán)和子程序調(diào)用,一程序執(zhí)行時(shí),有很多的循環(huán)和子程序調(diào)用,一旦進(jìn)入這樣的程序段,就會(huì)重復(fù)存取相同的指旦進(jìn)入這樣的程序段,就會(huì)重復(fù)存取相同的指令集合令集合v對(duì)數(shù)據(jù)存取也有局部性,在較短的時(shí)間內(nèi),穩(wěn)對(duì)數(shù)據(jù)存取也有局部性,在較短的時(shí)間內(nèi),穩(wěn)定地保持在一個(gè)存儲(chǔ)器的局部區(qū)域定地保持在一個(gè)存儲(chǔ)器的局部區(qū)域處理器主要和存儲(chǔ)器的局部打交道處理器主要和存儲(chǔ)器的局部打交道在經(jīng)過(guò)一段時(shí)間以后,使用的代碼和數(shù)據(jù)集合會(huì)在經(jīng)過(guò)一段時(shí)間以后,使用的代碼和數(shù)據(jù)集合會(huì)改變改變2.4 2.4 中斷技術(shù)中斷技術(shù)v中斷對(duì)于操作系統(tǒng)的重要性中斷對(duì)于操

20、作系統(tǒng)的重要性 就像機(jī)器中的驅(qū)動(dòng)齒輪一樣就像機(jī)器中的驅(qū)動(dòng)齒輪一樣v所以有人把操作系統(tǒng)稱為是由所以有人把操作系統(tǒng)稱為是由 “中斷驅(qū)動(dòng)中斷驅(qū)動(dòng)”或者或者 “(中斷)(中斷)事件驅(qū)動(dòng)事件驅(qū)動(dòng)”中斷機(jī)制中斷機(jī)制中斷機(jī)制中斷機(jī)制是操作系統(tǒng)得以正常工作的是操作系統(tǒng)得以正常工作的最重要的手段最重要的手段v它使得它使得OS可以捕獲普通程序發(fā)出的可以捕獲普通程序發(fā)出的系統(tǒng)功能調(diào)用系統(tǒng)功能調(diào)用v及時(shí)處理設(shè)備的中斷請(qǐng)求及時(shí)處理設(shè)備的中斷請(qǐng)求v防止用戶程序中破壞性的活動(dòng)等等防止用戶程序中破壞性的活動(dòng)等等2.4.1 2.4.1 中斷的概念中斷的概念什么是中斷什么是中斷? ?v指指CPUCPU對(duì)系統(tǒng)中或系統(tǒng)外發(fā)生異步事件

21、的響應(yīng)對(duì)系統(tǒng)中或系統(tǒng)外發(fā)生異步事件的響應(yīng)v異步事件是指無(wú)一定時(shí)序關(guān)系的隨機(jī)發(fā)生事件異步事件是指無(wú)一定時(shí)序關(guān)系的隨機(jī)發(fā)生事件如外部設(shè)備完成數(shù)據(jù)傳輸,實(shí)時(shí)設(shè)備出現(xiàn)異常等如外部設(shè)備完成數(shù)據(jù)傳輸,實(shí)時(shí)設(shè)備出現(xiàn)異常等“中斷中斷”名稱源于:名稱源于:v當(dāng)異步事件發(fā)生后,打斷了對(duì)當(dāng)前程序的執(zhí)行當(dāng)異步事件發(fā)生后,打斷了對(duì)當(dāng)前程序的執(zhí)行v而轉(zhuǎn)去處理該異步事件而轉(zhuǎn)去處理該異步事件v直到處理完了后,再轉(zhuǎn)回原程序中斷點(diǎn)繼續(xù)執(zhí)行直到處理完了后,再轉(zhuǎn)回原程序中斷點(diǎn)繼續(xù)執(zhí)行從用戶角度看中斷從用戶角度看中斷引入中斷的目的引入中斷的目的v解決主機(jī)與外設(shè)的并行工作問(wèn)題解決主機(jī)與外設(shè)的并行工作問(wèn)題v提高可靠性提高可靠性v實(shí)現(xiàn)多機(jī)聯(lián)

22、系實(shí)現(xiàn)多機(jī)聯(lián)系v實(shí)現(xiàn)實(shí)時(shí)控制實(shí)現(xiàn)實(shí)時(shí)控制特點(diǎn):特點(diǎn): 1) 1) 中斷是隨機(jī)的中斷是隨機(jī)的 2) 2) 中斷是可恢復(fù)的中斷是可恢復(fù)的 3) 3) 中斷是自動(dòng)處理的中斷是自動(dòng)處理的幾個(gè)概念幾個(gè)概念v中斷源:引起中斷發(fā)生的事件中斷源:引起中斷發(fā)生的事件v中斷寄存器:記錄中斷中斷寄存器:記錄中斷v中斷字:中斷寄存器的內(nèi)容中斷字:中斷寄存器的內(nèi)容系統(tǒng)堆棧系統(tǒng)堆棧: :在內(nèi)存開辟的一塊區(qū)域,用于臨時(shí)保存在內(nèi)存開辟的一塊區(qū)域,用于臨時(shí)保存現(xiàn)場(chǎng)現(xiàn)場(chǎng)中斷類型中斷類型v強(qiáng)迫性中斷強(qiáng)迫性中斷 正在運(yùn)行的程序所不期望的,由于某種硬件正在運(yùn)行的程序所不期望的,由于某種硬件故障或外部請(qǐng)求引起的故障或外部請(qǐng)求引起的v自愿

23、性中斷自愿性中斷 用戶在程序中有意識(shí)安排的中斷,是由于用用戶在程序中有意識(shí)安排的中斷,是由于用戶在編制程序時(shí)因?yàn)橐蟛僮飨到y(tǒng)提供服務(wù),有戶在編制程序時(shí)因?yàn)橐蟛僮飨到y(tǒng)提供服務(wù),有意使用意使用“訪管訪管”指令或系統(tǒng)調(diào)用,使中斷發(fā)生指令或系統(tǒng)調(diào)用,使中斷發(fā)生強(qiáng)迫性中斷強(qiáng)迫性中斷v輸入輸入/ /輸出輸出(I/O)(I/O)中斷:主要來(lái)自外部設(shè)中斷:主要來(lái)自外部設(shè)備通道備通道v程序性中斷:運(yùn)行程序中本身的中斷程序性中斷:運(yùn)行程序中本身的中斷( (如溢出如溢出, ,缺頁(yè)中斷缺頁(yè)中斷, ,缺段中斷缺段中斷, ,地址越界地址越界) )v時(shí)鐘中斷時(shí)鐘中斷v控制臺(tái)中斷控制臺(tái)中斷v硬件故障硬件故障自愿性中斷自愿性

24、中斷v執(zhí)行執(zhí)行I/OI/O,創(chuàng)建進(jìn)程,分配內(nèi)存,創(chuàng)建進(jìn)程,分配內(nèi)存v信號(hào)量操作,發(fā)送信號(hào)量操作,發(fā)送/ /接收消息接收消息微機(jī)中的中斷微機(jī)中的中斷1.1.可屏蔽中斷(可屏蔽中斷(I/OI/O中斷)中斷)2.2.不可屏蔽中斷(機(jī)器內(nèi)部故障、掉電中不可屏蔽中斷(機(jī)器內(nèi)部故障、掉電中斷)斷)3.3.程序錯(cuò)誤中斷(溢出、除法錯(cuò)等中斷)程序錯(cuò)誤中斷(溢出、除法錯(cuò)等中斷)4.4.軟件中斷(軟件中斷(TrapTrap指令或中斷指令指令或中斷指令I(lǐng)NTINT)2.4.2 2.4.2 中斷系統(tǒng)中斷系統(tǒng)中斷系統(tǒng)的兩大組成部分:硬件中斷裝置和軟件中斷系統(tǒng)的兩大組成部分:硬件中斷裝置和軟件中斷處理程序中斷處理程序v中

25、斷系統(tǒng)的硬件中斷裝置中斷系統(tǒng)的硬件中斷裝置- -中斷系統(tǒng)的機(jī)制部分中斷系統(tǒng)的機(jī)制部分 負(fù)責(zé)捕獲中斷源發(fā)出的中斷請(qǐng)求,以一定方負(fù)責(zé)捕獲中斷源發(fā)出的中斷請(qǐng)求,以一定方式響應(yīng)中斷源,然后將處理器控制權(quán)交給特定式響應(yīng)中斷源,然后將處理器控制權(quán)交給特定的中斷處理程序的中斷處理程序v軟件中斷處理程序軟件中斷處理程序- -中斷系統(tǒng)的策略部分中斷系統(tǒng)的策略部分 負(fù)責(zé)辨別中斷類型并做出相應(yīng)的操作負(fù)責(zé)辨別中斷類型并做出相應(yīng)的操作2.4.3 2.4.3 中斷裝置的基本功能中斷裝置的基本功能v提供識(shí)別中斷源的方法提供識(shí)別中斷源的方法v提供查詢中斷狀態(tài)的方法,通常使用一個(gè)寄存提供查詢中斷狀態(tài)的方法,通常使用一個(gè)寄存器存

26、儲(chǔ)有關(guān)中斷的狀態(tài)信息,稱為中斷字器存儲(chǔ)有關(guān)中斷的狀態(tài)信息,稱為中斷字v提供中斷現(xiàn)場(chǎng)保護(hù)的能力提供中斷現(xiàn)場(chǎng)保護(hù)的能力v提供中斷處理程序?qū)ぶ纺芰?,找到恰?dāng)?shù)闹袛嗵峁┲袛嗵幚沓绦驅(qū)ぶ纺芰?,找到恰?dāng)?shù)闹袛嗵幚沓绦蛱幚沓绦騰具有預(yù)定義的系統(tǒng)控制棧和中斷處理程序入口具有預(yù)定義的系統(tǒng)控制棧和中斷處理程序入口地址映射表(中斷向量表地址映射表(中斷向量表)等數(shù)據(jù)結(jié)構(gòu)和它們?cè)诘葦?shù)據(jù)結(jié)構(gòu)和它們?cè)谥鞔嬷械奈恢茫暂o助主存中的位置,以輔助OS定制中斷處理策略和定制中斷處理策略和中斷調(diào)度機(jī)制中斷調(diào)度機(jī)制中斷寄存器中斷寄存器中斷寄存器:中斷寄存器:v有的計(jì)算機(jī)中,為了區(qū)分和不丟失中斷信號(hào)有的計(jì)算機(jī)中,為了區(qū)分和不丟失中斷信

27、號(hào) 對(duì)應(yīng)每個(gè)中斷源分別用一固定觸發(fā)器寄存中斷對(duì)應(yīng)每個(gè)中斷源分別用一固定觸發(fā)器寄存中斷信號(hào)信號(hào) 規(guī)定值為規(guī)定值為1 1時(shí),表示有中斷信號(hào),為時(shí),表示有中斷信號(hào),為0 0時(shí)表示無(wú)時(shí)表示無(wú)v這些觸發(fā)器的全體稱為中斷寄存器這些觸發(fā)器的全體稱為中斷寄存器v每個(gè)觸發(fā)器稱為一個(gè)中斷位每個(gè)觸發(fā)器稱為一個(gè)中斷位v所以中斷寄存器是由若干個(gè)中斷位組成所以中斷寄存器是由若干個(gè)中斷位組成發(fā)現(xiàn)中斷發(fā)現(xiàn)中斷處理器如何發(fā)現(xiàn)中斷信號(hào)?處理器如何發(fā)現(xiàn)中斷信號(hào)? 處理器的控制部件中設(shè)一個(gè)能檢測(cè)中斷的機(jī)構(gòu)處理器的控制部件中設(shè)一個(gè)能檢測(cè)中斷的機(jī)構(gòu) 稱為中斷掃描機(jī)構(gòu)稱為中斷掃描機(jī)構(gòu)v在每條指令執(zhí)行周期的最后時(shí)刻掃描中斷寄存在每條指令執(zhí)行

28、周期的最后時(shí)刻掃描中斷寄存器,詢問(wèn)是否有中斷信號(hào)器,詢問(wèn)是否有中斷信號(hào)v若無(wú)中斷信號(hào),繼續(xù)執(zhí)行下一條指令若無(wú)中斷信號(hào),繼續(xù)執(zhí)行下一條指令v若有中斷,中斷硬件就進(jìn)行中斷響應(yīng)若有中斷,中斷硬件就進(jìn)行中斷響應(yīng)2.4.4 2.4.4 中斷響應(yīng)中斷響應(yīng)CPUCPU如何響應(yīng)中斷如何響應(yīng)中斷, , 兩個(gè)問(wèn)題:兩個(gè)問(wèn)題: vCPUCPU何時(shí)響應(yīng)中斷?何時(shí)響應(yīng)中斷? 通常在通常在CPUCPU執(zhí)行了一條指令以后,更確切地,執(zhí)行了一條指令以后,更確切地,在指令周期最后時(shí)刻接受中斷請(qǐng)求,或此時(shí)在指令周期最后時(shí)刻接受中斷請(qǐng)求,或此時(shí)掃描中斷寄存器掃描中斷寄存器v如何知道提出中斷請(qǐng)求的設(shè)備或中斷源?如何知道提出中斷請(qǐng)求的

29、設(shè)備或中斷源? 因?yàn)橹挥兄乐袛嘣椿蛑袛嘣O(shè)備,才能調(diào)用因?yàn)橹挥兄乐袛嘣椿蛑袛嘣O(shè)備,才能調(diào)用相應(yīng)的中斷處理程序相應(yīng)的中斷處理程序兩種解決方法兩種解決方法v用軟件指令去查詢各設(shè)備接口用軟件指令去查詢各設(shè)備接口 這種方法比較費(fèi)時(shí)這種方法比較費(fèi)時(shí)v多數(shù)微型機(jī)對(duì)此問(wèn)題的解決方法:多數(shù)微型機(jī)對(duì)此問(wèn)題的解決方法: 使用一種使用一種“向量中斷向量中斷”的硬件設(shè)施的硬件設(shè)施“向量中斷向量中斷”:v當(dāng)當(dāng)CPUCPU接受某中斷請(qǐng)求時(shí),該設(shè)備接口給處理器發(fā)接受某中斷請(qǐng)求時(shí),該設(shè)備接口給處理器發(fā)送具有唯一性的送具有唯一性的“中斷向量中斷向量”,以標(biāo)識(shí)該設(shè)備,以標(biāo)識(shí)該設(shè)備v“中斷向量中斷向量”在各計(jì)算機(jī)上實(shí)現(xiàn)方法差別比

30、較大在各計(jì)算機(jī)上實(shí)現(xiàn)方法差別比較大中斷向量表中斷向量表在有的機(jī)器中:在有的機(jī)器中:將主存最低位將主存最低位128128個(gè)字保留作為中斷向量個(gè)字保留作為中斷向量表,每個(gè)中斷向量占兩個(gè)字表,每個(gè)中斷向量占兩個(gè)字中斷請(qǐng)求的設(shè)備接口為了標(biāo)識(shí)自己,向處中斷請(qǐng)求的設(shè)備接口為了標(biāo)識(shí)自己,向處理器發(fā)送一個(gè)該設(shè)備在中斷向量表中表理器發(fā)送一個(gè)該設(shè)備在中斷向量表中表目的編號(hào)目的編號(hào)中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)在一些機(jī)器中,中斷優(yōu)先級(jí)按中斷類型在一些機(jī)器中,中斷優(yōu)先級(jí)按中斷類型劃分:劃分:v 以機(jī)器故障中斷的優(yōu)先級(jí)最高以機(jī)器故障中斷的優(yōu)先級(jí)最高 v 程序中斷和訪問(wèn)管理程序中斷次之程序中斷和訪問(wèn)管理程序中斷次之 v 外部中斷更

31、次之外部中斷更次之 v 輸入輸出的優(yōu)先級(jí)最低輸入輸出的優(yōu)先級(jí)最低中斷屏蔽中斷屏蔽在在CPUCPU上運(yùn)行的程序,有時(shí)由于種種原因,上運(yùn)行的程序,有時(shí)由于種種原因,不希望其在執(zhí)行過(guò)程中被別的事件所中斷,不希望其在執(zhí)行過(guò)程中被別的事件所中斷,稱為中斷屏蔽稱為中斷屏蔽v在在PSWPSW中設(shè)置中斷屏蔽碼以屏蔽某些指定中設(shè)置中斷屏蔽碼以屏蔽某些指定的中斷類型的中斷類型v各設(shè)備接口中也有中斷禁止位,以禁止各設(shè)備接口中也有中斷禁止位,以禁止該設(shè)備的中斷該設(shè)備的中斷2.4.5 2.4.5 中斷處理中斷處理中斷處理一般過(guò)程:(1 1)設(shè)備給處理器發(fā)一個(gè)中斷信號(hào)。)設(shè)備給處理器發(fā)一個(gè)中斷信號(hào)。(2 2)處理器處理完

32、當(dāng)前指令后檢測(cè)到中斷,判)處理器處理完當(dāng)前指令后檢測(cè)到中斷,判斷出中斷來(lái)源并向發(fā)送中斷的設(shè)備發(fā)送了確認(rèn)斷出中斷來(lái)源并向發(fā)送中斷的設(shè)備發(fā)送了確認(rèn)中斷信號(hào),確認(rèn)信號(hào)使得該設(shè)備將中斷信號(hào)恢中斷信號(hào),確認(rèn)信號(hào)使得該設(shè)備將中斷信號(hào)恢復(fù)到一般狀態(tài)。復(fù)到一般狀態(tài)。(3 3)處理器開始為軟件處理中斷做準(zhǔn)備:)處理器開始為軟件處理中斷做準(zhǔn)備: 保存中斷點(diǎn)的程序執(zhí)行上下文環(huán)境,這通常包保存中斷點(diǎn)的程序執(zhí)行上下文環(huán)境,這通常包括程序狀態(tài)字括程序狀態(tài)字PSWPSW,程序計(jì)數(shù)器,程序計(jì)數(shù)器PCPC,一些寄存,一些寄存器的值,它們通常保存在系統(tǒng)棧中器的值,它們通常保存在系統(tǒng)棧中, ,處理器狀處理器狀態(tài)被切換到管態(tài)。態(tài)被切

33、換到管態(tài)。(4 4)處理器根據(jù)中斷源查詢中斷向量表,獲得)處理器根據(jù)中斷源查詢中斷向量表,獲得與該中斷相聯(lián)系的處理程序入口地址,并將與該中斷相聯(lián)系的處理程序入口地址,并將PCPC置成該地址,處理器開始一個(gè)新的指令周期,置成該地址,處理器開始一個(gè)新的指令周期,控制轉(zhuǎn)移到中斷處理程序控制轉(zhuǎn)移到中斷處理程序(5 5)中斷處理程序開始工作)中斷處理程序開始工作(6 6)中斷處理結(jié)束時(shí),執(zhí)行中斷返回指令,被)中斷處理結(jié)束時(shí),執(zhí)行中斷返回指令,被中斷程序的上下文環(huán)境從系統(tǒng)堆棧中被恢復(fù),中斷程序的上下文環(huán)境從系統(tǒng)堆棧中被恢復(fù),處理器狀態(tài)恢復(fù)成原來(lái)的狀態(tài)。處理器狀態(tài)恢復(fù)成原來(lái)的狀態(tài)。(7 7)PSWPSW和和PCPC被恢復(fù)成中斷前的值,處理器開始被恢復(fù)成中斷前的值,處理器開始一個(gè)新的指令周期,中斷處理結(jié)束一個(gè)新的指令周期,中斷處理結(jié)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論