Académique Documents
Professionnel Documents
Culture Documents
Luigi Santocanale
Laboratoire dInformatique Fondamentale, Centre de Math ematiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille
7 d ecembre 2005
Luigi Santocanale
La gestion de la m emoire
Plan
Pr eambule Le partage de la m emoire Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation La m emoire virtuelle Les limites du swap La pagination ` a la demande Algorithmes de remplacement de pages
Luigi Santocanale
La gestion de la m emoire
Les m emoires
Luigi Santocanale
La gestion de la m emoire
Les m emoires
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Plan
1 2
Pr eambule Le partage de la m emoire Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation La m emoire virtuelle Les limites du swap La pagination ` a la demande Algorithmes de remplacement de pages
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Adresses physiques : acc` es ` a la m emoire, instructions de lecture/ ecriture de/` a un registre, la MMU ((( memory management unit ) )) transforme les adresses logiques en adresses physiques.
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Adresses physiques : acc` es ` a la m emoire, instructions de lecture/ ecriture de/` a un registre, la MMU ((( memory management unit ) )) transforme les adresses logiques en adresses physiques.
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Plan
1 2
Pr eambule Le partage de la m emoire Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation La m emoire virtuelle Les limites du swap La pagination ` a la demande Algorithmes de remplacement de pages
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Le swap
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Le swap
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Le swap
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Le swap
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Le swap
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Le swap
Luigi Santocanale
La gestion de la m emoire
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Moniteur Probl` emes : Proc1 Proc2 Protection entre processus Allocation de la m emoire aux processus (ordonnancement)
Procn
Luigi Santocanale
La gestion de la m emoire
10
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Luigi Santocanale
La gestion de la m emoire
11
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Ordonnancement en m emoire
Comment choisir lendroit o` u charger un nouveaux processus : First-t : premier bloc susamment grand. Best-t : plus petit bloc susamment grand. Worst-t : le bloc qui nous laisse le plus grand bloc libre (le plus grand bloc).
Luigi Santocanale
La gestion de la m emoire
12
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Ordonnancement en m emoire
Comment choisir lendroit o` u charger un nouveaux processus : First-t : premier bloc susamment grand. Best-t : plus petit bloc susamment grand. Worst-t : le bloc qui nous laisse le plus grand bloc libre (le plus grand bloc).
Luigi Santocanale
La gestion de la m emoire
12
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Ordonnancement en m emoire
Comment choisir lendroit o` u charger un nouveaux processus : First-t : premier bloc susamment grand. Best-t : plus petit bloc susamment grand. Worst-t : le bloc qui nous laisse le plus grand bloc libre (le plus grand bloc).
Luigi Santocanale
La gestion de la m emoire
12
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Ordonnancement en m emoire
Comment choisir lendroit o` u charger un nouveaux processus : First-t : premier bloc susamment grand. Best-t : plus petit bloc susamment grand. Worst-t : le bloc qui nous laisse le plus grand bloc libre (le plus grand bloc).
Luigi Santocanale
La gestion de la m emoire
12
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Ordonnancement en m emoire
Comment choisir lendroit o` u charger un nouveaux processus : First-t : premier bloc susamment grand. Best-t : plus petit bloc susamment grand. Worst-t : le bloc qui nous laisse le plus grand bloc libre (le plus grand bloc).
Luigi Santocanale
La gestion de la m emoire
12
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Ordonnancement en m emoire
Comment choisir lendroit o` u charger un nouveaux processus : First-t : premier bloc susamment grand. Best-t : plus petit bloc susamment grand. Worst-t : le bloc qui nous laisse le plus grand bloc libre (le plus grand bloc).
Luigi Santocanale
La gestion de la m emoire
12
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
First t
Noyeau Proc1 Noyeau Proc1
Proc3 + Proc3
Proc2
Proc2
Luigi Santocanale
La gestion de la m emoire
13
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
First t
Noyeau Proc1 Noyeau Proc1
Proc3 + Proc3
Proc2
Proc2
Luigi Santocanale
La gestion de la m emoire
13
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Proc3
Proc2
Proc2 Proc3
Luigi Santocanale
La gestion de la m emoire
14
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Proc3
Proc2
Proc2 Proc3
Luigi Santocanale
La gestion de la m emoire
14
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Le compactage
Solution ` a la fragmentation.
Luigi Santocanale
La gestion de la m emoire
15
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Le compactage
Solution ` a la fragmentation. Exemples :
Luigi Santocanale
La gestion de la m emoire
15
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Plan
1 2
Pr eambule Le partage de la m emoire Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation La m emoire virtuelle Les limites du swap La pagination ` a la demande Algorithmes de remplacement de pages
Luigi Santocanale
La gestion de la m emoire
16
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination
But : solution ` a la fragmentation, Voir : la gestion de lespace sur disque, les bloques. La m emoire logique est d ecoup ee en pages. Une adresse logique est d ecoup ee en une couple : (page, d eplacement) Si A = adresse logique, alors page = A/T , d eplacement = A%T T = taille de page
Luigi Santocanale
La gestion de la m emoire
17
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination
But : solution ` a la fragmentation, Voir : la gestion de lespace sur disque, les bloques. La m emoire logique est d ecoup ee en pages. Une adresse logique est d ecoup ee en une couple : (page, d eplacement) Si A = adresse logique, alors page = A/T , d eplacement = A%T T = taille de page
Luigi Santocanale
La gestion de la m emoire
17
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination
But : solution ` a la fragmentation, Voir : la gestion de lespace sur disque, les bloques. La m emoire logique est d ecoup ee en pages. Une adresse logique est d ecoup ee en une couple : (page, d eplacement) Si A = adresse logique, alors page = A/T , d eplacement = A%T T = taille de page
Luigi Santocanale
La gestion de la m emoire
17
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination
But : solution ` a la fragmentation, Voir : la gestion de lespace sur disque, les bloques. La m emoire logique est d ecoup ee en pages. Une adresse logique est d ecoup ee en une couple : (page, d eplacement) Si A = adresse logique, alors page = A/T , d eplacement = A%T T = taille de page
Luigi Santocanale
La gestion de la m emoire
17
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination
But : solution ` a la fragmentation, Voir : la gestion de lespace sur disque, les bloques. La m emoire logique est d ecoup ee en pages. Une adresse logique est d ecoup ee en une couple : (page, d eplacement) Si A = adresse logique, alors page = A/T , d eplacement = A%T T = taille de page
Luigi Santocanale
La gestion de la m emoire
17
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination (II)
La m emoire physique est d ecoup ee en cadres de page (m eme taille dune page). Adresses physique est un couple (f , d ), cadre de pages et d eplacement. A chaque page logique p peut correspondre un cadre de page f = f (p ). Cette correspondance est maintenue dans la table des pages. La MMU (memory management unit) calcule un adresse physique ` a partir dun adresse logique selon la formule phys (p , d ) = (f (p ), d ) . Gestion de la multiprogrammation : Le PTBR, registre de base de la table de pages, ( ( page-table base register ) ).
Luigi Santocanale La gestion de la m emoire 18
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination (II)
La m emoire physique est d ecoup ee en cadres de page (m eme taille dune page). Adresses physique est un couple (f , d ), cadre de pages et d eplacement. A chaque page logique p peut correspondre un cadre de page f = f (p ). Cette correspondance est maintenue dans la table des pages. La MMU (memory management unit) calcule un adresse physique ` a partir dun adresse logique selon la formule phys (p , d ) = (f (p ), d ) . Gestion de la multiprogrammation : Le PTBR, registre de base de la table de pages, ( ( page-table base register ) ).
Luigi Santocanale La gestion de la m emoire 18
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination (II)
La m emoire physique est d ecoup ee en cadres de page (m eme taille dune page). Adresses physique est un couple (f , d ), cadre de pages et d eplacement. A chaque page logique p peut correspondre un cadre de page f = f (p ). Cette correspondance est maintenue dans la table des pages. La MMU (memory management unit) calcule un adresse physique ` a partir dun adresse logique selon la formule phys (p , d ) = (f (p ), d ) . Gestion de la multiprogrammation : Le PTBR, registre de base de la table de pages, ( ( page-table base register ) ).
Luigi Santocanale La gestion de la m emoire 18
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination (II)
La m emoire physique est d ecoup ee en cadres de page (m eme taille dune page). Adresses physique est un couple (f , d ), cadre de pages et d eplacement. A chaque page logique p peut correspondre un cadre de page f = f (p ). Cette correspondance est maintenue dans la table des pages. La MMU (memory management unit) calcule un adresse physique ` a partir dun adresse logique selon la formule phys (p , d ) = (f (p ), d ) . Gestion de la multiprogrammation : Le PTBR, registre de base de la table de pages, ( ( page-table base register ) ).
Luigi Santocanale La gestion de la m emoire 18
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination (II)
La m emoire physique est d ecoup ee en cadres de page (m eme taille dune page). Adresses physique est un couple (f , d ), cadre de pages et d eplacement. A chaque page logique p peut correspondre un cadre de page f = f (p ). Cette correspondance est maintenue dans la table des pages. La MMU (memory management unit) calcule un adresse physique ` a partir dun adresse logique selon la formule phys (p , d ) = (f (p ), d ) . Gestion de la multiprogrammation : Le PTBR, registre de base de la table de pages, ( ( page-table base register ) ).
Luigi Santocanale La gestion de la m emoire 18
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination (II)
La m emoire physique est d ecoup ee en cadres de page (m eme taille dune page). Adresses physique est un couple (f , d ), cadre de pages et d eplacement. A chaque page logique p peut correspondre un cadre de page f = f (p ). Cette correspondance est maintenue dans la table des pages. La MMU (memory management unit) calcule un adresse physique ` a partir dun adresse logique selon la formule phys (p , d ) = (f (p ), d ) . Gestion de la multiprogrammation : Le PTBR, registre de base de la table de pages, ( ( page-table base register ) ).
Luigi Santocanale La gestion de la m emoire 18
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La pagination (II)
La m emoire physique est d ecoup ee en cadres de page (m eme taille dune page). Adresses physique est un couple (f , d ), cadre de pages et d eplacement. A chaque page logique p peut correspondre un cadre de page f = f (p ). Cette correspondance est maintenue dans la table des pages. La MMU (memory management unit) calcule un adresse physique ` a partir dun adresse logique selon la formule phys (p , d ) = (f (p ), d ) . Gestion de la multiprogrammation : Le PTBR, registre de base de la table de pages, ( ( page-table base register ) ).
Luigi Santocanale La gestion de la m emoire 18
Exemple
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Luigi Santocanale
La gestion de la m emoire
21
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Luigi Santocanale
La gestion de la m emoire
21
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
taux de pr esence = 0, 80 temps dun acc` es en m emoire = 100 nanosecondes temps dacc` es aux TLBs = 20 nanosecondes temps eectif dacc` es en m emoire = 0, 8 120 + 0, 2 220 nanosecondes
Luigi Santocanale La gestion de la m emoire 22
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
taux de pr esence = 0, 80 temps dun acc` es en m emoire = 100 nanosecondes temps dacc` es aux TLBs = 20 nanosecondes temps eectif dacc` es en m emoire = 0, 8 120 + 0, 2 220 nanosecondes
Luigi Santocanale La gestion de la m emoire 22
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
Plan
1 2
Pr eambule Le partage de la m emoire Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation La m emoire virtuelle Les limites du swap La pagination ` a la demande Algorithmes de remplacement de pages
Luigi Santocanale
La gestion de la m emoire
24
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La m emoire segment ee
But : Partage des ressources (le code) entre plusieurs programmes. Organisation de la m emoire en unit es logiques :
code (TEXT), donn ees statiques initialis es (DATA), donn ees statiques non initialis es (BSS), donn ees dynamiques (TAS), pile dex ecution.
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La m emoire segment ee
But : Partage des ressources (le code) entre plusieurs programmes. Organisation de la m emoire en unit es logiques :
code (TEXT), donn ees statiques initialis es (DATA), donn ees statiques non initialis es (BSS), donn ees dynamiques (TAS), pile dex ecution.
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
La m emoire segment ee
But : Partage des ressources (le code) entre plusieurs programmes. Organisation de la m emoire en unit es logiques :
code (TEXT), donn ees statiques initialis es (DATA), donn ees statiques non initialis es (BSS), donn ees dynamiques (TAS), pile dex ecution.
(Linux
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
. . . sur un x86
GDT : Global descriptor table. Description des adresses et attributs des segments partag es. Appartient aux noyau. LDT : Local descriptor table. Description des adresses et attributs des segments appartenant ` a un processus donn e. Appartient au processus.
gdtr,
Luigi Santocanale
La gestion de la m emoire
27
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
. . . sur un x86
GDT : Global descriptor table. Description des adresses et attributs des segments partag es. Appartient aux noyau. LDT : Local descriptor table. Description des adresses et attributs des segments appartenant ` a un processus donn e. Appartient au processus.
gdtr,
Luigi Santocanale
La gestion de la m emoire
27
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
. . . sur un x86
GDT : Global descriptor table. Description des adresses et attributs des segments partag es. Appartient aux noyau. LDT : Local descriptor table. Description des adresses et attributs des segments appartenant ` a un processus donn e. Appartient au processus.
gdtr,
Luigi Santocanale
La gestion de la m emoire
27
Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation
. . . sur un x86
GDT : Global descriptor table. Description des adresses et attributs des segments partag es. Appartient aux noyau. LDT : Local descriptor table. Description des adresses et attributs des segments appartenant ` a un processus donn e. Appartient au processus.
gdtr,
Luigi Santocanale
La gestion de la m emoire
27
. . . sur un x86
(Silberschatz-Galvin)
Plan
1 2
Pr eambule Le partage de la m emoire Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation La m emoire virtuelle Les limites du swap La pagination ` a la demande Algorithmes de remplacement de pages
Luigi Santocanale
La gestion de la m emoire
29
Remarques : portions du code tr` es souvent utilis es, portions du code peu souvent utilis es, de m eme, pour les donn ees.
Luigi Santocanale
La gestion de la m emoire
30
Remarques : portions du code tr` es souvent utilis es, portions du code peu souvent utilis es, de m eme, pour les donn ees.
Luigi Santocanale
La gestion de la m emoire
30
Solutions
Les ( ( overlays )) : morceaux dun programme charg e en m emoire de fa con s equentielle. Chargement dynamique : une fonction est charg ee en m emoire seulement ` a son appel. Probl` emes: le travail est laiss e au programmeur.
Luigi Santocanale
La gestion de la m emoire
31
Solutions
Les ( ( overlays )) : morceaux dun programme charg e en m emoire de fa con s equentielle. Chargement dynamique : une fonction est charg ee en m emoire seulement ` a son appel. Probl` emes: le travail est laiss e au programmeur.
Luigi Santocanale
La gestion de la m emoire
31
Solutions
Les ( ( overlays )) : morceaux dun programme charg e en m emoire de fa con s equentielle. Chargement dynamique : une fonction est charg ee en m emoire seulement ` a son appel. Probl` emes: le travail est laiss e au programmeur.
Luigi Santocanale
La gestion de la m emoire
31
Plan
1 2
Pr eambule Le partage de la m emoire Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation La m emoire virtuelle Les limites du swap La pagination ` a la demande Algorithmes de remplacement de pages
Luigi Santocanale
La gestion de la m emoire
32
Luigi Santocanale
La gestion de la m emoire
33
Luigi Santocanale
La gestion de la m emoire
33
Luigi Santocanale
La gestion de la m emoire
33
Luigi Santocanale
La gestion de la m emoire
33
Luigi Santocanale
La gestion de la m emoire
33
Luigi Santocanale
La gestion de la m emoire
33
Luigi Santocanale
La gestion de la m emoire
33
Luigi Santocanale
La gestion de la m emoire
33
(Revuz 1998)
Co ut du Demand Paging
Calcul du co ut : temps eectif = (1 p ) ma + p (temps traitement) o` u p = probabilit e du Page Fault ma = temps acces ` a la m emoire Exemple : si ma = 1 microseconde temps traitement = 5000 microsecondes p = 1/1000 (un Page Fault chaque 1000 acc` es) alors temps eectif = (1 p ) + p 5000 = 5, 999
Luigi Santocanale La gestion de la m emoire 37
Co ut du Demand Paging
Calcul du co ut : temps eectif = (1 p ) ma + p (temps traitement) o` u p = probabilit e du Page Fault ma = temps acces ` a la m emoire Exemple : si ma = 1 microseconde temps traitement = 5000 microsecondes p = 1/1000 (un Page Fault chaque 1000 acc` es) alors temps eectif = (1 p ) + p 5000 = 5, 999
Luigi Santocanale La gestion de la m emoire 37
Co ut du Demand Paging
Calcul du co ut : temps eectif = (1 p ) ma + p (temps traitement) o` u p = probabilit e du Page Fault ma = temps acces ` a la m emoire Exemple : si ma = 1 microseconde temps traitement = 5000 microsecondes p = 1/1000 (un Page Fault chaque 1000 acc` es) alors temps eectif = (1 p ) + p 5000 = 5, 999
Luigi Santocanale La gestion de la m emoire 37
Plan
1 2
Pr eambule Le partage de la m emoire Protection de lespace dadressage Allocation de la m emoire contigu e Allocation non-contigu e : la pagination Segmentation La m emoire virtuelle Les limites du swap La pagination ` a la demande Algorithmes de remplacement de pages
Luigi Santocanale
La gestion de la m emoire
38
Contexte
Un acc` es en m emoire d eclenche un page fault. Il faut allouer un cadre de page libre en m emoire vive. Tous les cadres de page sont occup es. Choisir une victime : un cadre ` a d eplacer en m emoire secondaire. On lib` ere ce cadre, on y transf` ere le cadre demand e. Remarques : Le nombre de remplacements augmente avec le niveaux de multiprogrammation. Un remplacement n ecessite deux transferts vers/du disque : si le cadre nest pas sale et sil existe une copie sur disque, alors il nest pas n ecessaire le recopier sur disque.
Luigi Santocanale La gestion de la m emoire 39
Contexte
Un acc` es en m emoire d eclenche un page fault. Il faut allouer un cadre de page libre en m emoire vive. Tous les cadres de page sont occup es. Choisir une victime : un cadre ` a d eplacer en m emoire secondaire. On lib` ere ce cadre, on y transf` ere le cadre demand e. Remarques : Le nombre de remplacements augmente avec le niveaux de multiprogrammation. Un remplacement n ecessite deux transferts vers/du disque : si le cadre nest pas sale et sil existe une copie sur disque, alors il nest pas n ecessaire le recopier sur disque.
Luigi Santocanale La gestion de la m emoire 39
Objectifs
Luigi Santocanale
La gestion de la m emoire
40
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee Pages en m emoire (apr` es) No Page Faults
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee Pages en m emoire (apr` es) No Page Faults
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 Pages en m emoire (apr` es) 7xx No Page Faults 1
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 Pages en m emoire (apr` es) 7xx 70x No Page Faults 1 2
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 Pages en m emoire (apr` es) 7xx 70x 701 No Page Faults 1 2 3
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 Pages en m emoire (apr` es) 7xx 70x 701 201 No Page Faults 1 2 3 4
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 Pages en m emoire (apr` es) 7xx 70x 701 201 201 No Page Faults 1 2 3 4 4
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 Pages en m emoire (apr` es) 7xx 70x 701 201 201 231 No Page Faults 1 2 3 4 4 5
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 Pages en m emoire (apr` es) 7xx 70x 701 201 201 231 230 No Page Faults 1 2 3 4 4 5 6
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 Pages en m emoire (apr` es) 7xx 70x 701 201 201 231 230 230 No Page Faults 1 2 3 4 4 5 6 6
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 Pages en m emoire (apr` es) 7xx 70x 701 201 201 231 230 230 230 No Page Faults 1 2 3 4 4 5 6 6 6
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 4 Pages en m emoire (apr` es) 7xx 70x 701 201 201 231 230 230 230 430 No Page Faults 1 2 3 4 4 5 6 6 6 7
Luigi Santocanale
La gestion de la m emoire
41
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 4 2 Pages en m emoire (apr` es) 7xx 70x 701 201 201 231 230 230 230 430 420
Luigi Santocanale
No Page Faults 1 2 3 4 4 5 6 6 6 7 8
41
La gestion de la m emoire
Remplacement FIFO
La page la plus ancienne est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 4 2 1 Pages en m emoire (apr` es) 7xx 70x 701 201 201 231 230 230 230 430 420 421
Luigi Santocanale
No Page Faults 1 2 3 4 4 5 6 6 6 7 8 9
41
La gestion de la m emoire
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee Pages en m emoire (apr` es) No Page Faults
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee Pages en m emoire (apr` es) No Page Faults
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 Pages en m emoire (apr` es) 7xx No Page Faults 1
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 Pages en m emoire (apr` es) 7xx 70x No Page Faults 1 2
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 Pages en m emoire (apr` es) 7xx 70x 701 No Page Faults 1 2 3
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 Pages en m emoire (apr` es) 7xx 70x 701 201 No Page Faults 1 2 3 4
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 Pages en m emoire (apr` es) 7xx 70x 701 201 201 No Page Faults 1 2 3 4 4
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 No Page Faults 1 2 3 4 4 5
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 No Page Faults 1 2 3 4 4 5 5
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 203 No Page Faults 1 2 3 4 4 5 5 5
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 203 203 No Page Faults 1 2 3 4 4 5 5 5 5
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 4 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 203 203 243 No Page Faults 1 2 3 4 4 5 5 5 5 6
Luigi Santocanale
La gestion de la m emoire
42
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 4 2 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 203 203 243 243
Luigi Santocanale
No Page Faults 1 2 3 4 4 5 5 5 5 6 6
42
La gestion de la m emoire
Remplacement OPTIMAL
La page referenc ee plus tard est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 4 2 1 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 203 203 243 243 241
Luigi Santocanale
No Page Faults 1 2 3 4 4 5 5 5 5 6 6 7
42
La gestion de la m emoire
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee Pages en m emoire (apr` es) No Page Faults
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee Pages en m emoire (apr` es) No Page Faults
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 Pages en m emoire (apr` es) 7xx No Page Faults 1
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 Pages en m emoire (apr` es) 7xx 70x No Page Faults 1 2
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 Pages en m emoire (apr` es) 7xx 70x 701 No Page Faults 1 2 3
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 Pages en m emoire (apr` es) 7xx 70x 701 201 No Page Faults 1 2 3 4
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 Pages en m emoire (apr` es) 7xx 70x 701 201 201 No Page Faults 1 2 3 4 4
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 No Page Faults 1 2 3 4 4 5
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 No Page Faults 1 2 3 4 4 5 5
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 203 No Page Faults 1 2 3 4 4 5 5 5
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 203 203 No Page Faults 1 2 3 4 4 5 5 5 5
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 4 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 203 203 403 No Page Faults 1 2 3 4 4 5 5 5 5 6
Luigi Santocanale
La gestion de la m emoire
43
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 4 2 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 203 203 403 402
Luigi Santocanale
No Page Faults 1 2 3 4 4 5 5 5 5 6 7
43
La gestion de la m emoire
Remplacement LRU
La page moins recemment utilis ee est remplac ee. Etat des pages en m emoire au d ebut : xxx Page d emand ee 7 0 1 2 0 3 0 3 0 4 2 1 Pages en m emoire (apr` es) 7xx 70x 701 201 201 203 203 203 203 403 402 412
Luigi Santocanale
No Page Faults 1 2 3 4 4 5 5 5 5 6 7 8
43
La gestion de la m emoire
Chaque cadre de page poss` ede un bit de r ef erence (niveaux mat eriel). Si un cadre est referenc e, son bit est plac e` a 1. Un algorithme de type FIFO est utilis e. La t` ete de la le est remplac ee, si son bit est ` a 0. Si le bit de la t` ete est 1, en met ce bit ` a 0, et on place ce cadre en queue.
Luigi Santocanale
La gestion de la m emoire
44
Luigi Santocanale
La gestion de la m emoire
45
Luigi Santocanale
La gestion de la m emoire
45
Luigi Santocanale
La gestion de la m emoire
45
Luigi Santocanale
La gestion de la m emoire
45
Luigi Santocanale
La gestion de la m emoire
45
Luigi Santocanale
La gestion de la m emoire
45
Luigi Santocanale
La gestion de la m emoire
45
Luigi Santocanale
La gestion de la m emoire
45
Luigi Santocanale
La gestion de la m emoire
45
Luigi Santocanale
La gestion de la m emoire
45
Luigi Santocanale
La gestion de la m emoire
45
Luigi Santocanale
La gestion de la m emoire
45
No Page Faults 1 2 3 4 4 5 5 5 5 6 7 8
45
La gestion de la m emoire