Perhaps my knowledge of FAT is dated (I learned the format in '81 or
so and maybe it has been improved for 16-bit cluster numbers as
opposed to 12-bit), but it keeps a single linked list of free clusters
-- files get clusters allocated from the front of the list, and
deleted files have their clusters returned to the front of the list.
This allocation scheme has the *inherently bad* affect of causing
major fragmentation. Under DOS, performance really starts to suck
when directories get fragmented, but I guess that's an implementation
detail.
Tom.