描述符表(descriptor table) 學習總結

主要包括GDT LDT IDT 總結
描述符表(descriptor table)
描述符表主要包括GDT,LDT和IDT。保存描述符。
GDT(The global descriptor table)全局描述符表,每一個系統只能有一個,所有的程序和任務共享使用。GDT中第一個描述符不被使用,爲空描述符。通過指令lgdt將GDT的入口地址加載到GDTR寄存器中。

LDT(The local descriptor tables)局部描述符表,可以定義多個,可以被隔離的任務單獨定義也可以被多個任務共享。LDT在系統中作爲一個段存儲,通過指令lldt將段描述符加載到LDTR寄存器中,GDT必須包含LDT段的描述符。如果系統支持多個LDTs,GDT應該包含不同LDT的描述符。LDT嵌套在GDT中,如下圖。
這裏寫圖片描述
IDT(Interrupt descriptor table)中斷描述符表,保存256個門描述符。門描述符包括中斷門描述符、陷阱門描述符和任務門描述符,結構如下:
這裏寫圖片描述
門描述符和段描述符的關係之怎樣的呢?以調用中斷處理程序爲例說明,如下圖:
這裏寫圖片描述
由中斷向量號在IDT裏找到對應的中斷門描述符,通過中斷門描述符中的段選擇符字段在GDT或LDT中找到存放中斷處理程序代碼的目的代碼段的段描述符,由代碼段的描述符中基地址字段和中斷門描述符中偏移字段就可以訪問目的代碼段。

good luck!

發佈了40 篇原創文章 · 獲贊 42 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章