Calcolare la fat

blob84
Ciao qualuno sa come si calcola la dimensione della file allocation table di un file system di tipo FAT:
Assumendo che l’hard disk abbia capacità 2^27 byte, che i blocchi siano di 2 Kb e che
siano presenti ”solo” file grandi 19 Kb:
si calcoli la dimensione della FAT

Risposte
Umby2
Ma la grandezza della FAT dovrebbe essere sempre la stessa, non mi sembra che cambi in funzione della grandezza dei file.

Anche appena formattato un disco, la FAT occupa già un certo spazio (...pur essendo il disco vuoto...)

hamming_burst
"Umby":
Ma la grandezza della FAT dovrebbe essere sempre la stessa


è legata alla grandezza del blocco e la grandezza della partizione, perciò rimane sempre la stessa nella vita del filesystem, ma cambia alla tipologia di partizione;
hai ragione invece per la grandezza dei file, questo ha risvolti solo su altri fattori.

Perciò per calcolare la FAT:

grandezza partizione/grandezza blocco = $(2^27(Byte))/(2048(Byte)) = 65536$ blocchi

EDIT:
questi calcoli sono ovviamente teorici e condizionati da limiti. Dipende dal tipo di FAT utilizzata e dal tipo di indirizzamento. Ma un limite superiore sulla grandezza solo della FAT è quel calcolo. :-)

Umby2
"ham_burst":

hai ragione invece per la grandezza dei file, questo ha risvolti solo su altri fattori.



infatti.. la grandezza del cluster determina lo spazio "sprecato" sul disco.

blob84
ham_burst, poi bisogna moltiplicare per 4 byte, che sono i byte occupati dal numero del blocco , quindi $ 256 $
oppure per 2 byte dato che $2^27/2^11=2^16$, quindi il numero massimo può essere memorizzato in 16 bit.

hamming_burst
il "numero del blocco" della FAT è un'astrazione interna della tabella. Poi c'è il numero del blocco vero che è un puntatore, questo puntatore (grandezza in base all'indirizzamento usato) viene sottratto alla grandezza del blocco non aggiunto, se hai blocchi di 1024Byte avrai spazio utile di 1020Byte, non 1024+4.

Poi la FAT vera è gestita in modo differente, ma teoricamente quanto detto è vero.

blob84
ma non ho capito allora:
da quest'altro esempio che non ho fatto io:

Se un hard disk grande 16 Giga byte con blocchi da 1 K byte, quanto spazio occupa la FAT
di quel disco? (esplicitate i calcoli che fate)
SOL. Il disco grande 2^34 byte, per cui la FAT deve avere 2^34/2^10 = 2^24 entry.
Per memorizzare il numero di un blocco in una entry sono quindi necessari 3 byte, e la FAT occupa 3 ∗ 2^24 megabyte.

I 3 byte da dove escono.

hamming_burst
Sì è corretto. Non ho tenuto conto dell'unità di misura, per via del fatto che dipende dal tipo di indirizzamento.
Quello che ho calcolato è il numero di blocchi (astratti) non lo spazio occupato (dipende dalla terminologia) dal numero vero e proprio. :-)

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.