Portál AbcLinuxu, 25. dubna 2024 10:04


Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře.

Vložit další komentář
18.5.2006 09:53 ajikdpoe | skóre: 23 | blog: dvh
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Odpovědět | Sbalit | Link | Blokovat | Admin
Zase dalsi flame?!

Mimochodom, toto mi pripomina smalltalk vs. java, resp. java vs. ostatny. Ano smalltalk teoreticky takmer dokonaly. O jednu generaciu pred ostatnymi. Skutocne vsetko, aj kod, je objekt - na rozdiel od javy. Cim to ale bude ze java 5.0 prinasa genericke typy, asi to nebude s tym 100% cistym objektovym pristupom take zhave. Zijeme totiz v realnom svete, nie na akademickej pode. A toto je to iste. Moze te mat dokonaly 100% pure mikrokernel a co z toho? Kazdopadne minix 3 skusim a dam vam vediet...

Rozdiel medzi teoriou a praxou je, ze v teorii nieje rozdiel medzi teoriou a praxou!
18.5.2006 09:58 ajikdpoe | skóre: 23 | blog: dvh
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Prilejem trochu benzinu, skusil som na google trends porovnat linux a minix. Mrknite na to:

http://www.google.com/trends?q=linux%2C+minix&ctab=0&geo=all&date=all

pozn: Ta cervena vodorovna ciara totozna s osou y=0 je minix :)
18.5.2006 14:03 Quactuda | blog: Muj_mily_denicku | Praha
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Rozhodovat o kvalite podle vyskytu klicoveho slova na internetu je hodne ubohe. Dej si misto minix frebsd(openbsd, netbsd) a mas stejny vysledek. A pak si dej Windows, at se probudis.
18.5.2006 14:15 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Bohužel, „windows“ je tak trošku obecné slovo. Nebo budeme krutí a postavíme proti Linuxu i sdružení amerických výrobců Okeny? ;-)
18.5.2006 10:00 srott
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Tak tie genericke typy v jave su dost grc, neznasam takyto pragmaticky pristup. Keby skopirovali smalltalk lepsie a spravili to pure objektove, tak sa teraz nemusia opicit po C#...

Ale dokaz toho ze mikrokernel funguje, tu uz davno je, vola sa to QNX.
18.5.2006 11:00 Michal Vyskočil | skóre: 60 | blog: miblog | Praha
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Skutocne vsetko, aj kod, je objekt - na rozdiel od javy. Cim to ale bude ze java 5.0 prinasa genericke typy, asi to nebude s tym 100% cistym objektovym pristupom take zhave.
Tak tohle dokáže skutečně málokdo, protiřečit si ve dvou sousedních větách :-D.

Takže znova a pomaleji, Java není dynamický čistě objektový jazyk a proto se do ní zavádějí generické typy a ty slouží k tomu, aby se přiblížila možnostem dynamických jazyků. Ve Smalltalku generické typy nepotřebuješ a to proto, že je to dynamický a čistě objektový jazyk.
When your hammer is C++, everything begins to look like a thumb.
18.5.2006 18:33 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Odpovědět | Sbalit | Link | Blokovat | Admin
Já hrozně miluju, když argumenty snášejí lidi, co něco nedokázali. Kolik Linus zkusil napsat mikrokernelů, aby mohl být autoritou pro tuhle otázku? Tak se do toho nemá montovat. Stejně tak Linus dobře ví, že C++ je pro kernel špatné, ale žádný kernel v C++ nenapsal. Zajímavé ale je, že linuxové komunitě nějak vadí kritiky lidí napadající Linux, co Linux nezkusili, ačkoli je to naprosto analogický případ.

Na světě existující fungující a dobré mikrokernely. Takový QNX se nedá popřít. Na světě existující fungující a dobré operační systémy psané v C++. Velmi viditelným zástupcem je Symbian. Oba příklady naprosto popírají Linusovy argumenty, takže z mého pohledu je Linus ve věci názoru na mikrokernel a kernel v C++ bohapustý žvanil. Což bylo dokázati.
http://ponkrac.net
18.5.2006 20:36 Michal Kašpar | skóre: 15
Rozbalit Rozbalit vše Re: Microkernel - pro a proti

