Sie sind auf Seite 1von 43

L3 Informatique - Systmes dexploitation

Gestion de la mmoire
D. Bchet
Denis.Bechet@univ-nantes.fr

Universit de Nantes Facult des Sciences et Techniques 2, rue de la Houssinire BP 92208 44322 Nantes cedex 3, France http://www.sciences.univ-nantes.fr/info/perso/permanents/bechet

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 1/43

Mmoire
Ressource importante Ressource hirarchise mmoire cache : trs rapide, peu importante, gre par le matriel mmoire principale : rapide, importante, gre par le SE mmoire secondaire (disques durs) : lente, trs importante, gre par le SE Gestion par le gestionnaire de la mmoire du SE But : offrir un espace dadressage indpendant aux processus : la mmoire virtuelle

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 2/43

Mmoire virtuelle
Processus 1 Mmoire virtuelle Processus 2 Mmoire virtuelle Processus 3 Mmoire virtuelle Processus 4 Mmoire virtuelle

Systme dexploitation

Mmoire relle

Disque dur

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 3/43

Gestion de la mmoire
Type de gestionnaires Avec ou sans change avec la mmoire secondaire (swaping sur disque dur) Avec ou sans pagination Avec ou sans segmentation

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 4/43

Monoprogrammation
1 seul processus, pas dchange, pas de pagination : exemple MS-DOS
0xFFF... Programme utilisateur

Systme dexploitation en ROM

Gestionnaire de priphriques en ROM

Programme utilisateur Programme utilisateur

Systme dexploitation en RAM

Systme dexploitation en RAM

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 5/43

Monoprogrammation
1 seul processus, pas dchange, pas de pagination Le SE charge le programme en mmoire puis lexcute appel systme EXIT : le SE reprend la main lorsque le programme se termine appel systme EXEC : le programme utilisateur demande au SE de charger et excuter un autre programme qui remplace le programme courant

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 6/43

Partitions de taille xe
Partitionnement priori de la mmoire en n zones (ventuellement de tailles diffrentes) plusieurs processus, pas dchange, pas de pagination exemple mainframe dIBM sous OS/360
Files dattente multiples 800K Partition 4 600K Partition 3 500K Partition 2 300K Partition 1 200K Systme dexploitation en RAM 0 Systme dexploitation en RAM Partition 1 200K 0 File dattente unique Partition 4 600K Partition 3 500K Partition 2 300K 800K

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 7/43

Rservation par les processus


Les programmes dclarent la taille dont ils ont besoin au chargement Le SE cherche une zone libre de taille sufsante plusieurs processus, pas dchange, pas de pagination exemple MINIX (anctre de Linux)
1111111 0000000 0000000 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 1111111 0000000 1111111 Systme
dexploitation en RAM

1111111 0000000 00000000 1111111 11111111 0000000 0000000 1111111 0000000 1111111 0000000 1111111 00000000 11111111 0000000 11111111 1111111 00000000 Processus 3 Processus 3 Processus 3 0000000 1111111 00000000 0000000 11111111 1111111 00000000 11111111 0000000 1111111 00000000 0000000 11111111 1111111 00000000 11111111 Processus 2 Processus 2 Processus 2 Processus 2 0000000 1111111 0000000 1111111 1111111 0000000 0000000 Processus 1 Processus 1 Processus 1 0000000 1111111 1111111 1111111 0000000 Processus 4 0000000 1111111 0000000 1111111 Systme Systme Systme Systme Systme
dexploitation en RAM dexploitation en RAM dexploitation en RAM dexploitation en RAM dexploitation en RAM

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 8/43

Problmes lis la multiprogrammation


Rallocation : un processus doit pouvoir tre charg nimporte quelle adresse mmoire Translation des adresses globales lors du chargement du programme en mmoire Utilisation des modes dadressage relatif un registre (pile/instruction/registre de segment) Protection : interdire un processus laccs lespace mmoire des autres processus et du systme dexploitation registres de protection : base + limite bits de protection des pages de la mmoire

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 9/43

Problme despace mmoire


Systme temps partag : la mmoire disponible peut tre insufsante un moment donn 1. Interdire de nouveaux processus (exemple MINIX) 2. Placer certains processus en mmoire secondaire pour librer de lespace mmoire en attendant que la charge mmoire diminue. Les processus swaps ne sont pas excutables 3. Placer des bouts de la mmoire des processus en mmoire secondaire : mcanisme de la mmoire virtuelle. Les processus sont partiellement excutables

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 10/43

