操作系統(tǒng)講義 07 第二章 處理機(jī)管理(2.2中斷技術(shù) )學(xué)習(xí)資料_第1頁(yè)
操作系統(tǒng)講義 07 第二章 處理機(jī)管理(2.2中斷技術(shù) )學(xué)習(xí)資料_第2頁(yè)
操作系統(tǒng)講義 07 第二章 處理機(jī)管理(2.2中斷技術(shù) )學(xué)習(xí)資料_第3頁(yè)
操作系統(tǒng)講義 07 第二章 處理機(jī)管理(2.2中斷技術(shù) )學(xué)習(xí)資料_第4頁(yè)
操作系統(tǒng)講義 07 第二章 處理機(jī)管理(2.2中斷技術(shù) )學(xué)習(xí)資料_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

2025/4/1812.2 中斷技術(shù)

主要內(nèi)容:2.2.1中斷概念2.2.2中斷源分類2.2.3中斷和異常的響應(yīng)及服務(wù)2.2.4中斷事件處理2.2.5中斷優(yōu)先級(jí)和多重中斷2025/4/1822.2.1中斷的概念目的:請(qǐng)求系統(tǒng)服務(wù),實(shí)現(xiàn)并行工作,處理突發(fā)事件,滿足實(shí)時(shí)要求,都需要打斷處理器正常的工作過(guò)程:中斷是指程序執(zhí)行過(guò)程中,當(dāng)發(fā)生某個(gè)事件時(shí),中止CPU上現(xiàn)行程序的運(yùn)行,引出處理該事件的程序執(zhí)行的過(guò)程實(shí)現(xiàn)方式:在提供中斷裝置的計(jì)算機(jī)系統(tǒng)中,在每?jī)蓷l指令之間或某些特殊指令執(zhí)行期間都檢查是否有中斷事件發(fā)生,若無(wú)則立即執(zhí)行下一條或繼續(xù)執(zhí)行,否則響應(yīng)該事件并轉(zhuǎn)去處理中斷事件

中斷的概念(續(xù))中斷源是引起中斷的事件中斷裝置是發(fā)現(xiàn)中斷源并產(chǎn)生中斷的硬件中斷機(jī)制的共性:當(dāng)中斷事件發(fā)生后,它能改變處理器內(nèi)操作執(zhí)行的順序可見(jiàn)中斷是現(xiàn)代操作系統(tǒng)實(shí)現(xiàn)并發(fā)性的基礎(chǔ)之一2025/4/183中斷的概念(續(xù))中斷的作用主機(jī)與外部設(shè)備并行工作實(shí)現(xiàn)實(shí)時(shí)處理硬件故障處理實(shí)現(xiàn)多道程序和分時(shí)操作2025/4/1842025/4/1852.2.2中斷源分類1、按中斷事件的性質(zhì)和激活方式劃分自愿性中斷強(qiáng)迫性中斷2、中斷事件的來(lái)源和實(shí)現(xiàn)手段劃分硬中斷軟中斷2025/4/186自愿性中斷事件自愿性中斷事件是正在運(yùn)行的程序所期待的事件比如請(qǐng)求分配外設(shè)請(qǐng)求I/O這種事件是由于執(zhí)行了一條訪管指令而引起的,它表示正在運(yùn)行的程序?qū)Σ僮飨到y(tǒng)有某種需求,一旦機(jī)器執(zhí)行到一條訪管指令時(shí),便自愿停止現(xiàn)行程序的執(zhí)行而轉(zhuǎn)入訪管中斷處理程序處理強(qiáng)迫性中斷事件強(qiáng)迫性中斷事件不是正在運(yùn)行的程序所期待的,而是由于隨機(jī)發(fā)生的某種事故或外部請(qǐng)求信息所引起的這類中斷事件大致有:機(jī)器故障中斷事件:如電源故障、主存儲(chǔ)器出錯(cuò)等程序性中斷事件(異常):定點(diǎn)溢出、除數(shù)為0、地址越界等外部中斷事件:如時(shí)鐘的定時(shí)中斷、控制臺(tái)發(fā)控制信息等輸入輸出中斷事件:如設(shè)備出錯(cuò)、傳輸結(jié)束等2025/4/1872025/4/188中斷源分類(續(xù))運(yùn)行程序中斷處理程序中斷裝置中斷處理程序中斷裝置機(jī)器故障中斷事件程序性中斷事件外部中斷事件輸入輸出中斷事件運(yùn)行程序訪管指令兩類中斷事件

硬中斷硬中斷外中斷內(nèi)中斷2025/4/1892025/4/1810外中斷外中斷(又稱中斷)指來(lái)自處理器和主存之外的中斷外中斷包括:電源故障中斷時(shí)鐘中斷控制臺(tái)中斷它機(jī)中斷I/O中斷等不同的中斷具有不同的中斷優(yōu)先級(jí),處理高一級(jí)中斷時(shí),往往會(huì)屏蔽部分或全部低級(jí)中斷內(nèi)中斷內(nèi)中斷(又稱異常)指來(lái)自處理器和主存內(nèi)部的中斷通常是由程序執(zhí)行過(guò)程中,發(fā)現(xiàn)與當(dāng)前指令關(guān)聯(lián)的、不正常的或錯(cuò)誤的事件異常(內(nèi)中斷)是不能被屏蔽的,一旦出現(xiàn)應(yīng)立即響應(yīng)并加以處理2025/4/1811內(nèi)中斷(續(xù))內(nèi)中斷通常分為三類:訪管中斷:系統(tǒng)調(diào)用硬件故障中斷:協(xié)處理器錯(cuò)誤奇偶校驗(yàn)錯(cuò)總線超時(shí)程序性異常:非法操作碼地址越界頁(yè)面失效調(diào)試指令除數(shù)為0浮點(diǎn)溢出2025/4/18122025/4/1813中斷和異常的區(qū)別中斷和異常的區(qū)別如下:中斷是由與現(xiàn)行指令無(wú)關(guān)的中斷信號(hào)觸發(fā)的(異步的)系統(tǒng)不能確定中斷事件的發(fā)生時(shí)間中斷與CPU是異步的CPU對(duì)中斷的響應(yīng)完全是被動(dòng)的中斷的發(fā)生于CPU模式無(wú)關(guān)通常在兩條指令之間才能響應(yīng)中斷通常中斷處理程序所提供的服務(wù)不是當(dāng)前進(jìn)程所需要的時(shí)鐘中斷硬盤中斷2025/4/1814中斷和異常的區(qū)別中斷和異常的區(qū)別如下(續(xù)):異常是由處理器控制單元產(chǎn)生,源于現(xiàn)行程序執(zhí)行指令過(guò)程中檢測(cè)到例外異常與CPU是同步的一條指令執(zhí)行期間允許響應(yīng)異常,而且允許多次響應(yīng)異常大部分異常發(fā)生在用戶態(tài)異常處理程序提供的服務(wù)是為當(dāng)前進(jìn)程所用的異常處理過(guò)程中可能會(huì)產(chǎn)生中斷,但中斷處理過(guò)程中不會(huì)產(chǎn)生異常異常包括很多方面,比如在Linux中,分為四類:故障(fault)陷阱(trap)終止(Abort)編程異常(Programmedexception)2025/4/1815中斷和異常的區(qū)別Linux中使用的部分異常除法溢出錯(cuò):0號(hào),故障(fault)調(diào)試異常:1號(hào),故障或陷阱斷點(diǎn)中斷:3號(hào),陷阱算術(shù)溢出:4號(hào),陷阱邊界異常:5號(hào),故障無(wú)效操作:6號(hào),故障設(shè)備不可用:7號(hào),故障雙異常:8號(hào),故障協(xié)處理器段溢出:9號(hào),故障任務(wù)狀態(tài)段異常:10號(hào),故障段不存在:11號(hào),故障堆棧溢出:12號(hào),故障一般性保護(hù):13號(hào),故障頁(yè)故障:14號(hào),故障浮點(diǎn)數(shù)錯(cuò):16號(hào),故障邊界異常:17號(hào),故障各種異常的區(qū)別編程異常用于實(shí)現(xiàn)系統(tǒng)調(diào)用故障是指程序運(yùn)行中系統(tǒng)捕獲的潛在不可恢復(fù)的錯(cuò)誤頁(yè)面故障終止是指致命的不可恢復(fù)的錯(cuò)誤主存芯片發(fā)生奇偶校驗(yàn)錯(cuò)誤通常不會(huì)返回原來(lái)的程序而轉(zhuǎn)向內(nèi)核例程有時(shí)甚至需要重新啟動(dòng)計(jì)算機(jī)系統(tǒng)陷阱是在執(zhí)行特定的調(diào)試指令時(shí)觸發(fā)的被調(diào)試的進(jìn)程遇到所設(shè)置的斷點(diǎn)時(shí)會(huì)暫停等待2025/4/1816中斷源分類(續(xù))IBM中大型機(jī)操作系統(tǒng)使用了上述第一種分類方法Intelx86機(jī)上則采用了上述第二種分類方法2025/4/1817軟中斷軟中斷:不必由硬件發(fā)信號(hào)而能引發(fā)的中斷稱軟中斷軟中斷是利用硬件中斷的概念,用軟件方式進(jìn)行模擬,實(shí)現(xiàn)宏觀上的異步執(zhí)行效果2025/4/1818軟中斷(續(xù))軟中斷信號(hào):信號(hào)的發(fā)送者相當(dāng)于中斷源,信號(hào)的接收者是另一個(gè)進(jìn)程軟件中斷Linux中bottomhalfWindows中由內(nèi)核發(fā)出的Dispatch/DPC和APC等中斷2025/4/1819硬中斷與軟中斷的類比中斷用于外部設(shè)備對(duì)CPU的中斷,轉(zhuǎn)向中斷處理程序執(zhí)行異常因指令執(zhí)行不正確而中斷,轉(zhuǎn)向異常處理程序執(zhí)行信號(hào)用于內(nèi)核或進(jìn)程對(duì)某個(gè)進(jìn)程的重點(diǎn),向進(jìn)程同時(shí)某個(gè)特定事件發(fā)生或迫使進(jìn)程執(zhí)行信號(hào)處理程序2025/4/1820中斷機(jī)制與信號(hào)機(jī)制的類比相同之處:兩者在概念上是一致的兩者都是異步的兩者在實(shí)現(xiàn)上均采用“向量表”兩者均有“屏蔽”設(shè)施不同之處:前者由硬件和軟件結(jié)合來(lái)實(shí)現(xiàn)后者則完全靠軟件來(lái)實(shí)現(xiàn)中斷向量表和中斷處理程序均位于系統(tǒng)空間信號(hào)處理程序往往由應(yīng)用程序提供,并在用戶空間執(zhí)行2025/4/18212025/4/18222.2.3中斷和異常的響應(yīng)及服務(wù)中斷裝置:發(fā)現(xiàn)中斷源并產(chǎn)生中斷的硬件,這些硬件包括中斷邏輯線路中斷寄存器所有計(jì)算機(jī)系統(tǒng)都采用硬件和軟件(硬件中斷裝置和軟件中斷處理程序)結(jié)合的方法實(shí)現(xiàn)中斷處理2025/4/1823中斷和異常的響應(yīng)及服務(wù)(續(xù))無(wú)論任何中斷CPU的響應(yīng)過(guò)程基本上是一致的:執(zhí)行完當(dāng)前指令或者是執(zhí)行當(dāng)前指令的中途根據(jù)中斷源所提供的“中斷向量”,找到相應(yīng)服務(wù)程序的入口地址并調(diào)用此服務(wù)程序中斷向量由硬件或操作系統(tǒng)內(nèi)核預(yù)先分配和設(shè)置系統(tǒng)調(diào)用所對(duì)用的向量在訪管指令中給出各種異常的向量在CPU的硬件結(jié)構(gòu)中預(yù)先規(guī)定2025/4/1824中斷和異常的響應(yīng)及服務(wù)(續(xù))CPU如何區(qū)分中斷和異常:對(duì)于中斷,指令執(zhí)行結(jié)束后CPU會(huì)檢查中斷寄存器是否有中斷事件發(fā)生若無(wú)或者中斷被屏蔽,繼續(xù)執(zhí)行程序的后續(xù)指令若有則暫停當(dāng)前程序的執(zhí)行,轉(zhuǎn)向內(nèi)核的中斷處理程序?qū)τ诋惓?,它是在?zhí)行指令時(shí)由指令本身發(fā)生的,指令的實(shí)現(xiàn)或執(zhí)行邏輯一旦發(fā)生異常情況,立即轉(zhuǎn)向內(nèi)核的異常處理程序中斷和異常的響應(yīng)及服務(wù)(續(xù))中斷/異常的響應(yīng)需要做四件事發(fā)現(xiàn)中斷源,響應(yīng)中斷請(qǐng)求保護(hù)現(xiàn)場(chǎng)將運(yùn)行程序中斷點(diǎn)在處理器中某些寄存器內(nèi)的現(xiàn)場(chǎng)信息(又稱運(yùn)行程序的執(zhí)行上下文)存放于內(nèi)存儲(chǔ)器啟動(dòng)處理中斷事件的程序恢復(fù)現(xiàn)場(chǎng)2025/4/18252025/4/1826中斷和異常的響應(yīng)及服務(wù)(續(xù))中斷寄存器用來(lái)記錄中斷事件,中斷寄存器的內(nèi)容稱中斷字,中斷字的每一位對(duì)應(yīng)一個(gè)中斷事件。每當(dāng)一條機(jī)器指令執(zhí)行結(jié)束的時(shí)刻,中斷控制部件掃描中斷字,查看是否有中斷事件發(fā)生,若有則處理器便響應(yīng)這個(gè)中斷請(qǐng)求中斷發(fā)生后,中斷字的相應(yīng)位會(huì)被置位。由于同一時(shí)刻可能有多個(gè)中斷事件發(fā)生,中斷裝置將根據(jù)中斷屏蔽要求和中斷優(yōu)先級(jí)選取一個(gè),然后把中斷寄存器的內(nèi)容送入程序狀態(tài)字寄存器的中斷碼字段,且把中斷寄存器相應(yīng)位清“0”

