Vous êtes sur la page 1sur 34

Mokaddem Mostefa

Cours Systèmes d’Exploitation I

Mostéfa MOKADDEM
mokaddem.mustapha@univ-oran.dz

Séance 9
Gestion de la Mémoire

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 1
Mokaddem Mostefa

Gestion de la Mémoire

Cette partie se distingue par deux sections pour mettre


en œuvre la gestion de la mémoire. On doit d’abord
présenter les différents systèmes classiques en citant
leurs algorithmes ensuite citer les caractéristiques de la
mémoire virtuelle.

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 2
Mokaddem Mostefa

Gestion de la Mémoire
La gestion de la mémoire doit remplir les fonctions suivantes :

• permettre le partage de la mémoire


• permettre d'allouer des blocs de mémoire aux processus
• protéger les espaces mémoire utilisés
• optimiser la quantité de mémoire disponible

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 3
Mokaddem Mostefa

Gestion de la Mémoire

Le gestionnaire de mémoire est chargé de :


• 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
• Traiter le va-et-vient (swapping ) entre le disque et la mémoire principale
lorsque cette dernière ne peut pas contenir tous les processus.

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 4
Mokaddem Mostefa

Gestion de la Mémoire

Relocation

Le Programmeur ne connait où son programme sera chargé en mémoire pour exécution.

Pendant l’exécution, un programme peut faire des swaps in et out vers un espace différent
du premier. (relocated)

Les références mémoire doit être retranslatées vers le nouvel espace.

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 5
Mokaddem Mostefa

Gestion de la Mémoire

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 6
Mokaddem Mostefa

Gestion de la Mémoire

Protection
• Les Processus ne doivent pas être capables de référencer dans l’espace
d’un autre processus sans sa permission ni dans l’espace système.

• Les adresses absolues se valident pendant le chargement (runtime) et non


pendant la compilation.

• La protection doit être assurée par hardware et non par le software

 Le système ne peut pas prévoir toutes références qu’un programme doit faire.

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 7
Mokaddem Mostefa

Gestion de la Mémoire

Partage
• Permettre à plusieurs processus d’accéder à un même espace
mémoire.
• Il est préférable de permettre à chaque processus d’accéder à une
même copie de programme que d’avoir sa propre copie.

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 8
Mokaddem Mostefa

Gestion de la Mémoire

Organisation logique
• Programmes écrits en modules
• Modules peuvent être écrits et compilés indépendemment
• Différents degrés de protection aux modules (read-only,
execute-only)
• Partage de modules parmi les processus

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 9
Mokaddem Mostefa

Gestion de la Mémoire

Organisation physique
• La Mémoire disponible pour un programme et ses
données doit être suffisante
 L’Overlay permet à différents d’être assignés à
un même espace mémoire.
• Le Programmeur ne connait pas combien d’espace
devrait être disponible.

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 10
Mokaddem Mostefa

Gestion de la Mémoire

Les gestionnaires de mémoire peuvent être divisés en deux classes :

• Ceux qui font le Swapping et la pagination


• Ceux qui ne les font pas

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 11
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Fixes
La MFT utilise deux techniques : files d’entrée multiples (a) et file d’entrée Unique (b)

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 12
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 13
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Listes chainées

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 14
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Listes chainées
First Fit
Il parcourt la liste de segments (toujours à partir du début) à la recherche de la première
zone libre qui peut contenir le processus.

Cette zone est alors divisée en deux :

la première contient le processus


la deuxième, l'espace mémoire inutilisé
(sauf si le processus a exactement la même taille que la zone).

Cet algorithme est rapide puisqu'il y a très peu de recherche.

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 15
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Listes chainées
Next Fit
C'est une légère variante de l'algorithme précédent.

Il mémorise en plus la position de l'espace libre trouvé.

La recherche suivante commencera à partir de cette position et non à partir du début.

Il a été mis en évidence que cet algorithme est moins performant que le précédent.

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 16
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Listes chainées
Best Fit

Il recherche la zone libre la plus petite qui convient.

On évite ainsi de fractionner une grande zone dont on pourrait avoir besoin plus tard.

Il est plus lent car il parcourt toute la liste et ce qui est le plus étonnant,

c'est qu'il fait perdre plus d'espace que les deux précédents.

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 17
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Listes chainées
Worst Fit

Il consiste à toujours prendre la plus grande zone libre disponible pour que la zone libre
restante soit la plus grande possible.

La simulation a montré que cette stratégie ne donne pas de bons résultats.

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 18
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Listes chainées
On peut accélérer ces quatre algorithmes en utilisant :

les listes séparées pour les processus


les listes séparées pour les zones libres

de nombreux autres algorithmes s'appliquent si on suppose connues à l'avance

la distribution de taille des processus


leur durée d'exécution.

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 19
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Listes chainées

Worst Fit

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 20
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Buddy System
L’Espace entier Disponible est traité comme un bloc
unique de taille 2U

Suite à une requête de taille s telle que 2U-1 < s <= 2U,
le bloc entier est alloué

• Sinon le bloc est subdivisé en deux buddies égaux.


• Le processus continue jusqu’à ce qu’un buddy de taille supérieure
ou égale à soit généré

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 21
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Buddy System

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 22
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Buddy System

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 23
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Bit Map
La mémoire est divisée en unités d'allocation dont la taille peut varier de quelques mots à
plusieurs Kilo-octets. A chaque unité, on fait correspondre un bit dans la table de bits qui
est à 0 si l'unité est libre et à 1 si elle est occupée (ou vice versa).

La taille de l'unité d'allocation joue un rôle important.


Si faible alors table très grande.
Si grande alors table petite.
perte de mémoire si taille du processus n'est pas un multiple de l'unité d'allocation.
mémoriser l'occupation de la mémoire dans un espace mémoire de taille fixe

Le seul problème : ramener en mémoire un processus de k unités.


parcourir la table de bits à la recherche de k zéros consécutifs.

Cette recherche est lente, en pratique rarement utilisée .


Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 24
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Bit Map

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 25
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Pagination
Partitionner la memoire en petits morceaux de taille fixe et diviser chaque
processus en morceaux de même taille
Les morceaux du processus sont appelés pages
Ceux de la mémoire sont appelés Frames ou pages physiques
Le système maintient une table des pages par processus:
• La location de chaque page du processus à sa frame
• Une adresse est un numéro de page et un déplacement dans la page

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 26
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Pagination

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 27
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Pagination

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 28
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Pagination

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 29
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Pagination

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 30
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Segmentation

Tous les segments de tous les programmes ne sont pas


de même longueur
Il y a une longueur maximum pour les segments
L’adressage :- un numéro de segment et un offset
Puisque les segments ne sont pas identiques, la
segmentation est similaire à une pagination dynamique

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 31
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Segmentation

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 32
Mokaddem Mostefa

Gestion de la Mémoire
Partitions Dynamiques
Segmentation

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 33
Mokaddem Mostefa

Q/R….!

Département d’Informatique, Faculté Des Sciences Exactes et Appliquées, Université Oran 1 Ahmed Ben Bella 34

Vous aimerez peut-être aussi