Alcuni esempi di dispositivi 2 Disco rigido RAID

  • Slides: 12
Download presentation
Alcuni esempi di dispositivi (2) Disco rigido, RAID, video 1

Alcuni esempi di dispositivi (2) Disco rigido, RAID, video 1

Hardware del disco (2) Parametri del floppy disk del PC originale di IBM (anni

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

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

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

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

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

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

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

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

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

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

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