現在位置: 首頁 > 技術文章 > 操作系統 > 文章
2014年03月08日 操作系統 ⁄ 共 5106字 《自己動手寫操作系統》學習筆記(六)已關閉評論
《自己動手寫操作系統》學習筆記目錄(持續更新) ?http://www.rbwrqu.live/832.html LDT使用初步 LDT使用初步 在本節中,我們將添加一個LDT段,在段中打印一個字符L,從而學習如何利用程序的LDT段。程序的執行流程隨之也會發生變化,我們將分析代碼和分析代碼結構。 一、概要分析: 在上一節的基礎上,我們增加一個段LDT和一個LDT中的一個段codeA。需要注意的是,LDT存在的前提是GDT,因為LDT本身是一個段中,需要由GDT中的信...
閱讀全文
2014年03月06日 操作系統 ⁄ 共 6773字 《自己動手寫操作系統》學習筆記(五)已關閉評論
《自己動手寫操作系統》學習筆記目錄(持續更新) ?http://www.rbwrqu.live/832.html 實模式->保護模式->實模式 實模式------>保護模式------>實模式 一、“實模式--保護模式--實模式”的轉換過程 1、“實模式--保護模式”的跳轉 (1)準備GDT (2)用lgdt加載gdtr (3)打開A20 (4)置cr0的PE位 (5)跳轉,進入保護模式 2、“保護模式--實模式”的跳轉? (比實模式--->保護模式要復雜一些,因為在準備結束保護模式...
閱讀全文
2014年03月04日 操作系統 ⁄ 共 7081字 《自己動手寫操作系統》學習筆記(四)已關閉評論
《自己動手寫操作系統》學習筆記目錄(持續更新) ?http://www.rbwrqu.live/832.html 實模式跳轉到保護模式 實模式------>保護模式 有了上一節的基礎,那我們開始編碼,看看如何實現先前描述的內容 首先,既然我們需要一個數組,全局描述符表,那我們就定義一塊連續的結構體: [SECTION .gdt]??? ;為了代碼可讀性,我們將這個數組放到一個節(段)中 ;由一塊連續的地址組成的,不就是一個數組嗎?看下面代碼,^_^ ? ? ? ? ...
閱讀全文
2014年03月02日 操作系統 ⁄ 共 381字 《自己動手寫操作系統》學習筆記(三)已關閉評論
《自己動手寫操作系統》學習筆記目錄(持續更新) ?http://www.rbwrqu.live/832.html 嘎嘎 初識保護模式 初識保護模式 之 保護模式下尋址 ? ? 請看這篇文章 ?http://www.rbwrqu.live/825.html   初識保護模式 之 保護模式下,什么是一致性代碼和非一致性代碼段? 請看這篇文章 ?http://www.rbwrqu.live/789.html   初識保護模式 之 什么是GDT,LDT,GDTR,LDTR? 請看這篇文章 ?http://www.rbwrqu.live/708.html  ...
閱讀全文
2014年02月28日 操作系統 ⁄ 共 1456字 為什么不能從32位的保護模式直接跳轉到實模式已關閉評論
為什么不能從32位的保護模式直接跳轉到實模式,而要先跳轉到16位的保護模式,再從16位的保護模式跳轉到實模式的理解 呼呼 不能從32位代碼段返回實模式,而只能從16位代碼段返回。 原因:(書中說的)因為無法實現從32位代碼段返回時CS高速緩沖寄存器中的屬性符合實模式的要求(實模式不能改變段屬性) 下面具體的來進行分析: ;****************注意在此用normal選擇子對段寄存器進行填充****************************** mov ax, S...
閱讀全文
2014年02月27日 操作系統 ⁄ 共 3340字 段描述符高速緩沖寄存器介紹已關閉評論
描述符高速緩存寄存器 在實模式下,段寄存器含有段值,為訪問存儲器形成物理地址時,處理器引用相應的某個段寄存器并將其值乘以16,形成20位的段基地址。在保護模式下,段寄存器含有段選擇子,如上所述,為了訪問存儲器形成線性地址時,處理器要使用選擇子所指定的描述符中的基地址等信息。為了避免在每次存儲器訪問時,都要訪問描述符表而獲得對應的段描述符,從80286開始每個段寄存器都配有一個高速緩沖寄存器,稱之為段描述...
閱讀全文
二八杠讨论心得
×