přejít na obsah přejít na navigaci

Linux E X P R E S, Plan9 from Bell Labs

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.

Nahoru

Odkazy

Příspěvky

Plan9 from Bell Labs
cerw1944 6. 09. 2007, 18:43:11
Odpovědět  Odkaz 
Plan9 jsem sám nějaký čas používal. Opravdu zajímavý systém - hlavně zezačátku :-)

Škoda, že se zde nepíše nic o programování (totiž C je pod Plan9 trošičku jiný a je zde ještě Alef).

Acme je to nejzajímavější vývojové prostředí (hlavně co se týká ovládání) - člověk najednou nepotřebuje ty vyskakovací nabídky a různá menu...

Plan9 prý používá cca 1000 lidí po celém světě (a určitě nebudou přibývat).

Pro linux existuje několik progránků z Plan9; např.: 9wm (okenní manažer snažící se být jako Rio) a 9menu.
Plan9 from Bell Labs
v92 26. 07. 2008, 18:44:36
Odpovědět  Odkaz 
sice neskoro ale v clanku je niekolko nepresnosti a to ze /net neobsahuje systemove premenne ale adresar /env. inak zmyslom plan9 nebolo nahradit unix len rozviest koncept "vsetko je subor" este dalej. tento koncept unix porusil v momente ked implemtoval bsd socket api ako volania ale nespravil sa filesytemovy interface k nemu. nieco na styl /net v plan9/inferno, s nim sa daju robit divy.plan9 ma byt akademicky os na experimentovanie a podobne. na komercne pouzitie tu mame Inferno ktory nie je pokracovatelom plan9 ale fork plan9 kernelu z 3 edicie. kernel sa kompiluje uplne rovnako ako na plan9, coskoro budem mat bootovatelny image do qemu pre inferno. v inferne bezi len jeden proces a to dis vm co je ako java virtual machine pod ktorym bezia aplikacie napisane v jazyku limbo.

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Michal Vyskočil

Vystudoval FIT VUT v Brně. V současné době pracuje jako engineering manager v pražském SUSE. Nadšený uživatel Linuxu a open-source technologií. Autor mnoha článků na českých linuxových webech.


  • Distribuce: openSUSE