Chtěl bych upozornit, že byste zde neměli bezdůvodně napadat Windows. Podle zveřejněných rozhovorů s vývojáři Google Chrome je ve Windows velmi snadné vytvořit efektivní sandbox, který prohlížeč uzamkne a nedovolí mu používat služby API bez jejich prověření. Implementace je jednoduchá a efektivní na rozdíl od Linuxu, kde je téměř nemožná, protože API buď chybí nebo je roztříštěno do vzájemně nekompatibilních funkcí, pro které je extrémně obtížné naprogramovat přenositelnou zabezpečenou aplikaci (stejně je na tom třeba Flash plugin). Problém je zde v tom, že je obtížné důvěřovat ve Windows zbytku systému.
Jsem asi ze staré školy, ale argument „zpřístupnění API op. systému“ nějakému PROHLÍŽEČI nějakého DOKUMENTU prostě nechápu.
Podle mě je to (zcela obecně) přesně naopak – jestliže např. do formátu PDF nezabuduju funkci „formatHarddisk“, tak prostě PDF soubor harddisk zformátovat nemůže i kdyby se na hlavu postavil.
Takže mi není jasné, jaké API je na Linuxu „roztříštěno“, pročež ho nelze ochránit před TEXTOVÝM DOKUMENTEM, kterým webový obsah v principu je.
A slyšel jste někdy o pluginech (například Adobe Flash)? Ono se těžko zaručuje, že plugin browseru nepoužije nějakou funkci typu SHFormatDrive. Navíc tu máme hromady bezpečnostních děr v SW – browserech i pluginech. To pak takový browser zavolá formátování disku, ani se nenadějete.
Paradoxem je, že browsery zpracovávají jen pár stovek HTML tagů, a přesto mají tolik bugů. Holt se ty bugy vyplatí hledat. Vypovídá to ale o stavu celého SW průmyslu. Změna přijde až se systémy založenými na managed jazycích.
>> A slyšel jste někdy o pluginech (například Adobe Flash)?
No ale tam platí totéž – buď má plugin (z principu věci) k dispozici jen nějaká volání, která jsme prohlásili za povolená („bezpečná“) – a jiná nemůže získat, kdyby se na hlavu postavil, nebo je to víceméně standalone aplikace, která může všechno – a pak nemá smysl hovořit o „bezpečnosti“ takového pluginu.
Kupodivu souhlasím – jediný skutečný způsob, jak tohle chování změnit, je použít managed kód.
>> MS má už dnes Singularity.
Gnu má taky už několik let Hurd :)
>> Jak dlouho bude trvat uvedení těch technologií jako mainstreamového produktu, to se neodvažuji odhadnout.
Já si to právě odvažuji odhadnout jako dobu větší než deset let :)
>> Uživatelé reagovali celkem negativně i na nepoměrně menší změny mezi Windows XP a Windows Vista.
A právě proto nebudou mít zájem o produkt, který jim kromě (potenciálně) vyšší bezpečnosti nepřinese nic než problémy, nekompatibilitu a nižší výkon…
V MS se už před rokem intenzivně diskutovala migrační cesta z Windows na Singularity (nebo Midori, nebo jaké code name to dnes má). Dokonce o tom něco leaknulo na internet. Kompatibilita se stávajícími aplikaci je možná. Win32 binárky lze běžet ve virtuálním stroji (viz Hyper-V), a věci psané v .NETu by šly běžet nativně na Singularity.
http://www.sdtimes.com/…ROSOFT/32646
Novější fáze projektu Singularity se zabývaly během na multicore systémech (například TCP stack běží automaticky na inteligentní síťové kartě), a právě integrací legacy aplikací do Singularity.
Systém založený na Singularity by měl přinést nejen daleko vyšší bezpečnost, ale také daleko lepší stabilitu a spolehlivost. Přitom všechny tři jmenované vlastnosti jsou velikými problémy současného IT. Vždyť i poměrně stupidní browser, který zpracovává jen pár set tagů, má do roka desítky bezpečnostních problémů. Což teprve ostatních problémů jen v browseru. Je na čase posunout IT o kus dál. A kdo by to měl udělat, když ne firma koncentrující kapitál, lidské zdroje a know-how? Za vznikem UNIXu stojí AT&T Bell Labs, General Electric a MIT (i v případě Singularity MS intenzivně pracuje s univerzitami). Za vznikem Windows NT stojí Microsoft, a nepřímo IBM a DEC. A satelity také nevyrábíme doma v garáži.
GNU je poněkud specifická organizace, protože nemá zdroje, a stojí za ní banda komoušů. To se pak nelze divit vůbec ničemu ;)
Tak mi to nedalo a jal jsem se aktualni verzi Singularity vyzkouset – a je to jeste podstatne horsi nez Hurd, ten alespon nabootuje :)
Jedine, co jsem dostal z Singularity, bylo „Unrecognized kill action 0×FFFFFFFF!“ a po googleni zjistil, ze jedine, kde S jede, je Virtual PC od MS :)))
Takze tech deset let bych posunul tak na dvacet :)
Předpokládám, že na fyzickém stroji s HW shodným s Virtual PC by to běželo. Napsat například pár tisíc driverů je už celkem nuda proti úsilí na zbytku projektu. Uvědomte si, že Singularity není web site v LAMP, a nepíše se metodami extrémního programování. MS nepotřebuje mít od začátku něco, co tak nějak poběží. Chce mít na konci dobře postavený produkt, a to vyžaduje úplně jiný přístup. Až dostane tenhle projekt zelenou pro vývoj produkční verze, tak na něm může MS odvést během jediného roku mnoho tisíc člověko-let práce.
Přechod vývojářů prakticky začal s uvedením .NETu jako primárního vývojového prostředí, nové věci typu WPF jsou z vnějšku .NETové. Dnes asi nikdo soudný nepochybuje, na co MS v budoucnu vsadí.
Chtěl bych se vás zeptat, na co podle vás vsadí v budoucnu Linux. Pořád to bude o přepisování starých UNIXů ze sedmdesátých let, případně o barvě ikon a okének? A pořád se bude psát všechno v C/C++, takže to bude pořád nespolehlivé, nestabilní a děravé jako řešeto? Vždyť tahle cesta nikam nevede, a to ani když dáte výsledek zdarma.