Segmentation informatique
Utilité de la segmentation
La segmentation permet la séparation des données et du programme (entre autres segments) dans des espaces logiquement indépendants facilitant alors la programmation, l'édition de liens et le partage interprocessus. La segmentation permet également d'offrir une plus grande protection grâce au niveau de privilège de chaque segment (voir Descripteur de segment).
Fonctionnement
Lorsque la MMU doit traduire une adresse logique en adresse linéaire, l'unité de segmentation doit dans un premier temps utiliser la première partie de l'adresse, c’est-à-dire le sélecteur de segment, pour retrouver les caractéristiques du segment (base, limit, DPL, etc.) dans la table de descripteurs (GDT ou LDT). Puis il utilise la valeur de décalage (sur 32 bit) qui référence l'adresse à l'intérieur du segment.
Il existe sur la majorité des processeurs actuels, des registres de segments (cs, ds, ss, etc.) qui contiennent le sélecteur de segment dernièrement utilisé par le processeur et qui sont utilisés pour accélérer l'accès à ces sélecteurs.
Sur les processeurs récents, il existe également des registres associés à chaque registre de segment et qui contiennent le descripteur de segment associé pour un accès plus rapide aux