À retenir
- Un segment possède toujours une adresse de début et une taille définie.
- Il sert à organiser logiquement les ressources (mémoire, réseau).
- Il permet d'isoler les données pour éviter que les programmes ne s'écrasent mutuellement.
Imaginez une grande armoire (la mémoire de l'ordinateur) découpée en tiroirs de tailles variées : un segment est l'un de ces tiroirs. C'est une portion délimitée par une adresse de départ et une longueur précise, permettant de ranger et de retrouver efficacement des données ou des instructions de programme.
Étymologie
Issu du latin segmentum (fragment, coupure), lui-même dérivé de secare (couper). En informatique, ce terme illustre l'action de diviser un ensemble vaste, comme la mémoire vive ou un flux de données réseau, en morceaux plus petits et gérables.
Exemples d'usage
- Le segment de code (ou text segment) qui regroupe les instructions qu'un processeur doit exécuter.
- Un segment TCP, qui représente une unité de données découpée pour être transmise de manière fiable sur un réseau.
- Le segment de données, où sont stockées les variables globales d'un logiciel en cours de fonctionnement.
Cas d'usage
Ce concept intervient massivement dans la gestion de la mémoire par le système d'exploitation pour isoler les programmes les uns des autres. On le retrouve également en réseau pour morceler l'information avant l'envoi, et dans la structure des fichiers exécutables.
Bonnes pratiques
En développement système, il est crucial de respecter les limites d'un segment. Tenter d'accéder à une adresse mémoire située en dehors de son segment attribué provoque généralement un plantage immédiat du programme pour des raisons de sécurité.
Synonymes
Antonymes
Conseil
Si vous débutez en programmation, visualisez les segments comme des zones avec des droits d'accès spécifiques : certains sont 'lecture seule' (votre code), d'autres 'lecture/écriture' (vos variables). Cette distinction est la base de la stabilité des systèmes modernes.
Questions fréquentes
C'est quoi une 'Segmentation Fault' ?
C'est une erreur qui survient lorsqu'un programme tente d'accéder à un segment de mémoire qui ne lui appartient pas ou pour lequel il n'a pas les droits.
Quelle différence avec une 'page' mémoire ?
Un segment a une taille variable et une logique métier (ex: code, données), alors qu'une page a une taille fixe et physique dictée par le matériel.
Pourquoi segmente-t-on les réseaux ?
Pour limiter l'encombrement du trafic et renforcer la sécurité en isolant certains groupes d'ordinateurs.