Amiga Old File System: Difference between revisions

Content deleted Content added
m Reverted edits by 81.182.51.117 (talk) to last version by Rchandra
Line 20:
Amiga stores 880 [[kibibyte|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 2<sup>32</sup> = 4 [[gibibyte|GiB]]. This limit was changed with Amiga OS 3.5 and 3.9 and now is 2<sup>64</sup> = 164 [[exbibyte|EiB]].
 
An 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).
Line 47:
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 > 127128). 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).