chapitre iv –la mÉmoire virtuelle ii 4 mémoire virtuelle.pdf · multiprogrammation) 20/11/2017...

26
Faculté des Sciences de Gabes Département d’informatique 20/11/2017 Cours Système d'exploitation 1 20/11/2017 1 Khaled Hassine [email protected] Par : Khaled Hassine CHAPITRE IV –LA MÉMOIRE VIRTUELLE 20/11/2017 2 Khaled Hassine Techniques de transfert Généralités Stratégies de remplacement PLAN 20/11/2017 3 Gestion des adresses Khaled Hassine Techniques de transfert Généralités Stratégies de remplacement PLAN 20/11/2017 4 Gestion des adresses Khaled Hassine

Upload: others

Post on 19-Oct-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 1

20/11/2017 1Khaled Hassine

[email protected]

Par :Khaled Hassine

CHAPITRE IV –LAMÉMOIRE VIRTUELLE

20/11/2017 2Khaled Hassine

Techniques de transfert

Généralités

Stratégies de remplacement

PLAN

20/11/2017 3

Gestion des adresses

Khaled Hassine

Techniques de transfert

Généralités

Stratégies de remplacement

PLAN

20/11/2017 4

Gestion des adresses

Khaled Hassine

Page 2: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 2

Pourquoi une mémoire virtuelle ?

Constations : Mémoire physique coûteuse.

Mémoire secondaire (disques, mémoire étendue,...) peu coûteuse.

Programmes gourmands en mémoire et qui ne"tiennent pas" toujours en RAM.

Conséquence : Utiliser la mémoiresecondaire "comme" mémoire RAM.

20/11/2017 Khaled Hassine 5

Définition

Mémoire physique = Ensemble des emplacements de la mémoire

centrale physiquement présents dans l'ordinateur.

Mémoire virtuelle = support de l'ensemble des informations

potentiellement accessibles Ensemble des emplacements dont l'adresse peut

être engendrée par le processeur.

20/11/2017 Khaled Hassine 6

Vues des mémoires réelles etvirtuelles

20/11/2017 Khaled Hassine 7

Mémoirevirtuelle

Mémoirede masse

Vue duconcepteurVue de

l'utilisateurMémoireprincipale

Swapping entre mémoiresréelle et virtuelle

20/11/2017 Khaled Hassine 8

N>>n

Page 3: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 3

Techniques de transfert

Généralités

Stratégies de remplacement

PLAN

20/11/2017 Khaled Hassine 9

Gestion des adresses

Mécanisme de gestion

L'exécution des programmes engendre des adresses ditesvirtuelles.

Le mécanisme de gestion assure la traduction (dite aussitranslation) de ces adresses virtuelles en adresses réelles enmémoire centrale.

Le mécanisme de gestion des adresses doit être capable dedétecter si une information se trouve en mémoire centrale ou non.

On dispose des structures : table de traduction (translationtable) résidente en mémoire centrale, décrient le contenu de la mémoire centrale et celle de la

mémoire de masse.

20/11/2017 Khaled Hassine 10

De l’adresse virtuelle versl’adresse physique

20/11/2017 Khaled Hassine 11

adressesvirtuelles

0-4 K

4-8K

8-12 K8-12 K12-16 K

16-20 K20-24 K24-28 K28-32 K

32-36 K36-40 K

40-44 K44-48 K

01

23

4

56

78

9

10

11

x

x

x

x

0 4

1 5

2 x

3 2

4 8

n° page présence

table des pages

MMU

adressesphysiques

0-4 K

4-8 K

8-12 K

12-16 K

16-20 K

20-24 K24-28 K

28-32 K32-36 K

Module de gestion des adresses :deux cas

L'adresse virtuelle correspond à un bloc en mémoireprincipale : la traduction en adresse physique est facilement réalisée on accède à l'information cherchée.

L'information ne se trouve pas en mémoire principale: Un événement (déroutement) dit de traitement de défaut de page est

généré. Cet événement engendre l'interruption (abort) de l'instruction en cours Donne la main au module de transfert pour charger la partie à exécuter

(en libérant si nécessaire de la place). Ensuite, le module de gestion des adresses effectue la traduction de

l'adresse virtuelle en adresse physique rend tout de suite la main au programme qui a causé l'abort pour

terminer normalement l'exécution.

20/11/2017 Khaled Hassine 12

Page 4: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 4

Exécution d’une défaut de page

20/11/2017 Khaled Hassine 13

Mémoirevirtuelle

Remarques

Le signal de traitement de défaut de page est le même émis lorsqu'oncherche à accéder à une information située à une adresse supérieure àla taille de la mémoire centrale ou à une zone de mémoire protégée(interdite d'accès).

Le mécanisme de fourniture de l'adresse du programme de traitement dudéfaut de page est semblable à celui utilisé lors des interruptions : sauvegarde de l'adresse de l'instruction avortée, l'unité centrale récupère l'adresse du programme de traitement dans une

table de vecteurs d'interruptions. Bien que le traitement de défaut de pages est semblable au traitement

d'une interruption externe, le défaut de page s'en distinguefondamentalement par le fait que l'instruction ne doit pas se terminermais doit au contraire revenir en son état initial. Les registres altérés parl'exécution doivent être restitués de telle sorte, qu'après traitement dudéroutement, on puisse relancer l'instruction à son point de départ.

