Vous êtes sur la page 1sur 25

UNIVERSITE DE SOUSSE ‫جــامعة سوسة‬

Institut Supérieur de Gestion de ‫المعهد العالي للتصرف بسوسة‬


Sousse

Chapitre 3

Gestion de la mémoire

DR. WAFA MOUALHI


CONCEPTS DE BASE
Gestion de la Mémoire
Concepts de Base
On appelle «mémoire» tout composant électronique capable de stocker des
données.
La mémoire vive
La mémoire vive ou mémoire RAM (Random Access Memory, traduisez mémoire
à accès direct), est la mémoire principale du système. Elle permet de mémoriser
temporairement les données lors de l'exécution des programmes.
 C’est une mémoire volatile qui est accessible en lecture et écriture.
Mémoire morte
La mémoire morte, appelée ROM pour Read Only Memory (traduisez mémoire
en lecture seule) permet de conserver les informations même lorsque la
mémoire n’est plus alimentée électriquement. Elle est utilisée pour stocker les
informations nécessaires au démarrage d’un ordinateur.
 C’est une mémoire permanente qui est accessible en lecture seule.
Concepts de Base
La mémoire de masse

La mémoire de masse (appelée également mémoire physique ou


mémoire externe) permet de stocker des informations à long terme, y
compris lors de l'arrêt de l'ordinateur. Ce sont en général des mémoires
de grandes capacités accessible en écriture et Lecture.
Les disques durs;

Les disques optiques;

Les clés USB.

La mémoire est une ressource importante et limitée qui doit


être gérer d’une façon optimale.
Concepts de Base
Equivalence entre les unités de stockage

1)To, Go, Mo, Ko, Octet

1To(Terra-octet)=1024Go

1Go(Giga-octet)=1024Mo

1Mo(Méga-octet)=1024Ko

1Ko(Kilo-octet)=1024 octets(o)

2) Octet, bit

1 octet = 8 bits
La Multiprogrammation
o La mémoire centrale est divisée en deux zones : zone système qui contient les
processus du système d’exploitation et zone utilisateur qui contient les processus
utilisateur.
zone système

zone utilisateurs

o Le gestionnaire de mémoire gère l'allocation de l'espace mémoire au système et


aux différents processus en cours d'exécution. Parmi ses tâches :
o connaître les parties libres et occupées de la mémoire,
o allouer de la mémoire aux processus qui en ont besoin,
o récupérer la mémoire utilisée par un processus lorsque celui-ci se termine
Allocation en partitions fixes
oMémoire principale subdivisée en régions distinctes

: « partitions » lors du boot par l’opérateur de la


machine,

oLes partitions sont de même taille ou de tailles

inégales mais fixes

oN’importe quel programme peut être affecté à une

partition qui doit être suffisamment grande

oUne partition ne peut contenir qu’un seul


programme.

Mécanisme simple soufrant de la


fragmentation interne
Partitions Fixes de Tailles Égales
oDiviser la mémoire en N partitions de même taille.
oChaque nouvelle tâche est placée dans la première partition libre.
Problèmes:
◦ La taille de partition doit être assez grande pour n’importe quel
processus
◦ Gros problème de fragmentation interne
Partitions Fixes de Tailles Inégales
oDiviser la mémoire en N partitions qui peuvent être de tailles
inégales et associer à chaque partition une file d’attente.
oChaque nouvelle tâche est placée dans la file d’attente de la plus
petite partition qui peut la contenir.
Allocation en partitions variables:
Le va-et-vient (swapping)
oAu lancement du système, on crée une seule zone libre de taille maximale.

oLorsqu'on charge un programme, on le place dans une zone libre


suffisante, et on lui alloue exactement la mémoire nécessaire.

oLe reste devient une nouvelle zone libre. Lorsqu'un programme s'achève,
sa partition redevient libre.

oLe va-et-vient permet d'utiliser le disque comme mémoire secondaire et


d'y stocker un nombre de processus en attente.

oNe crée pas de fragmentation interne mais externe


Le va-et-vient (swapping)

o L'allocation de la mémoire change au gré des processus


qui viennent en mémoire et ceux qui quittent la mémoire

o Les zones grises indiquent la mémoire non utilisée


