Some unix filesystems allow files to be sparse, which means that they are logically bigger (potentially much, much bigger) than the space they actually take up on disk. I.e. you can have a hundred 4GB files on a 500MB partition. This is done through a very primitive form of compression: if you seek beyond the physical end of the file and write something there, the space in between will not actually be allocated (but assumed to be full of zeroes); instead, the file's inode contains a special number that means "just zeroes here" for all those disk pages. Physical space will only be allocated when you actually write something to those locations.

This may sound like a wart, a mostly useless special case that just complicates the design, but for some applications (especially in mathematics), it can be very useful.

Log in or registerto write something here or to contact authors.