20/11/2017 Khaled Hassine 14

Exercice

Soit un programme dont le code occupe 1024octets en mémoire et qui utilise un vecteur de1000 caractères.

Ce programme est exécuté dans un systèmeayant les caractéristiques suivantes : utilise la pagination de la mémoire , la taille de la mémoire réelle est de 1 Mo, la taille d'une page est de 512 octets , les instructions à référence mémoire ont un champ

d’adresse de 24 bits.

20/11/2017 Khaled Hassine 15

Questions

I) Donnez :1) Taille de la mémoire virtuelle2) Le nombre de bits du champ déplacement3) Le nombre de bits du numéro d’une page virtuelle4) Le nombre de bits d'une adresse réelle5) Le nombre de bits du numéro d’une page réelle (cadre)6) Le nombre d'entrées de la table des pages virtuelles.

II) Le chargement de ce programme en mémoireengendre-t-il une fragmentation interne? Justifiezvotre réponse.

20/11/2017 Khaled Hassine 16

Page 5: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 5

Techniques de transfert

Généralités

Stratégies de remplacement

PLAN

20/11/2017 Khaled Hassine 17

Gestion des adresses

Caractéristiques principales d’unalgorithme de demande de pages

Statique ou dynamique : Un algorithme statique alloue un nombre fixe de cadre à chaque

processus. Un algorithme dynamique permet de changer le nombre de cadres

d’un processus au cours d’une exécution. Stratégie de chargement :

Quand un bloc doit il être chargé dans un cadre ? On peut choisir la demande pure (un bloc n’est chargé que s’il est

demandé) mais on peut aussi décider de prés paginer (c.à.d decharger à l’avance un certain nombre de blocs).

Stratégie de remplacement (et de placement) : S’il n’y a pas de cadre libre quel cadre occupé doit-on déplacer pour

placer le nouveau bloc ? Dans quel cadre un nouveau bloc doit être chargé ?

20/11/2017 Khaled Hassine 18

Techniques de transfertStratégies de rechercheRemplacement local ouglobal.

20/11/2017 Khaled Hassine 19

Les stratégies de recherche (FetchStrategies)

Répondent à la question : quand on doit ramener la partiesuivante d'un programme ou ces données de la mémoire auxiliairevers la mémoire centrale ?

Deux catégories de méthodes : Pagination à la demande (Demand Fetch) :

Le chargement n'a lieu qu'en cas de défaut de page et on ne charge que lapage manquante.

Pour longtemps, la stratégie adoptée consiste à ramener vers la mémoirecentrale qu’une partie (programme ou donnée) que lors de sa demande.

Pagination anticipée (Anticipatory Fetch) : On charge les pages à l'avance; mais comment prévoir efficacement ? On croyait en fait que le temps passé pour prévoir l'avenir est un temps

perdu. Des nouvelles recherches ont montré que la recherche anticipée peut

améliorer l'état du système.

20/11/2017 Khaled Hassine 20

Page 6: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 6

Pagination à la demande :avantages

Besoin minimal en E/S (du chargment desblocs)

Besoin minimal en MC

Réponse plus rapide ????

Plus de processus et/ou d’utilisateurs quipartagent la MC (degré demultiprogrammation)

20/11/2017 Khaled Hassine 21

Transfert des blocs vers lamémoire centrale

Si Défaut de pageAlors

Si existe une zone libreAlors

Charger la page dans la zone libreCalcul de l’adresse physique

SinonChoisir la page victimeSi La page victime est modifiéeAlorsEcriture d’une copie sur disque.

FinSiChargement de la nouvelle pageMise à jour de la table de pageRevenir à l’instruction abortée

FinSi

20/11/2017 Khaled Hassine 22

Pagination anticipé : Working set

Cas d'un système Multitâches Idée de base (principe de localité) :

la plut part des programmes référencent leur espace de travailuniformément (peu de changement d’une étape à une autre),

ces références tendent à se regrouper autour d'un petit nombre depages.

Cet ensemble est appelé : Working Set (Espace de travail) Charger l'espace de travail pendent qu'un autre utilisateur est en

train d'être servi par l'unité centrale. L'inconvénient de cette approche se présente lorsqu'un

programme est en train de changer son espace de travail auquelcas on charge inutilement plusieurs pages.

20/11/2017 Khaled Hassine 23

Working set : caractéristiques

Working Set (Espace de travail) représenté par une fonction W(k, t) où k est le nombre de référence à la mémoire à l'instant t. W(k,t) est une fonction monotone croissante car les k+1 références

les plus récentes utilisent les k références précédentes La variation de W(k,t) dans le temps est logarithmique car le

Working Set change lentement à la fin et très rapide pour k petit. Ceci sous-entend, qu'il existe un intervalle large de k pour lequel

l'espace de travail est constant. Ceci permet de parier, avec des probabilités raisonnables de succès,

sur les numéros des pages qui seront nécessaires au moment duredémarrage du programme en partant de l'espace de travailutilisé au moment où il a été suspendu.

20/11/2017 Khaled Hassine 24

Page 7: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 7

Techniques de transfertStratégies de rechercheRemplacement local ouglobal.

20/11/2017 Khaled Hassine 25

Remplacement des pages

Ceci revient à répondre à la question : Commentrepartir les pages sur les différents processus et lesystème ?

