1 Alcuni esempi di dispositivi (2) Disco rigido, RAID, video
2 Hardware del disco (2) Parametri del floppy disk del PC originale di IBM (anni 80) e di un disco rigido Western Digital WD (2000)
3 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
4 Algoritmi di scheduling per il braccio (2) L’algoritmo di scheduling Shortest Seek First (SSF) Posizione iniziale Richieste pendenti
5 Algoritmi di scheduling per il braccio (3) L’algoritmo di scheduling “dell’ascensore” Posizione iniziale
6 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
7 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
8 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
9 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
10 Stable Storage (4) –Casi possibili di crash in uno stable storage
11 Hardware del Video (1) Video mappato in memoria (memory-mapped) il driver scrive direttamente nella RAM del video Parallel port
12 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