保護模式定義:
保護」:用硬體對每個任務使用的記憶體空間進行保護,阻
止其他任務的非法訪問。 特點如下:
a 採用虛擬儲存管理,啟用分段和分頁機制。允許關閉分頁機制
b 段內偏移位址
32位,每個段最大232
b=4gb
,每個程式最多可以使用
16k個段,理論上的虛擬位址空間為
4gb×
16k=64tb
c 採用
32位位址暫存器,如
ebx,
esi,
eip,
esp等。
d 4
個特權級:0
,1,2,3。
0級具有最高的特權,可以執行所有指令,建立和維護各種
**,管理整個系統,供作業系統程序使用 3
級最低,
3級任務只能訪問作業系統分配給它的記憶體區間,
不能執行
「特權指令
」,訪問
io裝置的許可權也受到限制。
供使用者程式使用。
保護模式下的定址方式:
「分段管理」:
•邏輯位址仍然採用
「段:偏移位址
」的形式。 •
邏輯位址通過分段管理機構轉換為
32位的
「線性位址」。
•16位段暫存器內存放的不再是
20位段起始位址的高
16位,而
是這個段的乙個編號,稱為
「段選擇符
(segment selector)」
。 •使用這個
「段選擇符」查詢
「段描述符表
(segment descriptor
table)」
,得到這個段的
32位起始位址,加上
32 位的偏移地
址,得到這個儲存單元的32位
「線性位址」。
「分頁管理」:
•32位線性位址通過分頁管理機構轉換為32位
/36位的實體地址 •
所有的儲存器以
4kb為單位劃分成「頁
(page)」
。 •線性位址被劃分成「頁號
」和「頁內位址
」 兩部分,根據頁號查詢「頁表
」 ,得到這個頁在記憶體真實的起始位址,加上頁內位址,
得到該儲存單元的實體地址。 •
如果通過查表發現該頁還在硬碟中,則還要首先啟用「換頁
」機制,把這個頁調入記憶體。
分段機構的三張段描述符表
段描述符表
由若干個段描述符組成,每個段描述符記錄乙個段的相關資訊,如這個段的起始位址,段的長度,段的屬性等
全域性段描述符表
(global descriptor table,
gdt)整個計算機內只有一張,存放作業系統使用的各種段的資訊。
區域性段描述符表
(local descriptor table,
ldt)每個任務都有一張區域性段描述符表,記錄這個任務使用的段的資訊。
中斷描述符表
(interrupt descriptor table,
idt)記錄
「中斷服務程式
」的位置資訊。
控制暫存器
控 制
暫存器crx
bit31
bit30—bit12
bit11—bit5
bit4
bit3
bit2
bit1
bit0
cr0pg
0000000000000000
etts
emmp
pecr1
保留cr2
頁故障線性位址
cr3頁目錄表物理頁碼
000000000000
80x86保護模式
請教 1 何為實位址方式?2 何為保護方式?3 二者的區別是什麼?能否詳細 4 什麼是虛擬位址?5 什麼是對映?6 何為浮點數?回答 如果你想詳細地搞清以上問題,建議你去閱讀有關386 486或pentium彙編的書 8086 8088的彙編的書一般沒有保護方式 虛擬位址 浮點數等概念 一般都會有專...
80x86的保護模式
通過對程式使用的儲存區採用分段 分頁的儲存管理機制,達到分組使用 互不干擾的保護目的。能為每個任務提供一台虛擬處理器,使每個任務單獨執行,快速切換。所以,記憶體位址由段基位址 偏移位址構成。描述符表分為兩類 1.gdt是全域性描述符表,主要存放作業系統和各任務公用的描述符,也存放ldt描述符。2.l...
80x86的保護虛位址模式
在保護模式下,80x86支援虛擬儲存器的功能,乙個任務可執行多達16kb個段,每個段最大可為4gb,故乙個任務最大可達64t的虛擬位址。保護模式下執行的程式分為4個特權等級 0 1 2 3,作業系統核心執行在最高特權等級0 使用者程式執行在最低特權等級3。80x86中有完善的特權檢查機制,既能實現資...