MS-DOS Bootstrap Sequence:

     Booting the PC is the process of loading the operating system from disk into memory. The first portion of the boot sequence (steps 1-6) is controlled by programs stored in the System Read-Only Memory or ROM, this portion will be the same no matter which operating system is installed on the PC.
  1. The Machine is switched on.
  2. The power supply does a self-check and then sends a power-good signal to the CPU.
  3. The CPU starts executing code stored in ROM on the motherboard (BIOS) at address FFFF0 (called the jump instruction).
  4. If the system is performing a cold start, the POST (power-on self test) is executed.
  5. The routines in ROM test the central hardware, search for the video ROM, perform a checksum on the video ROM and execute the routines in video ROM. The routines in the motherboard ROM then continue searching for any other ROM, checksum and execute these routines.
  6. After displaying its startup screen, BIOS checks memory, hard drives, ports, and other devices. Any errors are signaled with error messages on the screen.
  7. The BIOS supports the PnP standard, it detects and configures and plug and play devices on the machine.
  8. The BIOS displays a summary of the PC's configuration.

    Note: At this point, the BIOS has loaded code into the system memory with procedural instructions about how to read data from a disk drive (floppy or hard). Before this point, the system doesn't have any clue how to read a disk drive.

  9. The system then searches for a boot device.
  10. Assuming that a valid boot device is found, control passes to the boot sector code of the Master Boot Record (MBR).
  11. For MS-DOS, the MBR contains the DOS Boot Record (DBR). The DBR then loads the IO.SYS and MSDOS.SYS files' code into memory. IO.SYS consists primarily of initialization code and extensions to the motherboard ROM BIOS. MSDOS.SYS contains the primary DOS routines.
  12. IO.SYS then interprets the CONFIG.SYS (configuration) file, it may load additional 16-bit device drivers for peripheral devices and specify the number of buffers available, etc.
  13. COMMAND.COM, the command interpreter, is then loaded. It contains the internal DOS commands as well as the user interface routines.
  14. COMMAND.COM locates and executes the commands in AUTOEXEC.BAT if one is present. AUTOEXEC.BAT contains all of the commands that the user wants to execute automatically every time the computer is started.

    Note: You may notice on a Windows 9x operating system that the MSDOS.SYS file has multiple 'xxx' sequences. This is because the MSDOS.SYS file must take at least 1024 bytes to fill the first 1024 bytes of memory. The MSDOS.SYS file is a legacy file for the MS-DOS 7.0+ operating system. Older DOS programs expect this file so it is included for backward compatibility.
DOS Memory Management
Memory BlockDescription
Conventional MemoryArea between 0 and 640 KB.
Upper Memory (UMA)Area between 640 and 1024 KB.
Upper Memory Blocks (UMB)Unused spaces of upper memory divided into blocks, unlike expanded and extended memory, DOS can run programs here.
Expanded Memory (EMS)Uses a 64 KB window from memory, usually upper memory to access and can provide up to 32 MB of additional memory.
Extended Memory (XMS)RAM above the 1 MB address, accessed with HIMEM.SYS.
High Memory Area (HMA)The first 64 KB of XMS, software driver called "A20 handler" must be used to access this. DOS uses HIMEM.SYS for this. DOS is loaded here to free conventional memory.
Virtual MemoryAllows hard drive to simulate RAM. Virtual memory is made up of RAM and a swap file, paged out to the hard drive.
Shadow RAMThis feature rewrites ROM BIOS to extended RAM memory (between 640 K boundary and 1 MB).