blocks vs bytes
Giorgos Keramidas
keramida at ceid.upatras.gr
Mon Nov 29 13:31:38 EET 2004
On 2004-11-29 08:23, Vasilis Vasaitis <v.vasaitis at sms.ed.ac.uk> wrote:
> Α, και άσε τις ιστορίες περί BSD, άλλο σύστημα αρχείων εκεί, το πολύ
> πολύ να μπερδευτείς παραπάνω. ;^)
Ίσως ναι. Ίσως πάλι κι όχι. Ίσως να καταλάβει γιατί τα διάφορα ``block
sizes'' στα οποία αναφέρεται είναι δυο πολύ διαφορετικές έννοιες.
Στο άδειο DVD του το `block size' είναι το disk block size, που είναι
2048 για όλα τα DVD που έχω δει ως τώρα.
Στο / filesystem του το `block size' που αναφέρει η du είναι σε 1024-byte
blocks, που δεν έχουν καμία σχέση με τα 8192-byte blocks που χρησιμοποιεί το
filesystem ή με τα 512-byte ``blocks'' που χρησιμοποιεί ως minimum block size
το super-duper filesystem Z με τα variable filesystem blocks του.
Και πάει λέγοντας, όταν αλλάζει το filesystem :-)
Μιχάλη,
για να μη μπερδευτείς περισσότερο με το τι χώρο πιάνει, πόσο, γιατί και πότε
ένα σύνολο από αρχεία στο DVD, πρέπει να υπολογίσεις αρκετά πράγματα:
α. Το χώρο που πιάνουν τα ίδια τα δεδομένα των αρχείων.
Αυτό υπολογίζεται εύκολα με τη φόρμουλα που είπε ο Βασίλης:
size_t fsize; /* file size in bytes */
size_t nblks; /* # of 2048-byte disk blocks */
size_t blksz; /* 2048 bytes */
blksz = 2048;
nblks = ((fsize / blksz) + ((fsize % blksz) != 0);
Ο χώρος που θα πιάσουν τα _δεδομένα_ ενός αρχείου είναι ακριβώς:
nblks * 2048 bytes
β. Το χώρο που πιάνουν τα metadata του filesystem που θα έχει το
CD-ROM/DVD/οτιδήποτε. Αυτό δυστυχώς δεν μπορείς να το υπολογίσεις
εύκολα κι εξαρτάται πάρα πολύ από το filesystem. Διαφορετικό χώρο
π.χ. θα σου "φάει" το ext2 από το iso9660 ή το ufs ή το reiserfs.
Διαφορετικό χώρο χρειάζεται ακόμα και το ίδιο το ext[23] αν
χρησιμοποιήσεις διαφορετικά block sizes στο newfs.
More information about the Linux-greek-users
mailing list