GDT、LDT和IDT
生活随笔
收集整理的這篇文章主要介紹了
GDT、LDT和IDT
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
三個重要的系統(tǒng)表GDT、LDT和IDT 首先說明的是,這三個表是在內存中由操作系統(tǒng)或系統(tǒng)程序員所建,并不是固化在哪里,所以從理論上是可以被讀寫的。
這三個表都是描述符表。描述符表是由若干個描述符組成,每個描述符占用8個字節(jié)的內存空間,每個描述符表內最多可以有(8K)8129個描述符。描述符是描述一個段的大小,地址及各種狀態(tài)的。描述符表有三種,分別為全局描述符表GDT、局部描述符表LDT和中斷描述符表IDT。
GDT表與IDT表
在整個系統(tǒng)中,全局描述符表GDT只有一張(一個處理器對應一個GDT),GDT可以被放在內存的任何位置。系統(tǒng)用GDTR寄存器存放當前GDT表的基地址。用LDTR寄存器存放LDT表的地址。
| GDTR寄存器 | LGDT | SGDT |
| LDTR寄存器 | LLDT | SLDT |
| IDTR寄存器 | LIDT | SIDT |
由于每個進程都有自己的一套程序段、數(shù)據(jù)段、堆棧段,有了局部描述符表則可以將每個進程的程序段、數(shù)據(jù)段、堆棧段封裝在一起,只要改變LDTR就可以實現(xiàn)對不同進程的段進行訪問。 隨著任務的切換,系統(tǒng)當前的局部描述符表LDT也隨之切換。通過LDT可以使各個任務私有的各個段與其它任務相隔離,從而達到受保護的目的。通過GDT可以使各任務都需要使用的段能夠被共享。
我們可以這樣理解GDT和LDT:GDT為一級描述符表,LDT為二級描述符表。
總結
以上是生活随笔為你收集整理的GDT、LDT和IDT的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Aptana开发者工具使用
- 下一篇: Day05_生命周期_组件进阶