BIOS

BIOS (anglicky Basic Input-Output System) implementuje základní vstupně–výstupní funkce pro počítače IBM PC kompatibilní a představuje vlastně firmware pro osobní počítače. V současné době se BIOS používá hlavně při startu počítače pro inicializaci a konfiguraci připojených hardwarových zařízení a následnému spuštění operačního systému, kterému je pak předáno další řízení počítače.

Programový kód BIOSu je uložen na základní desce v nevolatilní (stálé) paměti typu ROM, EEPROM nebo modernější flash paměti s možností jednoduché aktualizace.

Historie

První IBM PC bylo uvedeno 12. srpna 1981 a v červnu 1982 byl uveden první IBM PC kompatibilní klon firmou Columbia Data Products. Aby na klonech mohly být provozován stejný software, musela být zajištěna kompatibilita nejen na hardwarové úrovni, ale i na úrovni BIOSu.

Klon původního IBM BIOSu mohl být dodáván díky legálně provedenému reverznímu inženýrství (anglicky clean room design). Na trh se tak dostaly počítače, které byly schopny provozovat stejný operační systém a další programy.

Čipy

Původní IBM PC BIOS byl uložen v paměti ROM (pouze pro čtení), která byla zasunuta do soketu v základní desce a oprava BIOSu byla možná pouze výměnou ROM čipu. Protože to bylo nepraktické, začala se používat pro BIOS paměť EEPROM, kterou bylo možné přeprogramovat (změnit její obsah) tak, že byla vyjmuta z patice a přeprogramována ve speciálním zařízení. Kolem roku 1995 se začaly používat flash paměti, které lze přeprogramovat bez vyjmutí ze základní desky. Důvodem změn BIOSu byly zejména změny v hardwaru (nové procesory). S příchodem IBM AT se přidaly hardwarové hodiny, které byly nastavovány přes BIOS. Flash čipy byly připojovány na sběrnici ISA,které po nějaké době začaly nahrazovat autobasy LPC, měli funkčně nahradit sběrnici ISA, která bylo známá pro nové rozhraní jako "rozbočovač firmware". V roce 2006 začaly systémy podporovat Serial Peripheral Interface a flashová paměť BIOSU se znovu stěhovala, dnešní BIOS má velikost až 16MB. Některé moderní základní desky mají ještě větší NAND flash paměť, s kterou jsou schopné uchovávat celé kompaktní operační systémy, například u některých Linuxových aplikací. Několik základních desek od firmy ASUS mají součástí Splashtop Linux, který je uložen do jejich NAND obvodů. Další typ firmware čipu byl nalezen v IBM PC a brzy se stal kompatibilním a jeho řízení bylo prováděno pomocí mikrokontroloru s vlastní programovatelnou paměti.

Flashovaní BIOSU

V moderních počítačích je BIOS uložen v přepisovatelné paměti, což umožňuje obsah přepsat nebo nahradit. To lze provést pomocí speciálního programu, který bývá obvykle poskytovaný výrobcem systému, nebo v POSTU, s uložením na pevný disk nebo USB flash disk. Soubor obsahuje takzvaný "image BIOS„ při kterém může být BIOS přepsán, aby mohlo být provedené vylepšení, které zajistí nové verzi opravit chyby a poskytnout větší výkon, nebo na podporu novějšího hardwaru a také může sloužit k opravě poškozeného BIOSu.

Evoluční role BIOSu

Některé operační systémy, jako například všechny klony DOSu využívají BIOS (Basic Input/Output System) pro provádění většiny vstupně–výstupních operací (čtení z disku, diskety, klávesnice, výstup znaku na monitor nebo tiskárnu apod.). BIOS se tak stal sjednocujícím prvkem 16bitových systémů a značným způsobem zjednodušoval programátorům operačních systémů práci.

V roce 1986 byl uveden 32bitový procesor Intel 80386, avšak vývoj operačních systémů za ním zaostal. Pokročilé programy ovládaly hardware samy (např. editor Text602) nebo využívaly DOS extendery a role BIOSu tak začala ustupovat do pozadí. Alternativní hardwarové platformy (například PowerPC a SPARC) využívaly služeb Open Firmware, avšak BIOS pro PC i přes několik pokusů pokročilé a jednotné 32-bitové rozhraní nepřinesl. Kvůli technickým obtížím a ztrátě výkonu si nové operační systémy na platformě PC řešily přímou komunikaci s hardware samostatně (Linux v roce 1991, Windows NT v roce 1993).

Nové úkoly pro BIOS přineslo ACPI, které zahrnovalo detekci a konfiguraci hardware, řízení spotřeby energie (anglicky power managment), výměnu zařízení za běhu (anglicky hot swapping), řízení teploty (anglicky thermal management) a další funkce.

Následníkem BIOSu by mohl být EFI (anglicky Extensible Firmware Interface), který však není zpětně kompatibilní.

