The Master File Directory (MFD) was an essential data structure on any ITS file system, so any effort to preserve the rest of the data should include this structure too. The MFD is similar to the modern-day ``root directory'' in a hierarchical file system, except that ITS had a flat file system with only one level of directories. So, the MFD contained a listing of all of the directories on disk. Each user had his/her own directory and each directory had a unique index number associated with it. The author of a file was recorded as the index number to his directory in the MFD. In essence, the only information the MFD provides us is the user ID number to user name mapping required to determine whose files are whose.
Decoding the MFD is simple as long as one understands some of conventions used in ITS data structures. It was our hope that by translating this in a rational manner, I would be the last person required to understand the format of the MFD.
The MFD is basically an array of usernames encoded in ``sixbit''; the index number is determined by the position of the name in the array. Sixbit is a method of encoding characters in 36-bit words in which each character is 6 bits long, for a total of 6 characters per word. Sixbit does not include the lower-case characters, so all user names were in capital letters. Each user name was limited to 6 characters, so it would fit in one 36-bit word. The translation from the array of sixbit user names to an array of ASCII user names was straightforward.
If the MFD was included on a backup tape, it was always the first file. Therefore, the archivist software looks for the presence of the MFD and then decodes it as mentioned above. The raw and translated forms of the MFD are then written out in TCFS format as with the rest of the files. However, the archivist also keeps a copy of the MFD in memory so it can determine the user name associated with any files it finds later on the tape.