Written by Christian Ahmer | 11/08/2023

The Old File System (OFS) is one of the initial file systems developed for the Amiga personal computer. It was introduced with AmigaOS in 1985 and was the default file system for Amiga floppy disks. OFS is notable for its straightforward design, tailored to the storage capacities and system architectures prevalent in the mid-1980s.

OFS uses a sector-based layout, where each disk is divided into sectors, typically 512 bytes in size. The file system structure comprises several key areas: the boot block, which is reserved for bootstrapping the system; the bitmap block, which tracks free and used sectors; the root block, which serves as the directory for the entire disk; and data blocks, which store the actual file data.

Each file in OFS is represented by a file header block that contains metadata such as the file name, size, and attributes, along with pointers to the data blocks that contain the file's contents. Directories are similarly structured, with each directory entry pointing to the header block of a file or another directory.

A defining feature of OFS is its use of linked lists to manage file space allocation. When a file is stored, it is broken into blocks, and each block is linked to the next with a pointer. This creates a chain of blocks that can be followed to read the entire file. While this method is simple to implement, it has performance drawbacks, particularly with larger files, as the system must follow a potentially long chain of pointers to access all parts of a file.

OFS also includes redundancy in its design, with each disk block including a checksum to detect corruption. If a block's checksum does not match the data, the system can report an error, prompting the user to take action. However, OFS does not include any form of automatic error correction or recovery.

One of the limitations of OFS is its inefficiency in managing disk space. The file system does not handle small files well, as each file requires a minimum of two blocks — one for the header and one for data. This means that even a file containing a single byte of data will consume an entire block of disk space, leading to significant wasted space for directories with many small files.

OFS's simplicity also comes with a lack of features that became standard in later file systems. It does not support advanced attributes, file permissions, or journaling, which are essential for modern multi-user or mission-critical systems.

Despite its limitations, OFS was suitable for the Amiga's initial use cases, particularly for floppy disk storage, where disk space was limited, and the simplicity of design allowed for a lower overhead. It laid the groundwork for later developments in Amiga file systems, such as the Fast File System (FFS), which retained backward compatibility with OFS while providing performance and space management improvements.