操作系統(tǒng)硬件基礎(chǔ)_第1頁
操作系統(tǒng)硬件基礎(chǔ)_第2頁
操作系統(tǒng)硬件基礎(chǔ)_第3頁
操作系統(tǒng)硬件基礎(chǔ)_第4頁
操作系統(tǒng)硬件基礎(chǔ)_第5頁
已閱讀5頁,還剩104頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二講第二講 計算機系統(tǒng)硬件基礎(chǔ)計算機系統(tǒng)硬件基礎(chǔ) 概述概述 中央處理器(中央處理器(CPU) 存儲系統(tǒng)存儲系統(tǒng) 中斷機制中斷機制 I/O系統(tǒng)系統(tǒng) 系統(tǒng)調(diào)用系統(tǒng)調(diào)用內(nèi)容目錄內(nèi)容目錄討論操作系統(tǒng)對運行硬件環(huán)境的要求討論操作系統(tǒng)對運行硬件環(huán)境的要求 討論討論操作系統(tǒng)設(shè)計者操作系統(tǒng)設(shè)計者考慮的硬件問題考慮的硬件問題 中央處理器(中央處理器(CPUCPU) 存儲系統(tǒng)存儲系統(tǒng) 中斷機制中斷機制 I/O系統(tǒng)系統(tǒng) 時鐘以及時鐘隊列時鐘以及時鐘隊列操作系統(tǒng)的硬件環(huán)境操作系統(tǒng)的硬件環(huán)境概述概述任何系統(tǒng)軟件都是硬件功能的延伸任何系統(tǒng)軟件都是硬件功能的延伸操作系統(tǒng)直接依賴于硬件條件操作系統(tǒng)直接依賴于硬件條件OS的硬

2、件環(huán)境的硬件環(huán)境以較分散的形式同各種管理相結(jié)合以較分散的形式同各種管理相結(jié)合 實現(xiàn)操作系統(tǒng)時必須理解的實現(xiàn)操作系統(tǒng)時必須理解的 計算機基本結(jié)構(gòu)計算機基本結(jié)構(gòu) 操作系統(tǒng)管理的重要資源操作系統(tǒng)管理的重要資源計算機系統(tǒng)的組成計算機系統(tǒng)的組成ProcCachesBussesMemoryI/O Devices:ControllersadaptersDisksDisplaysKeyboardsNetworksPentium IV Chipset計算機的系統(tǒng)結(jié)構(gòu)圖計算機的系統(tǒng)結(jié)構(gòu)圖課程導(dǎo)論課程導(dǎo)論主板中的北橋主板中的北橋/南橋芯片南橋芯片 北橋芯片北橋芯片 主板芯片組的核心芯片,也稱為主橋主板芯片組的核心芯

3、片,也稱為主橋 主要負(fù)責(zé)與主要負(fù)責(zé)與CPU的聯(lián)系,控制內(nèi)存、的聯(lián)系,控制內(nèi)存、AGP等數(shù)據(jù)傳輸?shù)葦?shù)據(jù)傳輸 計算量大、數(shù)據(jù)傳輸量大,因此放置在與計算量大、數(shù)據(jù)傳輸量大,因此放置在與CPU相近的相近的位置以保證傳輸速度和能源低耗位置以保證傳輸速度和能源低耗 南橋芯片南橋芯片 負(fù)責(zé)各類低速負(fù)責(zé)各類低速I/O總線以及總線以及I/O設(shè)備的管理設(shè)備的管理 負(fù)責(zé)控制時鐘、負(fù)責(zé)控制時鐘、BIOS、電源、鍵盤、網(wǎng)卡等各類低、電源、鍵盤、網(wǎng)卡等各類低速設(shè)備速設(shè)備 相比北橋芯片,南橋芯片工作量較小、散熱量小相比北橋芯片,南橋芯片工作量較小、散熱量小 北橋與南橋連接北橋與南橋連接 南橋芯片不與南橋芯片不與CPU直接通

4、信,通過特定的連接方式與直接通信,通過特定的連接方式與北橋芯片連通北橋芯片連通 例如例如Intel的的Hub Architecture、SIS的的MultiThreaded 概述概述 中央處理器(中央處理器(CPU) 存儲系統(tǒng)存儲系統(tǒng) 中斷機制中斷機制 I/O系統(tǒng)系統(tǒng) 系統(tǒng)調(diào)用系統(tǒng)調(diào)用內(nèi)容目錄內(nèi)容目錄課程導(dǎo)論課程導(dǎo)論CPU算術(shù)算術(shù)協(xié)處理器協(xié)處理器8KB一級高速緩存一級高速緩存80486DX結(jié)構(gòu)結(jié)構(gòu)Pentium結(jié)構(gòu)結(jié)構(gòu)CPU1算術(shù)算術(shù)協(xié)處理器協(xié)處理器16KB一級高速緩存一級高速緩存CPU2Pentium Pro結(jié)構(gòu)結(jié)構(gòu)CPU1算術(shù)算術(shù)協(xié)處理器協(xié)處理器16KB一級高速緩存一級高速緩存CPU2CP

5、U3256KB二級高速緩存二級高速緩存Pentium Pro結(jié)構(gòu)結(jié)構(gòu)CPU1算術(shù)算術(shù)協(xié)處理器協(xié)處理器32KB一級高速緩存一級高速緩存CPU2CPU3512KB二級高速緩存二級高速緩存Intel CPU的結(jié)構(gòu)框圖的結(jié)構(gòu)框圖AMD 雙核雙核 vs Intel 雙核雙核專門設(shè)計了一系列基本機制:專門設(shè)計了一系列基本機制:- - 具有特權(quán)級別的處理器狀態(tài),能在不同具有特權(quán)級別的處理器狀態(tài),能在不同特權(quán)級運行的各種特權(quán)指令特權(quán)級運行的各種特權(quán)指令- - 硬件機制使得硬件機制使得OSOS可以和普通程序隔離可以和普通程序隔離 實現(xiàn)保護和控制實現(xiàn)保護和控制中央處理器(中央處理器(CPU) CPU的構(gòu)成與基本工

6、作方式的構(gòu)成與基本工作方式 處理器由運算器、控制器、一系列的寄處理器由運算器、控制器、一系列的寄存器以及高速緩存構(gòu)成存器以及高速緩存構(gòu)成 運算器實現(xiàn)指令中的算術(shù)和邏輯運算,是運算器實現(xiàn)指令中的算術(shù)和邏輯運算,是計算機計算的核心計算機計算的核心 控制器負(fù)責(zé)控制程序運行的流程,包括取控制器負(fù)責(zé)控制程序運行的流程,包括取指令、維護指令、維護CPUCPU狀態(tài)、狀態(tài)、CPUCPU與內(nèi)存的交互等與內(nèi)存的交互等等等 寄存器是指令在寄存器是指令在CPUCPU內(nèi)部作處理的過程中暫存數(shù)據(jù)、內(nèi)部作處理的過程中暫存數(shù)據(jù)、地址以及指令信息的存儲設(shè)備地址以及指令信息的存儲設(shè)備 在計算機的存儲系統(tǒng)中它具有最快的訪問速度在計

7、算機的存儲系統(tǒng)中它具有最快的訪問速度 高速緩存處于高速緩存處于CPUCPU和物理內(nèi)存之間和物理內(nèi)存之間 一般由控制器中的內(nèi)存管理單元(一般由控制器中的內(nèi)存管理單元(MMUMMU:Memory Memory Management UnitManagement Unit)管理)管理 訪問速度快于內(nèi)存,低于寄存器訪問速度快于內(nèi)存,低于寄存器 利用程序局部性原理使得高速指令處理和低速內(nèi)存利用程序局部性原理使得高速指令處理和低速內(nèi)存訪問得以匹配,從而提高訪問得以匹配,從而提高CPUCPU的效率的效率處理器中的寄存器處理器中的寄存器 寄存器提供了一定的存儲能力寄存器提供了一定的存儲能力 速度比主存快得多速

8、度比主存快得多 造價高,容量一般都很小造價高,容量一般都很小兩類寄存器:兩類寄存器: 用戶可見寄存器,高級語言編譯器通過算法分用戶可見寄存器,高級語言編譯器通過算法分配并使用之,以減少程序訪問主存次數(shù)配并使用之,以減少程序訪問主存次數(shù) 控制和狀態(tài)寄存器,用于控制處理器的操作控制和狀態(tài)寄存器,用于控制處理器的操作 由由OS的的特權(quán)代碼使用特權(quán)代碼使用, 以控制其他程序的執(zhí)以控制其他程序的執(zhí)行行用戶可見寄存器用戶可見寄存器 機器語言直接引用機器語言直接引用 包括數(shù)據(jù)寄存器、地址寄存器以及條件碼寄存器包括數(shù)據(jù)寄存器、地址寄存器以及條件碼寄存器 數(shù)據(jù)寄存器數(shù)據(jù)寄存器(data register)又稱通

9、用寄存器又稱通用寄存器 主要用于各種算術(shù)邏輯指令和訪存指令主要用于各種算術(shù)邏輯指令和訪存指令 地址寄存器地址寄存器(address register)用于存儲數(shù)據(jù)用于存儲數(shù)據(jù)及指令的物理地址、線性地址或者有效地址,用及指令的物理地址、線性地址或者有效地址,用于某種特定方式的尋址。如于某種特定方式的尋址。如index register、segment pointer、stack pointer 條件碼寄存器保存條件碼寄存器保存CPU操作結(jié)果的各種標(biāo)記位操作結(jié)果的各種標(biāo)記位 如算術(shù)運算產(chǎn)生的溢出、符號等等如算術(shù)運算產(chǎn)生的溢出、符號等等控制和狀態(tài)寄存器控制和狀態(tài)寄存器 用于控制處理器的操作用于控制處

10、理器的操作 大部分對于用戶是不可見的大部分對于用戶是不可見的 一部分可以在某種特權(quán)模式(由一部分可以在某種特權(quán)模式(由OS使用)下訪問使用)下訪問常見的控制和狀態(tài)寄存器常見的控制和狀態(tài)寄存器: : 程序計數(shù)器程序計數(shù)器(PC:Program Counter),記錄將要取出的,記錄將要取出的指令的地址指令的地址 指令寄存器指令寄存器(IR:Instruction Register),包含最近取出,包含最近取出的指令的指令 程序狀態(tài)字程序狀態(tài)字(PSW:Program Status Word),記錄處理,記錄處理器的運行模式信息等等器的運行模式信息等等1.2、特權(quán)指令和非特權(quán)指令、特權(quán)指令和非特權(quán)

11、指令特權(quán)指令:特權(quán)指令:只能由操作系統(tǒng)使用的指令只能由操作系統(tǒng)使用的指令 使用多道程序設(shè)計技術(shù)的計算機指令系統(tǒng)必須要區(qū)使用多道程序設(shè)計技術(shù)的計算機指令系統(tǒng)必須要區(qū)分為特權(quán)指令和非特權(quán)指令分為特權(quán)指令和非特權(quán)指令 處理器通過特殊的機制將處理器狀態(tài)切換到操作系處理器通過特殊的機制將處理器狀態(tài)切換到操作系統(tǒng)運行的特權(quán)狀態(tài)(管態(tài))統(tǒng)運行的特權(quán)狀態(tài)(管態(tài)) CPUCPU如何知道當(dāng)前運行的是操作系統(tǒng)還是一般應(yīng)用如何知道當(dāng)前運行的是操作系統(tǒng)還是一般應(yīng)用軟件?有賴于處理器狀態(tài)的標(biāo)識軟件?有賴于處理器狀態(tài)的標(biāo)識1.3、處理器的狀態(tài)、處理器的狀態(tài)根據(jù)運行程序?qū)Y源和機器指令的使用權(quán)限將處理器設(shè)置根據(jù)運行程序?qū)Y源

