Uniformité : tous les processeurs ont accès à tous les octets. Il est préférable d écrire :

Documents pareils
Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Partie 7 : Gestion de la mémoire

Architecture des ordinateurs

SGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre Université de Rennes I - IRISA

Structure fonctionnelle d un SGBD

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

Gestion de la mémoire

GESTION DE LA MEMOIRE

Systemes d'exploitation des ordinateurs

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Cours A7 : Temps Réel

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Systèmes d Exploitation - ENSIN6U3. Aix-Marseille Université

SYS MEM. Gestion de la mémoire. Table des matières. IUT - Département Informatique. ASR2-Système. 1.1 Motivation

LA mémoire principale est le lieu où se trouvent les programmes et les

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Bases de programmation. Cours 5. Structurer les données

La mémoire. Un ordinateur. L'octet. Le bit

Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes

Initiation. àl algorithmique et à la programmation. en C

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Informatique Générale

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Croisière au cœur d un OS Étape 4 : Mise en place de la pagination

Chapitre 4 : Les mémoires

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Cours d initiation à la programmation en C++ Johann Cuenin

Programmation C. Apprendre à développer des programmes simples dans le langage C

Licence Sciences et Technologies Examen janvier 2010


INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Logiciel de base. Première année ENSIMAG

Introduction aux SGBDR

Quel niveau RAID est le mieux adapté à mes besoins?

Encryptions, compression et partitionnement des données

Conventions d écriture et outils de mise au point

Techniques de stockage. Techniques de stockage, P. Rigaux p.1/43

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

Introduction à la Programmation Parallèle: MPI

Exécutif temps réel Pierre-Yves Duval (cppm)

IV- Comment fonctionne un ordinateur?

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

TD Architecture des ordinateurs. Jean-Luc Dekeyser

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

Optimisation de 4D Server et 4D Web Server. Résumé. 4D Notes techniques

Le poids et la taille des fichiers

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

environnements SQL Server?

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Programmation Objet Java Correction

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

Chapitre 1 : La gestion dynamique de la mémoire

Architecture des ordinateurs

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Initiation à la sécurité

Cours d Algorithmique et de Langage C v 3.0

Utiliser Glary Utilities

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

Guide Mémoire NETRAM

PG208, Projet n 3 : Serveur HTTP évolué

REALISATION d'un. ORDONNANCEUR à ECHEANCES

Tests de performance du matériel

la virtualisation pour quoi faire?

Cette option est aussi disponible sur les clients Windows 7 sous la forme d un cache réparti entre les différentes machines.

PROJET ALGORITHMIQUE ET PROGRAMMATION II

Optimisations des SGBDR. Étude de cas : MySQL

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

Boîte électronique. Découverte des principales fonctions d une messagerie électronique. (et les pièces jointes)

Conservation des documents numériques

4D v11 SQL Release 5 (11.5) ADDENDUM

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Algorithmique, Structures de données et langage C

UE Programmation Impérative Licence 2ème Année

Système de Gestion de Fichiers

Cours Informatique 1. Monsieur SADOUNI Salheddine

Limitations of the Playstation 3 for High Performance Cluster Computing

Programmation impérative

Tutoriel pour la gestion des bases de données du Serveur Mysql virtualisé par le Gip Récia

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Les structures de données. Rajae El Ouazzani

<Insert Picture Here> Solaris pour la base de donnés Oracle

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

Cours Programmation Système

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques

Rappels d architecture

Conception des systèmes répartis

Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.

Représentation d un entier en base b

SYSTÈME DE GESTION DE FICHIERS

Importance de la défragmentation en environnements virtuels

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Transcription:

3 4 llocation de la mémoire centrale centrale (RM) Organisation logique / physique Organisation en partitions Pagination et segmentation centrale (RM) La mémoire centrale (RM pour Random ccess Memory) est une zone de stockage composée d octets (8 bits). haque octet est repéré par un adresse physique (sur 32 ou 64 bits). +---+ x +---+ 2^32 adresses soit 2^32 octets soit. 2^22 kilo-octets soit.... 2^2 méga-octets. 2^2 giga-octets +---+ xffffffff +---+ La mémoire physique est contigüe (les adresses varient de N à M). Uniformité : tous les processeurs ont accès à tous les octets. 2 Les mots doivent être alignés sur une adresse physique multiple de leur taille : Exécution : struct S { char c; int v; char c2; }; void main(void) { printf("sizeof(char) = %d\n", sizeof(char)); printf("sizeof(int) = %d\n", sizeof(int)); printf("sizeof(s) = %d\n", sizeof(struct S)); } sizeof(char) = sizeof(int) = 4 sizeof(s) = 2 Placement des données en mémoire : Il est préférable d écrire : Exécution : struct S { char c; char c2; int v; }; sizeof(char) = sizeof(int) = 4 sizeof(s) = 8 Placement des données en mémoire : +--+--+--+--+--+--+--+--+ c c2 -- -- v +--+--+--+--+--+--+--+--+ +--+--+--+--+--+--+--+--+--+--+--+--+ c -- -- -- v c2 -- -- -- +--+--+--+--+--+--+--+--+--+--+--+--+

7 8 vec la RM il existe trois opérations : Utilisation de la mémoire lecture d un octet ou d un mot écriture d un octet ou d un mot lecture pour exécution d un mot Un exemple : int x; void main(void) { sleep(); printf("%x ", &x); sleep(); } Exécution : 68e8 68e8 68e8 68e8 68e8 68e8 68e8 68e8 68e8 haque processus travail dans une mémoire logique qui est une partie de la mémoire centrale. Les octets de la mémoire logique sont repérés par des adresses logiques. Lors de l exécution, les processus génèrent des adresses logiques qui varient de à N (N étant la taille de la mémoire logique du processus). 5 6 llocation de mémoire orrespondance entre adresses logiques et adresses physiques, fixe : établie à la compilation statique : établie au chargement dynamique : variable dans le temps logique contiguë La mémoire logique des processus est constitué d un seul morceau (une partition) : Niv. Logique contigu P P2 P3 Gestion de la mémoire physique. Partage de données entre processus. Protection de chaque processus. Niv. physique contigu (partitions) RM P2 P P3 Niv. physique non-contigu (pagination) RM P2 P3 P2 P P2 P3 P2

logique non contiguë Système à partition unique La mémoire logique des processus est constitué de plusieurs morceaux (segments) : Niv. Logique Non-contigu (segmentation) P P2a P2b P3a P3b S.E. partition unique mémoire R RL Le va-et-vient simple ou swapping. aractéristiques : Niv. physique contigu (segmentation) RM P2a P3a P P3b P2b les processus sont tous et toujours à la même adresse physique (correspondance à la compilation ou au chargement) Niv. physique non-contigu (seg-pagination) RM P2a P3a P2b P P2b P3b P2a la réquisition de la PU entraîne la sauvegarde de la partition et le chargement d un nouveau processus (monoprogrammation) la PU est inutilisée durant les sauvegardes/récupérations La protection est assurée par le jeu des deux registres spécialisées R (registre de base) et RL (registre limite). 9 Les recouvrements Système à partitions fixes Objectif : Limiter la taille de la mémoire occupée par le code du programme. S.E. zone zone 2 mémoire Les programmes importants sont découpés en plusieurs parties indépendantes. Une partie reste systématiquement en mémoire, c est la racine du recouvrement. Les autres parties sont chargées en mémoire à la demande. mémoire physique U.. anal. llocation de la mémoire () (2) () (2) () () (2) programmes programme(zone) chargement sauvegarde programme (3 parties) hronogramme d'activité configuration configuration 2 La mémoire est divisée en zones de taille fixe (spécialisation) Les processus s exécutent toujours dans la même zone Pendant les échanges sur Z, un autre processus s exécute en Z 2 Protection possible par les registres R et RL 2