Echange sur mmoire secondaire (swap)


0000000 0000000 1111111 1111111 0000000 1111111 00000000 11111111 00000000 11111111 11111111 00000000 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 Processus 3 Processus 3 Processus 3 Processus 3 Processus 3 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 11111111 00000000 Processus 2 Processus 2 Processus 2 11111111 Processus 2 00000000 11111111 00000000 11111111 1111111 0000000 0000000 1111111 Processus 1 00000000 11111111 00000000 11111111 00000000 11111111 0000000 1111111 1111111 0000000 00000000 11111111 Processus 1 Processus 1 Processus 1 00000000 11111111 0000000 1111111 0000000 1111111 11111111 Processus 4 00000000 Processus 4 Processus 4 00000000 11111111 0000000 1111111 00000000 11111111 0000000 1111111 Systme Systme Systme Systme Systme Systme Systme Systme
dexploitation en RAM dexploitation en RAM dexploitation en RAM dexploitation en RAM dexploitation en RAM dexploitation en RAM dexploitation en RAM dexploitation en RAM

Le processus 1 est plac en attente sur le disque Ncessite un mcanisme de rallocation dynamique (registres base + limite)

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 11/43

Mmoire virtuelle
Pagination : adresse = numro de page + dplacement Segmentation : adresse = base dun segment + dplacement

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 12/43

Pagination
Indirection : adresse linaire adresse physique
Espace virtuel de 64K Adresses linaires X X X X X 7 X 5 6 3 X X 2 1 3 0 Pages virtuelles de 4K

Pages physiques de 4K

Mmoire relle de 32K Adresse physique 28K32K 24K28K 20K24K 16K20K 12K16K 8K12K 4K8K 0 4K
L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 13/43

Pagination
Indirection : adresse linaire adresse physique MMU : memory management unit (unit de gestion mmoire) Table des pages : tableau donnant pour chaque page virtuelle : si la page virtuelle correspond ou non une page physique dans ce cas, le numro de la page physique les droits daccs (lecture/modication/excution) dautres informations: page accde, modie, etc

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 14/43

Table des pages


Espace virtuel de 64K Adresses linaires X X X X X 7 X 5 6 3 X X 2 1 3 0 Table des pages Pages virtuelles de 4K 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000 0 0 0 0 0 1 0 1 1 1 0 0 1 1 1 1 000 000 000 000 000 111 000 101 110 011 000 000 010 001 011 000 000 000 000 000 000 110 000 110 110 110 000 000 101 101 001 001 Page absente

Pages physiques de 4K

Page prsente Page physique numro 7

Mmoire relle de 32K Adresse physique 28K32K 24K28K 20K24K 16K20K 12K16K 8K12K 4K8K 0 4K

accs en lecture ou en modification

accs en lecture ou en excution accs en excution

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 15/43

Pagination
Indirection : adresse linaire adresse physique
Adresse physique 0 1 1 1 1 0 0 0 0 1 1 0 0 0 1 0x3C31

Table des pages

0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 Adresse linaire virtuelle

0x6C31

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 16/43

Table des pages deux niveaux


Double indirection : adresse linaire adresse physique
Adresse physique 1 0 0 0 1 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 0x88A7EC31

Table des pages de 2ime niveau numro 00110000

Table des pages de 2ime niveau numro 1101100110

Table des pages de 1er niveau

1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 0 0 0 1 1 0 0 0 1 Adresse linaire virtuelle

0xD9B66C31

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 17/43

Table des pages


Utilise par le matriel (MMU). Un registre du MMU contient ladresse de la table des pages de 1er niveau Le SE gre les tables Chaque processus possde sa propre table des pages =chaque processus a son propre espace virtuel Entre dune table (suivant le type de CPU) : 1. bit prsent/absent 2. numro de la page physique 3. bits de protections : accs en lecture, modication, excution, mode utilisateur/noyau 4. bits modi et accd mis 1 par le MMU lorsque la page est modie ou accde 5. bit dinhibition du cache (par exemple pour laccs direct la mmoire vido)
L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 18/43

Gestion de lespace virtuel des processus


