Alcuni esempi di dispositivi (2)
Disco rigido, RAID, video
1
Hardware del disco (2)
Parametri del floppy disk del PC originale di IBM (anni 80) e
di un disco rigido Western Digital WD 18300 (2000) 2
Algoritmi di scheduling per il braccio (1)
• Il tempo necessario per leggere o scrivere
un blocco è determinato da tre fattori
– Tempo di seek
– Ritardo rotazionale (Rotational Delay)

Tempo di trasferimento vero e proprio
• Ad una nuova richiesta RD deve essere
pagato comunque
• Il tempo di seek dipende dalla distanza :
– viene ottimizzato dagli alg. di scheduling
3
Algoritmi di scheduling per il braccio (2)
Posizione
iniziale
Richieste
pendenti
L’algoritmo di scheduling Shortest Seek First (SSF)
4
Algoritmi di scheduling per il braccio (3)
Posizione
iniziale
L’algoritmo di scheduling “dell’ascensore”
5
Gestione degli errori del disco
• Una traccia con un settore difettoso
• Sostituzione del settore difettoso con un
settore di riserva
• Slittamento dei settori per evitare quello
difettoso
6
Stable Storage
• Memorizzazione stabile
• Permette di mettersi al riparo da errori che si
verificano durante una scrittura :
– sto effettuando una write()
– dopo la scrittura calcolo i codici correttori di errore
(ECC) che segnalano un malfunzionamento
– a questo punto il vecchio valore del settore è andato
perso ed il nuovo è sbagliato!
• Nello stable storage, ogni volta che eseguiamo
una scrittura si garantisce che il valore scritto è
corretto oppure è uguale a quello vecchio
7
Stable Storage (2)
Come viene realizzato lo stable storage:
• due dischi, più software
• assunzioni :
– quando effettuiamo una write() di un blocco si scrive una
valore corretto o scorretto
– un valore scorretto può essere determinato rileggendo il
valore e controllando gli ECC
– la probabilità che lo stesso settore X abbia
malfunzionamenti su due dischi diversi è trascurabile
8
Stable Storage (3)
Implementazione :
– Ogni blocco viene implementato usando due blocchi
con lo stesso indirizzo sui due dischi.
• Scritture : scrive la stessa infromazione prima nel primo
disco (blocco X) e poi nel secondo (blocco X)
• Letture : legge dal primo disco e se ci sono errori dal
secondo
– Recovery dopo un crash
• si leggono tutti i blocchi dei due dischi e si confrontano
• se sono corretti e uno dei due ha l’ECC sbagliato, viene
sovrascritto con l’altro
• se sono diversi ma corretti, il blocco del primo disco
viene scritto sul secondo
9
Stable Storage (4)
– Casi possibili di crash in uno stable storage
10
Hardware del Video (1)
Parallel port
Video mappato in memoria (memory-mapped)
• il driver scrive direttamente nella RAM del video
11
Hardware del Video (2)
• Una immagine della video RAM
– un semplice display monocromatico, modo carattere
• La schermata corrispondente
– gli x sono i byte degli attributi
12