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