Le SE offre un espace virtuel tous les processus Le SE accepte toutes les demandes de cration/modication de lespace virtuel utilisateur par les processus en mode utilisateur : Cration initiale des zones du code, des donnes et de la pile (lors dun execve()) Chargement des librairies dynamiques ( la n du execve()) Extension du tas vers le haut (brk() et indirectement malloc()) Mmoire partage avec les fonctions IPC shmat() et shmdt() Projection de chier avec les fonctions mmap() et munmap() ... L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 19/43

Remplacement des pages


Si la mmoire physique nest pas sufsante, le SE dcide de librer des pages physiques en plaant leur contenu en mmoire secondaire =chier/partition de swap sur le disque dur Une processus accdant une page place sur disque engendre une exception : un dfaut de page Le SE doit alors recharger la page manquante depuis le disque (en plaant ventuellement une autre page physique dans la mmoire secondaire) et relancer le processus qui a cr lexception

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 20/43

Statistiques
$ for in in a a a a a a a a a a a ; do ls -lR /usr > /dev/null & done [1] 4431 ... $ top top - 15:17:22 up 7:07, 1 user, load average: 14.86, 4.85, 1.77 Tasks: 107 total, 22 running, 85 sleeping, 0 stopped, 0 zombie Cpu(s): 72.5% us, 26.9% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.7% hi, 0.0% si Mem: 61852k total, 60624k used, 1228k free, 6148k buffers Swap: 88316k total, 12624k used, 75692k free, 4268k cached PID USER 4465 bechet 4482 bechet ... $ free PR 18 23 NI 0 0 VIRT RES SHR S %CPU %MEM 2988 1352 1932 R 17.7 2.2 3048 1416 1932 R 6.5 2.3 TIME+ COMMAND 0:09.65 ls 0:02.79 ls

total Mem: 61852 -/+ buffers/cache: Swap: 88316

used 60748 54004 19540

free 1104 7848 68776

shared 0

buffers 3660

cached 3084

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 21/43

Statistiques
$ cat /proc/1/status Name: init State: S (sleeping) SleepAVG: 90% Tgid: 1 Pid: 1 PPid: 0 TracerPid: 0 Uid: 0 0 Gid: 0 0 FDSize: 32 Groups: VmSize: 1408 kB VmLck: 0 kB VmRSS: 496 kB VmData: 148 kB VmStk: 4 kB VmExe: 28 kB VmLib: 1204 kB Threads: 1 ...

0 0

0 0

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 22/43

Espace virtuel dun processus


$ cat /proc/1/maps 08048000-0804f000 r-xp 0804f000-08050000 rw-p 08050000-08071000 rw-p 40000000-40014000 r-xp 40014000-40015000 rw-p 40015000-40016000 rw-p 4002b000-40144000 r-xp 40144000-40148000 rw-p 40148000-4014b000 rw-p bffff000-c0000000 rw-p ffffe000-fffff000 ---p 00000000 00006000 08050000 00000000 00013000 40015000 00000000 00118000 40148000 bffff000 00000000 03:08 03:08 00:00 03:08 03:08 00:00 03:08 03:08 00:00 00:00 00:00 375383 375383 0 1011854 1011854 0 1011907 1011907 0 0 0 /sbin/init /sbin/init /lib/ld-2.3.3.so /lib/ld-2.3.3.so /lib/tls/libc-2.3.3.so /lib/tls/libc-2.3.3.so

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 23/43

Espace virtuel avec IPC


$ lecteur_shm & [1] 15175 $ cat /proc/15175/maps 08048000-08049000 r-xp 08049000-0804a000 rw-p 40000000-40014000 r-xp 40014000-40015000 rw-p 40015000-40016000 rw-p 4002b000-40144000 r-xp 40144000-40148000 rw-p 40148000-4014b000 rw-p 4014b000-40164000 r--s bfffe000-c0000000 rw-p ffffe000-fffff000 ---p 00000000 00000000 00000000 00013000 40015000 00000000 00118000 40148000 00000000 bfffe000 00000000 03:02 03:02 03:08 03:08 00:00 03:08 03:08 00:00 00:06 00:00 00:00 1567263 1567263 1011854 1011854 0 1011907 1011907 0 1376259 0 0

/home/bechet/Cours/C/lec /home/bechet/Cours/C/lec /lib/ld-2.3.3.so /lib/ld-2.3.3.so /lib/tls/libc-2.3.3.so /lib/tls/libc-2.3.3.so /SYSV000186ac (deleted)

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 24/43