Deux stratégies sont possibles : Remplacement local : chaque processus choisit parmi les

cadres de page qui lui sont déjà allouées Remplacement global : un processus peut récupérer un

cadre de page d’un autre processus Exemples :

Windows NT applique le mode de remplacement local Unix applique un remplacement global.

20/11/2017 Khaled Hassine 26

Stratégies deremplacementRemplacement localRemplacement global

20/11/2017 Khaled Hassine 27

Principe de base

A chaque processus, sont affectés un certainnombre de cadres : à utiliser de façon autonome, son temps d'exécution ne dépend que de son

propre comportement.

Ceci peut se faire grâce à un pointeur sur laliste de cadres qu’utilise un processus.

Ainsi, on peut appliquer à chaque processusun algorithme de remplacement différent.

20/11/2017 Khaled Hassine 28

Page 8: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 8

Problématique

Le remplacement local demande que l'on réaliseun partage entre les différents processus : Si on alloue peu de case à un processus, son nombre

de défaut de pages va augmenter et on ralenti ainsison exécution.

Dans le cas contraire, le processus va pénaliser unsecond programme qui restera en attente de caselibre alors qu’un autre a plus que nécessaire.

Deux stratégies : Le partage équitable Le partage proportionnel

20/11/2017 Khaled Hassine 29

Le partage équitable

Si on dispose de m pages de mémoirephysique et de n processus, alors on alloue m/n pages par processus !

On retrouve ici un problème proche de lafragmentation interne : un grand nombre de pages est donné à un

processus qui en utilise effectivement peu.

20/11/2017 Khaled Hassine 30

Le partage proportionnel

On peut améliorer cette approche en utilisant S = ΣSi oùSi est le nombre de pages du Processus i.

Chaque processus se voit attribué m (= Si/S) pages. On peut encore améliorer en faisant varier ce rapport en

fonction de la priorité de chaque processus. Ceci peut engendrer le problème d'écroulement :

Si le nombre de cadres allouées à un processus non prioritairetombe en dessous de son minimum vital, ce processus estconstamment en défaut de page : il passe tout son temps àréaliser des demandes de pages.

Ce processus doit être alors éjecté entièrement en zone deswap et reviendra plus prioritaire quand il y aura de la place.

20/11/2017 Khaled Hassine 31

Exemple

Nombre total de cadres : m = 64

2 processus P1 et P2,

Si : Taille nécesaire pour chaque processus S1 = 10

S2 = 127

Allocation égale : 32 cadres par processus

Allocation proportionelle :

20/11/2017 Khaled Hassine 32

a l lo c a t i o n f o r

i

ii i

S s

sa p m

S

1

2

1 06 4 5

1 3 71 2 7

6 4 5 91 3 7

a

a

Page 9: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 9

Stratégies deremplacementRemplacement localRemplacement global

20/11/2017 Khaled Hassine 33

Principe de base

Décharger éventuellement les pages d’un autreprogramme pour exécuter le processus qui aprovoqué le défaut de page.

Le comportement d'allocation de pages auxprocessus dépend : de la charge du système du comportement des différents processus.

En général, le remplacement en mode global estplus utilisé et donne des meilleurs résultatsmais il est plus difficile à mettre en œuvre.

20/11/2017 Khaled Hassine 34

Exemple

Les compilateurs C allouent les structuresrépétitives sur des plages d'adresse croissantescontiguës : int m[A][B] est une matrice de A x B entiers. En mémoire (ligne par ligne) :

m[0][0] suivie de m[0][1] suivie de … m[0][B-1] m[1][0] ... m[1][B-1] … m[A-1][0] ... m[A-1][B-1]

En fortran l'allocation des tableaux se fait parcolonne (dans l'autre sens) …

20/11/2017 Khaled Hassine 35

Exemple en C : bonneinitialisation

On suppose que : la taille d’une page est 4 Kilooctets int est codé sur 2 octets. 1 seul cadre est réservé pour les données du programmes

Le programme :int m[2048][2048]main{ int i, j ;for (i=0;i<2048;i++)

for (j=0;j<2048;j++)m[i][j] = 1;

}

20/11/2017 Khaled Hassine 36

Ce processus accède à unenouvelle page toute les2048 affectations.Nombre de défauts depages : 2048

Page 10: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 10

Exemple en C : mauvaiseinitialisation

Le programme (Inversion des indices) :int m[2048][2048]

main

{int i, j ;

for (i=0;i<2048;i++)

for (j=0;j<2048;j++)

m[j][i] = 1;

}

20/11/2017 Khaled Hassine 37

Ce processus accède àune nouvelle page toutesles affectations !Nombre de défauts depages est : 2048 x 2048 Techniques de transfert

Généralités

Stratégies de remplacement

PLAN

20/11/2017 Khaled Hassine 38

Gestion des adresses

Problématique

Le principal problème : pas d'espace libre où loger le nouveaubloc sollicité par le processeur

On cherche souvent le bloc "le moins utile" dans la suite de l'exécution,c'est à dire, dont l'absence se fera le moins sentir.

Il faut : prédire les références futures des informations présentes en MC enlever le bloc dont la prochaine référence est espérée la plus

lointaine. Ce problème dépend de la dynamique de l'exécution, difficile à

prédire. Les approches utilisées se basent sur le bon sens (des

heuristiques) dont on espère la réussite dans la majorité des cas.

