Lezione T17 Algoritmi di sostituzione delle pagine

Documenti analoghi
GESTIONE DELLA MEMORIA CENTRALE

Memoria Virtuale. Sommario. Introduzione Paginazione su domanda. Rimpiazzamento delle pagine Allocazione dei frame

Sistemi operativi e distribuiti

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Memoria virtuale. Capitolo 9 - Silberschatz

Simuliamo ora il funzionamento di LRU sulla reference string data:

Capitolo 10: Memoria virtuale

Obiettivi! Memoria Virtuale! Memoria Virtuale > Memoria Fisica!

Memoria Virtuale. Background Paginazionesu richiesta Sostituzione delle pagine Algoritmi di sostituzione delle pagine Allocazione dei frame Thrashing

YYY02 Esercizi per Teoria. Esercizi per preparazione alla prova scritta

GESTIONE DELLA MEMORIA CENTRALE

Sistemi Operativi (modulo di Informatica II) La memoria virtuale

Sistemi Operativi Esercizi Gestione Memoria

Sistemi operativi 2/ed Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari Copyright 2008 The McGraw-Hill Companies srl

Descrivere i vantaggi di un sistema a memoria virtuale

esercizi memoria virtuale...

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Basi di Dati e Sistemi Informativi. Organizzazione fisica dei dati. Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale

Gestione della memoria. Algoritmi di rimpiazzamento Segmentazione

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

Memoria Virtuale. Sistemi operativi- AA 2015/16 1 1

Sistemi Operativi. 5 Gestione della memoria

Informatica 3. LEZIONE 20: Ordinamento esterno. Modulo 1: Organizzazione della memoria Modulo 2: Ordinamento esterno

Esercizio: memoria virtuale

Sistemi Operativi. La gestione delle risorse

Introduzione Definizioni

Memoria Virtuale. Considerazioni sulla paginazione e segmentazione

Memoria virtuale. Riassumendo Meccanismo di traduzione indirizzi con tabella TLB Ogni processo ha la sua PMT Politiche della memoria virtuale E

Sistemi operativi - Concetti ed esempi -Settima edizione

Sistemi Operativi: Prof.ssa A. Rescigno Anno Acc Esercitazione. Memoria virtuale

UNIVERSITÀ DEGLI STUDI DI BERGAMO

GESTIONE DELLA MEMORIA CENTRALE 6.1 D. - UNICAL

Sistemi Operativi Il Sistema Operativo Windows (parte 2)

SISTEMI OPERATIVI. La memoria virtuale. Prof. Luca Gherardi Prof.ssa Patrizia Scandurra (anni precedenti) (MODULO DI INFORMATICA II)

Gestione della memoria

Sistemi Operativi. Modulo 7: Gestione della memoria

Page replacement. Al page fault (PF) causato da un indirizzo virtuale nella pagina P, non presente in memoria, la pagina P va copiata su una frame.

8 bit per la parola nel blocco 10 bit per l insieme (gruppo) nella cache 12 bit di etichetta. Esercizio 3 Memoria Cache

Gestione della memoria per sistemi multiprogrammati. Obiettivi. Partizioni fisse. Partizioni fisse. Fondamenti di Informatica

9. Memoria Virtuale. 9. Memoria Virtuale. 9. Memoria Virtuale

Sistemi Operativi a.a Esercizi - 2

Sistemi Operativi. 10 LEZIONE MEMORIA VIRTUALE CORSO DI LAUREA TRIENNALE IN INFORMATICA. Sistemi Opertivi 2007/08

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Algoritmi

10. Memoria Virtuale. 10. Memoria Virtuale Le basi

Lezione 14 File system: preparazione

Strutture fisiche e strutture di accesso ai dati

Struttura interna del Sistema Operativo. 3. La gestione della memoria virtuale

if (a>c) d = d + 5; a = b + d + e; else e = e + 2; f = f + 2; c = c + f; b = a + f;

Memoria Virtuale. Lezione 29 Sistemi Operativi

Gestione della memoria. Introduzione Swapping Allocazione contigua Paginazione

SISTEMI OPERATIVI. Gestione della memoria Domande di verifica. Luca Orrù Centro Multimediale Montiferru 18/06/2007