Espace virtuel avec maps


$ lecteur_proj & [1] 15325 $ cat /proc/15325/maps 08048000-08049000 r-xp 08049000-0804a000 rw-p 40000000-40014000 r-xp 40014000-40015000 rw-p 40015000-40016000 rw-p 40016000-40017000 r--s 40017000-40018000 rw-p 4002b000-40144000 r-xp 40144000-40148000 rw-p 40148000-4014b000 rw-p bfffd000-c0000000 rw-p ffffe000-fffff000 ---p 00000000 00000000 00000000 00013000 40015000 00000000 40017000 00000000 00118000 40148000 bfffd000 00000000 03:02 03:02 03:08 03:08 00:00 03:02 00:00 03:08 03:08 00:00 00:00 00:00 1567267 1567267 1011854 1011854 0 1567272 0 1011907 1011907 0 0 0

/home/bechet/Cours/C/lec /home/bechet/Cours/C/lec /lib/ld-2.3.3.so /lib/ld-2.3.3.so

/home/bechet/Cours/C/ess /lib/tls/libc-2.3.3.so /lib/tls/libc-2.3.3.so

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 25/43

Espace virtuel dun processus


Divis en pages virtuelles (en gnral de 4K ou 8K) Chaque page virtuelle est indpendante des autres: Non alloue =laccs engendre une exception Segmentation fault Alloue de la mmoire prive, une zone IPC de mmoire partage ou une projection dun chier ou la copie dune zone. Les donnes sont alors soit non reserves (la page na pas encore t accde), soit en mmoire principale ou secondaire (dans la zone de swap ou dans le chier projet). Un accs non autoris engendre une exception Segmentation fault : page non-alloue, tentative de modication sur une page protge en criture, etc
L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 26/43

Algorithmes de remplacement de pages


Quand un dfaut de page se produit, le SE doit remplir une page libre avec des zros ou bien depuis la mmoire secondaire =il doit parfois librer une page en mmoire physique pour faire de la place Le SE doit choisir une page librer Si une page physique na pas t modie (bit modi 0), il la libre directement Si la page a t modie, il doit dabors la recopier en mmoire secondaire puis il peut la librer

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 27/43

Algorithme optimal de remplacement


Librer une page qui ne sera plus utilise ou bien librer la page qui sera utilise le plus tard possible =impossible : le SE doit tre un devin

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 28/43

Une page rcemment non utilise


bit page modie : la page a t modie bit page accde : la page a t accde depuis la dernire remise zro du bit Le SE met rgulirement (typiquement 20ms) tous les bits accds zro =permet de connatre les pages rcemment utilises Les pages sont libres dans lordre suivant : 1. une page non accde rcemment et non modie 2. une page non accde rcemment et modie (prcdement) 3. une page accde rcemment et non modie 4. une page accde rcemment et modie (prcdement)
L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 29/43

Premire page entre, premire sortie


Algorithme trs simple et rapide sur la liste de pages : la page la plus ancienne est libre Fonctionne mme en labsence du bit page accde

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 30/43

Algorithme de la seconde chance


Algorithme similaire au prcdent mais qui regarde le bit page accde de la page la plus ancienne =si la page a t accde, elle est mise en queue de la liste des pages (avec son bit accd mis zro) et on regarde la page suivante dans la liste Lalgorithme termine mme si toutes les pages ont t accdes car aprs un tour toutes les pages ont le bit accd zro Mis-en-oeuvre laide dune liste circulaire

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 31/43

La page la moins rcemment utilise


Ide : les pages les plus rfrences les pages les plus utilises dans le futur proche Ide : les pages les moins rcemment utilises les pages peu ou pas utilises dans le futur Librer la page la moins rcemment accde =principe intressant mais coteux sauf avec un matriel spcialis

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 32/43

Page la demande
Pas dallocation non sollicite : seules les pages effectivement accdes par un processus sont places dans son espace virtuel Les pages correspondant au code et aux donnes dun programme ou dune librairie dynamique ne sont pas charges lors de linitialisation du processus (lors de lappel execve()) mais lorsque le processus y accde Un processus commence sa vie sans avoir de page physique associe son espace virtuel La premire opration dun processus consiste charger la page correspond au code de dmarrage du processus

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 33/43

Copie lors de la premire modication


Pas de copie lors dun fork() : les pages du processus dorigine sont marques en lecture seule et ne sont copies dans le processus ls ou pre qu la premire modication =patage maximum des pages physiques entre pre et ls Projection directe du programme en mmoire mme pour les sections modiables (segment data) =option MAP_PRIVATE de lappel systme mmap()

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 34/43

Extension automatique de la pile


Si un processus accde la page qui se trouve juste sous la pile, le SE suppose que le processus a besoin de plus de place pour la pile =la zone de pile sagrandit automatiquement

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 35/43

Vrrouillage des pages


Les processus privilgis (root) peuvent demander ce que des zones de leur espace virtuel ne soient pas swapables sur la mmoire secondaire Appel systme mlock(adresse, longeur) Applications Algorithmes temps rel (musique/vido) Traitement des donnes condentielles

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 36/43

Rle du SE dans la pagination


1. Permettre de dnir lespace virtuel dun processus en terme de zone de pages ayant des caractristiques identiques 2. Grer les tables des pages des processus 3. Rcuprer les dfauts de page engendrs par les processus et effectuer le traitement appropri 4. Sassurer chaque instant dun ensemble de pages physiques libres en plaant ventuellement des pages sur la mmoire secondaire

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 37/43

Gestion des dfauts de pages


1. Rcuprer ladresse virtuelle qui a dclench lerreur 2. Dclencher une exception Segmentation fault si ladresse ne correspond aucune zone de lespace virtuel (attention au cas de lextension automatique de la pile) ou un accs non autoris 3. En cas dcriture, si la page est en mode copie la premire modication : la page est recopie vers une nouvelle page physique qui devient modiable 4. Si la page na pas encore t accde et correspond une zone initialise zro : une page physique nulle est associe la page virtuelle 5. Si la page correspond une projection dun chier, une page physique est associe la zone du chier ainsi qu lespace virtuel
L3 Informatique - et Systmes - Gestion de la mmoire - Version 2008.0 p. 38/43 6. Sinon, la page a t swape il dexploitation faut la recharger

Segmentation
Historiquement important mais peu utilis de nos jours o on prfre la pagination Adresse segmente = Numro de segment/Numro de registre de sgment + dplacement Segment = Adresse de base + Taille + Droit daccs Adresse physique = Adresse de base du segment + dplacement Valide si dplacement < Taille et les droits daccs sont respects

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 39/43

Intrts de la segmentation
Moins complexe que la pagination Permet le dplacement de la zone de mmoire physique correspondant un segment vers une autre zone (pour faire de la place, augmenter la taille dun segment) Ralisable (dans les CPU) avec des registres de segments contenant la base, la taille et les droits du segment Autorise la sparation des informations (code , donnes, pile) Simplie la gestion des librairies dynamiques si le matriel autorise lutilisation de nombreux segments en mme temps
L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 40/43

Windows (2000/XP) et Linux


La segmentation possible du Pentium nest pas utilise (La base de tous les segments est 0) La pagination est prsente dans les deux SE Espace virtuel de 4Go (pour le Pentium): 0 0x7FFFFFF (XP) ou 0 0xBFFFFFF (Linux) pour lespace en mode utilisateur et noyau et 0x80000000 0xFFFFFFFF (XP) ou 0xC0000000 0xFFFFFFFF pour lespace en mode noyau La partie haute (noyau) est identique pour tous les processus Page la demande Copie la premire modication Algorithmes de remplacement diffrents entre les deux SE
L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 41/43

Remplacement des pages pour Windows


Les processus ont un pool de pages physiques associes variant entre un minimum et un maximum Un thread systme se charge de mettre ou denlever les pages physiques du pool dun processus Deux threads systmes sont chargs de mettre sur la mmoire secondaire des pages modies sorties du pool des processus (swap ou projection de chier) Un thread systme est charg de swapper toutes les pages des processus inactif depuis un certain temps Les pages physiques qui ne sont pas dans un pool sont modie, propres, libres, zro ou dfectueuses Algorithme local et gobal au processus

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 42/43

Remplacement des pages pour Linux


Algorithme global aux processus Le thread systme kswapd se charge de la libration des pages Cherche atteindre un taux de pages libres disponibles Libration des pages sur le principe de la recherche de pages non utilises rcemment

L3 Informatique - Systmes dexploitation - Gestion de la mmoire - Version 2008.0 p. 43/43