Celkem se mi líbí koncepce mikrojídra, rozhodně se mi líbila Tanenbaumova kniha o operačních systémech, ale Váš první argument je poněkud, err, podivný.

a) Jak víte, že se Linus nepokusil napsat (nebo alespoň začít psát) jádro OS jako mikrokernel nebo v C++?

b) To, že nezkusím napsat OS v bashi ještě neznamená, že nemohu tvrdit, že bash je na psaní OS špatný. Jinak bych možná dopadl jako Cimrman, který údajně experimentálně dokázal, že vyfukováním kouře do umyvadla s vodou zlato nevznikne.

18.5.2006 21:02 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
ad a) Ok, kde tedy ten fungující mikrokernel od Linuse je? Mám pocit, že co se týká mikrokernelu má druhá strana poněkud hmatatelnější výsledky a tudíž bych jejím argumentům dával výrazně vyšší váhu. Podotýkám, že mikrokernel zkusit a dotáhnout do konce jsou dvě naprosto různé zkušenosti.

ad b) Ovšem bude poněkud smutné, pokud bude existovat několi dobrých, fungujících a rozšířených kernelů napsaných v bashi a budou totálně popírat Vaše závěry. Budete-li i pak trvat na svém, budete se pouze zesměšňovat, a nebo, budete-li autorita jako Linus, budete prostě ten, který bude prostě svádět třeba lidi z dobré cesty, protože se stále najde dost zaslepenců, kteří tomu budou bezhlavě věřit, a kteří když Linus řekně skočte z okna, tak to udělají. A teď si za bashe dosaďte C++, přečtěte si můj odstavec ještě jednou.

Takže zatím nevím, proč bych racionálně měl měnit závěr, že co se týká Linuse Torvaldse a jeho argumentů ohledně mikrokernelu a kernelu v C++, je tento člověk bohapustý kecal, který se vyjadřuje k něčemu, čemu totálně nerozumí, nechce rozumět, nic v těchto oblastech nedokázal a jeho argumenty mají ceny hospodských řečí propitého mozku. A to to říkám ještě moc mírně.

Nebo vyjadřuji se třeba já k metodám transplantace srdce například, nebo si raději uvědomuji, že o tom vím kulový a nechávám to povolanějším, kteří za sebou těch úspěšných transplantací srdce poněkud více, než já?
18.5.2006 21:22 Michal Kašpar | skóre: 15
Rozbalit Rozbalit vše Re: Microkernel - pro a proti

Netvrdil jsem, že Linus nějaký mikrokernel napsal, ale pokud tvrdí, že mikrokernel není dobrý přístup, mohlo by to být také tak, že se nějaký napsat pokusil, ale neuspěl a tuto cestu zavrhl. Což je ovšem zcela nepodstatné, protože k tvrzení, že něco nejde není nutně potřeba to něco zkusit. Polemizuji pouze se dvěma z Vašich tří argumentů, protože se mi zdají nekorektní, nic více a nic méně.

Třetí (existence fungujících mikrokernelů) je samozřejmě něco jiného, nicméně i zde je potřeba uznat, že zatím žádný skutečný mikrokernel nedosáhl většího rozšíření jinde, než ve specializovaných oblastech (jak ostatně plyne i z toho Tanenbaumova článku), což samozřejmě nemusí být (a já doufám že není) problém podstaty, ale pouze nedostatečné snahy o realizaci.

A co se týče Vašeho přirovnání s tranplantacemi, řekl bych že značně kulhá. Linus je programátor, který OS napsal a vyjadřuje se k programátorskému problému v oblasti psaní OS. Je to tedy spíš tak, jako by jeden kardiochirurg tvrdil, že transplantaci srdce je zcela nevhodné provádět určitým způsobem. K tomu přeci za sebou nemusí mít několik mrtvých pacientů.

