A boot-process


Az alaplapon van egy ROM (Read Only Memory) chip, amely a BIOS (Basic Input/Output System) nevet viseli. A BIOS alapvetô perifériakezelô rutinokat, és speciális rendszerprogramokat tartalmaz. Amikor ez a ROM chip életrekel, a tartalma "megjelenik" a processzor által valós módban megcímezhetô 1 megabyte-os memóriatartomány legtetején (a BIOS általában 64 kilobyte- ot foglal el, ilyenkor a címtartományban az F000:0000-ától F000:FFFF-ig terjedô területen helyezkedik el). Minden 80x86-os processzort "megtanítanak" a gyárban arra, hogy amint áramot kap, hajtsa végre a következô utasítást: JMP FFFF:0000 (ami ugyanaz, mintha azt mondanánk: JMP F000:FFF0, lásd a szegmentált címzésrôl írottakat). A ROM BIOS chipben a rendszerrutinok úgy vannak elhelyezve, hogy a valós módú címtartományban való megjelenéssel az FFFF:0000 címre kerül a gépet inicializáló rutin belépési pontja. Következésképp amint bekapcsoljuk a gépet, a processzor elindítja a ROM BIOS-ból származó, FFFF:0000 címen kezdôdô speciális rendszerrutint, amely a POST (Power On Self Test) nevet viseli. Ez a rutin a következô fôbb dolgokat hajtja végre (nem feltétlenül ilyen sorrendben):

  • leellenôrzi a processzort,
  • leellenôrzi a memóriát,
  • megkísérli életrekelteni azokat a perifériákat, amelyekrôl tudomása van (ld. CMOS Setup): inicializálási parancsokat küld ki a floppy drive-oknak, vinyóknak, CDROM-oknak, stb. és megvárja a pozitív visszajelzést (ha valamelyik egység nem jelez vissza, akkor sípol és kiírja a hibát),
  • megkísérli az operációs rendszer betöltését az A: jelzésű (0-ás) floppy-ról, ha ez nem sikerül (például nincs lemez a drive-ban), akkor a C: jelzésű (0-ás) vinyóról (a próbálkozási sorrend általában a CMOS Setup-ban állítható).

Az operációs rendszer betöltése úgy zajlik le, hogy a BIOS megkísérli betölteni a boot-disk (A: vagy C:) legelsô szektorát (track 0, head 0, sector 1 - 512 byte) a 0000:7C00 címre (a floppy-kon ezt a szektort boot sector- nak, vinyóknál MBR-nek /Master Boot Record/ hívják). Ha a szektor betöltése sikerült, akkor átadja a betöltött rutinra a vezérlést (JMP 0000:7C00). Ettôl kezdve a további történések a boot sectorban tárolt programtól függenek (ld. MS-DOS 6.22 esetén a Master Boot Record-ot és a boot-szektort).

MSDOS v6.22 operációs rendszer esetén a következôk történnek:

A boot-szektor kódja betölti a memóriába a C: drive fôkönyvtárában elhelyezkedô IO.SYS nevű file-t. Ez tartalmazza az alapvetô DOS eszközkezelô rutinokat. Ezután betöltôdik az MSDOS.SYS (szintén a fôkönyvtárból), amely a DOS interface-rutinjait tartalmazza (például az INT 21 handlert). A DOS ezután megnézi, hogy van-e a C: drive fôkönyvtárában CONFIG.SYS nevű file, ha igen, akkor beolvassa, és soronként értelmezi, majd ha létezik a C:\-ben AUTOEXEC.BAT nevű batch-file, azt is végrehajtja. Végül elindítja a COMSPEC környezeti változó által definiált programot (ez rendszerint egy shell, amely a userrel való kapcsolattartást szolgálja).

A COMSPEC alapértelmezésben a DOS COMMAND.COM nevezetű parancsértelmezôjére mutat, ez kiírja a PROMPT környezeti változónak megfelelô prompt-ot (általában C:\>), és várja, hogy kommunikáljunk vele. A továbbiakhoz ld. a DOS kezelése részt.