Meilleure réponse
Un segment est un bloc de mémoire contigu. Dans un schéma de mémoire segmentée, toute la mémoire d’un processus est en segments. Les premiers systèmes de mémoire virtuelle (Burroughs B5000, Mulitcs) étaient basés sur des segments de taille variable qui sont copiés dans et hors de la RAM.
Un programme référence chaque segment comme un décalage vers un registre de segment. Le contenu réel du registre de segments est contrôlé par le système. Le système sait quand un segment est référencé lorsque le registre de segment est utilisé et lutilise pour gérer la mémoire virtuelle.
Ceci est en contraste avec paged mémoire virtuelle, utilisée partout aujourdhui, où les quanta de mémoire virtuelle sont des morceaux de mémoire de taille fixe. La pagination est plus complexe et nécessite plus de support matériel.
Les Multics du MIT ont eu un impact énorme sur linformatique moderne (y compris de nombreuses idées incorporées dans Unix et Linux). Fred Pollack a rejoint le projet Intel 286 tout juste sorti du MIT. Il a vu les registres «segment» 8086 (en fait des registres de base) et a fait pression avec succès pour créer ces registres à segments réels comme dans Multics. (Fred est devenu plus tard un Intel Fellow.)
Les segments de 64 Ko du 286 ont souffert du même problème que les segments Multics: ils étaient trop petits. Trop souvent, plusieurs segments sont nécessaires pour accéder aux structures de mémoire, ce qui signifie recharger les registres de segments et souvent impliquer le système dexploitation. En raison de limpact sur les performances, la segmentation était rarement utilisée et les registres de segment étaient utilisés comme registres de base en mode de compatibilité 8086.
LIntel 386 32 bits a ajouté une mémoire virtuelle paginée (YEA!) Sous le schéma de segment (meh ). Le modèle darchitecture Intel 64 bits supprime entièrement les registres de segment, bien quil ait toujours des modes de compatibilité depuis le 8086.
Réponse
1. quest-ce quun registre de segment?
-> Comme nous le savons tous, les registres sont présents dans le processeur. nous créons des segments en mémoire (segmentation), Pour obtenir lemplacement de départ de ces segments, nous stockons ladresse de ces segments dans le registre de segment. dans les registres de segments courts stockent lemplacement de départ des segments présents en mémoire, cest-à-dire ladresse du segment.
3. comment se fait la segmentation de la mémoire?
-> la segmentation de la mémoire se fait en utilisant des adresses de 16 bits. Dabord nous donnons ladresse du segment (début du segment), après avoir donné ladresse du segment, nous donnons ladresse de décalage () pour accéder aux emplacements de ce segment.
nous donnons ladresse du segment une seule fois après cela, nous donnons ladresse de décalage.
nous donnons ladresse du segment et adresse offset les deux adresses 16 bits en tant que programmeur. après avoir donné cette adresse, il est du devoir du processeur de convertir à la fois cette adresse en adresse physique (adresse réelle).
adresse physique = adresse de segment * 10 + adresse de décalage
= 1000 * 10 + 2345
= 12345H