12、和機器指令的使用權(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ài):操作系統(tǒng)管理程序運行的狀態(tài),較高的特權(quán)級別,操作系統(tǒng)管理程序運行的狀態(tài),較高的特權(quán)級別,又稱為又稱為特權(quán)態(tài)(特態(tài))、核心態(tài)、系統(tǒng)態(tài)特權(quán)態(tài)(特態(tài))、核心態(tài)、系統(tǒng)態(tài)目態(tài):目態(tài):用戶程序運行時的狀態(tài),較低的特權(quán)級別,又稱為用戶程序運行時的狀態(tài),較低的特權(quán)級別,又稱為普通態(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))三種實例:

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

14、別的程序:四個級別運行不同類別的程序: R0- -運行操作系統(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系列處理器(系列處理器(2) 在在PSW中專門設(shè)置一位,根據(jù)運行程序使用指中專門設(shè)置一位,根據(jù)運行程序

15、使用指令的權(quán)限而設(shè)置令的權(quán)限而設(shè)置CPUCPU狀態(tài)狀態(tài) CPU的工作狀態(tài)碼的工作狀態(tài)碼指明管態(tài)還是目態(tài),用來指明管態(tài)還是目態(tài),用來說明當(dāng)前在說明當(dāng)前在CPU上執(zhí)行的是操作系統(tǒng)還是一般用上執(zhí)行的是操作系統(tǒng)還是一般用戶,從而決定其是否可以使用特權(quán)指令或擁有其戶,從而決定其是否可以使用特權(quán)指令或擁有其他的特殊權(quán)力他的特殊權(quán)力 條件碼條件碼反映指令執(zhí)行后的結(jié)果特征反映指令執(zhí)行后的結(jié)果特征 中斷屏蔽碼中斷屏蔽碼指出是否允許中斷指出是否允許中斷程序狀態(tài)字程序狀態(tài)字PSW (Program Status Word )微處理器微處理器M68000的程序狀態(tài)字的程序狀態(tài)字1514131211109 8 7 6

16、5 4 3 2 1 0TSI2I1I0X N Z V C條件位:條件位:C: 進位標(biāo)志位進位標(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í)行后引起自陷中斷CF: 進位標(biāo)志位進位標(biāo)志位 ZF: 結(jié)果為零標(biāo)志位結(jié)果為零標(biāo)志位 SF: 符號標(biāo)志位符號標(biāo)志位OF: 溢出標(biāo)志位溢出標(biāo)志位標(biāo)準(zhǔn)條件位:標(biāo)準(zhǔn)條件位: TF:陷阱標(biāo)志位:

17、陷阱標(biāo)志位IF:中斷允許(中斷屏蔽)標(biāo)志位:中斷允許(中斷屏蔽)標(biāo)志位VIF:虛擬中斷標(biāo)志位:虛擬中斷標(biāo)志位VIP:虛擬中斷待決標(biāo)志位:虛擬中斷待決標(biāo)志位IOPL:IO特權(quán)級別特權(quán)級別 微處理器微處理器Pentium的程序狀態(tài)字的程序狀態(tài)字目態(tài)目態(tài)管態(tài)管態(tài) 唯一途徑唯一途徑 是是 中斷中斷管態(tài)管態(tài)目態(tài)目態(tài) 設(shè)置設(shè)置PSW(PSW(修改程序狀態(tài)字修改程序狀態(tài)字) ) 可實現(xiàn)可實現(xiàn)CPU狀態(tài)的轉(zhuǎn)換狀態(tài)的轉(zhuǎn)換 概述概述 中央處理器(中央處理器(CPU) 存儲系統(tǒng)存儲系統(tǒng) 中斷機制中斷機制 I/O系統(tǒng)系統(tǒng) 系統(tǒng)調(diào)用系統(tǒng)調(diào)用內(nèi)容目錄內(nèi)容目錄存儲系統(tǒng)存儲系統(tǒng)支持支持OS運行硬件環(huán)境的一個重要方面:運行硬件

18、環(huán)境的一個重要方面: 作業(yè)必須把它的程序和數(shù)據(jù)存放在內(nèi)存中才能運行作業(yè)必須把它的程序和數(shù)據(jù)存放在內(nèi)存中才能運行 多道程系統(tǒng)中,若干個程序和相關(guān)的數(shù)據(jù)要放入內(nèi)存多道程系統(tǒng)中,若干個程序和相關(guān)的數(shù)據(jù)要放入內(nèi)存 操作系統(tǒng)要管理、保護程序和數(shù)據(jù),使它們不至于受操作系統(tǒng)要管理、保護程序和數(shù)據(jù),使它們不至于受到破壞到破壞 操作系統(tǒng)本身也要存放在內(nèi)存中并運行操作系統(tǒng)本身也要存放在內(nèi)存中并運行 存儲器的類型存儲器的類型半導(dǎo)體存儲器半導(dǎo)體存儲器 實現(xiàn)實現(xiàn) 內(nèi)存內(nèi)存 存儲器芯片的內(nèi)部組織結(jié)構(gòu)存儲器芯片的內(nèi)部組織結(jié)構(gòu) 靜態(tài)存儲器(靜態(tài)存儲器(SRAMSRAM) 異步動態(tài)隨機存儲器(異步動態(tài)隨機存儲器(DRAMDRA

19、M) 同步動態(tài)隨機存儲器(同步動態(tài)隨機存儲器(SDRAMSDRAM)雙倍數(shù)據(jù)速率雙倍數(shù)據(jù)速率SDRAMSDRAM(DDR SDRAMDDR SDRAM)(開放標(biāo)準(zhǔn))(開放標(biāo)準(zhǔn))RambusRambus公司的公司的SDRAMSDRAM只讀型存儲器只讀型存儲器 ROM( Read-Only Memory) :只能從其中讀取數(shù)據(jù),但只能從其中讀取數(shù)據(jù),但不能隨意用普通方法寫入數(shù)據(jù)(寫入數(shù)據(jù)只能用特殊方法)不能隨意用普通方法寫入數(shù)據(jù)(寫入數(shù)據(jù)只能用特殊方法)在微機中,一些常駐內(nèi)存的模塊以微程序形式固化在在微機中,一些常駐內(nèi)存的模塊以微程序形式固化在ROM中,如中,如: :PC BIOS和和CBASIC

20、解釋程序被固化于解釋程序被固化于ROM中中 PROM:可編程只讀存儲器,使用特殊可編程只讀存儲器,使用特殊PROM寫入器寫入數(shù)據(jù)寫入器寫入數(shù)據(jù) EPROM:電可擦寫:電可擦寫可編程只讀存儲器,用特殊的紫外線光照可編程只讀存儲器,用特殊的紫外線光照射此芯片,以射此芯片,以“擦去擦去”信息,恢復(fù)原來狀態(tài),再使用特殊信息,恢復(fù)原來狀態(tài),再使用特殊EPROM寫入器寫入數(shù)據(jù)寫入器寫入數(shù)據(jù) 閃存(閃存(flash memoryflash memory)存儲器的類型存儲器的類型存儲器的層次結(jié)構(gòu)存儲器的層次結(jié)構(gòu)存儲系統(tǒng)設(shè)計三個問題:存儲系統(tǒng)設(shè)計三個問題: 容量、速度和成本容量、速度和成本 容量:需求無止境容量

21、:需求無止境 速度:能匹配處理器的速度速度:能匹配處理器的速度 成本問題:成本和其他部件相比應(yīng)在合適范圍之內(nèi)成本問題:成本和其他部件相比應(yīng)在合適范圍之內(nèi)容量、速度和成本容量、速度和成本 三個目標(biāo)不可能同時達到最優(yōu),要作權(quán)衡三個目標(biāo)不可能同時達到最優(yōu),要作權(quán)衡 存取速度快,每比特價格高存取速度快,每比特價格高 容量大,每比特價格越低,同時存取速度也越慢容量大,每比特價格越低,同時存取速度也越慢解決方案:采用層次化的存儲體系結(jié)構(gòu)解決方案:采用層次化的存儲體系結(jié)構(gòu) 當(dāng)沿著層次下降時當(dāng)沿著層次下降時 每比特的價格將下降,容量將增大每比特的價格將下降,容量將增大 速度將變慢,處理器的訪問頻率也將下降速度

22、將變慢,處理器的訪問頻率也將下降層次化的存儲體系結(jié)構(gòu)層次化的存儲體系結(jié)構(gòu)存儲訪問局部性原理存儲訪問局部性原理提高存儲系統(tǒng)效能關(guān)鍵點:程序存儲訪問局部性原理提高存儲系統(tǒng)效能關(guān)鍵點:程序存儲訪問局部性原理 程序執(zhí)行時,有很多的循環(huán)和子程序調(diào)用,一旦進入程序執(zhí)行時,有很多的循環(huán)和子程序調(diào)用,一旦進入這樣的程序段,就會重復(fù)存取相同的指令集合這樣的程序段,就會重復(fù)存取相同的指令集合 對數(shù)據(jù)存取也有局部性,在較短的時間內(nèi),穩(wěn)定地保對數(shù)據(jù)存取也有局部性,在較短的時間內(nèi),穩(wěn)定地保持在一個存儲器的局部區(qū)域持在一個存儲器的局部區(qū)域處理器主要和存儲器的局部打交道處理器主要和存儲器的局部打交道在經(jīng)過一段時間以后,使用

23、的代碼和數(shù)據(jù)集合會改變在經(jīng)過一段時間以后,使用的代碼和數(shù)據(jù)集合會改變存儲分塊存儲分塊 存儲最小單位存儲最小單位: :“二進位二進位”,包含信息為,包含信息為0 0或或1 1 最小編址單位最小編址單位: :字節(jié),一個字節(jié)包含八個二進位字節(jié),一個字節(jié)包含八個二進位主流個人電腦主流個人電腦主存主存:128MB:128MB512MB512MB之間之間輔助存儲器輔助存儲器: :在在20GB20GB70GB70GB工作站、服務(wù)器工作站、服務(wù)器主存主存:512MB :512MB 4GB4GB之間之間硬盤容量硬盤容量: :數(shù)百數(shù)百GBGB為簡化分配和管理,存儲器分成塊為簡化分配和管理,存儲器分成塊, ,稱一個

24、物理頁(稱一個物理頁(PagePage) 塊的大?。簤K的大小:512B512B、1K1K、4K4K、8K8K 對主存中的信息加以嚴(yán)格的保護,使操作系統(tǒng)及其對主存中的信息加以嚴(yán)格的保護,使操作系統(tǒng)及其他程序不被破壞,是其正確運行的基本條件之一他程序不被破壞,是其正確運行的基本條件之一多用戶,多任務(wù)操作系統(tǒng):多用戶,多任務(wù)操作系統(tǒng): OSOS給每個運行進程分配一個存儲區(qū)域給每個運行進程分配一個存儲區(qū)域問題:問題: 多個程序同時在同一臺機器上運行,怎樣才能互不多個程序同時在同一臺機器上運行,怎樣才能互不侵犯?侵犯? 如何處理重定位?如何處理重定位?存儲保護設(shè)施存儲保護設(shè)施解決方案解決方案 依賴于依賴

25、于 配有特殊硬件的配有特殊硬件的CPUCPU硬件可提供如下功能:硬件可提供如下功能: 界地址寄存器(界限寄存器)界地址寄存器(界限寄存器) 存儲鍵存儲鍵 地址轉(zhuǎn)換機制地址轉(zhuǎn)換機制保護的硬件支持保護的硬件支持界地址寄存器(界限寄存器)界地址寄存器(界限寄存器) 界地址寄存器被廣泛使用的一種存儲保護技術(shù)界地址寄存器被廣泛使用的一種存儲保護技術(shù) 機制比較簡單,易于實現(xiàn)機制比較簡單,易于實現(xiàn)實現(xiàn)方法:實現(xiàn)方法: 在在CPUCPU中設(shè)置一對下限寄存器和上限寄存器中設(shè)置一對下限寄存器和上限寄存器 存放用戶作業(yè)在主存中的下限和上限地址存放用戶作業(yè)在主存中的下限和上限地址 也可將一個寄存器作為基址寄存器,另一

26、寄存器作為限也可將一個寄存器作為基址寄存器,另一寄存器作為限長寄存器(指示存儲區(qū)長度)長寄存器(指示存儲區(qū)長度) 每當(dāng)每當(dāng)CPUCPU要訪問主存,硬件自動將被訪問的主存地址與要訪問主存,硬件自動將被訪問的主存地址與界限寄存器的內(nèi)容進行比較,以判斷是否越界界限寄存器的內(nèi)容進行比較,以判斷是否越界 如果未越界,則按此地址訪問主存,否則將產(chǎn)生程序中如果未越界,則按此地址訪問主存,否則將產(chǎn)生程序中斷斷越界中斷(存儲保護中斷)越界中斷(存儲保護中斷)界地址寄存器界地址寄存器存儲保護技術(shù)存儲保護技術(shù)存儲鍵存儲鍵 每個存儲塊有一個由二進位組成的存儲保護鍵每個存儲塊有一個由二進位組成的存儲保護鍵 一用戶作業(yè)被

27、允許進入主存,一用戶作業(yè)被允許進入主存,OSOS分給它一個唯分給它一個唯一的存儲鍵號一的存儲鍵號 并將分配給該作業(yè)各存儲塊存儲鍵也置成同樣并將分配給該作業(yè)各存儲塊存儲鍵也置成同樣鍵號鍵號 當(dāng)當(dāng)OSOS挑選該作業(yè)運行時,挑選該作業(yè)運行時,OSOS將它的存儲鍵號放將它的存儲鍵號放入程序狀態(tài)字入程序狀態(tài)字PSWPSW存儲鍵(存儲鍵(“鑰匙鑰匙”)域中)域中 每當(dāng)每當(dāng)CPUCPU訪問主存時,都將該主存塊的存儲鍵訪問主存時,都將該主存塊的存儲鍵與與PSWPSW中的中的“鑰匙鑰匙”進行比較進行比較 如果相匹配,則允許訪問,否則,拒絕并報警如果相匹配,則允許訪問,否則,拒絕并報警地址轉(zhuǎn)換機制地址轉(zhuǎn)換機制同時

28、有多個程序在內(nèi)存同時有多個程序在內(nèi)存程序在內(nèi)存的位置不是固定的而是隨機的程序在內(nèi)存的位置不是固定的而是隨機的用戶程序用戶程序A A內(nèi)存內(nèi)存用戶程序用戶程序B BCPUMMU內(nèi)存內(nèi)存磁盤磁盤控制器控制器總線總線虛擬地址虛擬地址物理地址物理地址MMU:內(nèi)存管理單元:內(nèi)存管理單元地址轉(zhuǎn)換機制地址轉(zhuǎn)換機制 虛擬地址(邏輯地址)虛擬地址(邏輯地址) 處理器生成的指令或數(shù)據(jù)的二進制地址處理器生成的指令或數(shù)據(jù)的二進制地址 這些地址用硬件和軟件結(jié)合的方法轉(zhuǎn)換成物理地址這些地址用硬件和軟件結(jié)合的方法轉(zhuǎn)換成物理地址 MMUMMU:內(nèi)存管理單元,一種特殊硬件,完成轉(zhuǎn)換工作:內(nèi)存管理單元,一種特殊硬件,完成轉(zhuǎn)換工作

29、概述概述 中央處理器(中央處理器(CPU) 存儲系統(tǒng)存儲系統(tǒng) 中斷機制中斷機制 I/O系統(tǒng)系統(tǒng) 系統(tǒng)調(diào)用系統(tǒng)調(diào)用內(nèi)容目錄內(nèi)容目錄中斷技術(shù)中斷技術(shù)中斷對于操作系統(tǒng)的重要性中斷對于操作系統(tǒng)的重要性 就像機器中的驅(qū)動齒輪一樣就像機器中的驅(qū)動齒輪一樣所以有人把操作系統(tǒng)稱為是由所以有人把操作系統(tǒng)稱為是由 “中斷驅(qū)動中斷驅(qū)動”或者或者 “(中斷)事件驅(qū)動(中斷)事件驅(qū)動” 它使得它使得OS可以捕獲用戶程序發(fā)出的系統(tǒng)功能調(diào)用可以捕獲用戶程序發(fā)出的系統(tǒng)功能調(diào)用 及時處理設(shè)備的中斷請求及時處理設(shè)備的中斷請求 防止用戶程序中破壞性的活動等等防止用戶程序中破壞性的活動等等中斷的概念中斷的概念 CPUCPU對系統(tǒng)發(fā)生

30、的某個事件作出的一種反應(yīng)對系統(tǒng)發(fā)生的某個事件作出的一種反應(yīng) CPUCPU暫停正在執(zhí)行的程序,保留現(xiàn)場后暫停正在執(zhí)行的程序,保留現(xiàn)場后自動自動轉(zhuǎn)轉(zhuǎn)去去執(zhí)行相應(yīng)事件的處理程序執(zhí)行相應(yīng)事件的處理程序,處理完成后返回,處理完成后返回斷點,繼續(xù)執(zhí)行被打斷的程序斷點,繼續(xù)執(zhí)行被打斷的程序特點:特點: 1) 1) 中斷隨機的中斷隨機的 2) 2) 中斷是可恢復(fù)的中斷是可恢復(fù)的 3) 3) 中斷是自動處理的中斷是自動處理的引入中斷的目的引入中斷的目的 解決主機與外設(shè)的并解決主機與外設(shè)的并行工作問題行工作問題 實現(xiàn)實時控制實現(xiàn)實時控制中斷中斷/ /異常:異常:指系統(tǒng)發(fā)生某個異步指系統(tǒng)發(fā)生某個異步/ /同步事件后

31、同步事件后, ,處處理機暫停正在執(zhí)行的程序理機暫停正在執(zhí)行的程序, ,轉(zhuǎn)去執(zhí)行處理該事件程轉(zhuǎn)去執(zhí)行處理該事件程序的過程序的過程中斷的引入:中斷的引入:為了開發(fā)為了開發(fā)CPUCPU和通道和通道( (或設(shè)備或設(shè)備) )之間的之間的并行操作,當(dāng)并行操作,當(dāng)CPUCPU啟動通道啟動通道( (或設(shè)備或設(shè)備) )進行輸入進行輸入/ /輸輸出后,通道便出后,通道便( (或設(shè)備或設(shè)備) )可以獨立工作了,可以獨立工作了,CPUCPU也可也可以轉(zhuǎn)去做與此次輸入以轉(zhuǎn)去做與此次輸入/ /輸出不相關(guān)的事情,那么通輸出不相關(guān)的事情,那么通道道( (或設(shè)備或設(shè)備) ) 輸入輸入/ /輸出完成后,還必須告訴輸出完成后,還必

32、須告訴CPUCPU繼繼續(xù)輸入續(xù)輸入/ /輸出以后的事情,通道輸出以后的事情,通道( (或設(shè)備或設(shè)備) )通過向通過向CPUCPU發(fā)中斷告訴發(fā)中斷告訴CPUCPU此次輸入此次輸入/ /輸出結(jié)束輸出結(jié)束異常引入:異常引入:用于表示用于表示CPUCPU執(zhí)行指令時本身出現(xiàn)算術(shù)執(zhí)行指令時本身出現(xiàn)算術(shù)溢出、零做除數(shù)、取數(shù)時的奇偶錯,訪存指令越溢出、零做除數(shù)、取數(shù)時的奇偶錯,訪存指令越界或就是執(zhí)行了一條所謂界或就是執(zhí)行了一條所謂“異常指令異常指令”(用于實(用于實現(xiàn)系統(tǒng)調(diào)用)等情況,這時中斷當(dāng)前的執(zhí)行流程現(xiàn)系統(tǒng)調(diào)用)等情況,這時中斷當(dāng)前的執(zhí)行流程,轉(zhuǎn)到相應(yīng)的錯誤處理程序或異常處理程序,轉(zhuǎn)到相應(yīng)的錯誤處理程序

33、或異常處理程序注意:注意:最早中斷和異常并沒有區(qū)分,都把它們叫最早中斷和異常并沒有區(qū)分,都把它們叫做中斷。隨著它們的發(fā)生原因和處理方式的差別做中斷。隨著它們的發(fā)生原因和處理方式的差別愈發(fā)明顯,才有了以后的中斷和異常愈發(fā)明顯,才有了以后的中斷和異常 中斷中斷( (外中斷外中斷) )異常異常( (內(nèi)中斷內(nèi)中斷) )例外例外I/OI/O中斷中斷時鐘中斷時鐘中斷系統(tǒng)調(diào)用系統(tǒng)調(diào)用缺頁異常缺頁異常斷點指令斷點指令其他程序性異常其他程序性異常( (如算術(shù)溢出等如算術(shù)溢出等) )中斷中斷( (狹義狹義) )與異常的區(qū)別與異常的區(qū)別: :中斷中斷: : 與正執(zhí)行指令無關(guān),可以屏蔽與正執(zhí)行指令無關(guān),可以屏蔽異常異

34、常: : 與正執(zhí)行指令有關(guān),不可屏蔽與正執(zhí)行指令有關(guān),不可屏蔽廣義中斷廣義中斷中斷系統(tǒng)中斷系統(tǒng)中斷系統(tǒng)是現(xiàn)代計算機系統(tǒng)的核心機制之一中斷系統(tǒng)是現(xiàn)代計算機系統(tǒng)的核心機制之一硬件和軟件相互配合、相互滲透而使得計算機系統(tǒng)得以硬件和軟件相互配合、相互滲透而使得計算機系統(tǒng)得以充分發(fā)揮能力的計算模式充分發(fā)揮能力的計算模式中斷系統(tǒng)的兩大組成部分:硬件中斷裝置和軟件中斷處中斷系統(tǒng)的兩大組成部分:硬件中斷裝置和軟件中斷處理程序理程序 中斷系統(tǒng)的硬件中斷裝置中斷系統(tǒng)的硬件中斷裝置- -中斷系統(tǒng)的機制部分中斷系統(tǒng)的機制部分 負(fù)責(zé)捕獲中斷源發(fā)出的中斷請求,以一定方式響應(yīng)負(fù)責(zé)捕獲中斷源發(fā)出的中斷請求,以一定方式響應(yīng)中斷

35、源,然后將處理器控制權(quán)交給特定的中斷處理程中斷源,然后將處理器控制權(quán)交給特定的中斷處理程序序 軟件中斷處理程序軟件中斷處理程序- -中斷系統(tǒng)的策略部分中斷系統(tǒng)的策略部分 負(fù)責(zé)辨別中斷類型并做出相應(yīng)的操作負(fù)責(zé)辨別中斷類型并做出相應(yīng)的操作中斷優(yōu)先級設(shè)計原則:中斷優(yōu)先級設(shè)計原則:一般來說,高速設(shè)備的中一般來說,高速設(shè)備的中斷優(yōu)先級高,慢速設(shè)備的中斷優(yōu)先級低。因為高斷優(yōu)先級高,慢速設(shè)備的中斷優(yōu)先級低。因為高速設(shè)備的中斷被處理機優(yōu)先響應(yīng)時,可以讓處理速設(shè)備的中斷被處理機優(yōu)先響應(yīng)時,可以讓處理機盡快地向它發(fā)出下一個機盡快地向它發(fā)出下一個I/OI/O請求,提高高速設(shè)備請求,提高高速設(shè)備的利用率的利用率處理機

36、優(yōu)先級:處理機優(yōu)先級:指出處理機正運行程序的中斷響指出處理機正運行程序的中斷響應(yīng)級別。即當(dāng)處理機處于某一優(yōu)先級時,只允許應(yīng)級別。即當(dāng)處理機處于某一優(yōu)先級時,只允許處理機去響應(yīng)比該優(yōu)先級高的中斷處理機去響應(yīng)比該優(yōu)先級高的中斷, ,而屏蔽低于或而屏蔽低于或等于該優(yōu)先級的中斷。可以通過置處理機優(yōu)先級等于該優(yōu)先級的中斷。可以通過置處理機優(yōu)先級來通知硬件:屏蔽優(yōu)先級小于等于處理機優(yōu)先級來通知硬件:屏蔽優(yōu)先級小于等于處理機優(yōu)先級的中斷的中斷中斷屏蔽:中斷屏蔽:指禁止處理機響應(yīng)中斷或禁止中斷出指禁止處理機響應(yīng)中斷或禁止中斷出現(xiàn)現(xiàn)中斷屏蔽有兩種方法中斷屏蔽有兩種方法:n 硬件實現(xiàn)硬件實現(xiàn)由軟件置處理機優(yōu)先級,

37、硬件按系由軟件置處理機優(yōu)先級,硬件按系統(tǒng)設(shè)計時的約定,屏蔽那些低優(yōu)先級中斷統(tǒng)設(shè)計時的約定,屏蔽那些低優(yōu)先級中斷n 軟件實現(xiàn)軟件實現(xiàn)由軟件按操作系統(tǒng)優(yōu)先級約定由軟件按操作系統(tǒng)優(yōu)先級約定, ,設(shè)置設(shè)置屏蔽寄存器屏蔽寄存器強迫性中斷強迫性中斷 正在運行的程序所不期望的,由于某種硬件故正在運行的程序所不期望的,由于某種硬件故障或外部請求引起的障或外部請求引起的自愿性中斷自愿性中斷 用戶在程序中有意識安排的中斷,是由于用戶用戶在程序中有意識安排的中斷,是由于用戶在編制程序時因為要求操作系統(tǒng)提供服務(wù),有在編制程序時因為要求操作系統(tǒng)提供服務(wù),有意使用意使用“訪管訪管”指令或系統(tǒng)調(diào)用,使中斷發(fā)生指令或系統(tǒng)調(diào)用

38、,使中斷發(fā)生中斷類型中斷類型強迫性中斷強迫性中斷 輸入輸入/ /輸出輸出(I/O)(I/O)中斷:主要來自外部設(shè)備通中斷:主要來自外部設(shè)備通道道 程序性中斷:運行程序中本身的中斷程序性中斷:運行程序中本身的中斷( (如溢出如溢出, ,缺頁中斷缺頁中斷, ,缺段中斷缺段中斷, ,地址越界地址越界) ) 時鐘中斷時鐘中斷 控制臺中斷控制臺中斷 硬件故障硬件故障中斷類型中斷類型自愿性中斷自愿性中斷 執(zhí)行執(zhí)行I/OI/O,創(chuàng)建進程,分配內(nèi)存,創(chuàng)建進程,分配內(nèi)存 信號量操作,發(fā)送信號量操作,發(fā)送/ /接收消息接收消息中斷類型中斷類型微機中的中斷微機中的中斷1.1.可屏蔽中斷(可屏蔽中斷(IOIO中斷)中

39、斷)2.2.不可屏蔽中斷(機器內(nèi)部故障、掉電中斷)不可屏蔽中斷(機器內(nèi)部故障、掉電中斷)3.3.程序錯誤中斷(溢出、除法錯等中斷)程序錯誤中斷(溢出、除法錯等中斷)4.4.軟件中斷(軟件中斷(TrapTrap指令或中斷指令指令或中斷指令I(lǐng)NTINT)IBM370中的中斷中的中斷1. 1. 機器故障中斷:如電源故障,機器電路檢驗錯等機器故障中斷:如電源故障,機器電路檢驗錯等2. 2. 輸入輸出中斷:輸入輸出設(shè)備和通道數(shù)據(jù)傳輸狀態(tài))輸入輸出中斷:輸入輸出設(shè)備和通道數(shù)據(jù)傳輸狀態(tài))3. 3. 外部中斷:時鐘中斷,操作員控制臺中斷,多機系統(tǒng)外部中斷:時鐘中斷,操作員控制臺中斷,多機系統(tǒng)中其他機器的通信要

40、求中斷,各種外設(shè)或傳感器發(fā)來的中其他機器的通信要求中斷,各種外設(shè)或傳感器發(fā)來的實時中斷等實時中斷等4. 4. 程序中斷:程序中的問題引起的中斷,如錯誤地使用程序中斷:程序中的問題引起的中斷,如錯誤地使用指令或數(shù)據(jù)、溢出等問題,存儲保護等指令或數(shù)據(jù)、溢出等問題,存儲保護等5. 5. 訪管中斷:訪管指令或陷阱指令(訪管中斷:訪管指令或陷阱指令(TrapTrap指令)中的操指令)中的操作數(shù)規(guī)定了要求服務(wù)的類型。每當(dāng)作數(shù)規(guī)定了要求服務(wù)的類型。每當(dāng)CPUCPU執(zhí)行訪管指令或執(zhí)行訪管指令或陷阱指令時,即引起中斷并調(diào)用操作系統(tǒng)相應(yīng)的功能模陷阱指令時,即引起中斷并調(diào)用操作系統(tǒng)相應(yīng)的功能模塊為其服務(wù)塊為其服務(wù)C

41、PUCPU如何響應(yīng)中斷如何響應(yīng)中斷, , 兩個問題:兩個問題: CPUCPU何時響應(yīng)中斷?何時響應(yīng)中斷? 通常在通常在CPUCPU執(zhí)行了一條指令以后,更確切執(zhí)行了一條指令以后,更確切地,在指令周期最后時刻接受中斷請求,地,在指令周期最后時刻接受中斷請求,或此時掃描中斷寄存器或此時掃描中斷寄存器 如何知道提出中斷請求的設(shè)備或中斷源?如何知道提出中斷請求的設(shè)備或中斷源? 因為只有知道中斷源或中斷設(shè)備,才能因為只有知道中斷源或中斷設(shè)備,才能調(diào)用相應(yīng)的中斷處理程序調(diào)用相應(yīng)的中斷處理程序中斷響應(yīng)中斷響應(yīng)處理器如何發(fā)現(xiàn)中斷信號?處理器如何發(fā)現(xiàn)中斷信號? 處理器的控制部件中設(shè)一個能檢測中斷的機構(gòu)處理器的控制

42、部件中設(shè)一個能檢測中斷的機構(gòu) 稱為中斷掃描機構(gòu)稱為中斷掃描機構(gòu) 在每條指令執(zhí)行周期的最后時刻掃描中斷寄存器,在每條指令執(zhí)行周期的最后時刻掃描中斷寄存器,詢問是否有中斷信號詢問是否有中斷信號 若無中斷信號,繼續(xù)執(zhí)行下一條指令若無中斷信號,繼續(xù)執(zhí)行下一條指令 若有中斷,中斷硬件將該中斷觸發(fā)器內(nèi)容按規(guī)定編若有中斷,中斷硬件將該中斷觸發(fā)器內(nèi)容按規(guī)定編碼送入碼送入PSWPSW的相應(yīng)位,稱為中斷碼的相應(yīng)位,稱為中斷碼 通過交換中斷向量引出中斷處理程序通過交換中斷向量引出中斷處理程序中斷響應(yīng)中斷響應(yīng) 中斷向量:中斷向量:一個存放中斷處理程序入口地址和程一個存放中斷處理程序入口地址和程序運行所需處理機狀態(tài)字的

43、內(nèi)存單元序運行所需處理機狀態(tài)字的內(nèi)存單元硬件按中斷號、異常類型的不同通過中斷向量表硬件按中斷號、異常類型的不同通過中斷向量表轉(zhuǎn)移轉(zhuǎn)移中斷向量表中斷向量表在有的機器中:在有的機器中:將主存最低位將主存最低位128128個字保留作為中斷向量表,每個字保留作為中斷向量表,每個中斷向量占兩個字個中斷向量占兩個字中斷請求的設(shè)備接口為了標(biāo)識自己,向處理器發(fā)中斷請求的設(shè)備接口為了標(biāo)識自己,向處理器發(fā)送一個該設(shè)備在中斷向量表中表目的地址指針?biāo)鸵粋€該設(shè)備在中斷向量表中表目的地址指針中斷響應(yīng)中斷響應(yīng)典型的中斷處理(典型的中斷處理(1 1):):I/O中斷中斷由由I/OI/O設(shè)備的控制器或者通道發(fā)出設(shè)備的控制器或者

44、通道發(fā)出兩類兩類I/OI/O中斷:中斷: I/OI/O操作正常結(jié)束操作正常結(jié)束如果要繼續(xù)如果要繼續(xù)I/OI/O操作,需要在準(zhǔn)備好以后重新啟動操作,需要在準(zhǔn)備好以后重新啟動I/OI/O,若請求若請求I/OI/O程序正處于等待程序正處于等待I/OI/O狀態(tài),則應(yīng)將其喚醒狀態(tài),則應(yīng)將其喚醒 I/OI/O異常異常需要重新執(zhí)行失敗的需要重新執(zhí)行失敗的I/OI/O操作操作重試次數(shù)有上限,次數(shù)過大,系統(tǒng)將判定硬件故障重試次數(shù)有上限,次數(shù)過大,系統(tǒng)將判定硬件故障系統(tǒng)多道能力的重要推動力量,時鐘中斷處理程序通常系統(tǒng)多道能力的重要推動力量,時鐘中斷處理程序通常做與系統(tǒng)運轉(zhuǎn)、管理和維護相關(guān)的工作,包括:做與系統(tǒng)運轉(zhuǎn)

45、、管理和維護相關(guān)的工作,包括: 維護軟件時鐘:系統(tǒng)有若干個軟件時鐘,控制定時任維護軟件時鐘:系統(tǒng)有若干個軟件時鐘,控制定時任務(wù)以及進程的處理器時間配額,時鐘中斷需要維護、務(wù)以及進程的處理器時間配額,時鐘中斷需要維護、定時更新這些軟件時鐘定時更新這些軟件時鐘 處理器時間調(diào)度:維護當(dāng)前進程時間片軟件時鐘,并處理器時間調(diào)度:維護當(dāng)前進程時間片軟件時鐘,并在當(dāng)前進程時間片到時以后運行調(diào)度程序選擇下一個在當(dāng)前進程時間片到時以后運行調(diào)度程序選擇下一個被調(diào)度的進程被調(diào)度的進程 控制系統(tǒng)定時任務(wù):通過軟件時鐘和調(diào)度程序定時激控制系統(tǒng)定時任務(wù):通過軟件時鐘和調(diào)度程序定時激活一些系統(tǒng)任務(wù),如監(jiān)測死鎖、系統(tǒng)記帳、系

46、統(tǒng)審計活一些系統(tǒng)任務(wù),如監(jiān)測死鎖、系統(tǒng)記帳、系統(tǒng)審計等等 實時處理實時處理典型的中斷處理典型的中斷處理(2):時鐘中斷時鐘中斷 硬件故障中斷處理程序一般需要做的工作:硬件故障中斷處理程序一般需要做的工作: 保存現(xiàn)場,使用一定警告手段,提供些輔助診斷信息保存現(xiàn)場,使用一定警告手段,提供些輔助診斷信息 在高可靠系統(tǒng)中,中斷處理程序還要評估系統(tǒng)可用性,盡可能在高可靠系統(tǒng)中,中斷處理程序還要評估系統(tǒng)可用性,盡可能恢復(fù)系統(tǒng)恢復(fù)系統(tǒng)如如Windows 2000/XPWindows 2000/XP,關(guān)鍵硬件發(fā)生故障時,如顯示卡損壞,出,關(guān)鍵硬件發(fā)生故障時,如顯示卡損壞,出現(xiàn)系統(tǒng)藍屏,系統(tǒng)實際上進入相應(yīng)故障處

47、理程序,發(fā)現(xiàn)故障不現(xiàn)系統(tǒng)藍屏,系統(tǒng)實際上進入相應(yīng)故障處理程序,發(fā)現(xiàn)故障不可恢復(fù),則在屏幕上打印出發(fā)生故障時程序位置,并開始進行可恢復(fù),則在屏幕上打印出發(fā)生故障時程序位置,并開始進行內(nèi)存轉(zhuǎn)儲(將一定范圍的內(nèi)存內(nèi)容寫上磁盤,是系統(tǒng)故障時的內(nèi)存轉(zhuǎn)儲(將一定范圍的內(nèi)存內(nèi)容寫上磁盤,是系統(tǒng)故障時的全系統(tǒng)全系統(tǒng)“快照快照”),備日后故障診斷),備日后故障診斷典型的中斷處理(典型的中斷處理(3):硬件故障中斷硬件故障中斷程序指令出錯、指令越權(quán)或者指令尋址越界而引發(fā)程序指令出錯、指令越權(quán)或者指令尋址越界而引發(fā)兩類處理方法:兩類處理方法: 只能由操作系統(tǒng)的相關(guān)擴展功能模塊完成只能由操作系統(tǒng)的相關(guān)擴展功能模塊完成

48、 多為程序試圖作不能做的操作引起的系統(tǒng)保護多為程序試圖作不能做的操作引起的系統(tǒng)保護 如訪問合法的、但不在內(nèi)存虛地址內(nèi),引發(fā)頁故障頁故障一如訪問合法的、但不在內(nèi)存虛地址內(nèi),引發(fā)頁故障頁故障一般會引發(fā)般會引發(fā)OSOS虛存模塊作一個頁面換入虛存模塊作一個頁面換入 可由程序自己完成,如一些算術(shù)運算錯誤可由程序自己完成,如一些算術(shù)運算錯誤 不同程序可有不同處理方法,所以很多不同程序可有不同處理方法,所以很多OSOS提供由用戶自己處提供由用戶自己處理這類中斷的理這類中斷的“綠色通道綠色通道” 系統(tǒng)調(diào)試中斷(斷點中斷、單步跟蹤)也可被用戶程序處理,系統(tǒng)調(diào)試中斷(斷點中斷、單步跟蹤)也可被用戶程序處理,用以支

49、持各種程序調(diào)試用以支持各種程序調(diào)試典型的中斷處理典型的中斷處理( (4) ):程序性中斷程序性中斷系統(tǒng)服務(wù)請求由處理器專用指令(訪管指令)激發(fā)系統(tǒng)服務(wù)請求由處理器專用指令(訪管指令)激發(fā) 如如x86x86處理器提供處理器提供int指令,用來激發(fā)軟件中斷指令,用來激發(fā)軟件中斷 其他不少處理器則提供系統(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í)行 指令格式通常是指令名加請求服務(wù)識別號(中斷號)指令格式通常是指令名加請求服務(wù)識別號(中斷號) OS

50、利用處理器提供的這種接口建立系統(tǒng)服務(wù)體系利用處理器提供的這種接口建立系統(tǒng)服務(wù)體系 處理器一般不負(fù)責(zé)定義系統(tǒng)調(diào)用所傳遞的參數(shù)格式處理器一般不負(fù)責(zé)定義系統(tǒng)調(diào)用所傳遞的參數(shù)格式典型的中斷處理典型的中斷處理(5):系統(tǒng)服務(wù)請求(自愿性中斷):系統(tǒng)服務(wù)請求(自愿性中斷) DOS:21h號中斷的系統(tǒng)服務(wù)功能以及參數(shù)列表號中斷的系統(tǒng)服務(wù)功能以及參數(shù)列表 現(xiàn)代操作系統(tǒng)一般不提供直接使用系統(tǒng)調(diào)用指令的接口,通現(xiàn)代操作系統(tǒng)一般不提供直接使用系統(tǒng)調(diào)用指令的接口,通常做法:提供一套方便、實用的應(yīng)用程序函數(shù)庫(應(yīng)用程序常做法:提供一套方便、實用的應(yīng)用程序函數(shù)庫(應(yīng)用程序設(shè)計接口設(shè)計接口APIAPI)從應(yīng)用層面重新封裝系

51、統(tǒng)調(diào)用從應(yīng)用層面重新封裝系統(tǒng)調(diào)用屏蔽復(fù)雜的系統(tǒng)調(diào)用傳參問題屏蔽復(fù)雜的系統(tǒng)調(diào)用傳參問題高級語言接口,有助于快速開發(fā)高級語言接口,有助于快速開發(fā)有的系統(tǒng)在更高層面提供系統(tǒng)程序設(shè)計模板庫和類庫有的系統(tǒng)在更高層面提供系統(tǒng)程序設(shè)計模板庫和類庫 如如Windows 2000/XPWindows 2000/XP提供封裝系統(tǒng)用提供封裝系統(tǒng)用Win32 APIWin32 API和高層編程機和高層編程機制制MFCMFC以及以及ATLATL Linux Linux提供封裝系統(tǒng)調(diào)用、符合提供封裝系統(tǒng)調(diào)用、符合POSIXPOSIX標(biāo)準(zhǔn)標(biāo)準(zhǔn) APIAPI和和C C運行庫運行庫典型的中斷處理典型的中斷處理( (6) ):系

52、統(tǒng)服務(wù)請求實系統(tǒng)服務(wù)請求實例例設(shè)備控制器或其他設(shè)備控制器或其他系統(tǒng)硬件發(fā)出中斷系統(tǒng)硬件發(fā)出中斷處理器完成當(dāng)前指處理器完成當(dāng)前指令的執(zhí)行令的執(zhí)行處理器接受中斷處理器接受中斷處理器將處理器將PSW和和PC推入系統(tǒng)堆棧推入系統(tǒng)堆棧處理器根據(jù)中斷類處理器根據(jù)中斷類型讀入新的型讀入新的PC值值中斷系統(tǒng)硬件完成的工作中斷系統(tǒng)硬件完成的工作保存進程狀態(tài)的其保存進程狀態(tài)的其余信息余信息進程中斷進程中斷恢復(fù)進程狀態(tài)信息恢復(fù)進程狀態(tài)信息從系統(tǒng)堆棧恢復(fù)原從系統(tǒng)堆?;謴?fù)原PSW和和PC中斷系統(tǒng)軟件完成的工作中斷系統(tǒng)軟件完成的工作 概述概述 中央處理器(中央處理器(CPU) 存儲系統(tǒng)存儲系統(tǒng) 中斷機制中斷機制 I/O系

53、統(tǒng)系統(tǒng) 系統(tǒng)調(diào)用系統(tǒng)調(diào)用內(nèi)容目錄內(nèi)容目錄I/O技術(shù)技術(shù)I/O控制使用下面幾種技術(shù):控制使用下面幾種技術(shù): 程序控制程序控制 中斷驅(qū)動中斷驅(qū)動 直接存儲器存取直接存儲器存?。―MA) 通道通道由處理器提供由處理器提供I/OI/O相關(guān)指令來實現(xiàn)相關(guān)指令來實現(xiàn) I/O處理單元處理請求并設(shè)置處理單元處理請求并設(shè)置I/O狀態(tài)寄存器相關(guān)位狀態(tài)寄存器相關(guān)位 不中斷處理器,也不給處理器警告信息不中斷處理器,也不給處理器警告信息 處理器定期輪詢處理器定期輪詢I/O單元的狀態(tài),直到處理完畢單元的狀態(tài),直到處理完畢I/O軟件包含直接操縱軟件包含直接操縱I/O的指令的指令 控制指令控制指令: : 用于激活外設(shè),并告訴

54、它做什么用于激活外設(shè),并告訴它做什么 狀態(tài)指令狀態(tài)指令: : 用于測試用于測試I/OI/O控制中的各種狀態(tài)和條件控制中的各種狀態(tài)和條件 數(shù)據(jù)傳送指令數(shù)據(jù)傳送指令: : 用于在設(shè)備和主存之間來回傳送數(shù)據(jù)用于在設(shè)備和主存之間來回傳送數(shù)據(jù)主要缺陷:處理器必須關(guān)注主要缺陷:處理器必須關(guān)注I/OI/O處理單元的狀態(tài),因而耗費大處理單元的狀態(tài),因而耗費大量時間輪詢信息,嚴(yán)重地降低了系統(tǒng)性能量時間輪詢信息,嚴(yán)重地降低了系統(tǒng)性能程序控制程序控制I/O技術(shù)技術(shù)中斷驅(qū)動中斷驅(qū)動I/O技術(shù)技術(shù)為了解決程序控制為了解決程序控制I/O方法的主要問題方法的主要問題 應(yīng)該讓處理器從輪詢?nèi)蝿?wù)中解放出來應(yīng)該讓處理器從輪詢?nèi)蝿?wù)中

