Dzisiaj jest 19 stycznia 2025 r.
Chcę dodać własny artykuł

Tablica deskryptorów

Tablica Deskryptorów w Architekturze Komputerów x86

Tablica deskryptorów jest kluczowym elementem w trybie chronionym procesora x86. Znajduje się w dedykowanym segmencie i zawiera deskryptory wszystkich segmentów w pamięci operacyjnej. W systemach wielozadaniowych wyróżniamy trzy główne typy tablic:

  • Globalna Tablica Deskryptorów (GDT)
  • Tablica Przerwań (IDT)
  • Lokalna Tablica Deskryptorów (LDT)

Tablice lokalne są przypisane do poszczególnych procesów, podczas gdy nowoczesne systemy operacyjne rzadko korzystają z segmentacji. Typowa tablica deskryptorów ma rozmiar 64 kB i może pomieścić 8192 wpisy (213 8-bajtowych).

Maksymalny Rozmiar Pamięci Wirtualnej

Rozmiar tablicy deskryptorów wpływa na maksymalny rozmiar pamięci wirtualnej, który może być zaadresowany przez pojedynczy proces:

  • Dla procesorów 80386, 80486 i Pentium: 64 TB (246 B)
  • Dla procesora 80286: 1 GB (230 B)

W przypadku 80386, obliczenia uwzględniają jeden bit dla tablicy GDT/LDT, 13 bitów dla numeru segmentu oraz 32 bity dla wielkości segmentu przy granulacji 4 kB. Natomiast w procesorze 80286, 16 bitów definiuje wielkość segmentu.

Rejestry Powiązane z Tablicami Deskryptorów

Tablice LDT i GDT są powiązane z następującymi rejestrami:

  • GDTR – 48-bitowy rejestr zawierający adres (32 bity) oraz rozmiar tablicy GDT (16 bitów). Musi być zainicjalizowany przy przełączaniu procesora w tryb chroniony.
  • LDTR – 16-bitowy rejestr przechowujący selektor segmentu z tablicą LDT.

Tablica IDT ma podobną strukturę do GDT, jednak zawiera deskryptory segmentów dla procedur obsługi przerwań.

Przypisy

Bibliografia

Kategoria: Architektura komputerów