IBMBIO.COM is a system file in many DOSoperating systems. It contains the system initialization code and all built-in device drivers. It also loads the DOS kernel and optional pre-loadable system components, displays boot menus, processes configuration files and launches the shell. The file is part of IBM's PC DOS as well as of DR DOS 5.0 and higher. It serves the same purpose as the file IO.SYS in MS-DOS, or DRBIOS.SYS in DR DOS 3.31 to 3.41. The file is located in the root directory of the bootable FAT-formatted drive/partition and typically has the system, hidden, and read-onlyfile attributes set. Under DR-DOS the file may be optionally password-protected as well. Under PC DOS, the system attribute is set in order to mark the file as non-movable, a restriction technically not necessary under DR-DOS. As IBMBIO.COM is a binary image containing executable code rather than a true COM-style program, the hidden attribute is set to keep the file from being accidentally invoked at the command prompt, which would lead to a crash. This is no longer necessary for DR-DOS 7.02 and higher, because under these systems the file is a fat binary also containing a tiny COM-style stub just displaying some version info and exiting gracefully when not being loaded by a boot sector. In the PC bootup sequence, the first sector of the boot volume contains a boot loader called the volume boot record and is loaded into memory and executed. If this is a VBR of PC DOS before 3.3 it would load both system files into memory by itself. As the PC DOS VBR cannot mount the FAT file system, the system files have to be stored in the first directory entries on the disk and be located at fixed physical positions on the disk stored in consecutive sectors, conditions of which the SYS utility must take care of. If the loaded boot sector is a PC DOS 3.3 VBR, the requirements are slightly relaxed. The system files still have to be stored in the first two root directory entries on the disk, but the VBR will use only the first entry to load the first three sectors of IBMBIO.COM into memory and transfer control to it. This part of IBMBIO.COM then contains a somewhat larger boot loader which:
Loads the rest of itself into memory. Before PC DOS 5.0 the system files still had to be stored at fixed physical positions on the disk and stored in consecutive sectors. With PC DOS 5.0 this requirement was reduced down to the first three sectors of IBMBIO.COM only.
Loads the DOS kernel. The kernel is stored in IBMDOS.COM.
Initializes each default device driver in turn. At this point, the default devices are available.
Calls the DOS kernel's initialization routine.
Under DR DOS 5.0 and higher, the first step is skipped, since a DR-DOS VBR is capable of mounting the FATfile system, locate the IBMBIO.COM file anywhere in the root directory and load it into memory by itself. The filename of the IBMBIO.COM file to be loaded by the boot sector is stored in the boot sector rather than necessarily in the first root directory entry, likewise the filename of the IBMDOS.COM file to be loaded by IBMBIO.COM is stored in IBMBIO.COM itself rather than necessarily in the second directory entry on the disk. Also, similar to the IBMBIO.COM loader in the VBR, the IBMDOS.COM loader in IBMBIO.COM is capable of rudimentarily mounting the filesystem as well, therefore it is not necessary for the system files to be stored in the first two directory entries, to reside at fixed physical positions or be stored in consecutive sectors. Consequently, it is also no longer necessary to set the system attribute. Instead, the system files can be simply copied to the disk, given a DR-DOS boot sector already resides on the disk. Microsoft sometimes calls this component the I/O system, but it is generally known as DOS BIOS. The term BIOS was originally coined by Gary Kildall in 1975 for CP/M, but is also used to describe a similar component or layer in other operating systems by Digital Research, IBM, Microsoft and many others. In a more generic sense, some vendors refer to this portion as the RAM BIOS of operating systems such as DOS or CP/M in order to contrast it with the built-in ROM BIOS of a machine.