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