Executive responsabile della gestione della memoria.
Le pagine di un processo sono divise tra la memoria centrale e il disco, in 16 strutture chiamate pagefile.
32 bit di indirizzamento : 4GB di spazio di indirizzamento virtuale:
Frame di dimensione fissa di 4KB
Tabella delle pagine a due livelli
1. Elenco delle tabelle delle pagine:
2. Tabella delle pagine
3. Frame in memoria
I registri associativi (TLB ) possono accelerare la traduzione degli indirizzi.
32 bit:
Bit di protezione:
Bit di stato:
Per tenere traccia dell’uso della memoria il sistema classifica i frame in 8 stati differenti e mantiene una lista per ogni stato.
Valido: la pagina memorizzata appartiene al working set di un processo;
Transizione: la pagina memorizzata sta per essere trasferita sul disco;
Modificato: la pagina memorizzata è stata rimossa dal w.s. di un processo ma non è ancora coerente con la copia sul disco;
In attesa: il frame contiene una pagina che è stata rimossa dal working set di un processo;
Modificato ma da non scrivere: la pagina è stata rimossa dal w.s. di un processo e non è coerente con la copia sul disco. Per motivi di coerenza del file system è necessario prima annotare la modifica;
Libero: il frame non contiene pagine valide;
Azzerata: il frame ha tutti i bit azzerati e non fa parte di nessun w.s.;
Bad: il frame ha generato un errore.
Windows XP utilizza un modello ibrido di sostituzioine delle pagine:
Working set + Localized Least recently used (LLRU)
Vengono assegnati ad ogni processo
Quando un processo richiede più pagine del working set massimo il VMM sposta una pagina sul disco secondo la politica LLRU.
Localized: politica focalizzata sul singolo processo.
Elimina tutte le pagine che eccedono la dimensione del working set massimo
Le pagine ridotte vengono spostate nella
La pagina viene spostata nuovamente nella lista delle pagine valide in caso di nuovi riferimenti (soft fault).
La pagina viene spostata nella lista delle pagine libere se non viene più referenziata per un certo periodo di tempo.
Un thread di sistema a bassa priorita’ la azzera e la sposta nella lista delle pagine azzerate.
Le pagine per i nuovi processi vengono prese dalla lista delle pagine azzerate.
Non tutte le pagine possono essere rimosse dalla memoria. La memoria è divisa in due segmenti.
Memoria paginata:
Memoria non paginata:
Il sistema impiega una paginazione su richiesta.
Gruppi di pagine sono memorizzati in cluster nei pagefile.
In caso di page fault, Windows carica in memoria tutto il cluster che contiene la pagina richiesta.
Principio di località spaziale (se serve una pagina, forse a breve serviranno anche quelle vicine).
Paginazione su richiesta clusterizzata.
Il primo file system di Windows era basato su una allocazione tabellare (File Allocation Table).
Principali problemi: frammentazione, inefficienza.
Esempio: disco di 32 Gbyte
Nei s.o. Windows NT, 2000, XP e Vista, il file system principale è
New Technology File System = NTFS
La struttura fondamentale di NTFS è il volume:
Nel caso di piu’ dischi e’ possibile utilizzare tecniche RAID per gestire il volume.
NTFS utilizza i clusters come unità di allocazione del disco
Poiche’ per dischi grandi la dimensione dei cluster e’ molto minore di quella della FAT (32KB), la frammentazione interna è ridotta.
Tutti le informazioni che riguardano il volume, sono organizzati in 11 file regolari (metafile) che risiedono in una posizione prefissata (occupano i primi cluster, la MFT zone).
Metafile:
Dato che la MFT è un file residente nel file system esso può ingrandirsi e rimpicciolirsi, e quindi frammentarsi.
Il programma di deframmentazione non può agire sui metafile.
Per evitare la frammentazione, NTFS crea una regione di cluster attorno alla fine della MFT dove file e directory normali non possono essere memorizzati (circa il 15% del disco).
il file $MFTMIRR è memorizzato al centro del volume.
Composta da record di dimensione fissa (1 KB);
Ogni file è rappresentato da almeno un record nella tabella;
Le informazioni di un file sono organizzate in attributi:
Attributo = (intestazione ; dati)
Esempi di attributi:
nome del file, data di creazione, proprietario, dati del file
Se il file è sufficientemente piccolo gli attributi del file sono memorizzati direttamente nei record della MFT
Attributi residenti
Se il file è molto grande opportuni attributi puntano ai cluster che contengono i dati del file
Attributi non residenti
↓
NTFS usa quindi un tipo di allocazione indicizzata
Tutte le modifiche alle strutture dati sono eseguite come transazioni:
Journaled file system
2. Lo stallo dei processi – parte prima
3. Lo stallo dei processi – parte seconda
4. Lo stallo dei processi – parte terza
6. Il S.O. Linux – parte prima
7. Il S.O. Linux – parte seconda
8. Il S.O. Windows – parte prima
9. Il S.O. Windows – parte seconda
10. Il S.O. Windows – parte terza
11. I S.O. multimediali – parte prima
12. I S.O. multimediali – parte seconda
13. I S.O. multimediali – parte terza
14. I Sistemi Operativi distribuiti - parte prima
15. I Sistemi Operativi distribuiti - parte seconda
16. I Sistemi Operativi distribuiti - parte terza
17. I Sistemi Operativi distribuiti - parte quarta
18. I Sistemi Operativi distribuiti - parte quinta
19. I Sistemi Operativi distribuiti - parte sesta
Silberschatz , Galvin, Gagne – Sistemi Operativi 8a ed. Capitolo 22
Tanenbaum – Moderni sistemi operativi 3a ed. Capitolo 11
Deitel, Deitel, Choffnes - Sistemi operativi 3a ed. Capitolo 16
2. Lo stallo dei processi – parte prima
3. Lo stallo dei processi – parte seconda
4. Lo stallo dei processi – parte terza
6. Il S.O. Linux – parte prima
7. Il S.O. Linux – parte seconda
8. Il S.O. Windows – parte prima
9. Il S.O. Windows – parte seconda
10. Il S.O. Windows – parte terza
11. I S.O. multimediali – parte prima
12. I S.O. multimediali – parte seconda
13. I S.O. multimediali – parte terza
14. I Sistemi Operativi distribuiti - parte prima
17. I Sistemi Operativi distribuiti - parte quarta
18. I Sistemi Operativi distribuiti - parte quinta
19. I Sistemi Operativi distribuiti - parte sesta
I podcast del corso sono disponibili anche su iTunesU e tramite Feed RSS.