Advanced Disc Filing System: Difference between revisions

Content deleted Content added
Addbot (talk | contribs)
m Bot: Migrating 2 interwiki links, now provided by Wikidata on d:q379528
Nick Reeves design document
Line 2:
|name = ADFS
|full_name = Advanced Disc Filing System
|developer = Hugo Tyson, Nick Reeves
|introduction_os = [[Acorn MOS]]
|introduction_date = 1983
|partition_id = <tt>Hugo</tt> or <tt>Nick</tt> (Directory header/footer)
|directory_struct = Hierarchical cataloguesfixed-length tables
|file_struct = Start-lengthOne entriesrange forper filesfile andplus table of free-space ranges (L), bitmap with embedded file IDs spaces(E)
|bad_blocks_struct = No structurenone (deletedL)<ref fromname="reeves-efmt"/>, bothmarked mapsin bitmap (E)
|max_filename_size = 10 characters
|max_files_no = 47 per directory (L), 77 per directory (E)
Line 45:
Arthur added ''D'' format with 77 entries per directory as opposed to the previous 47, also usable on hard discs and a new 800&nbsp;KB double-density floppy format. A per-file "type" attribute was added in space previously used to store Load and Execute addresses. The 12 bits of type information is used to denote the contents or intended use of a file, typically presented as three [[hexadecimal]] digits. This is similar to the 32-bit type attributes stored in Apple's [[Hierarchical File System|HFS]] file system, and conceptually comparable to the more general use of [[MIME#Content-Type|MIME Types]] by the [[BeOS|Be Operating System]] (BeOS), or [[Magic number (programming)#Format indicator|magic number]]s in Unix systems (though the latter is stored as part of the file, not as metadata).
 
RISC OS brought in ''E'' (and later ''F'') format for double and high-density discs respectively. These formats support file fragmentation (with the so-called "new map"), storage of multiple files per fragment and storage of small files in directory tables. The allocation strategy is optimised to minimise fragmentation, and sometimes performs defragmentation as part of a file storage operation.<ref name="reeves-efmt">{{Cite web|last=Reeves|first=Nick|date=26 October 1990|title=E format design document|url=http://www.chiark.greenend.org.uk/~theom/riscos/docs/ultimate/a252efmt.txt|accessdate=24 May 2013}}<!-- see exception clause in WP:USENET --></ref> RISC OS 4 added ''E+'' format which allowed for long filenames and more than 77 files per directory.{{Citation needed|date=June 2007}} More recent versions of RISC OS, including those for [[Iyonix]], continue to provide ADFS, and have further extended it to cope with larger hard disc sizes.
 
Unlike the 8-bit implementation, ADFS as implemented on RISC OS is not monolithic. A system module called "ADFS" provides no more than the block driver and user interfaces, where the "FileCore" module contains the actual file system implementation, and FileSwitch contains the VFS and high-level file-access API implementations. This allows for other hardware to use the ADFS format easily, such as IDEFS (commonly used for IDE add-on cards), SCSIFS, and the network-aware AppFS. FileCore and FileSwitch's functions are in some ways similar to the IFS and IO system managers in Windows NT. This flexibility has allowed other filing systems to be implemented into RISC OS relatively easily.