Cognome: Nome: Matricola:

Cognome: Nome: Matricola: Sistemi Operativi A.A , prova scritta del 25 settembre 2008.

Il concetto di memoria virtuale. Struttura interna del Sistema Operativo. Memoria virtuale: indirizzi virtuali. Codifica Esadecimale

Memoria. Sistemi Operativi Giuseppe Prencipe. Memoria virtuale. Gestione della memoria. Paginazione su richiesta. Paginazione su richiesta

Memoria Virtuale. Lezione 6-7 Sistemi Operativi

Sistemi Operativi 9 luglio 2013 Compito

Calcolatori Elettronici

Esercizi su strutture dati

Sistemi Operativi. Lezione 3 Processi e Thread

AXO. Operativi. Architettura dei Calcolatori e Sistemi. memoria virtuale

Esercizi sulla memoria cache - Informatica 2 - L. Breveglieri 1

Sistemi operativi e distribuiti

Veloce e cara. Lenta e economica. I livelli di memoria. E il supporto del calcolatore per conservare dati e istruzioni (programmi) La memoria centrale

Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Abilità Informatiche Laurea in Fisica

Introduzione alle memorie cache. Cristina Silvano, 06/01/2013 versione 2 1

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

06/05/2009. Caratteristiche desiderabili Ampia capacità Velocità Economicità

La memoria virtuale. Operating System Concepts 9 th Edition

Gestione della Memoria Introduzione ai Sistemi Operativi Corso di Informatica Laurea in Fisica

Blocchi di più parole

Sistemi Operativi A.A. 2011/2012

Sistemi Operativi. C.d.L. in Informatica (laurea triennale) Anno Accademico Dipartimento di Matematica e Informatica Catania

Registri. Registri semplici

Gerarchie di memoria Memorie a componenti dinamici 1

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

Miglioramento delle prestazioni

La memoria virtuale 9.2. Sistemi Operativi a.a. A.A

Cognome e nome: Matricola: Posto:

Grafi: visita generica

Gestione della memoria

Organizzazione Fisica dei Dati (Parte II)

Sistemi Operativi 1. Mattia Monga. 11 marzo Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia

Memoria Virtuale. Alessandro A. Nacci ACSO 2014/2014

Lezione 3. Sommario. Le operazioni aritmetiche binarie. L aritmetica binaria. La somma La sottrazione La moltiplicazione

Università degli Studi di Cassino

Lezione 3 Sistemi Operativi e misure di performance. Parleremo di

= 0, 098 ms. Da cui si ricava t 2 medio

9. Memoria Virtuale. 9.1 Memoria Virtuale: introduzione

Sistemi Operativi Gestione della Memoria (parte 3)

SISTEMI OPERATIVI E LABORATORIO (Indirizzo Sistemi e Reti) 5 luglio 2004

Gestione della Memoria

Gerarchie di memoria Politiche di rimpiazzo dei blocchi

Web caching. Corso di Applicazioni Telematiche. A.A Lezione n.3 - parte I Prof. Roberto Canonico

La memoria-gerarchia. Laboratorio di Informatica - Lezione 3 - parte I La memoria - La rappresentazione delle informazioni

Esercitazione E2 Memoria virtuale

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Bootstrap. Bootstrap. Shutdown. Struttura di un SO. Elementi principali di un SO:

INDICI PER FILE. Accesso secondario. Strutture ausiliarie di accesso

Rappresentazione dell informazione

Transcript:

Lezione T17 Algoritmi di sostituzione delle pagine Sistemi Operativi (9 CFU), CdL Informatica, A. A. 2013/2014 Dipartimento di Scienze Fisiche, Informatiche e Matematiche Università di Modena e Reggio Emilia http://weblab.ing.unimo.it/people/andreolini/didattica/sistemi-operativi 1

Quote of the day (Meditate, gente, meditate...) The running time of programs in a paging machine generally increases as the store in which programs are constrained to run decreases. Experiments, however, have revealed cases in which the reverse is true: a decrease in the size of the store is accompanied by a decrease in running time. Laszlo Belady (1928-) Ingegnere meccanico ed aeronautico Pioniere degli algoritmi di caching 2

