5memoire Virtuelle
5memoire Virtuelle
5memoire Virtuelle
virtuelle
1
l Définition
5
Sans recours à la mémoire virtuelle, un processus est
entièrement chargé à des adresses contiguës
6
La pagination
7
• La taille d’une page est fixe et égale à celle d’une case.
Elle varie (en générale) entre 512 octets et 8 Ko.
8
• Il n’y a pas de fragmentation externe car toutes les
pages sont de même taille.
• Par contre, il peut y avoir une fragmentation interne si la
dernière page de l’espace d’adressage logique n’est pas
pleine.
9
Adresses
10
Table des pages
11
• La table des pages d’un processus doit être (en
totalité ou en partie) en mémoire centrale lors de
l’exécution du processus.
12
• Chaque entrée de la table des pages est
composée de plusieurs champs, notamment :
13
• Les bits de protection, définissent le niveau de protection de la
page, en particulier si elle est partagée et quels sont ses droits
d’accès
• Le bit de présence, positionné si la page est présente en MC
• Le bit de modification (M), indique que la page a été modifiée
par rapport à sa version sur disque
La MMU reçoit, en entrée une adresse virtuelle et envoie en
sortie l'adresse physique ou provoque un déroutement.
4 bits pour le numéro de la page à 24 = 16 pages
12 bits pour adresser l’ensemble des 4096 octets d’une
17
page
• Pour les adresses physiques: nous avons 8
pages de 4096 octets chacune : soit 23 x 212 = 215
adresses à l’adressage se fait sur 15 bits.
18
L’adresse virtuelle sur 16 bits qui arrive au MMU
est divisée en deux parties: un numéro de page
sur 4 bits et un décalage sur 12 bits
19
• La MMU examine l'entrée dans la Table de
pages correspondant au numéro de page,
• Si le bit de présence est à 0, la page n'est pas
en mémoire MC alors le MMU provoque un
déroutement et le processeur est rendu au SE.
20
• Si le bit de présence est à 1, Rappelons l’adresse
physique est sur 15 bits
21
• L'adresse virtuelle 8196=0010 0000 00000100 (en binaire)
22
Algorithmes de remplacement de page
• A la suite d'un défaut de page, le système d'exploitation doit
ramener en mémoire la page manquante à partir du disque.
• S'il n'y a pas de cadres libres en mémoire, il doit retirer une
page de la mémoire pour la remplacer par celle demandée.
23
• Quelle est la page à retirer de manière à minimiser le
nombre de défauts de page ?
24
Algorithme de remplacement optimal (Algorithme de
Belady)
• Cet algorithme et le meilleur possible, car il minimise le nombre de
défauts de page
• Le SE indexe chaque page par le nombre d'instructions qui seront
exécutées avant qu'elle ne soit référencée.
• En cas de nécessité, le SE retire la page d'indice le plus élevé, c'est à
dire la page qui sera référencée dans le futur le plus lointain.
• Toutefois, avec un simulateur, on peut évaluer les performances de cet
algorithme et s'en servir comme référence pour les suivants
25
Exemple: Soit un système avec 3 cases de RAM et une
suite de références w = {7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1}.
La suite de références est constituée de la liste des numéros des
pages virtuelles accédées dans le temps,
Chaque élément de ligne i et colonne j montre la page chargée dans la
case i après avoir été référencée.
26
Remplacement de la page non récemment utilisée
(NRU, Not Recently Used)
• Cet algorithme utilise les bits R et M associés à chaque page pour
déterminer les pages non récemment utilisées.
• Le bit M est positionné lorsque la page est modifiée (elle n'est plus
identique à sa copie sur disque).
27
• Lorsqu'un défaut de page se produit, l'algorithme NRU
sélectionne la page à retirer en procédant comme suit :
- Sinon, il vérifie s'il existe des pages non référencées et
modifiées (R=0 et M=1). Si c'est le cas, il sélectionne une
page et la retire (une sauvegarde sur disque de la page
retirée est nécessaire).
- Sinon, il vérifie s'il existe des pages référencées et non
modifiées (R=1 et M=0). Si c'est le cas, il sélectionne une
page et la retire.
- Sinon, il sélectionne une page référencée et modifiée et la
retire (R=1 et M=1). Dans ce cas, une sauvegarde sur disque
28
de la page retirée est nécessaire.
On peut organiser l’ensemble des pages ainsi:
29
Remplacement de page FIFO
• Lorsqu'un défaut de page se produit, il retire la plus
ancienne, c'est à dire celle qui se trouve en tête de
file.
30
• Anomalie de Belady ( contre exemple de belady)
pour FIFO
31
Anomalie de Belady:
Exemple avec 3 cadres
32
Remplacement de la page la moins récemment utilisée
(LRU = Least Recently Used)
• En raison de la localité des références, il s’agit de la
page qui a le moins de chance d’être référencée
33
Exemple LRU avec 3 cases
Nombre d'accès:
20
Fautes de page:
15
(75%)
34
Algorithme de l’horloge (seconde chance)
• Semblable à FIFO, mais les cadres qui viennent d’être utilisés (bit=1) ne sont
pas touchés (deuxième chance)
• les pages en mémoire sont mémorisées dans une liste circulaire en
forme d'horloge
• Lorsqu’un défaut de page se produit, les pages sont examinées, une
par une, en commençant par celle pointée par l’indicateur.
• Si le bit R d’une page examinée est 1, il est mis à 0.
35
36
Écroulement du système
• Si le système passe plus de temps à traiter les défauts de page qu'à
exécuter des processus on peut avoir des problème de l'écroulement du
système.
37
• On peut limiter le risque d'écroulement en surveillant le
nombre de défauts de page provoqués par un processus
• S'il n'y a plus de pages disponibles et trop de défauts de
pages, on devra suspendre un des processus.
38
La segmentation
• Chaque segment est repéré par son numéro S et sa longueur
variable L.
40
• Contrairement à la pagination, une adresse n'est plus
donnée de façon absolue par rapport au début de
l'adressage virtuel;; une adresse est donnée par un couple
(S , d), où S est le n° du segment et d le déplacement
dans le segment, d ∈ [0 , L [ .
41
S d
.............
B L p
descripteur de segment
............
L'adresse physique correspondant à l'adresse virtuelle (S , d) sera donc B + d, si d
<= L
La segmentation simplifie la gestion des objets communs (rangés chacun dans un
42
segment), notamment si leur taille évolue dynamiquement.
• La segmentation peut être combinée avec la pagination :
Chaque segment est composé d’un ensemble de pages.
43