Gli algoritmi di avvicendamento delle pagine
Viene sostituita la pagina presente in memoria da piu’ tempo
Esempio: processo di 8 pagine (0,..,7)
3 frame (3 pagine per ciascun processo possono trovarsi in memoria contemporaneamente).
Idea di base: una pagina presente in memoria da molto tempo non verra’ piu’ refernziata
Vantaggi:
Svantaggi
Viene sostituita la pagina che non verrà usata per il periodo di tempo più lungo.
Esempio: 4 frame, con stringa dei riferimenti 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
Si puo’ dimostrare che minimizza il numero di page faults
Problema: Come si può conoscere l’identità della pagina?
Di solo interesse teorico: viene impiegato per misurare le prestazioni (comparative) degli algoritmi con valenza pratica
Esempio: FIFO/OPT = 10/6 = 1.67 ⇒ FIFO 67% piu’ lento di OPT
Con la stessa sequenza l’algoritmo FIFO produce 15 page faults
FIFO/OPT = 15/9 = 1.66 ⇒ FIFO 66% piu’ lento di OPT
Viene sostituita la pagina che non e’ referenziata da piu’ tempo
Esempio: 4 frame con stringa di riferimenti 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
LRU/OPT = 8/6 = 1.33 ⇒ LRU 33% piu’ lento di OPT
migliori prestazioni rispetto all’algoritmo FIFO ma con un maggiore overhead
Favorisce i processi che esibiscono il principio di localita’ temporale
Implementazione con registro
Implementazione con lista:
Idea di base: una pagina presente in memoria che non e’ referenziata da molto tempo non verra’ piu’ referenziata
Vantaggi:
Svantaggi
Viene sostituita la pagina meno frequentemente utilizzata
Esempio: 4 frame con stringa di riferimenti 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
LFU/OPT = 8/6 = 1.33 ⇒ LFU 33% piu’ lento di OPT
Idea di base: una pagina presente in memoria che non e’ molto referenziata sara’ poco referenziata anche in futuro
Vantaggi:
Svantaggi
Il principale difetto dell’algoritmo FIFO e’ che sostituisce pagine presenti in memoria da molto tempo e che potrebbero essere molto utilizzate
IDEA: dare una seconda opportunita’ alle pagine prima di essere rimosse
Implementazione con un bit di accesso
Quando una pagina viene referenziata si pone bit=1
Quando le pagine raggiungono la testa della lista
Modello “working set”
Avvicendamento “Page Fault Frequency (PFF)”
Numero di frame variabile (allocazione variabile di frame)
Il working set di un processo W(t, w), e’ l’insieme delle pagine referenziate dal processo nell’intervallo di tempo [t – w , t ]
Il working set di un processo e’ caratterizzato da
La dimensione del working set cresce asinoticamente al crescere di w
I metodi di avvicendamento basati sul modello del working set, allocano in memoria solo le pagine del processo appartenenti ai working set con w fissato
Problema: Dimensione di w
Si stabilisce una frequenza di page fault “accettabile”.
La strategia PFF ha alcuni vantaggi sul metodo basato su w.s. puro
Struttura dei programmi C
1. Storia ed evoluzione dei sistemi operativi
2. Struttura dei sistemi operativi
3. Interazione tra hardware e sistemi operativi
4. La rappresentazione dei processi
6. I Thread
7. Lo scheduling dei processi: introduzione e primi esempi
9. La sincronizzazione dei processi
10. I semafori
11. Allocazione contigua dei processi in memoria centrale
12. Allocazione non contigua dei processi in memoria centrale
14. Gli algoritmi di avvicendamento delle pagine
16. I sistemi RAID
17. L'organizzazione logica dei file system
18. L'organizzazione fisica dei file system
1. Storia ed evoluzione dei sistemi operativi
2. Struttura dei sistemi operativi
3. Interazione tra hardware e sistemi operativi
4. La rappresentazione dei processi
6. I Thread
7. Lo scheduling dei processi: introduzione e primi esempi
9. La sincronizzazione dei processi
10. I semafori
11. Allocazione contigua dei processi in memoria centrale
12. Allocazione non contigua dei processi in memoria centrale
16. I sistemi RAID
17. L'organizzazione logica dei file system
18. L'organizzazione fisica dei file system
I podcast del corso sono disponibili anche su iTunesU e tramite Feed RSS.