PDA

View Full Version : tracce cilindri e cluster


71104
28-07-2005, 21:53
vorrei sapere in maniera semplice cosa sono :)
più precisamente mi serve semplicemente di sapere chi contiene cosa; ad es. so per certo che un settore è un insieme di (solitamente) 512 bytes, che una traccia contiene numerosi settori (18 in un comune floppy) e che un cilindro contiene numerose tracce (2 in un comune floppy); è giusto tutto ciò? e invece un cluster ched'è? :confused:

thx :)

71104
28-07-2005, 21:56
quoto anche una parte della documentazione del file system FAT (che sto leggendo):
Number of sectors per allocation unit. This value must be a power of 2 that is greater than 0. The legal values are 1, 2, 4, 8, 16, 32, 64, and 128. Note however, that a value should never be used that results in a “bytes per cluster” value (BPB_BytsPerSec * BPB_SecPerClus) greater than 32K (32 * 1024). There is a misconception that values greater than this are OK. Values that cause a cluster size greater than 32K bytes do not work properly; do not try to define one. Some versions of some systems allow 64K bytes per cluster value. Many application setup programs will not work correctly on such a FAT volume.
questa era la spiegazione del significato del parametro BPB_SecPerClus (settori per cluster) del BIOS Parameter Block (BPB); cos'è una "unità di allocazione"? (sembra essere il modo in cui definisce un cluster...)
e come mai questo fatto della "misconception" circa il numero massimo di byte per cluster? come mai non deve superare i 32K?

okay
28-07-2005, 23:21
Un dischetto contiene 1440 Kb (2 facce, 80 tracce, 18 settori, pari a 2880 cluster da 512 byte, pari a 1474560 byte).


Su un dischetto formattato in modo standard (1,44 MB o
1440 KB) ci sono 2880 cluster, ciascuno può contenere 512 bytes. I primi
2880-2847=33 (numerati da 0 a 32) vengono utilizzati per il boot sector, le
due copie della FAT e la directory. Perciò i dati cominciano ad essere
memorizzati a partire dal cluster 33. Di conseguenza lo spazio "effettivo" su
disco è di 2847*512=1,457,664 bytes.

Un cluster contiene contiene 512 byte. Un cluster giostra 512 byte

Dipende dalla FAT fai una ricerca per FAT12, FAT16, FAT32. Il VFAT oppure File Allocation Table


ciao

ilsensine
29-07-2005, 09:15
e invece un cluster ched'è? :confused:

I parametri CHS di cui hai parlato servono a descrivere "fisicamente" il dispositivo di storage. Nota che ormai sono purametre "virtuali" (un tempo descrivevano realmente la "fisicità" del disco, e per i floppy è ancora così; ora sono solo una convenzione di indirizzamento del disco) e, purtroppo, non univoci (per gli hd è meglio una descrizione LBA o LBA48).

Il "cluster" invece è una unità logica di allocazione definita per un file system, normalmente multiplo potenza di 2 di 512. Non ha particolari relazioni con i parametri CHS.

71104
29-07-2005, 15:25
I parametri CHS di cui hai parlato servono a descrivere "fisicamente" il dispositivo di storage. Nota che ormai sono purametre "virtuali" (un tempo descrivevano realmente la "fisicità" del disco, e per i floppy è ancora così; ora sono solo una convenzione di indirizzamento del disco) e, purtroppo, non univoci (per gli hd è meglio una descrizione LBA o LBA48).

Il "cluster" invece è una unità logica di allocazione definita per un file system, normalmente multiplo potenza di 2 di 512. Non ha particolari relazioni con i parametri CHS. ti ringrazio per la spiegazione :)
ma non ho ben capito a quanto corrisponde normalmente un cluster... "multiplo potenza di 2 di 512"? :confused:
c'era forse un errore di battitura?
normalmente i file system (diciamo i FAT32) come definiscono un cluster? 512 byte? grazie :)

71104
29-07-2005, 15:26
ah, un'altra cosa: cos'è invece quello che (sempre nel doc che sto leggendo) viene definito "head"? thx

ilsensine
29-07-2005, 15:37
ti ringrazio per la spiegazione :)
ma non ho ben capito a quanto corrisponde normalmente un cluster... "multiplo potenza di 2 di 512"? :confused:
c'era forse un errore di battitura?
No. In genere i cluster sono di dimensione pari a 512*2^n, con n variabile. Il "512" è stato scelto proprio in quanto è l'elemento più piccolo che puoi accedere su un disco.
normalmente i file system (diciamo i FAT32) come definiscono un cluster? 512 byte?
...o suoi multipli 2^n.
Sui floppy mi sembra che si usi proprio 512 byte, sono piccoli e non ha senso sprecare spazio per cluster più grandi.
(se non vado errato, sui floppy non si usa la fat32 ma la "fat12": http://www.pcguide.com/ref/hdd/file/partSizes-c.html )
ah, un'altra cosa: cos'è invece quello che (sempre nel doc che sto leggendo) viene definito "head"? thx
Quello che hai chiamato "tracce", credo.

The3DProgrammer
30-07-2005, 11:30
tra l'altro, in molti FS la dimensione dei cluster dipende dalla dimensione del disco (nel senso ke partizioni + grandi spesso provocano una formattazione con cluster + grandi - nn so se sia una limitazione propria dei FS, o una scelta voluta...). Come dice ilsensine, inoltre, essendo un cluster la + piccola unità di allocazione su disco, una dimensione troppo elevata può portare a spreki di spazio. Se hai una dimensione di cluster di 4k e scrivi un file di 15 byte, quel file occuperà cmq su disco 4k, in quanto lo spazio rimanente nn è riutilizzabile.


ciauz

VICIUS
30-07-2005, 11:47
Se hai una dimensione di cluster di 4k e scrivi un file di 15 byte, quel file occuperà cmq su disco 4k, in quanto lo spazio rimanente nn è riutilizzabile.
Anche questo dipende dal fs usato. Su alcuni per esempio questo non succede.

ciao ;)

The3DProgrammer
30-07-2005, 11:50
azz davvero? figatona...su quale FS? ext3?

71104
30-07-2005, 13:13
NTFS forse? :)
inutile, inutile, io sono maicrosoftiaaaaanooooo...!! :D :D :D

ilsensine
30-07-2005, 14:11
azz davvero? figatona...su quale FS? ext3?
reiserfs ;)

Però non usa quasi nessuno questa possibilità, in quanto ha un certo impatto sulle prestazioni.