Global Descriptor Table
La Table globale de descripteurs est une structure de données utilisée par les processeurs de la famille x86 pour référencer les les plus utilisés par les processus.
Recherche sur Google Images :
![]() Source image : embedded-systems.com Cette image est un résultat de recherche de Google Image. Elle est peut-être réduite par rapport à l'originale et/ou protégée par des droits d'auteur. |
Page(s) en rapport avec ce sujet :
- physical memory address space called the Global Descriptor Table (GDT). This... own segment of local memory, the protected- mode software system may contain... (source : ftp.utcluj)
La Table globale de descripteurs (GDT : Global Descriptor Table en anglais) est une structure de données utilisée par les processeurs de la famille x86 (le premier à l'avoir utilisée est le Intel 80286) pour référencer les les plus utilisés par les processus.
C'est une partie spéciale de la mémoire principale utilisée dans le mode protégé. Dans ce mode, au contraire du mode réel, on ne peut pas accéder comme on le désire à n'importe quelle portion de la mémoire. La gestion de la mémoire en mode protégé est plus complexe, mais offre de nombreux avantages dont la protection de l'espace d'adressage de chaque programme.
En mode protégé, les adresses de segments contenues dans les registres de segments CS, DS, ES et SS ont toujours 16 bits mais ne représentent plus des lieux physiques. Les registres de segments contiennent des "sélecteurs", dont une partie sert d'indice dans GDT où se trouvent décrits les segments de la mémoire. En consultant cette table, le processeur prend connaissance de l'adresse de base du segment. Enfin l'adresse finale est déterminée en ajoutant un décalage donné sous la forme d'un pointeur FAR à l'adresse trouvée.
La structure d'un sélecteur est la suivante :
- bit 0 à 1 : RPL → Requested Privilege Level, c'est-à-dire le niveau de privilège du segment référencé.
- bit 2 : TI → Task Indicator, indique si l'index est relatif à la GDT ou à une LDT (Local Descriptor Table)
- bit 3 à 15 : INDEX → indice dans la GDT ou une LDT.
Les 8 premiers indices de la GDT sont réservés à une utilisation spécifique. L'indice 0 de la GDT n'est pas utilisé.
Utilisation de GDT par Windows
Chargeur d'amorçage NTLDR
Le chargeur d'amorçage NTLDR fait passer le processeur du mode réel au mode protégé (voir Processus de démarrage de Windows NT#Phase de chargement au boot).
Autres chargeurs
Utilisation de GDT par linux
Sous Linux, il n'existe qu'une seul GDT par processeur. En effet, Linux n'utilisant que particulièrement peu la segmentation, les adresses linéaires correspondent aux adresses logiques et sont par conséquent semblables pour tout les processus (systèmes ou utilisateurs).
Voir les chargeurs d"amorçage de linux :
Voir aussi
Sources
- Michæl Tischer, Bible PC - Programmation Dispositif. Micro Application, 1996.
- Volume III : Intel System Programming Guide (édition relative au Pentium IV)
Recherche sur Amazone (livres) : |
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.