天天看點

羽夏看Win系統核心——保護模式篇

羽夏看Win系統核心之保護模式篇及其簡述

  此系列是本人一個字一個字碼出來的,包括示例和實驗截圖。由于系統核心的複雜性,故可能有錯誤或者不全面的地方,如有錯誤,歡迎批評指正,本教程将會長期更新。 如有好的建議,歡迎回報。碼字不易,如果本篇文章有幫助你的,如有閑錢,可以打賞支援我的創作。如想轉載,請把我的轉載資訊附在文章後面,并聲明我的個人資訊和本人部落格位址即可,但必須事先通知我。

你如果是從中間插過來看的,請仔細閱讀 羽夏看Win系統核心——簡述 ,友善學習本教程。

  看此教程之前,問一個問題,你配置好雙機調試學習環境了嗎? 沒有的話不要繼續了。如果不會配置請重新學習 羽夏看Win系統核心——環境搭建 。

🔒 華麗的分割線 🔒

  為啥要寫一個<code>保護模式篇</code>呢?因為保護模式是學習系統核心的基礎,不會這個東西,後面的基本一點都看不懂。還有一個原因,保護模式還是挺複雜的,為了降低學習的陡峭程度,故分多個小節進行描述。介紹詳情将會在本篇子目錄有所介紹。

保護模式篇——簡述(本篇将會介紹)

保護模式篇——段寄存器

保護模式篇——段描述符與段選擇子

保護模式篇——段權限檢查與代碼跨段跳轉

保護模式篇——長調用與調用門、中斷門、陷阱門

保護模式篇——任務段與任務門

保護模式篇——段和門小結

保護模式篇——分頁基礎

保護模式篇——PAE分頁

保護模式篇——TLB與CPU緩存

保護模式篇——中斷與異常和控制寄存器

保護模式篇——總結與提升

  在實模式下,16位的寄存器用<code>段+偏移</code>的方法計算有效位址,接觸過<code>CPU</code>的同志都應該有所了解。然而,在實模式下,這個記憶體我是可以随意通路,随意修改。如果被修改的地方是作業系統關鍵部分,會導緻意想不到的後果。下面通過幾個問題簡單了解一下保護模式是什麼。

  x86 CPU的3個模式:實模式、保護模式和虛拟8086模式,它隻是CPU的一種模式。

  保護<code>記憶體非法通路</code>和<code>特權指令的使用</code>。

  段的機制和頁的機制。段的機制将會在本篇進行介紹,頁在下一篇章節介紹。

  什麼是特權指令,什麼是段,什麼是頁,它們的機制是什麼,後面都将會接觸到。

  這裡還沒到作業系統層面,不要把任何作業系統的概念拉到保護模式的學習當中,否則越學越糊塗。

  學習本篇之前,請在注意将自己的CPU數目調整至<code>1</code>,如果沒有按照該要求,做實驗時将會出各種各樣的問題,如下圖所示。至于為什麼之後的教程将會介紹。

羽夏看Win系統核心——保護模式篇

  保護模式篇——段寄存器

羽夏看Win系統核心——保護模式篇
羽夏看Win系統核心——保護模式篇

本作品采用 知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協定 進行許可

本文來自部落格園,作者:寂靜的羽夏 ,一個熱愛計算機技術的菜鳥

轉載請注明原文連結:https://www.cnblogs.com/wingsummer/p/15308064.html

羽夏看Win系統核心——保護模式篇