18.5.2006 21:57 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Dobrá, tak mi tedy ukažte nějaký důkaz, že se prostě Linus alespoň pokusil nějaký mikrokernel napsat. K tvrzení, že něco nejde samozřejmě nepotřebuji nic zkusit, ale pokud tvrdím, že něco nejde a ono to přitom existuje hotové, tak přeci racionální člověk udělá jasný a logický závěr, že ten který má argumenty proti se prostě mýlí. V čem jsou mé argumenty nekorektní? Snad jedině v tom, že neuctívám slávu a lesk velkého neomylného Linuse, ale prostě ho stavím mezi ostatní občas omylné tvory, kterým je 100% lidí na této planetě. Tím nijak nesnižuji jeho jiné silné stránky a jeho přednosti.

Pokud hodnotíte systémy podle rozšíření, pak mám pro Vás z hlediska světla Vašich argumentů naprosto jednoznačný závěr. Nejlepší koncept operačního systému jsou Microsoftí Windows, protože jsou nejrozšířenější. Ale můj názor je ten, že koncept čistého makrojádra a koncept čistého mikrojádra je neefektivní. Časem zvítěží jakýsi hybridní koncept, který podle mě bude mít ale daleko blíže k mikrojádru, než k makrojádru.

Ok, Linus napsal operační systém, který není mikrojádrový. Naprosto chápu, že si svůj koncept musí chválit, a že ho musí obhajovat. Jeho řeči nemají daleko od marketinkových materiálů, protože z nich v podstatě vychází, že nejlepší je to, co dělá on a jak to dělá on. Každá kráva zkrátka chválí svůj ocas. Je to přirozené, lidské, pochopitelné a běžné, ale nemělo by se to lživě nazývat pravdou. Naprosto stejné závěry vycházejí třeba Microsoftu, že jejich věci jsou nejlepší, je to úplně v té samé rovině.

Koncept mikrojádra a makrojádra je natolik odlišný, že si dovoluji tvrdit, že zkušenosti z makrojádra dávají jen mlhavou představu o skutečných problémech mikrojádra. Něco odhadnout lze, ale stavět se na tom nedá. Nemám nic proti tomu, když Linus bude srovnávat, ale mám rozhodně proti tomu, když se názory Linuse na mikrojádro a na jádro v C++ budou zařazovat na tak vysoké místo.
hwsoft avatar 18.5.2006 20:51 hwsoft | skóre: 19
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Co se tyka C++, bylo prokazano, ze se pro Linuxovy kernel nehodi, IMHO to bylo jiz v rade 1.x. Jsem natolik liny, ze to ani nebudu hledat, ty muzes :).
18.5.2006 21:05 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
A nebo byly hledány argumenty, proč to nejde. Ty argumenty jsem četl a jinde jsem je zkomentoval. Ty argumenty jsou bohapusté bláboly, víc k tomu nemám co napsat.
19.5.2006 10:17 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Promiňte, ale to je podivný způsob uvažování. Když to trochu přeženu: budu-li potřebovat seřadit (dlouhé) pole, musím si podle vás nejdřív zkusit naprogramovat všechny možné kvadratické algoritmy, abych je mohl zavrhnout a použít některý se složitostí O(n log n)? Asi těžko. Linus samozřejmě zvažoval různé varianty koncepce svého operačního systému. Z určitých důvodů se rozhodl pro monolitický kernel, a tak ho použil. Důvody, proč tomu tak bylo a proč nedal přednost mikrokernelu, několikrát vysvětlil, ty důvody někoho možná nepřesvědčí, ale rozhodně nelze říci, že by Linux mikrokernel zavrhoval kvůli nějaké iracionální averzi.

Abych parafrázoval klasika: ne každý si potřebuje ověřit, že vyfukováním tabákového dýmu do vody zlato nevzniká…

A ještě tu vidím jeden podstatný rozdíl: Linux AFAIK nikdy necítil potřebu kecat Andrewovi do toho, jak má koncipovat svůj Minix, reagoval teprve na to, když Andrew cítil potřebu kecat jemu do toho, jak má koncipovat Linux; pak teprve vysvětlil svá rozhodnutí a že přitom použil jadrnější výrazy, je celkem pochopitelné po tom, co na jeho adresu napsal Andrew.

19.5.2006 12:54 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Linus samozřejmě zvažoval různé varianty koncepce - je na tohle nějaký důkaz, nebo to jen říkáte, abyste měl nějaký nepodložený argument?

Já nekritizuji Linuse pro to, že se rozhodl použít monolitický kernel. Neřekl jsem ani slovo o tom, že Linux má být mikrojádro. Jakýkoli návrh je souborem kompromisů, požadavků a osobních preferencí. Já jsem dokonce o Linuxu vůbec nemluvil! Co ovšem kritizuji je braní Linuse jako autoritu v názoru na mikrokernel a na kernel v C++. Protože ani v jednom z těchto případů není kompetentní.

O tom, jestli Linus kecal, nebo nekecal Andrewovi do Minixu víte s prominutím úplný kulový. Možná víte to, co se dostalo na veřejnost, ale nevíte, co si řekli oni sami, nebo napsali soukromě. Víte o tom to samé, jako kdyby jste si měl složit třeba můj sexuální život jen z útržků co o mě najdete na internetu.

Linuse považuji nekompetentní osobu od té doby, co jsem si přečetl jeho názor, proč kernel operačního systému v C++ je špatný. Pohybuji se v C++ hodně dlouho a dokonce jsem viděl i funkční kernely napsané v C++ a když jsem viděl argumenty Linuse měl jsem pocit, že Linus asi zná jiné C++, než které používám já. Všimněte si toho drobného rozdílu! Linus nemluví jen o tom, proč je špatné dělat Linuxový kernel v C++, což je ok, ale on to zobecňuje na jakýkoli kernel operačního systému! A na to je trochu malý pán. Tím spíše, že existuje řada projektů (a některé mají i významnou část místa na trhu systémů), které jeho závěry nepotvrzují, ba přímo popírají.
19.5.2006 14:20 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
je na tohle nějaký důkaz, nebo to jen říkáte, abyste měl nějaký nepodložený argument?

Důkaz v matematickém smyslu těžko. Osobně mi stačí, že když byl dotázán, proč Linux používá monolitické jádro a ne mikrokernel, podal jasné a srozumitelné důvody, proč zvolil tuto variantu a ne druhou. Že ty důvody jsou pro někoho dostatečné a pro někoho jiného ne, to už je jiná. Ale ani na tom nevidím nic špatného. Kdyby existoval jeden jedině správný způsob, jak má operační systém fungovat, neexistovalo by jich tolik různých.

O tom, jestli Linus kecal, nebo nekecal Andrewovi do Minixu víte s prominutím úplný kulový.

Co si psali interně mezi sebou, to je jejich věc. Každopádně tím, kdo začal druhého veřejně napadat, že jeho koncepce je principiálně chybná (a dokonce to prohlašovat za projev neznalosti), byl Andrew Tanenbaum. Že pak Linus reagoval hodně nedůtklivě, to se mu moc nedivím.

Linuse považuji nekompetentní osobu od té doby, co jsem si přečetl jeho názor, proč kernel operačního systému v C++ je špatný.

Také jsem to četl. Ale na rozdíl od vás jsem si také pozorně všímal, kdy to napsal a v jakém kontextu to napsal. Takže přestože kdybych měl označit svůj nejoblíbenější programovací jazyk, bylo by to nejspíš C++, Linusovy důvody docela chápu a chápu, proč není linuxové jádro napsané v C++ a není ani zájem podporovat psaní modulů v C++. Stejně tak, jako mne nikdo nedonutí, abych své céčkové programy formátoval podle jaderného coding style, ale chápu a akceptuji důvody, které pro volbu zrovna tohoto coding style vývojáře jádra vedly.

19.5.2006 15:32 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Možná bychom si měli ujasnit jednu věc. Já nekritizuji Linux, ani koncepci Linuxu, ani žádné Linusovo rozhodnutí ohledně Linuxu. Nenapádám vůbec koncepci Linuxu, ani netvrdím, že by měla být jiná. Myslel jsem, že jsem to v předchozím příapěvku jasně napsal. Vaše reakce mě ovšem do Linuxu opět tahá a zatahuje do toho Linux.

