Amiga Fast File System - History

History

FFS was introduced with version 1.3 of AmigaOS in 1988. It carried the version number of v34, like the rest of the OS.

FFS was backwards compatible with the older filesystem (which became known as OFS), but Amiga machines with older versions of the Kickstart ROM could not boot from FFS-formatted floppy disks. In the case of hard drives, the FFS filesystem could be placed onto the drive RDB (Rigid Disk Block) and executed on boot; it could also be kept on disk for mounting other FFS volumes. Apart from this inability of older systems with FFS in ROM to boot, FFS did not have any compatibility problems with Amiga software, even ones that were considered "system-unfriendly".

FFS operated in several modes, defined by "dostypes". AmigaOS filesystems are identified by a four letter descriptor which is specified either in the RDB or a mountlist or dosdriver; alternatively (as was the case in trackdisk-like devices like floppy disks), the disk itself could be formatted in any dostype specified.

FFS dostypes were as follows:

DOS\0: The original Amiga filesystem (OFS). This was left in for compatibility purposes, and the majority floppy disks shipped by software companies or as magazine coverdisks used this dostype so that they would boot on pre-2.x machines like the Amiga 500. It also meant that users with existing OFS-formatted drives could read them once they had installed FFS to the RDB.

DOS\1: The new filesystem, FFS. The first, disk-based releases of FFS did not have any additional modes.

AmigaOS 2.04 made FFS (now v37) part of the Kickstart ROM and introduced new modes for handling international characters in filenames, and for an on-disk directory cache. Each new mode was available with both OFS and FFS dostypes. This odd system was for parity: OFS modes apart from DOS\0 were almost never used but were available nonetheless. (It should be noted that, although OFS, they were still not compatible with Amiga systems without FFS).

The four new dostypes introduced with v37 of FFS:

DOS\2: "International" (OFS-INTL) mode allows OFS to handle filenames with "international characters" - i.e. those not found in English, such as ä and ê.

DOS\3: International mode, for FFS (FFS-INTL). This was the most commonly used FFS mode. (All higher dostypes have international mode always enabled.)

DOS\4: "Directory Cache" (OFS-DC) mode enabled to primitive cache by creating dedicated directory lists instead of having to pick up the linked directory/file entries that lie scattered over the disk. A certain (small) amount of disk space to store the data is allocated. The DirCache option improved directory reading speed drastically but creating, deleting and renaming files became slower. It did not increase the speed of reading individual files.

It became a popular choice on Amiga hard drives, but according to Olaf Barthel, author of FFS2, the use of dircache modes was probably better for floppy disks than it was for hard drives, where it would cause an overall degradation in performance compared to lack of dircache. Despite this it was rarely used on floppy, particularly because of the cache eating precious space, and because of the limited space preventing there being many files to cache in the first place. (According to Barthel it may also have had some serious implementation bugs that would compromise the filesystem over prolonged usage, although the specifics were never released.)

DOS\5: Directory caching with FFS (FFS-DC). Both dircache modes were not backwards compatible with earlier versions of FFS.

Version 40.1 was the last version of FFS released by Commodore, and came with AmigaOS 3.1, both on the OS disks and in the ROM. After this, several unofficial patches appeared which allowed its use on drives after the first 2 GB of a hard disk using a 64-bit addressing system called TrackDisk64 or TD64 (although the 2 GB limit on file size and the 127 GB limit on partition sizes remained, as it was a limitation of AmigaOS dos.library and all then-current Amiga software) and carried the version number of v44. The version of FFS that came with AmigaOS 3.5 and 3.9 was v45 and differed in that it used a different 64-bit addressing system, New Style Device or NSD.

More recently (from 2003), MorphOS and AmigaOS 4 have introduced support for a slightly updated "FFS2", by Olaf Barthel (FFS v46, v50 respectively). This is compatible with the older FFS. It is PowerPC native, and introduced two more dostypes (which are not capable of being read by the older FFS):

DOS\6: "Long Filename" (OFS-LNFS). This allowed files to have a longer filename (up to 107 characters) than the usual Amiga limit, which was 30 characters.

DOS\7: Long filenames for FFS (FFS-LNFS).

There were no directory caching modes available for LNFS dostypes, and International Mode was always enabled.

Despite the ability to use the long filenames, by this time FFS compared very poorly to other available filesystems on the platforms it was available for. Apart from these extra dostypes, there are little or no functional difference between FFS and FFS2 (although some older non-specified bugs may have been dealt with) and should still not be used except for legacy purposes. Disk validation is still necessary in FFS2 (and may still result in data loss) just as it was on FFS, despite early beliefs to the contrary.

Read more about this topic:  Amiga Fast File System

Famous quotes containing the word history:

    The history of men’s opposition to women’s emancipation is more interesting perhaps than the story of that emancipation itself.
    Virginia Woolf (1882–1941)

    Most events recorded in history are more remarkable than important, like eclipses of the sun and moon, by which all are attracted, but whose effects no one takes the trouble to calculate.
    Henry David Thoreau (1817–1862)

    It is the true office of history to represent the events themselves, together with the counsels, and to leave the observations and conclusions thereupon to the liberty and faculty of every man’s judgement.
    Francis Bacon (1561–1626)