Wanneer je voor het eerst je computer aanzet, test het zichzelf om er zeker van te zijn dat alles juist werkt. Dit wordt de ``Power on self test'' genoemd. Dat zoekt een programma te vinden in het ROM BIOS, genaamd de bootstrap loader naar een bootsector. Een bootsector is de eerste sector van een disk en het bevat een klein programma dat een besturingssysteem kan laden. Bootsectors zijn met een magic nummer 0xAA55 = 43603 op byte 0x1FE = 500 gemarkeerd. Zo kan de hardware vertellen of de sector een bootsector is of niet.
De bootstrap loader bevat een lijst met lokaties waar het op zoek kan gaan naar een bootsector. Mijn oude machine kijkt eerst op de diskette in het primaire diskettestation, dan op de primaire harddisk. Modernere machines zijn ook in staat naar een bootsector op een CD-ROM te zoeken. Treft het een bootsector aan, dan laadt het deze in het geheugen en geeft het de besturing door aan het programma dat het besturingssysteem laadt. Op een typisch Linux systeem, is dit LILO's eerste fase bootloader. Er zijn echter veel verschillende manieren waarop je systeem kan worden ingesteld hoe het boot. Zie de LILO User's Guide voor details. Zie sectie LILO voor een URL.
Uiteraard valt er heel wat meer te zeggen over wat PC-hardware doet. Maar dit is daar niet de plek voor. Zie één van de vele goede boeken over PC-hardware.
De computer bewaart wat informatie over zichzelf in CMOS. Hieronder vallen welke disks en RAM zich in het systeem bevinden. De BIOS van de computer bevat een programma waarmee je deze instellingen kunt wijzigen. Bekijk de meldingen op je scherm als de computer is aangezet om te kunnen zien hoe je er toegang toe kunt krijgen. Op mijn computer druk je de delete-toets in voordat het 't besturingssysteem begint te laden.
Een goede manier om over PC-hardware te leren is een computer bestaande uit tweedehands onderdelen te bouwen. Zorg dat je op z'n minst aan een 386'r komt zodat je er makkelijk Linux op kunt draaien. Het zal niet veel kosten. Vraag eens rond, misschien dat iemand je wat onderdelen kan geven die je kunt gebruiken.
Download, compileer en maak een bootdisk voor
Unios. Dit is gewoon een opstartbaar
"Hello World!" programma, bestaande uit slechts meer dan 100 regels
assembleercode. Het is goed te zien hoe het wordt geconverteerd naar een
formaat dat de GNU assembler as
begrijpt.
Bekijk de broncode van LILO's bootloader.