Sledujte nás na YouTube

BlackBerry PlayBook a jeho operační systém: Jak pracuje technologie QNX?

RIM po dlouhém očekávání a množících se spekulacích ukončil trápení svých fanoušků a udělal ve věci jasno – představil svůj první tablet. Výrobce se v tomto případě pořádně opřel do vývoje a chce se na trhu ukázat s něčím, na co se hned tak nezapomene a zatím se mu to daří, protože reakce na nový PlayBook jsou víceméně pozitivní. RIM v tomto zařízení použil systém QNX, který si v tomto článku představíme.

QNX Neutrino je operační systém napěchovaný superlativy. Zvládá multitasking, obsluhu procesorů s více jádry, možnost přihlášení více uživatelů najednou a zároveň je bezpečný, spolehlivý, přizpůsobitelný a postavený na standardních průmyslových API. Základem QNX je POSIX, stejně jako u Linuxu nebo OS X, a používá se tam, kde je zapotřebí vysoká spolehlivost a bezpečnost (clustery, sítě, armáda, zdravotnictví, automobilový průmysl – Porsche, BMW) a RIM jej nyní nasadil i do svého tabletu. Toto řešení mimochodem ve svých routerech používá i gigant Cisco. Jeho hlavní přednosti v tomto případě jsou:
– adaptibilní přidělování ochran proti kódu, který zabírá příliš mnoho procesorového času zaručuje, že program nemůže poškodit systém nebo snížit jeho výkon. Výhodou je aktivita dle potřeby. Není-li jeho zásah vyžadován, zůstává nečinný.
– ochrana proti kódu, který zabírá příliš velkou část paměti.
– ochrana proti poškození souborů.

QNX má patent na přizpůsobivé přidělování (Adaptive Partitioning), který dává multitaskingu na PlayBooku vyniknout. Jádro je navrženo tak, aby bylo malé a velmi spolehlivé. Tradiční operační systémy jsou monolitické a obsahují velké množství kódu, který může chybovat. Komerční software obsahují obvykle 5 až 30 chyb na každých tisíc řádku kódu. Například Windows CE má 3,9 miliónu řádků, Linux 9 a více miliónů a Windows přes 70 miliónů řádků. Jádroádro QNX má 100 tisíc řádků vysoce optimalizovaného kódu. QNX má certifikace POSIX, FDA, OpenGL, ISO9001, EAL4+ a SIL3 a už to dává tušit, že by mělo jít o dobře chráněný operační systém. Zpracování je založeno na mikro jádru, které podporuje technologie ARM, MIPS, PowerPC, XScale a spoustu dalších. Manažér procesů, ovladače, síť, aplikace a další se k mikro jádru připojují jako pluginy, které nemají na okolní zařízení vliv, takže při pádu jednoho ze systémů se nezhroutí celý komplet a známé modré obrazovky smrti (BSOD) se nemusíme obávat. Vše běží v procesech a je tudíž snadnější vychytávat chyby než při debugování celého systému.

-

Programy i ovladače přebývají ve vlastním prostoru paměti s chráněným adresováním a používají dobře definované rozhraní zpráv. Díky všem těmto zprávám a segregaci jsou operační systém i aplikace efektivně obhospodařovány. Využívá se také koncept několika mikro-jader, která zařízení umožňují komunikaci přes síť enkryptovaným přenosem. Je tím umožněn multithreading ve 2 až 32 jádrových procesorech anebo distribuce a komunikace mezi několika celky, pro které není podstatné, že jsou každé součástí jiného zařízení. PlayBook tedy může komunikovat s Bluetooth, s telefonním modulem nebo například s GPS vašeho telefonu BlackBerry.

Velmi užitečné je také pokročilé řízení paměti, protože většině operačních systémů tento proces zabírá 20 až 30 % výkonu, zvlášť na architektuře ARM. Proto QNX změnil způsob práce aplikací s pamětí, a umožňuje stránkování od 4k do 1M s výkonem zvýšeným o 10 až 30 %. Dá se tedy napsat, že díky tomu vypadá práce s 1GHz procesorem jako práce s CPU taktovaným na 1,3 GHz. To vše je zakomponováno v technologii a není snadné tento způsob aplikovat na ostatní platformy, což poskytuje RIMu konkurenční výhodu.

- - -
PlayBook od BlackBerry má velkou šanci na úspěch

Platforma aplikací je část, která zajímá vývojáře (Java, Adobe Air, Flash, OpenGL, POSIX, WebKit). QNX je systém pracující se zasíláním zpráv, které tvoří komunikaci mezi operačním systémem a aplikacemi a vystaví asynchronní abstraktní objekty pro komunikaci například s audiem, telefonem, GPS nebo sítí. K navázání spojení aplikací s ostatními částmi systému se využívá asynchronní API. Například objekt pro automobil automaticky ukáže jeho rychlost a teplotu motoru, které API zprostředkuje autorizovaným aplikacím; ve světě telefonních přístrojů zase naopak chceme vědět, kdy se změnila síla signálu. Novinkou je, že všechny tyto možnosti jsou záležitostí operačního systému a neprogramovacího jazyku. Pro QNX jsou všechny programovací jazyky pouze sobě rovné a rozšiřitelné objekty, které přidávají další virtuální prostředí a platformy bez nutnosti změny architektury.

-

