Gestion de la mémoire - Exercices corriges

II/ Les <> modes de gestion de la mémoire. 2.1/ Partition contiguë simple. Mém.
centrale divisée : SE; Processus dans la partition contiguë simple. 2.1.1/ Avec ...

Part of the document


Gestion de la mémoire



I/ Du code source au processus

1.1/ Production et chargement d'un programme
























































MMU: memory management unit

1.2/ Adresse logique ou physique

Adresse logique : adresse employée par un processus (dans la mém.
centrale)

Adresse physique : adresse qui référence matériellement la mém.
centrale

La liaison entre ces deux adresses se fait :
. soit à l'exécution
. soit à la compilation (adresse logique = adresse physique)
. soit au chargement (adresse logique = adresse physique)

II/ Les modes de gestion de la mémoire
2.1/ Partition contiguë simple

Mém. centrale divisée :
. SE
. Processus dans la partition contiguë simple

2.1.1/ Avec registre de base

. Liaison : adresse logique et physique à la compilation ou au
chargement
. matériel spécifique : registre de base contient l'adresse de départ de
la partition










2.1.2/ Avec registre de translation

. liaison : adresse logique et physique à l'exécution
. matériel spécifique : registre de translation













Partition contiguë simple = mono programmation

2.2/ Partition contiguë multiple

Chaque processus correspond à une partition contiguë.
. liaison à l'exécution
. matériel spécifique : registre de translation et un registre de
taille (ou de limite)













Le registre de translation contient le début de la partition.
Le registre de taille contient la taille de la partition.

Le SE :
. gère l'espace libre et occupé
. gère la table des partitions globales à tous les processus
. choisit l'emplacement où mettre le nouveau processus
. met à jour les registres lors des commutations de contexte



2.2.1/ A taille fixe

Chaque partition a une taille fixe :
. le registre de taille a une valeur constante pour chaque
processus
. seul le registre de translation change à chaque commutation de
contexte

Intérêt :
. pas de pb de sélection de zone libre
. table de partition simple

Inconvénient :
. impossible d'allouer à un processus dont la taille est > à la
taille de la partition
. pb de fragmentation interne en moy, à l'intérieur d'une
partition

2.2.2/ A taille variable

Bcp plus complexe :
. il faut changer de registre de taille à chaque commutation de
contexte
. la table de partition doit prendre en compte la taille
. pb de sélection de la zone libre quand chargement d'un nouveau
processus

3 algos de sélection :
. 1ère zone libre (First Fit) : le SE choisit la 1ère zone libre
qui peut contenir le processus. Il peut être transformé en 1ère
zone libre suivante.
. Meilleur ajustement (Best Fit) : prendre la plus petite zone
libre pouvant contenir le processus
. Pire ajustement (Word Fit) : choisir la plus grande zone libre
pouvant contenir le processus

Quand le processus ne peut être charger (pas de zone libre contiguë
assez grande) mais que la réunion de toutes les zones libres est plus
grande que la taille du processus alors on effectue un compactage de la
mém. centrale.

Pb de la fragmentation externe : zone libre entre chaque partition
occupée (non utilisable)
. si compactage présent résout ce pb mais au prix d'un procédé
coûteux
. si pas compactage pour N bloc alloué, 0,5N perdus à cause de la
fragmentation externe





2.3/ Pagination

Les processus sont morcelés et répartis dans la mémoire :
. principe : code processus divisé en morceaux de taille fixe
= page
la mém. centrale est divisée en bloc de même taille =
cadre de page
le chargement en mém. centrale du processus =
chargement de chaque page dans un cadre libre
. liaison : adresse logique à physique pendant l'exécution
. matériel spécifique : mém. divisée encadre de taille physique =
2T octets et nbre de cadre = 2C

A chaque processus, le SE devra gérer une table de pages
(correspondance de chaque page à son cadre).
La nème entrée de la table = le numéro du cadre dans lequel la page n
du processus est chargé.

Une adresse logique a le format :









Une adresse physique a le format :










Une entrée dans la table :








Note :
. C et T sont fixés par le matériel
. P