寫在前面
此系列是本人一個字一個字碼出來的,包括示例和實驗截圖。由於系統內核的復雜性,故可能有錯誤或者不全面的地方,如有錯誤,歡迎批評指正,本教程將會長期更新。 如有好的建議,歡迎反饋。碼字不易,如果本篇文章有幫助你的,如有閑錢,可以打賞支持我的創作。如想轉載,請把我的轉載信息附在文章后面,並聲明我的個人信息和本人博客地址即可,但必須事先通知我。
你如果是從中間插過來看的,請仔細閱讀 羽夏看Win系統內核——簡述 ,方便學習本教程。
看此教程之前,問一個問題,你配置好雙機調試學習環境了嗎? 沒有的話不要繼續了。如果不會配置請重新學習 羽夏看Win系統內核——環境搭建 。
🔒 華麗的分割線 🔒
為啥要寫一個保護模式篇呢?因為保護模式是學習系統內核的基礎,不會這個東西,后面的基本一點都看不懂。還有一個原因,保護模式還是挺復雜的,為了降低學習的陡峭程度,故分多個小節進行描述。介紹詳情將會在本篇子目錄有所介紹。
本篇子目錄
- 保護模式篇——簡述(本篇將會介紹)
- 保護模式篇——段寄存器
- 保護模式篇——段描述符與段選擇子
- 保護模式篇——段權限檢查與代碼跨段跳轉
- 保護模式篇——長調用與調用門、中斷門、陷阱門
- 保護模式篇——任務段與任務門
- 保護模式篇——段和門小結
- 保護模式篇——分頁基礎
- 保護模式篇——PAE分頁
- 保護模式篇——TLB與CPU緩存
- 保護模式篇——中斷與異常和控制寄存器
- 保護模式篇——總結與提升
簡述
在實模式下,16位的寄存器用段+偏移的方法計算有效地址,接觸過CPU的同志都應該有所了解。然而,在實模式下,這個內存我是可以隨意訪問,隨意修改。如果被修改的地方是操作系統關鍵部分,會導致意想不到的后果。下面通過幾個問題簡單了解一下保護模式是什么。
什么是保護模式
x86 CPU的3個模式:實模式、保護模式和虛擬8086模式,它只是CPU的一種模式。
保護模式保護什么
保護內存非法訪問和特權指令的使用。
保護模式利用什么保護
段的機制和頁的機制。段的機制將會在本篇進行介紹,頁在下一篇章節介紹。
本篇說明
什么是特權指令,什么是段,什么是頁,它們的機制是什么,后面都將會接觸到。
這里還沒到操作系統層面,不要把任何操作系統的概念拉到保護模式的學習當中,否則越學越糊塗。
學習本篇之前,請在注意將自己的CPU數目調整至1,如果沒有按照該要求,做實驗時將會出各種各樣的問題,如下圖所示。至於為什么之后的教程將會介紹。
