80x86的保護模式

2022-03-18 03:32:53 字數 746 閱讀 2258

通過對程式使用的儲存區採用分段、分頁的儲存管理機制, 達到分組使用、互不干擾的保護目的。能為每個任務提供一台虛擬處理器,使每個任務單獨執行,快速切換。

所以,記憶體位址由段基位址、偏移位址構成。

描述符表分為兩類:

1. gdt是全域性描述符表,主要存放作業系統和各任務公用的描述符, 也存放ldt描述符。

2. ldt是區域性描述符表, 主主要存放各個任務的私有描述符。

段暫存器:高13位用來指示描述符在描述符表中的索引號, 低兩位是表示使用描述符的特權級別。另外一位(ti)是gdt和ldt的訊號量,如果ti = 0, 則使用gdt, 如果 ti為1, 則使用ldt。

晶元上有乙個gdt暫存器,是48位,存放著gdt的位置與長度, 對程式設計師是可見。

先從gdt暫存器中找到gdt的基址,然後從段暫存器中找到需要的描述符的索引值,這樣就找到了需要的描述符了。如下圖所示:

晶元上也有乙個ldt暫存器, 是48位的,存放著ldt在gdt裡的索引值與。

先從gdt暫存器裡找到gdt的基址,再從ldt暫存器裡找到ldt的索引值,這樣就找到了ldt的描述符, 也就找到了ldt的基址了,然後從段暫存器裡找到需要的描述符的索引值 ,這樣就找到了需要的描述符了。如下圖所示:

80X86 保護模式

保護模式定義 保護 用硬體對每個任務使用的記憶體空間進行保護,阻 止其他任務的非法訪問。特點如下 a 採用虛擬儲存管理,啟用分段和分頁機制。允許關閉分頁機制 b 段內偏移位址 32位,每個段最大232 b 4gb 每個程式最多可以使用 16k個段,理論上的虛擬位址空間為 4gb 16k 64tb c...

80x86保護模式

請教 1 何為實位址方式?2 何為保護方式?3 二者的區別是什麼?能否詳細 4 什麼是虛擬位址?5 什麼是對映?6 何為浮點數?回答 如果你想詳細地搞清以上問題,建議你去閱讀有關386 486或pentium彙編的書 8086 8088的彙編的書一般沒有保護方式 虛擬位址 浮點數等概念 一般都會有專...

80x86的保護虛位址模式

在保護模式下,80x86支援虛擬儲存器的功能,乙個任務可執行多達16kb個段,每個段最大可為4gb,故乙個任務最大可達64t的虛擬位址。保護模式下執行的程式分為4個特權等級 0 1 2 3,作業系統核心執行在最高特權等級0 使用者程式執行在最低特權等級3。80x86中有完善的特權檢查機制,既能實現資...