INTRODUZIONE 3

Il modello di sistema considerato (Lo scenario su cui valutare gli algoritmi) Si consideri un sistema con le seguenti caratteristiche. SO con demand paging e sostituzione delle pagine. Esiste un solo tipo di page fault: il major page fault. Tre frame rimasti liberi da allocare. Il SO è soggetto alla sequenza di accessi alle pagine (indirizzi semplificati) 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1 4

Gli algoritmi considerati (FIFO è il peggiore, come al solito) FIFO. Ottimale. LRU. Approssimazioni di LRU. 5

Criterio di valutazione (Numero di page fault) Il criterio di valutazione è il numero di page fault. Tanto è minore il numero di page fault, tanto più efficace è l'algoritmo. 6

ALGORITMO FIFO 7

First In, First Out (La pagina vittima è quella presente in memoria da più tempo) Funzionamento: Ad ogni pagina si associa l'istante temporale (timestamp) di caricamento in memoria. Non è necessario calcolare esplicitamente il timestamp; si può costruire una coda FIFO con I puntatori alle strutture delle pagine inserite in memoria. La pagina vittima è quella presente in memoria centrale da più tempo (o in testa alla coda). Quando una pagina è acceduta, viene inserita in fondo alla coda. T17-simulazione-FIFO_luc.pdf 8

FIFO: vantaggi (Perché implementare ed usare FIFO) È un algoritmo semplice da implementare. Il più semplice. È eseguibile su piattaforme hardware non dotate di clock hardware. 9

FIFO: svantaggi (Perché NON implementare e NON usare FIFO) Le prestazioni sono pessime se la memoria è acceduta ciclicamente con frequenza minore rispetto a quella di rimpiazzo. L'algoritmo FIFO soffre di una particolare anomalia, detta anomalia di Belady. 10

Anomalia di Belady (La frequenza di page fault aumenta con il numero di frame liberi) Anomalia di Belady: la frequenza di page fault può aumentare con il numero di frame disponibili al SO. Fenomeno scoperto nel 1969 da un ricercatore ungherese, Laszlo Belady. Risultato controintuitivo: se si ha più memoria libera, ci si aspetta di ridurre i page fault! 11

