Amiga Old File System

Amiga Old File System

:"OFS" redirects here. For the former Dutch African colony, see Orange Free State."On the Amiga, the Old File System was the filesystem for Amiga OS before the Amiga Fast File System. Even though it used 512-byte blocks, it reserved the first small portion of each block for metadata, leaving an actual data block capacity of 488 bytes per block. It wasn't very suitable for anything except floppy disks, and it was soon replaced.

History

Originally known as Amiga File System, the filesystem itself was very similar to that of Xerox Alto Filesystem. Development was from 1982 to 1985 as the filesystem of TripOS. It received the nickname of "Old" when Fast File System was released with Amiga OS 1.3.

OFS is very good for repairing the filesystem in the event of a problem, although the so called DiskDoctor provided by Commodore quickly earned the name DiskDestroyer, because it could not repair No-DOS type autostart disks provided by third-party software manufacturers as bootable disks for games. Interestingly, the idea to create non-standard autobootable disks was born in a primitive attempt to prevent copy of such disks and to avoid the loading and launch of Amiga DOS, in order to directly access the amiga graphic, audio and memory chipsets. DiskDoctor in fact changed autostart disks bootblocks into standard AmigaDOS-based ones, renaming a disk with "Lazarus" namedisk, and made the autostart disk unusable.

Metacomco, BSTRINGS, BPOINTERS, and family contained in the Amiga FS entered the scene when it was decided that the originally planned OS would take too long to be developed in time for the launch of Amiga. Consequently, Metacomco grafted onto the filesystem a lot of things that the old Amiga Inc. has changed.

Characteristics

Amiga uses MFM encoding/decoding by default when handling floppy disks. There are 80 cylinders on an Amiga floppy disk. Each cylinder has 2 MFM tracks, one on each side of the disk. Double density (DD) disks have 11 sectors per MFM track, High density (HD) disks have 22 sectors.

The geometry of an Amiga Floppy Disk is as follows:

* DD disks: 512 bytes/sector, 11 sector/track, 2 track/cyl, 80 cyl/disk
* HD disks: 512 bytes/sector, 22 sector/track, 2 track/cyl, 80 cyl/disk

The DD disk has 11 * 2 * 80 = 1760 (0 to 1759) blocks, while the HD disk has 22 * 2 * 80 = 3520 blocks.

Amiga stores 880 KiB on a DD disk and 1760 KiB on an HD floppy disk.

The standard Amiga filesystem has an internal 32 bit wide offset parameter (unsigned). It tells where to start the read/write operation. The biggest size for an Amiga disk is therefore 232 = 4 GiB. This limit was changed with Amiga OS 3.5 and 3.9 and now is 264 = 4 EiB.

OFS Datablock stores Block Size BSIZE-24 bytes (i.e. normally 488 bytes at most frequently used BSIZE of 512 bytes), FFS stores BSIZE bytes (512 bytes per block). FFS supports directory caching, links and international mode. The FFS is also faster than OFS.

The Rootblock is located at the physical middle of the media: block number 880 for DD disks, block 1760 for HDs.

The exact calculation for where it is stored is as follows:

numCyls = highCyl - lowCyl + 1

highKey = numCyls * numSurfaces * numBlocksPerTrack - 1

rootKey = INT (numReserved + highKey) / 2

The Rootblock contains information about the disk: its name, its formatting date, etc. It also contains information on accessing the files/directories/links located at the uppermost (root) directory.

The characters '/' and ':' are forbidden in file and volume names, but *!@#$%|^+&_()=- [] {}';",<>.? and accented letters like âè are allowed.

The date fields in the root block (and other blocks) are structured in the form of DAYS, MINS and TICKS. The DAYS field contains the number of days since January 1. 1978. MINS is the number of minutes that have passed since midnight and TICKS are expressed in 1/50s of a second. A day value of zero is considered illegal by most programs. Since the DAYS value is stored as a 32-bit number, the Amiga filesystem does not have an inherent Year 2000 problem or Year 2038 problem.

