2Aug

Čo robí BIOS po zavedení?

Akonáhle váš počítač ukončí bootovací proces a ste pevne v operačnom systéme bzučaní pozdĺž, je ešte niečo pre BIOS robiť?

Dnešná otázka &Odpoveď na zasadnutie nám prináša zdvorilosť SuperUser - subdivizácia Stack Exchange, skupinové zdieľanie webových stránok Q & A.

Otázka

čítačka SuperUser Indrek predstavuje túto otázku týkajúcu sa systému BIOS:

Vždy som si položil otázku, či BIOS( okrem vykonávania POST, spustenia bootloaderu a prechodu na OS po stlačení tlačidla napájania) má akýkoľvek účel alebo funkciu,systém beží?

Spája operačný systém s BIOSom počas behu a ak áno, ako?

Skutočne? Akú funkciu má BIOS okrem kritickej úlohy pri spustení počítača?

Odpovede

S láskavým dovolením prispievateľa SuperUser Mechanical Snail, prehľad o tom, ako sa zmenila úloha systému BIOS v priebehu času a čo to robí a čo nerobí dnes:

Úloha systému BIOS

S modernými OS, prakticky žiadnym .Linus Torvalds údajne uviedol, že jeho úlohou je "práve načítať operačný systém a vyhnúť sa odtiaľto".

Staršie operačné systémy ako MS-DOS sa spoliehali na systém BIOS pre mnohé úlohy( napr. Prístup na disk) prostredníctvom volania prerušení.

S modernými operačnými systémami sa bootloader rýchlo prepne do 32- alebo 64-bitového režimu a spustí jadro operačného systému. Jadro môže zaregistrovať vlastné manipulátory prerušenia, ktoré je možné zavolať aplikáciami používateľského priestoru. Rutiny jadra môžu byť prenosnejšie( pretože nie sú závislé od konkrétneho hardvéru), flexibilnejšie( dodávatelia OS ich môžu zmeniť na požiadanie, a nie musieť použiť všetko, čo prišlo s hardvérom), sofistikovanejšie( môžu robiť ľubovoľne komplexnéskôr ako program, ktorý bol naprogramovaný v systéme BIOS) a bezpečnejší( pretože operačný systém môže riadiť prístup k zdieľaným zdrojom a zabrániť tomu, aby sa programy skomplikovali a implementovali svoje vlastné schémy ľubovoľných povolení).

Ak chcete interagovať so špecifickým hardvérom, operačné systémy môžu načítať a používať vlastné ovládače zariadení.Takže nie je potrebné, aby operačný systém alebo aplikácie nazývali väčšinu rutín BIOSu. Z bezpečnostných dôvodov sú prerušenia systému BIOS dokonca zakázané.Keďže BIOS žije v 16-bitovom reálnom režime, je ťažšie zavolať na moderné operačné systémy.

Zatiaľ čo používanie systému BIOS je veľmi obmedzené počas prevádzky operačného systému, jeho funkcie sa stále využívajú periférne. Napríklad, keď počítač spí, operačný systém nie je spustený a nakoniec klesne na firmvér, aby nastavil hardvér do správneho stavu, aby pozastavil a obnovil operačný systém. Tieto použitia sú skôr obmedzené na ACPIcalls než na volania do celého rozhrania systému BIOS.ACPI je rozšírenie systému BIOS, ktoré "prináša správu napájania pod kontrolou operačného systému( OSPM), na rozdiel od predchádzajúceho systému BIOS, ktorý sa spoliehal na firmvér špecifický pre platformu na určenie politiky správy a konfigurácie napájania".

Všimnite si, že oficiálne "BIOS" odkazuje na konkrétne rozhranie firmvéru, ale termín sa bežne používa na označenie firmvéru počítača vo všeobecnosti. Niektoré najnovšie počítače( najmä Apple) nahradili systém BIOS( sensu strictu) s UEFI, čo je samozrejme tým, čo sa nazýva na implementáciu týchto funkcií.

Ďalšie informácie o tom, ako sa zmenila úloha systému BIOS v priebehu času, nájdete na Wikipédii.

Ďalšie prispievateľ SuperUser, Simon Richter, nám poskytuje prehľad o veciach, ktoré BIOS stále robí:

BIOS a správa napájania

Systém BIOS poskytuje niekoľko služieb pre operačné systémy, z ktorých väčšina súvisí s riadením napájania:

  • modifikáciaprocesorové a autobusové hodiny
  • zapnutie / vypnutie zariadení na základnej doske
  • kontrola výkonu rozširujúceho portu
  • pozastavenie na disk a pozastavenie do pamäte
  • obnovenie nastavenia udalosti

Suspend-to-disk je implementovaný v operačnom systéme väčšinu času ako operačný systémmôže obnoviť svoj stav rýchlejšie( iba stav jadra je opätovne nabitý a programový stav je v prípade potreby vymenený, čo je výrazne rýchlejší ako opätovné načítanie celej pamäte RAM), ale funkcia zostáva v špecifikácii.

Funkcia

Suspend-to-RAM nemôže byť implementovaná operačným systémom, pretože sa opiera o systém BIOS preskočiaci inicializáciu a testovanie RAM, takže operačný systém potrebuje rozhranie API, aby informoval systém BIOS o tom, že má pokračovať s aktuálnym obsahom RAM.Na účely poskytovania tejto služby systém BIOS vyzýva operačný systém, aby nechal určitú oblasť RAM neporušená.

Rozhranie OS pre všetky služby BIOS je časť kódu virtuálneho stroja, ktorá musí byť spustená na emulátora a ktorá generuje potrebné vstupno-výstupné operácie do hardvéru. Pre pozastavenie je to všeobecne implementované tak, že vykonanie jedného z hardwarových zápisov spustí prerušenie, ktoré prenáša kontrolu do systému BIOS.

Musíte niečo pridať k vysvetleniu? Zvuk vypnúť v komentároch. Chcete si prečítať viac odpovedí od iných používateľov technológie Stack Exchange? Pozrite sa na celý diskusný príspevok tu.