Deskryptor segmentu

Deskryptor segmentu – struktura występująca w globalnej oraz lokalnej tablicy deskryptorów, opisująca położenie i właściwości segmentu pamięci.

Budowa ogólna

W ogólności deskryptor segmentu jest 64-bitową strukturą określającą jednoznacznie położenie segmentu w pamięci, jego typ, rozmiar, prawa dostępu oraz pozostałe informacje przydatne przy dostępie do segmentu w trybie chronionym procesora. Każdy deskryptor należy do odpowiedniej tablicy deskryptorów. Poniższy rysunek przedstawia budowę deskryptora segmentu procesorów z modelu x86, zgodnych z procesorem 80386 (procesor 80286, jako 16-bitowy, nie ma pól znajdujących się w dwóch najstarszych bajtach rejestrów deskryptora):

Ogólna budowa deskryptora segmentu
Ogólna budowa deskryptora segmentu

Pola deskryptora określają:

Z każdym deskryptorem segmentu związane są selektory, przechowywane w rejestrach segmentowych, które mają taki sam indeks deskryptora segmentu, lecz różnią się poziomem uprawnień (uprzywilejowania).

Deskryptory służą także do definiowania bramek przerwań i procedur (interrupt gate i callgate) – wówczas deskryptor podaje adres takiej procedury i prawa dostępu. Bramki umożliwiają wywoływania kodu o wyższym poziomie uprawnień (np. funkcji systemu operacyjnego lub sterownika) z poziomu programu o niższych uprawnieniach (np. programu użytkowego).

Zobacz też

Bibliografia