20/11/2017 Khaled Hassine 39

Performance d’un algorithme deremplacement

p : Probabilité d’un défaut de page 0 p 1.0 Si p = 0, pas de défauts de pages Si p = 1, chaque référence est un défaut de page

Temps d’Accès Effectif (TAE)TAE = (1 – p) x accès MC + p x Temps défaut de page

Temps de défaut de page = Somme de temps de Swap éventuel de la page victime sur disque Swap de la page sollicitée en mémoire centrale Relancement de l’instruction

20/11/2017 Khaled Hassine 40

Page 11: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 11

Exemple

Données réelles : Temps d’accès mémoire ~ 1 s Temps de Swap ~ 10 ms = 10000 s

50% du temps, la page remplacée a été modifiée=> elle sera swappée sur disque

Temps d’Accès EffectifTEA ~ (1 – p) x 1 + p x 5000

~ 1 + 5000 x p TAE est de l’ordre de la ms

20/11/2017 Khaled Hassine 41

Algorithme de pagination stable

On appelle suite de références w = p1 p2 ... pnune suite de numéros de pages correspondant àdes accès à ces pages.

Un algorithme A de pagination sur m cadres eststable si ∀ m , ∀ w , on a :

Coût (A , m , w) <= Coût ( A , m+1 , w) Cette notion est importante pour éviter

l'écroulement du SE (thrashing) par unegénération excessive de défauts de pages.

20/11/2017 Khaled Hassine 42

Graphe : Défauts de Pages enfonction Nombre de Cadres

20/11/2017 Khaled Hassine 43

Ecroulement

Pourquoi la pagination fonctionne ?

Modèle de localité Les processus migrent d’une localité à une autre

Les localités peuvent s’entrelacer Pourquoi l’écroulement a lieu ?

taille des localités > taille totale de la mémoire

20/11/2017 Khaled Hassine 44

Page 12: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 12

Comment améliorer laperformance ?

Il y a deux critères pour améliorer la performance dela mémoire virtuelle : Réduire le temps d’accès aux disques : critère purement

matériel Réduire la valeur de p par le choix d’un bon

algorithme de demande de page : critère purementlogiciel

Pour illustrer les algorithmes de remplacement, onsuppose qu'on dispose de 3 cadres en MC On utilise la suite de pages suivante :

7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1

20/11/2017 Khaled Hassine 45

Stratégies deremplacementL'algorithme optimalL'algorithme FIFOL'algorithme de la seconde chanceL'algorithme NRUL'algorithme LRUL'algorithme de vieillissementPlus Récemment utilisé MRUL’anomalie de Belday

20/11/2017 Khaled Hassine 46

Stratégies deremplacementL'algorithme optimalL'algorithme FIFOL'algorithme de la seconde chanceL'algorithme NRUL'algorithme LRUL'algorithme de vieillissementPlus Récemment utilisé MRUL’anomalie de Belday

20/11/2017 Khaled Hassine 47

Principe

Utiliser comme victime la page qui ne serapas utilisée pendant le plus longtemps.

Pour ce faire, le SE indexe chaque page parle nombre d'instructions qui seront exécutéesavant qu'elle ne soit référencée.

En cas de nécessité, le SE retire la paged'indice le plus élevé, c'est à dire la page quisera référencée dans le futur le plus lointain.

20/11/2017 Khaled Hassine 48

Page 13: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 13

Exemple

20/11/2017 Khaled Hassine 49

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

0 7 7 7 2 2 2 2 2 7

1 0 0 0 0 4 0 0 0

2 1 1 3 3 3 1 1

Faut X X X X X X X X X

L’algorithme génère seulement 9 défautsde page.

Limites

Cet algorithme est pratiquement impossible àappliquer : Comment calculer les indices des pages

(instructions)?

Cet algorithme est stable. Utilisé pour mesurer les performances des

autres algorithmes avec un simulateur, on peut évaluer les

performances de cet algorithme et s'en servir commeréférence pour les suivants.

20/11/2017 Khaled Hassine 50

Stratégies deremplacementL'algorithme optimalL'algorithme FIFOL'algorithme de la seconde chanceL'algorithme NRUL'algorithme LRUL'algorithme de vieillissementPlus Récemment utilisé MRUL’anomalie de Belday

20/11/2017 Khaled Hassine 51

Premier Entrée Premier Sortie(FIFO : First In First Out).

On éjecte la page la plus ancienne enmémoire sans tenir compte des référencesqui ont pu être faite.

Le bon sens de cette approche : le bloc leplus anciennement chargé en mémoirecentrale est probablement (du moins onespère) celui qui a le moins de chance d'êtreutilisé lors des prochains accès

20/11/2017 Khaled Hassine 52

Page 14: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 14

Exemple

20/11/2017 Khaled Hassine 53

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

0 7 7 7 2 2 2 4 4 4 0 0 0 7 7 71 0 0 0 3 3 3 2 2 2 1 1 1 0 02 1 1 1 0 0 0 3 3 3 2 2 2 1Faute X X X X X X X X X X X X X X X

L’algorithme génère 15 défauts de page.

Implémentation et limites

On peut implémenter cet algorithme grâce à une liste chaînée où La page en tête est la première chargée en mémoire et celle en

queue est la dernière. Le remplacement se fait sur la page en tête de liste.

Avantages : Simple à implémenter

Inconvénients : manque d’efficacité. Il existe des suites de pages pour lesquelles cet algorithme fait plus

de défauts de page avec quatre cadres mémoire qu'avec troisPar exemple : 1 2 3 4 1 2 5 1 2 3 4 5.

Les vieilles pages peuvent aussi être celles qui sont le plus utilisées.

20/11/2017 Khaled Hassine 54

Exemple : avec 3 cadres

Génère 9 défauts de page.

20/11/2017 Khaled Hassine 55

1 2 3 4 1 2 5 1 2 3 4 5

0 1 1 1 4 4 4 5 5 51 2 2 2 1 1 1 3 32 3 3 3 2 2 2 4Faute X X X X X X X X X

Exemple : avec 4 cadres

Génère 10 défauts de page.

20/11/2017 Khaled Hassine 56

1 2 3 4 1 2 5 1 2 3 4 50 1 1 1 1 5 5 5 5 4 41 2 2 2 2 1 1 1 1 52 3 3 3 3 2 2 2 23 4 4 4 4 3 3 3

Faute X X X X X X X X X X

Page 15: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 15

Stratégies deremplacementL'algorithme optimalL'algorithme FIFOL'algorithme de la seconde chanceL'algorithme NRUL'algorithme LRUL'algorithme de vieillissementPlus Récemment utilisé MRUL’anomalie de Belday

20/11/2017 Khaled Hassine 57

Principe de base

Amélioration de l’algorithme FIFO : Conserve l’avantage de simplicité

Pallie les inconvénients en donnant une secondechance à la page en tête.

Comment faire ? Si la page en tête de liste est réutilisée, elle sera

enlevée au prochain remplacement.

20/11/2017 Khaled Hassine 58

Mise en œuvre Un bit associé à chaque page est positionné à 1 à chaque

fois qu'une page est utilisée par un processus. Avant de retirer une page de la mémoire, on va essayer de

lui donner une deuxième chance. Si le bit d'utilisation est à 0 la page est swappée hors mémoire

(elle n'a pas été utilisée depuis la dernière demande de page). Si le bit est à 1, il est positionné à zéro et la page est mise en

queue de liste et on cherche une autre victime. Ainsi une page ne sera swappée hors mémoire que si :

toutes les autres pages ont été utilisées, utilisent aussi leur deuxième chance.

20/11/2017 Khaled Hassine 59

Algorithme de la secondechance : liste chaînée

20/11/2017 Khaled Hassine 60

Page 16: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 16

Algorithme de l’horloge : listecirculaire

Peut être vue comme une queue circulaireoù on avance sur les pages qui ont le bit à 1(en le positionnant à zéro) jusqu'à ce que l'ontrouve une page avec le bit d'utilisation àzéro.

Ceci est connu sous le nom de l'algorithmede l'horloge.

20/11/2017 Khaled Hassine 61

Algorithme de l’horloge : listecirculaire

20/11/2017 Khaled Hassine 62

Comme l'algorithme précédent mais l'utilisation d'uneliste circulaire évite de déplacer les pages.

Algorithme de l’horloge: unexemple (Stallings).

20/11/2017 Khaled Hassine 63

La page 727 est chargée dans le cadre 4.La prochaine victime est 5, puis 8.

Stratégies deremplacementL'algorithme optimalL'algorithme FIFOL'algorithme de la seconde chanceL'algorithme NRUL'algorithme LRUL'algorithme de vieillissementPlus Récemment utilisé MRUL’anomalie de Belday

20/11/2017 Khaled Hassine 64

Page 17: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 17

Algorithme de remplacement de lapage non récemment utilisée (NRU)

NRU (Not Recently Used) utilise 2 bits initialisés à 0: Référence R : Si une page a été référencée, R ← 1 Modification M : Si une page est modifiée, M ← 1.

Les pages sont reparties en 4 classes : Classe 0 : non référencée et non modifiée Classe 1 : non référencée et modifiée. Classe 2 : référencée et non modifiée. Classe 3 : référencée et modifiée.

L’algorithme NRU choisit la page à remplacer de laclasse non vide de plus petit numéro.

Cet algorithme a des performances assez satisfaisantes.

20/11/2017 Khaled Hassine 65

Pourquoi M et R ?

Différencier les pages récemment utilisées des autres : le système d’exploitation utilise les interruptions horloge : les

pages qui ont été utilisées (accédées en lecture ou en écriture) aurontleur bit à 1 et ne seront pas choisies par l’algorithme en cas deremplacement à effectuer.

L’algorithme tient aussi compte du bit de modification car Une page peut être référencée et ensuite R remise à zéro et reste

ainsi quelques temps non utilisée. Si jamais, cette page doit être enlevée de la mémoire, elle doit

forcement être sauvegardée sur le disque. Dans ce cas, il vaut mieux choisir une page qui a été non référencée

et non modifiée qu’une page qui a été référencée et modifiée.

20/11/2017 Khaled Hassine 66

Stratégies deremplacementL'algorithme FIFOL'algorithme de la seconde chanceL'algorithme NRUL'algorithme LRUL'algorithme de vieillissementPlus Récemment utilisé MRUL’anomalie de Belday

20/11/2017 Khaled Hassine 67

Principe de base

LRU (Least Recently Used : moins récemmentutilisé) se base sur l'heuristique suivante : Si un bloc en mémoire centrale est longuement non

sollicité, il y a des fortes chances que les prochainsaccès ne seront pas à ce bloc.

Inversement, on fait le pari que les pages qui ont étérécemment utilisées le seront dans un proche avenir.

Bien qu'on puisse trouver des cas où cetteapproche échoue, elle a, en pratique, montré cesperformances.

20/11/2017 Khaled Hassine 68

Page 18: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 18

Exemple

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

0 7 7 7 2 2 4 4 4 0 1 1 1

1 0 0 0 0 0 0 3 3 3 0 0

2 1 1 3 3 2 2 2 2 2 7

Faute X X X X X X X X X X X X

20/11/2017 Khaled Hassine 69

L’algorithme LRU génère 12 défauts de page.

Module 8 70

Comparaison de FIFO avec LRU

Contrairement à FIFO, LRU reconnaît que les pages 2 et 5 sontutilisées fréquemment

La performance de FIFO est moins bonne:

dans ce cas, LRU = 3+4, FIFO = 3+6

Difficulté de mise en œuvre

La mise en œuvre de l'algorithme LRU nécessite lamémorisation de l'heure de la dernière référence àchaque bloc présent en mémoire centrale.

Ceci pose de nombreux problèmesd'implémentation et peut demander de substantielsoutils matériels.

Tenir à jour une liste chaînée de pages : page la plus récemment utilisée en premier mettre à jour cette liste à chaque référence

mémoire. Couteux !!

20/11/2017 Khaled Hassine 71

Implémentation avec compteur

A chaque entrée de la table des pages, on ajoute uncompteur de temps qui est mis à jour à chaque accès. A chaque fois qu’une page est référencée, on copie une

horloge logique dans ce compteur Quand une page est référencée, incrémenter l’horloge

logique et la copier dans le compteur de la pageréférencée on a toujours le temps de la dernière utilisation decette page

Rechercher sur l'ensemble de la table la victime : la pageavec la plus petite valeur de compteur

20/11/2017 Khaled Hassine 72

Page 19: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 19

Implémentation avec pile

A chaque fois que l'on accède à une page,celle-ci est placée en sommet de la pile. Le dessus est toujours la page la plus récemment

utilisée

Le fond de la pile la moins récemment utilisée.

20/11/2017 Khaled Hassine 73

Implémentation via des masques

On utilise un octet associé à chaque page. Le système positionne à 1 le bit de poids fort à chaque

accès à la page. Toutes les N (nanosecondes) click d'horloge, le système

applique un décalage à droite de l'octet associé à chaquepage.

On obtient ainsi un historique de l'utilisation de la page. L'octet à 00000000 indique que la page n'a pas été utilisée

depuis 8 cycles L'octet 11111111 indique que la page a été utilisée pendant les

8 derniers cycles. La page de masque 11000100 a été utilisée plus récemment

que 01110111.

20/11/2017 Khaled Hassine 74

Implémentation via des masques

Si l'on interprète ces octets comme des entiers nonsignés : c'est la page ayant le plus petit octet qui a été utilisée le

moins récemment l'unicité des numéros n'étant pas assurée la sélection

entre numéros identiques se fait avec l'ordre FIFO. Cet algorithme est en théorie :

le meilleur pour implémenter le remplacement des pagespuisqu'il retire la page la moins pénalisante et celle quirisque fort d’être utilisée à nouveau.

le plus coûteux étant donné que les mises à jour sontfaite à chaque accès à une page.

20/11/2017 Khaled Hassine 75

Implémentation via des matrices

Les opérations sur les listes chaînées étant trèscoûteuse, les concepteurs ont eu recours aux matricescarrées de taille n, n est le nombre de cadres.

La matrice est initialisée à 0. Lorsque la page logée dans le cadre n° i est

référencée : la ième ligne est mise à 1 ensuite la ième colonne est mise à 0.

La page la moins récemment référencée est celle dansle cadre ayant la ligne contenant la plus petitevaleur binaire.

20/11/2017 Khaled Hassine 76

Page 20: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 20

Exemple

20/11/2017 Khaled Hassine 77

0 1 2 3 0 1 2 3 0 1 2 3

0 0 0 0 0 0 0 1 1 1 0 0 1 0 1

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0

2 0 0 0 0 2 0 0 0 0 2 1 1 0 1

3 0 0 0 0 3 0 0 0 0 3 0 0 0 0

Initialisation Page 0 Page 2

0 1 2 3 0 1 2 3 0 1 2 3

0 0 0 0 1 0 0 0 0 0 0 0 0 0 0

1 1 0 1 1 1 1 0 1 0 1 1 0 1 1

2 1 0 0 1 2 1 0 0 0 2 1 0 0 0

3 0 0 0 0 3 1 1 1 0 3 1 0 1 0

Page 1 Page 3 Page 1

0 1 2 3 0 1 2 3 0 1 2 3

0 0 0 0 0 0 0 0 0 0 0

1 1 0 0 1 1 1 0 0 0 1

2 1 1 0 1 2 1 1 0 0 2

3 1 0 0 0 3 1 1 1 0 3

Page 2 Page 3

Suite deréférences :0 2 1 31 2 3

Stratégies deremplacementL'algorithme optimalL'algorithme FIFOL'algorithme de la seconde chanceL'algorithme NRUL'algorithme LRUL'algorithme de vieillissementPlus Récemment utilisé MRUL’anomalie de Belday

20/11/2017 Khaled Hassine 78

Critique du LRU

C'est une amélioration logicielle de l'algorithmeLRU en vu de le rendre moins coûteux.

A chaque entrée d'une page dans la table depages, on rajoute un champ compteur R qui estincrémenté de 1 quand une page est référencée.

En réalité : R est rajouté au compteur à chaque interruption de

l'horloge R est remise à 0 ensuite.

20/11/2017 Khaled Hassine 79

Critique du LRU

Quand un défaut de page se produit, si onremplace la page dont le compteur est le plusfaible, on risque d'avoir la situation suivante: une page accédée à maintes reprises il y aquelques temps sera considérée plus récentequ'une page accédée moins fréquemment etplus récemment.

La solution proposée consiste à inclure levieillissement du compteur.

20/11/2017 Khaled Hassine 80

Page 21: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 21

Principe de l’algorithme

Le bit de référence R est inséré dans le bit de poidsfort du compteur en appliquant une opération dedécalage à droite. Si on regarde de près le principe del'algorithme, on remarque qu'en comptant à partir dela gauche : si le bit de poids fort (p) est à 0, la page n'est pas

référencée depuis le dernier top d'horloge, si le bit de poids (p-1) est à 0, la page n'est pas

référencée depuis les 2 derniers tops d'horloge, etc.

Il est donc logique de retirer la page qui a la pluspetite valeur du compteur.

20/11/2017 Khaled Hassine 81

Exemple

Top 0 Top 1 Top 2 Top 3 Top 4

Bits R 101011 110010 110101 100010 011000

Cadre 0 10000000 11000000 11100000 11110000 01111000

Cadre 1 00000000 10000000 11000000 01100000 10110000

Cadre 2 10000000 01000000 00100000 00010000 10001000

Cadre 3 00000000 00000000 10000000 01000000 00100000

Cadre 4 10000000 11000000 01100000 10110000 01011000

Cadre 5 10000000 01000000 10100000 01010000 00101000

20/11/2017 Khaled Hassine 82

Algorithme de vieillissement

Différence avec LRU: Si deux pages sont référencées entre deux interruptions alors

on ne peut pas dire laquelle a été référencée en dernier Les compteurs ont un nombre limité de bits

On ne peut pas distinguer deux pages dont tous les bits sont à 0 Le taille du compteur indique le nombre d’intervales comptabilisés

20/11/2017 Khaled Hassine 83

Stratégies deremplacementL'algorithme FIFOL'algorithme de la seconde chanceL'algorithme NRUL'algorithme LRUL'algorithme de vieillissementPlus Récemment utilisé MRUL’anomalie de Belday

20/11/2017 Khaled Hassine 84

Page 22: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 22

Principe

Most Recently Used Lorsqu’un défaut de page se produit, c’est la

dernière page utilisée qui sera tuée. MRU permet de remédier aux inconvénients de

LRU (trop gourmands en temps de calcul etdifficiles à implémenter)

Facile à implémenter : Mémoriser seulement la dernière page référencée Minimise les surcharges

Assez efficace dans la pratique

20/11/2017 Khaled Hassine 85

Exemple 1

20/11/2017 Khaled Hassine 86

7 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 7 0 1

0 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0

1 0 0 0 3 0 4 4 4 4 4 4 4 4 4 4

2 1 2 2 2 2 3 0 3 2 1 2 0 1 1

Faut X X X X X X X X X X X X X X X X

L’algorithme MRU génère 16 défauts de page.L’algorithme FIFO génère 15 défauts de page.L’algorithme LRU génère 12 défauts de page.Même si le nombre de défaut de pages est supérieur pour le MRU que pourle LRU, l’algorithme engendre moins de surcharge (pas de recherche dumin, pas de structures de données complexes, …)

Exemple 2 : FIFO

Pagesollicitée

0 1 2 3 0 1 2 0 3 0 2 3 4 5 6 7

0 0 0 0 3 3 3 2 2 2 4 4 4 7

1 1 1 1 0 0 0 3 3 3 5 5 5

2 2 2 2 1 1 1 0 0 0 6 6

Faute depage

X X X X X X X X X X X X X

20/11/2017 Khaled Hassine 87

Total de fautes de pages : 13

Exemple 2 : LRU

Pagesollicitée

0 1 2 3 0 1 2 0 3 0 2 3 4 5 6 7

0 0 0 0 3 3 3 2 2 2 5 5 5

1 1 1 1 0 0 0 0 4 4 4 7

2 2 2 2 1 1 3 3 3 6 6

Faute depage

X X X X X X X X X X X X

20/11/2017 Khaled Hassine 88

Total de fautes de pages : 12

Page 23: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 23

Exemple 2 : MRU

Pagesollicitée

0 1 2 3 0 1 2 0 3 0 2 3 4 5 6 7

0 0 0 0 0 0 0 0 0 0

1 1 1 1 2 2 2 2 2

2 2 3 3 4 5 6 7

Faute depage

X X X X X X X X X

20/11/2017 Khaled Hassine 89

Total de fautes de pages : 9

Stratégies deremplacementL'algorithme optimalL'algorithme FIFOL'algorithme de la seconde chanceL'algorithme NRUL'algorithme LRUL'algorithme de vieillissementPlus Récemment utilisé MRUL’anomalie de Belday

20/11/2017 Khaled Hassine 90

Exemple

Considérons la séquence de références despages suivante : 0-1-2-3-0-1-4-0-1-2-3-4.

On applique le PAPS comme algorithme deremplacement de page sur deux cas : 3 cadres

4 cadres

20/11/2017 Khaled Hassine 91

3 cadres

0 1 2 3 0 1 4 0 1 2 3 4

0 0 0 0 3 3 3 4 4 4 4 4 4

1 1 1 1 0 0 0 0 0 2 2 2

2 2 2 2 1 1 1 1 1 3 3Faute de page

X X X X X X X X X

20/11/2017 Khaled Hassine 92

Total de fautes de pages : 9

Page 24: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 24

4 cadres

0 1 2 3 0 1 4 0 1 2 3 4

0 0 0 0 0 4 4 4 4 3 3

1 1 1 1 1 0 0 0 0 4

2 2 2 2 2 1 1 1 1

3 3 3 3 3 2 2 2

Faute de page X X X X X X X X X X

20/11/2017 Khaled Hassine 93

Total de fautes de pages : 10

Anomalie de Belady avecFIFO

20/11/2017 Khaled Hassine 94

Remarques

Si l'espace de travail est plus grand que la taille de lamémoire centrale (ou de la partie destinée à unutilisateur), il n’y a pas de miracle : les défauts depages seront très fréquents.

Lorsqu'un programme engendre, lors de sonexécution, des nombreux défauts de pages d'unemanière continue, on dit que le programme s'écoule.

Si le programme utilise un espace de travail quiévolue lentement dans le temps, tout se passenormalement bien même si la taille du programme estlargement supérieure à la taille de la mémoirecentrale.

20/11/2017 Khaled Hassine 95

Remarques

Si le bloc à éjecter représente des donnéesmodifiées, il est indispensable de le réécrire enmémoire secondaire afin de garder une imagefidèle de son contenu. Par suite, pour accélérerle traitement de défaut de pages, la copie surdisque peut se faire pendent que l'UC exécutedes calculs et même sans qu'un traitement dedéfaut de pages ne se produise. Ceci permet derendre de plus en plus transparent à l'utilisateurla gestion en mémoire virtuelle.

20/11/2017 Khaled Hassine 96

Page 25: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 25

Exercice

On considère un ordinateur dont le système demémoire virtuelle dispose de 4 cadres (frames)qui sont tous occupés.

Le tableau suivant donne, pour chacun d'eux : la date en microsecondes du chargement de la page

qu’ils contient, l’heure en microsecondes du derniers accès à cette

page, le nombre d’accès effectués sur cette page, Si la page a été (oui ou non) modifiée.

20/11/2017 Khaled Hassine 97

Question

En justifiant votre réponse, donner quelle sera la pageremplacée au prochain défaut de page pour chacundes quatre algorithmes de remplacement suivants :PAPS, NRU, LRU, MRU.

20/11/2017 Khaled Hassine 98

Cadre Date de Chargement(à l’instant t=)

Date d’accès(à l’instant t=)

Nombred’accès

Modifié

0 150 180 1 Oui

1 120 260 4 Non

2 230 275 2 Oui

3 100 320 5 Oui

Cas d’une organisationsegmentée de la mémoire

Si une information à laquelle on veut accéder ne setrouve pas en mémoire, le SE charge tout le segmentauquel elle appartient.

La taille non uniforme des segments impose ledégagement d'un espace suffisant pour le ranger enMC : soit en réorganisant le contenu de la mémoire, soit en libérant de la place par recopie d'un segment

résident en mémoire principale dans la mémoire demasse.

Dans le deux cas, la manipulation est lourde et, parconséquent, coûteuse en temps.

20/11/2017 Khaled Hassine 99

Remarque

Toutes les informations présentes dans lesegment ne sont pas utilisées de la même façonpar l'unité centrale. En moyenne 80 % du temps d'exécution est

engendré par 20 % d'un programme. L’UC n'accède pas à toutes les données avec la

même fréquence.

Une grande partie des informations présentesdans le segment est chargée inutilement enmémoire puisqu'elle est peu (ou pas) utilisée.

20/11/2017 Khaled Hassine 100

Page 26: CHAPITRE IV –LA MÉMOIRE VIRTUELLE II 4 Mémoire virtuelle.pdf · multiprogrammation) 20/11/2017 Khaled Hassine21 Transfert des blocs vers la mémoire centrale Si Défaut de page

Faculté des Sciences de GabesDépartement d’informatique

20/11/2017

Cours Système d'exploitation 26

Cas d’une organisation paginée de lamémoire : Gestion plus facile

L'organisation de la mémoire en pages permet deremédier aux inconvénients de la segmentation. Eneffet, l'intérêt de cette organisation est double : Seule la page à laquelle appartient l'information

recherchée est chargée en mémoire centrale. Les pages sont toutes de même taille, la gestion de

l'espace mémoire est grandement simplifiée par rapport àce que l'on peut faire avec la segmentation.

Le remplacement des pages les unes par les autres estbeaucoup plus simple que la réorganisation de lamémoire pour le placement des segments.

20/11/2017 Khaled Hassine 101 20/11/2017 Khaled Hassine 102