Système à partitions variables Les partitions sont allouées et libérées à la demande (création ou fin d un processus). Le registre de base pointe sur la partition et le registre limite en indique la taille. 2 3 4 5 D E F 3 RL 6 3 < RL non oui R 5 + déroutement sur erreur d'adressage 5 5 52 53 54 55 D E F llocation par chaînage des zones libres Les zones libres sont placées dans une liste chainée. Il existe plusieurs stratégies de recherche : Première zone libre (first-fit). Meilleur ajustement (best-fit) pour utiliser au mieux les zones libres. Mais, il faut parcourir toutes les zones, il reste des petits résidus inutilisables. Plus grand résidu (worst-fit) pour combattre l émiettement. lgorithmes spécialisés. R et RL sont utilisés par la PU pour traduire à chaque accès mémoire les adresses logiques en adresses physiques. llocation par subdivision (buddy system) 3 Un exemple d allocations/libérations : 4 La taille des zones suit une règle définie par une relation de récurrence : binaire : (, 2, 4, 8,...) S i+ = 2 S i fibonacci : (, 2, 3, 5, 8,...) S i+ = S i + S i Il existe une liste des zones libres pour chaque taille. allouer un bloc de taille T Soit S i la plus petite taille telle que S i T si il existe un bloc de taille S i alors renvoyer ce bloc sinon allouer un bloc de taille S i+ libérer la deuxième partie de ce bloc renvoyer la première partie 8 2 4 4 2 2 2 8 4 2 lloc. de, longueur = 2 lloc. de, longueur = lloc. de, longueur = 2 Libération de Libération de Libération de La recherche d une zone libre est rapide et il est facile de reconstruire des zones à la libération. 5 6

