Professional Documents
Culture Documents
RAD
RDO
Bus données
Bus adresses, (adresse physique)
Bus commandes
PROGRAMME Élu
P2 prêt
UTILISATEUR 1 bloqué
processus P1 processus P2 Actif
PROGRAMME CPU
inactif
UTILISATEUR 2
E/S processus P1
Actif
DMA
inactif
Joëlle Delacroix NFA003 3
Multiprogrammation et gestion mémoire
allocation en partitions
fixes ou variables espace d'adressage paginé
espace d'adressage segmenté
Programme 5 Programme 5
adr
taille ZONE Zone libre
LIBRE
Initialement à l'instant t à l'instant t'
Joëlle Delacroix NFA003 8
Allocation First Fit
0 0
n Système Système
n
Zone libre 60K Zone libre 60K
Programme 6 80K Programme 6
Zone libre 120K Programme 7
Programme 7 40K
Programme 3 Programme 3
0 0
n Système Système
n
Zone libre 60K Zone libre 60K
Programme 6 80K Programme 6
Zone libre 120K Zone libre 120 K
Programme 7
Programme 3 Programme 3
Programme 7 Programme 5
20K
Programme 5
350 K
Zone libre Zone libre
150K
Fragmentation
Joëlle Delacroix 350 K NFA003 11
Compactage de la mémoire
Editeur de texte
Adresse d'implantation
en mémoire centrale
Compilateur
adr
+
adresse d'implantation
Chargeur
Editeur de liens
Chargement
programme relogeable 0 statique
adr
Exécutable sur disque
Exécutable en mémoire
Editeur de texte
Adresse d'implantation
en mémoire centrale
Compilateur
adr
Registre de base
Chargement
programme relogeable 0 dynamique
adr
Exécutable sur disque
Exécutable en mémoire
1024 PCB
Adresse d'implantation
en mémoire centrale
MMU : Memory Management Unit 1024 16
MMU 1040
Load D R1 16 RI +
1024
Registre de base
CPU
Adresse physique = 1040
Bus adresse
Exécutable en mémoire
Joëlle Delacroix NFA003 15
Compactage
100 PCB
1000 PCB
100 adr
1000
Registre de base
adr
1024
Base PCB
Lim Limite Base
1024
Base Adresse
16
Adresse logique physique
oui
Limite < +
16 16 1040
Programme P
Limite
Non
Erreur d’adressage
Registres Bornes
L’espace d’adresse logiques est différent de l’espace d’adresse physique
De la MMU
Joëlle Delacroix NFA003 17
Faiblesses de l'allocation d'un seul tenant
0 0
Page 1 512 octets
Page 2
Load R1 D 1048
Page 4 Load R1 D (Page 3, dep 24)
Espace d'adressage
Espace d'adressage
du programme
du programme
PAGINE
LINEAIRE
Adresse paginée (logique)
Adresse linéaire
(n° de page, déplacement dans la page depuis 0)
(déplacement depuis 0)
Joëlle Delacroix NFA003 20
La pagination
Page 1 Case 4
Page 2 Case 5
Page 3
Numéro adresse
Page 1 page case O_USER
Case 1
O_USER + 256
Page 2 1 Adr C2 Page 1
(O_User + 256) Case 2
Page 3 Page 3
Adr C6 Case 3
2 (O_User + 1280)
Page 4 Case 4
Adr C3
Case 5
3 (O_User + 512)
O_USER + 1536 Page 2 128
Espace d'adressage Case 6
4 Adr C7
(O_User + 1536) Page 4
Case 7
• Ces structures sont des tables logicielles pointées depuis le PCB de chaque processus.
Un registre du processeur repère à tout moment l’adresse en mémoire centrale de la
table des pages du processus actif
– commuter de processus = charger le registre PTBR avec l'adresse de la table des
pages du processus
Table des pages
et PCB
PA PB
PSW PA
PCB PB
CO PB
PCB PA Case 1
O_User
A PTBR PSW PB Case 2
Case 3
B PTBR Case 4
Case 5
Joëlle Delacroix NFA003 26
La mémoire paginée : accès à un mot physique
Table des pages
(P2, 128) O_USER
Page 3
d
O_USER +
Registre adresse (2) 1280 128
Adr case c
Table des pages + + Page 2 128
Mémoire
+
(2)
Pour convertir une adresse paginée en adresse physique, deux accès en lecture à la mémoire centrale sont
nécessaires :
1 accès pour lire l’entrée de la table des pages
1 accès pour lire le mot cherché
Afin de réduire les couts d’accès, on utilise un cache associatif qui mémorise les couples les plus
récemment formés (p, c)
Joëlle Delacroix NFA003 27
La mémoire paginée : accès à un mot physique
Table des pages
(P2, 128) O_USER
O_USER + 256
p d (128) Page 1
Page 3
d
128
Adr case
+ Page 2 128
Page 4
Mémoire
(2)
SUCCES
Page 3
d
O_USER +
Registre adresse (2) 1280 128
Adr case
Table des pages + + Page 2 128
Cache cpu
Page 3
p d Une portion de Page 2
Oui (succès)
L’association (p, c) Lire le mot (c,d) en MC
est elle dans le cache MMU ? Le copier dans le cache CPU avec ses voisins 1
Non (défaut)
2
2 processus
référencent
la même
page pour la
partager
Mémoire virtuelle
V N° de case physique
adresse table
6 case libre
+
Adresse
I
page disque
occupée
Joëlle Delacroix NFA003 41
Défaut de page
TP
Adresse logique
p 4. Reprise
d
instruction
Registre adresse
Table des pages
adresse table
6 case libre
2 Chargement de la page
+
V 6
3. Mise à jour table des pages
Pour i = 1 à 10 0 R1 1
Faire 1 R2 10
A(i) = 2; 2 comp R1, R2
B(i) = 5; 3 si R1 > R2 fin
i = i + 1; 4 A(R1) 2 Page 2 vecteur A
Fait 5 B(R1) 5
6 R1 R1 + 1
7 aller à 2
Page 1 code
Page 3 vecteur B
Page de 10 mots
3
2
Références aux pages : 11(112311)10 1
3
2
1
accès
Défaut de page
Chargement de P1 en MC
Chaine de référence
7 0 1 2 0 3 0 4 2 3 0
7 7 7 2 2 2 2 4 4 4 0
0 0 0 0 3 3 3 2 2 2
1 1 1 1 0 0 0 3 3
D D D D D D D D D D
Chaine de référence
7 0 1 2 0 3 0 4 2 3 0
7 7 7 2 2 2 2 4 4 4 0
0 0 0 0 0 0 0 0 3 3
1 1 1 3 3 3 2 2 2
D D D D D D D D D
7 0 1
Pertinent, mais couteux
7 0 1 2 0
A M V N° de case physique
• Champ Accès :
FIFO : date de chargement
LRU : date de dernier accès
Ch
a rge
Registre adresse me
Table des pages nt
d
Ec
ag
r
e
itu
adresse table
re
de
6
la
pa
ge
+
Adresse
I page disque
Adresse 10
V M 10
page disque
Exemple de Linux
Champ age
Question 1
Représentez sur un schéma les structures de données (tables des pages et mémoire centrale)
correspondant à l’allocation décrite.
Question 2
Le processus PA accède à l’adresse linéaire 804 dans son espace d’adressage Donnez l’adresse paginée
puis l’adresse physique correspondante.
Le processus PB accède à l’adresse linéaire 804 dans son espace d’adressage Donnez l’adresse paginée
puis l’adresse physique correspondante.
Le processus PC accède à l’adresse linéaire 2544 dans son espace d’adressage Donnez l’adresse paginée
puis l’adresse physique correspondante.