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

動的計画法の並列化
動的計画法の並列化動的計画法の並列化
動的計画法の並列化Proktmr
 
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfChapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfZizoAziz
 
Parallelization of Structured Streaming Jobs Using Delta Lake
Parallelization of Structured Streaming Jobs Using Delta LakeParallelization of Structured Streaming Jobs Using Delta Lake
Parallelization of Structured Streaming Jobs Using Delta LakeDatabricks
 
グラフ理論入門 1
グラフ理論入門 1グラフ理論入門 1
グラフ理論入門 1butsurizuki
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigFelipe Sanchez Garzon
 
Présentation intelligence artificielle et domaines d'applications - #DigitalT...
Présentation intelligence artificielle et domaines d'applications - #DigitalT...Présentation intelligence artificielle et domaines d'applications - #DigitalT...
Présentation intelligence artificielle et domaines d'applications - #DigitalT...Digital Thursday
 
From REINFORCE to PPO
From REINFORCE to PPOFrom REINFORCE to PPO
From REINFORCE to PPOWoong won Lee
 
Ordonnancement exercices
Ordonnancement exercicesOrdonnancement exercices
Ordonnancement exercicesSelman Dridi
 
Building a Dataset Search Engine with Spark and Elasticsearch: Spark Summit E...
Building a Dataset Search Engine with Spark and Elasticsearch: Spark Summit E...Building a Dataset Search Engine with Spark and Elasticsearch: Spark Summit E...
Building a Dataset Search Engine with Spark and Elasticsearch: Spark Summit E...Spark Summit
 
Prml 1.2,4 5,1.3|輪講資料1120
Prml 1.2,4 5,1.3|輪講資料1120Prml 1.2,4 5,1.3|輪講資料1120
Prml 1.2,4 5,1.3|輪講資料1120Hayato K
 
Data engineering in 10 years.pdf
Data engineering in 10 years.pdfData engineering in 10 years.pdf
Data engineering in 10 years.pdfLars Albertsson
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheMohamed Heny SELMI
 
Optimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache SparkOptimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache SparkDatabricks
 
[study] pointer networks
[study] pointer networks[study] pointer networks
[study] pointer networksGyuhyeon Nam
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016Taehoon Kim
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化yosupo
 
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentauxAlphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentauxAlphorm
 
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjpcocodrips
 
ディープラーニングによるゆるキャラグランプリの得票数予想
ディープラーニングによるゆるキャラグランプリの得票数予想ディープラーニングによるゆるキャラグランプリの得票数予想
ディープラーニングによるゆるキャラグランプリの得票数予想Katsuya Ishiyama
 

Tendances (20)

動的計画法の並列化
動的計画法の並列化動的計画法の並列化
動的計画法の並列化
 
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdfChapitre 4-Apprentissage non supervisé (1) (1).pdf
Chapitre 4-Apprentissage non supervisé (1) (1).pdf
 
Parallelization of Structured Streaming Jobs Using Delta Lake
Parallelization of Structured Streaming Jobs Using Delta LakeParallelization of Structured Streaming Jobs Using Delta Lake
Parallelization of Structured Streaming Jobs Using Delta Lake
 
グラフ理論入門 1
グラフ理論入門 1グラフ理論入門 1
グラフ理論入門 1
 
AI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine LearnigAI Apprentissage Automatique, Machine Learnig
AI Apprentissage Automatique, Machine Learnig
 
Présentation intelligence artificielle et domaines d'applications - #DigitalT...
Présentation intelligence artificielle et domaines d'applications - #DigitalT...Présentation intelligence artificielle et domaines d'applications - #DigitalT...
Présentation intelligence artificielle et domaines d'applications - #DigitalT...
 
From REINFORCE to PPO
From REINFORCE to PPOFrom REINFORCE to PPO
From REINFORCE to PPO
 
Ordonnancement exercices
Ordonnancement exercicesOrdonnancement exercices
Ordonnancement exercices
 
Building a Dataset Search Engine with Spark and Elasticsearch: Spark Summit E...
Building a Dataset Search Engine with Spark and Elasticsearch: Spark Summit E...Building a Dataset Search Engine with Spark and Elasticsearch: Spark Summit E...
Building a Dataset Search Engine with Spark and Elasticsearch: Spark Summit E...
 
Prml 1.2,4 5,1.3|輪講資料1120
Prml 1.2,4 5,1.3|輪講資料1120Prml 1.2,4 5,1.3|輪講資料1120
Prml 1.2,4 5,1.3|輪講資料1120
 
Data engineering in 10 years.pdf
Data engineering in 10 years.pdfData engineering in 10 years.pdf
Data engineering in 10 years.pdf
 
Intelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de rechercheIntelligence Artificielle - Algorithmes de recherche
Intelligence Artificielle - Algorithmes de recherche
 
Optimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache SparkOptimizing Delta/Parquet Data Lakes for Apache Spark
Optimizing Delta/Parquet Data Lakes for Apache Spark
 
[study] pointer networks
[study] pointer networks[study] pointer networks
[study] pointer networks
 
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
딥러닝과 강화 학습으로 나보다 잘하는 쿠키런 AI 구현하기 DEVIEW 2016
 
色々なダイクストラ高速化
色々なダイクストラ高速化色々なダイクストラ高速化
色々なダイクストラ高速化
 
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentauxAlphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
 
Initiation Scrum
Initiation ScrumInitiation Scrum
Initiation Scrum
 
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
強くなるためのプログラミング -プログラミングに関する様々なコンテストとそのはじめ方-#pyconjp
 
ディープラーニングによるゆるキャラグランプリの得票数予想
ディープラーニングによるゆるキャラグランプリの得票数予想ディープラーニングによるゆるキャラグランプリの得票数予想
ディープラーニングによるゆるキャラグランプリの得票数予想
 

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
 
Cours1 ordonnancement des-travaux-planning_preparation-chantier
Cours1 ordonnancement des-travaux-planning_preparation-chantierCours1 ordonnancement des-travaux-planning_preparation-chantier
Cours1 ordonnancement des-travaux-planning_preparation-chantiering2011
 

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
 
Cours1 ordonnancement des-travaux-planning_preparation-chantier
Cours1 ordonnancement des-travaux-planning_preparation-chantierCours1 ordonnancement des-travaux-planning_preparation-chantier
Cours1 ordonnancement des-travaux-planning_preparation-chantier
 

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

SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxAsmaa105193
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
presentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxpresentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxNYTombaye
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 

Dernier (20)

SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
Evaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. MarocpptxEvaluation du systeme d'Education. Marocpptx
Evaluation du systeme d'Education. Marocpptx
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
presentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxpresentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptx
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 

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.