Fragmentation externe/interne La fragmentation externe est due à l émiettement de la mémoire lors des allocations/libérations. La fragmentation interne c est l unité de mémoire minimum que le S.E. est capable de gérer (généralement plusieurs Kilo-octets). ompactage de la mémoire Le compactage de la mémoire procède par recopie des partitions pour faire apparaître une zone libre de taille suffisante. Exemple : 5 5 5 5 5 2 5 5 7 8 paginée Principe orrespondance des adresses s associatives Partage de pages paginée : principe La mémoire est divisée en page de taille fixe (quelques Kilo-octets). ette taille est toujours une puissance de deux (2 m ). Une adresse logique paginée sur n bits (avec n > m) est un couple n de page logique } {{ } sur n m bits, déplacement dans la page } {{ } sur m bits Une adresse physique paginée sur p bits (avec p > m) est un couple n de page physique } {{ } sur p m bits, déplacement dans la page } {{ } sur m bits Exemple : avec une page de 4 ko (2 2 octets) : 23.456.789 = <------- 2 -------> <--- 2 ---> 34 3349 9 = (349 * 496) + 3349 2

La fonction de pagination assure la correspondance entre numéro de page logique et numéro de page physique. logique Fonction de pagination physique Pages logiques versus pages physiques Pour chaque processus, le système prépare une table de pages logiques (notée desc ci-dessous). adr. logique npl dep vérifier que npl < RL n 2 - n 2 - + prot dep R. de base RL adr. physique Table des pages (desc) 2 22 Version algorithmique de la correspondance : Exemple et discussion logique vers physique( adresse logique ) npl, dépl := adresse logique si (npl < RL) alors -- lecture de la table des pages, prot := mem[ npl + R ] si les protections prot sont respectées alors adresse physique :=, dépl renvoyer (adresse physique) sinon interruption sur violation de protection sinon interruption sur erreur d adressage 23 Un exemple avec deux processus : logique du processus Table des pages du processus vantages : Gestion mémoire plus simple (liste des pages libres) ompactage inutile Protections différentes pour chaque page pages physiques D F E G Table des pages du processus 2 logique du processus 2 D E F G Inconvénients : temps d accès doublé nécessite une PMMU (Page Memory Management Unit) 24

27 28 omportement des processus omportement «en moyenne» des processus : s associatives Principe des mémoires associatives : Non uniformité : 2% des pages regroupent 9% des accès Principe de localité : stabilité des accès sur une courte période l activité actuelle est une bonne estimation de l activité future 5 entre 6 et 52 5 échec Rapidité : les tests sont faits en parallèle (quelques nanosecondes) es circuits sont très couteux 25 26 s associatives et pagination Principe : retenir les derniers couples (page logique, page physique), pour éviter l accès mémoire à la table des pages. mémoire associative adr. logique npl succès dep onséquences : Il faut mettre à jour la mémoire associative après les échecs Il faut vider la mémoire associative lors des changement de processus Le taux de réussite est lié à la taille de la M.. (entre 8% et 95%)., 8 ( + 2) +, 2 ( + + 2) = 4 ns, 95 ( + 2) +, 5 ( + + 2) = 25 ns échec vérifier que npl < RL + prot dep R RL Table des pages (desc) adr. physique

Partage de pages entre processus segmentée logique du processus Pa Pb D D2 Table des pages du processus pages physiques Pa Pb D D2 D4 D5 D6 Table des pages du processus 2 logique du processus 2 Pa Pb D4 D5 D6 D7 Notion de segments, orrespondance des adresses, Partage de segments, Pagination d une mémoire segmentée, D7 Les pages contenant le programme (Pa et Pb) sont partagées, mais les pages de données (D,, D7) ne le sont pas. Les pages contenant le programme Pa et Pb sont partagées, tandis que les pages Dx ne le sont pas. Pour une même page physique, il est possible d avoir des protections différentes suivant le processus qui l utilise. 29 3 Notion de segments Un segment est un bloc de donnée de taille variable. Transformation des adresses segmentées Le S.E. détient une table des segments pour chaque processus. code L data 2 L 3 code 2 data 2 L2 L3 R taille prot L L 2 L2 3 L3 origine RL mémoire physique code 2 code table des segments (desc) Une adresse logique segmentée est un couple numéro de segment, déplacement ette organisation logique de la mémoire corresponds à l organisation logique à l intérieur d un programme. 3 32

35 36 Version algorithmique : adr. logique (32 bits) accès (2) 644 seg, depl := adresse logique si (seg < RL) alors -- lecture de la table des segments taille, prot, origine := mem[ R + seg ] si (depl < taille) alors si les protections prot sont respectées alors adresse physique := origine + depl sinon interruption sur violation de protection sinon interruption sur erreur d adressage sinon interruption sur erreur d adressage seg (7) 5 dep (5) 2 accès (2) non 5 < RL + R 32 bits taille (5) orig. (5) prot (2) 5 25 non 2 < 5? non PU 2 + (24 * 25) adr. physique (32 bits) déroutement 33 282 34 segmentée : discussion et partage Inconvénients : l allocation de segments implique un problème de fragmentation externe une obligation du tassage de la mémoire P P2 data code data 2 vantages : les protections concernent les segments on peut utiliser les mémoires associatives le partage de segment est simple taille prot origine table des segments de P taille prot origine table des segments de P2 data code data 2

Pagination d une mémoire segmentée adr. segmentée et paginée seg npl dep Une adresse segmentée et paginée est un triplet adr. physique numéro de segment, numéro de page, déplacement + vérifier que (npl < L) + dep La taille des segments s exprime maintenant en nombre de pages. R. de base L L Table des segments Table des pages du segment seg vantages : plus de problème de fragmentation interne puisque les segments ne sont plus contigus en mémoire physique. 37 38

3 4 virtuelle paginée : principe Fonction de pagination virtuelle : Principe : les programmes utilisent 2% de leur page, donc il est inutile de toutes les conserver en mémoire. virtuelle zone de pagination en mémoire secondaire Exemple : pp = processus de pages logiques ou 5 processus de ( x,2) pages utiles. physique Le système doit détecter (avec l aide du matériel) : Fonction de pagination les pages inutilisées (réquisition) les pages utiles et présentes en mémoire physique Défaut de page les pages utiles et absentes de la mémoire physique (défaut de page) 2 Hiérarchie de mémoire La mémoire virtuelle implante la gestion d un cache : dresses virtuelles versus adresses physiques Pour chaque processus, le système prépare une table des pages virtuelles (pointée par le registre de base) : ompilation Registres de la PU adr. virtuelle npv dep Gestion de la mémoire virtuelle cache (de la PU) cache (lente) centrale secondaire rapide Gestion de la mémoire cache Swapping in / out mémoire associative échec + présent succès modif prot secondaire standard dep secondaire lente (bandes,...) R RL adr. physique défaut de page si présent = Table des pages virtuelles (desc)

7 8 orrespondance des adresses (c est la partie matérielle de la pagination) : Un exemple sur deux processus transformation( adr : adresse virtuelle ) npv, depl := adr si (npv >= RL) interruption erreur d adressage -- lecture de la table des pages virtuelles présent, prot, := mem[ R + npv ] -- vérification des protections si prot non respectées interruption violation de protec. Processus D E présent modif - - - - H D?? E -- vérification de la présence si (présent = ) alors adresse physique :=, depl sinon interruption sur défaut de page Processus 2 F G H - s Tables des virtuelles pages virtuelles - F physique F G? Zone de pagination 5 6 Le traitement du défaut de page lgorithme de libération d une page : lgorithme du défaut de page : defaut de page( v : numéro de page virtuelle ) suspendre le processus qui a provoqué le défaut p := liberer une page physique(); charger la page virtuelle v dans la page physique p desc[v].présent := desc[v].modif := desc[v]. := p reprendre le processus qui a provoqué le défaut E/S liberer une page physique( ) si il existe une page physique p libre alors finir et renvoyer p v := choisir un page virtuelle victime p := desc[v]. si (desc[v].modif = ) alors sauver la page physique p desc[v].présent = ; renvoyer p; E/S

Pagination a plusieurs niveaux Organisation : Principe : Si la mémoire est importante le nombre de pages augmente et la table des pages devient imposante. adr. virtuelle nhyp npv dep mémoire associative succès Exemple : Une mémoire de 256 Mo (soit 2 28 octets) est divisée en 2 28 /2 = 2 8 pages. La table des pages a donc 2 8 entrées soit Mo. onséquence : malgré la pagination, nous devons allouer des ensembles de pages contigus pour les tables de pages. Solution : paginer la table des pages ce qui revient à faire une pagination à deux niveaux. R. de base + vérifier que npv < L + L présent présent adr. physique modif L Table des pages de l'hyperpage nhyp dep Table des hyperpages défaut de page si présent = Il peut y avoir jusqu à 5 niveaux de pagination. Dans ce cas temps d accès = (, 98 2) + (, 2 52) = 28 9 virtuelle segmentée et paginée Transformation des adresses : Discussion sur la taille des pages La taille des pages doit être grande pour adr. virtuelle paginée segmentée seg + page dep vérifier que page < L + prot origine mémoire associative présent succès adr. physique modif dep diminuer le nombre de pages, donc le nombre de défauts de page et la taille de la table des pages optimiser le temps de transfert vers ou depuis la zone de pagination utiliser des mémoires centrales de plus en plus grandes La taille des pages doit être petite pour R L Table des pages du segment seg L limiter la fragmentation interne définir avec plus de précision les pages utiles Table des segments défaut de page si présent = ctuellement la taille des pages varie entre ko et 32 ko. vantage : le processus est capable d informer le système d un changement dans le mode d utilisation d un segment. ertains systèmes autorisent plusieurs tailles différentes. 2

5 6 lgorithmes de remplacement Principe : On choisit en priorité les pages virtuelles propres (qui n ont pas été modifiées). lgorithmes : lgorithme optimale (base de référence) : choisir la page virtuelle qui est utilisée le plus tard possible ou qui n est plus utilisée. lgorithme aléatoire (le moins bon). lgorithme FIFO (il ne tient pas compte de l utilisation des pages). lgorithme LRU (Least Recently Used) est basé sur le principe de localité : choisir la page dont la date du dernier accès est la plus ancienne. Un exemple pour une mémoire physique à deux pages : 3 lgorithmes de remplacement (suite) lgorithme FINUFO (First In Not Used First Out) ou algorithme de la deuxième chance. On dispose d un pointeur global de page physique P d un bit d utilisation par page physique noté U[k] U[k] est forcé à après chaque accès à la page physique k lgorithme du choix de la victime FINUFO : choisir victime FINUFO () tant que (U[P ] = ) faire U[P ] := P := (P + ) mod N PGES PHYSIQUES fin faire U[P ] = victime := P P := (P + ) mod N PGES PHYSIQUES renvoyer victime ; omportement en mémoire virtuelle paginée 4 5 5 2 5 2 3 3 2 2 3 2 4 3 4 Nombre de défauts de page pointeur FINUFO bit FINUFO N de page virtuelle Performances : OPT > LRU > LFU > FINUFO > FIFO > LE Taille de la mémoire

9 2 llocation des pages physiques llocation équitable : On donne à chaque processus un part égale de la mémoire physique. Écroulement d un système paginé Définition : ugmentation considérable du nombre de défaut de page provoquant un chute du taux d utilisation de la PU. llocation proportionnelle : on donne à chaque processus un part proportionnelle à la taille de sa mémoire virtuelle. Taux d'utilisation de la PU Politique de choix de la victime : Virtuelles Physiques Processus 25 2 Processus 2 7 53 Processus 3 35 27 s 3 choix local : on choisit parmis les pages du processus demandeur. choix global : on choisit parmis tous les processus équilibrage des taux de défauts de page La méthode de l ensemble de travail L ensemble de travail d un processus au temps t noté W (t, T ) = ensemble des pages ayant été référencées entre t et (t T ) T est appelé la fenêtre d observation. Propriété : la probabilité que l une des pages de W(t, T ) soit référencée au temps (t + ) est forte. onséquence : si les pages physiques allouées à un processus ne peuvent contenir l ensemble de travail, le nombre de défauts de page sera important. Problème : il est très coûteux de maintenir un ensemble de travail pour chaque processus. 7 dégré de multiprogrammation Faible taux de PU plus de processus moins de mémoire plus de défauts baisse du Tx de PU pproximation de l ensemble de travail On utilise une approximation en associant n bits b,..., b n à chaque page physique. chaque accès à une page provoque la mise à du bit b associé régulièrement (sur interruption d horloge), le système décale les bits b,..., b n vers la droite et le bit b est forcé à zéro donc, les bits b,..., b n donnent un historique d utilisation de la page physique. P P P2...... Pn ---+------------------------- t t+ t+2 t+3 t+4 8 Une page physique appartient à W(t, T ) ssi il existe j < T tel que b j =.

La méthode du taux de défaut de page Le taux de défaut de page pour chaque processus doit être compris entre deux bornes. Si le taux est trop bas, alors le nombre de pages physiques allouées à ce processus est trop important. Si le taux est trop haut, alors le nombre de pages physiques allouées à ce processus n est pas suffisant pour contenir son ensemble de travail. Deux actions sont possibles : enlever des pages physiques au processus dont le taux est trop bas afin de les redistribuer au processus qui manque de pages physiques ; appliquer le swapping out de processus pour diminuer le degré de multiprogrammation, et libérer des pages. Tentative d égaliser les taux de défaut de page pour tous les processus. 2