Spuštění počítače

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 17. ledna 2018; kontroly vyžadují 28 úprav .

Zavádění je vícestupňový proces, který je součástí procesu spouštění počítače, od okamžiku zapnutí napájení až po spuštění operačního systému. Bootovací sekvence  je posloupnost akcí, které musí počítač provést pro spuštění operačního systému (přesněji bootloaderu ), bez ohledu na typ nainstalovaného OS.

Bootstrap

Většina počítačových systémů může provádět pouze příkazy, které jsou v paměti RAM počítače , zatímco moderní operační systémy jsou ve většině případů uloženy na pevných discích , spouštěcích discích CD-ROM , USB discích nebo v místní síti .

Po zapnutí počítače není v jeho RAM žádný operační systém. Počítačový hardware sám o sobě bez operačního systému nemůže provádět složité akce, jako je načítání programu do paměti. Stojíme tedy před paradoxem, který se zdá být neřešitelný: abychom mohli načíst operační systém do paměti, musíme již mít operační systém v paměti.

Řešením tohoto paradoxu je použití speciálního počítačového programu zvaného bootloader (v počítačích kompatibilních s IBM PC , který je součástí systému BIOS - Basic Input/Output System). Tento program nemá všechny funkce operačního systému, ale stačí nahrát jiný program, který načte operační systém. Často se používá vrstvené načítání, při kterém se několik malých programů navzájem volá, dokud jeden z nich nenačte operační systém.

V moderních počítačích začíná proces bootování tím, že procesor vykonává instrukce umístěné v trvalé paměti (například na IBM PC , BIOS  instrukce ), začínající na předem definované adrese (procesor to dělá po restartu bez jakékoli pomoci). Tento software dokáže detekovat zařízení vhodná pro bootování a načíst ze speciálního oddílu vybraného zařízení (nejčastěji boot sektor tohoto zařízení) OS loader .

Bootloadery musí splňovat specifická omezení, zejména pokud jde o objem. Například na IBM PC se zavaděč první úrovně musí vejít do prvních 446 bajtů hlavního zaváděcího záznamu , takže ponechává prostor pro 64 bajtů tabulky oddílů a 2 bajty pro 55AAh signaturu, kterou BIOS potřebuje k detekci samotného zavaděče. .

Historie

První počítače měly sadu přepínačů, které umožňovaly operátorovi umístit zavaděč do paměti před spuštěním procesoru . Tento bootloader pak načte operační systém z externího zařízení, jako je děrná páska nebo pevný disk .

Kód zavaděče pseudoassembleru může být tak jednoduchý jako následující sekvence instrukcí:

0: napište 8 pro registraci P 1: zkontrolujte, zda čtečka děrné pásky může začít číst 2: pokud ne, přejděte ke kroku 1 3: přečte bajt ze čtečky děrné pásky a zapíše jej do baterie 4: pokud je děrná páska u konce, přejděte ke kroku 8 5: Zapište hodnotu uloženou v akumulátoru do paměti RAM na adresu uloženou v registru P 6: zvýšení hodnoty registru P o jedna 7: přejděte ke kroku 1

Tento příklad je založen na bootloaderu jednoho z minipočítačů vydaných v 70. letech společností Nicolet Instrument Corporation.

0: Napište 106 pro registraci P 1: zkontrolujte, zda čtečka děrné pásky může začít číst 2: pokud ne, přejděte ke kroku 1 3: přečte bajt ze čtečky děrné pásky a zapíše jej do baterie 4: pokud je děrná páska u konce, přejděte ke kroku 8 5: Zapište hodnotu uloženou v akumulátoru do paměti RAM na adresu uloženou v registru P 6: snížení hodnoty registru P o jednu 7: přejděte ke kroku 1

Délka zavaděče druhé úrovně byla taková, že poslední bajt zavaděče změnil příkaz umístěný na adrese 6. Po provedení kroku 5 se tedy spustil zavaděč druhé úrovně. Zavaděč druhé úrovně čekal na zavedení dlouhé děrné pásky obsahující operační systém do čtečky děrné pásky. Rozdíl mezi zavaděčem první úrovně a zavaděčem druhé úrovně byly kontroly chyb čtení z děrné pásky, které se v té době často vyskytovaly, a to zejména u v tomto případě používaných dálnopisů ASR-33.

Některé operační systémy, z nichž nejcharakterističtější jsou staré (před rokem 1995) operační systémy počítačů Macintosh vyráběné společností Apple Computer , jsou tak úzce spjaty s počítačovým hardwarem (až do přechodu na procesory PowerPC a New World ROM , tj. až po systém 8, v ROM obsahovalo jádro i většinu knihoven OS), že na těchto počítačích není možné zavést žádný jiný operační systém. V těchto případech je běžné vyvinout bootloader, který funguje jako standardní bootloader OS a poté předá řízení alternativnímu operačnímu systému. Apple použil tuto metodu ke spuštění A/UX verze Unixu a poté ji začaly používat různé svobodné operační systémy.

Zařízení inicializovaná BIOSem

Spouštěcí zařízení  je zařízení, které musí být inicializováno před zavedením operačního systému. Patří mezi ně vstupní zařízení ( klávesnice , myš ), základní výstupní zařízení ( grafická karta a displej ) a zařízení, ze kterého se bude OS načítat  - disketová mechanika , pevný disk , CD-ROM , flash disk , SCSI zařízení, síťová karta ( při spouštění ze sítě; například pomocí PXE ).

Spouštěcí sekvence pro počítač kompatibilní s IBM PC

Po zapnutí osobního počítače (PC) založeného na procesoru rodiny Intel 80x86 začne jeho procesor pracovat v reálném režimu adresování s organizací segmentů a vykonáváním instrukcí procesoru z adresy FFFF:0 inicializované ve dvojici registrů CS:IP (Code Segment: Instrukční ukazatel) po odstranění signálu RESET. Na konci adresního prostoru RAM dostupného procesoru se zavaděč BIOSu načte z ROM základní desky a provede se podle nepodmíněné instrukce větvení mapované na FFFF:0.

Inicializační program systému BIOS pomocí programu POST zkontroluje, zda zařízení počítače fungují správně, a inicializuje je.

BIOS se pak dotazuje na seznam spouštěcích zařízení v pořadí od předem vygenerovaného seznamu spouštěcích zařízení (v nástroji konzoly CMOS SETUP), dokud nenajde zaváděcí zařízení. Pokud takové zařízení není nalezeno, BIOS zobrazí na konzole PC chybovou zprávu a proces spouštění bude zastaven. Když BIOS detekuje spouštěcí zařízení, bude proveden pokus o načtení dat z jeho nulového sektoru (512 bajtů, který by měl obsahovat spouštěcí záznam ) z tohoto nulového sektoru. Po úspěšném dokončení načítání dat z nultého sektoru bootovacího zařízení do RAM na počáteční adrese 0000:7C00 odešle BIOS na tuto adresu další provádění instrukcí procesoru.

Nultý sektor zaváděcího pevného disku obsahuje takzvaný "Master Boot Record" (MBR - Master Boot Record) , obsahující jak data prvních čtyř položek tabulky oddílů , tak instrukce procesoru Intel 80x86, který poskytnout vyhledání aktivního oddílu prostřednictvím těchto záznamů, ze kterého se pomocí jedné z funkcí základního vstupně-výstupního systému - INT 13h ( anglicky  Int 13h ) [1] , implementované jako obsluha přerušení procesoru, spustí zaváděcí záznam operačního systému bude načten . Tento zaváděcí sektor zpravidla závisí na operačním systému a musí načíst jádro operačního systému do RAM a poté do něj přenést provádění instrukcí procesoru. Pokud aktivní oddíl neexistuje nebo je zaváděcí sektor aktivního oddílu neplatný, MBR může načíst záložní bootloader a přenést na něj řízení. Záložní zavaděč musí vybrat oddíl (často s pomocí uživatele), načíst jeho zaváděcí sektor a přenést na něj řízení, které zase přenese řízení přímo na zavaděč OS (další kroky zavádění závisí na typu/verzi nainstalovaný OS ). [2]

Jiné typy zaváděcích sekvencí

Některé procesory mají různé režimy spouštění. Například většina DSP může bootovat v následujících režimech:

Poznámky

  1. Microsoft Knowledge Base . Datum přístupu: 26. prosince 2015. Archivováno z originálu 26. prosince 2015.
  2. Modré obrazovky BSoD (a další fatální chyby) lze zobrazit pouze po úvodním spuštění, kdy je řízení spouštění přeneseno do bootloaderu a jádra OS. Během spouštěcí fáze se všechny možné chyby (POST, BIOS, MBR, tabulky FAT/MFT, sektory VBS, IPL (PnP BIOS)) zobrazují velmi krátce a na černé obrazovce.

Viz také

Literatura

Odkazy