OFS
The Amiga Old File System was the standard file system for Amiga floppy disks and hard drives with AmigaOS 1.0-1.2. Originally it was named the "Amiga File System", but was superseded by the Fast File System released with Workbench 1.3 and was retrospectively renamed to "Old File System".
There is a limit of 30 characters per file or directory name, these can be any ISO-8859-1 characters except "/" and ":". Directories can be nested arbitrarily deep.
The filesystem originally came from TRIPOS, which formed the basis of AmigaDOS until Workbench 2.0 was released. The format has serious deficiencies; the main one being that each 512 byte block of data is 488 bytes of actual data and 24 bytes of metadata. The main difference between OFS and FFS is that FFS got rid of this metadata in data blocks, and instead wrote continuous blocks of raw data with no metadata in them.
OFS data block metadata
Size | Purpose | How FFS eliminated it |
---|---|---|
4 bytes | "this block is a data block" | The root block is in a fixed position. It points to directory blocks. They point to file header blocks. Those point to data blocks |
4 bytes | a pointer back to the file header block | The file header block points to data blocks; the data blocks don't point back |
4 bytes | Which block number this is in the file | The file header block lists all data blocks in order |
4 bytes | Size of this block | The file header block lists the file size |
4 bytes | Pointer to the next block | The file header block lists all data blocks in order |
4 bytes | Checksum | No checksums |