Le va-et-vient (swapping)
i. (a) A est en mémoire

ii. (b,c) B et C sont crées


ou chargés depuis le
disque

iii. (d) A est transférer sur le


disque

iv. (e,f) D arrive, tandis


que B s’en va

v. (g) A revient
Allocation en partitions variables
o Pour décider l’emplacement du prochain
processus : il faut un algorithme pour choisir
dynamiquement, parmi les blocs libres de la
mémoire centrale, celui qui va recevoir le nouveau
processus (algorithme d'allocation de mémoire à
un processus). On reconnaît en général trois
méthodes:
Allocation en partitions variables : Les stratégies de
placement:
o Première zone libre (First Fit):
o Chercher, à partir de zéro, la première zone libre qui peut
contenir le processus demandeur.
Allocation en partitions variables : Les stratégies de
placement:
o Meilleur ajustement (Best Fit):
o Chercher la plus petite zone libre qui peut contenir le
processus courant.
Allocation en partitions variables : Les stratégies de
placement:
o Plus grand résidu (Worst Fit): Chercher la plus grande zone
libre qui peut contenir le processus courant.
Application1:
o Considérons un système de gestion de mémoire à partitions
variables avec la liste des zones libres suivantes (ordonnée par
adresses croissantes) : 10K, 4K, 20K, 18K, 7K, 9K, 12K et 15K.

o Supposons les demandes successives d'espace


mémoire :A= 12K, B= 10K et C= 9K.

o Indiquer pour les stratégies First Fit, Best Fit et Worst Fit
l'état de cette liste après l'allocation des espaces pour les
demandes de A, B et C.
Solution Application
First fit : on cherche le premier espace
qui convient
@ Lg @ Lg @ Lg @ Lg
a 10k a 10k b 4k b 4k
b 4k b 4k c 8k c 8k
c 20k c 8k d 9k
d 18k
d 18k d 18k
e 7k e 7k
e 7k e 7k
f 9k f 9k
f 9k f 9k
g 12k g 12k
g 12k g 12k
h 15k h 15k
h 15k h 15k C
9k
A B
12k 10k
Solution Application
Best fit : on cherche l’espace qui laisse
le plus petit trou
@ Lg @ Lg @ Lg @ Lg
a 10k a 10k b 4k b 4k
b 4k b 4k c 20k c 20k
c 20k c 20k d 18k d 18k
d 18k d 18k e 7k e 7k
e 7k e 7k f 9k h 15k
f 9k f 9k h 15k
g 12k h 15k C
h 15k 9k
B
A 10k
12k
Solution Application
Worst fit : on cherche l’espace qui
laisse le plus grand vide
@ Lg @ Lg @ Lg @ Lg
a 10k a 10k a 10k a 10k
b 4k b 4k b 4k b 4k
c 20k c 8k c 8k c 8k
d 18k d 18k d 8k d 8k
e 7k e 7k e 7k e 7k
f 9k f 9k f 9k f 9k
g 12k g 12k g 12k g 12k
h 15k h 15k h 15k h 6k
A B C
12k 10k 9k
Application2:
Soit un système utilisant l'allocation mémoire basée sur des partitions variables. Le
placement en mémoire centrale obéit à la stratégie First Fit.
On suppose que la taille de la partition User en mémoire centrale est de 175 K. À un
instant t, l'état de la mémoire centrale est le suivant :

Représenter l'évolution de la mémoire centrale suite à l'arrivée des événements


suivants :
1. Arrivée du programme G (20 K).
2. Départ du programme B.
3. Arrivée du programme H (15 K).
4. Départ du programme E.
5. Arrivée du programme I (40 K).
Application3:

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, 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 l’ordre) en utilisant les algorithmes d’allocation suivants :
a- FIRST-FIT
b- BEST-FIT
c- WORST-FIT
Compactage de la mémoire(1)
oAllocations et désallocations successives des programmes créent des
trous (zones libres de taille insuffisante) en mémoire centrale :

La défragmentation
o Le compactage consiste à déplacer les programmes en mémoire
centrale de manière à ne créer qu'une seule et unique zone libre.
Compactage de la mémoire (2)
Fin!

Vous aimerez peut-être aussi