Jednotlivé vrstvy operačního systému
1. Neutrino OS se sítí, ovladači a všemi vlastnostmi a možnostmi jádra.
2. Navigator je část mající na starosti řízení oken a aplikací. Přepíná aplikace mezi pozadím a popředím.
3. Launcher spouští nativní, Adobe Air, HTML a další aplikace, monitoruje paměť a má na starosti ukončování aplikací. Vytváří virtuální chráněné prostředí, spouští a zastavuje aplikace a komunikuje s Navigatorem při změnách.
4. Apps – aplikace, které běží ve vlastní virtuální chráněné paměti. Každá aplikace má své vlastní prostředí.
5. Composition – tato část pomocí potřebné technologie vše ostatní skládá a zobrazuje na vašem displeji. Potřebujete například, aby část aplikace napsané v Adobe Air využívala WebKit. Systém vám to umožní a WebKit s Adobe Air hladce poběží společně v jedné aplikaci.

Composition je velmi zajímavá část, která vám umožní zobrazovat web, PDF, video a další například v Adobe Air nebo další technologii a to vše skrze HDMI odesílat do externího projektoru. Další neméně zajímavou vlastností je architektura médií, která otvírá přístup do SQL databáze médií, ke snadno připojitelným kodekům a online obsahu.

Programovací prostředí běží na WIndows, Linuxu nebo OSX. Zahrnuje Adobe CSS pro Air nebo Flash, QNX pro nativní vývoj a nástroje RIM pro Javu. Celý software běží na VMware a umožňuje provoz v jakémkoli prostředí. Jednoduché publikování, podepisování a debugování přímo v tabletu přes Wi-Fi s celoobrazovkovým debuggerem.

Nativní vývoj je další částí tématu. Nástroje pro QNX jsou založeny na Eclipse a byly jedním z jeho zakládajících členů. Jmenují se Momentus a poskytují celou řadu dílčích nástrojů pro QNX (názvy jsou pro zachování srozumitelnosti v angličtině):
IDE tools
Debugger
Code coverage tools
Application profiler
System profiler
Memory analysis
System builder
target navigator view

Komponenty Compileru:
GCC optimizing compilers
ANSI C Libraries
Dinkum C++ and Embedded C++ libraries
Lots of other libraries
GDB debugger

Všechny tyto informace vypadají velmi zajímavě, a pokud bude vše tak ohromující, jak říkají dostupné materiály, máme se rozhodně na co těšit. To ale ukáže až budoucnost, avšak jak se zatím zdá, PlayBooke nakročeno správným směrem. RIM se mimochodem rozhodl celou společnost QNX koupit za částku 200 milionů USD a po uskutečnění akvizice byly ihned zdrojové kódy QNX staženy z dosahu veřejnosti.

Zdroje: BerryReview, QNX

Standa

11 komentářů

  1. Martin V. (neregistrovaný)

    A budoucnost mluví o nasazení QNX i do klasických telefonů od BB, prostě plně využít jednu platformu….

  2. denyfoox (neregistrovaný)

    Tak tohle jestly vyjde,jako že u BB by to nebylo nic divnýho,tak se mužou ostatní výrobci zahrabat,tohle je revoluce v OS všech druhu, :-) začínám se těšit.

  3. jorbl (neregistrovaný)

    QNX neni linuxovy system („RIM v tomto zařízení použil linuxový systém QNX“), a to ani se privrenim obou oci.
    – opraveno.

  4. KVARK (neregistrovaný)

    Tohle dát i do nějakého telefonu s řekněme 4″ tak by šlo o opravdovou revoluci…

  5. Pacik (neregistrovaný)

    Doufám že se tohle dostane i do telefonů od RIM (nejlépe kdyby udělaly nějaký s 3,5″+ úhlopříčkou :D ).

  6. pk (neregistrovaný)

    No ja si radsej pockam ako to bude fungovat v praxi a nie na papieri. Tam je pekne vsetko.

  7. weth (neregistrovaný)

    pk: přesně. je sice fajn jak moc „standardní“ OS je, ale když bude nakonec použití znesnadněno pitomým GUI, je veškerá podpora standardů naprd. Zatím jsem BB potkal jen krátce a udělalo na mě dojem, tak snad si to nezkazí:).

  8. -pekr- (neregistrovaný)

    No konečně někdo napsal o QNX. Kdysi jsem o něm napsal článek pro Softwarové noviny :-) Šéfa QNX jsem Dana Dodge jsem potkal na Amiga výstavě v roce 1998, protože tehdy Amiga chtěla přejít na jejich kernel. Ta dema co jsem viděl, byla fakt super. Z pohledu architektury je to pro mě dodnes jasně nejlepší OS, žádná monolitická sviňárna ala Linux apod. Bohužel je také nutno říct, že ani dokonalý OS se bez dobrého marketingu neobejde. Firma QNX (QSSL) byla v roce 2004 koupena firmou Harman Kardon, trochu jsem to nechápal. Teď jsem rád, že zasáhne do boje o mobilní OS.

  9. roxtedy (neregistrovaný)

    Tak to mně padla brada dolů…By mě zajímalo jestli má něco podobného i android?

  10. RedRose (neregistrovaný)

    O systemu QNX jsem slysel poprve rovnez v souvislosti s Amigou jeste v minulem stoleti a system je to vyborny. V soucasne dobe se QNX pouziva ruzne ale vesmes jako podklad pro ruzne ridici systemy elektraren a podobne… U nas se pouziva pro rizeni parnich turbin, kompresoru a generatoru a zprava ze cele QNX koupil RIM muze byt v tomto smeru jeste zajimava…

    http://cs.wikipedia.org/wiki/QNX

  11. Czoreeno (neregistrovaný)

    První video realného používání playbooku. Něco malinko to napoví

    http://www.youtube.com/watch?v=zyJVNK7aSW4

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *