×

Ami jobb, mint a Linux: VxWorks

Ami jobb, mint a Linux: VxWorks

…avagy az operációs rendszer, amiről még sosem hallottál (olvastál).

Történetünk egészen 1981-ig nyúlik vissza, amikor Jerry Fiddler egyetemi évei után egy elektronikus zenész életpályát nézett ki magának – ne lepődjünk meg, ekkoriban tetőzött a Jean-Michel Jarre őrület. Ő is saját magának szerette volna szerkeszteni a kütyüket, és ugye a zenében nagyon fontos a low latency, azaz alacsony késleltetés; dehát az utóbbi se mond túl sokat. A latency az az idő, ami eltelik egy billentyű lenyomása és a hang felcsendülése között. Értelemszerűen analóg hangszereknél ez gyakorlatilag nulla, az elektronikus szintiknél meg ennél több. Dehát ugye minél több, annál rosszabb. (Gyakorlott csé játékosok hasonlókról számolhatnak be.)

Valamiből eleinte is meg kell élni, nem lehet mindjárt Sziget nagyszínpados zenészként inditani, a kütyük is pénzbe kerülnek…úgyhogy első éveiben bevállalt olyan kulimunkákat, mint “real-time“, azaz low latency filmszerkesztő/vágó software. A real time ebben a kontextusban a low latency marketing bullshit-je, mert ugye csak az analóg lehet realtime, a lowlatency ezt minél inkább közelíti – de sosem éri el. Ezt egy olyan mondással tudnám a legjobban illusztrálni, mint “A világ összes nőjét megdugni nem lehet, de törekedni lehet rá!“. Ez egy egészen profi rendszerré tökéletesedett pár hónap alatt; annyira, hogy az NFL is használta az élő közvetítéseihez, Hollywoodban pedig Francis Ford Coppola ezzel preview-olt a végső vágások előtt a készülő filmjeihez. Ne felejtsük el, hogy még mindig 1981-ben járunk a VHS elterjedése előtt, ezek az arcok meg már számítógépen vágtak filmeket! Mindezt köszönhették Jerry Fiddlernek.

Jerrynek hamar elege lett abból, hogy minden projektjéhez újra a nullából kell kezdeni a programot, ígyhát elkezdett egy univerzális keretrendszert fabrikálni VxWorks néven. Ezt a keretrendszert ma úgy hívnánk egy kocsmai beszélgetésben, hogy operációs rendszer, os, vagy egyszerűen kernel. Ebbe annyira belelendült, hogy sutba dobta a még el sem kezdődött zenei karrierjét, és egyik cimbijével, Dave Wilnerrel megalapította a Wind River Systemst, aminek a fő terméke a VxWorks lett. Az első publikus verzió 1987-re készült el, amivel 4 évvel előzte meg a Linux kernelt. Most el lehet azon merengeni, hogy mi történt volna, ha akkoriban már…dehát az egy másik univerzum lenne, és nem ez.

Alapvetően más a VxWorks célkitűzése, célcsoportja és filozófiája is, mint a Linuxnak. A VxWorks egy embedded system, azaz beágyazott rendszer. (Tehát nem olyan, mint az ágyad szombat délelőtt.) Legyen kicsi, fürge és stabil. Ugye milyen kellemetlen lenne, ha koncert közben kéne reboot-olni a szintetizátort a Metallica dobosának? …vagymi. Szóval minden, amit biztonságnak neveznek desktopon, mobilon, tableten, az ebben nincs benne, mert csak lassítana, túlbonyolítaná a folyamatokat, és bónusz hibalehetőségekkel szórná meg a kódot, amire esetünkben semmi szükség nincs. Egy ilyen embedded rendszer egyszer elkészül, oszt jólvan. Senki nem gyárt hozzá modulokat, nincs hozzá appstore; csak egyszerűen működik az idők végezetéig…vagyis inkább az 50 milliárd év múlva bekövetkező hőhalálig…vagy ha nem is pont addig, de legalább törekszik rá.

A lényege a Linuxszal szemben az, hogy minden userspace program közvetlenül érje el a hardware-t, ne kelljen folyton a kerneltől kuncsorogni az erőforrásokat. Ezáltal nem függünk a kernel utasításaitól, sokkal szabadabban lehet megírni a programot, de közben azt se felejtsük el, hogy egyetlen hibával fejreállíthatjuk az egész rendszert, mert nincs ott a kernel apai gondoskodó szeme, hogy legalább egy kékhalált kifosson magából a képernyőre. Ha a VxWorks lefagy, akkor az nagyon lefagy. Ezért is kell tökéletes kódot írni rá – vagy ha ez nem megy, legalább törekedni rá. ;-> Innen már egyértelműen következik, hogy a VxWorks nem a hátulgombolós programozók játékszere. Ők még ott sem tartanak az evolúcióban, hogy legalább a nevét hallották volna, nemhogy fejlesztettek volna rá akár egy helloworld-öt is.

Nyilván mindenkit baromira érdekel, hogy konkrétan mik azok a technikai nüansznyi különbségek, mint például az api a user- és a kernelspace között, vagy egyáltalán a userspace fogalma, ami ugyancsak eltérő lehet a Linuxhoz szokott agyaknak. Pont ezért inkább most a Lutra albumon szocializálódott stipi-stopis célközönséget szeretném belőni hatásvadász képekkel, amiken megtekinthetitek, hogy milyen projektek választották a VxWorksot. Meghát egyébként is: ki bízná az életét egy túlsúlyos buzifinn oprendszerére?

You May Have Missed

HOLDKOMP