Advanced Disc Filing System
From Wikipedia, the free encyclopedia
The Advanced Disc Filing System (ADFS) is a computing file system particular to the Acorn computer range. It was based on the rare Acorn Winchester Filing System, but was renamed to the Advanced Disc Filing System when support for floppy discs via the WD1770 Floppy Disc Controller was added.
The WD1770 was introduced in the disc drive add-on for the Acorn Electron. It could be added to the BBC B if an Acorn 1770 adaptor board was fitted (the earlier 8271-based adapter was not compatible, as it couldn't handle ADFS's double-density formats - although one could use ADFS for a hard disc on a machine without a WD1770) and to a B+ without adding any extra controller chips. A version of it was later incorporated directly into the BBC Master and all later models.
Acorn's original Disc Filing System was very limited in that very few files could be stored on a disk, and directory and file names were restricted to 1 and 7 characters respectively, and to some extents was based on the disc firmware used for the Acorn Atom and System 3,6 eurocard computers.
To overcome some of these restrictions Acorn developed ADFS. The most dramatic change was the introduction of a hierarchical directory structure. The filename length increased from 7 to 10 letters and the number of files in a directory expanded to 47. It retained some superficial attributes from DFS; the directory separator continued to be a dot and $
now indicated the hierarchical root of the filesystem. ^
was used to refer to the parent directory and \
was the previously visited directory.
It supported hard discs, and 3½" floppy discs formatted up to 640k capacity using double density MFM encoding (L format; single-sided disks were supported with the S format (160k) and M format (320k)). ADFS as implemented in the BBC micromputer system (and later RISC OS) has never had suppourt for single density.
Later, Arthur added D format with 77 entries per directory as opposed to the previous 47, usable on hard discs and a new 800k double density floppy format.
RISC OS brought in E format, supporting file fragmentation (with the so-called "new map") and adding a per-file "type" attribute—12 bits of type information that was used to denote the contents or intended use of a file. This is similar to the 32-bit type attributes stored in Apple's HFS file system, and conceptually comparable to the more general use of MIME Types by the BeOS operating system. Still later editions of ADFS supported 1600k high density floppies (F format).
ADFS continues to be used alongside other filesystems in recent RISC OS derived systems such as Iyonix. However increased disk sizes have led to modifcations in the way ADFS handles large hard discs.
In current versions of Risc OS, ADFS is not monolithicly implemented (as the original BBC micro implemntation was) with some higher level functions being handled by OS modules called the Filecore and Fileswitch (whose functions is in some ways similar to the IFS and IO system managers in Windows NT).
The Linux kernel has ADFS support for E format and later.