Written by Christian Ahmer | 11/24/2023

Fast File System (FFS)

The Fast File System (FFS) is a file system optimized for disk storage and was a significant evolution from the Old File System (OFS) used in early Amiga computers. Introduced with AmigaOS 1.3, FFS addressed many of the performance issues inherent in OFS, making it more suitable for the larger hard disks that were becoming common.

FFS maintains the basic structure of an Amiga file system, with blocks being the fundamental units of storage. However, unlike OFS, FFS implements a more efficient approach for managing these blocks. The key to FFS's performance is the elimination of the storage overhead required for metadata in each data block. In OFS, each data block contains its own header information, but in FFS, this information is centralized. This change means that more of each block's space is available for actual user data, enhancing storage efficiency.

The FFS employs a linked list for directories, much like OFS, but with a crucial difference in the handling of file data. Instead of interspersing header information within the file's data blocks, FFS uses a separate extension block that stores pointers to data blocks. This structure significantly reduces the number of disk reads needed to access a file, thereby improving access times.

Another important feature of FFS is the introduction of the bitmap block allocation method. Instead of a linked chain of blocks to keep track of free space, FFS uses a bitmap that provides a visual representation of the disk with bits representing individual blocks. This makes the allocation and deallocation of space more efficient, particularly with larger disks.

FFS also improves upon OFS by allowing for international character support in file names, making it more adaptable to non-English-speaking users. It maintains the use of checksums for error detection, ensuring data integrity across the system.

One of the limitations that FFS shares with OFS is the lack of built-in support for file permissions and security features, which limits its use in multi-user environments or where file security is a concern. However, this was a common limitation of many file systems of the time and not unique to FFS.

Despite these limitations, FFS was a robust file system for its era. It provided Amiga users with a more efficient way to store and access data, particularly as they moved from using primarily floppy disks to also incorporating larger-capacity hard disks. FFS remained the standard file system for Amiga computers until the introduction of the AmigaOS 4.x range, where it was succeeded by more modern file systems with features like journaling and improved metadata handling.

The design of FFS, focused on performance and efficiency, illustrates the evolution of file system technology in response to changing hardware capabilities and user needs. Its legacy is evident in the way it paved the way for subsequent developments in Amiga file systems, and it remains a part of the rich history of Amiga computing.