Alglaadimine

Ajalugu

1950. aastate arvutitel oli üsna huvitav omapära – kui kasutaja vajutas alglaadimisnuppu, hakkas sisseehitatud programm lugema alglaadimistoiminguid perfokaardilt, mis asus enamasti kaardilugeris, magnetlindil, magnetmälus või magnetkõvakettal. Pärast info sisselugemist või töötlemist käivitati alglaadimisprogramm, mille abil laaditi suuremad programmide süsteemid vastavatelt meediumitelt mällu, ilma et operaator oleks pidanud sekkuma.
Terminit "boot" on kasutatud sellises tähenduses alates 1958. aastast. Näiteks arvutil IBM 701 (eksisteeris aastatel 1952–1956) oli laadimisnupp, mis alustas koodi lugemist esimesest 36-bitisest sõnast perfokaardilt, magnetlindilt või magnettrumlilt. Vasakpoolne 18-bitine poolsõna oli sel juhul antud juhisena, mille abil oli võimalik lugeda täiendavad sõnad mällu. Sarnaselt kasutas ka IBM 1401 (aastal 1958) kaardilugerit selleks, et laadida programm arvutisse perfokaardilt. 80 tähemärki perfokaardilt olid loetud mällu asukohtadesse 001–080. Pärast seda sai arvuti alustada mälu lugemist asukohast 001 (st algusest) esimese juhise sisselugemiseks. See juhis oli alati sama: liigutada informatsiooni nendes 80 esimeses asukohas, et kokku panna ala, kus informatsioon perfokaardi positsioonidelt 2, 3, 4, jne. oli kombineeritud programmilt.
Kui informatsioon oli liikunud kokkusaamiskohta, siis pidi masin käivitama juhise asukohas 080 (st kaardi lugemine), selleks et järgmine kaart saaks loetud ning informatsioon töödeldud. Sisuliselt oli selles protsessis iga järgnev kaart "bootstrappitud" mälusse eelmise perfokaardi poolt.

Teise taseme alglaadur

Teise taseme alglaadurid (näiteks GRUB, BOOTMGR, Syslinux, LILO või NTLDR) enamasti ei ole operatsioonisüsteemid, ent samas on need võimelised operatsioonisüsteemi käivitama ja on võimelised juhtimist operatsioonisüsteemidele üle andma. Operatsioonisüsteemid ise on võimelised ennast initsialiseerima ja laadima arvutiriistvarale draivereid. Draiverid on eelkõige vajalikud riistvaraga suhtlemiseks. Kui draiverid on laaditud, hakkab operatsioonisüsteem laadima tavaliselt süsteemis olevaid programme.
Mitmeid alglaadureid (nt GRUB, BOOTMGR, LILO, ja NTLDR) saab konfigureerida nii, et kasutajal on võimalus valida operatsioonisüsteem, mida ta soovib käivitada. Need alglaadurid tekitavad iseseisvalt nimekirja eri operatsioonisüsteemidest, mis on kõvakettale paigaldatud. Veel on võimalus valida erinevaid versioone ühest operatsioonisüsteemist ning valida ja seadistada erinevate operatsioonisüsteemide alglaadimisparameetreid (näiteks alglaadimine taasterežiimis või alglaadimine mõne vanema tuuma ehk kerneliga). Ka mõned eraldiseisvad operatsioonisüsteemita käivituvad programmid (nt mälutesterid (memtest86+) ja mängud) tunneb alglaadur muretult ära. Tavaliselt on alglaadimisel vaikimisi teatud ajaline viivitus, mille käigus kasutaja saab vajutada mõnda klahvi, et muuta alglaadimisseadeid. Lisaks on võimalus valida alglaadimisnimekirjast ise, mida või millelt buutida. Pärast seda viivitust hakkab alglaadur automaatselt laadima operatsioonisüsteemi või mõnda teist alglaadimist vajavat programmi ilma, et oleks vaja vahele segada. Alglaadur käivitab programmi, mis on eelisjärjekorras.
Alglaadimisprotsessi võib lugeda lõpetatuks, kui arvuti on võimeline suhtlema kasutajaga või operatsioonisüsteem on võimeline iseseisvalt käivitama ja töös hoidma programme ning protsesse. Tüüpilise tänapäevase arvuti alglaadimiseks kulub kuni üks minut ning see aeg lüheneb tänu tehnika ja tarkvara kiirele arengule. Sellest ajast umbes 15 sekundit võtab enesetest (POST – power-on self test) või video BIOS-i laadimine. Suurtel serveritel kulub mitu minutit, kuni süsteem saab kõik vajalikud alglaadimised tehtud. Paljud sisseehitatud süsteemid teevad alglaadimist viivitamatult. Näiteks kui digitelevisiooni või GPS-seadme alglaadimine võtaks aega üle minuti, siis ilmselgelt kasutajad sellega rahul ei oleks. Seepärast on sellistes süsteemides tarkvara otse laaditud ROM-i või mõnda kiiresse välkmällu, nii et seade hakkaks toimima võimalikult kiiresti.

