日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Windows保护模式学习笔记(十二)—— 控制寄存器

發布時間:2025/3/21 windows 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows保护模式学习笔记(十二)—— 控制寄存器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Windows保護模式學習筆記(十二)—— 控制寄存器

    • 控制寄存器
    • Cr0寄存器
    • Cr2寄存器
    • Cr4寄存器

控制寄存器

描述:

控制寄存器有五個,分別是:Cr0 Cr1 Cr2 Cr3 Cr4

Cr1:保留
Cr3:頁目錄表基址

Cr0寄存器

結構圖:

PE位:啟用保護(Protecction Enable)標志
PE=1:保護模式
PE=0:實地址模式
這個標志僅開啟段級保護,而沒有啟用分頁機制
若要啟用分頁機制,那么PEPG標志都要置位

PG位:分頁機制標志
PG=1:開啟了分頁機制
PG=0:未開啟分頁機制
在開啟這個標志位之前必須已經或者同時開啟PE標志

PG=0PE=0:處理器工作狀態為實地址模式
PG=0PE=1:處理器工作狀態為沒有開啟分頁機制的保護模式
PG=1PE=0:不存在。在PE沒有開啟的情況下無法開啟PG
PG=1PE=1:處理器工作狀態為開啟了分頁機制的保護模式

WP位:寫保護(Write Proctect)標志
對于Intel 80486或以上的CPU,CR0的16位是寫保護標志
當設置該標志時,處理器會禁止超級用戶程序(例如特權級0的程序)向用戶級只讀頁面執行寫操作

CPL<3的時候:

  • 如果 WP=0 可以讀寫任意用戶級物理頁,只要線性地址有效
  • 如果 WP=1 可以讀取任意用戶級物理頁,但對于只讀的物理頁,則不能寫
  • Cr2寄存器

    描述:

    當CPU訪問某個無效頁面時,會產生缺頁異常,此時,CPU會將引起異常的線性地址存放在CR2中

    結構圖:

    舉例:

  • 當CPU訪問某個物理頁,但PDE/PTE的P位為0時,會產生缺頁異常
  • 缺頁異常一旦發生,CPU會將引起缺頁異常的線性地址存儲到Cr2
  • 此時,操作系統的處理程序開始對異常進行處理
  • 處理結束后,雖然PDE/PTE的P位為0,但實際上它被寫進了頁面
  • 這時,處理程序會將數據從頁面中讀出,再掛上一個有效的物理頁,讓程序接著往下跑
  • 程序往下跑時,操作系統必須要記錄程序原先已經跑到了哪里
  • 此時,Cr2便派上了用場,因為產生異常時的線性地址存在了Cr2中
  • 但如果異常處理程序檢測到用戶訪問的頁面是一個未分配的頁面
  • 這時,操作系統會報告一個異常,告訴我們在哪里發生了錯誤
  • 若沒有Cr2寄存器,當進入異常處理程序時,將找不到回去的線性地址
  • Cr4寄存器

    結構圖:

    PAE:
    PAE=1:2-9-9-12分頁
    PAE=0:10-10-12分頁

    PSE:


    注意:關于控制寄存器的更多細節,請參考Intel白皮書第三卷

    總結

    以上是生活随笔為你收集整理的Windows保护模式学习笔记(十二)—— 控制寄存器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。