Vai alla Home Page About me Courseware Federica Living Library Federica Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica
 
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Marco Lapegna » 10.Il S.O. Windows – parte terza


Gestione dell’I/O

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 dei dispositivi:

  • Organizzati secondo una pila;
  • Ogni livello esporta funzioni verso l’alto.

Driver di alto livello:

  • Fornisce l’interfaccia ai processi utente;
  • Es: NTFS.

Driver intermedio (o di classe):

  • Implementa servizi comuni a dispositivi con caratteristiche simili;
  • Es: modulo che implementa il tipo di allocazione dei file.

Driver di basso livello:

  • Interagisce con HAL e controlla il dispositivo;
  • Es: driver di un disco di un particolare modello.

WOW…… Arriva Windows Vista

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ù

Processi e threads

Lo scheduler di Windows XP contabilizza l’uso della CPU sulla base di un intervallo di clock multiplo di un tick (1 ms):

  • Tipicamente 10-15ms risoluzione;
  • Soluzione non sempre equa.

Inoltre eventuali cambi di contesto (dovuti ad interruzioni) vengono contabilizzati a carico del thread.


Miglioramenti in Windows vista

Ogni thread acquisisce la CPU per almeno un turno completo.

Inoltre:

  • Uso della CPU da parte dei threads al netto delle interruzioni;

Contabilizzazione più accurata


Classe di scheduler Multimedia

Nuovo servizio che da precedenza ai thread delle applicazioni multimediali:

  • Usato in Windows Media Player 11

I thread si “dichiarano multimediali”:

  • Viene definita la priorità

Thread multimediali possono prendere fino all’ 80% del tempo di CPU.


Allocazione memoria al kernel (Windows XP)

Allocazione dello spazio di indirizzamento virtuale del sistema:

  • Partizioni di dimensioni fisse;
  • Allocato al momento del boot sulla base di informazioni del registro.

PROBLEMI

  • Boot più lento;
  • Funzionalità caricate in memoria anche se non usate;
  • Reboot in caso di modifica di configurazione.

Allocazione memoria al kernel (Windows Vista)

Allocazione dello spazio di indirizzamento virtuale del sistema in Windows Vista:

  • Partizioni di dimensioni variabili;
  • Allocazione on demand della tabella delle pagine del kernel.

VANTAGGI

  • Maggiore flessibilità;
  • Maggiore efficienza.

Un problema con la memoria virtuale

La memoria virtuale di Windows XP:

  • conserva in memoria centrale le pagine delle applicazioni più usate nell’intervallo di tempo recente (politica LRU);
  • Porta sul disco nell’area di swap quelle meno usate quando la memoria scarseggia;
  • Riporta in memoria l’applicazione quando viene riutilizzata.

PROBLEMI

  • La memoria centrale è volatile (si perde l’informazione delle pagine usate se si spegne il sistema);
  • Il meccanismo funziona bene se si usa di continuo un numero limitato di applicazioni;
  • Spesso la memoria centrale non contiene le pagine “migliori”.

SuperFetch

Tecnologia che precarica al momento del boot e tiene sempre in memoria centrale le pagine delle applicazioni più usate:

Scenari sofisticati:

  • Uso nel week end / uso giorni lavorativi;
  • Uso al mattino / uso al pomeriggio;
  • Differenti livelli di priorita’.

Esempio:

  • Lun-Ven l’utente dopo il boot usa Outlook, Word ed Excel;
  • Sab-Dom l’utente dopo il boot usa Flight Simulator.

SuperFetch precarica automaticamente la memoria

Implementazione di SuperFetch

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.

Una alternativa: ReadyBoost

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


Una alternativa: ReadyBoost

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)


Hybrid Hard Drives e Ready Drive

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:

  • Minor usura del disco;
  • Minor consumo di energia;
  • Migliori prestazioni anche al momento del boot.

Implementazione

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.

File system

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 è:

  • NTFS 5 (Windows XP) transazionale solo per i metadati;
  • NTFS 6 (Windows Vista) transazionale per tutte le operazioni.

I materiali di supporto della lezione

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

  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion