Disc Filing System
The Disc Filing System (DFS) is a computer file system developed by Acorn Computers, initially as an add-on to the Eurocard-based Acorn System 2. In 1981, the Education Departments of Western Australia and South Australia announced joint tenders calling for the supply of personal computers to their schools. Acorn's Australian computer distributor, Barson Computers, convinced Joint Managing Directors Hermann Hauser and Chris Curry to allow the soon to be released Acorn BBC Microcomputer to be offered with disk storage as part of the bundle. They agreed on condition that Barson adapted the Acorn DFS from the System 2 without assistance from Acorn as they had no resources available. This required some minor hardware and software changes to make the DFS compatible with the BBC Micro. Barson won the tenders for both states, with the DFS fitted, a year ahead of the UK. It was this early initiative that resulted in the BBC Micro being more heavily focused on the education market in Australia, with very little penetration of the home computer market until the arrival of the Acorn Electron. The DFS shipped as a ROM and Disk Controller Chip fitted to the BBC Micro's motherboard. The filing system was of extremely limited functionality and storage capability, using a flat directory structure. Each filename can be up to seven letters long, plus one letter for the directory in which the file is stored.[1] The DFS is remarkable in that unlike most filing systems, there was no single vendor or implementation. The original DFS was written by Acorn, who continued to maintain their own codebase, but various disc drive vendors wrote their own implementations. Companies who wrote their own DFS implementations included Cumana, Solidisk, Opus and Watford Electronics. The Watford Electronics implementation is notable for supporting 62 files per disc instead of the usual 31, using a non-standard disc format. Beyond that, the Solidisk implementation introduced proprietary "chained" catalogues which allowed unlimited files per disc (only constrained by the disk size).[2] Other features in third-party implementations included being able to review free space, and built-in Acorn followed up their original DFS series with the Acorn 1770 DFS, which used the same disc format as the earlier version but added a set of extra commands and supported the improved WD1770 floppy drive controller chip. Physical formatDFS conventionally uses one side of a double-density 5¼" floppy disc. Discs are formatted as either 40 or 80 track, giving a capacity of 100 or 200 KB per side (ten 256-byte sectors per track, with FM encoding). The capacity is limited by the choice of the Intel 8271 controller in the original BBC Micro, which only supports FM encoding, not the MFM encoding which was already in common use by the time of the BBC Micro's launch. FM encoding gives half the recording capacity of MFM for a given physical disc density. FM and MFM encoding are commonly referred to as "single density" and "double density", although the discs and drives are the same, unlike "high density", which uses different drives and discs. Double-density 3½" discs can be formatted and used with 1770 DFS (the Intel 8271-based DFS has problems with many 3½" drives), giving the same "single-density" capacity with FM encoding, but this was not originally standard practice. 3½" discs were normally formatted as MFM "double density" using the later Advanced Disc Filing System, as this is present in all Acorn machines supplied with 3½" drives. As of 2009, 3½" drives are more commonly used with BBC Micros than in the past, including use with DFS, due to their greater availability and easier data interchange with more recent computers. High-density 5¼" and 3½" discs are not supported by DFS. Single- and double-sided operationThe DFS does not directly support double-sided discs; instead, the two heads of a double-sided drive are treated as two separate logical drives. The DFS can support up to four volumes, numbered from 0 to 3. Drive 0 is the default with drive 1 representing a second drive attached to the cable. "Drive" 2 referred to the reverse side of drive 0, and "drive" 3 was the reverse of drive 1. There is no support for more than two physical drives. Due to the installed base of single-sided drives, commercial software was normally provided on single-sided discs, or as "flippy discs" that were manually reversed to access the other side. 40- and 80-track compatibilityDiscs can be formatted using 40 or 80 tracks, using the The disc capacity is stored as a sector count in the catalogue on track zero. Track zero is located in the same place on both 40- and 80-track discs, allowing a disc file system to set the motor stepping accordingly. However, the Intel 8271-based Acorn DFS does not do so, and so dual-format capability was addressed in a number of ways:
Failure to use the correct setting would result in errors from the DFS such as Switching to 80 tracks did not extend the catalogue in any way, leaving the user prone to running out of filename slots before running out of space on the disc. This situation resulted in a File storageFilenamesDFS is case-preserving but not case-sensitive. The prevalence of all-capitals filenames is most likely due to the BBC Micro defaulting to caps lock being enabled after a hard or soft reset. The character set is quite permissive, and all printable characters of 7-bit ASCII are allowed, including spaces, but excluding:
For the sake of portability to third-party DFS implementations, it is best to avoid Quotation marks are allowed, although BBC BASIC requires them to be escaped twice:
A fully qualified filename, or "file specification" ("fsp" for short) contains a colon then the drive number, a dot, then the directory letter, another dot, and the name. For example, a file in the default directory of "drive" 2 called Directories"Directories" in the DFS are single character prefixes on filenames - such as PROGRAM (12) Drive 0 Option 2 (RUN) Dir. :0.$ Lib. :0.$ !BOOT HELLO SUMS TABLE TEST VECTORS ZOMBIE A.HELLO L B.SUMS F.BankLtr The top seven files are all in the current directory which is The DFS provides a working space, divided up into the directory and the library. The "directory" is the working directory on the current volume, much like the working directory on any other command line system. The "library" is a second, alternative working directory that functions more like PATH and had the benefit of being able to be on any volume. Requests to open files with unqualified names, will first be searched for in the working directory; failing this, the library directory will also be searched. The directory and library both default to the same directory. Disc structureThe catalogue (file table) occupies the first two disc sectors: one for the names and directories of each file, and a matching sector holding the file locations, sizes and metadata. Eight bytes of each sector are used for each file. With a further eight bytes from each sector reserved for the 12-byte disc title and the volume information, the total number of files on the disc (irrespective of which directory each file is in) is limited to 31. In the interests of saving space, the most significant bit of the directory letter for a file is used as the locked (read-only) flag. Volume sizeAlthough physical disks are usually formatted as either 100 KB or 200 KB, DFS supports volume sizes up to 256 KB. The largest DFS file size allowed is the volume size minus ½ KB for the catalogue, as file sizes are stored as an 18-bit quantity. File allocationThe DFS does not support data fragmentation, meaning a file's data must be stored in a single run of consecutive sectors, but free space is prone to becoming fragmented. Random-access file writes fail when the end of the file reaches the beginning of the next, even though there may be free sectors elsewhere on the disc. In such cases the DFS aborts with a The MetadataLike the cassette filing system, the Acorn DFS supports the BBC Micro's standard file metadata: load address and execution address, required because Acorn MOS (the operating system used by the BBC Micro) does not support relocation of binary code. A file should be loaded to the address the programmer intended, as the contents may refer to internal locations by absolute addresses. An execution address is also recorded as the entry point is not necessarily at the beginning, or even within the file. File attributes are limited to a single bit: Locked. When set, an DatesDFS discs do not track any dates (because Acorn MOS prior to version 3 did not maintain a real-time clock) but instead offer a peculiar feature: a modification count. Every time the catalogue is updated, the count increments. The count is shown in parentheses after the title in the first line of the disc catalogue, such as the Other featuresThe DFS also supports a means to start up disc software based on a key sequence. If the shift key is held while the machine is soft or hard reset, the DFS checks drive 0 for a disc containing a positive boot flag. The boot flag is either 0 (ignore), 1 (load file), 2 (run machine code file) or 3 ("execute" script). If the boot flag is positive, a file called AlternativesThere was a variant of the DFS called the DNFS, or Disc/Network Filing System, that contained the Econet Network Filing System (NFS), standard Disc Filing System and Tube co-processor support software on a single ROM; this ROM installed two filing systems into the OS at once. The initial design for the DFS was based around an Intel Corporation FDC 8271 disc drive controller, the immediate predecessor of the 8272 design found in the IBM Personal Computer. The 8271 controller was of limited functionality and obsolete, and later versions of the file system from various vendors including Solidisk, Acorn and Watford Electronics were based on the later WD1770 and WD1772 drive controllers. The 1770 controller quickly became the standard controller in the Acorn range following the advent of ADFS. The DFS was superseded by the Advanced Disc Filing System (ADFS) which was fully hierarchical and was suitable for running hard drives on the BBC Micro. The ADFS was the default filing system on the BBC Master but most users are likely to have reverted to the DFS for compatibility reasons; ADFS could not read DFS discs. The ADFS was also chosen as the standard filing system for RISC OS. References
External links
|
Portal di Ensiklopedia Dunia