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.