Académique Documents
Professionnel Documents
Culture Documents
Système d’exploitation
Asma NAJJAR
ISTIC-LFSI1
2018-2019
117
Plan du chapitre
I. Allocation Contiguë
1. Gestion par partitions fixes
1.1 Partitions Fixes de tailles inégales
1.2 Partitions Fixes de tailles égales
2. Gestion par partitions variables
2.1 Algorithmes de placement
– Best Fit, Worst Fit, Next Fit , First Fit
2.2 Gestion par table de bits
2.3 Gestion par liste chainées
II. Allocation NON Contiguë
1. La pagination
2. La segmentation
118
Introduction
-- La mémoire centrale est une ressource importante et
limitée Elle doit être gérer d’une façon optimale.
Gestion de la mémoire
• Système mono-tâche
– Dans ce cas un seul processus, à un instant donné, occupe
l’ensemble de la mémoire physique disponible.
120
Gestion de la mémoire
• Système multitâche
– Plusieurs processus, simultanément présents dans la
mémoire centrale
• Problématique
1- Gérer le partage de la mémoire physique entre différents processus
Comment organiser et allouer la mémoire.
2- Gérer les processus associés à des programmes trop volumineux.
121
Systèmes Multitâches
• Types d’allocation
– Allocation Contigüe
• Pour chaque processus, le gestionnaire de la mémoire
recherche une partition suffisamment grande pour
accueillir la totalité du processus.
– Allocation Non-Contigüe
• Diviser un processus en morceaux et permettre
l’allocation séparée de chaque morceau.
122
Gestion de la mémoire
• Allocation Contigüe
• Gestion par partitions fixes
– Partitions Fixes de tailles inégales
– Partitions Fixes de tailles égales
• Gestion par partitions variables
123
Allocation Contigüe
124
Partitions fixes
0 0
Partitions de 125
Partitions de
tailles égales tailles inégales
Partitions fixes
Partitions fixes
• Partitions fixes de taille inégales
– Dans ce cas la mémoire est subdivisée en
partitions fixes de tailles inégales.
127
Partitions fixes 0
• Exemple 1: A(8M)
Partitions de
tailles égales
128
Partitions fixes 0
C (3M)
• Exemple 2: 1MO
B (5M)
– Processus A(8MO) 1MO
A(8M)
– Processus B(5MO)
– Processus C(3MO)
129
Partitions fixes 0
A (3M)
• Exemple 3: 1MO
– Processus A(8MO)
A(8M)
– Processus B(7MO)
– Processus C(3MO) B (7M)
1MO
130
Problème de fragmentation
• Fragmentation interne
– La partie d'une partition non utilisée par un processus.
• Fragmentation externe
– Les partitions qui ne sont pas utilisées.
131
132
-Processus P5(6MO)
P5-P4-P3-P2- P1
134
P5 | P4 | P3 | P2 | P1
Partitions Fixes
• Exercice
– Soit une mémoire centrale utilisant la technique d’allocation
contiguë par partitionnement fixe.
– Cette mémoire est composée de 5 partitions P1, P2, P3, P4 et P5.
– Ces partitions ont pour tailles respectives 100, 500, 200, 300 et
600 KO.
– Soient 4 processus A, B, C et D de tailles respectives 212, 417, 112
et 426 KO.
– Donner les différents états de la mémoire centrale pour charger
les 4 processus A, B, C et D dans les deux cas suivants :
• Gestion par plusieurs files d’attente.
• Gestion par une seule file d’attente.
136
Partitions fixes
• Simple, mais...
Exemple 1
Exemple 2
Exemple 3
Exemple 4
139
• Exemple
B B B
A A
C C
SE SE SE SE SE SE SE
0 0 0 0 0 0 0
Temps
140
0 0
Partitions variables :
Algorithmes de
Placement
• Pour décider de
l’emplacement du prochain
processus
• Choix possibles:
– Best fit: choisir le plus petit
trou (meilleur accès)
– Worst fit: le plus grand trou
(pire accès)
– First-fit: choisir 1er trou à partir
du début (premier accès)
– Next-fit: choisir 1er trou à
partir du dernier placement
(prochain accès)
141
Algorithmes de placement
• Quel est le meilleur?
– Critère principal: diminuer la probabilité de situations où un
processus ne peut pas être servi, même s ’il y a assez de
mémoire...
Le va-et-vient
• Multiprogrammation sans va-et-vient.
– Dans ce cas, un processus chargé en mémoire y séjournera jusqu’à
ce qu’il se termine (pas de va-et vient entre la mémoire et le
disque).
143
Le va-et-vient
• La mémoire est une ressource ne pouvant pas contenir tous
les processus.
144
Gestion de la mémoire
• Le gestionnaire de la mémoire doit mémoriser les parties
libres et occupées.
– Gestion par table de bits
- La mémoire est divisée en unités d’allocation dont la taille fixe
qui peut varier de quelques mots à plusieurs kilo-octets.
- Chaque unité sera représentée dans la table des bits par:
- 0 si l’unité est libre.
- 1 si l’unité est occupée.
Exemple: 00111100
00111111
A B 100000 …
0 8 16
Gestion de la mémoire
– Gestion par liste chaînée
• Cette technique maintient une liste chaînée des
segments libres et occupées.
• Chaque nœud contient:
– un bit d’état(0L,1O)
– son adresse de début
– et sa taille.
Exemple:
L 0 2 L 6 4
A B
0 8 16 O 2 4 O 10 7
Liste chaînée L 17 4
147