Architecture of Windows 9x
- IO.SYS - executable handling all of the basic functions, such as I/O routines.
- MSDOS.SYS - contains some low-level boot setting such as disabling double-buffering or the GUI logo.
- COMMAND.COM - command line shell executable.
- WIN.COM - responsible for loading the GUI and the operating system itself.
- LOGO.SYS - contains RGB encoded bitmap displayed during the boot sequence
The system may also use CONFIG.SYS (which contains settings and commands executed before loading the command interpreter) and AUTOEXEC.BAT (which is a batch file automatically executed after loading COMMAND.COM), but these two files aren't critical to the boot process, as Windows 9x IO.SYS contains a default setting for both, in case they're absent in the system.
The boot sequence of Windows 9x relies heavily on MS-DOS. The order of the boot sequence is:
- IO.SYS loads, using boot parameters from MSDOS.SYS,
- CONFIG.SYS commands get parsed by IO.SYS,
- COMMAND.COM loads, allowing processing of AUTOEXEC.BAT (if it is present in the system),
- WIN.COM loads the GUI (if the GUI is not disabled manually by boot menu or MSDOS.SYS setting).
The Windows 9x kernel is a 32-bit kernel with virtual memory. Drivers are provided by .VXD files, or since Windows 98 the newer WDM drivers can be used. However the old MS-DOS kernel stays resident in memory and Windows will use the old MS-DOS 16-bit drivers if they are installed.