b'\n_START_ARTICLE_\nBootning\n_START_PARAGRAPH_\nBootning, Initial Program Load eller svenska kallstart \xc3\xa4r en term f\xc3\xb6r processen som startar ig\xc3\xa5ng ett operativsystem p\xc3\xa5 en dator n\xc3\xa4r str\xc3\xb6mmen sl\xc3\xa5s p\xc3\xa5. Med bootsekvens avses de operationer som datorn genomf\xc3\xb6r efter str\xc3\xb6mp\xc3\xa5slag som leder till att datorn \xc3\xa4r driftklar.\n_START_SECTION_\nOrdets ursprung\n_START_PARAGRAPH_\nOrdet "bootning" kommer fr\xc3\xa5n det engelska substantivet booting, en f\xc3\xb6rkortning av bootstrapping, som i sin tur \xc3\xa4r en sammanfattning av det paradoxala engelska uttrycket lift oneself up by the bootstraps (att lyfta sig sj\xc3\xa4lv i st\xc3\xb6velremmarna). Uttrycket syftar p\xc3\xa5 en legend om Baron von M\xc3\xbcnchhausen som kunde lyfta upp sig ur ett tr\xc3\xa4sk genom att dra sig sj\xc3\xa4lv i h\xc3\xa5ret; denna legend f\xc3\xb6r\xc3\xa4ndrades i senare versioner till att han anv\xc3\xa4nde sig av sina st\xc3\xb6velremmar f\xc3\xb6r att dra ut sig ur havet. Uttrycket syftar s\xc3\xa5ledes p\xc3\xa5 n\xc3\xa5gonting som verkar enkelt men egentligen inte g\xc3\xa5r att g\xc3\xb6ra - Att f\xc3\xa5 en dator att k\xc3\xb6ra programmen som beh\xc3\xb6vs f\xc3\xb6r att starta datorn kr\xc3\xa4ver egentligen att datorn redan \xc3\xa4r startad.\n_START_SECTION_\nBootloader\n_START_PARAGRAPH_\nDe flesta datorer kan enbart utf\xc3\xb6ra instruktioner som befinner sig i minnet (antingen RAM eller ROM). Moderna operativsystem lagras p\xc3\xa5 h\xc3\xa5rddiskar, eller ibland p\xc3\xa5 Live-CD:er, flashminnen eller andra icke-flyktiga lagringsenheter. N\xc3\xa4r datorn f\xc3\xb6rst sl\xc3\xa5s p\xc3\xa5 finns inte operativsystemet i minnet, och datorns h\xc3\xa5rdvara kan inte p\xc3\xa5 egen hand genomf\xc3\xb6ra en s\xc3\xa5dan komplex operation som att l\xc3\xa4sa in ett program fr\xc3\xa5n disk. Programmen f\xc3\xb6r att l\xc3\xa4sa fr\xc3\xa5n disk ligger normalt i operativsystemet. Allts\xc3\xa5 en paradox: f\xc3\xb6r att kunna l\xc3\xa4sa in operativsystemet, verkar det som om man m\xc3\xa5ste redan ha operativsystemet laddat._NEWLINE_L\xc3\xb6sningen p\xc3\xa5 paradoxen \xc3\xa4r att anv\xc3\xa4nda ett litet specialskrivet program, kallat bootloader, vars enda uppgift \xc3\xa4r att l\xc3\xa4sa in andra program f\xc3\xb6r att hj\xc3\xa4lpa ig\xc3\xa5ng operativsystemet. Detta program ligger i ROM, allts\xc3\xa5 minne varifr\xc3\xa5n processorn direkt kan exekvera, men som inte f\xc3\xb6rsvinner n\xc3\xa4r str\xc3\xb6mmen st\xc3\xa4ngts av. Ofta anv\xc3\xa4nds flerstegs-bootloaders, d\xc3\xa4r flera program l\xc3\xa4ser in och anropar varandra successivt tills det sist l\xc3\xa4ser in sj\xc3\xa4lva operativsystemet. Det steg i en PC som kan l\xc3\xa4sa h\xc3\xa5rddisken utan att ha laddat n\xc3\xa5got fr\xc3\xa5n h\xc3\xa5rddisken kallas BIOS eller p\xc3\xa5 nyare datorer UEFI. N\xc3\xa4sta steg ligger p\xc3\xa5 en fast plats p\xc3\xa5 h\xc3\xa5rddisken, oftast f\xc3\xb6rst, och det k\xc3\xb6rs sedan och vet hur operativsystemet ska laddas. Det kallas ocks\xc3\xa5 bootloader, \xc3\xa5tminstone i Windows. F\xc3\xb6r att g\xc3\xb6ra datorn snabbare ligger rutinerna som normalt l\xc3\xa4ser h\xc3\xa5rddisken i RAM och h\xc3\xb6r till operativsystemet som allts\xc3\xa5 m\xc3\xa5ste laddas._NEWLINE_Tidiga datorsystem hade en rad med str\xc3\xb6mbrytare p\xc3\xa5 sin frontpanel som till\xc3\xa4t operat\xc3\xb6ren att manuellt mata in bootloaderns maskinkodsinstruktioner i minnet, f\xc3\xb6r att sedan starta CPU:n. Bootloadern kunde sedan l\xc3\xa4sa in operativsystemet fr\xc3\xa5n ett extern medium som h\xc3\xa5lremsa, h\xc3\xa5lkort eller trumminne._NEWLINE_Pseudokoden f\xc3\xb6r en s\xc3\xa5dan bootloader kan vara s\xc3\xa5 enkel som den f\xc3\xb6ljande:_NEWLINE_0: ge registret P v\xc3\xa4rdet 8_NEWLINE_1: kolla om l\xc3\xa4saren \xc3\xa4r beredd_NEWLINE_2: om s\xc3\xa5 inte \xc3\xa4r fallet, g\xc3\xa5 till steg 1_NEWLINE_3: l\xc3\xa4s in en byte fr\xc3\xa5n l\xc3\xa4saren till register A_NEWLINE_4: om l\xc3\xa4saren har l\xc3\xa4st slut remsan, hoppa till 8_NEWLINE_5: lagra A i minnesadressen P_NEWLINE_6: \xc3\xb6ka P med 1_NEWLINE_7: g\xc3\xa5 till steg 1_NEWLINE_I moderna datorer b\xc3\xb6rjar processen med att processorn b\xc3\xb6rjar exekvera maskinkodsinstruktioner p\xc3\xa5 en fast adress (hos en x86-kompatibel processor \xc3\xa4r denna adress 0xF000:0xFFF0). P\xc3\xa5 PC-kompatibla datorer finns BIOSets startinstruktioner just d\xc3\xa4r. BIOS bootloader letar d\xc3\xa5 efter enheter som g\xc3\xa5r att boota ifr\xc3\xa5n, v\xc3\xa4ljer den l\xc3\xa4mpligaste av dessa, och l\xc3\xa4ser ett litet program fr\xc3\xa5n en speciell sektion av enheten, oftast bootsektorn._NEWLINE_Bootloaders m\xc3\xb6ter stora begr\xc3\xa4nsningar, framf\xc3\xb6rallt storleksm\xc3\xa4ssiga. Exempelvis m\xc3\xa5ste det f\xc3\xb6rsta steget i en bootloader p\xc3\xa5 en PC-kompatibel dator f\xc3\xa5 plats i de f\xc3\xb6rsta 446 bytes i MBR, f\xc3\xb6r att ge plats \xc3\xa5t partitionstabellen (64 byte) och en tv\xc3\xa5bytes \'signatur\' (0xAA 0x55) som BIOS kr\xc3\xa4ver f\xc3\xb6r att identifiera en bootloader._NEWLINE_Det lilla programmet som BIOS h\xc3\xa4mtat fr\xc3\xa5n enheten \xc3\xa4r oftast inte i sig ett komplett operativsystem, men bara en \'sekund\xc3\xa4r bootloader\'. N\xc3\xa5gra exempel p\xc3\xa5 s\xc3\xa5dana \xc3\xa4r NTLDR, LILO eller GRUB. Dessa m\xc3\xa5ste nu i sin tur l\xc3\xa4sa in resten av operativsystemet i minnet och sedan ge \xc3\xb6ver kontrollen till det. Operativsystemet initierar sig d\xc3\xa5, l\xc3\xa4ser in fler drivrutiner och startar ytterliga program som kr\xc3\xa4vs f\xc3\xb6r att operativsystemet skall fungera._NEWLINE_Bootningen betraktas som klar n\xc3\xa4r datorn \xc3\xa4r f\xc3\xa4rdig att anv\xc3\xa4ndas. Det tar ungef\xc3\xa4r en minut f\xc3\xb6r typiska moderna PC-datorer att boota, varav ungef\xc3\xa4r 15 sekunder best\xc3\xa5r i BIOS sj\xc3\xa4lvtest (POST), medan somliga servrar kan ta m\xc3\xa5nga minuter att boota och starta alla tj\xc3\xa4nster._NEWLINE_De flesta inbyggda system m\xc3\xa5ste boota n\xc3\xa4stan omedelbart: det \xc3\xa4r oacceptabelt att v\xc3\xa4nta en minut p\xc3\xa5 att TV:n eller bilen skall komma ig\xc3\xa5ng. D\xc3\xa4rf\xc3\xb6r har s\xc3\xa5dana system sina operativsystem helt i ROM- eller flashminnen s\xc3\xa5 att det kan exekveras direkt (\xc3\xa4nd\xc3\xa5 tar det ofta n\xc3\xa5gra sekunder, under vilken det ofta k\xc3\xb6rs en kul animation f\xc3\xb6r att f\xc3\xb6rs\xc3\xb6ka h\xc3\xa5lla ot\xc3\xa5liga anv\xc3\xa4ndare n\xc3\xb6jda). Vid nedladdning av programvara i dessa system dyker s\xc3\xa4rskilda problem upp, att programmet f\xc3\xb6r att programmera minnet m\xc3\xa5ste ligga i RAM, vilket l\xc3\xb6ses med en s\xc3\xa4rskild bootloader som l\xc3\xa4ses till RAM.\n_START_SECTION_\nBIOS-bootenheter\n_START_PARAGRAPH_\nBIOS-bootenheterna  \xc3\xa4r de enheter som m\xc3\xa5ste vara initierade f\xc3\xb6re operativsystemet l\xc3\xa4ses in. Bland dessa r\xc3\xa4knas dels det som beh\xc3\xb6vs f\xc3\xb6r att m\xc3\xb6jligg\xc3\xb6ra konfiguration och fels\xc3\xb6kning av lagringsenheten, s\xc3\xa5som den prim\xc3\xa4ra inenheten (tangentbord, ev. mus) och den prim\xc3\xa4ra utenheten (bildsk\xc3\xa4rm). Dels sj\xc3\xa4lvs lagringsenheten som operativsystemet \xc3\xa4r lagrat p\xc3\xa5 (diskett, h\xc3\xa5rddisk, CD-ROM, flashminne, ett n\xc3\xa4tverkskort som anv\xc3\xa4nder sig av PXE m.fl.) I ett modernt BIOS kan anv\xc3\xa4ndaren rangordna en lista av flera enheter fr\xc3\xa5n vilka BIOS g\xc3\xb6r f\xc3\xb6rs\xc3\xb6k att boota. Hittar BIOS inte ett bootbart operativsystem p\xc3\xa5 den f\xc3\xb6rsta enheten i listan f\xc3\xb6rs\xc3\xb6ker den boota p\xc3\xa5 n\xc3\xa4sta enhet i listan tills antingen ett operativsystem \xc3\xa4r laddat eller listan tar slut. Bootningen har i det sista fallet misslyckats och ett felmeddelande visas p\xc3\xa5 sk\xc3\xa4rmen.'