A víš o tom něco víc než je napsané tady (http://www.root.cz/clanky/plan-9/) nebo plácáš jen aby řeč nestála?
Tvoje tvrzení je jako z reklamy na Biolampu.
Je to ta nejblabla věc od blablabla.
Provozuješ ho?
Vyznáš se v něm?
Dokážeš jednoduše bez koukání do googlu poradit, jak ho rozjet a spustit na něm SQLDB+PHP+Webserver?
Tak popřemýšlej a napiš ho, protože to je opravdu zajímavé téma.
Zrovna nedávno jsem o tom hledal nějaké slušné zdroje a všechno se odkazovalo jen na ten Film. Nakonec jsem se koukl na YouTube na pár videí, třeba: http://www.youtube.com/watch?v=SoGLU1l7LwY
Kdybys to chtěl opravdu super, tak bych doporučil připravit VHD image pro Windowsáře a VMWčkovou pro lidi s Linuxem, že by si to mohl každý rovnou vyzkoušet. Ideální by bylo udělat takové Image dvě pro každý virtualizační systém a rozjet tam to sdílení zdrojů (jeden například zcela minimální terminál a druhý řekněme server).
Vím o něm docela dost, tenhle odkaz jsem předtím ani neznal.
Provozuješ ho?
Zkoušel jsem ho.
Vyznáš se v něm?
Ano, je úžasně jednoduchý.
Dokážeš jednoduše bez koukání do googlu poradit, jak ho rozjet a spustit na něm SQLDB+PHP+Webserver?
Co má PHP společného s tím, jak je operační systém promyšlený?
dalsi zajimave OS.
Amoeba distribuovany OS, jiny pocitac s CPU, jiny s disky, od Andyho Tanenbauma autora MINIXu:
http://www.cs.vu.nl/pub/amoeba/amoeba.html
Plan B, odvozeny od Plan 9, misto vsecko je soubor rikaji vsecko je objekt/box:
VSTA:
http://en.wikipedia.org/wiki/VSTa
HelenOS:
Dovolim si oponovat, najpremyslenejsim je az jeho pokracovanie,
Inferno.
Myslienka vsetko je suborom, je tam dotiahnuta do extremu (vratane okien grafickeho systemu), tak isto aj jeho distribuovanost. Pravdaze vysiel z tych istych Bell Labs ako Plan9.
Koncept je to pěkný. Trochu problém je v tom, že koncept "všechno je soubor" je poněkud vzdálený praktickým potřebám. Osobně bych volil "všechno je objekt".
Limbo:
tk->cmd(t, "frame .im -height " +
string im.r.dy() +
" -width " +
string im.r.dx());
Objektové prostředí:
tk.frame.height=im.r.dy();
tk.frame.width=im.r.dx();
Příklad v jazyce Limbo mi přijde přes ruku. Chybí validace parametrů na volající straně (tj. můžete poslat jakýkoliv string), je to náchylné na code injection (obdobně jako u SQL injection), je potřeba vše převést do stringu a pak to na druhé straně parsovat.
Nepřijde mi to jako dobrá argumentace. Minimálně API by se mělo textům vyhýbat jak to jen jde, i z bezpečnostního hlediska (vizte SQL injection). Binární protokoly jsou úspornější, a samozřejmě se dají analyzovat i komprimovat. Text má navíc veliký overhead. Představte si všechna volání na běžném desktopovém systému balit jako stringy a pak je parsovat.
z bezpecnostniho hlediska to, ze je protokol binarni (nesifrovany) je jen secure by obscure.
textovy protokol se da komprimovat, zasifrovat a overhead parsovani textoveho protokolu bych neprehanel.
ja bych ten clanek prilozil, ale nemohu najit. tam bylo pekne napsano, proc se maji kompy prizpusobovat lidem (textovy protokol) a ne lidi pocitacum, psal myslim rob pike.
U samotného protokolu je to nevýhodné jen z hlediska výkonu. U API to znemožňuje verifikaci parametrů a je to náchylné na injection. Vezměte si takovouhle konstrukci:
tk->cmd(t, "settext '" + s + "'"
Na volající straně neověříte typ ani počet parametrů, a lehko za s dosadíte něco jako
' && do_something_bad && settext 'abc
Textový protokol není sám o sobě nijak čitelný. Zkuste si vytvořit běžný dokument v XML formátu OOXML nebo ODF, a pak ho zkuste přelouskat. Pokud v tom chcete hledat chybu, máte na pár dní co dělat. A binární protokoly snad není problém parsovat. Jako daleko důležitější ale vidím to, že objekt je daleko "lidštější" abstrakce.
Ale ne, to by se přece v nejlepším, nejstabilnějším a nejbezpečnějším systému stát nemohlo: http://en.wikipedia.org/wiki/File:Windows_null_ptr_dereference.png :-D
Tohle lze samozřejmě řešit i se soubory celkem snadno:
fd = open("tk/frame/height", "w"); write(fd, dy); close(fd); fd = open("tk/frame/width", "w"); write(fd, dx); close(fd);
Navíc to může být ukryté v nějaké objektové abstrakci.
Soubory mají oproti objektům dvě obrovské výhody: velice jednoduše se exportují přes síť (klidně pro ten systém můžete použít CIFS nebo WebDAV) a jsou plně nezávislé na jazyce (co když to bude někdo programovat v Haskellu?)
Samozřejmě pro snazš práci by to chtělo zabalit do objektů. Ale proč to do objektů balit, a nepracovat rovnou s nimi? Pokud píšete nové API, je už z hlediska distrubuce po síti jedno, jestli ho realizujete pomocí souborů nebo binárního protokolu. Ty binární objekty jsou ale výrazně úspornější i rychlejší.
chcete si precist strasne starou skolicku od jana hubicky o starsich
verzich plan9:
http://www.ucw.cz/~hubicka/skolicky/skolicka28.html
dokonce vysla ceska kniha zminujici plan9:
http://www.skocovsky.cz/upp9/home_html.html
na wayback machine jsou zalohy webu plan9.cz co jsme zacali delat v roce 2004,
ale pak jsme se na to vyprdli:
http://wayback.archive.org/web/*/http://plan9.cz
skolicky byly pro me jednim z prvnich zdroju informaci o linuxu/unixu na internetu. ukapla slza.
neco je jeste zde:
http://www.ucw.cz/~hubicka/skolicky/
Ahoj,
rád bych pokud budete chtít aby jste se připojili na Komunitní stránky Raspberry Pi na Google+. Pokud jste taky fanoušky tohoto zařízení tak na
https://plus.google.com/communities/113937925868413276202?hl=cs