Fiche de Révision : Organisation et gestion de la mémoire centrale
Introduction
La mémoire centrale, également appelée mémoire principale ou RAM (Random Access Memory), est un composant fondamental d’un système informatique. Elle sert à stocker temporairement les données et les instructions nécessaires à l'exécution des programmes. Sa gestion efficace est cruciale pour la performance globale de l’ordinateur.
La gestion et l’organisation de la mémoire centrale permettent de maximiser son utilisation, d’assurer la sécurité des programmes entre eux, et d’optimiser l’accès aux données par le processeur.
1. Organisation de la mémoire centrale
1.1 Structure physique
- La mémoire centrale est constituée de cellules mémoires, chacune pouvant stocker un bit.
- Ces cellules sont regroupées en octets (généralement 8 bits).
- Chaque cellule possède une adresse unique permettant d’accéder aux données.
1.2 Hiérarchie de la mémoire
La mémoire centrale se situe dans une hiérarchie des mémoires entre les registres rapides du processeur et les mémoires de masse plus lentes.
| Niveau | Type | Vitesse | Capacité | Examples |
|---|
| Registres | Mémoire très rapide | Très rapide | Quelques octets | Registres du CPU |
| Cache L1, L2 | Mémoire rapide | Rapide | Plusieurs Ko | Cache processeur |
| Mémoire centrale | RAM | Moyenne | Mo à Go | DRAM, SRAM |
| Mémoire de masse | Disques, SSD | Lente | Go à To | Disques durs, SSD |
1.3 Adressage
Deux principaux modes :
- Adressage physique : adresse réelle dans la mémoire.
- Adressage logique (virtuel) : l’OS utilise des adresses virtuelles, traduites en adresses physiques via la gestion mémoire.
2. Gestion de la mémoire centrale
2.1 Objectifs de la gestion mémoire
- Allocation efficace : distribution de l’espace mémoire aux programmes.
- Protection : éviter que deux programmes accèdent ou modifient la mémoire de l’autre.
- Partage : permettre à plusieurs programmes d’utiliser la mémoire simultanément.
- Libération : restituer la mémoire inutilisée.
2.2 Organisation de la mémoire par l’OS
L’OS est responsable de la gestion et de la protection mémoire.
2.2.1 Mémoire contiguë
- Chaque programme a un espace mémoire contigu.
- Simple à gérer mais souvent source de fragmentation.
2.2.2 Mémoire non contiguë
- Mémoire fragmentée mais permet un usage optimal.
- Repose sur des mécanismes comme la pagination et la segmentation.
2.3 Pagination
La pagination divise la mémoire en blocs de taille fixe appelés pages.
- Une page de la mémoire virtuelle est mappée vers un cadre (frame) de la mémoire physique.
- L’OS maintient une table des pages pour traduire les adresses virtuelles en adresses physiques.
- Permet la mémoire virtuelle et l’utilisation efficace de la mémoire physique.
[Diagramme]
Cette organisation permet d’éviter la fragmentation externe et facilite la mémoire virtuelle.
2.4 Segmentation
- La mémoire est divisée en segments logiques (code, données, pile).
- Chaque segment est caractérisé par une base et une limite.
- Plus proche de la vision logique du programmeur.
| Avantages | Inconvénients |
|---|
| Protection plus fine | Gestion plus complexe |
| Lisibilité | Fragmentation externe |
| Facilite le partage | |
2.5 Mémoire virtuelle
- Permet d’exécuter un programme dont la taille est plus grande que la mémoire physique.
- Le système remplace dynamiquement les pages non utilisées par des pages chargées du disque.
- Gère la swapping et la pagination à la demande.
Mémoire virtuelle : Technique permettant à un système d'exploitation d'utiliser un espace sur disque dur comme extension temporaire de la mémoire principale.
2.6 Protection et gestion des accès
- Utilisation de bits de contrôle dans les tables des pages (bit de validité, bit de lecture/écriture, bit d’exécution).
- En cas d’accès interdit, une exception d’accès mémoire est levée.
- Le MMU (Memory Management Unit) assure cette traduction et contrôle.
3. Exemple concret d’allocation mémoire avec pagination
Supposons un programme utilise une adresse virtuelle 0x0234.
- L’OS divise l’adresse en : numéro de page + décalage (offset).
- Numéro de page = 0x02, décalage = 0x34.
- La table des pages indique que la page 0x02 est chargée en cadre 0x0A.
- Adresse physique calculée = cadre 0x0A x taille page + décalage
Cela permet une gestion flexible et sécurisée de la mémoire dynamique.
Synthèse
| Concept | Description | Exemple |
|---|
| Mémoire centrale | Stockage temporaire des données et instructions | RAM |
| Adressage | Adresses physiques vs virtuelles | Table des pages |
| Pagination | Méthode découpage mémoire en pages fixes | Pages de 4 ko |
| Segmentation | Division mémoire en segments logiques | Code, données, pile |
| Mémoire virtuelle | Extension de la RAM grâce au disque | Swapping |
| Protection mémoire | Empêcher accès non autorisé | Bits de contrôle dans la MMU |
Diagramme Mermaid récapitulatif : Organisation et gestion de la mémoire
[Diagramme]
Cette fiche vous permet de comprendre les bases fondamentales de la mémoire centrale, son organisation et la gestion par le système d’exploitation. Ces notions sont essentielles pour aborder des thèmes avancés comme l’optimisation des performances ou la sécurité des systèmes informatiques.