全局咧講符仔
外觀
全局咧講符仔 ( GDT )是一个對 Intel x 八十六-系列處理器八鼻零二百八十六開始用佇界定無仝款內存區域的特徵的資料結構。全局講為著內存在的。全局講出來的條目描述佮規定了無仝款內存分區的各種特徵,包括基地址、大細佮訪問等等的特權如可執行佮可寫等。佇咧 Intel 的術語內底,這寡內存區域予人號做是 _ 段 _ 。
全局描述表用佇內存的地址的轉換。所有程序的內存訪問攏需要用著 GDT 中的有關內存區域即 x 八十六內儉分段的信息。訪問 GDT 需要使用 segment selector 和 segment offset。處理器使用 segment selector 替索引查揣 GDT 的條目。做適當的條目揣著了後,處理器會做一系列的檢查,包括檢查 segment offset 想欲試訪問區間敢有佇這內存分段內底,代碼敢有權限訪問這內存分段 ( 檢查分級保護域權限)等。
為著加速全局描寫的訪問,往 segment 暫存器里載入 segment 的值得可以 GDT 的特定條目被讀入處理器內部的緩存中。了後的內存訪問會通過慢存進行處理。
GDT 作用
GDT 的是提供內存保護。佇咧八堵空二百八十六進前的處理器當中干焦實模式,所有的程序攏會當訪問任意內存。GDT 是保護模式下限制非法內存訪問的一種方式。
GDT 結構
GDT description structure
GDT description structure 咧講矣 GDT 的位置佮大細(毋是 GDT 的一部份)。 儲存佇咧 GDTR 暫存器中。會過 LGDTR 指令對內存中往 GDTR 中加載 GDT description structure。
- Size : GDT 的大細(bytes )-一
- Offset : GDT 的線性地址