三、windows的保護模式及中斷機制
1.windows的保護模式
保護模式指的是線性位址由乙個選擇符間接生成的,該選擇符指向描述表中的某一項;而實模式中則通過乙個段/偏移量對來直接定址。80386(486) cpu提儀的保護模式能力包括乙個64k的虛擬位址空間和乙個4g的段尺寸。windows3.1實現時有所差別,它支援標準模式和增強模式。標準模式針對286,不周本文**範圍。增強模式是對386以上cpu而言,windows正是使用保護模式來打破lm的屏障並且執行簡單的記憶體保護。它使用選擇器、描述器和描述器表控制訪問指定記憶體的位置和段。描述器表包括全域性描述器表區域性描述器表、中斷描述器表。保護模式與實模式有許多不同。其中顯著的差異是訪問記憶體的機制不同。
2.中斷機制
(1)實模式中斷
為了便於理解,我們先回顧實模式中斷。
在實模式下,中斷向量表ivt起到相當重要的作用。無論來自外部的中斷或是內部的軟中斷intn,在cpu中都產生同樣的響應。
①cpu將當前的指令指標暫存器(ip)、**段暫存器(cs)、標誌暫存器壓入堆疊。
②然後cpu使用 n值作為指向中斷向量表ivt的索引,在ivt中找出例程的遠位址。
②cpu將此遠地垃裝入cs:ip暫存器中,並開始執行服務例程。
④中斷例程總以iret指令結束。此指令使存在堆疊中的三個值彈出並填入cs、ip和標誌暫存器,cpu繼續執行原來的指令。
(2)保護模式中斷
保護模式中斷過程與實模式中斷過程類似,但它不再使用中斷向量表ivt,而使用中斷描述符表(idt)。值得一提的是,windows執行時ivt還存在,應用程式並不使用它,windows仍然使用,但含義已不同『
(1)ivt結構:ivt在ram的 0000:0000之上,佔據開始的1024位元組。它仍然由 bios啟動例程設定,由dos填充到ram中。
②idt中斷描述符表:保護模式下,windows作業系統為實現中斷機制而建立的乙個特殊表,即中斷描述符表idt。該錶被用來中斷服務例程的線性位址,它們是真正的24位或32位位址,沒有段:偏移值結構。中斷描述器表最多可含有256個例
對window的認識
不管是全域性的函式還是全域性的變數,都是屬於window的,例如 a 12 全域性變數 alert a alert window.a function show show window.show alert a 直接報錯 alert window.a 彈窗提示 undefined 未定義 雖然 al...
作業系統 認識認識保護模式(三)中斷
理解中斷與異常的機制 除錯8259a的程式設計基本例程 除錯時鐘中斷例程 建立idt,實現乙個自定義的中斷,功能可自定義,如特定鍵盤組合觸發某個動作 電子鐘 自己遊走的字元顯示 蜂鳴器等 了解iopl的作用 理解中斷與異常的機制 除錯8259a的程式設計基本例程 除錯時鐘中斷例程 建立idt,實現乙...
中斷 中斷的種類
一 基本概念 計算機的中斷系統能夠加強cpu對多工事件的處理能力,中斷機制是現代計算機系統中的基礎設施之一,它在系統中起著通訊網路的作用,已協調系統對各種外部事件的響應和處理 中斷時實現的事件稱為中斷源 中斷源向cpu提出處理的請求稱為中斷請求 發生中斷時被打斷的程式的暫停點稱為斷點 cpu暫停現行...