SISTEMI OPERATIVI MEMORIA SECONDARIA E TERZIARIA Meccanica di un hard disk 2
Stru:ura di un disco 3 Dischi magne>ci» Velocità di rotazione fra i 60 e i 200 giri al secondo» La velocità di trasferimento indica la velocità del flusso di dag dal disco al computer» Il tempo di posizionamento è la somma del tempo necessario alla tesgna per posizionarsi sul cilindro desiderato (seek Gme) del tempo necessario perchè nella rotazione il senore desiderato si trovi sono al tesgna (latenza di rotazione)» La superficie del disco si rovina se la tesgna entra in contano» I dischi sono collegag al computer anraverso bus di I/O EIDE, ATA, SATA, USB, Fibre Channel, SCSI Il controller del computer invia i comandi al controller del disco 4
Stru:ura dei dischi» I dischi sono indirizzato come array monodimensionali di blocchi logici Un blocco logico è la più piccola unità di trasferimento + dimensione Gpica: 512 byte» L array di blocchi ha una corrispondenza uno-a-uno con la sequenza dei senori dei dischi Il senore 0 è il primo senore della prima traccia del cilindro più esterno + La corrispondenza procede in ordine all interno della traccia, poi le altre tracce dello stesso cilindro, e infine gli altri cilindri, dal più esterno al più interno» Dischi a velocità lineare costante e a velocità angolare costante 5 Nastri Magne>ci» Strumento di memorizzazione permanente prima dell avvento dei dischi Oggi usag per backup» In poco spazio e a basso costo possono memorizzare grandi quangtà di dag da 20GB a 6.25TB» Velocità di accesso lenta Tempo di posizionamento circa 1000 volte più lento dei dischi Velocità di trasferimento dag simile a quella dei dischi» Le tecnologie più comuni sono 4mm, 8mm, 19mm, LTO-2 and SDLT 6
7 Memoria secondaria connessa alla macchina» Accesso anraverso porte locali I/O collegate ai bus di I/O» Bus SCSI fino a 16 periferiche SCSI inigator fa richiesta di una operazione SCSI targets eseguono l operazione + Ciascun target può avere fino a 8 unità logiche (dischi) collegag al controller» Fibre-Channel è una architenura seriale ad alta velocità Fibra oeca o rame Due variang + StruNura a commutazione con spazio indirizzi a 24 bit + Arbitrated Loop (FC-AL) fino a 126 periferiche 8
NAS Network-A:ached Storage» Lo spazio di memorizzazione è disponibile su una rete» Protocolli più comuni: NFS e CIFS» Realizzazione tramite RPC» iscsi usa la rete per trasportare il protocollo SCSI 9 SAN Storage Area Network» Molto comune per realizzare grandi spazi di archiviazione» Protocollo più recente FCoE (Fibre Channel over Ethernet) 10
11 Mo>vazioni» Una richiesta al disco da parte di un processo in un sistema mulgprogrammato, di solito viene accodata ad altre richieste» Il sistema operagvo è responsabile della massimizzazione della ampiezza di banda Numero di byte trasferig nel tempo intercorso fra la prima richiesta e il completamento dell ulgmo trasferimento» Aumento ampiezza di banda ð riduzione tempo di accesso» Riduzione tempo di accesso ð riduzione tempo di seek tempo di seek è proporzionale a distanza di seek» Gli algoritmi di scheduling hanno l obieevo di ridurre il numero medio di spostameng della tesgna 12
Algoritmi per lo scheduling delle richieste al disco» Per confrontare le prestazioni di diversi algoritmi ipogzzeremo che in un disco con 200 cilindri (0-199) siano in coda le segueng richieste 98, 183, 37, 122, 14, 124, 65, 67 La tesgna è posizionata sul cilindro 53 13 FCFS First Come First Served La distanza complessiva percorsa dalla testina è pari a 640 cilindri 14
SSTF Shortest Seek Time First» Seleziona la richiesta con la minore distanza di seek dalla posizione corrente della tesgna Analogo allo scheduling SJF: può causare starvagon 15 SSTF La distanza complessiva percorsa dalla testina è pari a 236 cilindri 16
SCAN» La tesgna si muove congnuamente da un estremo all altro del disco nei due sensi Le richieste vengono servite quando la tesgna si trova sul cilindro corrispondente» L algoritmo SCAN è chiamato a volte algoritmo dell ascensore 17 SCAN (Cont.) La distanza complessiva percorsa dalla testina è pari a 236 cilindri 18
C-SCAN» Obieevo: rendere uniformi i tempi di anesa rispeno a SCAN C-SCAN» La tesgna si muove da un estremo all altro del disco e soddisfa le richieste in coda» Arrivata all altro estremo del disco, ritorna subito all inizio del disco senza servire alcuna richiesta» I cilindri sono considerag come una lista circolare 19 C-SCAN (Cont) La distanza complessiva percorsa dalla testina è pari a 183 cilindri 20
LOOK» Variante di SCAN e C-SCAN» La tesgna non arriva all estremità del disco, ma solo fino alla richiesta più lontana nella direzione di movimento della tesgna 21 C-LOOK La distanza complessiva percorsa dalla testina è pari a 153 cilindri 22
Scelta dell algoritmo» SSTF può sembrare la scelta più naturale» SCAN e C-SCAN hanno prestazioni migliori per sistemi che sfrunano molto le unità a disco» In generale le prestazioni dipendono dal numero e dal Gpo di richieste» La metodologia di allocazione dei file può influire sulle prestazioni» L algoritmo di scheduling del disco dovrebbe essere scrino come un modulo separato del sistema operagvo Può essere sosgtuito se necessario» SSTF e LOOK sono in genere una buona scelta iniziale 23 24
Forma:azione» FormaNazione di basso livello o formanazione fisica divide un disco in senori (di solito 512 byte), unità di lenura e scrinura dag gesgg dal controller + operazione di solito eseguita dal costrunore» Successivamente il sistema operagvo deve memorizzare le proprie strunure dag per la gesgone del file system ParGzionamento del disco in uno o più gruppi di cilindri FormaNazione logica o costruzione del file system Raggruppamento di blocchi del disco in cluster + I/O del disco a blocchi + I/O dei file a cluster» Il blocco di boot, se presente, carica il kernel del SO 25 Stru:ura di un disco forma:ato 26
Configurazione del disco in MS-DOS 27 Boot da disco in Windows 2000 28
Configurazione del disco in UNIX e LINUX UNIX standard Ext2 di Linux 29 Altre considerazioni» Raw disk pargzione gesgta come venore di blocchi logici non gesgta dal file system, ma da programmi applicagvi come DBMS» Blocchi difenosi GesGG dal controller del disco SosGtuiG da blocchi di riserva, creag in fase di formanazione fisica 30
31 L area di swap» La memoria virtuale usa il disco come una estensione della memoria principale» Di solito è una pargzione separata dal resto del file system Il Gpo e la quangtà di dag che possono essere memorizzag dipende dal sistema di gesgone della memoria virtuale 32
33 Stru:ura RAID» Redundant Array of Independent Disks in origine Inexpensive» Aumenta il mean /me to failure» Spesso in combinazione con NVRAM per migliorare le prestazioni in scrinura» RAID è organizzato in sei livelli diversi 34
Affidabilità e Parallelismo» Affidabilità Se un disco si guasta si può mantenere la congnuità del servizio + Non valido in caso di sbalzi di tensione o catastrofi naturali» Prestazioni La tecnica di sezionamento dei dischi (striping) usa un gruppo di dischi come un unica unità logica Con dag distribuig su dischi diversi si migliorano gli accessi in lenura e scrinura 35 Livelli RAID La scelta del livello RAID e il numero di dischi da usare dipende da diversi fanori Di solito i controller dei dischi o le SAN menono a disposizione i livelli 0+1 (1+0) e 5 o 6 36
Livelli RAID» I diversi livelli RAID consentono diversi gradi di affidabilità e di aumento delle prestazioni RAID 1 duplica il contenuto dei dischi (mirroring e shadowing) + RAID 1+0 striped mirrors + RAID 0+1 mirrored stripes RAID 2 Error CorrecGng Codes (come per la memoria) Bit di parità nei livelli 3, 4, 5, 6 + a livello di bit in RAID 3 + a livello di blocco in RAID 4, 5, 6» Di solito si Gene qualche disco aevo di scorta per sosgtuire dischi difenosi 37 RAID Level 0 strip 0 strip 1 strip 2 strip 3 strip 4 strip 5 strip 6 strip 7 strip 8 strip 9 strip 10 strip 11 strip 12 strip 13 strip 14 strip 15 (a) RAID 0 (non-redundant) strip 0 strip 4 strip 8 strip 1 strip 5 strip 9 strip 2 strip 6 strip 10 strip 3 strip 7 strip 11 strip 0 strip 4 strip 8 strip 1 strip 38 5 strip 9 str str stri strip 12 strip 13 strip 14 strip 15 strip 12 strip 13 stri
strip 0 strip 1 strip 2 RAID Level 1 strip 4 strip 5 strip 6 strip 3 strip 7 strip 8 strip 9 strip 10 strip 11 strip 12 strip 13 strip 14 strip 15 (a) RAID 0 (non-redundant) strip 0 strip 1 strip 2 strip 3 strip 0 strip 1 strip 2 strip 3 strip 4 strip 5 strip 6 strip 7 strip 4 strip 5 strip 6 strip 7 strip 8 strip 9 strip 10 strip 11 strip 8 strip 9 strip 10 strip 11 strip 12 strip 13 strip 14 strip 15 strip 12 strip 13 strip 14 strip 15 (b) RAID 1 (mirrored) b 0 b 1 b 2 b 3 f 0 (b) f 1 (b) f 2 (b) 39 (c) RAID 2 (redundancy through Hamming code) Figure 11.8 RAID Levels (page 1 of 2) RAID (0 + 1) e (1 + 0) 40
strip 12 strip 13 strip 14 strip 15 (a) RAID 0 (non-redundant) strip 0 strip 1 strip 2 RAID Level strip 4 strip 5 strip 6 strip 3 strip 7 strip 0 strip 4 strip 1 strip 5 strip 2 strip 6 strip 3 strip 7 strip 8 strip 9 strip 10 strip 11 strip 8 strip 9 strip 10 strip 11 strip 12 strip 13 strip 14 strip 15 strip 12 strip 13 strip 14 strip 15 (b) RAID 1 (mirrored) b 0 b 1 b 2 b 3 f 0 (b) f 1 (b) f 2 (b) (c) RAID 2 (redundancy through Hamming code) Figure 11.8 RAID Levels (page 1 of 2) 41 RAID Level 3 b 0 b 1 b 2 b 3 P(b) (d) RAID 3 (bit-interleaved parity) 42 block 0 block 1 block 2 block 3 P(0-3) block 4 block 5 block 6 block 7 P(4-7) block 8 block 9 block 10 block 11 P(8-11)
RAID Level 4 b 0 b 1 b 2 b 3 P(b) (d) RAID 3 (bit-interleaved parity) block 0 block 1 block 2 block 3 P(0-3) block 4 block 5 block 6 block 7 P(4-7) block 8 block 9 block 10 block 11 P(8-11) block 12 block 13 block 14 block 15 P(12-15) (e) RAID 4 (block-level parity) b 0 b 1 b 2 b 3 P(b) block 0 block 1 block 2 block 3 P(0-3) block 4 block 5 block 6 P(4-7) block 7 block 8 block 9 P(8-11) block 10 block 11 (d) RAID block 12 3 (bit-interleaved P(12-15) parity) block 13 block 14 block 15 P(16-19) block 16 block 17 block 18 block 19 43 block 0 block 1 block 2 block 3 P(0-3) RAID block 8 Level block 9 5 block (f) RAID 4 5 (block-level distributed 5 parity) block 6 block block 12 0 block block 13 1 block 10 block block 2 14 block 7 block 11 block block 3 15 P(4-7) P(8-11) P(0-3) P(12-15) Q(0-3) block 4 block 5 block 6 P(4-7) Q(4-7) block 7 block 8 block 9 (e) RAID 4 (block-level parity) block 12 P(12-15) P(8-11) Q(12-15) Q(8-11) block 13 block 10 block 14 block 11 block 15 block 0 block 1 (g) RAID 6 (dual redundancy) block 4 block 5 block 8 block 12 P(16-19) Figure 11.8 P(8-11) RAID Levels block (page 10 2 of 2) block 9 block 2 block 3 P(0-3) block 6 P(4-7) block 7 block 11 P(12-15) block 13 block 14 block 15 block 16 block 17 block 18 block 19 (f) RAID 5 (block-level distributed parity) 44 block 0 block 1 block 2 block 3 P(0-3) Q(0-3) block 4 block 5 block 6 P(4-7) Q(4-7) block 7
(e) RAID 4 (block-level parity) block 0 block 4 block 5 RAID block 8 Level block 9 6 block 12 block 1 P(12-15) block 2 block 6 P(8-11) block 13 block 3 P(4-7) P(0-3) block 7 block 10 block 11 block 14 block 15 P(16-19) block 16 block 17 block 18 block 19 (f) RAID 5 (block-level distributed parity) block 0 block 1 block 2 block 3 P(0-3) Q(0-3) block 4 block 5 block 6 P(4-7) Q(4-7) block 7 block 8 block 9 P(8-11) Q(8-11) block 10 block 11 block 12 P(12-15) Q(12-15) block 13 block 14 block 15 (g) RAID 6 (dual redundancy) Figure 11.8 RAID Levels (page 2 of 2) 45 Category Livelli RAID - sintesi Level Description Disks required Striping 0 Nonredundant N Mirroring 1 Mirrored 2N Parallel access Independent access 2 Redundant via Hamming code N + m 3 Bit-interleaved parity N + 1 4 5 6 Block-interleaved parity Block-interleaved distributed parity Block-interleaved dual distributed parity N + 1 N + 1 N + 2 Data availability Lower than single disk Higher than RAID 2, 3, 4, or 5; lower than RAID 6 Much higher than single disk; comparable to RAID 3, 4, or 5 Much higher than single disk; comparable to RAID 2, 4, or 5 Much higher than single disk; comparable to RAID 2, 3, or 5 Much higher than single disk; comparable to RAID 2, 3, or 4 Highest of all listed alternatives Large I/O data transfer capacity Very high Higher than single disk for read; similar to single disk for write Highest of all listed alternatives Highest of all listed alternatives Similar to RAID 0 for read; significantly lower than single disk for write Similar to RAID 0 for read; lower than single disk for write Similar to RAID 0 for read; lower than RAID 5 for write Small I/O request rate Very high for both read and write Up to twice that of a single disk for read; similar to single disk for write Approximately twice that of a single disk Approximately twice that of a single disk Similar to RAID 0 for read; significantly lower than single disk for write Similar to RAID 0 for read; generally lower than single disk for write Similar to RAID 0 for read; significantly lower than RAID 5 for write 46
47 Altri disposi>vi di archiviazione» In genere sono disposigvi di memorizzazione a basso costo» Di solito si trana di disposigvi rimovibili nastri, CD, DVD, USB-sGck, schede di memoria, ecc. 48
Prezzo per Megabyte di memoria 49