中斷和異常的響應(yīng)及服務(wù)(續(xù))被中斷的程序的程序狀態(tài)字稱為舊程序狀態(tài)字,中斷處理程序的程序狀態(tài)字稱為新程序狀態(tài)字,如何實(shí)現(xiàn)新舊程序狀態(tài)字的交換?通常,系統(tǒng)為每一種中斷都開(kāi)辟了主存的固定單元存放新的和舊的程序狀態(tài)字2025/4/18272025/4/1828在IBMPC機(jī)上,通常在計(jì)算機(jī)內(nèi)存的低地址處開(kāi)辟了一個(gè)稱為中斷向量表的區(qū)域,表中每一項(xiàng)稱為一個(gè)中斷向量,其中存放了一個(gè)中斷處理程序的入口地址及相關(guān)信息當(dāng)發(fā)現(xiàn)中斷源并響應(yīng)中斷時(shí),中斷裝置將把先行PSW內(nèi)容壓進(jìn)堆棧,接著再把指令指針I(yè)P和代碼段基地址內(nèi)容也壓入堆棧,這樣就保存了原運(yùn)行程序的狀態(tài)處理器根據(jù)硬件中斷裝置提供的中斷向量號(hào),獲得被接受的中斷請(qǐng)求的中斷向量地址,再按照中斷向量地址把中斷處理程序的PSW送入現(xiàn)行程序狀態(tài)字寄存器,加載新的程序狀態(tài)字返回原程序時(shí),把棧頂內(nèi)容送入現(xiàn)行IP、CS和PSW中

