Computer starter op

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 17. januar 2018; checks kræver 28 redigeringer .

Opstart er en flertrinsproces, en del af processen med at starte en computer op, fra det øjeblik, strømmen tændes, til operativsystemet starter. Opstartssekvensen  er en sekvens af handlinger, som computeren skal udføre for at starte operativsystemet (mere præcist, bootloader ), uanset hvilken type OS der er installeret.

Bootstrap

De fleste computersystemer kan kun udføre kommandoer, der er i computerens RAM , mens moderne operativsystemer i de fleste tilfælde er gemt på harddiske , bootbare cd-rom'er , USB-drev eller på et lokalt netværk .

Efter at have tændt for computeren, er der intet operativsystem i dens RAM. Alene uden et operativsystem kan computerhardware ikke udføre komplekse handlinger, såsom at indlæse et program i hukommelsen. Vi står således over for et paradoks, der virker uløseligt: ​​For at indlæse et operativsystem i hukommelsen, skal vi allerede have et operativsystem i hukommelsen.

Løsningen på dette paradoks er brugen af ​​et specielt computerprogram kaldet bootloader (i IBM PC-kompatible computere , som er en del af BIOS - Basic Input / Output System). Dette program har ikke alle operativsystemets funktionalitet, men det er nok at indlæse et andet program, der vil indlæse operativsystemet. Tiered loading bruges ofte, hvor flere små programmer kalder hinanden indtil et af dem indlæser styresystemet.

