La mémoire physique sur un système se divise en deux catégories:
- la mémoire vive: composée de circuit intégrés, donc très rapide
- la mémoire de masse: composée de supports magnètiques (disque dur, bandes magnétiques...), beaucoup plus lente
Elle sert de zone de stockage temporaire pour les programmes et données que vous utilisez. De façon
générale, plus la quantité de mémoire est importante, plus vous pouvez y stocker d'informations.
D'autre part, plus celle-ci est rapide plus votre système réagit vite, il s'agit donc (pour le système d'exploitation) d'aller l'organiser pour en tirer le maximum.
La gestion de la mémoire est un difficile compromis entre les performances (temps d'accès)
et la quantité (espace disponible). On désire en effet tout le temps avoir le maximum de
mémoire, mais on ne veut pas que cela se fasse au détriment des performances...
La gestion de la mémoire doit de plus remplir
les fonctions suivantes:
- permettre le partage de la mémoire (pour un système multi-tâches)
- permettre d'allouer des blocs de mémoire aux différentes tâches
- protéger les espaces mémoire utilisés (vous empêche par exemple de modifier une tâche déjà utilisée)
- optimiser la quantité de mémoire disponible
L'optimisation de la mémoire disponible consiste à étendre la mémoire.
Il est possible d'étendre la mémoire de deux manières:
- En découpant un programme en une partie résidente en mémoire et les données restantes
sont seulement chargées en mémoire lorsqu'elles sont nécessaires.
- En utilisant la mémoire virtuelle, c'est-à-dire en utilisant le disque dur
comme mémoire principale et en utilisant la RAM pour stocker uniquement les instructions et les données
utilisées par le processeur. Le système d'exploitation réalise cette opération
en créant un fichier (appelé fichier SWAP, traduisez "fichier d'échange")
dans lequel il stocke les informations lorsque la quantité de mémoire vive n'est
plus suffisante. Cette opération se traduit par une baisse considérable des performances, vous
constatez alors que la LED de votre disque dur reste quasiment constamment allumée (et dans le cas
de windows vous pouvez voir un fichier appelé "win386.swp" d'une taille conséquente, proportionnelle
à vos besoins en mémoire).
La mémoire centrale peut-être découpée de trois façons:
- la segmentation: les programmes sont découpés en parcelles ayant des longueurs variables appelées segments.
- la pagination: elle consiste à diviser la mémoire en blocs, et les programmes en pages de longueur fixe.
- une combinaison de segmentation et de pagination: certaines parties de la mémoires sont segmentées, les autres sont paginées.