1 Chapitre IV : GESTION DU MÉMOIRE CENTRALE
Dr M.CHENAIT ([email protected])
Dr M.CHENAIT
Introduction. ([email protected])
La relation entre ce chapitre et ces
prédécesseurs.
Le but du chapitre...
Dr M.CHENAIT
Le but du chapitre est de connaitre (
[email protected])
Le gestionnaire de la mémoire doit répondre aux questions suivantes :
• Comment organiser la mémoire ? (une ou plusieurs partitions, le nombre et la
taille des partitions fixes ou variables au cours du temps).
• Faut-il allouer une zone contiguë à chaque processus ou non ?
• Comment mémoriser l’état de la mémoire?
•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 ?
• Les adresses figurant dans les instructions sont-elles relatives? Si oui, comment les
convertir en adresses physiques.
• Si plusieurs processus peuvent être résidents en mémoire, comment assurer la
protection des processus (éviter qu’un processus soit altéré par un autre?)
Dr M.CHENAIT
Stratégie d’allocation ( politiques) (
[email protected])
Stratégie d’allocation
Allocation Allocation
contiguë Non-contiguë
Monobloc Partitions multiples
Pagination Segmentation Segmentation paginée
Partitions fixes Partitions variables
Utilisation Utilisation
de files d’une seule
multiples file
Dr M.CHENAIT
Stratégie d’allocation ([email protected])
Monobloc :
Dans ce cas, la mémoire est subdivisée en deux partitions contiguës,
une pour le système
d’exploitation résidant en mémoire basse avec le vecteur d’interruptions
et
l’autre pour le processus utilisateur. Elle n'autorise qu'un seul processus
actif en mémoire à un
instant donné dont tout l’espace mémoire usager lui est alloué.
Avantage: Première solution
Inconvénient: La sous utilisation (i.e. mauvaise utilisation) de
la mémoire.
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
Stratégie d’allocation
Allocation Allocation
contiguë non-contiguë
Monobloc Partitions multiples
Pagination Segmentation Segmentation paginée
Partitions fixes Partitions variables
Utilisation Utilisation
de files d’une seule
multiples file
Dr M.CHENAIT
Stratégie d’allocation ([email protected])
Partitions multiples fixes:
Cette solution consiste à diviser la mémoire en partitions fixes, de tailles
pas nécessairement égales, à l’initialisation du système. Le système
d’exploitation maintient une table de description des partitions (PDT)
indiquant les parties de mémoire disponibles (hole) et celles qui sont
occupées.
Les programmes n'ayant pu se loger en mémoire sont placés dans une
file d'attente (une file unique ou une file par partition)
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
Stratégie d’allocation
Allocation Allocation
contiguë non-contiguë
Monobloc Partitions multiples
Pagination Segmentation Segmentation paginée
Partitions fixes Partitions variables
Utilisation Utilisation
de files d’une seule
multiples file
Dr M.CHENAIT
Stratégie d’allocation ([email protected])
Partitions multiples fixes ( à files multiples)
Chaque nouveau processus est placé dans la file
d’attente de la plus petite partition qui peut le
contenir.
Avantages: Plusieurs allocation à la fois.
Inconvénients: Les inconvénients de cette stratégie
est qu’on perd en général de la place au sein
de chaque partition et aussi, il peut y avoir des
partitions inutilisées (leur file d'attente est vide).
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
10
Stratégie d’allocation
Allocation Allocation
contiguë non-contiguë
Monobloc Partitions multiples
Pagination Segmentation Segmentation paginée
Partitions fixes Partitions variables
Utilisation Utilisation
de files d’une seule
multiples file
Dr M.CHENAIT
Stratégie d’allocation ([email protected])
11
Partitions multiples fixes ( à une files)
Deux stratégies d’attribution d’une partition libre ;
1. Dès qu'une partition se libère, on lui affecte le premier
processus de la file qui peut y tenir. L’inconvénient est qu’on
peut ainsi affecter une partition de
grande taille à un petit processus.
2. Dès qu’une partition se libère, on lui affecte le plus grand
processus de la file qui peut y tenir. L’inconvénient est qu’on
pénalise les processus de petite taille.
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
12
Stratégie d’allocation
Allocation Allocation
contiguë non-contiguë
Monobloc Partitions multiples
Pagination Segmentation Segmentation paginée
Partitions fixes Partitions variables
Utilisation Utilisation
de files d’une seule
multiples file
Dr M.CHENAIT
Stratégie d’allocation ([email protected])
13
Partitions multiples variable
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
14
ZEBBANE
Dr M.CHENAIT
Stratégie d’allocation ([email protected])
15
Stratégie d’allocation
Allocation Allocation
contiguë non-contiguë
Monobloc Partitions multiples
Pagination Segmentation Segmentation paginée
Partitions fixes Partitions variables
Utilisation Utilisation
de files d’une seule
multiples file
Dr M.CHENAIT
Stratégie d’allocation ([email protected])
16
Partitions variables- algorithmes de placement-
_First-fit: Le programme est mis dans le premier bloc qui convient à
partir du début de la mémoire.
_ Best-fit : Le programme est mis dans le bloc de mémoire le
plus petit dont la taille est suffisamment grande pour l’espace requis.
– Worst-fit : Le programme est mis dans le bloc de
mémoire le plus grand pour que la zone libre restante soit la plus
grande possible.
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
17
Partitions variable- algorithmes de placement-
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
18
Exercice sur les algorithmes de placement
Exercice 1 de Série n5. ( voir corrigé )
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
19
Autres notions
- Fragmentation interne (pb)
- La différence d’espace avant et après allocation dans la partition est appelée
fragmentation interne.
- Fragmentation externe (pb)
La fragmentation externe se présente quand il existe un espace mémoire total
suffisant pour satisfaire une requête, mais il n’est pas contigu ; la mémoire est
fragmentée en un grand nombre de petits trous (i.e. blocs libres) où un programme
ne peut être chargé dans aucun de ces trous.
- Compactage en MC ( comme une défragmentation sur le disque)
Le compactage est une solution pour la fragmentation externe qui permet de
regrouper les espaces inutilisés (i.e. les blocs libres) dans une partie de la mémoire
(Ex. début, milieu).
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
20
Stratégie d’allocation
Allocation Allocation
contiguë non-contiguë
Monobloc Partitions multiples
Pagination Segmentation Segmentation paginée
Partitions fixes Partitions variables
Utilisation Utilisation
de files d’une seule
multiples file
Dr M.CHENAIT
Stratégie d’allocation ([email protected])
21
Autres notions
Va-et-vient (Swapping)
Il consiste en le transfert de blocs mémoire de la mémoire secondaire à la mémoire
principale ou viceversa
(Swapping).
Dr M.CHENAIT
Stratégie d’allocation ([email protected])
22
Stratégie d’allocation
Allocation Allocation
contiguë non-contiguë
Monobloc Partitions multiples
Pagination Segmentation Segmentation paginée
Partitions fixes Partitions variables
Utilisation Utilisation
de files d’une seule
multiples file
Dr M.CHENAIT
Stratégie d’allocation (non- contiguë ) ([email protected])
23
Principe de la pagination
l’espace d’adressage du programme est découpé en petits blocs de
même taille appelés pages. L’espace de la mémoire physique est lui-
même découpé en blocs de taille fixe appelés cases ou cadres de page
(Frame Page) ; ce qui facilitera la correspondance d’une page à un
frame.
Dr M.CHENAIT
Stratégie d’allocation (non-contiguë ) ([email protected])
24
Principe de la pagination
Swap
Page physique = frame ( cadre)
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
25
Stratégie d’allocation
Allocation Allocation
contiguë non-contiguë
Monobloc Partitions multiples
Pagination Segmentation Segmentation paginée
Partitions fixes Partitions variables
Utilisation Utilisation
de files d’une seule
multiples file
Dr M.CHENAIT
Stratégie d’allocation (non- contiguë ) ([email protected])
26
Principe de la segmentation
Dans une mémoire segmentée, chaque unité
logique d’un programme usager est stockée
dans un bloc mémoire, appelé « segment » à
l’intérieur duquel les adresses sont relatives au
début du segment. Ces segments sont de tailles
différentes. Un programme sera
donc constitué d’un ensemble de segments de
code et de données, pouvant être dispersés en
MC.
Vue de l’utilisateur d’un programme
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
27
Stratégie d’allocation
Allocation Allocation
contiguë non-contiguë
Monobloc Partitions multiples
Pagination Segmentation Segmentation paginée
Partitions fixes Partitions variables
Utilisation Utilisation
de files d’une seule
multiples file
Dr M.CHENAIT
Stratégie d’allocation (non- contiguë ) ([email protected])
28
Principe de la segmentation paginée
La taille d'un segment peut être importante, d'où
un temps de chargement long qui peut en
résulter. La pagination des segments peut être une
solution.
Vue de l’utilisateur d’un programme
Dr M.CHENAIT
Stratégie d’allocation (
[email protected])
29
Exercice sur le calcul d’adresses dans la cas de segmentation
Exercice 2 de Série n5. ( voir corrigé )
Dr M.CHENAIT
La mémoire virtuelle (
[email protected])
30
Principe de la MV
•La mémoire virtuelle (Virtual Memory) est une technique qui permet l’exécution
de processus pouvant ne pas être dans sa totalité en MC.
• Ceci rend possible l’exécution de processus dont la taille est beaucoup plus
grande que la taille de la mémoire physique.
• Un processus est constitué de morceaux (pages ou segments) ne nécessitant pas d’être
en MC durant l’exécution.
• Pour qu’un programme soit exécuté, seulement les morceaux
qui sont en exécution ont besoin d’être en MC.
• Les autres morceaux peuvent être sur mémoire secondaire (Ex. disque en général),
prêts à être amenés en mémoire centrale sur demande.
Dr M.CHENAIT
31
Principe de la MV
ZEBBANE
Dr M.CHENAIT
32
Algorithmes de remplacement
Définition d’une page victime
ZEBBANE
Dr M.CHENAIT
33
Algorithmes de remplacement
Dr M.CHENAIT
34
Algorithmes de remplacement
1. FIFO
2. Optimal
3 LRU (Least Recently Used)
4. Seconde chance
Dr M.CHENAIT
35
FIFO:
Dr M.CHENAIT
36
FIFO - Anomalie de Balady-
Avec l'algorithme LRU, la page la moins récemment utilisée est retirée. Cette stratégie utilise le principe de la localité temporelle selon lequel les pages récemment utilisées sont celles qui seront
Dr M.CHENAIT
37
Optimal
Avec l'algorithme LRU, la page la moins récemment utilisée est retirée. Cette stratégie utilise le principe de la localité temporelle selon lequel les pages récemment utilisées sont celles qui seront
Dr M.CHENAIT
38
LRU
Avec l'algorithme LRU, la page la moins récemment utilisée est retirée. Cette stratégie utilise le principe de la localité temporelle selon lequel les pages récemment utilisées sont celles qui seront
Dr M.CHENAIT
39
Seconde chance