Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
361
FCFS, la pi semplice da gestire, pur non ottimizzando i tempi medi di risposta l'unica
che garantisce in tutti i casi l'avanzamento delle richieste, o detto in altri termini
l'unica pojitica che garantisce la non starvation delle richieste.
~~5infatti pervengono continuamente richieste che soddisfano meglio i requisiti di
scheduling, ad esempio sono posizionati sulla stessa traccia di quella corrente, evidente
che le altre richieste vengono sempre accantonate e rimangono in attesa indefinita:
come se fossero a priorit inferiore rispetto a tutte le nuove arrivate.
Per ovviare a questo inconveniente si aggiunge un campo alle richieste ( i l loro
tempo di arrivo) ed i l gestore della risorsa, saltuariamente, ne controlla i l valore, e sposta
quelle pi remote in cima alla coda d'attesa, indipendentemente dalla politica di
gestione.
D i solito tutte queste valutazioni vengono fatte dal gestore della risorsa disco
rigido mentre i l controllore, normalmente, integra al suo interno una memoria cache di
dimensioni opportune (ad esempio in un disco da 60 GB pu valere da 2 a 16 M B )
organizzata a frame, dove ogni frame composto da uno o pi blocchi di lettura scritura
. Tuster). In tal modo la lettura/scrittura viene sempre effettuata dal driver direttamente
sulla "cache del disco e solo nel caso di miss la cache viene aggiornata con i dati del
disco. Viene affrontato in maniera analoga anche i l problema della scrittura per la cache
ella memoria principale, scegliendo tra le tecniche di write-back o write-throught ed
^lizzando i cicli di (hit) lettura della cache per accedere direttamente al disco.
RAID
Un'altra particolare funzione fornita dal gestore della risorsa disco rigido, in stretto
. legamento con i l relativo controllore, la cosiddetta organizzazione R A I D , da
Redundant Array of Independent Disks. In realt non si tratta di una sola tecnica, bensi
di un insieme di organizzazioni distinte, via via pi complesse, che puntano a migliorare
essenzialmente due aspetti della gestione della memoria di massa:
362
CAPITOLO NONO
GESTIONE DELLT/O
363
364
CAPITOLO NONO
J8L0CC0 0_
J L O C C O 4_
BLOCCO 8
disco 1
J3LOCCO 1_
j L O C C O 5_
BLOCCO 9
J L O C C O 2__
" B L O C C O 0
J3LOCCO 3__
_BLOCC07__
BLOCCO 11
disco 2
disco 3
disco 4
j L O C C O 6___
RAIDO
striping
RAID 1
mirroring
disco 2
disco 1
disco 3
disco 4
d _
BLOCCO 0 jLOCCO 2 ,
JSLOCCO i**]
^BLOCCO 1
^BLOCCO
^BLOCCO
^ B L O C C O 3__^
^ B L O C C O 2__
^BLOCCO 3 ^
[^BLOCCO
^ J L O C W T J
BLOCCO
disco 1
1_
MIRROR
disco 3
disco 2
RAID 1+0
sfr/p/ng + mirroring
MIRROR
disco 4
RAID 2
cod/'c/' ci/' correzione
disco 2
disco 3
BLOCCO 1
_ B L O C C O 4___
^ B L O C C O 7__,
^ B L O C C O 2__
^ B L O C C O 5__,
,BLOCCO 8 j
disco 2
disco 3
disco 4
j L O C C O 1_
JSLOCCO 4_
BLOCCO 7
JSLOCCO 2_
J3LOCCO 5_
BLOCCO 8
BLOCCO W g W
disco 1
disco 2
disco 3
disco 4
J3LOCCO0
j L O C C O 3_
BLOCCO 6
^BLOCCO
^ B L O C C O 4__
lCOTWRTW
disco 1
disco 2
disco 1
^BLOCCO 1 .
^BLOCCO ! _
(^BLOCCO
disco 1
JSLOCCO 0__
j L O C C O 3_
BLOCCO 6
^ B L O C C O 0__^
^BLOCCO 1
^BLOCCO
[[J1L0CC05,
_ P
disco 4
>
d _ I
I,
PARIT
PAR/7,4 , R A I D 3
PARITA\~J bit di parit incrociata
BLOCCO PARIT
BLOCCO PARIT
^BLOCCO 2
BLOCCO PARIT
BLCCO PARTA
BLOCCO 7
^ B L O C C O 5__
BLOCCO 8
disco 3
disco 4
^ L O C C O 2__
^ L O C C O 4____
P + Q
disco 2
BLOCCO 6
disco 3
RAID 4
blocchi di parit incroc ah
RAID 5
blocchi di parit incrociata
P + Q
BLOCCO
disco 1
RAID 6
ridondanza P+Q
disco 4
Figura 9.9
GESTIONE DELLT/O
365
R A I D di livello 5
utilizza tecniche di parit applicate ai blocchi, con parit distribuita tra i
vari supporti, in modo da evitare che nello stesso disco sia memorizzato un
blocco ed i l suo blocco di parit. In pratica, se scompongo i l settore in 4
b l o c c h i d o v r calcolare un quinto blocco, composto dai singoli bit di parit
dei rispettivi bit di tutti i blocchi che compongono i l settore originale, e
rnemorizzarlo i n un disco diverso da quello che contiene dati: ma
attenzione che ogni disco contiene una quota uguale di blocchi di parit.
Questa tecnica ottiene le stesse caratteristiche del livello precedente in
termini di memoria globale e di affidabilit, ma evita di usurare
continuamente l'unico disco di ridondanza;
R A I D divello 6 "
Utilizza tecniche di rivelazione degli errori analoghe al livello precedente
ma basate su meccanismi pi ridondanti (detti P + Q ) del semplice bit di
parit. Questa tecnica ottiene le caratteristiche del livello precedente in
termini di affidabilit, mentre peggiora leggermente in termini di memoria
globale, ma consente di sopportare guasti anche a due dischi.
Le tecniche R A I D pi diffuse sono quelle di livello 0, 1, 0+1 e 5, vengono di
norma implementate via hardware nel controller ma possono essere realizzate anche via
software dal gestore della risorsa, pur se con un'efficienza inferiore.
9.3
Buffering e spooling
Quando la velocit della CPU molto diversa da quella della periferica da gestire
il relativo gestore della risorsa ricorre a tecniche per tentare di svincolare gli
avanzamenti di questi elementi, introducendo soluzioni specifiche quali i l buffering e lo
spooling.
I l buffering, la tecnica che fa ricorso ad aree di memoria temporanee dove i l
gestore della risorsa immagazzina temporaneamente le informazioni e le scambia in
momenti diversi con le velocit proprie dell'interlocutore, sia esso la risorsa o la CPU. I
dispositivi fisici possono leggere o scrivere un carattere o un blocco di dati per volta nel
buffer alla sua velocit, mentre i l processo potr accedere al buffer per gestire quantit
anche diverse di dati alla propria velocit, purch non siano richieste particolari
interazioni tra processo e risorsa.
Figura 9.10