Skip to content

The ITS file system

Lars Brinkhoff edited this page Aug 23, 2023 · 8 revisions

An ITS file is named by four components: device, directory, and two file names. Each component may be up to six characters from the upper-case ASCII subset. A device name is followed by colon, :, and a directory is followed by a semicolon, ;. All components except the first file name are optional, and may come in any order. However, the most common way is to write them is the order device: directory; fn1 fn2. The second file name is sometimes used as a edit version number. If the second file name is entered as >, it refers to the latest version for reading, or a new version for writing. < refers to the oldest version.

Some devices have no directories or file names, and just represent I/O for a device. Others have files, but no directories. The TTY: device has neither, but can still provide a file listing!

The main file system is on disk, which is device DSK:. The disk device has a magic file name M.F.D. (FILE), which is a listing of all directories. M.F.D. means Master File Directory and is the directory of directories. A user directory is sometimes called called U.F.D.. A user directory can only hold around 200 files. If more files are needed, sometmes "overflow directories" are created, usually with a suffix 1.

Some important system directories are:

  • . — Default directory for DSKDMP; holds bootable ITS binary.
  • SYS — System executable programs. Also SYS1, SYS2, etc.
  • SYSENG — System "English", i.e. source code, for SYS.
  • SYSTEM — Source code for ITS itself.
  • CHANNA — System demons.
  • DRAGON — Puff the magic dragon, stores accounting information and other bookkeeping.
  • DEVICE — Programs for user-space device drivers, and network daemons.

Some file name conventions:

  • "TS SOMETHING" is an ordinary executable program. "TS" means timesharing; e.g. "TS LISP" is Lisp for running under timesharing.
  • "@ SOMETHING" is a standalone program. "@" is the default first filename for DSKDMP. E.g. "@ LISP" is Lisp for running out of timesharing.
  • "SOMETHING BIN" is the binary output from the MIDAS assembler.
  • "SOMETHING ORDER" documents a list of commands for a program.
  • "NSOMETHING" is the "new something", and "O*SOMETHING" is an older version.