Calcolare la fat
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
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
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...)
Anche appena formattato un disco, la FAT occupa già un certo spazio (...pur essendo il disco vuoto...)
"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.

"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.
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.
oppure per 2 byte dato che $2^27/2^11=2^16$, quindi il numero massimo può essere memorizzato in 16 bit.
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.
Poi la FAT vera è gestita in modo differente, ma teoricamente quanto detto è vero.
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.
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.
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.
Quello che ho calcolato è il numero di blocchi (astratti) non lo spazio occupato (dipende dalla terminologia) dal numero vero e proprio.