Takže ještě jednou. Mikrokernel a C++ kernel jsou témata, ve kterých nejsou Linusovy názory komptetentní. Ještě jednou opakuji, že neříkám ani slovo o Linuxu a nekritizuji koncepci Linuxu, ale pouze a jedině Linusovu nesebekritičnost, která mu mylně dovoluje předpokládat, že má snad něco říct o vhodnosti mikrokernelu obecně a o vhodnosti kernelu v C++ obecně. Pokud by Linus zůstal u témat Linux versus mikrojádro a Linux versus C++ kernel, je to naprosto v pořádku. Ale Linus se začal vyjadřoval k tématu mikrojádro obecně a C++ kernel obecně. A v těchto tématech je úplná nula, nic praktického v nich nedokázal, a pokud ano, tak v nich selhal. Linusovy obecné argumenty o těchto tématech mě přijdou stejné, jako když impotent neschopný sexu začne vykládat o nevhodnosti sexu a dokonce na to sestaví rodobyargumenty, proč je sex nemorální, špatný a vůbec. Linusův argument pokoušeli jsme se o C++ kernel a selhali jsme, proto je OBECNĚ C++ pro jakýkoli kernel jakéhokoli operačního systému nevhodný je ve stejné rovině jako pokoušel jsem se souložit s Blážou, ale nepostavil se mi, a proto je OBECNĚ jakýkoli sex s Blážou špatný.

U kernelu v C++ to mohu posoudit obecně, takové bláboly o C++ jako jsem četl od Linuse bych neslyšel snad ještě ani o největších neznalců C++.

Takže ještě jednou, naprosto chápu Linusovy důvody pro Linux a makrojádro a neřekl jsem proti tomu ani slovo. Chápu i důvody proč Linux a ne C++, najmě v roce 1992, kdy C++ bylo na tom hůř, než dnes.

Na druhé straně starší systémy úspěšně používaly C++ a neměly problémy předkládané Linusem. Linus kritizoval výjimky v jádře, jiné systémy to promptně vyřešily tím, že výjimky nepoužívaly, a nebo taky ano (Windows je prosím postaven v jádře na výjimkách). Linus kritizuje neprůhlednost alokace v C++, ale já se setsakra snažím, kromě toho, že jiné operační systémy s tím neměly problémy nevidím nic neprůhledného na alokaci v C++. Ono totiž každý programovací jazyk, který chcete použít pro kernel musíte trochu okleštit. Ani všechno z Céčka se nedá pro kernel použít. Viděl jsem kernel psaný v asm, v Céčku, v C++, v Module. Pro každého vývojáře kernelu je samozřejmé, že některé featury z každého programovacího jazyka si musí odpustit, píše-li kernel. Jenže Linus právě argumentuje stylem, že C++ nelze použít, protože má některé featury, které v kernelu nejde použít. Naprosto stejným způsobem ála Linus lze argumentovat i proti Céčku, prostě vypíchnout věci, které nejde použít v kernelu a učinit relevantní závěr, že Céčko je pro kernel nepoužitelné.
19.5.2006 15:51 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Vaše reakce mě ovšem do Linuxu opět tahá a zatahuje do toho Linux … Mikrokernel a C++ kernel jsou témata, ve kterých nejsou Linusovy názory komptetentní. Ještě jednou opakuji, že neříkám ani slovo o Linuxu

Pak jsem vás nucen poprosit, abyste mi konkrétně ukázal, jaká Linusova vyjádření vám vlastně tolik vadí. Viděl jsem totiž Linusova vyjádření ohledně mikrokernelů a C++ a myslel jsem, že mluvíte o nich. Jenže to ty Linusovy výroky o mikrokernelech, které jsem četl, vznikly jako reakce na to, že Andrew Tanenbaum začal sám od sebe veřejně rozhlašovat, že koncepce Linuxu je špatná a že kdyby Linus o problematice něco věděl (a pokud možno absolvoval jeho kurs), nikdy by monolitické jádro nepoužil. Zrovna tak Linusovo vyjádření o C++ vzniklo čistě jako reakce na něčí návrh realizovat podporu pro C++ moduly v linuxovém jádře. Tedy není to tak, jak by to mohlo vyznít z vašeho příspěvku, že se Linus ráno probudí a řekne si: "Hm, do koho bych se to tak dneska navezl. Jo, mikrokernel (resp. C++), to bude ono!" - je to spíš naopak.

