1

I'm a little confused on how these terms are thrown around in a book that I am reading. Are they all different terms that refer to the same concept, or are they slightly different implementations corresponding to the same thing but in different types of filesystems? Any input is appreciated :)

1 Answer 1

4

They're completely different things:

A 'file header' is a part of a file that identifies the contents of the file. Some file types specify a file header, some don't. Most document, image, and video formats have a file header from which the file type and basic file parameters can be identified.

A 'bit map' keeps track of what space is used and what space is free. It's usually used by a filesystem to track the usage of space on a volume.

An 'inode' contains file system metadata needed for the filesystem to find the file, know how large it is, and know which blocks contain the data in the file.

4
  • 1
    One important takeaway that I think this (very good) answer should make clear - file headers are completely arbitrary to each specific file type. (It's possible to get the impression from this reading that they're standardized, but just optional, which is of course not the case.)
    – Shinrai
    Oct 25, 2011 at 14:27
  • So you're saying is that the file header is basically where metadata(file permission bits) is stored? Thanks Oct 25, 2011 at 18:17
  • 2
    Yes, but at a higher level. To the filesystem, which doesn't understand the file format, it's just file data. To an application that does, it's metadata that describe the rest of the data in the file. Oct 25, 2011 at 18:20
  • Note that it can potentially be pretty much any type of metadata you might feasibly ever want in a file - if you're writing a proprietary file container, the sky is the limit.
    – Shinrai
    Oct 25, 2011 at 20:00

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .