Descriptor de segment

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 5 noiembrie 2014; verificările necesită 4 modificări .

Un descriptor de segment (în arhitectura x86 ) este o structură de serviciu în memorie care definește un segment . Lungimea descriptorului este de 8 octeți .

Byte de drepturi de acces (AR, ing.  Drepturi de acces , biții 8-15 din figură ):

Tipuri de segmente de sistem
Nu. Biți AR Descriere
3 2 unu 0
0 0 0 0 0 Valoare interzisă
unu 0 0 0 unu TSS gratuit pe 16 biți
2 0 0 unu 0 LDT
3 0 0 unu unu TSS ocupat pe 16 biți
patru 0 unu 0 0 Gateway de apel pe 16 biți
5 0 unu 0 unu Poarta de sarcini
6 0 unu unu 0 Poartă de întrerupere pe 16 biți
7 0 unu unu unu Gateway trap pe 16 biți
opt unu 0 0 0 Valoare interzisă
9 unu 0 0 unu TSS gratuit pe 32 de biți
A unu 0 unu 0 rezervat
B unu 0 unu unu TSS ocupat pe 32 de biți
C unu unu 0 0 Gateway de apel pe 32 de biți
D unu unu 0 unu rezervat
E unu unu unu 0 Poartă de întrerupere pe 32 de biți
F unu unu unu unu Gateway trap pe 32 de biți
Tipuri de segmente personalizate
Nu. Biți AR Descriere
3 2 unu
0 0 0 0 Segment de date numai pentru citire
2 0 0 unu Segment de date de citire/scriere
patru 0 unu 0 Segment de date numai pentru citire, în creștere în scădere
6 0 unu unu Segment de date de citire/scriere, în creștere
opt unu 0 0 Segment de cod numai pentru execuție
A unu 0 unu Segment de cod de executat/citit
C unu unu 0 Segment de cod subordonat numai pentru execuție
E unu unu unu Segment de subcod care urmează să fie executat/citit

Bitul cel mai puțin semnificativ din octetul AR al segmentelor de utilizator (A, Accesat  , bitul 8 din figură) poate fi utilizat pentru a colecta statistici despre segment . Prima dată când un segment este accesat (citește, scrie, execută), acesta este setat la 1 de către procesor.

Vezi și

Note

  1. Fragmentarea câmpurilor descriptorilor se explică prin evoluția procesoarelor.

Link -uri