SlideShare une entreprise Scribd logo
1  sur  43
Télécharger pour lire hors ligne
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Gestion de la mémoire dans un
système d’exploitation
RUGANO Allan Stockman
ARAKAZA Alexis
BARUMWETE Marius
GATORE SINIGIRIRA Kelly Joelle
EMERUSABE Baptiste
Faculté des Sciences (II Lic Math)

30 août 2013
Introduction
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

La gestion de la mémoire permet de transférer les
programmes et les données nécessaires à la création des
processus, d’un support secondaire, par exemple un disque,
vers un support central, où a lieu l’exécution des processus.
Le système devra garder la trace des parties utilisées et
libres de la mémoire ainsi que gérer les transferts entre les
mémoires principale et secondaire.
Dans les systèmes multi-utilisateurs, par exemple, on doit
interdire à un utilisateur d’accéder n’importe comment au
noyau du système ou aux autres programmes des
utilisateurs.
Monoprogrammation
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

La monoprogrammation
ne permet qu’à un seul processus utilisateur d’être
exécuté.
n’est plus utilisée que dans les micro-ordinateurs.
On trouve alors en mémoire, par exemple dans le cas
de MS-DOS : le système en mémoire basse, les pilotes
de périphériques en mémoire haute (dans une zone
allant de 640 ko à 1 Mo) et un programme utilisateur
entre les deux
Mutiprogrammation
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

autorise l’exécution de plusieurs processus indépendant
à la fois
permet d’optimiser le taux d’utilisation du processeur en
réduisant notamment les attentes sur des entrées-sorties
implique le séjour de plusieurs programmes en même
temps en mémoire
Quelques principes
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Un compilateur transforme un programme en un
module objet représentant la traduction des instructions
en C, en langage machine. Le code produit est en
général relogeable, commençant à l’adresse 00000 et
pouvant se translater à n’importe quel endroit de la
mémoire en lui donnant comme référence initiale le
registre de base.
Les adresses représentent alors le décalage par
rapport à ce registre.
Pour effectuer le chargement, le système alloue un
espace de mémoire libre et il y place le processus. Il
libérera cet emplacement une fois le programme
terminé.
Techniques pour partager le mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Recouvrements : (overlays) charger un processus par
tranches de code indépendantes.Le programmeur
peut, dans ce cas, mettre en œuvre une stratégie de
recouvrement (overlay) consistant à découper un
programme important en modules. Niveau utilisateur.
Chargement dynamique : charger le code nécessaire
uniquement quand on en a besoin. Niveau utilisateur.
Édition de liens dynamique : bibliothèques partagées.
Swapping : déplacement de processus entre mémoire
et mémoire auxiliaire (disques). Coûteux en
commutation.
Ceci est cependant très fastidieux et nécessite, pour
chaque nouveau programme, un redécoupage.
Techniques pour partager le mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Pour assurer une protection fondamentale, on dispose, sur
la plupart des processeurs, de deux registres délimitant le
domaine d’un processus : le registre de base et le registre
de limite. La protection est alors assurée par le matériel qui
compare les adresses émises par le processus à ces deux
registres.
Mais il faut éviter qu’un processus écrase une mémoire d’un
autre en écrivant dessus.
Techniques pour partager la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Même si on peut concevoir des applications qui
communiquent à travers un segment de mémoire
partagée. Dans ce cas on devra déclarer une zone
commune par une fonction spécifique, car la zone
mémoire d’un processus est protégée.
Mais il faut éviter qu’un processus écrase une mémoire
d’un autre en écrivant dessus.
Principe
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Avant d’implémenter une technique de gestion de la
mémoire centrale par va-et-vient, il est nécessaire de
connaître son état :
les zones libres et occupées
de disposer d’une stratégie d’allocation
enfin de procédures de libération
Techniques d’allocation de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Pour cela il y a des politiques de recherche et
d’occupation :
First-Fit : premier trou suffisant. Rapide.
Next-Fit : idem, mais recherche à partir de
l’emplacement précédent. Un peu moins bon.
Best-Fit : trou le plus petit possible. Moins performant.
Worst-Fit : trou le plus grand.
Quick-Fit : maintient de listes par tailles. Rapide pour la
recherche, lent pour la désallocation
Techniques d’allocation de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Pour cela il y a des politiques de recherche et
d’occupation :
First-Fit : premier trou suffisant. Rapide.
Next-Fit : idem, mais recherche à partir de
l’emplacement précédent. Un peu moins bon.
Best-Fit : trou le plus petit possible. Moins performant.
Worst-Fit : trou le plus grand.
Quick-Fit : maintient de listes par tailles. Rapide pour la
recherche, lent pour la désallocation
Techniques d’allocation de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Pour cela il y a des politiques de recherche et
d’occupation :
First-Fit : premier trou suffisant. Rapide.
Next-Fit : idem, mais recherche à partir de
l’emplacement précédent. Un peu moins bon.
Best-Fit : trou le plus petit possible. Moins performant.
Worst-Fit : trou le plus grand.
Quick-Fit : maintient de listes par tailles. Rapide pour la
recherche, lent pour la désallocation
Techniques d’allocation de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Pour cela il y a des politiques de recherche et
d’occupation :
First-Fit : premier trou suffisant. Rapide.
Next-Fit : idem, mais recherche à partir de
l’emplacement précédent. Un peu moins bon.
Best-Fit : trou le plus petit possible. Moins performant.
Worst-Fit : trou le plus grand.
Quick-Fit : maintient de listes par tailles. Rapide pour la
recherche, lent pour la désallocation
Techniques d’allocation de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Pour cela il y a des politiques de recherche et
d’occupation :
First-Fit : premier trou suffisant. Rapide.
Next-Fit : idem, mais recherche à partir de
l’emplacement précédent. Un peu moins bon.
Best-Fit : trou le plus petit possible. Moins performant.
Worst-Fit : trou le plus grand.
Quick-Fit : maintient de listes par tailles. Rapide pour la
recherche, lent pour la désallocation
Problème de la fragmentation
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

A la longue , on trouve des emplacements qui sont vides,
mais ne pouvant pas accueillir d’autres fichiers.
On a plusieurs types de fragmentations.
1

Fragmentation externe : espace suffisant pour
l’allocation d’un nouveau processus, mais non contigu

2

Fragmentation interne : allocation volontaire de zones
inoccupées pour diminuer le travail de gestion de la
mémoire
Problème de la fragmentation
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

A la longue , on trouve des emplacements qui sont vides,
mais ne pouvant pas accueillir d’autres fichiers.
On a plusieurs types de fragmentations.
1

Fragmentation externe : espace suffisant pour
l’allocation d’un nouveau processus, mais non contigu

2

Fragmentation interne : allocation volontaire de zones
inoccupées pour diminuer le travail de gestion de la
mémoire
Défragmentation
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

1

Défragmentation de la mémoire par translation des
processus (code dynamique)

2

problème ==>Stratégies de compactage difficiles à
trouver, lenteur.

Et la pagination en allouant des zones de mémoire non
contigües pour un même processus : cela rend le processus
plus lent, mais cela vaut le coup.
Le système garde la trace des emplacements occupés de
la mémoire par l’intermédiaire d’une table de bits ou bien
d’une liste chaînée. La mémoire étant découpée en unités,
en blocs, d’allocation.
Défragmentation
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

1

Défragmentation de la mémoire par translation des
processus (code dynamique)

2

problème ==>Stratégies de compactage difficiles à
trouver, lenteur.

