Menu

OS Fuchsia: co je pod pokličkou tajemného operačního systému Googlu?

V pondělí jsme informovali o tom, že Google pracuje na novém OS Fuchsia. Redaktor serveru Android Authority Gary Sims, který mimo jiné působil deset let jako softwarový inženýr a ovládá několik programovacích jazyků, se Fuchsii podíval na zoubek. Co zjistil?

Počítače jsou jako auta

Počítače jsou jako auta, která většina majitelů používá tak, že je nastartuje a jezdí v nich. Často ani nepřemýšlejí nad tím, jak složité procesy se vlastně odehrávají v útrobách kdesi pod kapotou. S operačními systémy je to podobné: bez ohledu na to, zda mluvíme o Windows, OS X, Linuxu či Androidu, můžeme říci, že uživatelé mají k dispozici zralý produkt, který prošel mnohaletým vývojem. Většina uživatelů nejen neřeší, ale často ani neví, jak vlastně takový operační systém funguje, jaké jsou jeho úkoly, co zajišťuje.

Fuchsia se od nejznámějších systémů liší v mnoha směrech. Je to nový operační systém, který je teprve v plenkách, probíhá jeho vývoj a zdaleka není úplný. Téměř pro všechny, snad kromě jeho autorů, je takovou malou záhadou. Protože ale autoři publikují zdrojové kódy, je možné s použitím příslušných nástrojů sestavit produkt, který lze spustit (tedy v případě OS zavést či “nastartovat”). Právě do tohoto úkolu se Gary Sims pustil po napsání první aktuality.

Kompilace systému

Nejjednodušší cestou ke zkompilování OS Fuchsia je použití 64bitového stroje s procesorem Intel a linuxovou distribucí Ubuntu. Kompilovat lze ale i na Mac OS X a jiných distribucích Linuxu, jako je třeba Debian.

Před několika týdny začali vývojáři Googlu uvolňovat zdrojové kódy do repozitáře nazvaného Fuchsia.

Před několika týdny začali vývojáři Googlu uvolňovat zdrojové kódy do repozitáře nazvaného Fuchsia.

V těchto okamžicích je Fuchsia tvořena dvěma základními částmi. Tou první je jádro Magenta, na které jsou napojeny další různé nástroje, knihovny a programy, které z Magenty dělají Fuchsii. Srdcem Magenty je jádro Little Kernel (LK), což je v podstatě malý, primitivní operační systém, používaný například pro zavaděče (“bootloadery”). I s ohledem na svou minimalistickou velikost má Little Kernel jen omezenou funkčnost, proto nad ním běží Magenta, určená pro zařízení s větší pamětí a periferiemi (pracuje tedy s ovladači hardware). Magenta má například procesy, které LK neumí. Nabízí také uživatelský režim, ve kterém běží procesy uživatele.

K sestavení operačního systému je tedy nutné udělat dvě věci. Tou první je vytvoření nástrojů a knihoven, které poběží v uživatelském prostoru, včetně jednoduchého programu shellu nazvaného “mxsh”. Druhým úkolem je sestavení LK/Magenta. Když se toto provede, lze spustit Magentu s použitím souborového systému, který obsahuje spustitelné soubory Fuchsie.

Spuštění OS Fuchsia

Jednoduchým způsobem, jak spustit OS Fuchsia, je použití populárního open source emulátoru QEMU. Zdrojový strom Fuchsie obsahuje vlastní kopii QEMU, která je kompilována jako součást celkového procesu sestavení.

Při spuštění se nejprve zobrazí několik zpráv o zavádění jádra. Úvodní zpráva zní ““welcome to lk/MP,” po ní pak následují informace o inicializaci různých subsystémů. Poté přijde na řadu detekce procesoru, plánovač a správce zařízení a sítí. Po nastartování může uživatel komunikovat se systémem přes jednoduchý příkazový řádek (“shell”) s názvem “mxsh.”

mxsh obsahuje několik integrovaných příkazů, jako jsou cd (změna adresáře), cp (kopírování souborů a složek), echo (výpis hodnoty proměnné), ls (výpis seznamu souborů v aktuálním adresáři) a rm (odstranění zadaného souboru). Pokud zadáte řetězec, který není nativním příkazem, pak se shell bude snažit najít program příslušného názvu v adresáři /boot/bin. V tomto adresáři je mnoho různých spustitelných souborů, z nichž většina má něco do činění s testováním a dalším vývojem Fuchsie. Například jeden z programů nazvaný “thread-depth-test” testuje schopnosti vytváření aplikačních vláken. Najdeme tu také některé jednoduché spustitelné soubory, jako jsou fortune a cowsay.

Proč zrovna OS Fuchsia?

Proč zrovna OS Fuchsia?

