23. allocation mémoire contigue Flashcards

1
Q

Un ordinateur possède plusieurs programmes
* Où ces programmes sont-ils situés?

A

disque dur

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Peut-on les exécuter s’ils sont sur le disque
dur?

A

Non, le disque dur est un périphérique de
stockage lent

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

quoi faire

A

Donc, il nous faut les transférer dans la
mémoire principale (RAM)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

L’objectif de la gestion mémoire est de

A

partager la mémoire RAM entre les divers
programmes

Objectifs secondaires:
* Utilisation simple pour un programme
* Maximiser l’utilisation de la mémoire disponible

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Allocation mémoire: 2 stratégies

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

fonctionnement Allocation mémoire contigüe

A

On réserve un «bloc» (ou «fragment») de mémoire
contigu (pas de trou)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Les blocs de mémoire peuvent avoir une taille

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

fonctionnement Allocation mémoire contigüe, taille fixe

A

On divise la mémoire en blocs
de taille fixe, par exemple 1Mo
* Chaque processus est placé
dans un bloc libre

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Quels sont les problèmes avec
l’allocation contigüe avec
partitions de taille fixe?

A

Ne peut allouer un programme si sa
taille dépasse celle d’une partition
* Beaucoup d’espace mémoire
perdu: fragmentation!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

fragmentation Il en existe 2 types:

A

Fragmentation interne: espace perdu
à l’intérieur une partition
* Fragmentation externe: espace perdu
à l’extérieur d’une partition

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Avec des partitions de taille fixe,
seule la fragmentation —- est
possible

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Allocation mémoire contigüe, taille variable fonctionnement

A

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!

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qu’arrive-t-il si un processus
se termine?

A

trou

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Quels sont les problèmes avec
l’allocation contigüe avec
partitions de taille variable?

A

Lorsqu’un processus se termine, il
peut laisser des «trous».

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Avec des partitions de taille
variable, seule la fragmentation
—– est possible

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

4 algorithmes afin de déterminer l’emplacement d’un
processus en mémoire

A

Première allocation (First Fit): Le processus est mis dans le premier bloc de
mémoire suffisamment grand à partir du début de la mémoire.
* Souvent utilisé malgré sa simplicité apparente!

  • Prochaine allocation (Next Fit): Le processus est mis dans le premier bloc
    de mémoire suffisamment grand à partir du dernier bloc alloué.
  • Crée souvent un peu plus de fragmentation que « First Fit »
  • Meilleure allocation (Best Fit): Le processus est mis dans le bloc de
    mémoire le plus petit dont la taille est suffisamment grande pour l’espace
    requis.
  • Semble meilleur, mais demande beaucoup de temps de calcul!
  • Pire allocation (Worse Fit): Le processus est mis dans le bloc de mémoire le
    plus grand.
17
Q

Que faire si aucun «trou» n’est assez
grand pour un processus?

A

Ne peut être admis en mémoire!

18
Q

Est-ce qu’un processus doit absolument savoir à
quel endroit il est placé en mémoire?

A

Tout ce que le processus doit savoir, c’est
comment accéder à chacune des adresses dans
son bloc de mémoire

19
Q

Un—— utilise des adresses virtuelles
* La——– utilise des adresses physiques
* Il faut donc «traduire» entre les deux: c’est le
travail du ——-

A

Un processus utilise des adresses virtuelles
* La mémoire utilise des adresses physiques
* Il faut donc «traduire» entre les deux: c’est le
travail du Memory Management Unit (MMU)

20
Q

le MMU effectue le calcul
suivant pour traduire une adresse virtuelle en adresse physique:

A

aphysique = avirtuelle + apartition

même calcul pour taille variable ou taille fixe