版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章處理器管理知識要點掌握處理器狀態(tài)中斷技術進程及其實現(xiàn)線程及其實現(xiàn)處理器調度了解Linux進程Linux調度算法2.1處理器狀態(tài)
處理器程序狀態(tài)字2.1.1處理器
1.寄存器(1)計算機系統(tǒng)的處理器包括一組寄存器,其個數(shù)根據(jù)機型的不同而不同,它們構成了一級存儲,比主存容量小,但訪問速度快。這組寄存器所存儲的信息與程序的執(zhí)行有很大關系,構成了處理器現(xiàn)場。1.寄存器(2)通用寄存器--EAX,EBX,ECX和EDX指針及變址寄存器--ESP,EBP,ESI及EDI段選擇符寄存器--CS、DS、SS、ES、FS、GS指令指針寄存器和標志寄存器--EIP、EFLAGS控制寄存器--CR0,CR1,CR2和CR3外部設備使用的寄存器2.指令系統(tǒng)(1)每臺計算機機器指令的集合稱指令系統(tǒng),它反映了一臺機器的功能和處理能力,可以分為以下五類:數(shù)據(jù)處理類指令:用于執(zhí)行算術和邏輯運算。
I/O類指令:用于啟動外圍設備,讓主存和設備交換數(shù)據(jù)。
寄存器數(shù)據(jù)交換類指令:用于在處理器的寄存器和存儲器之間交換數(shù)據(jù)。轉移類指令:用于改變執(zhí)行指令序列。處理器控制指令:修改處理器狀態(tài),改變處理器工作方式。2.指令系統(tǒng)(2)在單道程序系統(tǒng)中,用戶程序可以直接使用CPU指令啟動I/O設備,進行I/O操作。問題是:在多道程序系統(tǒng)中,這種模式可不可行?3.特權指令與非特權指令從資源管理和控制程序執(zhí)行的角度出發(fā),把指令系統(tǒng)中的指令分作兩部分:特權指令和非特權指令。特權指令是指只能提供給操作系統(tǒng)的核心程序使用的指令,如啟動I/O設備、設置時鐘、控制中斷屏蔽位、清主存、建立存儲鍵,加載PSW等。4.內核態(tài)和用戶態(tài)處理器怎么知道當前是操作系統(tǒng)還是一般用戶程序在運行呢?處理器狀態(tài)標志:管理狀態(tài)(核心狀態(tài)、特態(tài)或管態(tài))和用戶狀態(tài)(目標狀態(tài)、常態(tài)或目態(tài))。處理器狀態(tài)的轉換。處理器處于管理狀態(tài)時,程序可以執(zhí)行全部指令,使用所有資源,具有改變處只能執(zhí)行非特權指令。Intelx86的處理器狀態(tài)有四理器狀態(tài)的能力;處理器處于用戶狀態(tài)時,程序種,支持4個保護級別,0級權限最高,3級權限最低。5.處理器狀態(tài)及其轉換下列情況導致處理器從用戶態(tài)向內核態(tài)轉換程序請求操作系統(tǒng)服務,執(zhí)行系統(tǒng)調用;程序運行時,產生中斷或異常事件,運行程序被中斷,轉向中斷處理或異常處理程序工作。兩類情況都通過中斷機制發(fā)生,中斷和異常是用戶態(tài)到內核態(tài)轉換僅有的途徑。從內核態(tài)轉向用戶態(tài),計算機提供一條特權指令稱作加載程序狀態(tài)字(Intelx86為iret指令),用來實現(xiàn)從系統(tǒng)(核心態(tài))返回到用戶態(tài),控制權交給應用進程。管態(tài)和目態(tài)的切換6.用戶棧和核心棧
用戶棧:用戶進程空間中開辟的區(qū)域,用于保存應用程序的子程序(函數(shù))間相互調用的參數(shù)、返回值、返回點以及子程序的局部變量。
核心棧:操作系統(tǒng)空間的一塊區(qū)域,用于保存中斷現(xiàn)場和操作系統(tǒng)程序(函數(shù))間相互調用的參數(shù)、返回值、返回點以及程序局部變量。
棧指針:為硬件棧指針,用戶棧和核心棧共用一個棧指針。2.1.2程序狀態(tài)字(1)計算機如何知道當前處于何種工作狀態(tài)?這時能否執(zhí)行特權指令?通常操作系統(tǒng)都引入程序狀態(tài)字PSW(ProgramStatusWord)來區(qū)別不同的處理器工作狀態(tài)。PSW用來控制指令執(zhí)行順序并保留和指示與程序有關的系統(tǒng)狀態(tài),主要作用是實現(xiàn)程序狀態(tài)的保護和恢復。每個程序都有一個與其執(zhí)行相關的PSW,每個處理器都設置一個PSW寄存器。程序占有處理器執(zhí)行,它的PSW將占有PSW寄存器。程序狀態(tài)字寄存器(2)PSW寄存器包括以下內容:程序基本狀態(tài):
(1)程序計數(shù)器;
(2)條件碼;
(3)處理器狀態(tài)位。中斷碼。保存程序執(zhí)行時當前發(fā)生的中斷事件。中斷屏蔽位。指明程序執(zhí)行中發(fā)生中斷事件時,是否響應出現(xiàn)的中斷事件。Intelx86程序狀態(tài)字Intelx86中,PSW由標志寄存器EFLAGS和指令指針寄存器EIP組成,均為32位。EFLAGS的低16位稱FLAGS,標志可劃分為三組:狀態(tài)標志、控制標志、系統(tǒng)標志。微處理器Intel80386的程序狀態(tài)字其中:IF:中斷允許標記
IOPL:I/O特權級,用來表示I/O操作 所處特權級。
00:0級 01:1級
10:2級 11:3級
0~2級:管態(tài)3級:目態(tài)Pentium的處理器狀態(tài)Pentium的處理器狀態(tài)有四種,支持4個保護級別,0級權限最高,3級權限最低。一種典型的應用是把4個保護級別依次設定為:0級為操作系統(tǒng)內核級。處理I/O、存儲管理、和其他關鍵操作。1級為系統(tǒng)調用處理程序級。用戶程序可以通過調用這里的過程執(zhí)行系統(tǒng)調用,但是只有一些特定的和受保護的過程可以被調用。2級為共享庫過程級。它可以被很多正在運行的程序共享,用戶程序可以調用這些過程,讀取它們的數(shù)據(jù),但是不能修改它們。3級為用戶程序級。它受到的保護最少。各個操作系統(tǒng)在實現(xiàn)過程中可以根據(jù)具體策略有選擇地使用硬件提供的保護級別,如運行在Pentium上的Windows操作系統(tǒng)只使用了0級和3級。微處理器M68000的程序狀態(tài)字條件位:C:進位標志位 V:溢出標志位Z:結果為零標志位 N:結果為負標志位I0–I2:三位中斷屏蔽位S:CPU狀態(tài)標志位,為1處于管態(tài),為0處于目態(tài)T:陷阱(Trap)中斷指示位為1,在下一條指令執(zhí)行后引起自陷中斷2.2中斷技術中斷概念中斷源分類中斷和異常的響應及服務中斷事件處理原則中斷優(yōu)先級和多重中斷Linux中斷處理(自學)2.2.1中斷概念系統(tǒng)處理以下情況時,需要打斷處理器正常工作:請求系統(tǒng)服務,實現(xiàn)并行工作,處理突發(fā)事件,滿足實時要求,為此,提出了中斷概念。中斷定義中斷是指程序執(zhí)行過程中,遇到急需處理的事件時,暫時中止CPU上現(xiàn)行程序的運行,轉去執(zhí)行相應的事件處理程序,待處理完成后再返回原程序被中斷處或調度其他程序執(zhí)行的過程。中斷系統(tǒng)的概念中斷系統(tǒng)是實現(xiàn)中斷功能的部件,包括中斷裝置和中斷處理程序。中斷裝置:指發(fā)現(xiàn)中斷,響應中斷的硬件。發(fā)現(xiàn)中斷源,提出中斷請求。保護現(xiàn)場啟動處理中斷事件的程序。
中斷處理程序:由軟件來完成。主要任務是處理中斷事件和恢復正常操作。2.2.2中斷源分類外中斷(中斷或異步中斷)指來自處理器之外的中斷信號,包括時鐘中斷、鍵盤中斷和設備中斷等;又分可屏蔽中斷和不可屏蔽中斷,每個不同中斷具有不同的中斷優(yōu)先級,表示事件的緊急程度,在處理高一級中斷時,往往會屏蔽部分或全部低級中斷。內中斷(異?;蛲街袛?指來自處理器內部,通常由于程序執(zhí)行中,發(fā)現(xiàn)與當前指令關聯(lián)的、不正常的、或是錯誤的事件。中斷和異常的區(qū)別(1)
(1)中斷是由與現(xiàn)行指令無關的中斷信號觸發(fā)的(異步的),且中斷的發(fā)生與CPU處在用戶模式或內核模式無關,在兩條機器指令之間才可響應中斷,一般來說,中斷處理程序提供的服務不是為當前進程所需的;異常是由處理器正在執(zhí)行現(xiàn)行指令而引起的,一條指令執(zhí)行期間允許響應異常,異常處理程序提供的服務是為當前進程所用的。異常包括很多方面,有出錯(fault),也有陷入(trap)等。中斷和異常的區(qū)別(2)
(2)要求“中斷”被快速處理,以便及時響應其它中斷信號,所以,中斷處理程序處理過程中是不能阻塞的?!爱惓!碧幱诒淮驍嗟漠斍斑M程上下文中,所提供的服務是當前進程所需要的,所以,異常處理程序處理過程中是可以阻塞的。(3)中斷允許發(fā)生嵌套,但異常大多為一重;異常處理過程中可能會產生中斷,但中斷處理過程中決不會被異常打斷。2.2.3中斷和異常的響應及服務發(fā)現(xiàn)中斷源;保護現(xiàn)場;轉向處理中斷/異常事件的處理程序;恢復現(xiàn)場。
IBMPC機中斷響應過程
IPCSPSW現(xiàn)行PSW
寄存器新IP新CS老IP老CS老PSW新棧頂內存新PSW2.2.4時鐘中斷(1)時鐘是操作系統(tǒng)進行調度工作的重要工具如讓分時進程作時間片輪轉讓實時進程定時發(fā)出或接收控制信號系統(tǒng)定時喚醒或阻塞一個進程對用戶進程進行記賬。時鐘可分成絕對時鐘和間隔時鐘兩種。2.2.4時鐘中斷(2)Linux系統(tǒng)運行不同的間隔定時器,類型有三種:real間隔定時器-按實際經過時間計時,不管進程處在何種模式下運行,包括進程被掛起時,計時總在進行,定時到達時發(fā)送給進程一個SIGALRM信號。virtual間隔定時器-進程在用戶態(tài)下執(zhí)行時才計時,定時到達時發(fā)送給進程一個SIGVTALRM信號。profile間隔定時器-進程執(zhí)行在用戶態(tài)或核心態(tài)時都計時,當定時到達時發(fā)送給進程一個SIGROF信號。2.2.5中斷優(yōu)先級和多重中斷1.中斷優(yōu)先級2.中斷屏蔽3.多重中斷事件的處理
計算機執(zhí)行的每一瞬間,可能有幾個中斷事件同時發(fā)生,中斷裝置如何來響應同時發(fā)生的中斷呢?
以不發(fā)生中斷丟失為前提,把緊迫程度相當?shù)闹袛嘣礆w在同一級,緊迫程度差別大的中斷源歸在不同級,級別高的有優(yōu)先獲得響應的權力,中斷裝置預定的這個響應順序稱為中斷優(yōu)先級。1.中斷優(yōu)先級2.中斷屏蔽在CPU上運行的程序,有時由于種種原因,不希望其在執(zhí)行過程中被別的事件所中斷??删幊讨袛嗫刂破?,可通過指令設置屏蔽碼。中斷屏蔽是指禁止CPU響應中斷或禁止中斷產生。前者指硬件產生中斷請求后,CPU暫時不予響應的狀態(tài)。后者指可引起中斷的事件發(fā)生時,硬件不允許提出中斷請求也不通知處理器,故不可能導致中斷。中斷屏蔽的作用延遲或禁止某些中斷的響應。系統(tǒng)程序執(zhí)行過程中,不希望產生干擾事件,以免共享數(shù)據(jù)結構受到破壞。程序運行過程中產生某些事件認為是正常的,不必加以處理。協(xié)調中斷響應與中斷處理的關系。確保高優(yōu)先級中斷可以打斷低優(yōu)先級中斷,反之卻不能。防止同級中斷相互干擾。在處理某優(yōu)先級中斷事件時,必須屏蔽該級中斷,以免造成混亂。3.多重中斷事件的處理中斷正在進行處理期間,CPU又響應新的中斷事件,于是暫時停止正在運行的中斷處理程序,轉去執(zhí)行新的中斷處理程序,就叫多重中斷(又稱中斷嵌套)。對同一優(yōu)先級的不同中斷:采用順序處理方法。對不同優(yōu)先級的中斷,采用以下處理方法:(1)串行處理(2)嵌套處理(3)即時處理4.中斷向量(1)Intelx86機器支持256種中斷信號,從0到255編號組成“中斷向量”。中斷信號源分2類:中斷和異常。中斷分為屏蔽中斷和非屏蔽中斷;異常分為故障(fault)、陷阱(trap)、終止(abort)和編程異常(programmedexception)。Linux中斷向量(2)
非屏蔽中斷和異常的向量是固定的,而屏蔽中斷的向量可通過對中斷控制器編程加以改變。256個中斷向量分配如下:1)0~31的向量對應于異常和非屏蔽中斷;2)32~47的向量對應于屏蔽中斷,被外部設備使用;3)48~255的向量分配給軟中斷。Intelx86處理器中斷向量表中斷請求每個能發(fā)送中斷信號的硬件設備控制器都有一根輸出線,它與中斷控制器8259A的輸入引腳相連,若一個硬件設備欲向CPU發(fā)送中斷信號,必須申請一條可用的“中斷請求線”,或者說必須申請一個IRQ號,這就是“中斷請求”IRQ(InterruptRequirement)。IRQ號與中斷向量號的對應關系。8259A中斷控制器INTAINTRCPUIRQ15IRQ14IRQ13IRQ12IRQ11IRQ10IRQ9IR0INTAIR1INTIR2IR3IR4IR5IR6IR7IRQ8IRQ4IRQ6IRQ5IRQ1IRQ0IRQ7IRQ3IR0INTAIR1INTIR2IR3IR4IR5IR6IR78259A主片8259A從片5.中斷處理過程簡單的中斷處理-典型的處理過程:(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學水電安全管理制度范文(2篇)
- 2025年基層衛(wèi)生院醫(yī)務工作計劃樣本(4篇)
- 應急事故救援預案學習模版(2篇)
- 現(xiàn)場實施工程師的崗位職責范文(2篇)
- 危險品貨物運輸行車管理制度(2篇)
- 教師教學工作常規(guī)管理制度模版(3篇)
- 2025年安保個人年度工作總結模版(2篇)
- 2025年除四害工作計劃范例(3篇)
- 2025年員工培訓總結模版(3篇)
- 競賽的各種活動方案(2篇)
- 2024午托承包合同-校園內學生午休服務協(xié)議3篇
- 馬克思主義基本原理+2024秋+試題 答案 國開
- 蘇州大學《線性代數(shù)與解析幾何》2023-2024學年第一學期期末試卷
- 《地震災害及其防治》課件
- 2024年版電商平臺入駐商家服務與銷售分成合同
- 蜜雪冰城合同范例
- 小紅書種草營銷師(初級)認證考試真題試題庫(含答案)
- LPG液化氣充裝站介質分析操作規(guī)程 202412
- 養(yǎng)老院環(huán)境衛(wèi)生保潔方案
- 2024年WPS計算機二級考試題庫350題(含答案)
- 2024年5G網絡覆蓋工程分包合同
評論
0/150
提交評論