Et la pagination en allouant des zones de mémoire non
contigües pour un même processus : cela rend le processus
plus lent, mais cela vaut le coup.
Le système garde la trace des emplacements occupés de
la mémoire par l’intermédiaire d’une table de bits ou bien
d’une liste chaînée. La mémoire étant découpée en unités,
en blocs, d’allocation.
La pagination de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

La pagination permet d’avoir en mémoire un processus
dont les adresses sont non contiguës.
Pour réaliser ceci, on partage l’espace d’adressage du
processus et la mémoire physique en
Cadres de page : mémoire physique découpée en
zones de taille fixe
Adresse logique : numéro de page + déplacement
dans la page
Table de pages : liaison entre numéro de page et cadre
de page (une table par processus).On conserve
l’emplacement des pages par une table de
transcodage
Taille moyenne des pages : puissance de 2 entre 2 – 4
Ko
La pagination de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Cet implémentation a des attouts :
Pas de fragmentation externe, mais fragmentation
interne
Petites pages => moins de fragmentation
Grandes pages => commutation moins coûteuse
Impossible par définition d’accéder à une page
interdite Multiprogrammation Pagination Segmentation
Mécanismes de contrôle : pages (in)valides, en lecture,
écriture, exécution etc.
Implémentation du partage de la mémoire plus facile
La pagination de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Cet implémentation a des attouts :
Pas de fragmentation externe, mais fragmentation
interne
Petites pages => moins de fragmentation
Grandes pages => commutation moins coûteuse
Impossible par définition d’accéder à une page
interdite Multiprogrammation Pagination Segmentation
Mécanismes de contrôle : pages (in)valides, en lecture,
écriture, exécution etc.
Implémentation du partage de la mémoire plus facile
La pagination de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Cet implémentation a des attouts :
Pas de fragmentation externe, mais fragmentation
interne
Petites pages => moins de fragmentation
Grandes pages => commutation moins coûteuse
Impossible par définition d’accéder à une page
interdite Multiprogrammation Pagination Segmentation
Mécanismes de contrôle : pages (in)valides, en lecture,
écriture, exécution etc.
Implémentation du partage de la mémoire plus facile
La pagination de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Cet implémentation a des attouts :
Pas de fragmentation externe, mais fragmentation
interne
Petites pages => moins de fragmentation
Grandes pages => commutation moins coûteuse
Impossible par définition d’accéder à une page
interdite Multiprogrammation Pagination Segmentation
Mécanismes de contrôle : pages (in)valides, en lecture,
écriture, exécution etc.
Implémentation du partage de la mémoire plus facile
La pagination de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Cet implémentation a des attouts :
Pas de fragmentation externe, mais fragmentation
interne
Petites pages => moins de fragmentation
Grandes pages => commutation moins coûteuse
Impossible par définition d’accéder à une page
interdite Multiprogrammation Pagination Segmentation
Mécanismes de contrôle : pages (in)valides, en lecture,
écriture, exécution etc.
Implémentation du partage de la mémoire plus facile
La pagination de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Cet implémentation a des attouts :
Pas de fragmentation externe, mais fragmentation
interne
Petites pages => moins de fragmentation
Grandes pages => commutation moins coûteuse
Impossible par définition d’accéder à une page
interdite Multiprogrammation Pagination Segmentation
Mécanismes de contrôle : pages (in)valides, en lecture,
écriture, exécution etc.
Implémentation du partage de la mémoire plus facile
La segmentation
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Alors que la pagination propose un espace d’adressage
plat et indifférencié, la segmentation partage les processus
en segments bien spécifiques. On peut ainsi avoir des
segments pour des procédures, pour la table de symboles,
pour le programme principal, etc. Ces segments peuvent
être relogeables et avoir pour origine un registre de base
propre au segment. La segmentation permet aussi le
partage, par exemple du code d’un éditeur entre plusieurs
processus. Ce partage porte alors sur un ou plusieurs
segments.
Le va-et-vient et Swap sous Linux
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Le va-et-vient est mis en œuvre lorsque tous les processus
ne peuvent pas tenir simultanément en mémoire. On doit
alors en déplacer temporairement certains sur une
mémoire provisoire, en général, une partie réservée du
disque (swap-area ou backing store).
Quand un processus est déchargé de la mémoire
centrale, on lui recherche une place
gérées de la même manière que la mémoire centrale
peut aussi être allouée une fois pour toute au début de
l’exécution
Le système exécute pendant un certain quantum de
temps les processus en mémoire puis déplace un de
ces processus au profit d’un de ceux en attente dans la
mémoire provisoire. L’algorithme de remplacement
peut être le tourniquet
Le va-et-vient et Swap sous Linux
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Le va-et-vient est mis en œuvre lorsque tous les processus
ne peuvent pas tenir simultanément en mémoire. On doit
alors en déplacer temporairement certains sur une
mémoire provisoire, en général, une partie réservée du
disque (swap-area ou backing store).
Quand un processus est déchargé de la mémoire
centrale, on lui recherche une place
gérées de la même manière que la mémoire centrale
peut aussi être allouée une fois pour toute au début de
l’exécution
Le système exécute pendant un certain quantum de
temps les processus en mémoire puis déplace un de
ces processus au profit d’un de ceux en attente dans la
mémoire provisoire. L’algorithme de remplacement
peut être le tourniquet
Le va-et-vient et Swap sous Linux
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Le va-et-vient est mis en œuvre lorsque tous les processus
ne peuvent pas tenir simultanément en mémoire. On doit
alors en déplacer temporairement certains sur une
mémoire provisoire, en général, une partie réservée du
disque (swap-area ou backing store).
Quand un processus est déchargé de la mémoire
centrale, on lui recherche une place
gérées de la même manière que la mémoire centrale
peut aussi être allouée une fois pour toute au début de
l’exécution
Le système exécute pendant un certain quantum de
temps les processus en mémoire puis déplace un de
ces processus au profit d’un de ceux en attente dans la
mémoire provisoire. L’algorithme de remplacement
peut être le tourniquet
Le va-et-vient et Swap sous Linux
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Le va-et-vient est mis en œuvre lorsque tous les processus
ne peuvent pas tenir simultanément en mémoire. On doit
alors en déplacer temporairement certains sur une
mémoire provisoire, en général, une partie réservée du
disque (swap-area ou backing store).
Quand un processus est déchargé de la mémoire
centrale, on lui recherche une place
gérées de la même manière que la mémoire centrale
peut aussi être allouée une fois pour toute au début de
l’exécution
Le système exécute pendant un certain quantum de
temps les processus en mémoire puis déplace un de
ces processus au profit d’un de ceux en attente dans la
mémoire provisoire. L’algorithme de remplacement
peut être le tourniquet
Listing 1 – Exemple de commandes bash pour céer une partition swap sur linux de 1G et on le monte. bash –version 4.2.25

Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly 1
Joelle
2
EMERUSABE
Baptiste
3

#!/bin/bash
# creation du fichier "ikintu" de 1G

4
5

dd if=/dev/zero of=/ikintu bs=1024 count=1048576

6
7

# transformation de "ikintu" en un fichier swap.

8
9

mkswap /ikintu

10
11

# Pour l’activer.

12
13

swapon /ikintu
La mémoire virtuelle
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

La mémoire virtuelle
permet d’exécuter des programmes dont la taille
excède la taille de la mémoire réelle.
on découpe (on « pagine ») les processus ainsi que la
mémoire réelle en pages de quelques kilo-octets (1, 2
ou 4 ko généralement).
réside sur le disque
L’encombrement total du processus constitue l’espace
d’adressage ou la mémoire virtuelle
on ne charge qu’un sous-ensemble de pages en
mémoire appelé l’espace physique
une adresse est transcodée grâce à une table, pour lui
faire correspondre son équivalent en mémoire
physique. C
effectué par des circuits matériels de gestion : Memory
Management Unit (MMU). Si cette adresse correspond à
une adresse en mémoire physique, le MMU transmet sur
le bus l’adresse réelle, sinon il se produit un défaut de
La mémoire virtuelle
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

