| 
    TacOS
    0.2
    
   | 
 
Segment Descriptor (cf doc intel v3. 3.4.3)
#include <gdt.h>
| uint8_t x86_segment_descriptor::available | 
Un bit disponible pour nous...
| uint16_t x86_segment_descriptor::base_address_15_0 | 
Défini la position de l'octet 0 du segment dans les 4Gio de l'espace adressable linéaire
| uint8_t x86_segment_descriptor::base_address_23_16 | 
Suite de la base address.
| uint8_t x86_segment_descriptor::base_address_31_24 | 
Fin de la base address. Soit 32 bits ce qui correspond aux 4Gio adressables.
| uint8_t x86_segment_descriptor::descriptor_type | 
0 = system segment, 1 = code ou data segment
| uint8_t x86_segment_descriptor::dpl | 
Descriptor Privilege Level. 0 à 3. 0 pour le kernel et 3 pour les applis
| uint8_t x86_segment_descriptor::granularity | 
Granularité : Détermine l'échele du segment limit. 0 : c'est des bytes, 1 : c'est par 4kio
| uint8_t x86_segment_descriptor::operation_size | 
0 = 16bits, 1 = 32bits
| uint8_t x86_segment_descriptor::present | 
Indique si le segment est présent en mémoire (1) ou non (0)
| uint16_t x86_segment_descriptor::segment_limit_15_0 | 
Segment Limit 15:00. Spécifie la taille du segment. Le proc concatene les 2 champs segment limit pour former une valeur de 20 bits.
| uint8_t x86_segment_descriptor::segment_limit_19_16 | 
Suite du segment limit.
| uint8_t x86_segment_descriptor::segment_type | 
Cf 3.4.3.1 de la doc intel !
| uint8_t x86_segment_descriptor::zero | 
Bit réservé qui doit prendre la valeur 0.
 1.8.7