Programátoři z pekel zde za šat a stravu programují čipová pseuda. Nyní s favicon!

Technologie v propadlišti dějin 3: Open Firmware

Opět jedna silně nedoceněná technologie. Zatímco i dnešní nejmodernější PC kompatibilní plečky mají BIOS jen o málo méně primitivní než PC plečky z let devadesátých či osmdesátých, existují počítače, které mají svůj základní firmware opravdu sofistikovaný. Pojďme se na něj podívat.

Kdysi dávno, říkejme té době třeba osmdesátá léta bylo slušností, že pořádný počítač měl vše co potřeboval ke své činnosti v ROM. Stačilo ho zapnout a systém byl zavedený a připravený k používání.
Pak se to ale pokazilo tím, že systémy toho uměly tolik, že nebylo možné je nacpat do ROM. Ony toho ve skutečnosti zase až tak moc navíc neuměly, jen z programátorů se stávala větší a větší prasata, ale to není pro tuhle pohádku podstatné.

IBM PC proto mělo v ROM zabudovaný i Basic Input/Output System čili BIOS. BIOS je věc, která vytváří svými službami základní abstrakční vrstvu nad hardwarem (tedy to co dělá počítač PC-kompatibilním) a krom jiného umí také například zavést operační systém z diskety, pevného disku a dalších podobných zařízení. Ovšem když BIOS vznikal, tak nikdo nepočítal s tím, že PC tu bude i za skoro 30 let a tak i přes různé snahy prostě zaostal za rychlostí vývoje PC. Jeho služby zůstaly kvůli kompatibilitě tak nějak šesnáctibitové a jinak limitované a proto se systémům, které na něj kašlou a vše si řeší samy dneska říká „moderní“.
Jediné co z BIOSu dnešní PC uživatel používá je známá modrá nastavovací obrazovka, která se na drtivé většině počítačů vyvolává klávesou Delete chvilku po zapnutí počítače. To vše, co si tam člověk nastaví má ovšem význam jen následující dvě sekundy, než BIOS na disku objeví operační systém a zavede ho.

Naštěstí tenhle příklad nebyl inspirací pro všechny. Jednoho dne se v Sun Microsystems někdo zamyslel a vznikl Open Firmware (známý též jako Open Boot). Open Firmware je standard, který popisuje firmware počítače nezávislý na procesoru. Obsahuje interpret jazyka Forth a umožňuje například nahrávat ovladače přímo ze zařízení na PCI sběrnici. Tyto ovladače jsou navíc uloženy nikoliv v binárním a tudíž procesorově závislém formátu ale v bytecodovém FCode, což znamená, že jdou spustit na jakémkoliv počítači s Open Firmware.

Znamená to tedy, že pokud na počítači vybaveném OF (všechny počítače od Apple s PowerPC G3, G4 či G5, počítače od SUNu se SPARC procesory, Power stroje od IBM) zmáčknete nějakou magickou klávesovou kombinaci, dostanete se do příkazové řádky, ve které můžete dělat prakticky cokoliv – zavést ovladače síťové karty, napsat si program nebo si např. zahrát Pong. Samozřejmě můžete zavést operační systém.

Když jsme u toho operačního systému. Je hezkým zvykem, že OS na strojích s OF na svůj firmware nekašlou, ale používají vše co nabízí. Například pokud ke stroji od Sunu není připojená klávesnice a myš, Open Boot zahlásí, že přesměrovává vstup a výstup na /dev/ttyA a od té doby se vše děje přes sériový terminál a jak Solaris tak třeba Debian/SPARC netuší, že nekreslí na monitor a nečtou z klávesnice.

Nicméně svět není dokonalý. Apple s přechodem na Intel opustil i Open Firmware ve prospěch EFI od Intelu, které nedosahuje ani zdaleka efektivity a možností OF.
Modří už asi správně tuší, že je to velká škoda…