| INFORMAZIONI TECNICHE | Hard Disk |
Cluster
Un cluster (= gruppo) è un gruppo di settori del disco. Il sistema operativo
numera ogni cluster assegnando così un indice univoco che permette agli algoritmi di scrivere e leggere i dati in modo ordinato.
il settore è la minima unità accessibile sul disco; nelle formattazioni con
sistema FAT, ad esempio, ha ampiezza tipica di 512bytes. Un file può occupare
più settori : ad esempio 1 MB richiede circa 2,048 settori.
Però con FAT (ed in effetti anche con altri file systems) i settori
individualmente non sono usati, principalmente per le difficoltà connesse con
la gestione di unità così piccole (basta pensare che un file di 1GB, come
potrebbe essere quello di un prodotto multimdiale, occuperebbe 2 milioni di
settori, la cui numerazione, ricerca e accesso sarebbe pesante per le risorse
del sistema oparativo.
In pratica si risolve il problema accorpando più settori in un gruppo, detto
quindi cluster o allocation unit (unità di allocazione), che risulta quindi la
minima grandezza accessibile. I settori che compongono un cluster sono contigui;
questo rende più efficiente la lettura/scrittura del cluster stesso, in quanto
la testina non deve muoversi sulla superficie del disco alla ricerca dei vari
pezzi del gruppo, ma se li trova ordinatamente uno dopo l' altro.Ogni file può
essere allocato solo in un numero intero di cluster; per fare un esempio, come
su un foglio a quadretti il quadretto è la dimensione minima
in cui scrivere cifre e simboli.
Se questo da una parte alleggerisce la gestione, da un' altra crea un nuovo
problema .
Le dimensioni del cluster, ovvero il numero di settori che ne fanno parte, varia
in proporzione diretta con le dimensioni dello spazio (partizione) disponibile
sul disco; questo dipende dal modo in cui sono stati scritti gli algoritmi di
gestione del disco.
Ad
esempio, per i sistemi operativi Microsoft DOS e Windows, con FAT, vale la seguente tabella :
| Dimensioni partizione | Tipo FAT | Settori per cluster | Dim. cluster |
| fino a 15MB | 12 bit | 8 | 512 byte |
| 16-127MB | 16 bit | 4 | 2 k |
| 128-255MB | 8 | 4 k | |
| 256-511MB | 16 | 8 k | |
| 512-1023MB | 32 | 16 k | |
| 1024-2047MB | 64 | 32 k | |
| 2048-4096MB | 128 | 64 k* |
* Windows NT e 2000 con disco da 2-4GB
Per i sistemi operativi Windows95/98/Me/200, con FAT32, vale la seguente tabella :
| Dimensioni partizione | Settori per cluster | Dim. cluster |
| fino a 8,01GB | 8 | 4 k |
| 8,02-16,02GB | 16 | 8 k |
| 16,03-32,04GB | 32 | 16 k |
| >32,04GB | 64 | 32 k |
Come si può vedere, aumentando la partizione, anche la dimensione del
cluster aumenta.
Questo fatto porta ad una conseguenza : siccome il cluster è il minimo spazio
occupabile da un set di dati (file), se il file è di dimensioni inferiori al
cluster, esso occuperà comunque tutto il cluster; lo spazio avanzato non potà
essere usato da altri file e resterà inutilizzzato. Ad esempio, se il
file è di 2kB ed il cluster è di 16kB, sarà impegnato un solo cluster, del
quale 2kB conterranno i dati ed il resto (14k) sarà lasciato vuoto
(16-2=14); se ci si trova a salvare un file successivo di 12kB, questo non
potrà occupare lo spazio avanzato nel cluster precedente, ma andrà ad occupare
un nuovo cluster, di cui ne avanzeranno 4kB non utilizzabili, e così via.
Se il cluster è molto più grande del file medio che viene usato, lo spreco
sarà molto evidente, ma, in pratica i file sono molto più grandi di un cluster
e ne occupano più di uno. In ogni caso, se il file non è multiplo del
cluster, nell' ultimo dei cluster impegnati ci sarà comunque uno spazio non
utilizzato nè utilizzabile. Ad esempio, se il cluster è di 32 kB e un file è di 226 kB esso
occuperà 8 cluster di cui l' ultimo sarà riempito solo per 2 kB, con uno
spazio inutilizzabile di 30kB. Se il cluster fosse stato di 8kB, il file ne
avrebbe occupati 29 con uno scarto di 6kB nell' ultimo. Da notare che lo spazio
residuo nell' ultimo cluster non non è utilizzato nè lo può, poichè il
cluster è assegnato dal sistema operativo ad un determinato file e non è
ammesso che lo stesso cluster possa essere "condivisi" da più files,
altrimenti si genererebbe un errore di allocazione ed il s.o. non sarebbe più
in grado di recuperare i dati coinvolti.
Il cluster grande non da problemi significativi nel caso in cui i files in
uso siamo anch' essi di grandi dimensioni : la percentuale di "scarto"
dello spazio sarà minima.
Diversa è la situazione nel caso di molti file di
piccole dimensioni, dove lo scarto percentuale sarà più significativo. In questo caso è opportuno ridurre la dimensione del cluster
partizionando il disco in aree più piccole; ad esempio, su un disco da 20GB
usato in unica partizione, il cluster è di 16kB, che scendono a 8 se si
suddivide il disco in due partizioni.
Da osservare che le utilities dei s.o. solitamente non prevedono gestione dinamica delle partizioni e quindi la dimensione dei cluster è fissata dai default del s.o. stesso durante la fase di partizionamento. Volendo modificare partizioni e cluster occorre ricorrere ad utility di terze parti, come ad esempio il noto Pertition Magic di PowerQuest.
Copyright © elma srl. Tutti i diritti riservati.
Aggiornato il 13/02/02.