Pro každého vývojáře kernelu je samozřejmé, že některé featury z každého programovacího jazyka si musí odpustit, píše-li kernel. Jenže Linus právě argumentuje stylem, že C++ nelze použít, protože má některé featury, které v kernelu nejde použít.

Problém vidím v tom, že vynecháte-li featury, které se pro psaní jádra nehodí, zbyde vám v podstatě C s pár vylepšeními. Podstatné rysy toho jazyka budete muset nechat stranou.

19.5.2006 16:46 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Pouze tvrdím, že Linus není kompetentní k OBECNÝM vyjádřením vůči mikrokernelům a C++ kernelům. Chápu, proč tato přestřelka vznikla, ale nechápu, proč Linusovi argumenty proti mikrokernelům a C++ kernelům se citují jakožto desatero a proč se na nich vůbec staví. Chápu, že prostě Linus musel obhájit svojí koncepci, ale jeho názory nejsou neomylné, takže nevidím důvod, proč o nich psát tisíce článků po celém světě.

Třeba Linusova věta: "whenever you compare the speed of development of a microkernel and a traditional kernel, the traditional kernel wins" je blábol. Zkusme třeba porovnat počet člověkoroků strávených na vývoji řekněme Linuxu (což je makrokernel), Windows (hybrid mezi mikro a makro), a třeba QNX (mikrokernel), případně i toho Minixu (mikrokernel). Vezměte průměrný počet lidí pracujících na kernelu Linuxu krát počet roků vývoje Linuxu a porovnejte to s průměrným počtem lidí pracujích na QNX (a pak na Minixu) krát počet roků vývoje. Z tohoto pohledu a ze mě dostupných informací bude na tom Linux naprosto nejhůře, pak bude Windows a QNX a Minix na tom budou mnohem lépe.

Takových blábolů, které při trochu kritickém rozebrání neobstojí je Linusových argumentacích plno. Nebudu to dále rozebírat, o mikrokernelu a C++ kernelu se budu raději věnovat těm, kteří v tom něco dokázali. Čtení a rozebírání Linusových názorů na mikrokernel a kernel v C++ je stejně přínosné jako názor na totéž jedné paní, která stojí na záchodcích na nádraží a vybírá peníze.

Všimněte si stále, že se neopírám a nenavážím do Linuxu. Považuji za rozumné v roce 1991 zvolit koncepci jádra, jakou zvolil Linux. Jeho argumenty, proč Linux dělal tak jak dělal považuji za dobré a ani v nejmenším jsem je nekritizoval. Co ovšem kritizovat musím je, pokud Linus mluví OBECNĚ o něčem, kde blábolí.

Vynechám-li rysy, které se v C++ pro psaní jádra nehodí, zbyde mi toho dost na to, aby to bylo přínosné. Ono těch rysů, které je v C++ nutné vynechat pro kernel je naprosté minimum. IMHO z vlastního jazyka C++ lze použít pro kernel všechno, snad jen některé knihovny ne.

Já když si čtu argumenty Linuse proti C++, tak získávám silný dojem, že většina z toho je argumentem ohledně katastrofálního stavu gcc pro C++ v tehdejších letech. To ovšem není vina C++, ale gcc týmu. A pak samozřejmě pár blábolů, třeba by mě zajímalo, kde přišel Linus na neprůhlednou alokaci v C++. Ale to je jedno, prostě argumenty Linuse na C++ není přínosné číst.
19.5.2006 17:31 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Chápu, proč tato přestřelka vznikla, ale nechápu, proč Linusovi argumenty proti mikrokernelům a C++ kernelům se citují jakožto desatero a proč se na nich vůbec staví.

