IO.SYS
IO.SYS is an essential part of MS-DOS and Windows 9x. It contains the default MS-DOS device drivers (hardware interfacing routines) and the DOS initialization program.
Boot sequence
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 IO.SYS into memory and transfers control to it. IO.SYS then:
- Loads the rest of itself into memory.
- Initializes each default device driver in turn (console, disk, serial port, etc..). At this point, the default devices are available.
- Loads the DOS kernel and calls its initialization routine. The kernel is stored in MSDOS.SYS with MS-DOS and in IO.SYS with Windows 9x. At this point, "normal" file access is available.
- Processes the MSDOS.SYS file with Windows 9x.
- Processes the CONFIG.SYS file, in MS-DOS 2.0 and higher and Windows 9x.
- Loads COMMAND.COM (or other operating system shell if specified).
- Displays the bootsplash in Windows 9x. If LOGO.SYS is present, it is used as the bootsplash. Otherwise, the bootsplash in IO.SYS is used.
IBM PC DOS and DR DOS use the file IBMBIO.COM for the same purpose; it in turn loads IBMDOS.COM.
Disk layout requirements
- The two first entries of the root directory must be allocated by IO.SYS and MSDOS.SYS, in that order.[1]
- IO.SYS must be the first file stored in the FAT directory table for files.[1]
- The files IO.SYS + MSDOS.SYS must be contiguous.[1]
However, v3.3 allows sector 4 and higher to be fragmented. v5.0 allows the first 3 sectors of IO.SYS to be allocated anywhere (as long as they are contiguous).[1][2] COMMAND.COM can be treated like any ordinary file.
See also
References
[2]; -webkit-column-width: [1] [2]; column-width: [1] [2]; list-style-type: decimal;">
External links
- MS-DOS Device Driver Names Cannot be Used As File Names — includes list of default device drivers.
- SYS.COM Requirements in MS-DOS Versions 2.0-6.0 — includes requirements for IO.SYS to be loaded.