Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 9

Ing.

Olfa Nasraoui 1
Système d’exploitation 2

Gestion de la mémoire

I. Introduction

Sans mémoire centrale, le système d’exploitation ne pourra jamais s’exécuter


et l’ordinateur ne fonctionnera pas. La mémoire centrale est l’espace d’exécution de
tous les programmes y compris le système d’exploitation.

Dans ce chapitre, nous verrons comment la mémoire centrale est partitionnée


et comment les programmes utilisateurs et systèmes sont affectés aux espaces
mémoire.

II. Généralités sur la mémoire centrale

Le service de gestion de la mémoire centrale divise de la mémoire 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

Figure 1 : Partitionnement de la mémoire centrale

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 :

 connaître les parties libres et occupées de la mémoire,


 allouer de la mémoire aux processus qui en ont besoin,
 récupérer la mémoire utilisée par un processus lorsque celui-ci se termine

Page 1 sur 9
Ing. Olfa Nasraoui 2
Système d’exploitation 2

 traiter le « va-et-vient » entre le disque et la mémoire principale lorsque


cette dernière ne peut pas contenir tous les processus.

Le « Va-et-vient » est une technique qui consiste à déplacer les zones de la mémoire
sur le disque afin d’avoir de zones libres.

La partie suivante du cours traitera les schémas de partitionnement possibles de


la mémoire centrale ainsi que les stratégies d’allocation des espaces mémoires aux
différents processus demandant de l’espace.

III. Méthodes de partitionnement :

Le partitionnement de la mémoire consiste à diviser l’espace en des partitions de


taille fixe ou de taille variable. Dans notre cours, nous allons s’intéresser au
partitionnement de la mémoire dans le cadre de la multiprogrammation. Le cas des
systèmes mono-programmés ne sera pas traité puisque les processus sont exécutés
séquentiellement et un à la fois.

1. Partitions fixes :

Dans ce schéma de partitionnement, l’espace mémoire est divisée en un certain


nombre de zones de taille fixe, appelées des partitions. Une partition peut accueillir,
à un instant donné, un programme et un seul. La taille du programme est en tout cas
plus petite ou égale à celle de la partition choisie.

Page 2 sur 9
Ing. Olfa Nasraoui 3
Système d’exploitation 2

Figure 2 : Espace mémoire découpé en partitions fixes

2. Partitions variables :

Ici les parties de l’espace mémoire sont de tailles variables. La zone mémoire
allouée à un processus redevient libre après la distribution du processus. Ces espaces
forment des partitions (de tailles) variables.

Figure 3 : Placement initial en mémoire

Page 3 sur 9
Ing. Olfa Nasraoui 4
Système d’exploitation 2

La figure précédente montre la répartition initiale des processus dans l’espace


mémoire. Il est supposé que la taille de cette mémoire totalise 100 unités (exprimées
en Kilo ou Méga-octets), que le système d’exploitation nécessite 30% de cet espace
et que le reste est à partager entre les processus utilisateurs. Les processus sont
ordonnés dans une file d’attente selon leurs dates d’arrivées.

Lorsque certains processus se terminent, l’espace mémoire devient une


alternance de zones libres et de zones occupées de taille variable. La figure suivante
décrit une situation à l’issue de laquelle il y aura une formation d’un trou.

Figure 4 : Formation des trous

Pour remédier à l’augmentation du nombre de trous, une solution consiste à


grouper les zones libres selon deux techniques :

 Concaténation des trous juxtaposés ;


 Compactage des trous et de l’espace libre en un seul espace.

IV. Les stratégies d’allocation :

L’allocation d’un espace libre à un processus peut s’effectué selon plusieurs


stratégies.

Page 4 sur 9
Ing. Olfa Nasraoui 5
Système d’exploitation 2

1. Stratégie First-Fit :

Il s’agit de choisir, pour satisfaire une demande, le premier trou, dans l’ordre des
adresses, dont la taille est supérieure ou égale à la demande (autrement dit, on
cherche à allouer le premier trou qui convient). La figure suivante est un exemple
d’allocation selon ce principe.

Figure 5 : Stratégie First fit

2. Stratégie Next-Fit :

Premier trou suffisant mais la recherche commence à partir de l’emplacement


précédente

3. Stratégie Best-Fit :

Il s’agit de choisir, pour satisfaire une demande, le plus petit trou dont la taille
soit suffisante pour répondre à la demande. On peut ainsi espérer ne pas fragmenter

Page 5 sur 9
Ing. Olfa Nasraoui 6
Système d’exploitation 2

les gros trous afin de satisfaire les demandes gourmandes en espace mémoire. La
figure suivante est un exemple d’allocation selon ce principe.

Figure 6 : Stratégie Best fit

4. Stratégie Quick-Fit :

Les trous sont classés par taille.

Nécessite une file contenant les mémoires libres classes dans leur ordre croissante
sans fragmentation.

Cette méthode est plus difficile de retrouver des espaces contigus afin de les
fusionner.

5. Stratégie Worst-Fit :

Il s’agit de choisir, pour satisfaire une demande, le plus grand trou dont la taille
est largement supérieure à la demande. On peut ainsi espérer aboutir à un restant
Page 6 sur 9
Ing. Olfa Nasraoui 7
Système d’exploitation 2

dont la taille est suffisante pour satisfaire les petites demandes en espace mémoire.
La figure suivante est un exemple d’allocation selon ce principe.

Figure 7 : Stratégie Worst fit

V. Conclusion

Maintenant, nous avons vu deux services communs du système d’exploitation et


qui sont en étroite relation. Un autre concept est aussi important et sera abordé
dans le cadre du chapitre suivant, c’est le fichier.

Page 7 sur 9
Ing. Olfa Nasraoui 8
Système d’exploitation 2

Systèmes d’exploitation 2
Travaux Dirigés N° 2

Exercice 1
Dans le cadre d’un schéma de partitionnement de la mémoire centrale, on suppose
une allocation de type partition variable. La mémoire centrale est structurée de la façon
suivante :
Système
Libre (300K)
Occupé
Libre (100K)
Occupé
Libre (200K)
Occupé
Libre (500K)

On suppose avoir la séquence suivante des demandes d’allocation : 150k, 200k, 100k, 300k,
150K. Donner l’état final de la mémoire avec les techniques First-fit, Best-fit, Worst-fit, Next-
fit et Quick-fit. Conclure.

Exercice 2
On Considère les 5 processus du tableau suivant :

Processus Date d’arrivée Durée d’exécution Taille en MC


P1 0 8 200
P2 2 10 500
P3 4 13 250
P4 9 15 350
P5 0 6 600

Page 8 sur 9
Ing. Olfa Nasraoui 9
Système d’exploitation 2

On considère aussi une mémoire centrale structurée de la façon suivante :


Système
Libre (300K)
Occupé
Libre (700K)
Occupé
Libre (500K)
Occupé
Libre (200K)
Occupé
Libre (300K)

Donnez sous forme de diagrammes de temps l’évolution de l’état de la mémoire et de la file


de haut niveau, aux différentes étapes de traitement de ces processus, sous les hypothèses
suivantes :
1)
 Le mode d’allocation des trous pour la mémoire centrale est First Fit ;
 L’ordonnancement des processus fonctionne selon la stratégie Premier Arrivé,
Premier Servi.
2)
 Le mode d’allocation des trous pour la mémoire centrale est Best-Fit
 L’ordonnancement des processus fonctionne selon la stratégie SJF (Shortest Job
First)

Page 9 sur 9

Vous aimerez peut-être aussi