Jste-li si toho vědom, pak nechápu, proč jste úvodní příspěvek této větve napsal tak, jak jste ho napsal. Protože tam Linusovi vyčítáte něco, o čem teď sám nakonec přiznáváte, že to není pravda - a že nakonec vlastně spíš brojíte proti něčemu, co vůbec není jeho vina, tedy že jiní lidé používají jeho argumentaci vytrženou z kontextu a přenesenou do kontextu, kde se nehodí. Opakuji to pro jistotu ještě jednou: není to tak, že by Linus pocítil touhu jít a hlásat víru v nesmyslnost mikrokernelů a C++; v obou případech mu někdo navrhoval, ať v Linuxu použije něco, co on sám považoval za technicky špatné. Proto na to reagoval a to, že v každé větě své odpovědi znovu a znovu neopakoval kontext, ke kterému se jeho odpověď vztahuje, mi připadá celkem pochopitelné - kdyby tomu tak nebylo, musela by být taková odpověď naprosto nečitelná.

Mimochodem, můžete si v archivu dohledat, že jsem sám několikrát upozorňoval na nesmyslnost toho, že se někdo snaží pravidla coding style jádra vydávat za univerzálně nejlepší (nebo dokonce jedině správný) coding style pro vývoj aplikací nebo že se snaží Linusovy argumenty ohledně použití C++ v jádře vydávat za důvod, proč je C++ špatné jako takové. Jenže stejně jako považuji takové úvahy za nesmyslné u nekritických obdivovatelů, musím se ohradit proti tomu, když se podobně zkratkovité vytržení z kontextu použije jako hůl proti autorovi těch argumentů.

Zkusme třeba porovnat počet člověkoroků strávených na vývoji … Vezměte průměrný počet lidí pracujících na kernelu Linuxu krát počet roků vývoje Linuxu … Z tohoto pohledu a ze mě dostupných informací bude na tom Linux naprosto nejhůře, pak bude Windows a QNX a Minix na tom budou mnohem lépe.

Tohle nemohu hodnotit jinak než jako brutální demagogii. Za prvé je hodně podstatný rozdíl mezi (počet vývojářů krát délka vývoje) a (počet člověkohodin strávený vývojem) - taková metodika totiž extrémně znevýhodňuje systém, kde je řada vývojářů s relativně malým (až občasným) podílem na vývoji oproti těm, kde mají vývojáři přibližně stejný podíl. Za druhé je ve vaší metodice Linux výrazně diskriminován tím, že většina vývojářů nejsou full-time vývojáři. A za třetí i kdybyste počítal skutečné člověkohodiny strávené prací na systému, těžko můžete srovnávat celkovou složitost jádra těch tří systémů.

19.5.2006 18:09 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Ok, musím uznat, že Vaše argumenty jsou rozumné.

Jenže vezměte si tento nadpis "mikrojádro pro a proti". Linus v této diskusi ohledně mikrojádra se hodně točí kolem Linuxu a Minixu, ale přespříliš často dělá také obecné závěry o mikrojádrech a to mi nesedí. A samozřejmě spousta jeho vyznavačů pak tyto pravdy vydává za obecně platné a dále se to šíří podle hesla "když to řekl Linus, tak to musí být pravda".

Co se týká toho kontextu z věty psané Linuxem, jak by se tato věta významnově změnila, kdyby k ní byl kontext? Vůbec nijak.

Co se týká coding style jádra, tak to jsem také zažil. Díky tomu již nevydávám nic svého jako open source, protože opravdu nemám nálady řešit podstatné diskuse stylu, proč odsazuji mezerami a ne tabelátory, a proč píšu složené závorky pod sebe.

Jako hůl jeho argumenty ohledně C++ kernelu musím použít, protože si o to Linus sám říká naprostou nesmyslností těchto argumentů. Navíc je uvádí v interview jakožto OBECNÉ argumenty proti C++ kernelům. Tady nemohu Linuse hájit, ani kdybych chtěl, tady si o hůl říká naprosto sám.

Pokud poslední argument hodnotíte jako demagogii, pak vězte, že v tom případě je Linusova věta demagogie na kvadrát. Mě naopak takové měřitelné srovnání přijde jako nejspravedlivější. Můžeme klidně počet člověků opravit o nějaký váhový koeficient upravující složitost systému. Ale už tady se dostáváme do problému, oni ty mikrokernelové systémy jsou vlastně z principu jednodušší při plus mínus stejné činnosti.

