30.2. Esame dettagliato del processo di avvio

L'inizio del processo di avvio varia in base alla piattaforma utilizzata. Tuttavia, quando il kernel viene rilevato e caricato dal boot loader, il processo di avvio di default è identico per tutte le architetture. Questo capitolo si dedica principalmente all'architettura x86.

30.2.1. Il BIOS

Quando un computer x86 viene avviato, il processore controlla il BIOS o Basic Input/Output System alla fine della memoria del sistema, eseguendolo in un secodno momento. Il BIOS controlla non solo la prima fase del processo di avvio, ma fornisce l'interfaccia di livello inferiore alle periferiche. Per questo motivo è scritto in una memoria permanente in sola lettura e può sempre essere utilizzato.
Altre piattaforme utilizzano programmi diversi per eseguire attività di livello inferiore, in minima parte equivalenti a quelle del BIOS di un sistema x86. Per esempio i computer con processore Itanium utilizzano la shell Extensible Firmware Interface (EFI).
Once loaded, the BIOS tests the system, looks for and checks peripherals, and then locates a valid device with which to boot the system. Usually, it checks any diskette drives and CD-ROM drives present for bootable media, then, failing that, looks to the system's hard drives. In most cases, the order of the drives searched while booting is controlled with a setting in the BIOS, and it looks on the master IDE device on the primary IDE bus. The BIOS then loads into memory whatever program is residing in the first sector of this device, called the Master Boot Record or MBR. The MBR is only 512 bytes in size and contains machine code instructions for booting the machine, called a boot loader, along with the partition table. Once the BIOS finds and loads the boot loader program into memory, it yields control of the boot process to it.