Академический Документы
Профессиональный Документы
Культура Документы
• Généralités
• Système monoprogrammé
– Organistation de la mémoire et protection du SE
– Les overlays (segments de recouvrement)
• Système multiprogrammé
– Partitions fixes
– Partitions variables
• État de la mémoire :
• Le Va-et-vient (swapping)
Généralités
• L’espace d’adressage d’un processus est généré par le compilateur et l’éditeur de liens.
Éditeur
Bibliothèque de liens
statique
Bibliothèque Liaison et
dynamique Chargement Image
dynamiques mémoire
1
Généralités (2)
Espace d’adressage linéaire
Généralités (3)
Espace d’adressage non linéaire : plusieurs segments
2
Généralités (4)
Rôle du gestionnaire de la mémoire
• Toute instruction ou donnée de l’espace d’adressage doit être chargée en mémoire
centrale (principale, physique) avant d’être traitée par un processeur.
– Faut-il allouer une zone contiguë à chaque processus à charger en mémoire ? Faut-il
allouer tout l’espace nécessaire à l’exécution du processus entier ? (politique
d’allocation).
– S’il n’y a pas assez d’espace en mémoire, doit-on libérer de l’espace en retirant des
parties ou des processus entiers? Si oui lesquels ? (politique de remplacement).
– Les adresses figurant dans les instructions sont-elles relatives? Si oui, comment les
convertir en adresses physiques.
Généralités (5)
Exigences
3
Système monoprogrammé
Organisation de la mémoire
• Un seul processus en mémoire.
Erreur:
Adressage illégal
Systèmes d’exploitation Génie Informatique
École Polytechnique de Montréal Chapitre 8.8
4
Système monoprogrammé (3)
Overlays (segments de recouvrement)
• Inconvénients :
– Cela complique la tâche aux programmeurs.
– Mauvaise utilisation des ressources.
Exemple :
main (15k)
f1 (16k) f2 (13k)
5
Système multiprogrammé
• Deux préoccupations:
Degree of multiprogramming
6
Système multiprogrammé (3)
avec Partitions fixes
7
Système multiprogrammé avec partitions fixes : (5)
Translation d’adresse et protection
8
Système multiprogrammé avec partitions fixes (7)
Translation d’adresse et protection
SE
V
CPU adresse < +
Mémoire
F
SE
• Fragmentation interne
est causée par la Partition 2K
partie d'une partition
non utilisée par un Fragmentation
processus. interne Partition 4K
Partition 6K
Partition
vide
Partition 6K
Mémoire
Systèmes d’exploitation Génie Informatique
École Polytechnique de Montréal Chapitre 8.18
9
Système multiprogrammé avec partitions variables (9)
• Initialement, l’espace mémoire réservée aux utilisateurs constitue une seule
partition.
• Quand un nouveau processus doit être chargé, on lui alloue une zone contiguë
de taille suffisamment grande pour le contenir.
• Solutions:
– Compactage (coûteux et exige que les processus soient relocalisables)
– Allocation discontinue.
100K 100K
Fin du processus 2
processus 2
200K 200K
processus 3 processus 3
230K 230K
256K 256K
a) b)
Systèmes d’exploitation Génie Informatique
École Polytechnique de Montréal Chapitre 8.20
10
Système multiprogrammé avec partitions variables (11)
Exemple (suite)
0K 0K
Moniteur Moniteur
40K 40K
processus 1 processus 5
90K
100K 100K
processus 4 processus 4
170K 170K
200K 200K
processus 3 processus 3
230K 230K
256K 256K
c) d)
Systèmes d’exploitation Génie Informatique
École Polytechnique de Montréal Chapitre 8.21
0K 0K
Moniteur Moniteur
40K 40K
processus 5 processus 5
90K 90K
100K
processus 4 processus 4
160K
170K processus 3
200K 190K
processus 3
230K
256K 256K
11
État de la mémoire
– Connaître l'
état de la mémoire :
• Tables de bits,
• Listes chaînées.
0 8 16 24 32 …
P1 P2 P3
12
État de la mémoire (3)
Liste chaînée
a)
0 5 7 12 32 35
occupé libre
O L O L O
0 5 7 12 32
5 2 5 20 3
b)
13
Politiques de placement
occupé libre
• Meilleur ajustement (best fit): La zone qui laisse le plus petit espace non
occupé.
• Pire ajustement (worst fit): La zone qui laisse le plus grand espace non
occupé.
14
Politiques de placement (3)
Simulations (Shore, 1975)
Performants
Performance
Requêtes
• Comme il n’y a pas de blocs libres de taille 128 Ko, 256 Ko ou 512 Ko, la mémoire de 1 Mo
est divisée en deux blocs de 512 Ko.
• Le premier bloc est divisé en deux blocs de 256 Ko. Enfin, le premier des deux blocs
nouvellement créés est divisé en deux blocs de 128 Ko.
• L’allocation par subdivision est rapide mais elle est assez inefficace en ce qui concerne
l’utilisation de la mémoire (arrondir les tailles à une puissance de 2, fragmentation interne).
15
Libération d’espace
1er cas :
A X B A B
2ième cas
A X A
ième
3 cas
X B B
Modifier l’indicateur de l’é tat du segment (il passe à libre) fusionner les deux segments.
4ième cas
Le va-et-vient (Swapping)
• Le va-et-vient est mis en œuvre lorsque tous les processus ne peuvent pas
tenir simultanément en mémoire.
• La zone de va-et-vient d’un processus peut aussi être allouée une fois pour
toute au début de l’exécution. Lors du déchargement, le processus est sûr
d’avoir une zone d’attente libre sur le disque (éviter des interblocages).
16
Le va-et-vient (Swapping) (2)
Exercice
1. Donnez les états d' occupation de la mémoire aux différentes étapes de traitement de
ces processus, sous les hypothèses suivantes :
1. Partitions fixes de tailles 6 MB, 4 MB, 2 MB et 4 MB (pour le système) ;
2. Le mode d' allocation des trous utilise l’algorithme meilleur ajustement (Best Fit) ;
3. Le répartiteur de haut niveau fonctionne selon PAPS ;
4. Le répartiteur de bas niveau fonctionne selon SJF (Shortest Job First).
5. Pas de va-et-vient
Instant Processus Taille Temps Durée
t CPU E/S
0 A 3 MB 9 ms 2 ms
4 B 5 MB 6 ms 9 ms
6 C 5 MB 4 ms 4 ms
8 D 4 MB 2 ms 6 ms
10 E 1 MB 4 ms 3 ms
12 F 1 MB 5 ms 1 ms
16 G 1 MB 3 ms 2 ms
18 H 3 MB 3 ms 8 ms
Chaque processus effectue un calcul suivi d’une E/S en utilisant son propre périphérique
17