Bootloader
Den här artikeln behöver källhänvisningar för att kunna verifieras. (2021-03) Åtgärda genom att lägga till pålitliga källor (gärna som fotnoter). Uppgifter utan källhänvisning kan ifrågasättas och tas bort utan att det behöver diskuteras på diskussionssidan. |
En bootloader är en programvara som efter BIOS laddar in operativsystemet från sekundärminnet till primärminnet. På en PC innebär det att operativsystemet läses in från hårddisken, medan en androidtelefon eller Iphone har operativsystemet lagrat i flashminnet.
Detta är en automatisering av den på de tidiga datorerna manuellt utförda starten, som kallas bootstrap (sv. stövelstropp). På en del datorer utfördes detta genom att med switchar knappa in en instruktionsföljd på till exempel 16 ord som kunde läsa in en hålremsa med ett laddningsprogram (eng. loader), som i sin tur läste in operativsystemet från hårddisken.
Startprocessen
[redigera | redigera wikitext]Startprocessen kallas Bootning och börjar med att bootloadern laddas av programvara i en fast minneskrets som kallas BIOS och som sedan startar bootloadern. Bootloadern består ofta av flera steg. Det första är placerat i Master Boot Record på hårddisken och talar om för datorn på vilken plats på hårddisken operativsystemet eller nästa steg finns.
Nästa steg i bootloadern kallas boot manager, eller bara bootloader. Den består ofta av ett grafiskt användargränssnitt som låter användaren välja olika startalternativ, till exempel välja mellan olika operativsystem eller aktivera felsäkert läge eller olika alternativ för felsökning.
Bootloaders
[redigera | redigera wikitext]Windows NT-baserade operativsystem använde sig av bootloadern NTLDR till och med Windows XP och Windows Server 2003. Från och med Windows Vista används Windows Boot Manager.
Linux-system använder oftast LILO eller GRUB.
Inbyggda system
[redigera | redigera wikitext]I inbyggda datorer, till exempel i bilar, ligger programvaran i flashminne. Man kan exekvera program medan det ligger där. Ett undantag är om man ska ladda ner ny programvara. Det vill man normalt kunna i produktionen eller utvecklingsprocessen, normalt från datalänken. Men man kan inte köra program i flashminnet medan det programmeras om, utan det måste vara ett program i RAM (som försvinner när strömmen bryts) som gör detta. Man brukar lösa det genom att ha en primary bootloader i flash som normalt startar upp huvudapplikationen. I primary bootloader finns en funktion att från datalänken (eller lagrat i flashminnet) ladda in en secondary bootloader till RAM-minnet. Denna secondary bootloader exekveras sedan och tar emot programvara och sparar den i flashminnet. Primary bootloader bör inte bytas ut i en inbyggd dator, om det ändå görs får nedladdningen inte krascha, för då fungerar inte normal nedladdning längre (så kallad "brickning", eftersom mjukvarufunktionen liknar den hos en tegelsten, det vill säga fungerar inte alls). Därför finns en specialrutin för att ladda programvara direkt i flashminnet, vilket normalt kräver att man använder en utrustning speciellt anpassad för aktuellt system, till exempel via en JTAG, och att man kopplar in sig direkt på kretskortet.