55、解放出來 使使I/O操作和指令執(zhí)行并行起來操作和指令執(zhí)行并行起來具體作法:具體作法: 當(dāng)當(dāng)I/O處理單元準(zhǔn)備好與設(shè)備交互的時候處理單元準(zhǔn)備好與設(shè)備交互的時候 通過物理信號通知處理器,即中斷處理器通過物理信號通知處理器,即中斷處理器DMA技術(shù)(技術(shù)(1)中斷的引入大大地提高了處理器處理中斷的引入大大地提高了處理器處理I/O的的效率效率當(dāng)處理器和當(dāng)處理器和I/O間間傳送數(shù)據(jù)時,效率仍舊不高傳送數(shù)據(jù)時,效率仍舊不高解決方法:解決方法:直接存儲器訪問直接存儲器訪問(DMA:Direct Memory Access) 通過系統(tǒng)總線中一獨立控制單元通過系統(tǒng)總線中一獨立控制單元DMA控制控制器器 自動控制成

56、塊數(shù)據(jù)在內(nèi)存和自動控制成塊數(shù)據(jù)在內(nèi)存和I/O單元間的傳送單元間的傳送 大大提高處理大大提高處理I/O的效能的效能DMA技術(shù)技術(shù)(2)當(dāng)處理器需要讀寫一整塊數(shù)據(jù)時當(dāng)處理器需要讀寫一整塊數(shù)據(jù)時給給DMA控制單元發(fā)送一條命令控制單元發(fā)送一條命令包含:是否請求一次讀或?qū)?,包含:是否請求一次讀或?qū)懀琁/O設(shè)備的編址,開設(shè)備的編址,開始讀或?qū)懙闹鞔婢幹?,需要傳送的?shù)據(jù)長度等信始讀或?qū)懙闹鞔婢幹?,需要傳送的?shù)據(jù)長度等信息息 處理器發(fā)送完命令后就可處理其他事情處理器發(fā)送完命令后就可處理其他事情 DMADMA控制器將自動管理數(shù)據(jù)的傳送控制器將自動管理數(shù)據(jù)的傳送 當(dāng)這個過程完成后,它會給處理器發(fā)一個中斷當(dāng)這個過程

