# Chapter 6. Use of the System Disk

Disk-based OS-9 systems use a system disk to load many parts of the operating system during the system startup and to provide files frequently used during normal system operations. Therefore, the system disk is generally kept in disk drive zero (“/D0”) when the system is running.

Two files used during the system startup operation, `OS9Boot` and `startup` must reside in the system disk's root directory. Other files are organized into three directories: `CMDS` (commands), `DEFS` (system-wide definitions), and `SYS` (other system files). Other files and directories created by the system manager and/or users may also reside on the system disk. These frequently include each user's initial data directory.

## The OS9Boot File

The file called `OS9Boot` loaded into RAM memory by the “bootstrap” routine located in the OS-9 firmware. It includes file managers, device drivers and descriptors, and any other modules which are permanently resident in memory. A typical Microware OS-9 distribution disk's `OS9Boot` file contains the following modules:

All editions
OS9P2 | OS-9 Kernel, Part 2
IOMan | OS-9 Input/Output Manager
Init | Initialization Data Module
RBF | Random Block (disk) File Manager
SCF | Sequential Character (terminal) File Manager
PipeMan | Pipeline File Manager
Piper | Pipeline Driver
Pipe | Pipeline Device Descriptor
Term | Terminal Device Descriptor
DD, D0, D1 | Disk Device Descriptors
Printer | Printer Device Driver
P | Printer Device Descriptor
Clock | Real-Time Clock Module

Dragon 64
KBVDIO | Keyboard/Video/Graphics Device Driver
DDisk | Disk Driver
SYSGO | System Startup Process

TRS-80 Color Computer 3
CC3IO | CoCo 3 Keyboard/Video Device Driver
WindInt | CoCo 3 Graphics Co-Module
VDGInt | CoCo 2 Compatible Graphics Co-Module
CC3Disk | CoCo 3 Disk Driver
CC3Go | System Startup Process

Users may create new bootstrap files which may include additional modules (see OS9Gen command). Any module loaded as part of the bootstrap cannot be unlinked and is stored in memory with a minimum of fragmentation. In Level One, it is advantageous to include in the `OS9Boot` file any module used constantly during normal system operation. This can be done with the OS9GEN command. In Level Two, however, since files placed in the OS9boot file will be loaded into the same memory block, when the system switches the boot block into its own address space, the non-system files decrease the amount of memory addressable in system mode. Alternatively, optional modules should be placed in a separate file that is load as part of the system startup procedure.