Вы находитесь на странице: 1из 3

Université de Blida 1 Système d’exploitation

Département d’informatique 2ème année LMD

CHAPITRE 5 : MEMOIRE VIRTUELLE

1. Introduction :
Plusieurs problèmes qui se posent avec la gestion de la mémoire :
1. Comment faire pour accommoder en mémoire un programme qui est plus grand que la
mémoire physique ?
2. Comment faire pour permettre la multiprogrammation, c’est-à-dire :
a. plusieurs processus qui tournent sur la même mémoire physique
b. plusieurs utilisateurs qui utilisent la même machine, donc la même mémoire physique sans que
c. un processus puisse corrompre la mémoire d’un autre
d. l’on tombe à court de mémoire, parce que la somme des besoins des processus excède
la mémoire physique
Dans un système d’exploitation, c’est le gestionnaire de mémoire (« memory manager ») qui se
charge de répondre à ces questions.

2. Le va-et-vient (swapping) :
Consiste à utiliser la mémoire secondaire pour combler les besoins en mémoire des processus. Cette
mémoire secondaire est plus lente, mais elle est très importante dans les systèmes modernes.
Le va-et-vient est mis en œuvre lorsque tous les processus ne peuvent tenir simultanément en
mémoire. On doit alors en déplacer temporairement certains sur une mémoire provisoire, en
général, une partie réservée du disque (swap file, ou fichier d’échange).
Sur le disque, la zone de va-et-vient d’un processus peut être allouée à la demande dans la zone de
va-et-vient générale (swap file). Quand un processus est déchargé de la mémoire centrale, on lui
recherche une place. Les places de va-et-vient sont gérées de la même manière que la mémoire
centrale. La zone de va-et-vient d’un processus peut aussi être allouée une fois pour toute au début
de l’exécution. Lors du déchargement, le processus est sûr d’avoir une zone d’attente libre sur le
disque.
Le système de va-et-vient, s’il permet de pallier le manque de mémoire nécessaire à plusieurs
utilisateurs, n’autorise cependant pas l’exécution de programmes de taille supérieure à celle de la
mémoire centrale. Les stratégies qui suivent solutionnent ces problèmes.

3. La mémoire virtuelle :
La mémoire virtuelle est une technique grâce à laquelle on peut considérer la mémoire centrale
comme de taille infinie. En réalité, les programmes sont stockés sur disque dur et ils sont chargés en
mémoire centrale au fur et à mesure que cela est possible.
Le principe de la mémoire virtuelle est couramment implémenté avec la pagination à la demande;
c'est-à-dire que les pages des processus ne sont chargées en MC que lorsque le processeur demande
à y accéder.
Lorsque qu'un processus tente d'accéder à une page de son espace d'adressage qui n'est pas en
mémoire centrale, il se produit alors un défaut de page : c'est un déroutement qui oblige le
processeur à suspendre l'exécution du programme en cours pour lancer une entrée/sortie qui charge
la page manquante en mémoire centrale dans une case libre.

1/3
Université de Blida 1 Système d’exploitation
Département d’informatique 2ème année LMD

Lors d'un défaut de page, la page manquante est chargée dans une case libre. La totalité des cases de
la mémoire centrale peut être occupée : il faut donc libérer une case de la mémoire physique. Le
système d'exploitation utilise un algorithme pour choisir une case à libérer.

4. Mécanisme :
Chaque entrée de la table de pages possède au minimum deux champs : le cadre de page et le bit
d’entrée/sortie (in ou out). Lorsqu’une adresse virtuelle est générée, le matériel de gestion de
mémoire extrait le numéro de page de l’adresse et l’entrée adéquate de la table de pages est alors
accessible. Le bit d’entrée sortie est vérifié. Si la page se trouve en mémoire, l’adresse physique est
générée en ajoutant l’offset (déplacement) de la page au numéro de cadre de page. Si la page ne se
trouve pas en mémoire, un défaut de page survient transférant le contrôle de la routine du défaut de
page dans le système d’exploitation.
Lorsqu’un défaut de page se produit, le système d’exploitation recherche s’il y’a un cadre de page
libre pour introduire la page demandée. Sinon, il sélectionne une page à transférer (remplacement)
dans la mémoire auxiliaire en mettant le bit d’entrée/sortie à «out ».

5. Algorithmes de remplacement de pages :


L’algorithme qui sélectionne la page à transférer est appelé algorithme de remplacement de page.
Un algorithme de remplacement de page doit minimiser le nombre de défaut de page (Page Faults).
On recherche l'algorithme qui réduit au mieux les défauts de page.

5.1 FIFO :
Sélectionne la page qui est restée en mémoire pendant le plus longtemps. Pour le mettre en œuvre,
les entrées de la table de pages doivent comporter un champ pour indiquer l’heure d’introduction en
mémoire.

5.2 LRU: (Least Recently Used):


Avec l'algorithme LRU, la page la moins récemment utilisée est retirée. Il conserve pour sa part
l’heure à laquelle chaque page a été utilisée pour la dernière fois et non pas quand elle a été
introduite. Il part du principe que les pages qui ont été récemment utilisées le seront dans un proche
avenir, alors que les pages qui n'ont pas été utilisées depuis longtemps ne sont plus utiles.

5.3 Optimal :
L'algorithme optimal consiste à retirer la page qui sera référencée le plus tard possible dans le futur :
la page pour laquelle la prochaine référence est la plus éloignée dans le temps(Retirer la page qui
sera référencée le plus tard possible).

5.4 Horloge :
Dans cet algorithme, les pages en mémoire sont mémorisées dans une liste circulaire en forme
d'horloge : Un indicateur pointe sur la page la plus ancienne selon FIFO. Lorsqu'un défaut de page se
produit, la page pointée par l'indicateur est examinée. Si le bit de référence R de la page pointée par
l'indicateur est à 0, la page est retirée, la nouvelle page est insérée à sa place et l'indicateur avance
d'une position. Sinon, il est mis à 0 et l'indicateur avance d'une position. Cette opération est répétée

2/3
Université de Blida 1 Système d’exploitation
Département d’informatique 2ème année LMD

jusqu'à ce qu'une page, ayant R égal à 0 soit trouvée. À noter que lorsqu'une page est ajoutée, on
met son bit de référence à 1.

6. Paradoxe de Belady
Augmenter la taille mémoire ne diminue pas nécessairement les défauts de page.
Exemple : Soit la suite d'accès suivante aux pages 0 à 4 : 0 1 2 3 0 1 4 0 1 2 3 4
Déroulement sur une mémoire à 3 pages avec FIFO donne 9 défauts de pages.
Déroulement sur une mémoire à 4 pages avec FIFO donne 10 défauts de pages.

3/3

Оценить