To reach a file, directory or link in a removable media, Amiga has to compute its hash value with an algorithm often called a Hash function. After having computed the hash value, this is then used to access HashTable ('ht' field in Rootblock/Directory block). The HashTable [ HashValue ] contains the number of the first block of the object (File header block, Directory block or Link block).

It happens that different names can result in the same HashValue. If more than one name has the same HashValue, the other blocks (for files and directory only) are stored in a chained list. This linked list starts at the 'next_hash' field of the File header or Directory block. For example: file_1a, file_24 and file_5u have the same hash value.

There was a bug in the old AmigaDOS versions when applying the Hash function to international characters (ASCII codes > 128). Consequently, FFS was then created with the 'international mode' (INTL). Filename characters can be lowercase and uppercase, but are not case sensitive.

Files are composed of a file header block, which contains information about the file (size, last access time, data block pointers, etc), and the data blocks, which contain the actual data. The file header block contains up to BSIZE/4-56 data block pointers (which amounts to 72 entries with the usual 512 byte blocks). If a file is larger than that, file extension blocks will be allocated to hold the data block pointers. File extension blocks are organised in a linked list, which starts in the File header block ('extension' field).

See also

*Amiga Fast File System
*Professional File System
*Smart File System
*List of file systems

External links

* [http://lclevy.club.fr/adflib/index.html The ADFlib Page] and precisely [http://lclevy.free.fr/adflib/ ADF File specs]
* [ftp://it.aminet.net/pub/aminet/disk/misc/ADFlib.lha The ADF specs] in LHA format, from Aminet


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Amiga Fast File System — The Amiga Fast File System (FFS; not to be confused with the identically named Berkeley Unix FFS) is a file system used on the Amiga personal computer. The Amiga Old File System (OFS) was too slow to keep up with hard drives. FFS differs mainly… …   Wikipedia

  • File system fragmentation — In computing, file system fragmentation, sometimes called file system aging, is the inability of a file system to lay out related data sequentially (contiguously), an inherent phenomenon in storage backed file systems that allow in place… …   Wikipedia

  • Professional File System — The Professional File System is a filesystem originally developed commercially for the Amiga. It tends to perform very well, due to the simplicity of design.The device is split into two main areas. At the beginning of the device is the metadata… …   Wikipedia

  • Smart File System — The Smart File System (SFS) is a journaling filesystem used on Amiga computers. It is designed for performance, scalability and integrity. It uses block sizes ranging from 512 (29) to 32768 (215) bytes with a maximum partition size of 128 GB.Good …   Wikipedia

  • Smart File System — (SFS)  журналируемая файловая система, используемая первоначально на компьютерах Amiga, затем и на других ОС наследниках(AROS, MorphOS и др.). Проектировалась с учётом требований производительности, масштабируемости и целостности данных.… …   Википедия

  • Smart file system — (SFS)  журналируемая файловая система, используемая на компьютерах масштабируемости и целостности данных. Используются блоки размером от 512 (29) до 32 768 (215) байт, а максимальный размер раздела может достигать 128 Гб. Хорошая… …   Википедия

  • Amiga-Computer — Letztes offizielles Logo Der Commodore Amiga (spanisch amiga: Freundin) war ein von Mitte der 1980er bis Anfang/Mitte der 1990er weit verbreiteter Computer, der besonders in seinen Einsteigermodellen (A500 und A1200) als Heimcomputer beliebt war …   Deutsch Wikipedia

  • Amiga software — covers a wide range of software for the Amiga computer, both productivity and games, both commercial and hobbyist. The Amiga software market was particularly active in the late 1980s and early 1990s but has since the period 1996/1999 dwindled… …   Wikipedia

  • Amiga Hunk — Hunk is the executable file format of tools and programs of the Amiga Classic Operating System (up to AmigaOS 3.9) based on Motorola 68000 CPU and other processors of the same family. This kind of executable got its name from the fact that the… …   Wikipedia

  • Amiga support and maintenance software — This article is a split of main article Amiga software and refers to any support and maintenance software that run on Amiga line of computers.See also related articles Amiga productivity software and Amiga Internet and communications software for …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”