I moderne computere begynder opstartsprocessen med, at processoren udfører instruktioner i den permanente hukommelse (for eksempel på IBM-pc'en , BIOS -  instruktioner ), der starter ved en foruddefineret adresse (processoren gør dette efter en genstart uden hjælp). Denne software kan registrere enheder, der er egnede til opstart og indlæse fra en speciel partition af den valgte enhed (oftest opstartssektoren for denne enhed) en OS-indlæser .

Bootloadere skal overholde specifikke begrænsninger, især med hensyn til volumen. På en IBM-pc skal første niveau bootloader passe ind i de første 446 bytes af master boot record , hvilket giver plads til 64 bytes af partitionstabellen og 2 bytes til 55AAh signaturen, der er nødvendig for, at BIOS kan finde selve bootloaderen. .

Historie

Tidlige computere havde et sæt switches, der gjorde det muligt for operatøren at placere bootloaderen i hukommelsen, før processoren blev startet . Denne bootloader ville derefter læse operativsystemet fra en ekstern enhed, såsom hulbånd eller en harddisk .

Pseudo-assembler bootloader-koden kan være så simpel som følgende sekvens af instruktioner:

0: skriv 8 for at registrere P 1: Tjek, at båndlæseren kan begynde at læse 2: hvis det ikke kan, gå til trin 1 3: læs en byte fra hulbåndslæseren og skriv den til batteriet 4: Hvis det udstansede bånd er slut, skal du gå til trin 8 5: Skriv værdien gemt i akkumulatoren til RAM på adressen gemt i register P 6: Øg værdien af ​​register P med én 7: gå til trin 1

Dette eksempel er baseret på bootloaderen til en af ​​de minicomputere , der blev udgivet i 1970'erne af Nicolet Instrument Corporation.

0: Skriv 106 for at registrere P 1: Tjek, at båndlæseren kan begynde at læse 2: hvis det ikke kan, gå til trin 1 3: læs en byte fra hulbåndslæseren og skriv den til batteriet 4: Hvis det udstansede bånd er slut, skal du gå til trin 8 5: Skriv værdien gemt i akkumulatoren til RAM på adressen gemt i register P 6: formindsk værdien af ​​register P med én 7: gå til trin 1

Længden af ​​bootloaderen på andet niveau var sådan, at den sidste byte af bootloaderen ændrede kommandoen på adresse 6. Efter udførelse af trin 5 startede bootloaderen på andet niveau. Indlæseren på andet niveau ventede på, at et langt hulbånd, der indeholdt operativsystemet, skulle indlæses i hulbåndslæseren. Forskellen mellem det første niveau loader og det andet niveau loader var kontrollerne for læsefejl fra udstanset tape, som man ofte stødte på på det tidspunkt, og især på ASR-33 teleprintere, der blev brugt i dette tilfælde.

Nogle operativsystemer, hvoraf de mest karakteristiske er de gamle (før 1995) operativsystemer på Macintosh-computere produceret af Apple Computer , er så tæt beslægtet med computerhardware (op til overgangen til PowerPC og New World ROM- processorer , dvs. op til omkring System 8, i ROM'en indeholdt både kernen og de fleste af OS-bibliotekerne), at det er umuligt at starte noget andet operativsystem på disse computere. I disse tilfælde er det almindeligt at udvikle en bootloader, der fungerer som en standard OS bootloader og derefter overfører kontrollen til et alternativt operativsystem. Apple brugte denne metode til at køre en A/UX - version af Unix , og så blev den brugt af forskellige gratis operativsystemer.

Enheder initialiseret af BIOS

En bootenhed  er en enhed, der skal initialiseres, før operativsystemet starter. Disse omfatter input-enheder ( tastatur , mus), grundlæggende output-enhed ( videokort og skærm ) og den enhed, som operativsystemet vil blive indlæst  fra - diskettedrev , harddisk , cd-rom , flashdrev , SCSI -enhed, netværkskort ( ved opstart over et netværk; for eksempel ved brug af PXE ).

Opstartssekvens for en IBM PC-kompatibel computer

Efter at have tændt for en personlig computer (PC) baseret på en Intel 80x86 familieprocessor , begynder dens processor at arbejde i reel adresseringstilstand med en segmentorganisation og udføre processorinstruktioner fra adressen FFFF:0 initialiseret i et par registre CS:IP (Kode Segment : Instruktionsmarkør) efter fjernelse af RESET-signalet. I slutningen af ​​RAM -adresserummet, der er tilgængeligt for processoren, indlæses BIOS - indlæseren fra bundkortets ROM og udføres i overensstemmelse med den ubetingede greninstruktion, der er kortlagt ved FFFF:0.

BIOS -initialiseringsprogrammet ved hjælp af POST -programmet kontrollerer, at computerens enheder fungerer korrekt, og initialiserer dem.

BIOS'en forespørger derefter på listen over startbare enheder, i rækkefølge, fra listen over startbare enheder, der er forudgenereret (i CMOS SETUP-konsolværktøjet), indtil den finder en bootbar enhed. Hvis en sådan enhed ikke findes, viser BIOS en fejlmeddelelse på pc -konsollen , og opstartsprocessen stoppes. Når BIOS'en registrerer en boot-enhed, vil der blive gjort et forsøg på at læse data fra dens nul-sektor (512 bytes, som bør indeholde en boot-record ) fra sidstnævnte. Efter vellykket afslutning af læsning af data fra nul-sektoren af ​​boot-enheden til RAM på den oprindelige adresse 0000:7C00, sender BIOS yderligere udførelse af processorinstruktioner til denne adresse.

Nulsektoren på den startbare harddisk indeholder den såkaldte "Master Boot Record" (MBR - Master Boot Record) , der indeholder både data fra de første fire poster i partitionstabellen og instruktionerne fra Intel 80x86-processoren, som give en søgning efter den aktive partition gennem disse indgange, hvorfra, ved hjælp af en fra funktionerne i det grundlæggende input-output system - INT 13h ( engelsk  Int 13h ) [1] , implementeret som en processor afbrydelseshåndtering , boot record af operativsystemet vil blive læst . Denne bootsektor afhænger som regel af operativsystemet og skal indlæse kernen af ​​operativsystemet i RAM og derefter overføre udførelsen af ​​processorinstruktioner til den. Hvis den aktive partition ikke eksisterer, eller den aktive partitions bootsektor er ugyldig, kan MBR'en indlæse backup-bootloaderen og overføre kontrol til den. Backup-bootloaderen skal vælge en partition (ofte med hjælp fra brugeren), indlæse dens opstartssektor og overføre kontrol til den, som igen overfører kontrollen direkte til OS-indlæseren (yderligere opstartstrin afhænger af typen/versionen af det installerede OS ). [2]

Andre typer opstartssekvenser

Nogle processorer har forskellige boot-tilstande. For eksempel kan de fleste DSP'er starte i følgende tilstande:

Noter

  1. Microsoft Knowledge Base . Dato for adgang: 26. december 2015. Arkiveret fra originalen 26. december 2015.
  2. BSoD blå skærmbilleder (og andre fatale fejl) kan kun vises efter den første opstart, når opstartskontrollen overføres til bootloaderen og OS-kernen. Under opstartsfasen vises alle mulige fejl (POST, BIOS, MBR, FAT/MFT-tabeller, VBS-sektorer, IPL (PnP BIOS)) meget kort og på en sort skærm.

Se også

Litteratur

Links