Rozšíření možností BIOSu

Na jaře 2009 také společnost MSI představila „barevný“ BIOS.

Opensource BIOS

Open Source komunita vyvíjí náhradu za proprietární BIOSy a jejich budoucnost je coreboot (dříve LinuxBIOS) a OpenBIOS/Open Firmware projekt, tyto projekty podporuje AMD poskytnutím produktové specifikace a Google sponzoruje tento projekt. Základní deska výrobce Tyan nabízí LinuxBIOS vedle standardních BIOSů s procesory řady Opteron.

V moderních operačních systémech nejsou již služby BIOSu tvořící jeho rozhraní používány nebo je jejich využití omezeno na některé specifické činnosti nebo fáze běhu operačního systému (start a detekce zařízení atd).

DualBIOS

DualBIOS (Dual BIOS) je technologie disponující vyšší třídou ochrany počítače. Jedná se o klasický BIOS a k němu přiřazený totožný BIOS použitelný pouze k zálohování primárního BIOSU. Jednou z desek využívající tuto technologii je GA-7VTX-P od společnosti GIGABYTE.

Setup

K některým starším a proprietárním počítačům (např. IBM PS/2, Compaq a další) se dodávaly speciální programy, které umožňovaly měnit jejich nastavení. Později se tzv. setup stal součástí BIOSu a dá se vyvolat stiskem specifické klávesy při startu počítače (klávesa F2, Delete a podobně). Nastavení se ukládá do nevolatilní BIOS paměti o velikosti 512 bajtů a je použito při startu počítače pro nastavení čipsetu. Historicky se uvádí jako CMOS paměť (původně zálohovaná 3 voltovou baterií), i když v současné době se používá spíše EEPROM nebo flash paměť.

Nastavení v SETUPu

  • nastavení taktu procesoru a operační paměti, napájecí napětí procesoru
  • nastavení cache
  • detekce harddisků, CD-ROM, DVD-ROM
  • nastavení periferií (integr. zvuková, síťová karta, modem)
  • bootovací sekvence (HDD, CD-ROM, USB, LAN, FDD)
  • hardware monitor - zobrazuje informace o teplotě procesoru, napětí zdroje, otáčky ventilátorů
  • power management - nastavení možností napájení
  • další služby - u notebooků např. kalibrace baterií

Advanced BIOS Features setup (nabídka Boot)

Add on ROM Display Mode
Volbou řídíme výpis hlášení z BIOSů uložených v ROM paměti přídavných karet. Zadáme-li Force BIOS, uvidíme během bootování PC výpisy z dílčích BIOSů. Naopak druhá možnost Keep Current, výpisy potlačí.
APIC Mode
Vylepšený řadič přerušení APIC (Advanced Programmable Interupt Controller) umí obsluhovat více mikroprocesorů. Využijeme jej také v jednoprocesorovém PC, protože zvládá sdílení jednoho přerušení více zařízeními. Určitě nastavte na Enabled.
Boot Other Device
Postupné hledání operačního systému musí by povoleno V této volbě (viz First Boot Device, Second Boot Device, Third Boot Device).
Boot Up Floppy Seek
Je-li povoleno, bude se během startu kontrolovat počet stop instalované disketové mechaniky. Staré mechaniky s kapacitou 360 kB uměly pouze 40 stop, všechny pozdější 80. Dnes je tato kontrola zbytečná, a tak je doporučeno nastavit Disabled.
Boot Up Numlock Status
Doporučeno je Enabled. Během Startu tak bude zapnuta numerická klávesnice (jako bychom stiskli NumLock), ale Windows XP toto nastavení ignorují.
CPU L1 & L2
Aktivuje vnitřní systémovou cache procesoru L1 a externí cache L2. Dnes je cache L2 integrována v procesoru, proto je aktivace pro obě cache společná. Musí byt vždy zapnuto, počítač je bez cache podstatně pomalejší.
First Boot Device
Po skončení POST testů bude hledán operační systém jako první na této jednotce. (Viz také Second Boot Device, Third Boot Device, Boot other Device).
Quiet Boot
Zadáme-li Disabled, uvidíme během startu výsledky POST testů. Povolíme-li „tichý start“ (Enabled), bude místo POST zobrazeno logo výrobce základní desky.
Security option
Určuje okamžik ve kterém BIOS bude požadovat kontrolu hesla: Při nastavení System jsme dotázáni na heslo při každém startu počítače. Pokud zadáme druhou možnost – Setup, budeme heslo zadávat pouze při vstupu do Setupu.

Frequency Voltage control (nabídka Power)

Auto Detect PCI Clk
Při zapnutí volby bude BIOS monitorovat aktivitu PCI a pokud zjistí, že některé sloty nejsou obsazeny (nebo jsou obsazeny a nejsou aktivní) vypne signály jdoucí k nim. Tím se omezí elektromagnetické rušení, které by mohlo zbytečně vznikat a „znečišťovat“ kolemjdoucí signály. Kvůli stabilitě systému se však doporučuje volbu vypnout.
CPU Clock Ratio
Zde uvidíme poměr mezi frekvencí jádra mikroprocesoru a vnější frekvencí (tj. frekvencí USB). Správnou hodnotu nastaví BIOS sám a zvyšovat ji – přetaktovávat je nemožné. Multiplikátory mikroprocesoru jsou uzamčeny a změna multiplikátoru je tak nemožná.
CPU Clock
Tato volba je možná nejdůležitější z celé obrazovky. Pokud ji Setup obsahuje, umožňuje pozvednout frekvenci FSB o několik procent. To ve výsledku vede ke zvýšení výkonu procesoru. Nezapomeňme však, že s FSB se mění i další frekvence na základní desce, například PCI, AGP a systém se může stát nestabilním dokonce ani nemusí nastartovat. Kvalitní základní desky dovolují měnit takt jednotlivých sběrnic (PCI a AGP) samostatně, což je výhodné zejména pří přetaktování.
CPU Fan Speed
Otáčky Ventilátoru mikroprocesoru (RPM = otáčky/min).
Chassis Fan Speed
Otáčky ventilátoru chipsetu základní desky.
MB Temperature
Teplota základní desky.
Power Fan Speed
Otáčky ventilátoru.
Power Temperature
Teplota napájecího zdroje.
Voltage Fine Tune
Přepnutím na Enabled povolíme změny napájecího napětí prvků v následujících 3 řádcích. Zvyšování napětí má svůj význam pouze při přetaktování, kdy může zvýšit spolehlivost přetaktovaných komponent. Výrobci jednotlivých prvků však zvyšování napětí důrazně nedoporučují!

AGP Voltage Regulator: dovoluje zvyšovat napětí sběrnice AGP.

CPU Voltage Regulator: dovoluje zvyšovat napětí jádra mikroprocesoru.

DRAM Voltage Regulator: dovoluje zvyšovat napětí pamětí DRAM.

Služby BIOSu

Pro starší operační systémy poskytuje BIOS základní vstupně–výstupní funkce, například:

  • služby obsluhy klávesnice
  • služby obsluhy řadiče disků (disketa, pevný disk)
  • základní služby obsluhy grafické karty (většinou jen pro textový režim)
  • výstup na tiskárnu
  • řízení komunikačních portů

Aktualizace BIOSu

Před rokem 1990 byl BIOS (případně firmware zařízení jako je pevný disk nebo CD/DVD mechanika) uložen v paměti ROM a nedal se snadno měnit. Proto byl postupně umisťován raději na paměti EEPROM a Flash, jejichž obsah lze snadno aktualizovat. První flash paměť byla připojena na sběrnici ISA. Od roku 1998 byl přesunut na LPC sběrnici, která nahradila sběrnici ISA. Následující standard byl znám jako firmware hub (FWH). V roce 2006 začaly první systémy podporovat Serial Peripheral Interface (SPI).

Výrobci hardwaru často vydávají aktualizace BIOSů, které umožňují použití novějších procesorů, odstraňují chyby a podobně. Nesprávná aktualizace nebo její přerušení před dokončením však může způsobit, že se počítač nebo zařízení stane nepoužitelným. Pro obnovu mají některé základní desky dvě paměti s BIOSem (se označují např. Dual BIOS board). Obvykle je na základní desce část BIOSu umístěna tak, že se při aktualizaci nemění. V ní je pak uložen kód, který je schopen specifickým nouzovým způsobem znovu provést aktualizaci, není-li kontrolní součet BIOSu v pořádku (např. ze souboru daného jména, který musí být umístěn na jinak čisté disketě).

Dříve bylo možné BIOS aktualizovat jenom z MS-DOSu (většinou použita disketa). Od roku 2009 je možné aktualizovat BIOS z Windows nebo z BIOSu samotného (není potřeba žádný operační systém).

Rozšíření BIOSu

Některé přídavné karty na sobě nesou paměť s kódem, který rozšiřuje schopnosti základního BIOSu.

Video BIOS
Součástí modernějších grafických karet je tzv. Video BIOS, rozšiřující základní služby BIOSu o grafické služby, nastavení rozlišení monitoru, správu fontů atd. Typickým příkladem je VESA standard.
BootROM
Nachází se na síťové kartě a umožňuje nastartovat počítač pomocí počítačové sítě. BootROM umožňuje umístit operační systém na síťový server nebo používat tzv. bezdiskové počítače.
BBS ROM
Nachází se na síťových kartách a na řadičích disků. Po zaregistrování pomocí speciálního BBS API umožňuje změnit zařízení, ze kterého bude zaveden operační systém pomocí standardního rozhraní základního BIOSu i ze zařízení, které základní BIOS ovládat neumí.