




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第二二章章 操作系統(tǒng)的硬件環(huán)境操作系統(tǒng)的硬件環(huán)境討論操作系統(tǒng)對(duì)運(yùn)行硬件環(huán)境的要求討論操作系統(tǒng)對(duì)運(yùn)行硬件環(huán)境的要求 了解了解OS設(shè)計(jì)者所面對(duì)的硬件設(shè)計(jì)者所面對(duì)的硬件n操作系統(tǒng)運(yùn)行的硬件環(huán)境組成操作系統(tǒng)運(yùn)行的硬件環(huán)境組成n中央處理器(中央處理器(CPUCPU)n存儲(chǔ)系統(tǒng)存儲(chǔ)系統(tǒng)n中斷機(jī)制中斷機(jī)制nI/O系統(tǒng)系統(tǒng)n時(shí)鐘以及時(shí)鐘隊(duì)列時(shí)鐘以及時(shí)鐘隊(duì)列n緩沖技術(shù)緩沖技術(shù)n總線總線概述概述任何系統(tǒng)軟件都是硬件功能的延伸任何系統(tǒng)軟件都是硬件功能的延伸操作系統(tǒng)直接依賴于硬件條件操作系統(tǒng)直接依賴于硬件條件OS的硬件環(huán)境的硬件環(huán)境以較分散的形式同各種管理相結(jié)以較分散的形式同各種管理相結(jié)合合 實(shí)現(xiàn)操作系統(tǒng)時(shí)必須理解
2、的實(shí)現(xiàn)操作系統(tǒng)時(shí)必須理解的 計(jì)算機(jī)基本結(jié)構(gòu)計(jì)算機(jī)基本結(jié)構(gòu) 操作系統(tǒng)管理的重要資源操作系統(tǒng)管理的重要資源簡(jiǎn)單的個(gè)人計(jì)算機(jī)中的部件簡(jiǎn)單的個(gè)人計(jì)算機(jī)中的部件MonitorBus一、中央處理器(一、中央處理器(CPU)專門設(shè)計(jì)了一系列基本機(jī)制:專門設(shè)計(jì)了一系列基本機(jī)制:- - 具有特權(quán)級(jí)別的處理器狀態(tài),能在不同特權(quán)級(jí)具有特權(quán)級(jí)別的處理器狀態(tài),能在不同特權(quán)級(jí)運(yùn)行的各種特權(quán)指令運(yùn)行的各種特權(quán)指令- - 硬件機(jī)制使得硬件機(jī)制使得OSOS可以和普通程序隔離可以和普通程序隔離 實(shí)現(xiàn)保護(hù)和控制實(shí)現(xiàn)保護(hù)和控制1、CPU的構(gòu)成與基本工作方式的構(gòu)成與基本工作方式 處理器由運(yùn)算器、控制器、一系列的寄存器以處理器由運(yùn)算器、
3、控制器、一系列的寄存器以及高速緩存構(gòu)成及高速緩存構(gòu)成n運(yùn)算器實(shí)現(xiàn)指令中的算術(shù)和邏輯運(yùn)算,是計(jì)算運(yùn)算器實(shí)現(xiàn)指令中的算術(shù)和邏輯運(yùn)算,是計(jì)算機(jī)計(jì)算的核心機(jī)計(jì)算的核心n控制器負(fù)責(zé)控制程序運(yùn)行的流程,包括取指令、控制器負(fù)責(zé)控制程序運(yùn)行的流程,包括取指令、維護(hù)維護(hù)CPUCPU狀態(tài)、狀態(tài)、CPUCPU與內(nèi)存的交互等等與內(nèi)存的交互等等n寄存器是指令在寄存器是指令在CPUCPU內(nèi)部作處理的過(guò)程中暫存數(shù)據(jù)、內(nèi)部作處理的過(guò)程中暫存數(shù)據(jù)、地址以及指令信息的存儲(chǔ)設(shè)備地址以及指令信息的存儲(chǔ)設(shè)備 在計(jì)算機(jī)的存儲(chǔ)系統(tǒng)中它具有最快的訪問速度在計(jì)算機(jī)的存儲(chǔ)系統(tǒng)中它具有最快的訪問速度n高速緩存處于高速緩存處于CPUCPU和物理內(nèi)存
4、之間和物理內(nèi)存之間 一般由控制器中的內(nèi)存管理單元(一般由控制器中的內(nèi)存管理單元(MMUMMU:Memory Memory Management UnitManagement Unit)管理管理 訪問速度快于內(nèi)存,低于寄存器訪問速度快于內(nèi)存,低于寄存器 利用程序局部性原理使得高速指令處理和低速內(nèi)存利用程序局部性原理使得高速指令處理和低速內(nèi)存訪問得以匹配,從而提高訪問得以匹配,從而提高CPUCPU的效率的效率處理器中的寄存器處理器中的寄存器n寄存器提供了一定的存儲(chǔ)能力寄存器提供了一定的存儲(chǔ)能力n速度比主存快得多速度比主存快得多n造價(jià)高,容量一般都很小造價(jià)高,容量一般都很小兩類寄存器:兩類寄存器:n
5、用戶可見寄存器,高級(jí)語(yǔ)言編譯器通過(guò)算法分用戶可見寄存器,高級(jí)語(yǔ)言編譯器通過(guò)算法分配并使用之,以減少程序訪問主存次數(shù)配并使用之,以減少程序訪問主存次數(shù)n控制和狀態(tài)寄存器,用于控制處理器的操作控制和狀態(tài)寄存器,用于控制處理器的操作 由由OS的的特權(quán)代碼使用特權(quán)代碼使用, 以控制其它程序的執(zhí)行以控制其它程序的執(zhí)行用戶可見寄存器用戶可見寄存器n機(jī)器語(yǔ)言直接引用機(jī)器語(yǔ)言直接引用n包括數(shù)據(jù)寄存器、地址寄存器以及條件碼寄存器包括數(shù)據(jù)寄存器、地址寄存器以及條件碼寄存器n數(shù)據(jù)寄存器數(shù)據(jù)寄存器(data register)又稱通用寄存器又稱通用寄存器 主要用于各種算術(shù)邏輯指令和訪存指令主要用于各種算術(shù)邏輯指令和訪
6、存指令n地址寄存器地址寄存器(address register)用于存儲(chǔ)數(shù)據(jù)及用于存儲(chǔ)數(shù)據(jù)及指令的物理地址、線性地址或者有效地址,用于指令的物理地址、線性地址或者有效地址,用于某種特定方式的尋址。如某種特定方式的尋址。如index register、segment pointer、stack pointern條件碼寄存器保存條件碼寄存器保存CPU操作結(jié)果的各種標(biāo)記位操作結(jié)果的各種標(biāo)記位 如算術(shù)運(yùn)算產(chǎn)生的溢出、符號(hào)等等如算術(shù)運(yùn)算產(chǎn)生的溢出、符號(hào)等等控制和狀態(tài)寄存器控制和狀態(tài)寄存器n用于控制處理器的操作用于控制處理器的操作n大部分對(duì)于用戶是不可見的大部分對(duì)于用戶是不可見的n一部分可以在某種特權(quán)模式
7、(由一部分可以在某種特權(quán)模式(由OS使用)下訪問使用)下訪問常見的控制和狀態(tài)寄存器常見的控制和狀態(tài)寄存器: :n程序計(jì)數(shù)器程序計(jì)數(shù)器(PC:Program Counter),記錄將要取出的記錄將要取出的指令的地址指令的地址n指令寄存器指令寄存器(IR:Instruction Register),包含最近取出的包含最近取出的指令指令n程序狀態(tài)字程序狀態(tài)字(PSW:Program Status Word),記錄處理器記錄處理器的運(yùn)行模式信息等等的運(yùn)行模式信息等等指令執(zhí)行的基本過(guò)程指令執(zhí)行的基本過(guò)程(1)兩個(gè)步驟:兩個(gè)步驟:n先從存儲(chǔ)器中每次讀取一條指令先從存儲(chǔ)器中每次讀取一條指令n然后執(zhí)行這條指令
8、然后執(zhí)行這條指令一個(gè)單條指令處理過(guò)程稱為一個(gè)指令周期一個(gè)單條指令處理過(guò)程稱為一個(gè)指令周期程序的執(zhí)行是由不斷取指和執(zhí)行的指令周期組成程序的執(zhí)行是由不斷取指和執(zhí)行的指令周期組成僅當(dāng)關(guān)機(jī)、出錯(cuò)或有停機(jī)相關(guān)指令時(shí),程序才停止僅當(dāng)關(guān)機(jī)、出錯(cuò)或有停機(jī)相關(guān)指令時(shí),程序才停止n每個(gè)指令周期開始時(shí),依據(jù)在程序計(jì)數(shù)器中的每個(gè)指令周期開始時(shí),依據(jù)在程序計(jì)數(shù)器中的指令地址從存儲(chǔ)器中取一條指令指令地址從存儲(chǔ)器中取一條指令n在取指完成后根據(jù)指令類別自動(dòng)將程序計(jì)數(shù)器在取指完成后根據(jù)指令類別自動(dòng)將程序計(jì)數(shù)器的值變成下條指令的地址,自增的值變成下條指令的地址,自增1 1n取到的指令放在指令寄存器中取到的指令放在指令寄存器中n處
9、理器解釋并執(zhí)行所要求的動(dòng)作處理器解釋并執(zhí)行所要求的動(dòng)作指令執(zhí)行的基本過(guò)程指令執(zhí)行的基本過(guò)程(2)5類指令類指令n訪問存儲(chǔ)器指令:訪問存儲(chǔ)器指令: 處理器和存儲(chǔ)器間數(shù)據(jù)傳送處理器和存儲(chǔ)器間數(shù)據(jù)傳送nI/O指令:指令: 處理器和處理器和I/O模塊間數(shù)據(jù)傳送和命令發(fā)送模塊間數(shù)據(jù)傳送和命令發(fā)送n算術(shù)邏輯指令(數(shù)據(jù)處理指令):算術(shù)邏輯指令(數(shù)據(jù)處理指令): 執(zhí)行數(shù)據(jù)算術(shù)和邏輯操作執(zhí)行數(shù)據(jù)算術(shù)和邏輯操作n控制轉(zhuǎn)移指令:控制轉(zhuǎn)移指令: 指定一個(gè)新的指令的執(zhí)行起點(diǎn)指定一個(gè)新的指令的執(zhí)行起點(diǎn)n處理器控制指令:處理器控制指令: 修改處理器狀態(tài),改變處理器工作方式修改處理器狀態(tài),改變處理器工作方式2、特權(quán)指令和非特
10、權(quán)指令、特權(quán)指令和非特權(quán)指令特權(quán)指令:只能由操作系統(tǒng)使用的指令特權(quán)指令:只能由操作系統(tǒng)使用的指令n使用多道程序設(shè)計(jì)技術(shù)的計(jì)算機(jī)指令系統(tǒng)必須要區(qū)分為特使用多道程序設(shè)計(jì)技術(shù)的計(jì)算機(jī)指令系統(tǒng)必須要區(qū)分為特權(quán)指令和非特權(quán)指令權(quán)指令和非特權(quán)指令n特權(quán)指令一般引起處理器狀態(tài)的切換特權(quán)指令一般引起處理器狀態(tài)的切換n 處理器通過(guò)特殊的機(jī)制將處理器狀態(tài)切換到操作系統(tǒng)運(yùn)處理器通過(guò)特殊的機(jī)制將處理器狀態(tài)切換到操作系統(tǒng)運(yùn)行的特權(quán)狀態(tài)(管態(tài))行的特權(quán)狀態(tài)(管態(tài))n 然后將處理權(quán)移交給操作系統(tǒng)中的一段特殊代碼,這一然后將處理權(quán)移交給操作系統(tǒng)中的一段特殊代碼,這一個(gè)過(guò)程稱為陷入個(gè)過(guò)程稱為陷入 CPUCPU如何知道當(dāng)前運(yùn)行的
11、是操作系統(tǒng)還是一般應(yīng)用軟件?有如何知道當(dāng)前運(yùn)行的是操作系統(tǒng)還是一般應(yīng)用軟件?有賴于處理器狀態(tài)的標(biāo)識(shí)賴于處理器狀態(tài)的標(biāo)識(shí)3、處理器的狀態(tài)、處理器的狀態(tài)根據(jù)運(yùn)行程序?qū)Y源和機(jī)器指令的使用權(quán)限將處理器設(shè)根據(jù)運(yùn)行程序?qū)Y源和機(jī)器指令的使用權(quán)限將處理器設(shè)置為不同狀態(tài)置為不同狀態(tài)多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)管態(tài):操作系統(tǒng)管理程序運(yùn)行的狀態(tài),較高的特權(quán)級(jí)別,管態(tài):操作系統(tǒng)管理程序運(yùn)行的狀態(tài),較高的特權(quán)級(jí)別,又稱為特權(quán)態(tài)(特態(tài))、系統(tǒng)態(tài)又稱為特權(quán)態(tài)(特態(tài))、系統(tǒng)態(tài)目態(tài):用戶程序運(yùn)行時(shí)的狀態(tài),較低的特權(quán)級(jí)別,又稱目態(tài):用戶程序運(yùn)行時(shí)的狀態(tài),較低的特權(quán)級(jí)別,又稱
12、為普通態(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í)例:x86系列處理器(系列處理器(1)n386、486、Pentium系列都支持系列都支持4個(gè)處理器特權(quán)個(gè)處理器特權(quán)級(jí)別(特權(quán)環(huán):級(jí)別(特權(quán)環(huán):R0、R1、R2和和R3)n從從R0到到R3特權(quán)能力依次降低特權(quán)能力依次降低nR0相當(dāng)于雙狀態(tài)系統(tǒng)的管態(tài)相當(dāng)于雙狀態(tài)系統(tǒng)的管態(tài)nR3相當(dāng)于目態(tài)相當(dāng)于目態(tài)nR1和和R2則介于兩者之間,它們能夠運(yùn)行的指則介于兩者之間,它們能夠運(yùn)行的指令集合具有包含關(guān)系:令集合
13、具有包含關(guān)系:3210RRRRIIII各個(gè)級(jí)別有保護(hù)性檢查(地址校驗(yàn)、各個(gè)級(jí)別有保護(hù)性檢查(地址校驗(yàn)、I/O限制)限制)特權(quán)級(jí)別之間的轉(zhuǎn)換方式不盡相同特權(quán)級(jí)別之間的轉(zhuǎn)換方式不盡相同四個(gè)級(jí)別運(yùn)行不同類別的程序:四個(gè)級(jí)別運(yùn)行不同類別的程序:nR0- -運(yùn)行操作系統(tǒng)核心代碼運(yùn)行操作系統(tǒng)核心代碼nR1- -運(yùn)行關(guān)鍵設(shè)備驅(qū)動(dòng)程序和運(yùn)行關(guān)鍵設(shè)備驅(qū)動(dòng)程序和I/O處理例程處理例程nR2- -運(yùn)行其它受保護(hù)共享代碼,如語(yǔ)言系統(tǒng)運(yùn)行環(huán)境運(yùn)行其它受保護(hù)共享代碼,如語(yǔ)言系統(tǒng)運(yùn)行環(huán)境nR3- -運(yùn)行各種用戶程序運(yùn)行各種用戶程序現(xiàn)有基于現(xiàn)有基于x86處理器的操作系統(tǒng),多數(shù)處理器的操作系統(tǒng),多數(shù)UNIX、Linux以及以及
14、Windows系列大都只用了系列大都只用了R0和和R3兩個(gè)特權(quán)級(jí)別兩個(gè)特權(quán)級(jí)別實(shí)例:實(shí)例:x86系列處理器(系列處理器(2)管態(tài)和目態(tài)的差別管態(tài)和目態(tài)的差別處理器處于管態(tài)時(shí):處理器處于管態(tài)時(shí):n全部指令(包括特權(quán)指令)可以執(zhí)行全部指令(包括特權(quán)指令)可以執(zhí)行n可使用所有資源可使用所有資源n并具有改變處理器狀態(tài)的能力并具有改變處理器狀態(tài)的能力處理器處于目態(tài)時(shí):處理器處于目態(tài)時(shí):n只有非特權(quán)指令能執(zhí)行只有非特權(quán)指令能執(zhí)行特權(quán)級(jí)別不同,可運(yùn)行指令集合也不同特權(quán)級(jí)別不同,可運(yùn)行指令集合也不同特權(quán)級(jí)別越高,可以運(yùn)行指令集合越大特權(quán)級(jí)別越高,可以運(yùn)行指令集合越大高特權(quán)級(jí)別對(duì)應(yīng)的可運(yùn)行指令集合包含低特權(quán)級(jí)的
15、高特權(quán)級(jí)別對(duì)應(yīng)的可運(yùn)行指令集合包含低特權(quán)級(jí)的4、程序狀態(tài)字、程序狀態(tài)字PSW在在PSW中專門設(shè)置一位,根據(jù)運(yùn)行程序使用指令的中專門設(shè)置一位,根據(jù)運(yùn)行程序使用指令的權(quán)限而設(shè)置,權(quán)限而設(shè)置,PSW (Program Status Word ): :nCPU的工作狀態(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)還是一般用戶,從而決定其是否可以使用特權(quán)指令或擁有其戶,從而決定其是否可以使用特權(quán)指令或擁有其它的特殊權(quán)力它的特殊權(quán)力n條件碼條件碼反映指令執(zhí)行后的結(jié)果特征反映指令執(zhí)行后的結(jié)果特征n中斷屏蔽碼中斷屏蔽碼指出是
16、否允許中斷指出是否允許中斷例例:微處理器微處理器M68000的程序狀態(tài)字的程序狀態(tài)字1514131211109876543210TSI2I1I0XNZVC條件位:條件位:C: 進(jìn)位標(biāo)志位進(jìn)位標(biāo)志位 V: 溢出標(biāo)志位溢出標(biāo)志位Z: 結(jié)果為零標(biāo)志位結(jié)果為零標(biāo)志位N: 結(jié)果為負(fù)標(biāo)志位結(jié)果為負(fù)標(biāo)志位I0 I2:三位中斷屏蔽位三位中斷屏蔽位S:CPU狀態(tài)標(biāo)志位,為狀態(tài)標(biāo)志位,為1處于管態(tài),為處于管態(tài),為0處于目態(tài)處于目態(tài)T:陷阱陷阱(Trap)中斷指示位為中斷指示位為1, 在下一條指令執(zhí)行后引起自陷中斷在下一條指令執(zhí)行后引起自陷中斷CPU狀態(tài)的轉(zhuǎn)換狀態(tài)的轉(zhuǎn)換目態(tài)目態(tài)-管態(tài)管態(tài) 其轉(zhuǎn)換的唯一途徑是通過(guò)中斷
17、其轉(zhuǎn)換的唯一途徑是通過(guò)中斷管態(tài)管態(tài)-目態(tài)目態(tài) 可用設(shè)置可用設(shè)置PSW(PSW(修改程序狀態(tài)字修改程序狀態(tài)字) )可實(shí)現(xiàn)可實(shí)現(xiàn)二、二、存儲(chǔ)系統(tǒng)存儲(chǔ)系統(tǒng)支持支持OS運(yùn)行硬件環(huán)境的一個(gè)重要方面:運(yùn)行硬件環(huán)境的一個(gè)重要方面:n作業(yè)必須把它的程序和數(shù)據(jù)存放在內(nèi)存中才能運(yùn)行作業(yè)必須把它的程序和數(shù)據(jù)存放在內(nèi)存中才能運(yùn)行n多道程系統(tǒng)中,若干個(gè)程序和相關(guān)的數(shù)據(jù)要放入主存多道程系統(tǒng)中,若干個(gè)程序和相關(guān)的數(shù)據(jù)要放入主存儲(chǔ)器儲(chǔ)器n操作系統(tǒng)要管理、保護(hù)程序和數(shù)據(jù),使它們不至于受操作系統(tǒng)要管理、保護(hù)程序和數(shù)據(jù),使它們不至于受到破壞到破壞n操作系統(tǒng)本身也要存放在主存儲(chǔ)器中并運(yùn)行操作系統(tǒng)本身也要存放在主存儲(chǔ)器中并運(yùn)行 1、存
18、儲(chǔ)器的類型存儲(chǔ)器的類型兩類存儲(chǔ)器:讀寫型的存儲(chǔ)器兩類存儲(chǔ)器:讀寫型的存儲(chǔ)器 只讀型的存儲(chǔ)器只讀型的存儲(chǔ)器讀寫型的存儲(chǔ)器讀寫型的存儲(chǔ)器n可把數(shù)據(jù)存入其中任一地址單元,并可在以后可把數(shù)據(jù)存入其中任一地址單元,并可在以后的任何時(shí)候把數(shù)據(jù)讀出,或者重新存入新的數(shù)的任何時(shí)候把數(shù)據(jù)讀出,或者重新存入新的數(shù)據(jù)的一種存儲(chǔ)器據(jù)的一種存儲(chǔ)器n常被稱為隨機(jī)訪問存儲(chǔ)器常被稱為隨機(jī)訪問存儲(chǔ)器(RAM:Random Access Memory)nRAM主要用作存放隨機(jī)存取的程序的數(shù)據(jù)主要用作存放隨機(jī)存取的程序的數(shù)據(jù)只讀型的存儲(chǔ)器只讀型的存儲(chǔ)器: :n只能從其中讀取數(shù)據(jù),但不能隨意用普通方法寫入數(shù)據(jù)(寫只能從其中讀取數(shù)據(jù),
19、但不能隨意用普通方法寫入數(shù)據(jù)(寫入數(shù)據(jù)只能用特殊方法)入數(shù)據(jù)只能用特殊方法)n稱為只讀存儲(chǔ)器稱為只讀存儲(chǔ)器(ROM:Read-Only Memory)變型變型:PROM和和EPROMnPROM:一種可編程只讀存儲(chǔ)器,使用特殊一種可編程只讀存儲(chǔ)器,使用特殊PROM寫入器寫寫入器寫入數(shù)據(jù)入數(shù)據(jù)nEPROM:用特殊的紫外線光照射此芯片,以用特殊的紫外線光照射此芯片,以“擦去擦去”信息,信息,恢復(fù)原來(lái)狀態(tài),然后使用特殊恢復(fù)原來(lái)狀態(tài),然后使用特殊EPROM寫入器寫入數(shù)據(jù)寫入器寫入數(shù)據(jù)在微機(jī)中,一些常駐內(nèi)存的模塊以微程序形式固化在在微機(jī)中,一些常駐內(nèi)存的模塊以微程序形式固化在ROM中中如如: :PC BI
20、OS和和CBASIC解釋程序被固化于解釋程序被固化于ROM中中2、存儲(chǔ)器的層次結(jié)構(gòu)、存儲(chǔ)器的層次結(jié)構(gòu)存儲(chǔ)系統(tǒng)設(shè)計(jì)三個(gè)問題:存儲(chǔ)系統(tǒng)設(shè)計(jì)三個(gè)問題: 容量、速度和成本容量、速度和成本n容量:需求無(wú)止境容量:需求無(wú)止境n速度:能匹配處理器的速度速度:能匹配處理器的速度n成本問題:成本和其它部件相比應(yīng)在合適范圍成本問題:成本和其它部件相比應(yīng)在合適范圍之內(nèi)之內(nèi)容量、速度和成本容量、速度和成本n三個(gè)目標(biāo)不可能同時(shí)達(dá)到最優(yōu),要作權(quán)衡三個(gè)目標(biāo)不可能同時(shí)達(dá)到最優(yōu),要作權(quán)衡n存取速度快,每比特價(jià)格高存取速度快,每比特價(jià)格高n容量大,每比特價(jià)格越低,同時(shí)存取速度也越慢容量大,每比特價(jià)格越低,同時(shí)存取速度也越慢解決方
21、案:采用層次化的存儲(chǔ)體系結(jié)構(gòu)解決方案:采用層次化的存儲(chǔ)體系結(jié)構(gòu)n當(dāng)沿著層次下降時(shí)當(dāng)沿著層次下降時(shí)n每比特的價(jià)格將下降,容量將增大每比特的價(jià)格將下降,容量將增大n速度將變慢,處理器的訪問頻率也將下降速度將變慢,處理器的訪問頻率也將下降層次化的存儲(chǔ)體系結(jié)構(gòu)層次化的存儲(chǔ)體系結(jié)構(gòu)存儲(chǔ)訪問局部性原理存儲(chǔ)訪問局部性原理提高存儲(chǔ)系統(tǒng)效能關(guān)鍵點(diǎn):程序存儲(chǔ)訪問局部性原理提高存儲(chǔ)系統(tǒng)效能關(guān)鍵點(diǎn):程序存儲(chǔ)訪問局部性原理n程序執(zhí)行時(shí),有很多的循環(huán)和子程序調(diào)用,一旦進(jìn)入程序執(zhí)行時(shí),有很多的循環(huán)和子程序調(diào)用,一旦進(jìn)入這樣的程序段,就會(huì)重復(fù)存取相同的指令集合這樣的程序段,就會(huì)重復(fù)存取相同的指令集合n對(duì)數(shù)據(jù)存取也有局部性,在
22、較短的時(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ì)改變?cè)诮?jīng)過(guò)一段時(shí)間以后,使用的代碼和數(shù)據(jù)集合會(huì)改變?cè)O(shè)計(jì)多級(jí)存儲(chǔ)的體系結(jié)構(gòu)設(shè)計(jì)多級(jí)存儲(chǔ)的體系結(jié)構(gòu)原則:級(jí)別較低存儲(chǔ)器比率小于級(jí)別較高存儲(chǔ)器比率原則:級(jí)別較低存儲(chǔ)器比率小于級(jí)別較高存儲(chǔ)器比率假設(shè)兩級(jí)存儲(chǔ)器:假設(shè)兩級(jí)存儲(chǔ)器:n第第I I級(jí)包含級(jí)包含1KB1KB,存取時(shí)間為存取時(shí)間為0.10.1ssn第第IIII級(jí)包含級(jí)包含1MB1MB,存取時(shí)間為存取時(shí)間為1 1ss存取存取I I級(jí)中的
23、內(nèi)容,直接存取級(jí)中的內(nèi)容,直接存取存取存取IIII級(jí),首先被轉(zhuǎn)移到級(jí),首先被轉(zhuǎn)移到I I級(jí),然后再存取級(jí),然后再存取假設(shè)確定內(nèi)容所在位置時(shí)間可以忽略假設(shè)確定內(nèi)容所在位置時(shí)間可以忽略若在若在I I級(jí)存儲(chǔ)器中發(fā)現(xiàn)存取對(duì)象的概率是級(jí)存儲(chǔ)器中發(fā)現(xiàn)存取對(duì)象的概率是95%95%,則平均訪,則平均訪問時(shí)間為:?jiǎn)枙r(shí)間為:結(jié)果非常接近結(jié)果非常接近I I級(jí)存儲(chǔ)的存取時(shí)間級(jí)存儲(chǔ)的存取時(shí)間ssss15.011.005.01.095.0T1T1:I I級(jí)存儲(chǔ)器的存取時(shí)間級(jí)存儲(chǔ)器的存取時(shí)間T2T2:IIII級(jí)存儲(chǔ)器的存取時(shí)間級(jí)存儲(chǔ)器的存取時(shí)間一個(gè)簡(jiǎn)單二級(jí)存儲(chǔ)系統(tǒng)的性能一個(gè)簡(jiǎn)單二級(jí)存儲(chǔ)系統(tǒng)的性能3、存儲(chǔ)分塊、存儲(chǔ)分塊n存儲(chǔ)
24、最小單位存儲(chǔ)最小單位: :“二進(jìn)位二進(jìn)位”,包含信息為,包含信息為0 0或或1 1n最小編址單位最小編址單位: :字節(jié),一個(gè)字節(jié)包含八個(gè)二進(jìn)位字節(jié),一個(gè)字節(jié)包含八個(gè)二進(jìn)位主流個(gè)人電腦主流個(gè)人電腦n主存主存:128MB:128MB512MB512MB之間之間n輔助存儲(chǔ)器輔助存儲(chǔ)器: :在在20GB20GB70GB70GB工作站、服務(wù)器工作站、服務(wù)器n主存主存:512MB :512MB 4GB4GB之間之間n硬盤容量硬盤容量: :數(shù)百數(shù)百GBGB為簡(jiǎn)化分配和管理,存儲(chǔ)器分成塊為簡(jiǎn)化分配和管理,存儲(chǔ)器分成塊, ,稱一個(gè)物理頁(yè)(稱一個(gè)物理頁(yè)(PagePage)n塊的大?。簤K的大?。?12B512B、1
25、K1K、4K4K、8K8K4 4、存儲(chǔ)保護(hù)設(shè)施、存儲(chǔ)保護(hù)設(shè)施對(duì)主存中的信息加以嚴(yán)格的保護(hù),使操作系統(tǒng)及其對(duì)主存中的信息加以嚴(yán)格的保護(hù),使操作系統(tǒng)及其它程序不被破壞,是其正確運(yùn)行的基本條件之一它程序不被破壞,是其正確運(yùn)行的基本條件之一多用戶多用戶, ,多任務(wù)操作系統(tǒng):多任務(wù)操作系統(tǒng): OSOS給每個(gè)運(yùn)行進(jìn)程分配一個(gè)存儲(chǔ)區(qū)域給每個(gè)運(yùn)行進(jìn)程分配一個(gè)存儲(chǔ)區(qū)域問題:?jiǎn)栴}: 多個(gè)程序同時(shí)在同一臺(tái)機(jī)器上運(yùn)行多個(gè)程序同時(shí)在同一臺(tái)機(jī)器上運(yùn)行 怎樣才能互不侵犯?怎樣才能互不侵犯?保護(hù)的硬件支持保護(hù)的硬件支持為了保證軟件程序只影響程序的內(nèi)部為了保證軟件程序只影響程序的內(nèi)部 硬件可提供如下功能:硬件可提供如下功能:n
26、界地址寄存器(界限寄存器)界地址寄存器(界限寄存器)n存儲(chǔ)鍵存儲(chǔ)鍵n地址轉(zhuǎn)換地址轉(zhuǎn)換界地址寄存器(界限寄存器)界地址寄存器(界限寄存器)n界地址寄存器被廣泛使用的一種存儲(chǔ)保護(hù)技術(shù)界地址寄存器被廣泛使用的一種存儲(chǔ)保護(hù)技術(shù)n機(jī)制比較簡(jiǎn)單,易于實(shí)現(xiàn)機(jī)制比較簡(jiǎn)單,易于實(shí)現(xiàn)實(shí)現(xiàn)方法:實(shí)現(xiàn)方法:n在在CPUCPU中設(shè)置一對(duì)下限寄存器和上限寄存器中設(shè)置一對(duì)下限寄存器和上限寄存器 存放用戶作業(yè)在主存中的下限和上限地址存放用戶作業(yè)在主存中的下限和上限地址n也可將一個(gè)寄存器作為基址寄存器,另一寄存器作為也可將一個(gè)寄存器作為基址寄存器,另一寄存器作為限長(zhǎng)寄存器(指示存儲(chǔ)區(qū)長(zhǎng)度)限長(zhǎng)寄存器(指示存儲(chǔ)區(qū)長(zhǎng)度)n每當(dāng)每當(dāng)
27、CPUCPU要訪問主存,硬件自動(dòng)將被訪問的主存地址與要訪問主存,硬件自動(dòng)將被訪問的主存地址與界限寄存器的內(nèi)容進(jìn)行比較,以判斷是否越界界限寄存器的內(nèi)容進(jìn)行比較,以判斷是否越界n如果未越界,則按此地址訪問主存,否則將產(chǎn)生程序如果未越界,則按此地址訪問主存,否則將產(chǎn)生程序中斷中斷越界中斷(存儲(chǔ)保護(hù)中斷)越界中斷(存儲(chǔ)保護(hù)中斷)界地址寄存器界地址寄存器存儲(chǔ)保護(hù)技術(shù)存儲(chǔ)保護(hù)技術(shù)存儲(chǔ)鍵存儲(chǔ)鍵n每個(gè)存儲(chǔ)塊有一個(gè)由二進(jìn)位組成的存儲(chǔ)保護(hù)鍵每個(gè)存儲(chǔ)塊有一個(gè)由二進(jìn)位組成的存儲(chǔ)保護(hù)鍵n一用戶作業(yè)被允許進(jìn)入主存,一用戶作業(yè)被允許進(jìn)入主存,OSOS分給它一個(gè)唯分給它一個(gè)唯一的存儲(chǔ)鍵號(hào)一的存儲(chǔ)鍵號(hào)n并將分配給該作業(yè)各存儲(chǔ)塊
28、存儲(chǔ)鍵也置成同樣并將分配給該作業(yè)各存儲(chǔ)塊存儲(chǔ)鍵也置成同樣鍵號(hào)鍵號(hào)n當(dāng)當(dāng)OSOS挑選該作業(yè)運(yùn)行時(shí),挑選該作業(yè)運(yùn)行時(shí),OSOS將它的存儲(chǔ)鍵號(hào)放將它的存儲(chǔ)鍵號(hào)放入程序狀態(tài)字入程序狀態(tài)字PSWPSW存儲(chǔ)鍵(存儲(chǔ)鍵(“鑰匙鑰匙”)域中)域中n每當(dāng)每當(dāng)CPUCPU訪問主存時(shí),都將該主存塊的存儲(chǔ)鍵訪問主存時(shí),都將該主存塊的存儲(chǔ)鍵與與PSWPSW中的中的“鑰匙鑰匙”進(jìn)行比較進(jìn)行比較n如果相匹配,則允許訪問,否則,拒絕并報(bào)警如果相匹配,則允許訪問,否則,拒絕并報(bào)警地址轉(zhuǎn)換地址轉(zhuǎn)換同時(shí)有多個(gè)程序在內(nèi)存同時(shí)有多個(gè)程序在內(nèi)存程序在內(nèi)存的位置不是固定的而是隨機(jī)的程序在內(nèi)存的位置不是固定的而是隨機(jī)的CPUTranslat
29、ion Box (MMU)虛擬地址虛擬地址物理地址物理地址物理空間物理空間數(shù)據(jù)讀或?qū)憯?shù)據(jù)讀或?qū)懀ú恍柁D(zhuǎn)換)(不需轉(zhuǎn)換)現(xiàn)代體系結(jié)構(gòu)中的地址轉(zhuǎn)換現(xiàn)代體系結(jié)構(gòu)中的地址轉(zhuǎn)換codedataheapstack程序2虛地址空間data2stack1code1heap1code2stack2data1heap2OS codeOS dataOS heap& stacks程序 1虛地址空間codedataheapstack內(nèi)存內(nèi)存地址轉(zhuǎn)換地址轉(zhuǎn)換三、三、中斷技術(shù)中斷技術(shù)中斷對(duì)于操作系統(tǒng)的重要性中斷對(duì)于操作系統(tǒng)的重要性 就像機(jī)器中的驅(qū)動(dòng)齒輪一樣就像機(jī)器中的驅(qū)動(dòng)齒輪一樣所以有人把操作系統(tǒng)稱為是由所以有人把
30、操作系統(tǒng)稱為是由 “中斷驅(qū)動(dòng)中斷驅(qū)動(dòng)”或者或者 “(中斷)事件驅(qū)動(dòng)(中斷)事件驅(qū)動(dòng)”中斷機(jī)制中斷機(jī)制 中斷機(jī)制中斷機(jī)制是操作系統(tǒng)得以正常工作的最重要的是操作系統(tǒng)得以正常工作的最重要的手段手段n它使得它使得OS可以捕獲普通程序發(fā)出的系統(tǒng)功能可以捕獲普通程序發(fā)出的系統(tǒng)功能調(diào)用調(diào)用n及時(shí)處理設(shè)備的中斷請(qǐng)求及時(shí)處理設(shè)備的中斷請(qǐng)求n防止用戶程序中破壞性的活動(dòng)等等防止用戶程序中破壞性的活動(dòng)等等什么是中斷什么是中斷? ?n指指CPUCPU對(duì)系統(tǒng)中或系統(tǒng)外發(fā)生異步事件的響應(yīng)對(duì)系統(tǒng)中或系統(tǒng)外發(fā)生異步事件的響應(yīng)n異步事件是指無(wú)一定時(shí)序關(guān)系的隨機(jī)發(fā)生事件異步事件是指無(wú)一定時(shí)序關(guān)系的隨機(jī)發(fā)生事件如外部設(shè)備完成數(shù)據(jù)傳輸
31、,實(shí)時(shí)設(shè)備出現(xiàn)異常等如外部設(shè)備完成數(shù)據(jù)傳輸,實(shí)時(shí)設(shè)備出現(xiàn)異常等“中斷中斷”名稱源于:名稱源于:n當(dāng)異步事件發(fā)生后,打斷了對(duì)當(dāng)前程序的執(zhí)行當(dāng)異步事件發(fā)生后,打斷了對(duì)當(dāng)前程序的執(zhí)行n而轉(zhuǎn)去處理該異步事件而轉(zhuǎn)去處理該異步事件n直到處理完了后,再轉(zhuǎn)回原程序中斷點(diǎn)繼續(xù)執(zhí)行直到處理完了后,再轉(zhuǎn)回原程序中斷點(diǎn)繼續(xù)執(zhí)行1、中斷的概念、中斷的概念中斷定義中斷定義nCPUCPU對(duì)系統(tǒng)發(fā)生的某個(gè)事件作出的一種反應(yīng)對(duì)系統(tǒng)發(fā)生的某個(gè)事件作出的一種反應(yīng)nCPUCPU暫停正在執(zhí)行的程序,保留現(xiàn)場(chǎng)后自動(dòng)轉(zhuǎn)暫停正在執(zhí)行的程序,保留現(xiàn)場(chǎng)后自動(dòng)轉(zhuǎn)去執(zhí)行相應(yīng)事件的處理程序,處理完成后返回去執(zhí)行相應(yīng)事件的處理程序,處理完成后返回?cái)帱c(diǎn),
32、繼續(xù)執(zhí)行被打斷的程序斷點(diǎn),繼續(xù)執(zhí)行被打斷的程序從用戶角度看中斷從用戶角度看中斷引入中斷的目的引入中斷的目的n解決主機(jī)與外設(shè)的并行工作問題解決主機(jī)與外設(shè)的并行工作問題n提高可靠性提高可靠性n實(shí)現(xiàn)多機(jī)聯(lián)系實(shí)現(xiàn)多機(jī)聯(lián)系n實(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)處理的n中斷源:引起中斷發(fā)生的事件中斷源:引起中斷發(fā)生的事件n中斷寄存器:記錄中斷中斷寄存器:記錄中斷n中斷字:中斷寄存器的內(nèi)容中斷字:中斷寄存器的內(nèi)容系統(tǒng)堆棧系統(tǒng)堆棧: :在內(nèi)存開辟的一塊區(qū)域,用于臨時(shí)保存現(xiàn)場(chǎng)在內(nèi)存開辟的一塊區(qū)域,
33、用于臨時(shí)保存現(xiàn)場(chǎng)中斷系統(tǒng)的概念中斷系統(tǒng)的概念中斷類型(中斷類型(1 1)強(qiáng)迫性中斷強(qiáng)迫性中斷 正在運(yùn)行的程序所不期望的,由于某種硬件故障正在運(yùn)行的程序所不期望的,由于某種硬件故障或外部請(qǐng)求引起的或外部請(qǐng)求引起的自愿性中斷自愿性中斷 用戶在程序中有意識(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ā)生中斷類型中斷類型(2)強(qiáng)迫性中斷強(qiáng)迫性中斷n輸入輸入/ /輸出輸出(I/O)(I/O)中斷:主要來(lái)自外部設(shè)備通道中斷:主要來(lái)自外部設(shè)
34、備通道n程序性中斷:運(yùn)行程序中本身的中斷程序性中斷:運(yùn)行程序中本身的中斷( (如溢出如溢出, ,缺頁(yè)中斷缺頁(yè)中斷, ,缺段中斷缺段中斷, ,地址越界地址越界) )n時(shí)鐘中斷時(shí)鐘中斷n控制臺(tái)中斷控制臺(tái)中斷n硬件故障硬件故障中斷類型中斷類型(3)自愿性中斷自愿性中斷n執(zhí)行執(zhí)行I/OI/O,創(chuàng)建進(jìn)程,分配內(nèi)存創(chuàng)建進(jìn)程,分配內(nèi)存n信號(hào)量操作,發(fā)送信號(hào)量操作,發(fā)送/ /接收消息接收消息微機(jī)中的中斷微機(jī)中的中斷1.1.可屏蔽中斷(可屏蔽中斷(IOIO中斷)中斷)2.2.不可屏蔽中斷(機(jī)器內(nèi)部故障、掉電中斷)不可屏蔽中斷(機(jī)器內(nèi)部故障、掉電中斷)3.3.程序錯(cuò)誤中斷(溢出、除法錯(cuò)等中斷)程序錯(cuò)誤中斷(溢出、
35、除法錯(cuò)等中斷)4.4.軟件中斷(軟件中斷(TrapTrap指令或中斷指令指令或中斷指令I(lǐng)NTINT)IBM370中的中斷中的中斷1. 1. 機(jī)器故障中斷:如電源故障,機(jī)器電路檢驗(yàn)錯(cuò)等機(jī)器故障中斷:如電源故障,機(jī)器電路檢驗(yàn)錯(cuò)等2. 2. 輸入輸出中斷:輸入輸出設(shè)備和通道數(shù)據(jù)傳輸狀態(tài))輸入輸出中斷:輸入輸出設(shè)備和通道數(shù)據(jù)傳輸狀態(tài))3. 3. 外部中斷:時(shí)鐘中斷,操作員控制臺(tái)中斷,多機(jī)系統(tǒng)外部中斷:時(shí)鐘中斷,操作員控制臺(tái)中斷,多機(jī)系統(tǒng)中其它機(jī)器的通信要求中斷,各種外設(shè)或傳感器發(fā)來(lái)中其它機(jī)器的通信要求中斷,各種外設(shè)或傳感器發(fā)來(lái)的實(shí)時(shí)中斷等的實(shí)時(shí)中斷等4. 4. 程序中斷:程序中的問題引起的中斷,如錯(cuò)誤
36、地使用程序中斷:程序中的問題引起的中斷,如錯(cuò)誤地使用指令或數(shù)據(jù)、溢出等問題,存儲(chǔ)保護(hù)等指令或數(shù)據(jù)、溢出等問題,存儲(chǔ)保護(hù)等5. 5. 訪管中斷:訪管指令或陷阱指令(訪管中斷:訪管指令或陷阱指令(TrapTrap指令)中的操指令)中的操作數(shù)規(guī)定了要求服務(wù)的類型。每當(dāng)作數(shù)規(guī)定了要求服務(wù)的類型。每當(dāng)CPUCPU執(zhí)行訪管指令或執(zhí)行訪管指令或陷阱指令時(shí),即引起中斷并調(diào)用操作系統(tǒng)相應(yīng)的功能陷阱指令時(shí),即引起中斷并調(diào)用操作系統(tǒng)相應(yīng)的功能模塊為其服務(wù)模塊為其服務(wù)2、中斷系統(tǒng)中斷系統(tǒng)中斷系統(tǒng)的兩大組成部分:硬件中斷裝置和軟件中斷處理程序中斷系統(tǒng)的兩大組成部分:硬件中斷裝置和軟件中斷處理程序n中斷系統(tǒng)的硬件中斷裝置
37、中斷系統(tǒng)的硬件中斷裝置- -中斷系統(tǒng)的機(jī)制部分中斷系統(tǒng)的機(jī)制部分 負(fù)責(zé)捕獲中斷源發(fā)出的中斷請(qǐng)求,以一定方式響應(yīng)中斷源,負(fù)責(zé)捕獲中斷源發(fā)出的中斷請(qǐng)求,以一定方式響應(yīng)中斷源,然后將處理器控制權(quán)交給特定的中斷處理程序然后將處理器控制權(quán)交給特定的中斷處理程序n軟件中斷處理程序軟件中斷處理程序- -中斷系統(tǒng)的策略部分中斷系統(tǒng)的策略部分 負(fù)責(zé)辨別中斷類型并做出相應(yīng)的操作負(fù)責(zé)辨別中斷類型并做出相應(yīng)的操作中斷裝置的基本功能中斷裝置的基本功能n提供識(shí)別中斷源的方法提供識(shí)別中斷源的方法n提供查詢中斷狀態(tài)的方法,通常使用一個(gè)寄存器存儲(chǔ)提供查詢中斷狀態(tài)的方法,通常使用一個(gè)寄存器存儲(chǔ)有關(guān)中斷的狀態(tài)信息,稱為中斷字有關(guān)中
38、斷的狀態(tài)信息,稱為中斷字n提供中斷現(xiàn)場(chǎng)保護(hù)的能力提供中斷現(xiàn)場(chǎng)保護(hù)的能力n提供中斷處理程序?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è)谥鞔嬷械奈恢?,以輔助置,以輔助OS定制中斷處理策略和中斷調(diào)度機(jī)制定制中斷處理策略和中斷調(diào)度機(jī)制3、中斷邏輯與中斷寄存器(、中斷邏輯與中斷寄存器(1)如何接受和響應(yīng)中斷源的中斷請(qǐng)求,因機(jī)器而異如何接受和響應(yīng)中斷源的中斷請(qǐng)求,因機(jī)器而異如,在如,在PCPC中中:
39、 :n有可屏蔽的中斷請(qǐng)求有可屏蔽的中斷請(qǐng)求INTR:INTR:主要是輸入輸出設(shè)備的主要是輸入輸出設(shè)備的I/OI/O中斷中斷, , 通過(guò)建立在通過(guò)建立在PSWPSW中的中斷屏蔽位加以屏蔽,即使再有中的中斷屏蔽位加以屏蔽,即使再有I/OI/O中中斷,處理器也不響應(yīng)斷,處理器也不響應(yīng)n不可屏蔽的中斷請(qǐng)求不可屏蔽的中斷請(qǐng)求: :屬于機(jī)器故障中斷,包括內(nèi)存奇偶校屬于機(jī)器故障中斷,包括內(nèi)存奇偶校驗(yàn)錯(cuò)以及掉電等中斷源驗(yàn)錯(cuò)以及掉電等中斷源n程序中的問題所引起的中斷(如溢出、除法錯(cuò)都可以引起程序中的問題所引起的中斷(如溢出、除法錯(cuò)都可以引起中斷)和軟件中斷等中斷)和軟件中斷等由于可能有很多中斷源請(qǐng)求同時(shí)發(fā)生由于
40、可能有很多中斷源請(qǐng)求同時(shí)發(fā)生由中斷邏輯按中斷優(yōu)先級(jí)加以判定響應(yīng)哪個(gè)中斷請(qǐng)求由中斷邏輯按中斷優(yōu)先級(jí)加以判定響應(yīng)哪個(gè)中斷請(qǐng)求中斷寄存器:中斷寄存器:n有的計(jì)算機(jī)中,為了區(qū)分和不丟失中斷信號(hào)有的計(jì)算機(jī)中,為了區(qū)分和不丟失中斷信號(hào) 對(duì)應(yīng)每個(gè)中斷源分別用一固定觸發(fā)器寄存中斷信號(hào)對(duì)應(yīng)每個(gè)中斷源分別用一固定觸發(fā)器寄存中斷信號(hào) 規(guī)定值為規(guī)定值為1 1時(shí),表示有中斷信號(hào),為時(shí),表示有中斷信號(hào),為0 0時(shí)表示無(wú)時(shí)表示無(wú)n這些觸發(fā)器的全體稱為中斷寄存器這些觸發(fā)器的全體稱為中斷寄存器n每個(gè)觸發(fā)器稱為一個(gè)中斷位每個(gè)觸發(fā)器稱為一個(gè)中斷位n所以中斷寄存器是由若干個(gè)中斷位組成所以中斷寄存器是由若干個(gè)中斷位組成 中斷邏輯與中斷
41、寄存器(中斷邏輯與中斷寄存器(2)處理器如何發(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)n在每條指令執(zhí)行周期的最后時(shí)刻掃描中斷寄存器,在每條指令執(zhí)行周期的最后時(shí)刻掃描中斷寄存器,詢問是否有中斷信號(hào)詢問是否有中斷信號(hào)n若無(wú)中斷信號(hào),繼續(xù)執(zhí)行下一條指令若無(wú)中斷信號(hào),繼續(xù)執(zhí)行下一條指令n若有中斷,中斷硬件將該中斷觸發(fā)器內(nèi)容按規(guī)定編若有中斷,中斷硬件將該中斷觸發(fā)器內(nèi)容按規(guī)定編碼送入碼送入PSWPSW的相應(yīng)位,稱為中斷碼的相應(yīng)位,稱為中斷碼中斷邏輯與中斷寄存器(中斷邏輯與中斷寄存器(3)4、多級(jí)
42、中斷和中斷屏蔽多級(jí)中斷和中斷屏蔽多級(jí)中斷:多級(jí)中斷:n多數(shù)微型處理器有著多級(jí)中斷系統(tǒng),可以有多根中斷多數(shù)微型處理器有著多級(jí)中斷系統(tǒng),可以有多根中斷請(qǐng)求線(級(jí))從不同設(shè)備連接到中斷邏輯請(qǐng)求線(級(jí))從不同設(shè)備連接到中斷邏輯n如如M 68000M 68000有七級(jí),有七級(jí),PDP11PDP11有有1111級(jí)級(jí)n具有相同特性和優(yōu)先級(jí)的設(shè)備可連到同一中斷級(jí)上具有相同特性和優(yōu)先級(jí)的設(shè)備可連到同一中斷級(jí)上中斷優(yōu)先級(jí):中斷優(yōu)先級(jí):n在多級(jí)中斷系統(tǒng)中,可能同時(shí)有多個(gè)中斷請(qǐng)求,在多級(jí)中斷系統(tǒng)中,可能同時(shí)有多個(gè)中斷請(qǐng)求,CPUCPU接接受中斷優(yōu)先級(jí)為最高的那個(gè)中斷受中斷優(yōu)先級(jí)為最高的那個(gè)中斷n忽略其中斷優(yōu)先級(jí)較低的
43、那些中斷忽略其中斷優(yōu)先級(jí)較低的那些中斷5、中斷響應(yīng)中斷響應(yīng)CPUCPU如何響應(yīng)中斷如何響應(yīng)中斷, , 兩個(gè)問題:兩個(gè)問題: nCPUCPU何時(shí)響應(yīng)中斷?何時(shí)響應(yīng)中斷? 通常在通常在CPUCPU執(zhí)行了一條指令以后,更確切地,在執(zhí)行了一條指令以后,更確切地,在指令周期最后時(shí)刻接受中斷請(qǐng)求,或此時(shí)掃描中指令周期最后時(shí)刻接受中斷請(qǐng)求,或此時(shí)掃描中斷寄存器斷寄存器n如何知道提出中斷請(qǐng)求的設(shè)備或中斷源?如何知道提出中斷請(qǐng)求的設(shè)備或中斷源? 因?yàn)橹挥兄乐袛嘣椿蛑袛嘣O(shè)備,才能調(diào)用相應(yīng)因?yàn)橹挥兄乐袛嘣椿蛑袛嘣O(shè)備,才能調(diào)用相應(yīng)的中斷處理程序的中斷處理程序開始開始取下一條指令取下一條指令執(zhí)行指令執(zhí)行指令檢查指令
44、檢查指令處理中斷處理中斷停止停止取周期取周期執(zhí)行周期執(zhí)行周期中斷周期中斷周期不允許中斷不允許中斷允許允許中斷中斷n用軟件指令去查詢各設(shè)備接口用軟件指令去查詢各設(shè)備接口 這種方法比較費(fèi)時(shí)這種方法比較費(fèi)時(shí)n多數(shù)微型機(jī)對(duì)此問題的解決方法:多數(shù)微型機(jī)對(duì)此問題的解決方法: 使用一種使用一種“向量中斷向量中斷”的硬件設(shè)施的硬件設(shè)施“向量中斷向量中斷”:n當(dāng)當(dāng)CPUCPU接受某中斷請(qǐng)求時(shí),該設(shè)備接口給處理器發(fā)接受某中斷請(qǐng)求時(shí),該設(shè)備接口給處理器發(fā)送具有唯一性的送具有唯一性的“中斷向量中斷向量”,以標(biāo)識(shí)該設(shè)備,以標(biāo)識(shí)該設(shè)備n“中斷向量中斷向量”在各計(jì)算機(jī)上實(shí)現(xiàn)方法差別比較大在各計(jì)算機(jī)上實(shí)現(xiàn)方法差別比較大兩種解
45、決方法兩種解決方法中斷向量表中斷向量表在有的機(jī)器中:在有的機(jī)器中:將主存最低位將主存最低位128128個(gè)字保留作為中斷向量表,每個(gè)中斷向個(gè)字保留作為中斷向量表,每個(gè)中斷向量占兩個(gè)字量占兩個(gè)字中斷請(qǐng)求的設(shè)備接口為了標(biāo)識(shí)自己,向處理器發(fā)送一個(gè)中斷請(qǐng)求的設(shè)備接口為了標(biāo)識(shí)自己,向處理器發(fā)送一個(gè)該設(shè)備在中斷向量表中表目的地址指針該設(shè)備在中斷向量表中表目的地址指針中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)在一些機(jī)器中,中斷優(yōu)先級(jí)按中斷類型劃分:在一些機(jī)器中,中斷優(yōu)先級(jí)按中斷類型劃分:n 以機(jī)器故障中斷的優(yōu)先級(jí)最高以機(jī)器故障中斷的優(yōu)先級(jí)最高 n 程序中斷和訪問管理程序中斷次之程序中斷和訪問管理程序中斷次之 n 外部中斷更次之外部
46、中斷更次之 n 輸入輸出的優(yōu)先級(jí)最低輸入輸出的優(yōu)先級(jí)最低中斷屏蔽中斷屏蔽在在CPUCPU上運(yùn)行的程序,有時(shí)由于種種原因,不希望其在執(zhí)行過(guò)程中上運(yùn)行的程序,有時(shí)由于種種原因,不希望其在執(zhí)行過(guò)程中被別的事件所中斷,稱為中斷屏蔽被別的事件所中斷,稱為中斷屏蔽n在在PSWPSW中設(shè)置中斷屏蔽碼以屏蔽某些指定的中斷類型中設(shè)置中斷屏蔽碼以屏蔽某些指定的中斷類型n如果其如果其PSWPSW的中斷禁止位建立后,則屏蔽中斷的中斷禁止位建立后,則屏蔽中斷 (不包括不可屏蔽的那些中斷)(不包括不可屏蔽的那些中斷)n如果如果PSWPSW中的中斷禁止位未建立中的中斷禁止位未建立 則可以接受其中斷優(yōu)先級(jí)高于運(yùn)行程序中斷優(yōu)先
47、級(jí)的那些中斷則可以接受其中斷優(yōu)先級(jí)高于運(yùn)行程序中斷優(yōu)先級(jí)的那些中斷n各設(shè)備接口中也有中斷禁止位,以禁止該設(shè)備的中斷各設(shè)備接口中也有中斷禁止位,以禁止該設(shè)備的中斷6、中斷處理(、中斷處理(1)簡(jiǎn)單的中斷處理簡(jiǎn)單的中斷處理 - 典型的處理過(guò)程:典型的處理過(guò)程:(1 1)設(shè)備給處理器發(fā)一個(gè)中斷信號(hào))設(shè)備給處理器發(fā)一個(gè)中斷信號(hào)(2 2)處理器處理完當(dāng)前指令后響應(yīng)中斷,延遲非常短(要求)處理器處理完當(dāng)前指令后響應(yīng)中斷,延遲非常短(要求處理器沒有關(guān)閉中斷)處理器沒有關(guān)閉中斷)(3 3)處理器處理完當(dāng)前指令后檢測(cè)到中斷,判斷出中斷來(lái)源)處理器處理完當(dāng)前指令后檢測(cè)到中斷,判斷出中斷來(lái)源并向發(fā)送中斷的設(shè)備發(fā)送了
48、確認(rèn)中斷信號(hào),確認(rèn)信號(hào)使得并向發(fā)送中斷的設(shè)備發(fā)送了確認(rèn)中斷信號(hào),確認(rèn)信號(hào)使得該設(shè)備將中斷信號(hào)恢復(fù)到一般狀態(tài)該設(shè)備將中斷信號(hào)恢復(fù)到一般狀態(tài)(4 4)處理器開始為軟件處理中斷做準(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)被切換到管態(tài)(5 5)處理器根據(jù)中斷源查詢中斷向量表,獲得與該中斷相聯(lián))處
49、理器根據(jù)中斷源查詢中斷向量表,獲得與該中斷相聯(lián)系的處理程序入口地址,并將系的處理程序入口地址,并將PCPC置成該地址,處理器開始置成該地址,處理器開始一個(gè)新的指令周期,控制轉(zhuǎn)移到中斷處理程序一個(gè)新的指令周期,控制轉(zhuǎn)移到中斷處理程序(6 6)中斷處理程序開始工作,包括檢查)中斷處理程序開始工作,包括檢查I/OI/O相關(guān)的狀態(tài)信息,相關(guān)的狀態(tài)信息,操縱操縱I/OI/O設(shè)備或者在設(shè)備和主存之間傳送數(shù)據(jù)等等設(shè)備或者在設(shè)備和主存之間傳送數(shù)據(jù)等等(7 7)中斷處理結(jié)束時(shí),處理器檢測(cè)到中斷返回指令,被中斷)中斷處理結(jié)束時(shí),處理器檢測(cè)到中斷返回指令,被中斷程序的上下文環(huán)境從系統(tǒng)堆棧中被恢復(fù)程序的上下文環(huán)境從系
50、統(tǒng)堆棧中被恢復(fù) 處理器狀態(tài)恢復(fù)成原來(lái)的狀態(tài)。處理器狀態(tài)恢復(fù)成原來(lái)的狀態(tài)。(8 8)PSWPSW和和PCPC被恢復(fù)成中斷前的值,處理器開始一個(gè)新的指令被恢復(fù)成中斷前的值,處理器開始一個(gè)新的指令周期,中斷處理結(jié)束周期,中斷處理結(jié)束中斷處理(中斷處理(2)簡(jiǎn)單的中斷處理過(guò)程簡(jiǎn)單的中斷處理過(guò)程多個(gè)中斷的處理(多個(gè)中斷的處理(1)若中斷處理過(guò)程中又發(fā)生中斷,引起多中斷處理問題若中斷處理過(guò)程中又發(fā)生中斷,引起多中斷處理問題兩種策略方法:兩種策略方法:n第一種:第一種: 處理一個(gè)中斷時(shí)禁止中斷,對(duì)任何新中斷置之不理,在這處理一個(gè)中斷時(shí)禁止中斷,對(duì)任何新中斷置之不理,在這期間發(fā)生的中斷將保持掛起狀態(tài)期間發(fā)生的
51、中斷將保持掛起狀態(tài) 當(dāng)再次允許中斷時(shí),新中斷信號(hào)被處理器檢測(cè)到當(dāng)再次允許中斷時(shí),新中斷信號(hào)被處理器檢測(cè)到n軟件實(shí)現(xiàn)方法:軟件實(shí)現(xiàn)方法: 在任何中斷處理前使用禁止中斷指令在任何中斷處理前使用禁止中斷指令 在處理結(jié)束后開放中斷指令在處理結(jié)束后開放中斷指令 所有中斷嚴(yán)格按照發(fā)生順序處理所有中斷嚴(yán)格按照發(fā)生順序處理 不考慮中斷緊急程度,無(wú)法達(dá)到較嚴(yán)格時(shí)間要求不考慮中斷緊急程度,無(wú)法達(dá)到較嚴(yán)格時(shí)間要求多中斷處理第一種策略方法多中斷處理第一種策略方法n第二種:第二種: 中斷按照優(yōu)先度分級(jí)中斷按照優(yōu)先度分級(jí) 允許優(yōu)先級(jí)高中斷打斷優(yōu)先級(jí)低的中斷處理過(guò)程允許優(yōu)先級(jí)高中斷打斷優(yōu)先級(jí)低的中斷處理過(guò)程 這樣中斷優(yōu)先級(jí)
52、技術(shù)將引起中斷處理的嵌套這樣中斷優(yōu)先級(jí)技術(shù)將引起中斷處理的嵌套 只要合適地定義中斷的優(yōu)先級(jí)別只要合適地定義中斷的優(yōu)先級(jí)別 方法一的弊端大都可以克服方法一的弊端大都可以克服多個(gè)中斷的處理(多個(gè)中斷的處理(2)用戶程序低級(jí)中斷高級(jí)中斷多中斷處理第二種策略方法多中斷處理第二種策略方法典型的中斷處理(典型的中斷處理(1 1):):I/O中斷中斷由由I/OI/O設(shè)備的控制器或者通道發(fā)出設(shè)備的控制器或者通道發(fā)出兩類兩類I/OI/O中斷:中斷:nI/OI/O操作正常結(jié)束操作正常結(jié)束如果要繼續(xù)如果要繼續(xù)I/OI/O操作,需要在準(zhǔn)備好以后重新啟動(dòng)操作,需要在準(zhǔn)備好以后重新啟動(dòng)I/OI/O,若請(qǐng)求若請(qǐng)求I/OI/
53、O程序正處于等待程序正處于等待I/OI/O狀態(tài),則應(yīng)將其喚醒狀態(tài),則應(yīng)將其喚醒nI/OI/O異常異常需要重新執(zhí)行失敗的需要重新執(zhí)行失敗的I/OI/O操作操作重試次數(shù)有上限,次數(shù)過(guò)大,系統(tǒng)將判定硬件故障重試次數(shù)有上限,次數(shù)過(guò)大,系統(tǒng)將判定硬件故障系統(tǒng)多道能力的重要推動(dòng)力量,時(shí)鐘中斷處理程序通常系統(tǒng)多道能力的重要推動(dòng)力量,時(shí)鐘中斷處理程序通常做與系統(tǒng)運(yùn)轉(zhuǎn)、管理和維護(hù)相關(guān)的工作,包括:做與系統(tǒng)運(yùn)轉(zhuǎn)、管理和維護(hù)相關(guān)的工作,包括:n維護(hù)軟件時(shí)鐘:系統(tǒng)有若干個(gè)軟件時(shí)鐘,控制定時(shí)任維護(hù)軟件時(shí)鐘:系統(tǒng)有若干個(gè)軟件時(shí)鐘,控制定時(shí)任務(wù)以及進(jìn)程的處理器時(shí)間配額,時(shí)鐘中斷需要維護(hù)、務(wù)以及進(jìn)程的處理器時(shí)間配額,時(shí)鐘中斷
54、需要維護(hù)、定時(shí)更新這些軟件時(shí)鐘定時(shí)更新這些軟件時(shí)鐘n處理器時(shí)間調(diào)度:維護(hù)當(dāng)前進(jìn)程時(shí)間片軟件時(shí)鐘,并處理器時(shí)間調(diào)度:維護(hù)當(dāng)前進(jìn)程時(shí)間片軟件時(shí)鐘,并在當(dāng)前進(jìn)程時(shí)間片到時(shí)以后運(yùn)行調(diào)度程序選擇下一個(gè)在當(dāng)前進(jìn)程時(shí)間片到時(shí)以后運(yùn)行調(diào)度程序選擇下一個(gè)被調(diào)度的進(jìn)程被調(diào)度的進(jìn)程n控制系統(tǒng)定時(shí)任務(wù):通過(guò)軟件時(shí)鐘和調(diào)度程序定時(shí)激控制系統(tǒng)定時(shí)任務(wù):通過(guò)軟件時(shí)鐘和調(diào)度程序定時(shí)激活一些系統(tǒng)任務(wù),如監(jiān)測(cè)死鎖、系統(tǒng)記帳、系統(tǒng)審計(jì)活一些系統(tǒng)任務(wù),如監(jiān)測(cè)死鎖、系統(tǒng)記帳、系統(tǒng)審計(jì)等等n實(shí)時(shí)處理實(shí)時(shí)處理典型的中斷處理典型的中斷處理(2):時(shí)鐘中斷時(shí)鐘中斷典型的中斷處理(典型的中斷處理(3):硬件故障中斷硬件故障中斷 硬件故障中斷處理
55、程序一般需要做的工作:硬件故障中斷處理程序一般需要做的工作:n保存現(xiàn)場(chǎng),使用一定警告手段,提供些輔助診斷信息保存現(xiàn)場(chǎng),使用一定警告手段,提供些輔助診斷信息n在高可靠系統(tǒng)中,中斷處理程序還要評(píng)估系統(tǒng)可用性,盡可能在高可靠系統(tǒng)中,中斷處理程序還要評(píng)估系統(tǒng)可用性,盡可能恢復(fù)系統(tǒng)恢復(fù)系統(tǒng)如如Windows 2000/XPWindows 2000/XP,關(guān)鍵硬件發(fā)生故障時(shí),如顯示卡損壞,出關(guān)鍵硬件發(fā)生故障時(shí),如顯示卡損壞,出現(xiàn)系統(tǒng)藍(lán)屏,系統(tǒng)實(shí)際上進(jìn)入相應(yīng)故障處理程序,發(fā)現(xiàn)故障不現(xiàn)系統(tǒng)藍(lán)屏,系統(tǒng)實(shí)際上進(jìn)入相應(yīng)故障處理程序,發(fā)現(xiàn)故障不可恢復(fù),則在屏幕上打印出發(fā)生故障時(shí)程序位置,并開始進(jìn)行可恢復(fù),則在屏幕上打
56、印出發(fā)生故障時(shí)程序位置,并開始進(jìn)行內(nèi)存轉(zhuǎn)儲(chǔ)(將一定范圍的內(nèi)存內(nèi)容寫上磁盤,是系統(tǒng)故障時(shí)的內(nèi)存轉(zhuǎn)儲(chǔ)(將一定范圍的內(nèi)存內(nèi)容寫上磁盤,是系統(tǒng)故障時(shí)的全系統(tǒng)全系統(tǒng)“快照快照”),備日后故障診斷),備日后故障診斷程序指令出錯(cuò)、指令越權(quán)或者指令尋址越界而引發(fā)程序指令出錯(cuò)、指令越權(quán)或者指令尋址越界而引發(fā)兩類處理方法:兩類處理方法:n只能由操作系統(tǒng)的相關(guān)擴(kuò)展功能模塊完成只能由操作系統(tǒng)的相關(guān)擴(kuò)展功能模塊完成 多為程序試圖作不能做的操作引起的系統(tǒng)保護(hù)多為程序試圖作不能做的操作引起的系統(tǒng)保護(hù) 如訪問合法的、但不在內(nèi)存虛地址內(nèi),引發(fā)頁(yè)故障頁(yè)故障一如訪問合法的、但不在內(nèi)存虛地址內(nèi),引發(fā)頁(yè)故障頁(yè)故障一般會(huì)引發(fā)般會(huì)引發(fā)OS
57、OS虛存模塊作一個(gè)頁(yè)面換入虛存模塊作一個(gè)頁(yè)面換入n可由程序自己完成,如一些算術(shù)運(yùn)算錯(cuò)誤可由程序自己完成,如一些算術(shù)運(yùn)算錯(cuò)誤 不同程序可有不同處理方法,所以很多不同程序可有不同處理方法,所以很多OSOS提供由用戶自己處提供由用戶自己處理這類中斷的理這類中斷的“綠色通道綠色通道” 系統(tǒng)調(diào)試中斷(斷點(diǎn)中斷、單步跟蹤)也可被用戶程序處理,系統(tǒng)調(diào)試中斷(斷點(diǎn)中斷、單步跟蹤)也可被用戶程序處理,用以支持各種程序調(diào)試用以支持各種程序調(diào)試典型的中斷處理典型的中斷處理( (4) ):程序性中斷程序性中斷典型的中斷處理典型的中斷處理(5):系統(tǒng)服務(wù)請(qǐng)求(自愿性中斷):系統(tǒng)服務(wù)請(qǐng)求(自愿性中斷)系統(tǒng)服務(wù)請(qǐng)求由處理器
58、專用指令(訪管指令)激發(fā)系統(tǒng)服務(wù)請(qǐng)求由處理器專用指令(訪管指令)激發(fā)n如如x86x86處理器提供處理器提供int指令,用來(lái)激發(fā)軟件中斷指令,用來(lái)激發(fā)軟件中斷n其他不少處理器則提供系統(tǒng)調(diào)用指令其他不少處理器則提供系統(tǒng)調(diào)用指令syscall 執(zhí)行專用指令的結(jié)果是系統(tǒng)被切換到管態(tài),并且轉(zhuǎn)移到執(zhí)行專用指令的結(jié)果是系統(tǒng)被切換到管態(tài),并且轉(zhuǎn)移到一段專門一段專門OS程序處開始執(zhí)行程序處開始執(zhí)行n指令格式通常是指令名加請(qǐng)求服務(wù)識(shí)別號(hào)(中斷號(hào))指令格式通常是指令名加請(qǐng)求服務(wù)識(shí)別號(hào)(中斷號(hào))nOS利用處理器提供的這種接口建立系統(tǒng)服務(wù)體系利用處理器提供的這種接口建立系統(tǒng)服務(wù)體系n處理器一般不負(fù)責(zé)定義系統(tǒng)調(diào)用所傳遞的
59、參數(shù)格式處理器一般不負(fù)責(zé)定義系統(tǒng)調(diào)用所傳遞的參數(shù)格式nDOS:21h號(hào)中斷的系統(tǒng)服務(wù)功能以及參數(shù)列表號(hào)中斷的系統(tǒng)服務(wù)功能以及參數(shù)列表 現(xiàn)代操作系統(tǒng)一般不提供直接使用系統(tǒng)調(diào)用指令的接口,通現(xiàn)代操作系統(tǒng)一般不提供直接使用系統(tǒng)調(diào)用指令的接口,通常做法:提供一套方便、實(shí)用的應(yīng)用程序函數(shù)庫(kù)(應(yīng)用程序常做法:提供一套方便、實(shí)用的應(yīng)用程序函數(shù)庫(kù)(應(yīng)用程序設(shè)計(jì)接口設(shè)計(jì)接口APIAPI)n從應(yīng)用層面重新封裝系統(tǒng)調(diào)用從應(yīng)用層面重新封裝系統(tǒng)調(diào)用n屏蔽復(fù)雜的系統(tǒng)調(diào)用傳參問題屏蔽復(fù)雜的系統(tǒng)調(diào)用傳參問題n高級(jí)語(yǔ)言接口,有助于快速開發(fā)高級(jí)語(yǔ)言接口,有助于快速開發(fā)有的系統(tǒng)在更高層面提供系統(tǒng)程序設(shè)計(jì)模板庫(kù)和類庫(kù)有的系統(tǒng)在更高層
60、面提供系統(tǒng)程序設(shè)計(jì)模板庫(kù)和類庫(kù) 如如Windows 2000/XPWindows 2000/XP提供封裝系統(tǒng)用提供封裝系統(tǒng)用Win32 APIWin32 API和高層編程機(jī)和高層編程機(jī)制制MFCMFC以及以及ATLATL Linux Linux提供封裝系統(tǒng)調(diào)用、符合提供封裝系統(tǒng)調(diào)用、符合POSIXPOSIX標(biāo)準(zhǔn)標(biāo)準(zhǔn) APIAPI和和C C運(yùn)行庫(kù)運(yùn)行庫(kù)典型的中斷處理典型的中斷處理( (6) ):系統(tǒng)服務(wù)請(qǐng)求實(shí)例系統(tǒng)服務(wù)請(qǐng)求實(shí)例設(shè)備控制器或其他設(shè)備控制器或其他系統(tǒng)硬件發(fā)出中斷系統(tǒng)硬件發(fā)出中斷處理器完成當(dāng)前指處理器完成當(dāng)前指令的執(zhí)行令的執(zhí)行處理器接受中斷處理器接受中斷處理器將處理器將PSW和和PC推入系統(tǒng)堆
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公寓代理銷售合同范本
- 冰淇淋套餐合同范本
- 出售文明公寓合同范本
- 中藥加工合同范本
- 公寓閣樓買賣合同范本
- cps推廣合同范本
- 農(nóng)戶斗雞養(yǎng)殖合同范本
- 事業(yè)物業(yè)合同范本
- 住家阿姨用工合同范本
- 與單位停車合同范例
- 新人教版四年級(jí)下冊(cè)小學(xué)數(shù)學(xué)全冊(cè)課時(shí)練(一課一練)
- 辨臟腑兼病證候
- 《酷蟲學(xué)校 第1 12冊(cè) 注音版 》讀書筆記思維導(dǎo)圖PPT模板下載
- 中華人民共和國(guó)環(huán)境保護(hù)法
- Monkey Fishes The Moon(英語(yǔ)演講ppt猴子撈月)
- 湘教版八年級(jí)地理下冊(cè)全冊(cè)教案
- 戰(zhàn)略管理徐飛版課件
- 棄渣場(chǎng)的水土保持審查與管理
- 農(nóng)業(yè)銀行境外匯款申請(qǐng)書樣板
- 馬工程《刑法學(xué)(下冊(cè))》教學(xué)課件 第22章 妨害社會(huì)管理秩序罪
- GB/T 15886-1995C型射頻同軸連接器
評(píng)論
0/150
提交評(píng)論