中斷和異常的響應(yīng)及服務(wù)(續(xù))2025/4/1829外中斷舊PSW訪管中斷舊PSW程序中斷舊PSW機(jī)器故障中斷舊PSWI/O中斷舊PSW外中斷新PSW訪管中斷新PSW程序中斷新PSW機(jī)器故障中斷新PSWI/O中斷新PSW18202830385860687078現(xiàn)行PSW②中斷時(shí)保存舊的PSW③中斷時(shí)裝入新的PSW④中斷后恢復(fù)PSW主存專用雙字單元(16進(jìn)制)①裝配中斷碼IBM中大型機(jī)中斷響應(yīng)過(guò)程2025/4/1830IPCSPSW現(xiàn)行PSW寄存器新IP新CS老IP老CS老PSW新棧頂主存新PSW中斷向量表中斷堆棧IBMPC機(jī)中斷的響應(yīng)過(guò)程2025/4/18312.2.4中斷事件處理1.中斷和異常的一般處理過(guò)程2.硬件故障中斷3.程序性中斷4.I/O中斷5.訪管中斷6.時(shí)鐘中斷中斷和異常的一般處理過(guò)程內(nèi)核處理所有中斷的大致過(guò)程:

設(shè)備發(fā)出中斷請(qǐng)求時(shí),中斷信號(hào)由設(shè)備發(fā)送到中斷控制器中斷控制器將IRQ號(hào)轉(zhuǎn)換成中斷向量號(hào)并傳送給CPUCPU響應(yīng)中斷后,自動(dòng)保護(hù)現(xiàn)場(chǎng),開(kāi)始執(zhí)行中斷處理程序進(jìn)入中斷公共代碼段對(duì)中斷控制器進(jìn)行確認(rèn),設(shè)置中斷源狀態(tài)等調(diào)用服務(wù)程序執(zhí)行相關(guān)的中斷處理任務(wù)恢復(fù)發(fā)生中斷之前的現(xiàn)場(chǎng)2025/4/1832中斷和異常的一般處理過(guò)程(續(xù))內(nèi)核處理所有異常的大致過(guò)程:

