Linux E X P R E S

Facebook

Plan9 from Bell Labs

Občas si někdo posteskne nad tím, jak jsou jisté věci v unixech složité. Ovšem nemluvíme zde o lidech, kteří pouze chtějí, aby se choval stejně jako jejich operační systém. Ne, zde mluvíme o lidech, kteří vědí, co je to ioctl(2), fcntl(2) nebo socket. Občas se lidé snaží nahlédnout do budoucnosti a představují si ji jako dokonalejší přítomnost.


V případě unixu je to jednoduché. Jeho budoucnost už známe a ten prvotní postesk nepochází od nikoho menšího než od lidí, jako je Ken Thompson (jeden z otců Unixu, jazyk B, editor ed a koncept regulárních výrazů) nebo Rob Pike (pracoval na Unixu, vytvořil pro něj první grafické prostředí Blit – Bitmap Graphics Terminal), tvůrců operačního systému Unix a jazyka C. Ovšem kolem celého projektu se točí řada dalších slavných jmen, jako je Dennis Ritchie (spolutvůrce jazyka C), Brian Kernighan (spolutvůrce jazyka C, jeden z otců Unixu a jazyka awk), Douglas McIlroy (roury, vytvořil řadu nástrojů jako diff, sort, join, graph, tr, a podobně) anebo Bjarne Stroustrup (tvůrce jazyka C++).

Operační systém, jemuž dal název, Plan9 from Outer Space, který byl v knize Golden Turkey Award prohlášen nejhorším filmem všech dob (ovšem to bylo v roce 1980, dnes se na imbd.com nedostal ani do nejhorší stovky, ovšem díky tomuto prohlášení se stal do jisté míry kultovní záležitostí), tedy vznikal od poloviny 80. let pod rukama lidí, kteří mají „na svědomí“ původní Unix anebo jeho tvář výrazně změnili.

Obrázek:  1.jpg
Grafické prostředí Plan9 – rio (zdroj bell-labs.com)

Základními vlastnostmi Plan9 je jeho nenáročnost (Unix už docela nabobtnal), distribuovanost a unifikovaný přístup ke všem prostředkům. Distribuovanost a síťová nezávislost je na zcela jiné úrovni než u Unixu, kde se předpokládá architektura klient-server. Plan9, pomocí protokolu 9P, dokáže pracovat i tímto způsobem, ale jeho síla leží v tom, že pomocí zmíněného protokolu se nesdílejí jen soubory, ale i operační paměť, místo na disku nebo procesorový čas. Aplikace spuštěná na našem počítači může mít data uložená na ostatních počítačích v síti, přičemž vy, ani vývojář vaší aplikace, se o tuto podporu nemusí starat. Díky tomu se může síť postavená nad protokolem 9P tvářit jako jeden počítač. Pochopitelně jsou vaše data potenciálně citlivá, takže systém zabezpečuje, aby se k nim cizí uživatel (přesto, že jsou fyzicky na jeho počítači) vůbec nedostal.

Další zajímavostí je koncept souborových serverů. Jedním z nich je například /net, který obsahuje uživatelské prostředí (takže žádné proměnné prostředí jako v Unixu). Díky tomu systém neobsahuje příkaz ftp, protože disponuje serverem ftpfs, který umí připojit vzdálený adresář do lokálního souborového systému, kde se dají používat klasické příkazy. Pokud znáte FUSE, tak vězte, že měl inspiraci právě v Plan9, takže ho na Linuxu můžeme použít (LUFS, nebo CurlFtpFS). Velkým rozdílem je, že procesy nesdílejí jmenný prostor, ale každý může mít vlastní.

Obrázek:  2.jpg
Vývojový nástroj Acme s antialisovanými fonty (zdroj dudzus.unixcab.org)

Přestože je Plan9 ve všech ohledech lepší a propracovanější, jak říká E. S. Raymond v Art of Unix Programming, Unix sice skřípe, ale funguje. Navíc byl dokončen relativně pozdě a v konkurenci open-source unixů se mu nepodařilo přežít. Nicméně projekt pokračuje pod názvem Inferno (je pod GPL a umí běžet pod hostitelským OS) a mnoho myšlenek (FUSE, protokol 9P) se dostává i do Linuxu.

Diskuze (2) Nahoru