Amiga Fast File System - Characteristics

Characteristics

OFS, the predecessor to FFS, used 24 bytes per sector for redundancy data, providing for reconstructing structural data on less reliable media. When higher speed media (i.e. hard disks) became more available to the Amiga, this redundant data posed a bottleneck as all data needed to be realigned to be passed to the application. So the redundancy was removed for FFS and the data read in from media could be passed to the application directly.

FFS was rapidly adopted as the filesystem used by almost all Amiga users, although OFS continued to be widely used on floppy disks by software vendors. This was purely for compatibility with pre-AmigaOS 2 systems in games and applications that did not actually require AmigaOS 2+, as machines running earlier versions of the OS without FFS in the ROM could not boot from these floppies. Many, if not most, Amiga games of the time required booting directly from the game disks.

FFS is simple and efficient, and when introduced was more than adequate, and had many advantages compared to the file systems of other platforms. However, as OFS had done before it, it aged; as drives became larger and the number of files on them increased, its use became increasingly problematic. Despite this, it is still used on Amiga systems even today.

By the last Commodore release of AmigaOS, 3.1, FFS was still the only filesystem shipped as standard with the Amiga, but was already showing its age. Peculiarly, FFS (and OFS) stores a "bitmap" of the filesystem in a single sector, which is prone to corruption or deletion if a write operation is interrupted by a crash or disk removal. This could result in a situation known as filesystem invalidation. To reverse this, the entire disk had to be completely scanned and the bitmap rebuilt.

AmigaOS included a disk validator, originally on disk (which was unfortunately prone to being replaced by viruses to allow themselves to spread) or, more sensibly, as part of the ROM (from Kickstart 2.x onwards). The disk validator attempted to repair the bitmap by write-protecting the drive and scanning it; this could take a long time and made it very slow to access the disk until it was finished, especially on slower media. As hard drives got larger and contained more files, the validation process could take many hours. In addition, files and directories were prone to being lost (often without user notification) during the process if their data hashes were corrupted. In some cases the validator could even fail, forcing the user to use a third-party disk tool like DiskSalv to make the volume writable again – and DiskSalv could only be used on drives smaller than 4 GB.

Although originally limited to 32-bit addressing (and therefore about 4 GB drives), FFS belatedly got some third-party 64-bit patches and then real (but non-Commodore) updates to allow it to circumvent these limitations.

In terms of support tools, although Commodore itself only shipped the much-despised DiskDoctor (and later removed it from AmigaOS disks), FFS had a small selection of third-party tools like DiskSalv to maintain the file system and repair and validate it, undelete files, or reverse "quick formats" (filesystem initializations). An OFS or FFS volume had to be locked to defragment or convert to different FFS modes to prevent corruption – this made it inaccessible to everything but the tool defragmenting it. Most of these tools were not updated by the time FFS became capable of 64-bit addressing and could only operate on drives smaller than 4 GB of the drive; they could not read partitions bigger than 4 GB, and would generally corrupt partitions "beyond" the 4 GB boundary. When hard drives were reaching 4 GB in size, this obviously became a real problem.

For these reasons, FFS was being replaced by users in the mid-1990s with more up to date alternatives such as Smart File System (SFS) and Professional File System (PFS), which did not have these limitations and were considered safer, faster and more efficient. SFS in particular kept being developed.

Read more about this topic:  Amiga Fast File System