Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 209. brněnský sraz, který proběhne tento pátek 16. května od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Jelikož se Brno stalo jedním z hlavních míst, kde se vyvíjí open source knihovna OpenSSL, tentokrát se OpenAlt komunita potká s komunitou OpenSSL. V rámci srazu Anton Arapov z OpenSSL
… více »GNOME Foundation má nového výkonného ředitele. Po deseti měsících skončil dočasný výkonný ředitel Richard Littauer. Vedení nadace převzal Steven Deobald.
Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Andy Tanenbaum se opět rozepsal mikrokernelech. A opět je to diskuze Tanenbaum vs. Linus Torvalds. Tanenbaum mimo jiné připomíná, ať pochybovači nejprve vyzkouší MINIX 3, než začnou tvrdit, že mikrokernel nelze reálně použít.
Tiskni
Sdílej:
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
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.
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ů.
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.
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.
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.
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ů.
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.