14/04/2021
Gestion de la mémoire Introduction
Mémoire Centrale :
RAM : Random Access Memory
’
Introduction ’
ROM : Read Only Memory (BIOS)
Monoprogrammation
UC MC Périphériques d’E/S
Multiprogrammation avec partitions fixes
BUS
Va et vient et partitionnement dynamique
Accès rapide mais faible capacité et coût élevé
Notions de pagination Utilisée lors de l’exécution des programmes
Un gestionnaire de mémoire est nécessaire
14/04/2021
Gestionnaire de la mémoire Monoprogrammation
Un seul processus à la fois et entièrement en MC
Fonctions Organisation de la MC : cas de MS-DOS
’
Connaître les zones libres et utilisées ’
Pilotes de périphériques en
ROM
Allouer et récupérer la mémoire
Programme SE en
Offrir de la mémoire virtuelle : Utiliser la MS RAM
Stratégies
Problème : Cas de programme volumineux ne
Monoprogrammation
pouvant tenir en MC
Multiprogrammation avec partitions fixes
Va et vient et partitionnement dynamique
Pagination…
14/04/2021
Segments de recouvrement (Overlays) Multiprogrammation avec partitions fixes
Solution : Découper le programme en parties Plusieurs processus coexistent en MC
’ Modules les plus utilisés placés dans une zone ’
MC répartie en un nombre fixe de
permanente partitions au démarrage (OS 360 d'IBM)
Modules interchangeables dans des overlays
Un processus est mis dans une file en
placés dans la zone interchangeable (ZI)
attente d’une partition libre
Si une fonction appelée n'est pas présente dans la
ZI, son overlay sera chargé Deux méthodes de gestion
Inconvénients Files multiples
Fastidieux : découpage fait par le programmeur File unique
Chargement d'un overlay entier pour exécuter un
module
14/04/2021
Partitionnement fixe avec files multiples Partitionnement fixe avec file unique
Partition4
Partition4 Une file pour toutes les partitions Partition3
Une file par partition Partition3
Attribuer la partition libérée Partition2
’ Partition2 ’ au 1er processus qui y tient Partition1
(OS/360)
Chaque processus est mis Partition1 SE
SE
Problème : Perte de mémoire
dans la file de la plus petite (1 petit processus dans 1 grande partition)
Solution
partition pouvant le contenir
Attribuer la partition libérée au plus grand
processus qui y tient Attente de petits processus
Des petits processus en attente alors qu’une
Réserver une partition pour les petits processus
partition grande est libre
Choisir le processus ayant trop attendu
14/04/2021
Accès et protection mémoire Accès et protection mémoire
L'exécution de processus ne doit pas générer des
Translation d'adresse :
erreurs d'accès en mémoire
L’éditeur de liens insère dans le code la liste
Accéder aux adresses utilisées par le programme sans
des positions des adresses
’ ’
erreur indifféremment de sa partition
Au chargement, l’adresse de début de
Protéger la mémoire : Interdire l'accès à une zone
réservée au SE ou à un autre processus partition est rajoutée à l’adresse relative
Problème : Adresse de début du programme non Inconvénient : Pas de protection
Bits de protection (IBM)
connue lors de l’édition de liens Erreur d'accès
Associer à chaque bloc mémoire 4
Programme qui débute par exemple à l'adresse 200
bits de protection
Appel d’une fonction à l’adresse relative 100 à partir du
début de fichier Interdire l’accès à tout processus n’ayant pas
Saut à l’adresse absolue 100 : Erreur !! le même code dans son PSW
Inconvénient : Pas d'interaction entre les
processus