當(dāng)前進(jìn)程執(zhí)行指令產(chǎn)生異常進(jìn)入異常處理程序并執(zhí)行之從異常處理程序返回有些異常的處理很復(fù)雜頁(yè)面故障異常2025/4/1833中斷和異常的一般處理過(guò)程(續(xù))中斷和異常的處理過(guò)程大致一樣,但是:產(chǎn)生異常時(shí),硬件并不清除中斷標(biāo)志位,此時(shí)還允許外部硬件中斷產(chǎn)生中斷時(shí),硬件將立即清除中斷標(biāo)志位,以禁止其他硬件中斷2025/4/18342025/4/1835硬件故障中斷硬件故障中斷事件的處理

這種事件是由硬件故障產(chǎn)生的,排除故障須進(jìn)行人工干預(yù)中斷處理能做的工作是:保護(hù)現(xiàn)場(chǎng)防止故障蔓延報(bào)告給操作員并提供故障信息以便維修和校正對(duì)程序中所造成的破壞進(jìn)行估價(jià)和恢復(fù)程序性中斷程序性中斷事件的處理應(yīng)用程序的錯(cuò)誤一般有以下幾類:語(yǔ)法錯(cuò)誤,可由編譯程序發(fā)現(xiàn)并報(bào)錯(cuò)邏輯錯(cuò)誤,可由測(cè)試程序發(fā)現(xiàn)并報(bào)錯(cuò)程序運(yùn)行過(guò)程中所產(chǎn)生的異常定點(diǎn)溢出階碼下溢除數(shù)為零2025/4/18362025/4/1837I/O中斷I/O中斷處理原則:

I/O操作正常結(jié)束I/O操作發(fā)生故障I/O操作發(fā)生異常設(shè)備報(bào)到或設(shè)備結(jié)束2025/4/1838訪管中斷訪管中斷是由程序執(zhí)行訪管指令引起的:

