Vous êtes sur la page 1sur 5

Remarques 

 Les instants auxquels il faut représenter l’état d’occupation de la mémoire : (événements


entraînant le changement de l’état de la mémoire)
- Instants d’arrivée des processus (demande d’allocation par le processus).
- Instants d’allocation de la mémoire.
- Instants de libération de la mémoire (fin d’exécution du processus).

Temps d’attente d’un processus: temps pendant lequel le processus est en attente du


processeur (temps passé à l’état prêt).

Temps d’attente = temps de résidence – temps d’exécution – temps à l’état bloqué

Temps d’attente (pour l’exercice 3) = temps de sortie – temps de chargement en MC


(création du processus) – temps d’exécution
On dit qu’un processus n’est réellement créé que lorsqu’il est chargé en MC

Principe de l’algorithme de Buddy System :

Allocation d’une partition de taille t :

- Arrondir la taille t à une puissance de 2 : t ≤ 2k


- Chercher une partition libre de taille 2k parmi les partitions libre.

- Lorsqu’il n’existe pas une partition libre de taille 2k, chercher une partition de taille 2k+1.
S’il existe une partition de taille 2k+1 il faut la découper en 2 partitions.

16 2k+1
16

d d + 2k

16 2k 16 2k
16 16
Partition à allouer Partition libre
(Compagnon gauche) (Compagnon droit)
 L’adresse de la partition de droite = l’adresse du compagnon gauche + taille du compagnon de
gauche
- S’il n’existe pas de partition libre de taille 2 k+1, Poursuivre les recherches dans les listes de
tailles supérieures 2k+2, 2k+3,…….
• Si la partition libre trouvée est de taille 2j (j ≥ k+1), elle est décomposée récursivement (à
chaque fois c’est le compagnon gauche qui est divisé en deux partitions) jusqu’à obtenir
exactement une partition de taille 2k demandée par le processus.
❖Les partitions de droite qui en résultent sont ajoutées à la liste des partitions libres
correspondant à leur taille.
d
16 2j 22J2k+1
16
d
2j -1 2k+J-1 2j-1 2k+J-1
Nouvelle Partition libre
16 16

1 2j-2 22J2k+1

16

2j-3 2k+J-1 2j-3 2k+J-1


Nouvelle Partition libre
16 16

16 2k+1 22J2k+1
16

2k 2k+J-1 2k 2k+J-1
16 16
❖ Si toutes les recherches son infructueuses, la demande n’est pas satisfaite, et le processus
est mis en attente.

- Libération d’une partition de taille 2k :

- Lorsqu’une partition est libérée et que son compagnon est libre, les deux partitions sont
fusionnées. Les fusions sont poursuivies (fusionner récursivement) tant que le compagnon de
la partition résultat de la fusion est libre.
Exercice 2 :

 Instants à représenter de la libération de la mémoire :


- P0 libère à 6ms
- P1 libère 14ms
- P2 libère à 16ms
- P3 libère à 16ms
- P4 libère à 20ms

Etat
0 initi

-----------------------------------------------------------------------------------------------------

Etat
à
Question 3 :

Exemple illustratif

A l’instant t=0 on a le nombre de partitions


libres = 5

A l’instant t+1 : P2 libère la partition qu’il occupe


On a le nombre de partitions libre = 1

- Le nombre de partitions libre a diminué de n = 5 – 1 = 4


- Le nombre de fusions effectuées = 5

 Relation entre n et le nombre de fusions : n = nombres de fusions - 1

Nombre de fusions = log2 32Mo - log2 1Mo = log2 225 - log2 220 = 25 – 20 = 5

Formules générales :

Nombre de fusions = log2(taille de la dernière partition résultat de la fusion) - log 2(taille de la partition libérée) -1

Exercice 3 :

Partie a) Etat initial : affecter une partition de 4 Mo au système

Partie b) Etat initial : affecter une partition de 4 Mo au système

4 Mo Système
8 Mo 4Mo
4 Mo 4 Mo
16 Mo 8Mo

8 Mo 8 Mo
8 Mo 8 Mo

16Mo-1