23. allocation mémoire contigue Flashcards
Un ordinateur possède plusieurs programmes
* Où ces programmes sont-ils situés?
disque dur
Peut-on les exécuter s’ils sont sur le disque
dur?
Non, le disque dur est un périphérique de
stockage lent
quoi faire
Donc, il nous faut les transférer dans la
mémoire principale (RAM)
L’objectif de la gestion mémoire est de
partager la mémoire RAM entre les divers
programmes
Objectifs secondaires:
* Utilisation simple pour un programme
* Maximiser l’utilisation de la mémoire disponible
Allocation mémoire: 2 stratégies
Allocation contigüe: le programme occupe un
espace contigu en mémoire
* partitions de taille fixe
* partitions de taille variable
Allocation paginée: le programme est divisé en
petits morceaux (pages) qui peuvent être répartis à
différents endroits.
fonctionnement Allocation mémoire contigüe
On réserve un «bloc» (ou «fragment») de mémoire
contigu (pas de trou)
Les blocs de mémoire peuvent avoir une taille
fixe: la taille des blocs est prédéterminé, et est la
même pour tous les processus.
* variable: chaque processus se voit allouer un bloc de
taille différente.
fonctionnement Allocation mémoire contigüe, taille fixe
On divise la mémoire en blocs
de taille fixe, par exemple 1Mo
* Chaque processus est placé
dans un bloc libre
Quels sont les problèmes avec
l’allocation contigüe avec
partitions de taille fixe?
Ne peut allouer un programme si sa
taille dépasse celle d’une partition
* Beaucoup d’espace mémoire
perdu: fragmentation!
fragmentation Il en existe 2 types:
Fragmentation interne: espace perdu
à l’intérieur une partition
* Fragmentation externe: espace perdu
à l’extérieur d’une partition
Avec des partitions de taille fixe,
seule la fragmentation —- est
possible
Avec des partitions de taille fixe,
seule la fragmentation interne est
possible. aucun espace à l’extérieur d’une
partition n’est perdu—il peut toujours
être alloué à un autre processus peu
importe son emplacement
Allocation mémoire contigüe, taille variable fonctionnement
On crée une partition de la
bonne taille pour chaque
processus.
* Il peut parfois y avoir plusieurs
endroits où une partition peut
être créée: il faudra déterminer
la bonne stratégie à employer!
Qu’arrive-t-il si un processus
se termine?
trou
Quels sont les problèmes avec
l’allocation contigüe avec
partitions de taille variable?
Lorsqu’un processus se termine, il
peut laisser des «trous».
Avec des partitions de taille
variable, seule la fragmentation
—– est possible
Avec des partitions de taille
variable, seule la fragmentation
externe est possible
* aucun espace à l’intérieur d’une
partition n’est perdu car chaque
partition est créée en fonction de la
taille de son processus