Difference between revisions of "WAITS on-disk file structure"
(→UDP: Disk not data.) |
(Table for RIB data.) |
||
Line 91: | Line 91: | ||
== RIB == | == RIB == | ||
− | All blocks start with a '''RIB''', ''retrieval information block''. It's a record which holds information about the file the block belongs to. | + | All blocks start with a '''RIB''', ''retrieval information block'', also called '''retrieval record'''. It's a record which holds information about the file the block belongs to. |
+ | |||
+ | {| class="wikitable" | ||
+ | ! Offset || Description | ||
+ | |- | ||
+ | | 0 || SIXBIT file name | ||
+ | |- | ||
+ | | 1 || SIXBIT file extension,,Creation timestamp | ||
+ | |- | ||
+ | | 2 || Protection | ||
+ | |- | ||
+ | | 3 || PPN | ||
+ | |- | ||
+ | | 4 || ''Record'' address of the first block in the file | ||
+ | |- | ||
+ | | 5 || File length, in words | ||
+ | |- | ||
+ | | 6 || Reference timestamp | ||
+ | |- | ||
+ | | 7 || Dump status | ||
+ | |- | ||
+ | | 10 || Record address of this group | ||
+ | |- | ||
+ | | 11 || Record address of next group | ||
+ | |- | ||
+ | | 12 || SAT ID | ||
+ | |- | ||
+ | | 13-16 || DQINFO | ||
+ | |- | ||
+ | | 17 || Record offset | ||
+ | |} | ||
== MFD == | == MFD == |
Revision as of 19:40, 14 June 2023
This is a description of the WAITS' on-disk file structure; in particular the version used with RP06 and RP07 packs on a KL10 in 1988. There are differences against the KA10 1974 data structures. Much of this information comes from the last version of RSKINI, which is used to format a disk pack.
Contents
Disk area units and geometry
A disk sector of 128 words is often called record, especially if it's part of the disk structure. Addresses are usually linear record numbers. Some disk areas fall outside the usable range of sectors, and the record address does not take those into account.
Four records together make up a page, always 512 words. Some number of records, usually 9 or 10, grouped together is called a block. The this is the smallest unit of allocation. The bits in the SAT refer to blocks.
A disk is viewed as some number of cylinders, each comprising the sectors that can be accessed without a disk seek. Each cylinder has several tracks, and each track has several records. WAITS may elect to format the disk with some sectors left over per track. E.g. only 18 of the 20 sectors on a bootable RP06 track may be used, and the last two are invisible to the file system code.
The records of a cylinder are divided into pages. The logical end of the cylinder may have some left over records after the last page. The cylinder pages are divided into blocks; again there may be an unused remainder since pages might not divide blocks evenly.
A file structure may stretch across several disk packs, called units. Record and block addresses span across units.
HOM blocks
There are two HOM blocks. They are both at the logical beginning of the disk, i.e. on the first track of the first cylinder of the first unit. The first block is sector 1 (starting from 0), and the second is 10 (decimal). There are no HOM blocks on the other units.
The HOM block is one record, i.e. 128 words. The ID strings are 8-bit ASCII, stored byte swapped in half words.
Offset | Description |
---|---|
0 | SIXBIT "HOM " |
1 | 0 |
2 | 0 |
3 | SIXBIT structure name. |
4 | Number of packs,,Unit number for this pack |
5 | Address of other HOM block,,Address of this block |
6 | Pages on this unit |
7 | First swapping cylinder |
10 | Address of MFD |
11 | Address of SAT |
12 | Size of SAT, in records |
13 | Number of records in this unit |
14 | Number of cylinders on all structure units |
15 | 0 |
61 | Address of front-end file system |
62 | Size of front-end file system |
101 | Address of bootstrap |
102 | Size of bootstrap |
164 | Processor serial number |
165-167 | Unit ID |
170-172 | Owner ID |
173-175 | File system ID |
176 | HOM magic number 0707070 |
177 | This HOM block address |
BAT block
The BAT block is after the first HOM block, and is optional.
SAT
The SAT is the Storage Allocation Table. There is only one SAT for the entire structure. It can be on any unit.
The SAT is a bit array, indexed by block address. 1 means free, and 0 means allocated. Bits inside words are MSB, i.e. bit 0 by PDP-10 convention, first
All disk areas in use, including HOM and BAT blocks, SAT, and swapping area, must be allocated in the SAT.
Swapping area
Each unit has a swapping area, starting at the cylinder specified in the HOM block. The size, in number of cylinders, is a system constant
RIB
All blocks start with a RIB, retrieval information block, also called retrieval record. It's a record which holds information about the file the block belongs to.
Offset | Description |
---|---|
0 | SIXBIT file name |
1 | SIXBIT file extension,,Creation timestamp |
2 | Protection |
3 | PPN |
4 | Record address of the first block in the file |
5 | File length, in words |
6 | Reference timestamp |
7 | Dump status |
10 | Record address of this group |
11 | Record address of next group |
12 | SAT ID |
13-16 | DQINFO |
17 | Record offset |
MFD
The MFD is the Master File Directory. There is only one MFD for the entire structure. It can be on any unit.
The MFD is the [1,1] directory. Each file in the MFD is a UFD with a file name matching that UFD's PPN. The MFD itself is the file ' 1 1'.UFD[1,1].
UFD
A UFD is a User File Directory, corresponding to a user PPN, project-programmer number. The UFD is a file with extension UFD in the [1,1] directory. It consists of a sequence of UFD entries which are either 4 or 16 words long, depending on whether the monitor was assembled with FDLUFD enabled or not. WAITS changed to the long format late 1977.
Offset | Description |
---|---|
0 | SIXBIT file name |
1 | SIXBIT file extension,,Creation timestamp |
2 | Protection |
3 | Record address of the first block in the file |
4 | File length, in words |
5 | Last time written |
6 | Reference timestamp |
7 | Dump status |
12 | SAT ID |
13-16 | DQINFO |
17 | Record offset |
UDP
A UDP is a User Disk Pack. This is a removable disk pack that holds data for a single user. WAITS will have at least one disk drive available for mounting UDPs.