Content deleted Content added
m Reverted edits by 92.195.96.226 to last version by ChrisGualtieri (GLOO) |
→Characteristics: Numerous and irrelevant references to fast filesystem removed. Inaccuracies clarified. Confusing use of English simplified. Speculation about some OFS bug removed. Even after all that, this article can still use a *lot* of TLC. |
||
Line 8:
Metacomco, BSTRINGS, BPOINTERS, and family contained in the Amiga FS entered the scene{{Clarify|date=August 2011}} 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{{Specify|date=August 2011}} that the old Amiga Inc. has changed.
== Characteristics of AmigaDOS Floppy Disks ==
Amiga uses [[Modified Frequency Modulation|MFM]] encoding/decoding by default when handling [[floppy disk]]s. 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.
Line 20:
Amiga stores 880 [[kibibyte|KiB]] on a DD disk and 1760 KiB on an HD floppy disk.
==Characteristics of Files under AmigaDOS==
Prior to AmigaOS 3.5, AmigaDOS file handles maintained a 32 bit wide offset parameter (unsigned), telling where to start the next read or write operation. The biggest size for any single Amiga file under these operating systems therefore comes to 2<sup>32</sup> = 4 [[gibibyte|GiB]]. After Amiga OS 3.5, file handles may reference 2<sup>64</sup> = 4 [[exbibyte|EiB]] files. However, OFS-formatted disks continue to retain the 32-bit limitations, for that is an intrinsic limitation of the format as recorded on the media.
An OFS datablock stores block size BSIZE-24 bytes (i.e. normally 488 bytes at most frequently used BSIZE of 512 bytes
The rootblock is located at the physical middle of the media: block number 880 for DD disks, block 1760 for HDs. This helps minimize seek times.
The exact calculation for where it is stored is as follows:
Line 42:
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,
▲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 when accessed. That is to say, "MyFile" and "myfile" in the same directory refer to the same file.
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).
|