IBMBIO.COM

IBMBIO.COM is the filename of the system initialization code and builtin device drivers in many DOS operating systems, and as such part of PC DOS and DR DOS 5.0 and higher (with the exception of DR-DOS 7.06). It serves the same purpose as IO.SYS in MS-DOS, or DRBIOS.SYS in DR DOS 3.31 to 3.41.

The filename is referred to in the boot sector by the boot loader.

In the PC bootup sequence, the first sector of the boot disk is loaded into memory and executed. If this is the DOS boot sector, it loads the first three sectors of IBMBIO.COM into memory and transfers control to it. IBMBIO.COM then:

  1. Loads the rest of itself into memory. For this to work, IBMBIO.COM and its directory entry must be located at fixed physical positions on the disk and stored in consecutive sectors, conditions of which the SYS utility must take care of.
  2. Loads the DOS kernel. The kernel is stored in IBMDOS.COM.
  3. Initializes each default device driver in turn (console, disk, serial port, et cetera). At this point, the default devices are available.
  4. Calls the DOS kernel's initialization routine.

Under DR-DOS, the first step is skipped, since a DR-DOS boot sector mounts the FAT filesystem, locates the IBMBIO.COM (or DRBIOS.SYS) file in the root directory and loads it into memory by itself. It is not necessary for the IBMBIO.COM file to reside at a fixed physical position or be stored in consecutive sectors. Instead, it can be simply copied to the disk (without SYS), given a DR-DOS boot sector already resides on the disk.

Microsoft sometimes calls this component the I/O system,[1] but it is generally known as DOS BIOS (the DOS-related part of the Basic Input/Output System). The term was originally coined by Gary Kildall in 1975 for CP/M,[2][3][4][5] but is also used to describe a similar component or layer in other operating systems by Digital Research, IBM, Microsoft and many others.

See also

References

  1. Duncan, Ray (1988), The MS-DOS Encyclopedia - version 1.0 through 3.2, Microsoft Press, ISBN 1-55615-049-0
  2. Kildall, Gary A. (June 1975), CP/M 1.1 or 1.2 BIOS and BDOS for Lawrence Livermore Laboratories, An excerpt of the BDOS.PLM file header in the PL/M source code of CP/M 1.1 or CP/M 1.2 for Lawrence Livermore Laboratories (LLL):
    [...]
    /* C P / M   B A S I C   I / O    S Y S T E M    (B I O S)
                        COPYRIGHT (C) GARY A. KILDALL
                                 JUNE, 1975                   */
    [...]
    /*  B A S I C   D I S K    O P E R A T I N G   S Y S T E M  (B D O S)
                        COPYRIGHT (C) GARY A. KILDALL
                                JUNE, 1975                          */
    [...]
  3. Kildall, Gary A. (January 1980). "The History of CP/M, The Evolution of an Industry: One Person's Viewpoint" (Vol. 5, No. 1, Number 41 ed.). Dr. Dobb's Journal of Computer Calisthenics & Orthodontia. pp. 6–7. Retrieved 2013-06-03. [...] The first commercial licensing of CP/M took place in 1975 with contracts between Digital Systems and Omron of America for use in their intelligent terminal, and with Lawrence Livermore Laboratories where CP/M was used to monitor programs in the Octopus network. Little attention was paid to CP/M for about a year. In my spare time, I worked to improve overall facilities [...] By this time, CP/M had been adapted for four different controllers. [...] In 1976, Glenn Ewing approached me with a problem: Imsai, Incorporated, for whom Glenn consulted, had shipped a large number of disk subsystems with a promise that an operating system would follow. I was somewhat reluctant to adapt CP/M to yet another controller, and thus the notion of a separated Basic I/O System (BIOS) evolved. In principle, the hardware dependent portions of CP/M were concentrated in the BIOS, thus allowing Glenn, or anyone else, to adapt CP/M to the Imsai equipment. Imsai was subsequently licensed to distribute CP/M version 1.3, which eventually evolved into an operating system called IMDOS. [...]
  4. Killian, A. Joseph "Joe" (2001). "Gary Kildall's CP/M: Some early CP/M history - 1976-1977". Thomas "Todd" Fischer, IMSAI. Retrieved 2013-06-03. [...] When we failed to produce an operating system in a timely manner, Glenn started talking with Gary about CPM, which Gary had written for Intel under contract. It took several months of twisting Gary's arm to get Gary to port it to the 8080. The final success came when Glenn talked Gary into just separating the I/O from the rest of it, with Glenn promising to re-write the I/O module for the IMSAI 8080 (which he did). So CPM on the IMSAI was a joint effort between Glenn and Gary. [...]
  5. Fraley, Bob; Spicer, Dag (2007-01-26). "Oral History of Joseph Killian, Interviewed by: Bob Fraley, Edited by: Dag Spicer, Recorded: January 26, 2007, Mountain View, California, CHM Reference number: X3879.2007,". Computer History Museum. Retrieved 2013-06-03. Killian: "[...] Intel had hired him a few months earlier to write a control program monitor to run on their little demo system for 8008 and now 8080. [...] Glenn knew this and he would be talking with Gary, and he started twisting Gary's arm. He said, "Hey Gary, why can't we run this in this IMSAI?" "The I/O's all different, won't run." But Glenn persists and finally makes a deal with Gary. He says, "Okay Gary, if you split out the I/O, I'll write the BIOS, basic I/O's system," and Glenn named it then. "We'll split it out separately. I'll write that part, as long as you can make a division in the program there." And he got Gary to do that and Glenn put those two pieces together and was running Gary's CP/M on an IMSAI. Glenn let us know that, and it wasn't too much later than Bill was down there making arrangements with Gary Kildall to license CP/M. [...] Now that the BIOS is separated out, anybody could write a BIOS for their machine, if it was 8080-based, and run this, so he started selling that separately under the company Digital Research that he formed and did quite well."