BIOS, váš kamarád do deště (I.)
autor: Petr Stránský , publikováno 9.5.2007
BIOS, váš kamarád do deště (I.)

BIOS, toť tajuplná a magická zkratka - pro někoho každodenní chléb, pro jiného zase Pandořina skřínka, se kterou si není radno příliš zahrávat. Ať už patříte do té či oné skupiny uživatelů, pojďte s námi, v tomto novém seriálu nadzvednout roušku, pod kterou se skrývá mnoho užitečných kouzel, jež ovlivňují nejen výkon ale i stabilitu vašeho plechového kamaráda...


Termín BIOS (dále jen BIOS) je zkratkou anglického termínu Basic Input/Output System, což v překladu označuje "základní vstupně-výstupní jednotku" - je to tedy systém, který se stará o nejzákladnější funkce zajišťující kompatibilitu a bezproblémový chod počítače jako celku. Právě BIOS je ten malý trpaslík, jež po spuštění počítače hlásí, zda je připojeno vše co má být připojeno a jestli to funguje tak jak má. Ale o tom všem až za chvíli...

Na úvod bych měl ještě říci, že BIOS není obdařen žádnou speciální "inteligencí" a vzhledem k tomu, že v extrémních případech může dojít i ke zničení HW počítače (zejména při úpravách napětí nad určitou mez), vám musím ještě jednou připomenout, že veškeré úpravy provádíte na vlastní riziko a při výskytu případných problémů se nelze odvolávat na tento článek. Na druhou stranu je ale nutno také říci, že při opatrném jednání lze riziko téměř eliminovat.

Kde se vzal, tu se vzal

V dnešní době existují pouze tři hlavní výrobci BIOSů - jsou to AMI (American Megatrends), Award a společnost Phoenix Technologies, jejíž produkty jsou známy především na poli mobilní výpočetní techniky. Award byl zase oblíben především u menších výrobců základních desek, potažmo i celých počítačových sestav, protože prodává své systémy jako "stavebnicové" OEM verze a umožňuje jim tak úpravu stávajícího kódu. V roce 1998 navíc došlo k velice zajímavé situaci, která trošku více rozvířila dosud stojaté vody trhu s počítači. Firma Award byla totiž pohlcena konkurenčním Phoenixem, jež nadále prodává své produkty pod hlavičkou Award-Phoenix.

Navíc existuje mnoho dalších "druholigových" výrobců - za všechny jmenujme např. notebookový Insyde či General Software. Velcí výrobci počítačů (Compaq, Dell a další) si také BIOSy sami upravují a k tomu i některé položky nastavují "natvrdo", takže některé jejich produkty nemají tolik konfiguračních možností. Tolik výrobců ale není pouze ku prospěchu, problémem může být např. rozdílné uložení stejné položky v jiné nabídce menu nebo dokonce její zcela odlišné jméno. Změny ale nejsou natolik drastické, aby se nedaly přežít. Stačí jen ovládat "umění hledat" a být trošku zasvěcen do tajů anglického jazyka.

BIOS, váš kamarád do deště (I.)
logo společnosti Phoenix

Poznámka: existuje ještě jedno speciální řešení s názvem Open BIOS, jež je šířen s licencí GPL v2 (General Public Licence - jež tvoří základ celého projektu svobodného softwaru). Díky tomu může být kýmkoliv upravován a používán, avšak pokud si jej někdo přizpůsobí, může následně kontaktovat lidi z tohoto projektu, informovat je o navržených změnách a tím přispět k vylepšení produktu. Největší problém tohoto řešení je ale horší podpora výrobců základních desek, procesorů a ostatních komponent a proto bude Open BIOS vždy za komerčními produkty trochu zaostávat.

BIOS, váš kamarád do deště (I.)
pakůň Heckert, maskot projektu GNU

 

Vrstvy a funkce BIOSu

Odpověď je jednoduchá - BIOS je vlastně základní driver (ovladač) pro základní desku uložený v paměti flash. Je to sada instrukcí, která je potřebná k tomu, aby:

  • základní deska rozpoznala použitý hardware (typ procesoru, konfiguraci a množství paměti, obsazené sloty PCI a AGP, harddisky, CD ROMy...). Všimněte si, detekované hodnoty se vypíší do tabulky po zapnutí PC. Pokud včas stisknete klávesu Pause / Break (chce to postřeh) - můžete je v klidu studovat,
  • aby se provedly základní testy / případně nahlásily chyby (např. pípáním). Základní testy probíhají víceméně v okamžiku, kdy počítač "počítá" paměť. Těmto testům se říká POST od anglického Power-On Self Test (Samočinný Test po Zapnutí),
  • dle zjištěného hardware a hodnot zadaných uživatelem v Setupu se nastaví celá řadu parametrů pro chipset (čipovou logiku) základní desky - tyto parametry ovlivňují jak rychlost, tak spolehlivost a funkčnost systému,
  • aby se iniciovaly zařízení PnP - Plug and Play - například grafické, zvukové, síťové karty, modemy, řadiče SCSI apod. (přidělí se jim kanály IRQ, případně DMA, nastaví režimy šetření energie...),
  • aby počítač (už konečně!) nabootoval (tj. zavedl do paměti operační systém - například DOS, Linux, Windows, NT z diskety, harddisku nebo odjinud).

Výstupem BIOSu je ucelený "inventář komponent" a jejich nastavení, který předává posléze dál operačnímu systému (ať už Windows, DOS, Linuxu nebo čemukoliv jinému). Tyto inicializační procesy mají pro správnou funkčnost zásadní význam a je-li něco špatně již zde (nastavení, nespolupracující komponenty, apod.), v drtivé většině se se zlou potážete i v dalších fázích (rozuměj v operačním systému).

Poznámka: dnešní moderní operační systémy některé dříve často využívané služby poskytované BIOSem obcházejí a komunikují s HW přímo (respektive zavádějí svou vlastní "hardwarovou vrstvu").

Flash PROM

První záležitostí, o které je třeba se zmínit je oblast čipu paměti ROM, do které je nahrán samotný systém již jeho výrobcem. V tomto modulu jsou také zapsány další informace o možných komponentách základní desky, pomocí nichž si bude BIOS v budoucnu sám schopen detekovat a konfigurovat připojené komponenty.

Oblast čipu vyrobeného touto technologií je určena primárně pouze pro čtení a kdysi do něj opravdu nebylo možné žádná nová data zapsat. Postupem času se ale dospělo k nové technologii, která dovoluje pomocí speciálního postupu nazývané též jako flashování obsažené datové informace přeci jenom přepsat.

BIOS, váš kamarád do deště (I.)
paměť ROM v pouzdře DIP se dnes už tak často nevidí; o tom svědčí i mírné povrchové poškození čipu :)

Ne, nejedná se o obyčejný rozmar techniky. Díky této technice je totiž možné rozšířit stávající funkce základní desky, vyladit její stabilitu nebo třeba (a to je asi nejdůležitější) rozšířit kompatibilitu desky s nově vyrobenými zařízeními.

Pro příklad použití ani nemusíme chodit daleko - v nedávné minulosti tak třeba nebylo možné využívat pevné disky s vyšší kapacitou než 7,88GB, pokud byli zároveň připojeny k základní desce, jejíž BIOS nedovoloval využití modernější metody adresace (LBA).

Tato i další adresní metody pevných disků budou podrobněji rozebrány v páté kapitole Pevný disk v pozoru.

BIOS, váš kamarád do deště (I.)
již pěknou řádku let jsou totiž v módě pouzdra PLCC

Pro historií zapálené jedince tu mám navíc některé další zajímavé fakty o jednotlivých typech obvodů ROM:

  • ROM (Read Only Memory) - nejstarší typ, do kterého byla informace zapsána pouze jednou jedinkrát během výroby. Další přepisování již nebylo možné.
  • PROM (Programmable ROM) - typ paměti, jež byla vyráběna úplně čistá. Požadovaný obsah si do ní zapsal až sám uživatel s pomocí speciálního elektronického zařízení - programátoru. Jakékoliv další následné přepisování rovněž nebylo umožněno.
  • EPROM (Erasable PROM) - čip, jež bylo možné vymazat pomocí speciální plošky na povrchu čipu, která reagovala na sluneční UV záření. Menší nevýhodu sice představovala celková rychlost mazání dat (cca 10min) a než byla operace kompletně dokončena, mohli jste jít klidně na skleničku něčeho dobrého, ale podstatné bylo, že tento postup skutečně fungoval :)
  • EEPROM (Electronically EPROM, E2PROM) - odstraňuje nevýhodu modulu EPROM, paměť je totiž vymazatelná pomocí jednoduchého elektronického impulsu. Nevýhodou je omezený počet přepsání (kolem 100 000), pomalost mazání obsažených dat a také jejich malá kapacita. Paměť je již také možné programovat přímo v počítači, kde se chová jako běžné RAM moduly a proto lze ihned změnit kterýkoliv uložený byte. Na rozdíl od RAM je však jakákoliv operace nad daty dosti pomalá a jedna buňka tak může být změněna za dosti pomalých (cca) 10ms.

    Moduly tohoto typu bývají často používány např. v televizorech, kde se starají o uložení uživatelských dat (rozložení sledovaných kanálů, hlasitost apod.). U některých základních desek bývají využívány i k uložení uživatelské konfigurace BIOSu a baterie se pak stará pouze o korektní běh systémového času.
  • FLASH PROM - také tyto čipy disponují stejnou výhodou jako předešlý typ - pro přeprogramování je není třeba vyjímat z patice. Při stejné ceně jako EEPROM také nabízejí mnohem větší kapacitu (flashdisky). Další velkou výhodou této technologie je bezesporu rychlost provádění výmazu, maže se totiž přímo po blocích buněk, velikost takového sektoru se pohybuje nejčastěji mezi 128B32kB. Při přeprogramovávání je tak nutné celý takový sektor přepsat. Maximální počet přepsání je opět omezen, tentokrát mnohem výrazněji (řádově v tisících cyklů).

BIOS, váš kamarád do deště (I.)
čip EPROM bylo možné vymazat díky plošce reagující na UV světlo

Během dlouhého vývoje spatřilo světlo světa ještě mnoho další typů ROM obvodů, ty však nejsou pro nás tolik důležité. Za všechny zmíním ještě třeba paměťový čip WMM (Write Mostly/Only Memory), který se používá většinou pouze pro zápis a tak nachází dodnes uplatnění v černých skříňkách letadel.

Pro úplnost je ještě třeba říci, že všechny zmíněné čipy již samotní výrobci BIOSů nevyrábějí. Do předpřipraveného paměťového prostoru pouze nahrají svůj naprogramovaný obsah.

CMOS

V pořadí již druhou oblast, o které se zmíním, tvoří čip s názvem CMOS (Complementary Metal-Oxide Semiconductor). Ten je již schopen standardního zápisu a proto si do něj každý BIOS ukládá všechny informace o provedených změnách, jež provedete v programu Setup (to je ten hlavní nástroj BIOSu, pomocí kterého můžete provádět patřičné aktualizace).

Paměť CMOS je udržována při životě malou knoflíkovou baterií typu CR2032 s relativně vysokou životností, protože má celkem malou spotřebu. Častokrát tak přežije i samotnou základní desku. V žádném případě však nejde o pravidlo! Již jsem se s jejím vybitím několikrát setkal. Pokud byste se tedy někdy dostali do podobné situace, tak vězte, že novou baterii lze sehnat v jakékoliv slušnější prodejně s elektronikou.

BIOS, váš kamarád do deště (I.)
CR2032 v celé své kráse

Firmware instalovaných zařízení

Třetí a zároveň též poslední vrstvu, do které má BIOS co mluvit, tvoří firmware přídavných karet a dalších zařízení, které jsou instalovány v počítači. Ať už mluvíme o zvukové kartě, grafice nebo třeba o pevném disku - ve všech nalezneme speciální čip ROM, z kterého se váš počítač a potažmo i jeho obsluha dozví, s kým že to má do dočinění.

Jenom díky této oblasti je pak váš operační systém, při instalaci nového hardwaru, schopen jej automaticky rozpoznat a nabídnout k instalaci správné ovladače - samozřejmě jen pokud je má k dispozici.

A jak vlastně tyto informace vypadají a co všechno z nich lze vyčíst? O tom se můžete dokonce i sami přesvědčit. Stačí si nainstalovat některý ze speciálních nástrojů. Za všechny zmiňme např. komerční SiSoft Sandra či freewarový Everest Home Edition. Druhý zmíněný prográmek s vámi bude dokonce komunikovat v rodném českém jazyce.

BIOS, váš kamarád do deště (I.)
Everest dokáže zjistit mnoho informací nejen o BIOSu

Od verze 3.0 byl produkt nahrazen vylepšeným Everestem Ultimate, který již není distribuován jako freeware a tak je třeba hledat nějaké alternativní umístění staré verze Everest Home 2.20. Na druhou stranu má ale nová a placená verze mnoho dalších funkcí navíc.

API a HAL

Ze všech tří výše zmíněných vrstev si BIOS při startu vytvoří tzv. aplikační programové rozhraní, API (Application Programming Interface), které je tvořeno různými předpřipravenými příkazy a funkcemi a slouží k zajištění správné komunikace mezi aplikací a operačním systémem. Je to velice výhodný přístup, protože programátor se již více nemusí zabývat vlastní HW operací (např. zápisem na pevný disk) a může se tak maximálně soustředit na řešení vlastního problému. V případě potřeby pak pouze zadá příkaz API, které se o provedení potřebné akce již postará samo.

Tímto postupem se pak celá komunikace velmi zjednodušuje a zpřehledňuje, protože aplikace komunikuje pouze s OS. Pokud pak bude chtít nějaký ovladač komunikovat s daným zařízením, použije k tomu vrstvu HAL (Hardware Abstraction Layer), skrz kterou bude veškerá komunikace procházet. Pokud by pak chybou programátora ovladače došlo náhodou k volání špatné funkce, která by mohla narušit integritu systému a pravděpodobně by také brzy způsobila nechvalně známou BSOD (Blue Screen of Death, modrá obrazovka smrti), bude její volání zkorigováno či rovnou potlačeno.

Tato kontrola se začala provádět až u systémů od řady NT (2000, XP), což vysvětluje jejich mnohem lepší odolnost vůči BSODům oproti starším OS typu 9x. Tyto operační systémy totiž kvůli vyšší rychlosti spojení zmíněnou kontrolu vůbec neprovádějí a dovolují ovladačům na úkor bezpečnosti přistupovat k zařízením na velice nízké HW úrovni, což může být někdy celkem nebezpečné.

BIOS, váš kamarád do deště (I.)
také máte rádi tento "krásný" pohled?



 
Komentáře naleznete na konci poslední kapitoly.
814 čtenářů navrhlo autorovi prémii: 398.2Kč Prémie tohoto článku jsou již uzavřené, děkujeme za váš zájem.
Tento web používá k poskytování služeb soubory cookie.