85e8f629f782304a4f25fd8aeee72a5dd218243f
sistemi/s02/assets/imgs/filesystem_2026-03-19_17-04-57.png
| ... | ... | Binary files /dev/null and b/sistemi/s02/assets/imgs/filesystem_2026-03-19_17-04-57.png differ |
sistemi/s02/assets/imgs/filesystem_2026-03-19_17-06-20.png
| ... | ... | Binary files /dev/null and b/sistemi/s02/assets/imgs/filesystem_2026-03-19_17-06-20.png differ |
sistemi/s02/assets/imgs/filesystem_2026-03-19_17-07-34.png
| ... | ... | Binary files /dev/null and b/sistemi/s02/assets/imgs/filesystem_2026-03-19_17-07-34.png differ |
sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_15-45-29.png
| ... | ... | Binary files /dev/null and b/sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_15-45-29.png differ |
sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_15-51-39.png
| ... | ... | Binary files /dev/null and b/sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_15-51-39.png differ |
sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_15-57-31.png
| ... | ... | Binary files /dev/null and b/sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_15-57-31.png differ |
sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_16-09-15.png
| ... | ... | Binary files /dev/null and b/sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_16-09-15.png differ |
sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_16-15-25.png
| ... | ... | Binary files /dev/null and b/sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_16-15-25.png differ |
sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_16-18-00.png
| ... | ... | Binary files /dev/null and b/sistemi/s02/assets/imgs/memoria_secondaria_2026-03-19_16-18-00.png differ |
sistemi/s02/memoria_secondaria.md
| ... | ... | @@ -133,8 +133,99 @@ Problema |
| 133 | 133 | |
| 134 | 134 | Considerazioni |
| 135 | 135 | |
| 136 | -- per aumentare la velocità di un componente, una delle possibilità è quella di utilizzare il parallelismo |
|
| 137 | -- l'idea è quella di utilizzare un array di dischi indipendenti, che possano gestire più richieste di I/O in parallelo |
|
| 138 | -- dobbiamo però garantire che i dati letti in parallelo risiedano su dischi indipendenti |
|
| 136 | +- per aumentare la velocità di un componente, una delle possibilità è quella di utilizzare il parallelismo, l'idea è quella di utilizzare un array di dischi indipendenti, che possano gestire più richieste di I/O in parallelo. Dobbiamo però garantire che i dati letti in parallelo risiedano su dischi indipendenti |
|
| 139 | 137 | |
| 140 | 138 | RAID: Redundant Array of Independent Disks |
| 139 | + |
|
| 140 | +Standard per l'uso di piu dischi in parallelo, consiste in 7 schemi diversi (0-6) che rappresentano le diverse architetture di distribuzione dei dati. |
|
| 141 | + |
|
| 142 | +Caratteristiche comuni ai sette schiemi: |
|
| 143 | + |
|
| 144 | +- un array di dischi viene visto dal so come un solo singolo disco logico |
|
| 145 | +- dati distribuiti tra i vari dischi dell'array |
|
| 146 | +- la capacita' ridondante dei dischi puo essere usata per mem informazioni di parita' che garantiscono il recovery dei dati in caso di guasti. |
|
| 147 | + |
|
| 148 | +Nota sui guasti: usare piu dischi contemporaneamente aumenta la prob di guasto. RAID offre meccanismi di parita' per contrastare questo problema |
|
| 149 | + |
|
| 150 | +#### RAID 0 (striping) |
|
| 151 | + |
|
| 152 | +No meccanismi di ridondanza. |
|
| 153 | +I dati vengono distribuiti tra i vari dischi. |
|
| 154 | +Vantaggi: |
|
| 155 | + |
|
| 156 | +- se due richieste di I/O riguardano blocchi indipendenti di dati, c'è la possibilità che i blocchi siano su dischi differenti |
|
| 157 | +- le due richieste possono essere servite in parallelo |
|
| 158 | + |
|
| 159 | +\*_Striping_: |
|
| 160 | + |
|
| 161 | +- il sistema RAID viene visto come un disco logico |
|
| 162 | +- i dati vengono suddivisi in strip |
|
| 163 | +- strip consecutivi sono distribuiti su dischi diversi (aumento performance) |
|
| 164 | + |
|
| 165 | + |
|
| 166 | + |
|
| 167 | +**Performance**: |
|
| 168 | + |
|
| 169 | +- per grandi trasferimenti di dati |
|
| 170 | +- per un gran numero di richieste indipendenti: efficiente in particolare se la quantità di dati richiesta è paragonabile alla dimensione degli strip |
|
| 171 | + |
|
| 172 | +Ridondanza: nulla |
|
| 173 | + |
|
| 174 | +#### RAID 1 (mirroring) |
|
| 175 | + |
|
| 176 | +Differisce dagli schemi (1-6) per come la ridondanza e'gestita, ovvero duplicando tutti i dati su due insiemi indipendenti di dischi. |
|
| 177 | +Il sistema e' basato su striping ma uno strip viene scritto su due dischi diversi |
|
| 178 | +Il costo per unita' di mem raddoppia |
|
| 179 | + |
|
| 180 | + |
|
| 181 | +**Performance**: |
|
| 182 | + |
|
| 183 | +- Una richiesta di lettura puo essere servita da uno qualsiasi dei dischi che ospitano il dato |
|
| 184 | +- una richiesta di scrittura deve essre servita da tutti i dischi che ospitano il dato (dipende dal disco con tempo di seek maggiore) |
|
| 185 | + |
|
| 186 | +**Ridondanza**: |
|
| 187 | + |
|
| 188 | +- il recovery e'molto semplice: se un disco si guasta i dati sono accessibili dall'altro disco. E' necessario sostituire il disco guasto e fare una copia del disco funzionante |
|
| 189 | + |
|
| 190 | +#### RAID 4 |
|
| 191 | + |
|
| 192 | +Si usa il meccanismo di data striping con strip relativamente grandi |
|
| 193 | +Strip di parita': |
|
| 194 | + |
|
| 195 | +- viene calcolato uno strip di parita' a partire dagli stri di dati corrispondenti, calcolato bit per bit |
|
| 196 | +- lo strip di parita' viene posto sul disco di parita' |
|
| 197 | + |
|
| 198 | + |
|
| 199 | + |
|
| 200 | +**Lettura (in assenza di guasti)** |
|
| 201 | + |
|
| 202 | +- si individua lo strip corrispondente e si effettua la lettura dello strip |
|
| 203 | + |
|
| 204 | +**Lettura (in presenza di guasti)** |
|
| 205 | + |
|
| 206 | +- si individua lo strip corrispondente; se il disco corrispondente è guasto, si effettua la lettura di tutti gli strip rimasti e tramite il disco di parità di ottiene lo strip mancante |
|
| 207 | + |
|
| 208 | +**Scrittura (in assenza di guasti)** |
|
| 209 | + |
|
| 210 | +- quanti strip devono essere coinvolti? |
|
| 211 | +- a prima vista, si direbbe tutti (lo strip dati da scrivere, tutti gli altri strip da leggere, lo strip di parità in scrittura) |
|
| 212 | + |
|
| 213 | + |
|
| 214 | + |
|
| 215 | +#### RAID 5 |
|
| 216 | + |
|
| 217 | +Come RAID 4 ma i blocchi di parita' sono sparsi tra i vari dischi |
|
| 218 | +Il vantaggio e'che non esiste un disco di parita' che diventa un bottleneck |
|
| 219 | + |
|
| 220 | + |
|
| 221 | +#### RAID 6 |
|
| 222 | + |
|
| 223 | +Come RAID 5 ma si usano due strip di parita' invece di uno |
|
| 224 | +il vantaggio è che non esiste un disco di parità che diventa un bottleneck |
|
| 225 | + |
|
| 226 | + |
|
| 227 | + |
|
| 228 | +#### RAID 6 |
|
| 229 | + |
|
| 230 | +Come RAID 5, ma si utilizzano due strip di parità invece di uno |
|
| 231 | +Aumenta l'affidabilità (è necessario il guasto di tre dischi affinché i dati non siano recuperabili) |