Un esperimento (Che mostra l'anomalia in azione) Si consideri la sequenza di riferimenti: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 Tale sequenza presenza un pattern di accesso ciclico ad 1, 2, 3 e 4, opportunamente distanziato. Si calcola il numero di page fault (sostituzioni) ottenuti dando in pasto la sequenza di riferimenti a FIFO con 1, 2, 3, 4, frame liberi. T17-simulazione-Belady.odp 12

Visualizzazione dell'anomalia (Salta subito agli occhi) Si grafica il numero di page fault ottenuti in ciascun esperimento, in funzione del numero di frame liberi. Si dovrebbe vedere una zona per cui il grafico è crescente. 13

Frequenza page fault vs. frame liberi Numero di page fault 12 11 10 9 8 7 6 5 4 3 2 1 (Eccolo, il grafico) 1 2 3 4 5 6 7 All'aumentare del numero di frame liberi, il numero di page fault aumenta! Numero di frame liberi 14

Perché si verifica l'anomalia? (Accesso ciclico distanziato + FIFO senza memoria = page fault continui) Un processo richiede consecutivamente un insieme di pagine in maniera ciclica. L'insieme delle pagine richieste ciclicamente ha una dimensione uguale o maggiore del numero di frame fisici liberi. Le sequenze cicliche sono distanziate in modo tale che FIFO perda memoria delle pagine accedute in precedenza. Può capitare che FIFO stronchi di continuo le pagine accedute al passo successivo. Con il numero di frame può aumentare anche il 15 numero di sostituzioni (page fault).

ALGORITMO OTTIMALE 16

OPT (La pagina vittima è quella che sarà acceduta nel futuro più lontano) Funzionamento: La pagina vittima è quella che non sarà acceduta per il più lungo periodo di tempo nel futuro. T17-simulazione-OPT.pdf 17

OPT: vantaggi (Perché implementare ed usare OPT) L'algoritmo OPT minimizza il numero di page fault in ogni scenario. L'algoritmo OPT elimina l'anomalia di Belady. 18

OPT: svantaggi (Perché NON implementare e NON usare OPT) L'algoritmo OPT è impossibile da implementare! Il kernel non è in grado di prevedere il futuro. Si confronti quanto detto per SJF. L'algoritmo OPT è utile come pietra di paragone per gli altri algoritmi. Più ci si allontana da OPT in termini di page fault, più l'algoritmo è peggiore. 19

Perché minimizza i page fault? (Si mantengono le pagine con probabilità di accesso più elevata possibile) Si elimina la pagina meno utilizzata nel futuro. Le pagine rimanenti hanno la probabilità più alta di essere accedute. Si massimizza la probabilità di trovare una pagina in memoria centrale. Si minimizza la probabilità di avere un page fault. Si minimizza il numero di page fault. 20

Perché non ha l'anomalia di Belady? (Perché vede nel futuro) Le pagine accedute ciclicamente non hanno la probabilità di accesso più bassa (altrimenti, non sarebbero accedute ciclicamente). L'algoritmo ottimale vede nel futuro e, una volta portatele in memoria centrale, non le seleziona più come vittime. 21

Cosa succede aggiungendo frame? (La frequenza di page fault non può aumentare) Si supponga di aggiungere frame liberi al SO. Il SO è in grado di tenere stabilmente in memoria centrale più pagine accedute ciclicamente. Queste non provocano più page fault di quanti ne venivano provocati con meno pagine. Le altre pagine accedute meno frequentemente tendono a non essere rimosse più dalla memoria. Queste non provocano più page fault di quanti ne venivano provocati con meno pagine. 22

Una approssimazione di OPT (Si trasla all'indietro il tempo, virtualmente) La differenza fondamentale fra FIFO e OPT è la seguente. L'algoritmo FIFO guarda all'istante in cui la pagina è stata caricata in memoria centrale. L'algoritmo ottimale guarda all'istante in cui la pagina verrà usata. Si può tentare il seguente esperimento concettuale; sostituire la frase: non verrà usata per il periodo più lungo con la frase è stata usata di meno nel passato recente. 23

Perché dovrebbe funzionare? (Per via del principio di località degli accessi) Il processo che esegue un programma ben scritto segue il principio di località spazio-temporale. Il codice appena acceduto ha elevata probabilità di essere acceduto nuovamente nell'immediato futuro. Il codice spazialmente vicino a quello appena acceduto ha elevata probabilità di essere acceduto. In tali condizioni, il processo tenderà a comportarsi, nel futuro, come si è comportato nel passato. Programma ben scritto: un programma il cui 24 flusso è sequenziale a grandi tratti.

ALGORITMO LRU 25

Least Recently Used (La pagina vittima è quella acceduta di meno nel passato) Funzionamento: Si associa a ciascuna pagina l'istante in cui è stata acceduta per l'ultima volta. La pagina vittima è quella acceduta di meno negli ultimi k accessi di memoria. T17-simulazione-LRU_luc.pdf 26

LRU: vantaggi (Perché implementare ed usare LRU) L'algoritmo LRU è nettamente migliore di FIFO. L'algoritmo LRU non è così distante da OPT. L'algoritmo LRU elimina l'anomalia di Belady. 27

LRU: svantaggi (Perché NON implementare e NON usare LRU) L'algoritmo LRU può sostituire pagine inattive da tempo in procinto di essere accedute nuovamente. L'algoritmo LRU richiede un supporto hardware per la marcatura efficiente dell'ultimo istante di uso delle pagine. 28

Supporto hw per LRU: contatori d'uso (La CPU scandisce un tempo virtuale ) Si introduce nell'elemento della tabella delle pagine un campo, detto istante d'uso. Si aggiunge alla CPU un registro contatore che si incrementa di uno ad ogni riferimento alla memoria. Ad ogni riferimento di pagina si copia il valore del registro contatore nel campo istante d'uso. 29

Contatori d'uso: vantaggi e svantaggi (LRU è facile da implementare, ma inefficiente) Vantaggi. LRU si traduce in una semplice scansione della tabella delle pagine, alla ricerca dell'elemento con l'istante d'uso più piccolo. Svantaggi. Si richiede una scansione lineare della tabella. Si richiede una scrittura in memoria per ogni accesso. È necessario gestire gli overflow del contatore. 30

Supporto hw per LRU: stack (In cima pagina più recente, in coda pagina meno recente) Si introduce nella CPU una implementazione microprogrammata di uno stack di lunghezza finita. Gli elementi dello stack sono numeri di pagina. Ad ogni riferimento di pagina si estrae (se esiste) il numero di pagina dallo stack e si piazza in cima. 31

Funzionamento dello stack (Prima e dopo l'accesso ad una pagina) Sequenza di accessi 4 7 0 7 1 0 1 2 1 2 7 1 2 2 1 0 7 4 7 2 1 0 4 a b Stack prima di a Stack dopo b 32

Stack: vantaggi e svantaggi (Si trova subito la pagina LRU, ma a che costo!) Vantaggi. L'individuazione della pagina meno recente è molto efficiente (coda dello stack). Svantaggi. È possibile l'estrazione in mezzo allo stack serve una lista collegata di elementi, con puntatori speciali alla cima ed alla coda. 33

Algoritmi basati su stack (Eliminano l'anomalia di Belady) Gli algoritmi OPT e LRU non soffrono dell'anomalia di Belady. È un caso? No! Entrambi gli algoritmi fanno parte di una classe più ampia di algoritmi di sostituzione (stack algorithm) che non subiscono mai l'anomalia di Belady. Uno stack algorithm gode della seguente proprietà. Se S(n)=insieme delle pagine mantenute in memoria con n frame, allora S(n) S(n+1). 34

APPROSSIMAZIONI DI LRU 35

Uso di un bit di riferimento (Ciò che veramente fornisce l'hardware odierno) Quasi nessuna architettura hardware fornisce I registri contatore/clock o uno stack per la gestione efficiente dell'ordinamento temporale in LRU. Per evitare l'uso di FIFO, si usa un bit di riferimento. Bit presente nell'elemento della tabella delle pagine. Bit impostato ad 1 dall'hardware ogniqualvolta la pagina corrispondente viene acceduta. Inizialmente, tutti i bit di riferimento sono 36 azzerati.

Le limitazioni di un singolo bit (Un bit è poco) Con un solo bit di riferimento: si possono distinguere le pagine accedute da quelle non accedute. non si riesce a ricostruire l'ordine temporale di accesso alle pagine. Servono più bit di riferimento. 37

Uso di più bit di riferimento (Più bit consentono di ricostruire la storia degli accessi) IDEA: si registrano più bit di riferimento ad intervalli regolari. Ad esempio, ciascun elemento della tabella delle pagine contiene un byte di riferimento, segnaposto per 8 bit di riferimento. Storia dell'uso della pagina negli ultimi 8 intervalli di campionamento. 00000000: la pagina non è stata acceduta negli ultimi 8 intervalli di campionamento. 11111111: la pagina è stata acceduta in ciascuno degli ultimi 8 intervalli di campionamento. 38

Aggiornamento dei bit (Ad ogni interruzione di clock) Ad intervalli di campionamento regolari (ad esempio, ogni 100ms), il clock di sistema genera una interruzione. La relativa Interrupt Service Routine invoca, fra le altre, una routine di aggiornamento dei bit di riferimento. Shift del byte di riferimento di 1 bit verso il Least Significant Bit. Inserimento del valore del bit di riferimento nel Most Significant Bit. 39

Approssimazione di LRU (Con otto bit di riferimento) Prima della routine di aggiornamento LSB MSB 0 1 0 0 1 1 0 0 8 intervalli fa adesso Dopo la routine di aggiornamento LSB 1 0 0 1 1 0 0 1 MSB Tabella delle pagine... 1 Bit di riferimento della pagina shift 8 intervalli fa adesso 40

Considerazioni 1/2 (Per semplificarsi la vita) I byte di riferimento possono essere interpretati come numeri interi unsigned. In tal caso, la pagina acceduta meno recentemente (LRU) è quella avente il valore del byte di riferimento più piccolo. Non è assolutamente garantita l'unicità dei valori dei byte di riferimento. Ad un dato istante, possono esistere più pagine accedute meno recentemente. Possono essere rimpiazzate tutte. Se ne può scegliere una con il criterio FIFO. 41

Considerazioni 2/2 (Per semplificarsi la vita) Solitamente, il numero di bit di riferimento è pari alla lunghezza della parola definita dall'architettura. In tal modo, le operazioni di shift e di inserimento sono velocissime. Si può anche decidere di non usare alcun contenitore di bit di riferimento! Si fa uso del solo bit di riferimento. Algoritmo second chance. 42

Second Chance (Clock) (La pagina vittima è quella presente in memoria da più tempo e non riferita) Variante dell'algoritmo FIFO. Funzionamento: Si sceglie la pagina presente in memoria centrale da più tempo, come in FIFO. Si controlla il bit di riferimento di tale pagina. Bit = 0: si sostituisce la pagina. Bit = 1: si azzera il bit di riferimento della pagina e si aggiorna il suo istante di arrivo a quello attuale. si passa alla pagina successiva in ordine FIFO. 43

Motivazione dell'algoritmo (Perché si dà una seconda chance alla pagina) Se ad una pagina è data una seconda chance, essa non sarà sostituita: fino a quando tutte le altre pagine non siano state sostituite. oppure fino a quando tutte le altre pagine non abbiano avuto la loro seconda chance. Se una pagina è acceduta ciclicamente con frequenza sufficientemente elevata, ottiene sempre una seconda chance e non viene mai sostituita. 44

Implementazione tramite lista circolare (Implementazione efficiente) Si usa una coda circolare di pagine, detta clock. Un puntatore indica la prossima pagina candidata vittima. Quando occorre liberare un frame fisico: il puntatore scorre la coda fino a quando non trova una pagina con il bit impostato a 0. durante l'avanzamento del puntatore, tutti i bit di riferimento vengono reimpostati a 0. La pagina con il bit impostato a 0 è la vittima; essa viene rimossa e sostituita dalla nuova pagina 45

Funzionamento della lista circolare bit di riferimento 0 pagine (Scelta della vittima) bit di riferimento 0 pagine prossima vittima 0 1 1 0 0 0 0 1 vittima 0 1 1 1 46

Second Chance: vantaggi e svantaggi (Second Chance è efficiente, tranne in un caso in cui degenera in FIFO) Vantaggi. L'implementazione è efficiente. Svantaggi. Nel caso peggiore (tutti i bit impostati ad 1), viene scandita l'intera coda, dando ad ogni pagina una seconda chance. Second chance degenera in FIFO. 47

Second Chance migliorato (La vittima è quella in memoria da più tempo, non riferita e non modificata) Si considera la coppia ordinata di bit seguente. (bit di riferimento, bit di modifica) (0,0): pagina né recentemente usata né recentemente modificata; la migliore candidata alla sostituzione. (0,1): pagina non usata recentemente, ma modificata; non è una buona candidata perché prima andrebbe sincronizzata su disco. (1,0): pagina usata recentemente ma non modificata; non è una buona candidata perché sarà usata presto, probabilmente. (1,1): pagina usata e modificata recentemente; pessima candidata, perché sarà utilizzata nel prossimo futuro e dovrà 48 essere scritta su swap.

Algoritmi basati su contatore: LFU (La pagina vittima è quella con il conteggio di riferimento più basso) Algoritmo Least Frequently Used (LFU). Si sostituisce la pagina con il conteggio di riferimento più basso. Vantaggi. Si sostituisce una pagina poco utilizzata e si lasciano in memoria quelle usate. Svantaggi. Se una pagina è usata molto all'inizio e poi non più, rimane in memoria. Esempio: codice di inizializzazione. 49

Algoritmi basati su contatore: MFU (La pagina vittima è quella con il conteggio di riferimento più alto) Algoritmo Most Frequently Used (MFU). Si sostituisce la pagina con il conteggio di riferimento più alto. Vantaggi. Si lasciano in memoria le pagine con il contatore più basso, ossia quelle presumibilmente appena inserite e, di conseguenza, ancora non usate. Svantaggi. Si rischia la sostituzione di una pagina usata spesso. 50