Alglaadimine Internetist

Enamik arvutitest on võimelised tegema alglaadimist üle võrgu. Sel juhul on operatsioonisüsteem salvestatud serveri kõvakettale. Enamasti toimub suhtlus kliendi ja serveri vahel üle lihtsa protokolli, milleks on Trivial File Transfer Protocol. Pärast teatud etappe kliendi ja serveri vahel võtab alglaadimisel operatsioonisüsteem sujuvalt juhtimise üle.

Alglaadimisseadmed (IBM PC)

Alglaadimisseade on seade, millelt laaditakse operatsioonisüsteem. Moodsad PC BIOS-id toetavad alglaadimist mitmelt seadmelt, tavaliselt kõvakettalt (või partitsioonidelt, mis asuvad kõvakettal), optilistelt seadmetelt, USB-seadmetelt, mälukaartidelt ja ka võrguseadmetelt, kasutades PXE-d. Vanemad, vähem levinud alglaadimisseadmed sisaldasid flopikettaid, SCSI-seadmeid, Zip-kettaid ja LS-120-kettaid. Tavaliselt võimaldab BIOS-i kasutajal alglaadimisjärjekorda muuta. Näiteks kui alglaadimisjärjekorras panna esimeseks DVD-draiv, teiseks kõvaketas, siis BIOS vaikimisi teeb alglaadimise DVD-seadmelt. Kui see ebaõnnestub (juhul kui pole DVD plaati sisestatud või kui plaat ei toeta alglaadimist), proovib BIOS teha automaatselt alglaadimist järgmiselt seadmelt nimekirjas, antud näites on selleks kõvaketas.
Võtame näiteks arvuti, mille kõvakettale on paigaldatud Windows XP ja enne Linuxi Live CD sisetamist määrab kasutaja alglaadimisjärjekorra nii nagu kirjeldati eelnevalt. Selleks, et proovida süsteemi korrasolekut ilma kõvakettale paigaldamata, hakkab Linuxi Live CD automaatselt buutima ehk alglaadima sellepärast, et DVD-draiv sai määratud esimeseks alglaadimisjärjekorras. See on üks näide mitmikalglaadimisest, sest siin saab kasutaja valida, millist operatsioonisüsteemi ta kasutada tahab. Selles näites saab kasutaja reguleerida mitmikalglaadimist järgnevalt: sisestades ja välja võttes plaati CD-seadmest. Aga see pole hea mõte. Lihtsamalt saab alglaadimist reguleerida vajutades klaviatuurilt mingit klahvi (enamasti F11- või ESC-klahvi) ning avanenud nimekirjast valitakse ise, milliselt seadmelt tehakse alglaadimine. Klahv, millega saab alglaadimisjärjekorra kuvada, on igal arvutil muidugi erinev.