Patrně nejdůležitějším prvkem je podpora skriptovacího jazyka Dart. Za ním stojí společnost Google, která ho původně vyvinula jako náhradu za JavaScript. Dart se však od té doby značně rozrostl a dnes ho lze považovat za plnohodnotný Interpretovaný jazyk (programovací jazyk, u něhož je pro spuštění programu nezbytný jeho zdrojový kód a zvláštní program zvaný interpret, který zdrojový kód provádí), který Google používá pro své vlastní systémy (například AdWords). Obecně lze Dart spustit jedním ze dvou způsobů: kompilací do JavaScriptu (pak běží přes javascriptový interpret), nebo interpretací přes samostatný Dart VM. Fuchsia používá druhý zmíněný způsob.

Pro otestování schopností je v adresáři /boot/apps připraven skript hello_fuchsia.dart, který po spuštění zobrazí hlášku “Hello, Fuchsia!” Zobrazení hlášky se sice na první pohled nemusí zdát jako zásadní moment, ale ve skutečnosti je docela působivé. Znamená totiž, že Fuchsia je dostatečně pokročilá k provozování prostředí komplexního interpretu a spouštění skriptů. Zvládne tedy správu procesů, vláken, paměti, vstupně-výstupní operace se soubory a další úkony. OS Fuchsia tak může připomínat vůbec první sestavení Linuxu.

Co to všechno znamená?

Prvním faktem, který vyplynul z krátkého pohledu za zrcadlo, je očividně důležitá role skriptovacího jazyka Dart. Aktuální distribuce neobsahuje žádné kompilátory, ani podporu vyšších programovacích jazyků, jako je třeba Java. Vzhledem k tomu, že Google do Dartu hodně investoval, lze usuzovat, že by mohl chtít nabídnout zařízení, na kterém poběží OS Fuchsia a aplikace budou právě v Dartu. Mohlo by se jednat například o nějaký hardware pro virtuální realitu? Nebo projekt automatizace/chytré domácnosti? Nebo prostředek umělé inteligence, využívající obrovskou infrastrukturu Googlu? Víme také, že na Fuchsii funguje projekt Flutter, což by mohl být způsob, jak vytvářet vysoce výkonné multiplatformní mobilní aplikace pomocí Dart.

Na základě dosavadních zjištění se dá předpokládat, že Fuchsia nebude mířit na zařízení s několika mála kilobajty operační paměti. Naopak to vypadá, že bude cílit na zařízení s výkonem dnešních chytrých telefonů. Podle Garyho Simse je však absurdní představa, že by se mělo jednat o desktopový operační systém, který by mohl konkurovat Windows nebo OS X. Stejně tak nepravděpodobné se jeví, že by Fuchsia měla nahradit Chrome OS nebo snad dokonce Android. Přeci jen vyhledávací gigant investoval miliony do vybudování vývojářské komunity a jistě to není něco, čeho by se tak snadno vzdal.

Musíme si uvědomit to, že Fuchsia je teprve v zárodku a v současnosti ani nemá žádné grafické uživatelské rozhraní (navíc ani není jisté, že ho vůbec někdy mít bude). Není možné ji nějakou jednoduchou cestou nainstalovat, vše se musí kompilovat ze zdrojových kódů. Omezený je i počet podporovaných příkazů a knihoven.

Účel a cíl Fuchsie je i po prvním spuštění stále záhadou, nicméně máme alespoň malé náznaky. Jedním z klíčů vedoucích k pochopení je podpora jazyka Dart a projektu Flutter. Bude zajímavé sledovat, kam se cesta tohoto operačního systému bude vyvíjet dál. Možná budeme za několik let vzpomínat, jak jsme dychtivě hltali první články o operačním systému, který ovládl svět.

Co myslíte, jaké má Google plány s Fuchsií? K čemu bude sloužit a na jakých zařízeních poběží? Proč Google nestaví na nějaké již existující platformě, ať už Android nebo Chrome OS? Podělte se o své názory v diskuzi pod článkem!

Zdroj: androidauthority.com.

 

Komentáře

Abby

19.8.2016 20:13

Většina uživatelů nejen že neví, co se v počítači nebo operačním systému děje, ale ani je to nezajímá. Osobně nepotřebuji vědět, co se stane někde pod pokličkou po kliknutí myší, pro mě je důležité, že to udělá to co chci a jak to udělá není moje věc :-) Taky nemám nejmenší tušení, na jakém principu funguje spalovací motor, řídit ale umím velmi dobře. A když mi auto dělá problémy, navštívím servis, který to vyřeší, sama se tím zabývat nechci.

Radeg

radeg 39

z aplikace
20.8.2016 8:20

@Abby:
Princip spalovacího motoru se probírá ve fyzice na základní škole. Takže hrubou představu by měl mít každý kdo má občanku.

nosac

z aplikace
20.8.2016 13:01

Když mě článek nezajímá, tak ho nečtu a nemám potřebu jej komentovat. Doporučuji pro Abby

Jery9

z aplikace
21.8.2016 9:29

Abby A o tom je naše (vědeckotechnická) společnost udělat z nás ne samostatný a závislý. Bez drog z lékárny, bez ropy od muslimů, atd. atd. nejste schopni fungovat. Fascinují mně lidi co se svojí závislosti na umělým systému ještě chlubí.

RSS (komentáře k článku)