La mémoire virtuelle
permet d’exécuter des programmes dont la taille
excède la taille de la mémoire réelle.
on découpe (on « pagine ») les processus ainsi que la
mémoire réelle en pages de quelques kilo-octets (1, 2
ou 4 ko généralement).
réside sur le disque
L’encombrement total du processus constitue l’espace
d’adressage ou la mémoire virtuelle
on ne charge qu’un sous-ensemble de pages en
mémoire appelé l’espace physique
une adresse est transcodée grâce à une table, pour lui
faire correspondre son équivalent en mémoire
physique. C
effectué par des circuits matériels de gestion : Memory
Management Unit (MMU). Si cette adresse correspond à
une adresse en mémoire physique, le MMU transmet sur
le bus l’adresse réelle, sinon il se produit un défaut de
La mémoire virtuelle
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

La mémoire virtuelle
permet d’exécuter des programmes dont la taille
excède la taille de la mémoire réelle.
on découpe (on « pagine ») les processus ainsi que la
mémoire réelle en pages de quelques kilo-octets (1, 2
ou 4 ko généralement).
réside sur le disque
L’encombrement total du processus constitue l’espace
d’adressage ou la mémoire virtuelle
on ne charge qu’un sous-ensemble de pages en
mémoire appelé l’espace physique
une adresse est transcodée grâce à une table, pour lui
faire correspondre son équivalent en mémoire
physique. C
effectué par des circuits matériels de gestion : Memory
Management Unit (MMU). Si cette adresse correspond à
une adresse en mémoire physique, le MMU transmet sur
le bus l’adresse réelle, sinon il se produit un défaut de
La mémoire virtuelle
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

La mémoire virtuelle
permet d’exécuter des programmes dont la taille
excède la taille de la mémoire réelle.
on découpe (on « pagine ») les processus ainsi que la
mémoire réelle en pages de quelques kilo-octets (1, 2
ou 4 ko généralement).
réside sur le disque
L’encombrement total du processus constitue l’espace
d’adressage ou la mémoire virtuelle
on ne charge qu’un sous-ensemble de pages en
mémoire appelé l’espace physique
une adresse est transcodée grâce à une table, pour lui
faire correspondre son équivalent en mémoire
physique. C
effectué par des circuits matériels de gestion : Memory
Management Unit (MMU). Si cette adresse correspond à
une adresse en mémoire physique, le MMU transmet sur
le bus l’adresse réelle, sinon il se produit un défaut de
La mémoire virtuelle
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

La mémoire virtuelle
permet d’exécuter des programmes dont la taille
excède la taille de la mémoire réelle.
on découpe (on « pagine ») les processus ainsi que la
mémoire réelle en pages de quelques kilo-octets (1, 2
ou 4 ko généralement).
réside sur le disque
L’encombrement total du processus constitue l’espace
d’adressage ou la mémoire virtuelle
on ne charge qu’un sous-ensemble de pages en
mémoire appelé l’espace physique
une adresse est transcodée grâce à une table, pour lui
faire correspondre son équivalent en mémoire
physique. C
effectué par des circuits matériels de gestion : Memory
Management Unit (MMU). Si cette adresse correspond à
une adresse en mémoire physique, le MMU transmet sur
le bus l’adresse réelle, sinon il se produit un défaut de
La mémoire virtuelle
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

La mémoire virtuelle
permet d’exécuter des programmes dont la taille
excède la taille de la mémoire réelle.
on découpe (on « pagine ») les processus ainsi que la
mémoire réelle en pages de quelques kilo-octets (1, 2
ou 4 ko généralement).
réside sur le disque
L’encombrement total du processus constitue l’espace
d’adressage ou la mémoire virtuelle
on ne charge qu’un sous-ensemble de pages en
mémoire appelé l’espace physique
une adresse est transcodée grâce à une table, pour lui
faire correspondre son équivalent en mémoire
physique. C
effectué par des circuits matériels de gestion : Memory
Management Unit (MMU). Si cette adresse correspond à
une adresse en mémoire physique, le MMU transmet sur
le bus l’adresse réelle, sinon il se produit un défaut de
La mémoire virtuelle
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

La mémoire virtuelle
permet d’exécuter des programmes dont la taille
excède la taille de la mémoire réelle.
on découpe (on « pagine ») les processus ainsi que la
mémoire réelle en pages de quelques kilo-octets (1, 2
ou 4 ko généralement).
réside sur le disque
L’encombrement total du processus constitue l’espace
d’adressage ou la mémoire virtuelle
on ne charge qu’un sous-ensemble de pages en
mémoire appelé l’espace physique
une adresse est transcodée grâce à une table, pour lui
faire correspondre son équivalent en mémoire
physique. C
effectué par des circuits matériels de gestion : Memory
Management Unit (MMU). Si cette adresse correspond à
une adresse en mémoire physique, le MMU transmet sur
le bus l’adresse réelle, sinon il se produit un défaut de
L’algorithme de remplacement de page
Gestion de la
mémoire dans
un système
d’exploitation

1

L’algorithme de remplacement de page optimal
consiste à choisir comme victime, la page qui sera
appelée le plus tard possible. On ne peut
malheureusement pas implémenter cet algorithme,
mais on essaye de l’approximer le mieux possible, avec
de résultats qui ont une différence de moins de 1%
avec l’algorithme optimal.

2

La technique FirstIn-FirstOut est assez facile à
implémenter. Elle consiste à choisir comme victime, la
page la plus anciennement chargée.

3

L’algorithme de remplacement de la page la moins
récemment utilisée (Least Recently Used) est l’un des
plus efficaces.

RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

On doit notamment ajouter au tableau une colonne de
compteurs
Libération de la mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

La libération se produit quand un processus est évacué de
la mémoire. On marque alors le bloc à libre et on le
fusionne éventuellement avec des blocs adjacents.
on déplace les processus, par exemple, vers le bas de la
mémoire et on les range l’un après l’autre de manière
contiguë. On construit alors un seul bloc libre dans le haut
de la mémoire ==> opération est coûteuse et nécessite
parfois des circuits spéciaux.
La récupération de mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Par ailleurs, une fois qu’un objet ou une zone a été
utilisé, le programmeur système doit récupère la
mémoire « à la main » par une libération du pointeur sur
cette zone – free(). Ceci est une source d’erreurs car on
oublie parfois cette opération. Si on alloue dans une
fonction, il n’y a plus moyen d’accéder au pointeur
après le retour de la fonction. Le bloc de mémoire est
alors perdu et inutilisable. On a une « fuite de mémoire »
– memory leak.
Certains langages ou systèmes incorporent la
récupération automatique de mémoire – garbage
collection. Ils libèrent ainsi le programmeur de cette
tâche. C’est le cas de Java. Il est alors très facile
d’éliminer immédiatement une zone par l’affectation
objet = null.
Sans cela, le récupérateur doit déterminer tout seul
qu’une zone n’a plus de référence dans la suite du
programme.
La récupération de mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Par ailleurs, une fois qu’un objet ou une zone a été
utilisé, le programmeur système doit récupère la
mémoire « à la main » par une libération du pointeur sur
cette zone – free(). Ceci est une source d’erreurs car on
oublie parfois cette opération. Si on alloue dans une
fonction, il n’y a plus moyen d’accéder au pointeur
après le retour de la fonction. Le bloc de mémoire est
alors perdu et inutilisable. On a une « fuite de mémoire »
– memory leak.
Certains langages ou systèmes incorporent la
récupération automatique de mémoire – garbage
collection. Ils libèrent ainsi le programmeur de cette
tâche. C’est le cas de Java. Il est alors très facile
d’éliminer immédiatement une zone par l’affectation
objet = null.
Sans cela, le récupérateur doit déterminer tout seul
qu’une zone n’a plus de référence dans la suite du
programme.
La récupération de mémoire
Gestion de la
mémoire dans
un système
d’exploitation
RUGANO Allan
Stockman
ARAKAZA Alexis
BARUMWETE
Marius
GATORE
SINIGIRIRA Kelly
Joelle
EMERUSABE
Baptiste

Par ailleurs, une fois qu’un objet ou une zone a été
utilisé, le programmeur système doit récupère la
mémoire « à la main » par une libération du pointeur sur
cette zone – free(). Ceci est une source d’erreurs car on
oublie parfois cette opération. Si on alloue dans une
fonction, il n’y a plus moyen d’accéder au pointeur
après le retour de la fonction. Le bloc de mémoire est
alors perdu et inutilisable. On a une « fuite de mémoire »
– memory leak.
Certains langages ou systèmes incorporent la
récupération automatique de mémoire – garbage
collection. Ils libèrent ainsi le programmeur de cette
tâche. C’est le cas de Java. Il est alors très facile
d’éliminer immédiatement une zone par l’affectation
objet = null.
Sans cela, le récupérateur doit déterminer tout seul
qu’une zone n’a plus de référence dans la suite du
programme.

Contenu connexe

Tendances

Travaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseauxTravaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseauxInes Kechiche
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsSana Aroussi
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationLilia Sfaxi
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveurAmeni Ouertani
 
Rapport gestion projet
Rapport gestion projetRapport gestion projet
Rapport gestion projetRabeb Boumaiza
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoiresBoris Guarisma
 
Correction TD Adressage IP.pdf
Correction  TD Adressage IP.pdfCorrection  TD Adressage IP.pdf
Correction TD Adressage IP.pdfssuser18776b
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de triYassine Anddam
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Sana Aroussi
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagioschristedy keihouad
 
Chapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéChapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéSana Aroussi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introductionfredcons
 
Curriculum d'informatique au collège, fondement et choix.
Curriculum d'informatique au collège, fondement et choix.Curriculum d'informatique au collège, fondement et choix.
Curriculum d'informatique au collège, fondement et choix.Haddi Abderrahim
 
Administration Reseau
Administration ReseauAdministration Reseau
Administration Reseaudenischef1
 

Tendances (20)

Travaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseauxTravaux Dirigée: Notions de bases dans les réseaux
Travaux Dirigée: Notions de bases dans les réseaux
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
 
Projet de Fin d'études
Projet de Fin d'études Projet de Fin d'études
Projet de Fin d'études
 
Systèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisationSystèmes d'Exploitation - chp6-synchronisation
Systèmes d'Exploitation - chp6-synchronisation
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
Les architectures client serveur
Les architectures client serveurLes architectures client serveur
Les architectures client serveur
 
Un introduction à Pig
Un introduction à PigUn introduction à Pig
Un introduction à Pig
 
Rapport gestion projet
Rapport gestion projetRapport gestion projet
Rapport gestion projet
 
5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires5.4 Arbres et forêts aléatoires
5.4 Arbres et forêts aléatoires
 
Correction TD Adressage IP.pdf
Correction  TD Adressage IP.pdfCorrection  TD Adressage IP.pdf
Correction TD Adressage IP.pdf
 
Chapitre 01 - Notions de base
Chapitre 01 - Notions de baseChapitre 01 - Notions de base
Chapitre 01 - Notions de base
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)Chapitre 5 structures hierarchiques (arbres)
Chapitre 5 structures hierarchiques (arbres)
 
Supervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec NagiosSupervision d'un réseau informatique avec Nagios
Supervision d'un réseau informatique avec Nagios
 
Routage rip
Routage ripRoutage rip
Routage rip
 
Chapitre ii complexité et optimalité
Chapitre ii complexité et optimalitéChapitre ii complexité et optimalité
Chapitre ii complexité et optimalité
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Hadoop and friends : introduction
Hadoop and friends : introductionHadoop and friends : introduction
Hadoop and friends : introduction
 
Curriculum d'informatique au collège, fondement et choix.
Curriculum d'informatique au collège, fondement et choix.Curriculum d'informatique au collège, fondement et choix.
Curriculum d'informatique au collège, fondement et choix.
 
Administration Reseau
Administration ReseauAdministration Reseau
Administration Reseau
 

En vedette

Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème Tunisie collège
 
Cours système d'exploitation
Cours système d'exploitationCours système d'exploitation
Cours système d'exploitationAmel Morchdi
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarAnouar Sghaier
 
System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitationThắng Thao
 
Cours d'informatique du prof Heimer
Cours d'informatique du prof HeimerCours d'informatique du prof Heimer
Cours d'informatique du prof Heimerrochats
 
Cours système d’exploitation partie1
Cours système d’exploitation partie1Cours système d’exploitation partie1
Cours système d’exploitation partie1manou2008
 
Notes de cours d'ordonnancement
Notes de cours d'ordonnancementNotes de cours d'ordonnancement
Notes de cours d'ordonnancementISIG
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseurISIG
 
Fonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitationFonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitationImane Bellali
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processusSelman Dridi
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére filsSelman Dridi
 
Systémes d'exploitation
Systémes d'exploitationSystémes d'exploitation
Systémes d'exploitationSelman Dridi
 
Chap2 ordonnancement
Chap2 ordonnancementChap2 ordonnancement
Chap2 ordonnancementmichel martiz
 
Ordonnancement exercices
Ordonnancement exercicesOrdonnancement exercices
Ordonnancement exercicesSelman Dridi
 

En vedette (20)

Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème Cours informatique chapitre 1 ordinateur et système d'exploitation   7ème
Cours informatique chapitre 1 ordinateur et système d'exploitation 7ème
 
Ordonnancement
OrdonnancementOrdonnancement
Ordonnancement
 
Cours système d'exploitation
Cours système d'exploitationCours système d'exploitation
Cours système d'exploitation
 
Ordonnancement SJF
Ordonnancement SJFOrdonnancement SJF
Ordonnancement SJF
 
Chap06 1
Chap06 1Chap06 1
Chap06 1
 
Cour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouarCour systeme d'exploitation sghaier anouar
Cour systeme d'exploitation sghaier anouar
 
System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitation
 
Les composants de l'ordinateur
Les composants de l'ordinateurLes composants de l'ordinateur
Les composants de l'ordinateur
 
Cours d'informatique du prof Heimer
Cours d'informatique du prof HeimerCours d'informatique du prof Heimer
Cours d'informatique du prof Heimer
 
Gpao 6 - Ordonnancement
Gpao 6 - OrdonnancementGpao 6 - Ordonnancement
Gpao 6 - Ordonnancement
 
Cours système d’exploitation partie1
Cours système d’exploitation partie1Cours système d’exploitation partie1
Cours système d’exploitation partie1
 
Notes de cours d'ordonnancement
Notes de cours d'ordonnancementNotes de cours d'ordonnancement
Notes de cours d'ordonnancement
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
Fonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitationFonctionnement d’un système d’exploitation
Fonctionnement d’un système d’exploitation
 
Ordinnancement des processus
Ordinnancement des processusOrdinnancement des processus
Ordinnancement des processus
 
Processus pére fils
Processus pére filsProcessus pére fils
Processus pére fils
 
Cours se chap1
Cours se chap1Cours se chap1
Cours se chap1
 
Systémes d'exploitation
Systémes d'exploitationSystémes d'exploitation
Systémes d'exploitation
 
Chap2 ordonnancement
Chap2 ordonnancementChap2 ordonnancement
Chap2 ordonnancement
 
Ordonnancement exercices
Ordonnancement exercicesOrdonnancement exercices
Ordonnancement exercices
 

Similaire à Gestion de la Memoire dans un Système d'exploitation

Diapositive du système d'exploitation-2-1.pdf
Diapositive du  système d'exploitation-2-1.pdfDiapositive du  système d'exploitation-2-1.pdf
Diapositive du système d'exploitation-2-1.pdfDannyMukoka
 
Chapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitationChapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitationToumi Hicham
 
Db aing td2v1
Db aing td2v1Db aing td2v1
Db aing td2v1infcom
 
Joomla : Akeeba Backup et Amazon S3
Joomla : Akeeba Backup et Amazon S3Joomla : Akeeba Backup et Amazon S3
Joomla : Akeeba Backup et Amazon S3Marc DECHEVRE
 
UGIF 12 2010 - sauvegarde et securisation des donnees
UGIF 12 2010 - sauvegarde et securisation des donneesUGIF 12 2010 - sauvegarde et securisation des donnees
UGIF 12 2010 - sauvegarde et securisation des donneesUGIF
 
Informix User Group France - 30/11/2010 - Securisation des données
Informix User Group France - 30/11/2010 - Securisation des donnéesInformix User Group France - 30/11/2010 - Securisation des données
Informix User Group France - 30/11/2010 - Securisation des donnéesNicolas Desachy
 
Sauvegardes de base de données
Sauvegardes de base de donnéesSauvegardes de base de données
Sauvegardes de base de donnéesSoukaina Boujadi
 
Guss webcasts Tempdb Internals - june 2013
Guss webcasts   Tempdb Internals - june 2013Guss webcasts   Tempdb Internals - june 2013
Guss webcasts Tempdb Internals - june 2013David BAFFALEUF
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesEDB
 
Présentation Générale d'OSCAR
Présentation Générale d'OSCARPrésentation Générale d'OSCAR
Présentation Générale d'OSCARCédric Frayssinet
 
Elasticsearch performance tuning
Elasticsearch performance tuningElasticsearch performance tuning
Elasticsearch performance tuningebiznext
 
Mac récupération de données
Mac récupération de donnéesMac récupération de données
Mac récupération de donnéesmarysmith01
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.pptPROFPROF11
 
Livre Blanc Sap Dms Sap Plm
Livre Blanc Sap Dms  Sap PlmLivre Blanc Sap Dms  Sap Plm
Livre Blanc Sap Dms Sap PlmSEAL Systems
 
Db aing td3v1
Db aing td3v1Db aing td3v1
Db aing td3v1infcom
 
Les bases BI sont-elles différentes?
Les bases BI sont-elles différentes?Les bases BI sont-elles différentes?
Les bases BI sont-elles différentes?Franck Pachot
 
Architecture 2
Architecture 2Architecture 2
Architecture 2coursuniv
 

Similaire à Gestion de la Memoire dans un Système d'exploitation (20)

Diapositive du système d'exploitation-2-1.pdf
Diapositive du  système d'exploitation-2-1.pdfDiapositive du  système d'exploitation-2-1.pdf
Diapositive du système d'exploitation-2-1.pdf
 
Cours s epart2
Cours s epart2Cours s epart2
Cours s epart2
 
Chapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitationChapitre1 introduction-aux-systemes-d-exploitation
Chapitre1 introduction-aux-systemes-d-exploitation
 
Db aing td2v1
Db aing td2v1Db aing td2v1
Db aing td2v1
 
Joomla : Akeeba Backup et Amazon S3
Joomla : Akeeba Backup et Amazon S3Joomla : Akeeba Backup et Amazon S3
Joomla : Akeeba Backup et Amazon S3
 
Les systemes-dexploitation
Les systemes-dexploitationLes systemes-dexploitation
Les systemes-dexploitation
 
UGIF 12 2010 - sauvegarde et securisation des donnees
UGIF 12 2010 - sauvegarde et securisation des donneesUGIF 12 2010 - sauvegarde et securisation des donnees
UGIF 12 2010 - sauvegarde et securisation des donnees
 
Informix User Group France - 30/11/2010 - Securisation des données
Informix User Group France - 30/11/2010 - Securisation des donnéesInformix User Group France - 30/11/2010 - Securisation des données
Informix User Group France - 30/11/2010 - Securisation des données
 
Sauvegardes de base de données
Sauvegardes de base de donnéesSauvegardes de base de données
Sauvegardes de base de données
 
ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2
 
Guss webcasts Tempdb Internals - june 2013
Guss webcasts   Tempdb Internals - june 2013Guss webcasts   Tempdb Internals - june 2013
Guss webcasts Tempdb Internals - june 2013
 
Comment sauvegarder correctement vos données
Comment sauvegarder correctement vos donnéesComment sauvegarder correctement vos données
Comment sauvegarder correctement vos données
 
Présentation Générale d'OSCAR
Présentation Générale d'OSCARPrésentation Générale d'OSCAR
Présentation Générale d'OSCAR
 
Elasticsearch performance tuning
Elasticsearch performance tuningElasticsearch performance tuning
Elasticsearch performance tuning
 
Mac récupération de données
Mac récupération de donnéesMac récupération de données
Mac récupération de données
 
les systèmes d'exploitation.ppt
les systèmes d'exploitation.pptles systèmes d'exploitation.ppt
les systèmes d'exploitation.ppt
 
Livre Blanc Sap Dms Sap Plm
Livre Blanc Sap Dms  Sap PlmLivre Blanc Sap Dms  Sap Plm
Livre Blanc Sap Dms Sap Plm
 
Db aing td3v1
Db aing td3v1Db aing td3v1
Db aing td3v1
 
Les bases BI sont-elles différentes?
Les bases BI sont-elles différentes?Les bases BI sont-elles différentes?
Les bases BI sont-elles différentes?
 
Architecture 2
Architecture 2Architecture 2
Architecture 2
 

Dernier

Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxabdououanighd
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...Universidad Complutense de Madrid
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdfMariaClaraAlves46
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxShinyaHilalYamanaka
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesUnidad de Espiritualidad Eudista
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxrajaakiass01
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesMohammedAmineHatoch
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcourshalima98ahlmohamed
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Technologia Formation
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxhamzagame
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfGamal Mansour
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsJaouadMhirach
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLElebaobabbleu
 

Dernier (20)

Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf658708519-Power-Point-Management-Interculturel.pdf
658708519-Power-Point-Management-Interculturel.pdf
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdfSTRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
STRATEGIE_D’APPRENTISSAGE flee_DU_FLE.pdf
 
La mondialisation avantages et inconvénients
La mondialisation avantages et inconvénientsLa mondialisation avantages et inconvénients
La mondialisation avantages et inconvénients
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 

Gestion de la Memoire dans un Système d'exploitation

  • 1. Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Faculté des Sciences (II Lic Math) 30 août 2013
  • 2. Introduction Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste La gestion de la mémoire permet de transférer les programmes et les données nécessaires à la création des processus, d’un support secondaire, par exemple un disque, vers un support central, où a lieu l’exécution des processus. Le système devra garder la trace des parties utilisées et libres de la mémoire ainsi que gérer les transferts entre les mémoires principale et secondaire. Dans les systèmes multi-utilisateurs, par exemple, on doit interdire à un utilisateur d’accéder n’importe comment au noyau du système ou aux autres programmes des utilisateurs.
  • 3. Monoprogrammation Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste La monoprogrammation ne permet qu’à un seul processus utilisateur d’être exécuté. n’est plus utilisée que dans les micro-ordinateurs. On trouve alors en mémoire, par exemple dans le cas de MS-DOS : le système en mémoire basse, les pilotes de périphériques en mémoire haute (dans une zone allant de 640 ko à 1 Mo) et un programme utilisateur entre les deux
  • 4. Mutiprogrammation Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste autorise l’exécution de plusieurs processus indépendant à la fois permet d’optimiser le taux d’utilisation du processeur en réduisant notamment les attentes sur des entrées-sorties implique le séjour de plusieurs programmes en même temps en mémoire
  • 5. Quelques principes Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Un compilateur transforme un programme en un module objet représentant la traduction des instructions en C, en langage machine. Le code produit est en général relogeable, commençant à l’adresse 00000 et pouvant se translater à n’importe quel endroit de la mémoire en lui donnant comme référence initiale le registre de base. Les adresses représentent alors le décalage par rapport à ce registre. Pour effectuer le chargement, le système alloue un espace de mémoire libre et il y place le processus. Il libérera cet emplacement une fois le programme terminé.
  • 6. Techniques pour partager le mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Recouvrements : (overlays) charger un processus par tranches de code indépendantes.Le programmeur peut, dans ce cas, mettre en œuvre une stratégie de recouvrement (overlay) consistant à découper un programme important en modules. Niveau utilisateur. Chargement dynamique : charger le code nécessaire uniquement quand on en a besoin. Niveau utilisateur. Édition de liens dynamique : bibliothèques partagées. Swapping : déplacement de processus entre mémoire et mémoire auxiliaire (disques). Coûteux en commutation. Ceci est cependant très fastidieux et nécessite, pour chaque nouveau programme, un redécoupage.
  • 7. Techniques pour partager le mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Pour assurer une protection fondamentale, on dispose, sur la plupart des processeurs, de deux registres délimitant le domaine d’un processus : le registre de base et le registre de limite. La protection est alors assurée par le matériel qui compare les adresses émises par le processus à ces deux registres. Mais il faut éviter qu’un processus écrase une mémoire d’un autre en écrivant dessus.
  • 8. Techniques pour partager la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Même si on peut concevoir des applications qui communiquent à travers un segment de mémoire partagée. Dans ce cas on devra déclarer une zone commune par une fonction spécifique, car la zone mémoire d’un processus est protégée. Mais il faut éviter qu’un processus écrase une mémoire d’un autre en écrivant dessus.
  • 9. Principe Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Avant d’implémenter une technique de gestion de la mémoire centrale par va-et-vient, il est nécessaire de connaître son état : les zones libres et occupées de disposer d’une stratégie d’allocation enfin de procédures de libération
  • 10. Techniques d’allocation de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Pour cela il y a des politiques de recherche et d’occupation : First-Fit : premier trou suffisant. Rapide. Next-Fit : idem, mais recherche à partir de l’emplacement précédent. Un peu moins bon. Best-Fit : trou le plus petit possible. Moins performant. Worst-Fit : trou le plus grand. Quick-Fit : maintient de listes par tailles. Rapide pour la recherche, lent pour la désallocation
  • 11. Techniques d’allocation de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Pour cela il y a des politiques de recherche et d’occupation : First-Fit : premier trou suffisant. Rapide. Next-Fit : idem, mais recherche à partir de l’emplacement précédent. Un peu moins bon. Best-Fit : trou le plus petit possible. Moins performant. Worst-Fit : trou le plus grand. Quick-Fit : maintient de listes par tailles. Rapide pour la recherche, lent pour la désallocation
  • 12. Techniques d’allocation de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Pour cela il y a des politiques de recherche et d’occupation : First-Fit : premier trou suffisant. Rapide. Next-Fit : idem, mais recherche à partir de l’emplacement précédent. Un peu moins bon. Best-Fit : trou le plus petit possible. Moins performant. Worst-Fit : trou le plus grand. Quick-Fit : maintient de listes par tailles. Rapide pour la recherche, lent pour la désallocation
  • 13. Techniques d’allocation de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Pour cela il y a des politiques de recherche et d’occupation : First-Fit : premier trou suffisant. Rapide. Next-Fit : idem, mais recherche à partir de l’emplacement précédent. Un peu moins bon. Best-Fit : trou le plus petit possible. Moins performant. Worst-Fit : trou le plus grand. Quick-Fit : maintient de listes par tailles. Rapide pour la recherche, lent pour la désallocation
  • 14. Techniques d’allocation de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Pour cela il y a des politiques de recherche et d’occupation : First-Fit : premier trou suffisant. Rapide. Next-Fit : idem, mais recherche à partir de l’emplacement précédent. Un peu moins bon. Best-Fit : trou le plus petit possible. Moins performant. Worst-Fit : trou le plus grand. Quick-Fit : maintient de listes par tailles. Rapide pour la recherche, lent pour la désallocation
  • 15. Problème de la fragmentation Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste A la longue , on trouve des emplacements qui sont vides, mais ne pouvant pas accueillir d’autres fichiers. On a plusieurs types de fragmentations. 1 Fragmentation externe : espace suffisant pour l’allocation d’un nouveau processus, mais non contigu 2 Fragmentation interne : allocation volontaire de zones inoccupées pour diminuer le travail de gestion de la mémoire
  • 16. Problème de la fragmentation Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste A la longue , on trouve des emplacements qui sont vides, mais ne pouvant pas accueillir d’autres fichiers. On a plusieurs types de fragmentations. 1 Fragmentation externe : espace suffisant pour l’allocation d’un nouveau processus, mais non contigu 2 Fragmentation interne : allocation volontaire de zones inoccupées pour diminuer le travail de gestion de la mémoire
  • 17. Défragmentation Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste 1 Défragmentation de la mémoire par translation des processus (code dynamique) 2 problème ==>Stratégies de compactage difficiles à trouver, lenteur. Et la pagination en allouant des zones de mémoire non contigües pour un même processus : cela rend le processus plus lent, mais cela vaut le coup. Le système garde la trace des emplacements occupés de la mémoire par l’intermédiaire d’une table de bits ou bien d’une liste chaînée. La mémoire étant découpée en unités, en blocs, d’allocation.
  • 18. Défragmentation Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste 1 Défragmentation de la mémoire par translation des processus (code dynamique) 2 problème ==>Stratégies de compactage difficiles à trouver, lenteur. Et la pagination en allouant des zones de mémoire non contigües pour un même processus : cela rend le processus plus lent, mais cela vaut le coup. Le système garde la trace des emplacements occupés de la mémoire par l’intermédiaire d’une table de bits ou bien d’une liste chaînée. La mémoire étant découpée en unités, en blocs, d’allocation.
  • 19. La pagination de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste La pagination permet d’avoir en mémoire un processus dont les adresses sont non contiguës. Pour réaliser ceci, on partage l’espace d’adressage du processus et la mémoire physique en Cadres de page : mémoire physique découpée en zones de taille fixe Adresse logique : numéro de page + déplacement dans la page Table de pages : liaison entre numéro de page et cadre de page (une table par processus).On conserve l’emplacement des pages par une table de transcodage Taille moyenne des pages : puissance de 2 entre 2 – 4 Ko
  • 20. La pagination de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Cet implémentation a des attouts : Pas de fragmentation externe, mais fragmentation interne Petites pages => moins de fragmentation Grandes pages => commutation moins coûteuse Impossible par définition d’accéder à une page interdite Multiprogrammation Pagination Segmentation Mécanismes de contrôle : pages (in)valides, en lecture, écriture, exécution etc. Implémentation du partage de la mémoire plus facile
  • 21. La pagination de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Cet implémentation a des attouts : Pas de fragmentation externe, mais fragmentation interne Petites pages => moins de fragmentation Grandes pages => commutation moins coûteuse Impossible par définition d’accéder à une page interdite Multiprogrammation Pagination Segmentation Mécanismes de contrôle : pages (in)valides, en lecture, écriture, exécution etc. Implémentation du partage de la mémoire plus facile
  • 22. La pagination de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Cet implémentation a des attouts : Pas de fragmentation externe, mais fragmentation interne Petites pages => moins de fragmentation Grandes pages => commutation moins coûteuse Impossible par définition d’accéder à une page interdite Multiprogrammation Pagination Segmentation Mécanismes de contrôle : pages (in)valides, en lecture, écriture, exécution etc. Implémentation du partage de la mémoire plus facile
  • 23. La pagination de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Cet implémentation a des attouts : Pas de fragmentation externe, mais fragmentation interne Petites pages => moins de fragmentation Grandes pages => commutation moins coûteuse Impossible par définition d’accéder à une page interdite Multiprogrammation Pagination Segmentation Mécanismes de contrôle : pages (in)valides, en lecture, écriture, exécution etc. Implémentation du partage de la mémoire plus facile
  • 24. La pagination de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Cet implémentation a des attouts : Pas de fragmentation externe, mais fragmentation interne Petites pages => moins de fragmentation Grandes pages => commutation moins coûteuse Impossible par définition d’accéder à une page interdite Multiprogrammation Pagination Segmentation Mécanismes de contrôle : pages (in)valides, en lecture, écriture, exécution etc. Implémentation du partage de la mémoire plus facile
  • 25. La pagination de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Cet implémentation a des attouts : Pas de fragmentation externe, mais fragmentation interne Petites pages => moins de fragmentation Grandes pages => commutation moins coûteuse Impossible par définition d’accéder à une page interdite Multiprogrammation Pagination Segmentation Mécanismes de contrôle : pages (in)valides, en lecture, écriture, exécution etc. Implémentation du partage de la mémoire plus facile
  • 26. La segmentation Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Alors que la pagination propose un espace d’adressage plat et indifférencié, la segmentation partage les processus en segments bien spécifiques. On peut ainsi avoir des segments pour des procédures, pour la table de symboles, pour le programme principal, etc. Ces segments peuvent être relogeables et avoir pour origine un registre de base propre au segment. La segmentation permet aussi le partage, par exemple du code d’un éditeur entre plusieurs processus. Ce partage porte alors sur un ou plusieurs segments.
  • 27. Le va-et-vient et Swap sous Linux Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Le va-et-vient est mis en œuvre lorsque tous les processus ne peuvent pas tenir simultanément en mémoire. On doit alors en déplacer temporairement certains sur une mémoire provisoire, en général, une partie réservée du disque (swap-area ou backing store). Quand un processus est déchargé de la mémoire centrale, on lui recherche une place gérées de la même manière que la mémoire centrale peut aussi être allouée une fois pour toute au début de l’exécution Le système exécute pendant un certain quantum de temps les processus en mémoire puis déplace un de ces processus au profit d’un de ceux en attente dans la mémoire provisoire. L’algorithme de remplacement peut être le tourniquet
  • 28. Le va-et-vient et Swap sous Linux Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Le va-et-vient est mis en œuvre lorsque tous les processus ne peuvent pas tenir simultanément en mémoire. On doit alors en déplacer temporairement certains sur une mémoire provisoire, en général, une partie réservée du disque (swap-area ou backing store). Quand un processus est déchargé de la mémoire centrale, on lui recherche une place gérées de la même manière que la mémoire centrale peut aussi être allouée une fois pour toute au début de l’exécution Le système exécute pendant un certain quantum de temps les processus en mémoire puis déplace un de ces processus au profit d’un de ceux en attente dans la mémoire provisoire. L’algorithme de remplacement peut être le tourniquet
  • 29. Le va-et-vient et Swap sous Linux Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Le va-et-vient est mis en œuvre lorsque tous les processus ne peuvent pas tenir simultanément en mémoire. On doit alors en déplacer temporairement certains sur une mémoire provisoire, en général, une partie réservée du disque (swap-area ou backing store). Quand un processus est déchargé de la mémoire centrale, on lui recherche une place gérées de la même manière que la mémoire centrale peut aussi être allouée une fois pour toute au début de l’exécution Le système exécute pendant un certain quantum de temps les processus en mémoire puis déplace un de ces processus au profit d’un de ceux en attente dans la mémoire provisoire. L’algorithme de remplacement peut être le tourniquet
  • 30. Le va-et-vient et Swap sous Linux Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Le va-et-vient est mis en œuvre lorsque tous les processus ne peuvent pas tenir simultanément en mémoire. On doit alors en déplacer temporairement certains sur une mémoire provisoire, en général, une partie réservée du disque (swap-area ou backing store). Quand un processus est déchargé de la mémoire centrale, on lui recherche une place gérées de la même manière que la mémoire centrale peut aussi être allouée une fois pour toute au début de l’exécution Le système exécute pendant un certain quantum de temps les processus en mémoire puis déplace un de ces processus au profit d’un de ceux en attente dans la mémoire provisoire. L’algorithme de remplacement peut être le tourniquet
  • 31. Listing 1 – Exemple de commandes bash pour céer une partition swap sur linux de 1G et on le monte. bash –version 4.2.25 Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly 1 Joelle 2 EMERUSABE Baptiste 3 #!/bin/bash # creation du fichier "ikintu" de 1G 4 5 dd if=/dev/zero of=/ikintu bs=1024 count=1048576 6 7 # transformation de "ikintu" en un fichier swap. 8 9 mkswap /ikintu 10 11 # Pour l’activer. 12 13 swapon /ikintu
  • 32. La mémoire virtuelle Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste La mémoire virtuelle permet d’exécuter des programmes dont la taille excède la taille de la mémoire réelle. on découpe (on « pagine ») les processus ainsi que la mémoire réelle en pages de quelques kilo-octets (1, 2 ou 4 ko généralement). réside sur le disque L’encombrement total du processus constitue l’espace d’adressage ou la mémoire virtuelle on ne charge qu’un sous-ensemble de pages en mémoire appelé l’espace physique une adresse est transcodée grâce à une table, pour lui faire correspondre son équivalent en mémoire physique. C effectué par des circuits matériels de gestion : Memory Management Unit (MMU). Si cette adresse correspond à une adresse en mémoire physique, le MMU transmet sur le bus l’adresse réelle, sinon il se produit un défaut de
  • 33. La mémoire virtuelle Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste La mémoire virtuelle permet d’exécuter des programmes dont la taille excède la taille de la mémoire réelle. on découpe (on « pagine ») les processus ainsi que la mémoire réelle en pages de quelques kilo-octets (1, 2 ou 4 ko généralement). réside sur le disque L’encombrement total du processus constitue l’espace d’adressage ou la mémoire virtuelle on ne charge qu’un sous-ensemble de pages en mémoire appelé l’espace physique une adresse est transcodée grâce à une table, pour lui faire correspondre son équivalent en mémoire physique. C effectué par des circuits matériels de gestion : Memory Management Unit (MMU). Si cette adresse correspond à une adresse en mémoire physique, le MMU transmet sur le bus l’adresse réelle, sinon il se produit un défaut de
  • 34. La mémoire virtuelle Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste La mémoire virtuelle permet d’exécuter des programmes dont la taille excède la taille de la mémoire réelle. on découpe (on « pagine ») les processus ainsi que la mémoire réelle en pages de quelques kilo-octets (1, 2 ou 4 ko généralement). réside sur le disque L’encombrement total du processus constitue l’espace d’adressage ou la mémoire virtuelle on ne charge qu’un sous-ensemble de pages en mémoire appelé l’espace physique une adresse est transcodée grâce à une table, pour lui faire correspondre son équivalent en mémoire physique. C effectué par des circuits matériels de gestion : Memory Management Unit (MMU). Si cette adresse correspond à une adresse en mémoire physique, le MMU transmet sur le bus l’adresse réelle, sinon il se produit un défaut de
  • 35. La mémoire virtuelle Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste La mémoire virtuelle permet d’exécuter des programmes dont la taille excède la taille de la mémoire réelle. on découpe (on « pagine ») les processus ainsi que la mémoire réelle en pages de quelques kilo-octets (1, 2 ou 4 ko généralement). réside sur le disque L’encombrement total du processus constitue l’espace d’adressage ou la mémoire virtuelle on ne charge qu’un sous-ensemble de pages en mémoire appelé l’espace physique une adresse est transcodée grâce à une table, pour lui faire correspondre son équivalent en mémoire physique. C effectué par des circuits matériels de gestion : Memory Management Unit (MMU). Si cette adresse correspond à une adresse en mémoire physique, le MMU transmet sur le bus l’adresse réelle, sinon il se produit un défaut de
  • 36. La mémoire virtuelle Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste La mémoire virtuelle permet d’exécuter des programmes dont la taille excède la taille de la mémoire réelle. on découpe (on « pagine ») les processus ainsi que la mémoire réelle en pages de quelques kilo-octets (1, 2 ou 4 ko généralement). réside sur le disque L’encombrement total du processus constitue l’espace d’adressage ou la mémoire virtuelle on ne charge qu’un sous-ensemble de pages en mémoire appelé l’espace physique une adresse est transcodée grâce à une table, pour lui faire correspondre son équivalent en mémoire physique. C effectué par des circuits matériels de gestion : Memory Management Unit (MMU). Si cette adresse correspond à une adresse en mémoire physique, le MMU transmet sur le bus l’adresse réelle, sinon il se produit un défaut de
  • 37. La mémoire virtuelle Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste La mémoire virtuelle permet d’exécuter des programmes dont la taille excède la taille de la mémoire réelle. on découpe (on « pagine ») les processus ainsi que la mémoire réelle en pages de quelques kilo-octets (1, 2 ou 4 ko généralement). réside sur le disque L’encombrement total du processus constitue l’espace d’adressage ou la mémoire virtuelle on ne charge qu’un sous-ensemble de pages en mémoire appelé l’espace physique une adresse est transcodée grâce à une table, pour lui faire correspondre son équivalent en mémoire physique. C effectué par des circuits matériels de gestion : Memory Management Unit (MMU). Si cette adresse correspond à une adresse en mémoire physique, le MMU transmet sur le bus l’adresse réelle, sinon il se produit un défaut de
  • 38. La mémoire virtuelle Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste La mémoire virtuelle permet d’exécuter des programmes dont la taille excède la taille de la mémoire réelle. on découpe (on « pagine ») les processus ainsi que la mémoire réelle en pages de quelques kilo-octets (1, 2 ou 4 ko généralement). réside sur le disque L’encombrement total du processus constitue l’espace d’adressage ou la mémoire virtuelle on ne charge qu’un sous-ensemble de pages en mémoire appelé l’espace physique une adresse est transcodée grâce à une table, pour lui faire correspondre son équivalent en mémoire physique. C effectué par des circuits matériels de gestion : Memory Management Unit (MMU). Si cette adresse correspond à une adresse en mémoire physique, le MMU transmet sur le bus l’adresse réelle, sinon il se produit un défaut de
  • 39. L’algorithme de remplacement de page Gestion de la mémoire dans un système d’exploitation 1 L’algorithme de remplacement de page optimal consiste à choisir comme victime, la page qui sera appelée le plus tard possible. On ne peut malheureusement pas implémenter cet algorithme, mais on essaye de l’approximer le mieux possible, avec de résultats qui ont une différence de moins de 1% avec l’algorithme optimal. 2 La technique FirstIn-FirstOut est assez facile à implémenter. Elle consiste à choisir comme victime, la page la plus anciennement chargée. 3 L’algorithme de remplacement de la page la moins récemment utilisée (Least Recently Used) est l’un des plus efficaces. RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste On doit notamment ajouter au tableau une colonne de compteurs
  • 40. Libération de la mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste La libération se produit quand un processus est évacué de la mémoire. On marque alors le bloc à libre et on le fusionne éventuellement avec des blocs adjacents. on déplace les processus, par exemple, vers le bas de la mémoire et on les range l’un après l’autre de manière contiguë. On construit alors un seul bloc libre dans le haut de la mémoire ==> opération est coûteuse et nécessite parfois des circuits spéciaux.
  • 41. La récupération de mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Par ailleurs, une fois qu’un objet ou une zone a été utilisé, le programmeur système doit récupère la mémoire « à la main » par une libération du pointeur sur cette zone – free(). Ceci est une source d’erreurs car on oublie parfois cette opération. Si on alloue dans une fonction, il n’y a plus moyen d’accéder au pointeur après le retour de la fonction. Le bloc de mémoire est alors perdu et inutilisable. On a une « fuite de mémoire » – memory leak. Certains langages ou systèmes incorporent la récupération automatique de mémoire – garbage collection. Ils libèrent ainsi le programmeur de cette tâche. C’est le cas de Java. Il est alors très facile d’éliminer immédiatement une zone par l’affectation objet = null. Sans cela, le récupérateur doit déterminer tout seul qu’une zone n’a plus de référence dans la suite du programme.
  • 42. La récupération de mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Par ailleurs, une fois qu’un objet ou une zone a été utilisé, le programmeur système doit récupère la mémoire « à la main » par une libération du pointeur sur cette zone – free(). Ceci est une source d’erreurs car on oublie parfois cette opération. Si on alloue dans une fonction, il n’y a plus moyen d’accéder au pointeur après le retour de la fonction. Le bloc de mémoire est alors perdu et inutilisable. On a une « fuite de mémoire » – memory leak. Certains langages ou systèmes incorporent la récupération automatique de mémoire – garbage collection. Ils libèrent ainsi le programmeur de cette tâche. C’est le cas de Java. Il est alors très facile d’éliminer immédiatement une zone par l’affectation objet = null. Sans cela, le récupérateur doit déterminer tout seul qu’une zone n’a plus de référence dans la suite du programme.
  • 43. La récupération de mémoire Gestion de la mémoire dans un système d’exploitation RUGANO Allan Stockman ARAKAZA Alexis BARUMWETE Marius GATORE SINIGIRIRA Kelly Joelle EMERUSABE Baptiste Par ailleurs, une fois qu’un objet ou une zone a été utilisé, le programmeur système doit récupère la mémoire « à la main » par une libération du pointeur sur cette zone – free(). Ceci est une source d’erreurs car on oublie parfois cette opération. Si on alloue dans une fonction, il n’y a plus moyen d’accéder au pointeur après le retour de la fonction. Le bloc de mémoire est alors perdu et inutilisable. On a une « fuite de mémoire » – memory leak. Certains langages ou systèmes incorporent la récupération automatique de mémoire – garbage collection. Ils libèrent ainsi le programmeur de cette tâche. C’est le cas de Java. Il est alors très facile d’éliminer immédiatement une zone par l’affectation objet = null. Sans cela, le récupérateur doit déterminer tout seul qu’une zone n’a plus de référence dans la suite du programme.