Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IBMBIO.COM
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Notes== {{Reflist|group="nb"|refs= <ref group="nb" name="NB_PC_DOS_Contiguous_files">The [[PC DOS 5.0]] manual incorrectly states that the system files no longer need to be contiguous. However, for the boot process to work the system files still need to occupy the first two directory entries and the first three sectors of IBMBIO.COM still need to be stored contiguously.{{citeref|Chappell|1994|b}} [[SYS (DOS command)|SYS]] continues to take care of these requirements.<!-- See Chappell "DOS Internals" for further details --></ref> <ref group="nb" name="NB_DR-DOS_Password">In addition to the ''read-only'' attribute being set, the system files can be optionally [[FAT file password|password-protected]] under [[DR-DOS]] using the PASSWORD command or the <code>/R[:password]</code> option available in some<!-- at least 7.07 --> versions of the [[SYS (DOS command)|SYS]] command.{{citeref|Paul|2017|a}} The boot loader would simply ignore a set file password while loading the file, but once the system has been booted, the system files could not be accessed without knowing the password, thereby providing an additional level of protection from accidental attempts to delete or modify the system files. (This file password feature is independent of volume or boot passwords also provided by DR-DOS in certain configurations.)</ref> <ref group="nb" name="NB_DR-DOS_File-size">There is one exception to the rule that [[DR-DOS]] [[Volume boot record|VBR]]s will load the whole IBMBIO.COM file into memory: If the IBMBIO.COM file is larger than 29 KB, trying to load the whole file into memory would result in the boot loader to [[#Paul-1997-OD-A3|overwrite]] the [[Call stack|stack]] and [[Relocation (computing)|relocated]] [[Disk Parameter Table]] (DPT/FDPB). Therefore, a [[DR-DOS 7.07]] VBR would only load the first 29 KB of the file into memory, relying on another loader embedded into the first part of IBMBIO.COM to check for this condition and load the remainder of the file into memory by itself if necessary. This does not cause compatibility problems, as due to internal compression<!-- by Andy T. Wightman and Matthias R. Paul -->{{citeref|ref=Paul-1997-OD-A3|c}}{{citeref|Caldera|1998|d}} the IBMBIO.COM's size never exceeded this limit in previous versions without this loader. Combined with a dual entry structure this also allows the system to be loaded by a [[PC DOS]] VBR, which would load only the first three sectors of the file into memory.</ref> <ref group="nb" name="NB_DR-DOS_707">The extended functionality of the DR-DOS [[volume boot record]] to mount [[FAT12]] and [[FAT16]] file systems via [[Cylinder-head-sector|CHS]], search for the boot file IBMBIO.COM and load it into memory as a whole, even if not stored at a fixed location and in consecutive sectors,{{citeref|Rosch|1991|e}}{{citeref|ref=Paul-1997-OD-A3|f}}{{citeref|ref=Paul-1997-NWDOSTIP|g}}{{citeref|ref=Paul-2001|h}}{{citeref|ref=Paul-2002|i}}{{citeref|Paul|2017|j}} could still be included utilizing conventional [[code optimization]] techniques in [[assembly language]] up to [[DR-DOS 7.05|7.05]]<!-- really DR-DOS 7.05, as 7.06 used the MS-DOS 7.1 boot sector -->, even while maintaining the minimum requirements of a 32 KB memory system with only [[8088]]/[[8086]] processor and continuing to support larger sector sizes<!-- physical sector sizes up to 1 KB and logical sector sizes up to 32 KB --> and the <code>SYS /DR:ext</code> multi-boot feature.{{citeref|ref=Paul-1997-OD-A3|f}} For the further addition of alternative boot units, [[logical block addressing|LBA]], [[FAT32]] and the optional facility to also boot [[PC DOS]]/[[MS-DOS]] in addition to DR-DOS, the [[DR-DOS 7.07|7.07]] sectors had to resort to [[self-modifying code]], [[opcode]]-level programming in [[machine language]], controlled utilization of (documented) [[side effect (computer science)|side effect]]s, multi-level data/code [[instruction overlapping|overlapping]] and algorithmic [[fold (function)|fold]]ing techniques to still squeeze everything into the 423<!-- 512-87-2 (ignoring the 3-byte-jump which can be counted as code) --> bytes available for code in a single physical sector of 512 bytes, as it was a requirement for [[backward compatibility|backward]]- and cross-compatibility with other operating systems in [[multi boot]] and [[chain load]] scenarios.</ref> }}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)