ITS on-disk file system layout

From Computer History Wiki
Revision as of 01:40, 16 January 2024 by Jnc (talk | contribs) (De-dead-end page)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Description of ITS file system's on-disk data structures.

Disk geometry

A block is always 1024 words, and is the basic unit of allocation and data storage. A block may not cross a cylinder boundary. NBLKS is a symbolic constant in the system which is the number of (usable) blocks on a disk pack.

MFD

The MFD is the Master File Directory. It's a list of all directories. The size of the MFD is a system built-in constant. The location is in the logical middle of the disk, computed as NBLKS/2-1. All disk packs have an MFD; if the file system is more than one disk pack, all MFDs should be identical.

The MFD is one block. It starts with a header of seven words, and the rest of the block holds entries of two words each.

Header:

Offset Description
0
1 Pointer to name area
2 Current year
3 Clock offset
4 Preferred writing disk
5 SIXBIT "M.F.D."
6 Number of user directories
7

Entry:

Offset Description
0 SIXBIT directory name
1 Zero (DECUUO depends on this)

UFD

A UFD is a User File Directory which lists all files in a directory. A UFD is one block, located on a fixed disk address which is computed from the UFD index in the MFD. It starts with a header of five words, and the rest of the block holds file entries of five words each. Thus there is space for at most 203 files in an ITS directory.

Header:

Offset Description
0 Pointer to descriptor area
1 Pointer to name area
2 SIXBIT UFD name
3 Amount of space allocated,,Number of blocks used
4

Entry:

Offset Description
0 SIXBIT first file name
1 SIXBIT second file name
2 Random information
3 Creation timestamp
4 Reference timestamp,,Byte size and file length

TUT

The TUT is the Track Utilization Table. It keeps track of which disk areas are in use and which are free. The size of the TUT depends on the size of the disk and is a system constant named NTUTBL. The location is right before the MFD, and is computed as NBLKS/2-1-NTUTBL. All disk packs have a TUT which describes its utilization.