La gestione dell’I/O coinvolge direttamente molte componenti del sistema operativo
Sottosistema di ambiente
Per permettere portabilità delle applicazioni;
Il gestore dell’I/O
Executive (componente del kernel) che interagisce con i driver e verifica la disponibilità del dispositivo;
Driver dei dispositivi
Organizzati secondo una pila;
Gestore del Plug and Play
Che riconosce e alloca dinamicamente i dispositivi;
Gestore dell’alimentazione.
Utile nei portatili per spegnere dispositivi non utilizzati.
Driver dei dispositivi:
Driver di alto livello:
Driver intermedio (o di classe):
Driver di basso livello:
Windows Vista è l’evoluzione di WindowsXP…
… ma non è un sistema operativo “rivoluzionario”
Adeguamento e ottimizzazione degli executive per i processi, la memoria, il file system …
Soprattutto nuove funzionalità di alto livello, ma anche il kernel ha subito modifiche
↓
Windows Vista non è WindowsXP con
una nuova interfaccia grafica e qualche gadget in più
Lo scheduler di Windows XP contabilizza l’uso della CPU sulla base di un intervallo di clock multiplo di un tick (1 ms):
Inoltre eventuali cambi di contesto (dovuti ad interruzioni) vengono contabilizzati a carico del thread.
Ogni thread acquisisce la CPU per almeno un turno completo.
Inoltre:
Contabilizzazione più accurata
Nuovo servizio che da precedenza ai thread delle applicazioni multimediali:
I thread si “dichiarano multimediali”:
Thread multimediali possono prendere fino all’ 80% del tempo di CPU.
Allocazione dello spazio di indirizzamento virtuale del sistema:
↓
PROBLEMI
Allocazione dello spazio di indirizzamento virtuale del sistema in Windows Vista:
↓
VANTAGGI
La memoria virtuale di Windows XP:
↓
PROBLEMI
Tecnologia che precarica al momento del boot e tiene sempre in memoria centrale le pagine delle applicazioni più usate:
Scenari sofisticati:
Esempio:
↓
SuperFetch precarica automaticamente la memoria
SuperFetch include sia il modo kernel sia il modo utente.
Viene creata un’area sul disco per conservare uno “warm state memory“.
Analizza le azioni effettuate dall’utente e si appunta le applicazioni avviate con più frequenza.
Svantaggio
Microsoft consiglia almeno 1 GB di memoria centrale per osservare una maggiore reattività dei programmi.
La tecnologia SuperFetch si basa su una considerazione:
La memoria centrale non è solo il supporto
da cui la CPU preleva i dati e le istruzioni,
ma anche una cache per il supporto di memorizzazione secondaria
↓
Esaltazione del ruolo di cache della memoria centrale
Problema: la memoria centrale è ideale per il caching dei dati ma è costosa e non sempre è possibile aggiungerla ad un sistema.
Soluzione: le memorie esterne flash sono più economiche della memoria centrale e al tempo stesso più veloci del disco nel caso di accesso casuale.
↓
usare le memorie flash come cache tra il disco e la memoria centrale
(tecnologia ReadyBoost)
Recentemente sono apparsi sul mercato gli Hybrid Hard Drive (H-HD) che includono una memoria cache non volative (NV cache) tipicamente di 256 MB – 1 GB.
Tale memoria può essere usata per conservare dati SuperFetch, dati relativi al boot, info sui file ibernati.
Il s.o. riconosce automaticamente questo tipo di dischi e gestisce l’NV Cache (tecnologia Ready Drive).
Vantaggi:
ReadyBoost e ReadyDrive enfatizzano il ruolo delle cache al fine di ottenere migliori prestazioni.
L’efficacia di tali tecnologie dipende fortemente da come si riesce a prevedere quali saranno i dati più utili in un prossimo futuro.
Analogamente al problema degli algoritmi di paginazione, tali tecnologie usano strategie LRU-like.
Inizialmente per Windows Vista era previsto un nuovo file system WinFS costruito sulla base di NTFS.
La complessità del progetto ha reso necessario però un rinvio del rilascio e a oggi ancora non si sa se verrà implementato nelle future versioni.
Windows Vista e’ basato quindi su una evoluzione di NTFS di Windows XP.
La principale differenza è:
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.