Master.,

building a compete OS (although it might not be a big one) looks like more than plain high school stuff to me.

It is quite common that programmers don't explain what their "reserved for future expansion" stuff might mean sometime. This is natural because its future stuff. If they could explain it, maybe they might find a much better occupation than being a programmer!

It is quite common, too, that much of that reserved stuff, if any at all, is never used until the software becomes obsolete. But the opposite might happen as well: They run out of reserved values. In that case, data structures might be extended, new structures added or even new API functions may be introduced. In the Win sphere this often results in names ending on "Ex".

My explanation that the reserved cluster numbers might have to do with the range of valid media descriptors in the first two FAT entries was just a crutch, thying to find something at all that might explain it.

Wikipedia has a nice article on the FAT file system. Maybe I should have looked there first before digging out my old books (yes: real books made of paper! ) I found no explanation of the cluster number mystery there, too, but it has a lot of related links to other sites that I didn't want to follow myself, at least now. Most of them appear to be about FAT32, though, but the mystery has not been removed up to that version of the file system.

But I don't think you should worry too much if you don't find an explanation for that. I haven't seen one in decades, so your instructor IMO should not really expect that you find one in some weeks. But if you really do find it, tell me! I'm really curious and like that conspiracy theory stuff...

When your instructor spoke about that these cluster numbers are a limited resource, I think he meant that a limited number of clusters is one of the major disadvantages of nearly all incarnations of the FAT file system. And gaining another seven possible cluster numbers would not really help there.

BTW, while thinking about the FAT file system I found another mystery: Why are the first two entries of the FAT reserved at all? Just to store the media descriptor doesn't look like a really good reason to me, as this is only a duplicate of the media descriptor field in the BPB, stored in the boot sector, and I think any file system driver has to hold a copy of that BPB anyway. This duplicate field looks just like another possible source of file system inconsistencies...

Possible explanation: The inventors of the file system might have initially thought of the FAT as a description of more or less the entire file system (including the root directory, but excluding the FAT itself and the boot sector). But this explanation isn't really good: The only disk format that this would be true for (i.e. the size of the root directory is equivalent to two clusters) are DS-DD diskettes with a capacity of 320 kB (8 sectors per track), media descriptor 0xFF. But this format is quite uncommon, disks with 9 sectors per track (360 kB) are really more common. (But maybe that was not the case in the early days of the FAT file system.)

HTH, so far...

Ah, and, asalehian,

thanks for posting the link to that PDF file. It made me really curious! But the pages around 12 in that document didn't contain any information that we didn't already know (I think, as far as I'm speaking for Master. here)...