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

QNX RTOS

Na konci dvacátého století jsem už doma měl PC, ale nebyla to rozhodně žádná výkonová bomba. Takt procesoru se přehoupl na tři cifry až v roce 1999 a jelikož CD mechanika uměla pouze číst, hlavním médiem, na kterém jsem nosil data ze školy (= z Internetu), byla disketa. Na jedné takové disketě jsem si přinesl i QNX 4.

QNX je kanadský operační systém reálného času (to je ale hnusný technický překlad pro real-time OS), který vznikl na počátku 80. let dvacátého století pro platformu IBM PC a kompatibilní. Real-time OS je takový systém, jehož jádro umožňuje vybavovat události (ať už hardwarové nebo softwarové) v pokud možno velmi nízkém časovém rámci, který je navíc garantovaný – tj. událost je zpracována ve stejném časovém úseku ať už je jaro, léto, čtvtek odpoledne nebo zrovna prší. Není se tedy co divit, že doménou těchto systémů je použití v průmyslu, kde řídí stroje v továrnách nebo třeba vymršťují airbagy v automobilech.

QNX v počátcích nemělo příliš ambice v embedded systémech, protože kvůli velikosti kernelu (44kB) se beztak do dobových jednočipů nevešlo. Na PC si ale v průmyslovém řízení pozici rychle získalo a možnosti embedded zařízení QNX dohnaly. V současnosti podporuje procesory Intel x86, MIPS, PowerPC, SH-4, ARM, StrongARM a XScale, takže jej najdeme doslova všude, jak ostatně potvrzuje i oficiální web:

People encounter QNX-controlled systems whenever they drive, shop, watch TV, use the Internet, or even turn on a light. Its ultra-reliable nature means QNX software is the preferred choice for life-critical systems such as air traffic control systems, surgical equipment, and nuclear power plants. And its cool multimedia features have QNX software turning up in everything from in-dash radios and infotainment systems to the latest casino gaming terminals.

V roce 2010 koupila QNX i se společností QNX Software Systems taktéž kanadská společnost Research In Motion známá dnes pod názvem BlackBerry a QNX se stalo operačním systémem nové mobilní platformy BB10.


Zpět ale do devadesátých let. QNX bych si domů nikdy nepřinesl, kdyby nebylo na jedné disketě. Na jedné disketě v té době už bylo na webu kde co, ale obvykle se jednalo o různé studentské či kutilské systémy, které si někdo po odpolednách napsal, aby se procvičil v assembleru či Céčku.

Bootovací infoscreen
Bootovací informační obrazovka

Jednodisketové QNX je ale jiná liga. Obsahuje plně funkční QNX s okenním prostředím Photon, síťováním, webovým prohlížečem a serverem, jednoduchým textovým editorem a správcem souborů. Podle zvolené varianty diskety je síťování realizováno buď některou z podporovaných síťových karet (testovaná verze umí NE1000, novější pak i NE2000, což zajišťuje kompatibilitu opravdu s kdejakou 10mbit síťovkou) nebo vytáčenám modemovým připojením.

Aby se toto všechno vešlo na jednu disketu, šetřilo se místem zejména na grafických ovladačích. QNX podporuje grafické režimy VESA, takže není třeba pro různé karty různé ovladače – na disketě jsou pouze dva: flat pro VESA módy a VGA pro základní režim na VESA-nekompatibilncích kartách. Čtyřbitová barevná hloubka zobrazuje v režimu odstínů šedi, vyšší režimy už jedou barevně. Ve VirtualPC i v Qemu se mi podařilo bezproblémově rozeběhat rozlišení od 640×400 po 1600×1200 v 256 barvách.


Primárním účelem tohoto jednodisketového dema je umožnit brouzdání na webu. Tuto funkcionalitu zajišťuje prohlížeč Voyager, který umí zpracovat HTML 3.2, tabulky, rámce (frames) a dokonce JavaScript.

WWW browser Voyager 1WWW browser Voyager 2WWW browser Voyager 3
Úvodní stránka | Systémové informace | Hanojské věže

První na ráně jsou stránky servírované integrovaným lokálním webserverem. Kromě poměrně rozsáhlých informací o systému QNX, jeho komponentách a historie vzniku jednodisketové verze je zde například stránka demonstrující možnosti dynamického HTML. Tato stránka obsahuje systémové informace, jako například typ procesoru, velikost paměti, dobu přepnutí kontextu a informace o aktuálně běžících procesech. Zajímavý je způsob jejího generování, vygenerovaný obsah je vidět i při lokálním otevření textovým editorem, musí ji tedy plnit nějaká služba hlídající přístup na filesystém a ne až webserver.

Za zmínku stojí i jednoduchá hra Hanojské věže, která je implementovaná v JavaScriptu a demonstruje jeho bezproblémovou použitelnost v prohlížeči.

WWW browser Voyager 4WWW browser Voyager 5WWW browser Voyager 6
Moje anglická homepage | Another tribute to ZX Spectrum | Jodeman`s SGI & Stuff

Při pokusu o otevření moderních webů samozřejmě tvrdě narazíme. Voyager podporuje pouze výchozí osmibitovou západní znakovou sadu, neumí kaskádové styly a neporadí si ani s věcí dnes tak samozřejmou, jako je obrázkový formát PNG. Množina použitelně čitelných webů se tak velmi zužuje, například moje jednoduchá anglická homepage sice vypadá jinak, ale použitelná je.

Pokud chceme docenit o jak skvěle použitelný browser se i na takto malém prostoru jednalo, je třeba navštívit dobové weby. Pokud se řekne dobový web v souvislosti s minulým stoletím, nemůže se mi nevybavit server GeoCities, který jako jeden z prvních poskytoval zdarma prostor pro hostování webových stránek prakticky komukoliv. Zmizel sice v propadlišti dějin (kromě Japonska, tam ho současný majitel – Yahoo – provozuje směle dál, protože Japonci jsou na něj divní dost), ale jeho velká část byla archivována serverem OoCities.org. Navštívil jsem na serveru archiv dvou webů – první je švédský (ale naštěstí v angličtině psaný) informační server o ZX Spectru, druhý je pak web týkající se počítačů značky SGI. Procházení obou webů je naprosto bezproblémové a jejich vzhled se nijak neliší od toho jak je vyrenderuje můj TenFourFox či Safari.


Textový editor a file browser
Jednoduchý textový editor a správce souborů

Jak už bylo řečeno, disketa obsahuje i jednoduchý textový editor a správce souborů. Jejich využitelnost je ve výchozím stavu sporná, protože připojený je pouze RAMdisk v němž běží systém a jiné médium není jak připojit. Jistá verze demodiskety ale umožňovala rozšíření o další software (např. telnet) a šikovní lidé přišli na to, jak rošíření chytře využít a přidat i další programy – solitaire, hledání min, kalkulačku, hodiny, FTP klienta a zejména příkazovou řádku s jejíž pomocí lze připojovat disky a cokoliv vytvořené v systému ukládat.

Na jednu disketu solidní nářez. Pokud máte nějaký ten dobový počítač s podporovanou síťovkou nebo MS Virtual PC (jinde mi síť nejela) a chcete si QNX zkusit, najdete příslušné soubory na tomto bohem zapomenutém bulharském FTP serveru. A pokud chcete vidět kam až to QNX dotáhlo, kupte si nějaké to BlackBerry. Dotáhlo to opravdu daleko.