Click here to load reader
View
218
Download
0
Embed Size (px)
Systmes dExploitation - ENSIN6U3Gestion de la mmoire
Leonardo Brenner 1 Jean-Luc Massat 2
Aix-Marseille UniversitFacult des Sciences
Table de matire
1 Gnralits
2 Le partage de la mmoireAllocation de mmoireAllocation de la mmoire contiguAllocation non-contigu : la paginationSegmentation
3 La mmoire virtuelleAlgorithmes de remplacement
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 2 / 61
Gnralits
Table de matire
1 Gnralits
2 Le partage de la mmoireAllocation de mmoireAllocation de la mmoire contiguAllocation non-contigu : la paginationSegmentation
3 La mmoire virtuelleAlgorithmes de remplacement
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 3 / 61
Gnralits
Gnralits
Notion de mmoire
La mmoire est une ressource :
partageable / non partageable
rquisitionnable / non rquisitionnable
reutilisable
Mmoire dun processus
Chaque processus travail dans un mmoire logique qui est vu comme untableau de cases mmoire.
Mmoire logique
Cette mmoire logique est dite linaire car les cases qui la composent sontcontigus. Ces cases sont repres par des entiers conscutifs qui sontappels des adresses logiques.
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 4 / 61
Gnralits
Adresses logiques vs. adresses physiques
Gnration dadresses
Lors de lexcution, chaque processus P gnre des adresses logiques.A loppos, les cases de la mmoire physique sont repres par desadresses physiques.
Adresses logiques :
priv au le programme, utilis par lunit centrale.
Adresses physiques :
accs la mmoire, instructions de lecture/criture de/ un registre,
la MMU ( memory management unit ) transforme les adresses logiquesen adresses physiques.
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 5 / 61
Gnralits
Catgories de mmoire
Organisation de la mmoire
partition unique
partitions fixes
Correspondance fixe
partitions variables
Mm. logique contigu
Mm. physique contigu Mm. physique non contigu
mmoire pagine
mmoire virtuelle pagine
Mm. logique non contigu
mmoire segmente mmoire segmente pagine
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 6 / 61
Le partage de la mmoire
Table de matire
1 Gnralits
2 Le partage de la mmoireAllocation de mmoireAllocation de la mmoire contiguAllocation non-contigu : la paginationSegmentation
3 La mmoire virtuelleAlgorithmes de remplacement
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 7 / 61
Le partage de la mmoire Allocation de mmoire
Allocation de mmoire
Correspondance entre adresses
La correspondance entre adresses logiques et adresses physiques :
statique (tablie une seule fois) ;
dynamique (variable dans le temps).
Gestion de la mmoire physique
Partage de donnes entre processus ;
Protection de chaque processus.
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 8 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Systme partition unique (1/2)
Va-et-vient ou swapping
Un seul processus est plac en mmoire la fois.
S.E. partition unique mmoire
RB
RL
Caractristiques
les processus sont tous et toujours la mme adresse physique ;
la correspondance logique/physique est rgle lors de la compilation oudu chargement ;
la rquisition de la CPU entrane la sauvegarde de la partition et lechargement dun nouveau processus ;
la CPU est inutilise durant les sauvegardes/rcuprations.
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 9 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Systme partition unique (2/2)
Protection
La protection est possible par le jeu des deux registres spcialises RB(registre de base) et RL (registre limite).
Sauvegarde
Pour limiter les E/S, le systme sauvegarde uniquement les zones de lapartition qui ont t modifies et/ou applique lalgorithme des peluresdoignons.
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 10 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Les recouvrements
Objectifs
Limiter la taille de la mmoire occupe par le code du programme.
Caractristiques
les programmes de taille importante sont dcoups en plusieurs partiesindpendantes ;
une partie reste systmatiquement en mmoire, cest la racine durecouvrement ;
les autres parties sont charges en mmoire la demande.
mmoire physique
A B C
A B
A C
configuration 1
configuration 2
programme (3 parties)
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 11 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Systme partitions fixes
A(1) C(2) B(1)
C(2) A(1) B(1) C(2)
Canal.
U.C.
sauvegarde
chargement
programme(zone)
S.E. zone 1 zone 2
A
B
C
mmoire
programmes
Allocation de la mmoire
Chronogramme d'activit
Caractristiques
la mmoire est divise en zones de taille fixe (spcialisation) ;
les processus sexcutent toujours dans la mme zone ;
pendant les changes sur la zone 1, un autre processus sexcute sur la zone 2 ;
la correspondance logique/physique est rgle lors de la compilation ou duchargement ;
protection possible par les registres RB et RL.Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 12 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Systme partitions variables
5
2
1
0
C
B
A
155
152
151
150
C
B
A
3
4
D
E
F
153
154
D
E
F
+
6
3 < RL
RL
150
RB
3
droutement surerreur d'adressage
oui
non
Caractristiques
les partitions sont alloues et libres la demande (cration ou fin dunprocessus) ;
le registre de base (RB) pointe sur la partition et le registre limite (RL) en indiquela taille.
Les processus gnrent des adresses logiques comprises entre 0 et RL-1 ;
RB et RL sont utiliss par la CPU pour traduire ces adresses en adressesphysiques chaque accs mmoire.
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 13 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Allocation par chanage des zones libres
Zones libres
Les zones libres sont places dans une liste chane.
O placer les processus ?
Il existe plusieurs stratgies de recherche :
First-fit : premire zone libre suffisamment grande ;Best-fit : meilleur ajustement pour utiliser au mieux les zones libres :
il faut parcourir toutes les zones ;il reste des petits rsidus inutilisables.
Worst-fit : plus grand rsiducombat lmiettement.
Algorithmes spcialiss.
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 14 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Algorithmes dordonnancement (1/3)
First fit
NoyauProc1
Proc2
+ Proc3
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 15 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Algorithmes dordonnancement (1/3)
First fit
NoyauProc1
Proc2
+ Proc3
NoyauProc1
Proc3
Proc2
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 15 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Algorithmes dordonnancement (2/3)
Best fit
NoyauProc1
Proc2
+ Proc3
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 16 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Algorithmes dordonnancement (2/3)
Best fit
NoyauProc1
Proc2
+ Proc3
NoyauProc1
Proc2Proc3
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 16 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Algorithmes dordonnancement (3/3)
Worst fit
NoyauProc1
Proc2
+ Proc3
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 17 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Algorithmes dordonnancement (3/3)
Worst fit
NoyauProc1
Proc2
+ Proc3
NoyauProc1
Proc3
Proc2
Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 17 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Allocation par subdivision (buddy system)
Taille des zones
La taille des zones suit une rgle dfinie par une relation de rcurrence :
binaire : (1, 2, 4, 8, ...) Si+1 = 2 Sifibonacci : (1, 2, 3, 5, 8, ...) Si+1 = Si + Si1
Zones libres
Il existe une liste de zones libres pour chaque taille.
allouer un bloc de taille T si il existe un bloc de taille T alors
renvoyer ce blocsinon
allouer un bloc de 2 T librer la deuxime partie de ce blocrenvoyer la premire partie
fin si
La recherche dune zone libre est rapide et il est facile de reconstruire deszones la libration.Leonardo Brenner , Jean-Luc Massat (AMU) Systmes dExploitation 18 / 61
Le partage de la mmoire Allocation de la mmoire contigu
Exemple dallocations/librations