57、完成后,它會給處理器發(fā)一個中斷處理器只在開始傳送和傳送結(jié)束時關(guān)注一下就可處理器只在開始傳送和傳送結(jié)束時關(guān)注一下就可 處理器和處理器和DMA傳送不完全并行傳送不完全并行 有時會有總線競爭的情況發(fā)生有時會有總線競爭的情況發(fā)生 處理器用總線時可能稍作等待處理器用總線時可能稍作等待 不會引起中斷不會引起中斷 不引起程序上下文的保存不引起程序上下文的保存 通常過程只有一個總線周期通常過程只有一個總線周期 在在DMA傳送傳送時,處理器訪問總線速度會變慢時,處理器訪問總線速度會變慢 對于大量數(shù)據(jù)對于大量數(shù)據(jù)I/O傳送,傳送,DMA技術(shù)是很有價值技術(shù)是很有價值DMA技術(shù)技術(shù)(3)獨立于中央處理器,專門負(fù)責(zé)數(shù)據(jù)

58、獨立于中央處理器,專門負(fù)責(zé)數(shù)據(jù)I/O傳輸傳輸?shù)牡奶幚頇C處理機它對外設(shè)實現(xiàn)統(tǒng)一管理它對外設(shè)實現(xiàn)統(tǒng)一管理代替代替CPU對對I/O操作進行控制操作進行控制使使CPU和和外設(shè)可以并行工作外設(shè)可以并行工作通道又稱為通道又稱為I/O處理機處理機引入通道的目的引入通道的目的: : 為了使為了使CPU從從I/O事務(wù)中解脫出來事務(wù)中解脫出來 同時為了提高同時為了提高CPU與設(shè)備、設(shè)備與設(shè)備之間的并行度與設(shè)備、設(shè)備與設(shè)備之間的并行度通道通道時鐘時鐘時鐘為計算機完成以下必不可少的工作:時鐘為計算機完成以下必不可少的工作: 在多道程序運行環(huán)境中,為系統(tǒng)發(fā)現(xiàn)陷入死循環(huán)(編程錯誤)在多道程序運行環(huán)境中,為系統(tǒng)發(fā)現(xiàn)陷入死循

59、環(huán)(編程錯誤)的作業(yè),防止機時的浪費的作業(yè),防止機時的浪費 在分時系統(tǒng)中,間隔時鐘實現(xiàn)作業(yè)間按時間片輪轉(zhuǎn)在分時系統(tǒng)中,間隔時鐘實現(xiàn)作業(yè)間按時間片輪轉(zhuǎn) 在實時系統(tǒng)中,按要求的間隔輸出正確時間信號給實時的控在實時系統(tǒng)中,按要求的間隔輸出正確時間信號給實時的控制設(shè)備(如制設(shè)備(如AD、D/A轉(zhuǎn)換設(shè)備)轉(zhuǎn)換設(shè)備) 定時喚醒要求延遲執(zhí)行的各外部事件(如定時為各進程計算定時喚醒要求延遲執(zhí)行的各外部事件(如定時為各進程計算優(yōu)先數(shù),銀行中定時運行某類結(jié)賬程序等)優(yōu)先數(shù),銀行中定時運行某類結(jié)賬程序等) 記錄用戶使用設(shè)備時間和記錄某外部事件發(fā)生時間記錄用戶使用設(shè)備時間和記錄某外部事件發(fā)生時間 記錄用戶和系統(tǒng)所需要

60、的絕對時間,即年、月、日記錄用戶和系統(tǒng)所需要的絕對時間,即年、月、日 時鐘是操作系統(tǒng)運行的必不可少的硬件設(shè)施時鐘是操作系統(tǒng)運行的必不可少的硬件設(shè)施 時鐘,實際上都是硬件時鐘寄存器,按時鐘電路所產(chǎn)生的脈時鐘,實際上都是硬件時鐘寄存器,按時鐘電路所產(chǎn)生的脈沖數(shù)對時鐘寄存器進行加沖數(shù)對時鐘寄存器進行加1 1或減或減1 1的工作的工作 絕對時鐘:記錄當(dāng)時時間(年、月、日、時、分、秒)絕對時鐘:記錄當(dāng)時時間(年、月、日、時、分、秒) 一般來說,絕對時鐘準(zhǔn)確,當(dāng)停機時,絕對時鐘值仍然自動一般來說,絕對時鐘準(zhǔn)確,當(dāng)停機時,絕對時鐘值仍然自動修改修改 間隔時鐘間隔時鐘( (相對時鐘相對時鐘) ):通過時鐘寄存

溫馨提示

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

評論

0/150

提交評論