表示當(dāng)前運(yùn)行程序?qū)Σ僮飨到y(tǒng)功能的調(diào)用可看作是機(jī)器指令的一種擴(kuò)充包括操作碼和訪管參數(shù)兩部分操作碼表示此指令為訪管指令訪管參數(shù)表示具體的訪管要求2025/4/1839訪管中斷(續(xù))訪管中斷的大致處理原則:

程序執(zhí)行訪管指令,并通過(guò)適當(dāng)方式指名系統(tǒng)調(diào)用號(hào)通過(guò)中斷機(jī)制進(jìn)入訪管中斷處理程序,現(xiàn)場(chǎng)保護(hù)到核心棧通過(guò)系統(tǒng)調(diào)用入口表找到相應(yīng)功能服務(wù)程序的入口地址執(zhí)行相應(yīng)的服務(wù)程序,正常情況下載結(jié)束后返回系統(tǒng)調(diào)用的下一條指令繼續(xù)執(zhí)行時(shí)鐘中斷時(shí)鐘是操作系統(tǒng)進(jìn)行調(diào)度工作的重要工具:維護(hù)系統(tǒng)的絕對(duì)日期和時(shí)間分時(shí)進(jìn)程按時(shí)間片輪轉(zhuǎn)實(shí)時(shí)進(jìn)程定時(shí)發(fā)送或接收控制信號(hào)系統(tǒng)定時(shí)喚醒或阻塞進(jìn)程對(duì)用戶進(jìn)程記帳測(cè)量系統(tǒng)性能等利用定時(shí)器能夠確保操作系統(tǒng)在必要時(shí)獲得控制權(quán)陷入死循環(huán)的進(jìn)程最終會(huì)因時(shí)間片耗盡而被迫讓出處理器2025/4/1840時(shí)鐘中斷時(shí)鐘可以分為絕對(duì)時(shí)鐘系統(tǒng)設(shè)置絕對(duì)時(shí)鐘寄存器,定時(shí)地把該寄存器的內(nèi)容加1。如果開(kāi)始時(shí)這個(gè)寄存器的內(nèi)容為0,那么,只要操作員告訴系統(tǒng)開(kāi)機(jī)時(shí)的年、月、日、時(shí)、分、秒,以后就可推算出當(dāng)前的年、月、日、時(shí)、分、秒計(jì)算當(dāng)前時(shí)間時(shí),只要按時(shí)鐘中斷的次數(shù)和絕對(duì)時(shí)鐘寄存器的內(nèi)容推算就可得到間隔時(shí)鐘間隔時(shí)鐘是定時(shí)將一個(gè)間隔時(shí)鐘寄存器的內(nèi)容減1,當(dāng)間隔時(shí)鐘寄存器的內(nèi)容為0時(shí),產(chǎn)生一個(gè)間隔時(shí)鐘中斷,起到鬧鐘的作用,意味著預(yù)定的時(shí)間到了。操作系統(tǒng)經(jīng)常利用間隔時(shí)鐘作控制調(diào)度2025/4/18412025/4/1842時(shí)鐘中斷(續(xù))在Intel

x86/Pentium微機(jī)中,Linux利用CMOS中記錄的時(shí)間作為系統(tǒng)啟動(dòng)時(shí)的基準(zhǔn)時(shí)間Linux系統(tǒng)時(shí)間的測(cè)量基準(zhǔn)是jiffies(瞬時(shí))(一個(gè)全局變量)。系統(tǒng)啟動(dòng)時(shí),CMOS中記錄的時(shí)間轉(zhuǎn)化從1970年1月1日0時(shí)0分0秒(UNIX紀(jì)元)算起的jiffies值(累積秒數(shù))時(shí)鐘中斷(續(xù))Linux中兩種類型系統(tǒng)定時(shí)器:老的定時(shí)器機(jī)制和新的定時(shí)器機(jī)制,兩種定時(shí)器都有對(duì)應(yīng)的處理例程,必須在到達(dá)給定的系統(tǒng)時(shí)間時(shí)被進(jìn)程調(diào)用?老的定時(shí)器機(jī)制:有一個(gè)32個(gè)指針的數(shù)組定義的定時(shí)器。每個(gè)指針指向一個(gè)timer-struct結(jié)構(gòu),timer-active是活動(dòng)定時(shí)器掩碼?新的定時(shí)器機(jī)制:突破了32個(gè)定時(shí)器的限制,使用一個(gè)timer-list數(shù)據(jù)結(jié)構(gòu)的鏈表,按定時(shí)器到期時(shí)間的升序排列2025/4/18432025/4/1844時(shí)鐘中斷(續(xù))兩類定時(shí)器中expires給出該定時(shí)器被激活的時(shí)間,*fn()指出定時(shí)器被激活后的處理函數(shù)。兩類定時(shí)器都使用jiffies值作為到期比較時(shí)間。例如,某個(gè)定時(shí)器要在2s之后到期,則必須將2s轉(zhuǎn)換成對(duì)應(yīng)的jiffies值,加上當(dāng)前的系統(tǒng)時(shí)間(也是以jiffies為單位)后,得到的便是該定時(shí)器到期的系統(tǒng)時(shí)間expires

定時(shí)器bottom

half處理過(guò)程處理兩種類型的系統(tǒng)定時(shí)器。對(duì)于老的系統(tǒng)定時(shí)器,檢查timer-active中被置位的位掩碼,以便確定活動(dòng)的定時(shí)器。如果一個(gè)活動(dòng)的定時(shí)器到期,便調(diào)用對(duì)應(yīng)的定時(shí)器例程,timer-active對(duì)應(yīng)位被清除。對(duì)于新的系統(tǒng)定時(shí)器,檢查鏈表中的timer-list數(shù)據(jù)結(jié)構(gòu),每個(gè)到期的定時(shí)器將被從鏈表中移出,對(duì)應(yīng)的定時(shí)器例程被調(diào)用2.2.5中斷優(yōu)先級(jí)和多重中斷1.中斷的優(yōu)先級(jí)中斷是隨機(jī)發(fā)生的,在計(jì)算機(jī)的每一瞬間,都可能有多個(gè)中斷事件發(fā)生中斷裝置如何響應(yīng)這些同時(shí)發(fā)生的中斷哪?通常設(shè)置中斷優(yōu)先級(jí)緊迫程度相當(dāng)?shù)臍w為同一級(jí)別緊迫程度差別大的歸為不同級(jí)別2025/4/1845中斷的優(yōu)先級(jí)(續(xù))中斷優(yōu)先級(jí):按中斷請(qǐng)求的輕重緩急的程度預(yù)定的順序稱為中斷的優(yōu)先級(jí)優(yōu)先順序原則:根據(jù)某個(gè)中斷源或中斷級(jí)若得不到及時(shí)響應(yīng),造成計(jì)算機(jī)出錯(cuò)的嚴(yán)重性程度來(lái)定中斷的優(yōu)先級(jí)是預(yù)先排定的中斷優(yōu)先級(jí)的實(shí)現(xiàn)由軟硬件結(jié)合:硬件:根據(jù)排定的優(yōu)先次序做一個(gè)硬件鏈?zhǔn)脚哦ㄆ鳎?dāng)有高一級(jí)的中斷事件產(chǎn)生時(shí),封住比它優(yōu)先級(jí)低的所有中斷源軟件:編寫一個(gè)查詢程序,依據(jù)優(yōu)先級(jí)次序自高到低進(jìn)行查詢2025/4/1846中斷的優(yōu)先級(jí)(續(xù))設(shè)置優(yōu)先級(jí)的重要性:如果系統(tǒng)正在處理某優(yōu)先級(jí)的中斷服務(wù)程序更高優(yōu)先級(jí)的中斷可以打斷當(dāng)前的中斷比如機(jī)器故障中斷優(yōu)先級(jí)最高設(shè)備中斷事件優(yōu)先級(jí)可以降低同樣是設(shè)備,高速設(shè)備的優(yōu)先級(jí)高于低速設(shè)備的優(yōu)先級(jí)2025/4

溫馨提示

  • 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)論