Z hlediska vývoje Linuxu je totiž tento vyvíjen za brutálního přetlaku času a počtu vývojářů. Žádný komerční subjekt by tohle prostě neufinancoval, a to ani když se bavíme jen o jádře. Z hledika prostě lidského času věnovaného vývoji kernelu by Linux naprosto jasně prohrál jakékoli srovnání s potřebou lidských zdrojů věnovaných vývoji jakéhokoli jiného operačního systému, tím jsem si skoro jist. A do toho Linus prohlásí tu nádhernou větu, že makrojádro spotřebuje méně času a má rychlejší vývoj. Divíte se, že ho nechci vidět jako autoritu v této oblasti a nevěřím mu?
19.5.2006 19:08 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Z hlediska vývoje Linuxu je totiž tento vyvíjen za brutálního přetlaku času a počtu vývojářů. Žádný komerční subjekt by tohle prostě neufinancoval, a to ani když se bavíme jen o jádře.

To asi ne. Ono to má samozřejmě i své výhody. Třeba spousta zajímavých funkcí se u komerčně vyvíjených systémů nerealizuje, protože by nezvýšily "tržní hodnotu" produktu o tolik, aby to zaplatilo jejich realizaci, zatímco u komunitně vyvíjeného projektu to někdo udělá, protože prostě chce. Na druhou stranu, komunitní projekty mají zase typicky problémy s činnostmi, které "nikoho nebaví".

Skutečně porovnat mikrojádra s monolitickými jádry půjde asi těžko. Aby takové porovnání bylo opravdu přesvědčivé, muselo by se jednat o dva téměř identické systémy, z nichž jeden by byl monolitický a druhý založený na mikrojádře; něco takového mi nepřipadá příliš reálné. Na druhou stranu, pokud Linus se svými zkušenostmi z praktické realizace operačního systému tvrdí, že s mikrojádrem je víc práce, neberu to jako prázdné tlachání a skutečnost, že nikdy žádný operační systém založený na mikrojádře nenapsal, na tom nic nemění. Ale na druhou stranu to neberu ani jako slovo boží. Prostě je to pro mne názor jednoho odborníka v dané oblasti a je mi jasné, že jiný odborník se na to může dívat jinak.

19.5.2006 19:32 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
A taky svoje nevýhody. Mnohdy uděláte mnohé věci efektivněji, když máte stanoveny hranice. Na straně komerčního vývoje se leccos nerealizuje, protože se počítá, na straně dobrovolného vývoje zase proto, že to neprojde ideologicky, a nebo, že to někoho nebaví. Z hlediska featur je to plus mínus jedno.

Srovnat cokoli na sto procent půjde těžko, protože na světě neexistují dva srovnatelné systémy natolik, aby to bylo vždy zcela košér.

Prosím Vás, řekněte mi, kde získal Linus zkušenosti, které ho opravňují tvrdit, že s mikrojádrem je víc práce? Nejde o to, že žádné mikrojádro nenapsal, ale tvrzení Linuse o nenáročnosti makrojádrových systémů, jakožto tvůrce nejnáročnějšího kernelu operačního systému na světě, co se spotřeby lidských zdrojů týká mě přijde jeho tvrzení stejně trefné jako snižování stavu úředníků končící jejich zvýšením. Tady člověk fakt nemusí být odborník, aby mu něco nehrálo.
19.5.2006 15:29 ajikdpoe | skóre: 23 | blog: dvh
Rozbalit Rozbalit vše Re: Microkernel - pro a proti
Odpovědět | Sbalit | Link | Blokovat | Admin
Ked som zistil ze je len o 5% pomalsi ako konkurencia, tak ma to fakt zaujalo. Uz som sa videl jak to bude slapat na mojom P133. Potom som sa ale priamo u zdroja dozvedel toto:

We made measurements of the performance of MINIX 3 (user-mode drivers) versus MINIX 2 (kernel-mode drivers) and MINIX 3 is 5-10% slower. We have not compared it to other systems because there are so many other differences...

Takze to, ze je Minix3 o 5% pomalsi neznamena, ze tych 5% je napr. oproti linuxu! Kazdopadne Minix3 uz som si stiahol a idem ho otestovat, ale ked mi Doom II neda aspon 20 framov (tak ako to bolo doteraz) tak tomu Tanenbaumovi "natrhnem prdel" ... ;)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.