Hlavní navigace

Google zaplatil dva vývojáře, kteří mají zlepšit bezpečnost linuxového jádra

25. 2. 2021

Sdílet

Google Autor: Depositphotos

Google má obavy o bezpečnost svobodného kódu linuxového jádra, sponzoruje proto dva vývojáře na plný úvazek, kteří mají situaci zlepšit. V rozhovoru pro The Register o tom mluvil Dan Lorenc, vedoucí bezpečnostního týmu open-source v Google. Zmínění dva vývojáři jsou Gustavo Silva a Nathan Chancellor. První z nich řeší rizika spojená s buffer overflow, druhý hledá chyby v překladači Clang/LLVM.

Google takhle sponzoruje vývojáře dlouhodobě skrz Linux Foundation, teď se ale spolupráce prohlubuje. Linux je pro Google naprosto kritický. Začali jsme na Linuxu a používáme ho všude, říká Lorenc. Google udržuje vlastní repozitáře svobodného software, který používá. Má tak plnou kontrolu nad tím, co používá.

Stejně tak si v Google kompilují vlastní linuxové jádro. Jeho bezpečnost je prý velmi dobrá, vše je dobře dokumentováno a kód čte spousta lidí. Problém je, že linuxové jádro je ohromné a víc kódu znamená také více chyb. Statická analýza kódu pokročila hodně daleko a vývojáři jsou schopni automatizovaně nacházet větší množství chyb, než stíhají opravit. Teď je tedy na čase vymyslet způsob, jak ty nalezené problémy dostatečně rychle řešit. Nechceme je přestat hledat, ale pokud hledáte chyby, na které se pak už nikdo nepodívá, tak žádný problém neřešíte.

Zaplatit dva vývojáře sice pomůže, ale není to rozhodně definitivní řešení. Podle Lorence je třeba být kreativní a najít nová řešení. Aby bylo možné opravit takové množství chyb, musí se začít najednou řešit celé třídy problémů. Například je možné využít nové jazyky jako Rust a Go, které netrpí mnoha problémy starších jazyků. Ve stádiu úvah je například také přepsání kódu jádra do Rustu. 

Našli jste v článku chybu?
  • Aktualita je stará, nové názory již nelze přidávat.
  • 25. 2. 2021 10:41

    nil nil (neregistrovaný)

    A je to tady ... bylo by dobré to přepsat (a převzít kontrolu). Asi slyším trávu růst, ale to neznamená, že neroste.

  • 25. 2. 2021 10:47

    neřeknu

    přesně, pomalu ale jistě si google přetvoří Linux dle své android sr***ky a převezme kontrolu... ;-( Kdyby se raději staral o své věci, aby třeba chrome nebyl takový s**t co je nebo přestal zneužívat svého monopolního postavení. už se fakt chová hůř než kdysi M$...

    25. 2. 2021, 10:48 editováno autorem komentáře

  • 25. 2. 2021 16:52

    tele ceka na schvaleni roky

    Ja teda nevim o cem oba pisete,

    Google si stahne Vanilla jadro pod licenci GPLv2 a to si pretvori podle sebe, pokud pozadate o zdroj musi vam ho poskytnout na zaklade licence. Vy muzete udelat to same. Pro ty ostatni zustane aspon to nezmenene Vanilla.

    Kde vidite problem?

  • 25. 2. 2021 17:10

    nil nil (neregistrovaný)

    @Venda z Ostravy

    Nevím, jestli je vhodné omezit problematiku "vstupu" korporace do projetku pouze na mechaniku zkompilování kódu.

  • 26. 2. 2021 12:57

    nil nil (neregistrovaný)

    @Venda z Ostravy

    Nějaký sub-set operací a rutin vedoucí ke zkompilování zdrojových kódů projektu, což je jenom malá část celé problematiky produkce softwaru a obchodních záležitostí.

    Je to prostě odkaz na celkem jasný, celkem předvídatelný a opakující se proces. Myslím, že při minimální snaze je to z textu celkem pochopitelné. Ale tak zas by nebylo to rypkání, že ...

    26. 2. 2021, 12:58 editováno autorem komentáře

  • 25. 2. 2021 11:03

    Uncaught ReferenceError:

    diskutuje se o tom, to ale neznamená, že to nastane. Bez diskuze nad něčím není možné tu věc patřičně zavrhnout a říct, že to je špatný směr.

    Je ale pravda, že většina bezpečnostních chyb je způsobena nesprávnou správou paměti v C. Pokud studuji některé objevené chyb, je pro mě obrovsky těžké tu chybu v tom vidět, zejména pokud jde o vícevláknový kód. To programuji od 90. let a stejně nejsem schopný napsat a ověřit kód v C.

    Rust nás neochrání od všech chyb, různé memory aligned, use after free a jiné problémy se také vyskytují. Možná je cesta jen vylepšit kompiler a zlepšit doporučení pro kód.

  • 25. 2. 2021 11:11

    nil nil (neregistrovaný)

    Jenže tahle mince má dvě strany a technická stránka je pouze jedna strana. Myslím, že po přelomu roku málokdo pochybuje o tom, že co nejvíc věcí by mělo zůstat mimo korporátní vliv ...

  • 25. 2. 2021 12:58

    Filip Jirsák
    Stříbrný podporovatel

    Naráží na události, které se opakovaně dějí už desítky let (velká korporace udělá něco, co se některým nelíbí, a pak se diskutuje o tom, zda nezneužila své moci, zda to bylo správné či špatné, jestli se to neřeší jen proto, že šlápla na kuří oko jiným korporacím apod.) – a Poleno to teď poprvé zaregistroval.

    Tentokrát by to mohlo být např. Facebook × média, Google × média, Facebook a Google × Apple a ochrana osobních údajů, Trump a chuligáni × demokratický svět (na jehož stranu se postavily i Twitter a Facebook), Facebook + Whatsapp × ochrana osobních údajů, Parler × demokratický svět (a Amazon, který se nechtěl dostat do problémů). Těžko říct, co z toho je ta jedna událost, které si Poleno všiml.

  • 26. 2. 2021 11:21

    nil nil (neregistrovaný)

    @Filip Jirsák

    Naráží na události, které se opakovaně dějí už desítky let ...

    Slaměný panák. O tomto nikdo nemluvil, nikdo to nerozporuje.

    Poleno to teď poprvé zaregistroval

    Lež, výmysl Filipa Jirsáka.

    ... Trump a chuligáni × demokratický svět ... + Whatsapp × ochrana osobních údajů, Parler × demokratický svět

    Naprostý off-topic a stejně už dávno prokázaný nesmysl.

    Těžko říct, co z toho je ta jedna událost, které si Poleno všiml.

    Tím jste měl ten svůj "rozbor" začít a dál nepokračovat.

  • 26. 2. 2021 15:21

    Filip Jirsák
    Stříbrný podporovatel

    Poleno: Když napíšete „myslím, že po přelomu roku málokdo pochybuje“, znamená to, že podle vás na přelomu roku došlo k nějaké zlomové události, po které si museli i ti poslední něco uvědomit.

    Off-topic byl už ten váš příspěvek o korporacích, já jsem na něj jenom reagoval. Vy jste nenapsal, jakou událost „myslíte“, a tyhle to klidně mohly být. Navíc jste v komentáři níže sám napsal, že Parler byl jeden z těch případů, které jste „myslel“ – takže jsem akorát pojmenoval to, co vy jste jennaznačoval.

    Lež, výmysl Filipa Jirsáka.
    Případy, že nějaká platforma někomu přestane poskytovat služby, se objevují v médiích třeba každé dva roky. Na přelomu let 2020/2021 nedošlo k ničemu přelomovému, o čem by se dalo prohlásit „od teď už musí každý vědět“.

    Lži jsou naopak vaše věty o „dávno prokázaný nesmysl“ nebo „neplatí ani smlouva, ani zákon“.

    Tím jste měl ten svůj "rozbor" začít a dál nepokračovat.
    Ono by bylo vůbec nejlepší, kdybyste vy vůbec nezačínal.

  • 26. 2. 2021 16:03

    nil nil (neregistrovaný)

    Poleno: Když napíšete „myslím, že po přelomu roku málokdo pochybuje“, znamená to, že podle vás na přelomu roku došlo k nějaké zlomové události, po které si museli i ti poslední něco uvědomit.

    Já tam vidím málokdo pochybuje NE já jsem si toho všiml teď. Takže se nic nemění - přestaňte si vymýšlet

    Navíc jste v komentáři níže sám napsal, že Parler byl jeden z těch případů, které jste „myslel“

    Ano, vybral jste si co se Vám hodilo, zbytek ignoroval a vytvořil tady tu lež, proloženou dalšímy nesmysly. V dalším mém komentáři zde, a to ještě starším, se píše O chování big tech korporací se diskutuje už pomalu dekády a model je pořád stejný což kompleteně bortí ten Váš výmysl, ale toho jste si už jaksi nevšiml. A za druhé, pokud si nejste jistý, co diskutující myslel, tak se máte zeptat a ne si vymýšlet nějaké lži.

    Případy, že nějaká platforma někomu přestane poskytovat služby, se objevují v médiích třeba každé dva roky

    Ano, ale mění se důvody a agresivita. Pokud ne, můžete mi úvést nějaké dva příklady z minulosti, kdy poskytovatel vypne ze dne na den síť s miliony nových uživatelů denně, přestože ve smlouvě je 30 dnů lhůta na nápravu zatímco ostatní se stejnými i horšími prohřešky ponechá a odůvodní to národní bezpečností a vztahem k politickým událostem, když už jste si vybral zrovna Parler - já v tom komentáři uvádím i další neblahé jevy. Ty se Vám ale nehodily.


    Co kdybyste konečně začal číst komentáře a diskutovat namísto vkládání vlastních významů a selektivně vybraných částí vět? Pak nebudete muset další dny ostatním tvrdit, co tím ještě všechno mohli myslet, když seskládáte vybrané kusy podle Vás.

    26. 2. 2021, 16:07 editováno autorem komentáře

  • 26. 2. 2021 16:49

    Filip Jirsák
    Stříbrný podporovatel

    Poleno: Reagujete na části vět, ale význam celého komentáře vám uniká.

    pokud si nejste jistý, co diskutující myslel, tak se máte zeptat a ne si vymýšlet nějaké lži
    Výborně, Poleno otočilo o 180 stupňů. V minulé diskusi do krve hájilo to, že je v pořádku, když si domyslí, co chtěl diskutující napsat. Jsem rád, že jste to konečně pochopilo – alespoň k něčemu ten můj komentář byl.

    Ano, ale mění se důvody a agresivita.
    Ne.

    Pokud ne, můžete mi úvést nějaké dva příklady z minulosti, kdy poskytovatel vypne ze dne na den síť s miliony nových uživatelů denně,
    Psal jste, že se změnily důvody a agresivita. To nijak nesouvisí s tím, jestli jde o nějakou síť a kolik nových uživatelů denně ta síť má. V minulosti např. i v ČR webhosting vypnul webové stránky propagující nacismus, určitě byly případy, kdy poskytovatel přestal poskytovat služby kvůli porušování autorských práv.

    přestože ve smlouvě je 30 dnů lhůta na nápravu
    Ne, ve smlouvě je možnost okamžitého pozastavení poskytování služeb – kapitola 6 AWS Customer Agreement. Vy se pořád oháníte tím, jak máte rád fakta a jak já lžu, přitom si bezostyšně vymýšlíte.

    zatímco ostatní se stejnými i horšími prohřešky ponechá
    Naštěstí míru závažnosti neposuzujete vy.

    Ty se Vám ale nehodily.
    Nikoli. Jenom jsem vám nechtěl nahrávat na vaši politickou agitku.

    Co kdybyste konečně začal číst komentáře a diskutovat namísto vkládání vlastních významů a selektivně vybraných částí vět? Pak nebudete muset další dny ostatním tvrdit, co tím ještě všechno mohli myslet, když seskládáte vybrané kusy podle Vás.
    Co kdybyste se radši staral o sobe a příště místo nicneříkajících vět „po přelomu roku málokdo pochybuje“ rovnou napsal, o jaké události mluvíte? Ono totiž to, že připadá přelomová vám, ještě neznamená, že ji za přelomovou považují i ostatní. Ostatně pořád ještě jste nenapsal, proč podle vás ty události byly přelomové.

  • 26. 2. 2021 18:19

    nil nil (neregistrovaný)

    @Filip Jirsák

    Domyslet si, co znamená po přelomu roku málokdo pochybuje o tom je něco jiného než tvrdit, že Poleno to teď poprvé zaregistroval. Prostě zase jednou lžete.

    To nijak nesouvisí s tím, jestli jde o nějakou síť a kolik nových uživatelů denně ta síť má.

    Souvisí, protože zatím byly cíle malinké a v podstatě, z pohledu návštěvnosti, zanedbatelné. Ale musím Vás pochválit, toto je v této diskuzi první skutečný argument. Jen tak dál.

    AWS Customer Agreement.

    To jsou obecká ustanovení. Jak v podání, tak obajobě Parler vs. AWS je jasně uvedena citace 30 dnů na nápravu. Proto taky AWS argumentovalo v politické rovině. Tak už nemanipulujte.

    Naštěstí míru závažnosti neposuzujete vy.'

    Ani Vy a přesto se na míru závažnosti obsahu Twitteru můžete sám podívat, třeba vyhrožování Izreali genocidou. Dodnes to tam je, stejně jako výzvy k perzekuci voličů (AOC) u voleb prohrávající strany či násilí v ulicích z léta, prokazatelně - podle FBI.


    No, nakonec mě možná ulžete a ztratím zájem se v tom plat, ale k čemu to ...

  • 27. 2. 2021 8:30

    Filip Jirsák
    Stříbrný podporovatel

    Domyslet si, co znamená po přelomu roku málokdo pochybuje o tom je něco jiného než tvrdit, že Poleno to teď poprvé zaregistroval.
    V čem je to jiné?

    Prostě zase jednou lžete.
    Zase jednou? Vy jste mi zatím nikdy žádnou lež nedokázal.

    Souvisí, protože zatím byly cíle malinké a v podstatě, z pohledu návštěvnosti, zanedbatelné.

    Ale musím Vás pochválit, toto je v této diskuzi první skutečný argument. Jen tak dál.
    Ne, chválit mne fakt nemusíte. Pochvala od někoho, kdo si notoricky vymýšlí, mne nezajímá.

    To jsou obecká ustanovení.
    No a? Obecná ustanovení podle vás nejsou platná, nebo co jste tím chtěl říci?

    Jak v podání, tak obajobě Parler vs. AWS je jasně uvedena citace 30 dnů na nápravu.
    Jaké podání? Jaká obhajoba? Jediná relevantní věc je upozornění případně výpověď smlouvy ze strany Amazonu. Vy ten dokument máte k dispozici?

    Tak už nemanipulujte.
    Co si vymýšlíte, jaká manipulace? Já jenom předkládám fakta. Že se vám fakta nelíbí je váš problém.

    Ani Vy
    Já jsem ale netvrdil nic o tom, že byla porušena smlouva nebo zákony.

    přesto se na míru závažnosti obsahu Twitteru můžete sám podívat, třeba vyhrožování Izreali genocidou
    Ono nezáleží jen na tom, co někdo říká, ale také kdo to říká. A nevšiml jsem si, že by Twitter měl v podmínkách, že má povinnost tweety mazat nebo blokovat účty. Má právo to dělat. Takže vaše srovnávání s jinými tweety zatím stojí na vodě.

    Dodnes to tam je, stejně jako výzvy k perzekuci voličů (AOC) u voleb prohrávající strany či násilí v ulicích z léta
    A taky z podzimu. Ano, Twitter nesmazal všechny tweety Trumpa.


    No, nakonec mě možná ulžete a ztratím zájem se v tom plat, ale k čemu to ...

    Vždyť jste psal, jak milujete fakta. A najednou označujete fakta za lež?

  • 27. 2. 2021 11:42

    nil nil (neregistrovaný)

    @Filip Jirsák

    V čem je to jiné?

    Jiné je to v tom, že to první znamená něco úplně jiného než to druhé, to prví bylo napsáno a to druhé jste si prostě vymyslel.

    Zase jednou? Vy jste mi zatím nikdy žádnou lež nedokázal.

    Prokázal a nyní znova: tvrdit, že málokdo pochybuje znamená Poleno si všiml až teď je lež. Že to do úmoru popíráte na tom nic nemění.

    No a? Obecná ustanovení podle vás nejsou platná, nebo co jste tím chtěl říci?
    Já jsem ale netvrdil nic o tom, že byla porušena smlouva nebo zákony.

    Ano, prostě jste zkusil lacině odkaz na obecná ustanovení. Nevyšlo. Jak evidentně nevíte, tak Twitter i Parler mají s Amazonem své vlastní smlouvy. Jejich obsah je sice neveřejný, pokud vím, ale jak v podání, tak proti podání (neznám česky překlad) byly jejich citace a odkazy na ně - v odůvodněních.

    Co si vymýšlíte, jaká manipulace? Já jenom předkládám fakta. Že se vám fakta nelíbí je váš problém.

    Nepředložil je vůbec nic. Absolutně nic - jenom doměnku, že jsem si něčeho všiml poprvé, nějaké bláboly o <něco> vs. demokracie a zkusil jste odkaz obecné podmínky Amazonu. To mají být předložená fakta?:

    "Pane Jirsáku, to, že si něco fakt myslíte z toho ještě nedělá fakt", leda byste si z toho jako obvykle vykopírovat "něco fakt", podrobil to vaší analýze a zkonstatoval, že "fakt" znamená přece "fakt" .... no ....

    A dál už bych se jenom opakoval, pořád jenom dál kupíte nesmysly ... skutek je pořád stejný, viz. "Nepředložil je vůbec nic. Absolutně nic - jenom doměnku ..."

    27. 2. 2021, 11:44 editováno autorem komentáře

  • 27. 2. 2021 19:22

    Filip Jirsák
    Stříbrný podporovatel

    Poleno:
    – otázka: „V čem je to jiné?“
    – Poleno odpovídá: „Je to něco úplně jiného.“

    Hm, to jste to opravdu odůvodnil.

    Ano, prostě jste zkusil lacině odkaz na obecná ustanovení. Nevyšlo. Jak evidentně nevíte, tak Twitter i Parler mají s Amazonem své vlastní smlouvy. Jejich obsah je sice neveřejný, pokud vím, ale jak v podání, tak proti podání (neznám česky překlad) byly jejich citace a odkazy na ně - v odůvodněních.
    Já jsem dal odkaz na všeobecné podmínky Amazonu. Vy si myslíte, že mají jinou smlouvu, a myslíte si, že tam mají jiné podmínky. Hm, to máte opravdu pádné argumenty.

    Nepředložil je vůbec nic. Absolutně nic
    Já jsem odkazoval na obecně dostupné všeobecné podmínky Amazonu. Klidně vám přidám i odkaz, pokud si je neumíte najít.

    Nepředložil je vůbec nic. Absolutně nic - jenom doměnku ..
    To jste si nás popletl. Já jsem odkazoval na všeobecné podmínky Amazonu. To by jste prezentoval jen domněnky, že mají individuální podmínky a co v nich je.

  • 28. 2. 2021 10:51

    nil nil (neregistrovaný)

    @Filip Jirsák

    Hm, to jste to opravdu odůvodnil. [Filip Jirsák]

    Na blbou otázku blbá odpověď. [život]
    Co Vám k tomu mám napsat, to jako sám nedokážete pochopit, že
    - málokdo pochybuje je obecké konstatování pouzajující na nějakou zjevnou věc, v podstatě spíš řečnický obrat, zatímco
    - Poleno si všiml až teď je konkrétní prohlášení o konkrétních znalostech konkrétní osoby?
    A to jste to ještě použil v hanopisu. Jeden by se mohl divit, že se nedožaduje seznamu lidí, kteří by o tom tedy nepochybovali
    ... jo a prosím Vás, jeden by se mohl divit neznamená, že se divím já nebo že se může divit nanejvíš jeden a přestože jsem pře tím v odstavci poučil slovo konkrétní, tak to jinak nesouvisí s tím pozdějším Jeden by se ....

    Vy si myslíte, že mají jinou smlouvu, a myslíte si, že tam mají jiné podmínky. Hm, to máte opravdu pádné argumenty.

    Ne, já si to nemyslím, já to vím, je na to přímo odkaz v podání žaloby. To Vy si pořád něco myslíte.

    Já jsem odkazoval na obecně dostupné všeobecné podmínky Amazonu
    To jste si nás popletl. Já jsem odkazoval na všeobecné podmínky Amazonu

    A ty jsou k tomuto irelevantní, jak už Vám bylo sděleno dvakrát ....

    28. 2. 2021, 10:55 editováno autorem komentáře

  • 28. 2. 2021 19:34

    Filip Jirsák
    Stříbrný podporovatel

    Na blbou otázku blbá odpověď.
    To je jen výmluva někoho, kdo na otázku nechce odpovídat. Jinak je totiž možné napsat, v čem je ta otázka blbá.

    - málokdo pochybuje je obecké konstatování pouzajující na nějakou zjevnou věc, v podstatě spíš řečnický obrat, zatímco
    - Poleno si všiml až teď je konkrétní prohlášení o konkrétních znalostech konkrétní osoby?

    Fajn. Jenže porovnáním, zda to je nebo není to samé, tu operujete akorát vy.

    A to jste to ještě použil v hanopisu.
    Co kdybyste začal sobě měřit stejným metrem, jakým měříte ostatním? To, že se o někoho otíráte vy, je naprosto v pořádku. Ale běda jak se někdo stejným způsobem otře o vás.

    Jeden by se mohl divit, že se nedožaduje seznamu lidí, kteří by o tom tedy nepochybovali
    Ano, to by vám bylo podobné. V tom vy se přímo vyžíváte, polemizovat s něčím, co nikdo nepsal.

    Ne, já si to nemyslím, já to vím, je na to přímo odkaz v podání žaloby.
    Jasně, „víte“ něco, co tvrdí jedna strana sporu.

    A ty jsou k tomuto irelevantní, jak už Vám bylo sděleno dvakrát
    Nejsou irelevantní. Nedá se očekávat, že by si nějaký Parler s Amazonem vyjednal diametrálně odlišné podmínky. Vy ty podmínky neznáte, takže jediné, z čeho můžeme vycházet, jsou ty všeobecné podmínky.

    AWS is also breaching it contract with Parler, which requires AWS to provide Parler with a thirty-day notice before terminating service, rather than the less than thirty-hour notice AWS actually provided
    Máte nějaké vysvětlení proto, proč jste se pořád nepodíval do těch všeobecných podmínek a na můj komentář o kapitole 6 neustále reagujete komentáři o kapitole 7? Chápete, že kapitola 6 je o něčem jiném, než kapitola 7?

  • 1. 3. 2021 9:16

    nil nil (neregistrovaný)

    @Filip Jirsák

    Jinak je totiž možné napsat, v čem je ta otázka blbá.

    Je mi líto, líp to neumím, nejsem psychiatr ... a podrobné vysvětlení jste už dostal.

    Fajn. Jenže porovnáním, zda to je nebo není to samé, tu operujete akorát vy.

    Ne, vy jste tvrdil, že to je to samé a na této lži je založen Váš původní hanopis a celé toto ubohé vlákno. Gratuluji.

    Jasně, „víte“ něco, co tvrdí jedna strana sporu.

    Ano, jedna strana to říká a druhá to nerozporuje. Jediný kdo do rozporuje jste Vy - žádná strana sporu.

    Máte nějaké vysvětlení proto, proč jste se pořád nepodíval do těch všeobecných podmínek

    Ano mám a ano, já se do nich podíval. Máte Vy nějaké vysvětlení proč neustále ignorujete, že mezi Parlerem a Amazonem je jejich vzájemná smlouva a ne obecné podmínky?

    1. 3. 2021, 09:17 editováno autorem komentáře

  • 1. 3. 2021 9:32

    Filip Jirsák
    Stříbrný podporovatel

    Ne, vy jste tvrdil, že to je to samé
    Netvrdil.

    Ano, jedna strana to říká a druhá to nerozporuje.
    Jasně, Amazon vám musí hlásit veškeré kroky, které podniká.

    Máte Vy nějaké vysvětlení proč neustále ignorujete, že mezi Parlerem a Amazonem je jejich vzájemná smlouva a ne obecné podmínky?
    Vy jste pro své tvrzení nepodal žádný důkaz, takže není žádný důvod, proč bych tomu tvrzení měl věřit. No a dost pochybuju o tom, že ta údajná smlouva mezi Parlerem a Amazonem je veřejná, takže vaše argumentace tím, co si myslíte, že je v té smlouvě, je akorát směšná.

  • 1. 3. 2021 10:47

    nil nil (neregistrovaný)

    @FIlip Jirsák

    Netvrdil.

    Ale ano, tvrdil:
    Když napíšete „myslím, že po přelomu roku málokdo pochybuje“, znamená to, že podle vás na přelomu roku došlo k nějaké zlomové události, po které si museli i ti poslední něco uvědomit. [Filip Jirsák]

    čímž vysvětlujete Vaši lež:
    a Poleno to teď poprvé zaregistroval. [Filip Jirsák]

    Přestaňte manipulovat a lhát!


    Jasně, Amazon vám musí hlásit veškeré kroky, které podniká.

    Argumentační faul. Útočíte na osobu a ne na argument. Nicméně, protože já jsem na rozdíl od Vás služný argumentující diskutující, tak Vám odpovím. Tedy ne, Amazon tuto lhůtu nerozporuje ve podání, které podal Amazon jako reakci na první podání Parleru, jenom argumentuje tím, že díky (dnes už prokázaným mediálním dezinformacím okolo 6. ledna) bylo nutné zasáhnout okamžitě. A soudkyně na tuto lež přistoupila proto taky shodila Sherman act, podle které i tak škoda musí být minimální. Nestalo se a přistoupila taky na to, že suspedování a vyloučení obnovení navždy není terminace. No, stejně podlá a manipulativní argumentace jakou zde předvádíte Vy.

    Vy jste pro své tvrzení nepodal žádný důkaz, takže není žádný důvod, proč bych tomu tvrzení měl věřit. No a dost pochybuju o tom, že ta údajná smlouva mezi Parlerem a Amazonem je veřejná,

    Zase lžete. Osobně jsem Vás upozornil, že smlouva je neveřejná, ale citace z ní se nachází v podáních a protipodáních Parleru a Amazonu:

    Jak evidentně nevíte, tak Twitter i Parler mají s Amazonem své vlastní smlouvy. Jejich obsah je sice neveřejný, pokud vím, ale jak v podání, tak proti podání (neznám česky překlad) byly jejich citace a odkazy na ně - v odůvodněních. [Poleno]

    A jednu z citací o 30 denní lhůtě jsem doložil výše [Poleno, 28.2.2021 11:13]


    Vaši lež i mé trvrzení o smlouvě považuji za dostatečně prokázané a jednostranně ukončuji tuto "komunikaci". Není co bych dodal, musel bych se opakovat a doufat, že přestanete lhát a používat argumentační fauly (viz. výše)

    A pro povznesení ducha, zakončím svůj text veselým citátem pan Wericha:

    Když se člověk hádá s blbcem, po minutě už se hádají blbci dva.

  • 1. 3. 2021 11:39

    Filip Jirsák
    Stříbrný podporovatel

    Poleno: Lžete a manipulujete tu jenom vy. To, co jste citoval, je úplně něco jiného, než co jste z toho pak udělal.

    Neútočím na osobu. Útočím na váš argument, že když vy nevíte o protiargumentech Amazonu, neznamená to, že takové argumenty neexistují.

    Já jsem psal o suspendování, Amazon argumentuje suspendováním, soudkyně to potvrdila. Ale vy tvrdíte, že je to lež a porušení zákona. Na základě čeho to tvrdíte? Váš názor má přednost před rozhodnutím soudu?

    Vaši lež i mé trvrzení o smlouvě považuji za dostatečně prokázané a jednostranně ukončuji tuto "komunikaci".
    Chápu, došlo vám, že obhajovat to, že váš názor má přednost před rozhodnutím soudu, byste obhájil jen těžko. Jako vždy, nakydáte do diskuse spoustu lží, a když pochopíte, že je neobhájíte, vypaříte se.

  • 28. 2. 2021 11:13

    nil nil (neregistrovaný)

    @Filip Jirsák

    AWS is also breaching it contract with Parler, which requires AWS to provide Parler with a thirty-day notice before terminating service, rather than the less than thirty-hour notice AWS actually provided [1]

    Pro porovnání:

    However, the day before, on Friday, one of the top trends on Twitter was "Hang Mike Pence," with over 14,000 tweets. [1]

    [1] https://www.courtlistener.com/docket/29095511/1/parler-llc-v-amazon-web-services-inc/

    28. 2. 2021, 11:16 editováno autorem komentáře

  • 25. 2. 2021 14:45

    nil nil (neregistrovaný)

    @Třešťák Huho

    Narážím třeba na tzv. "deplatforming". Limit zatím ne u poskytovatelů ISP, ale ti jsou náchylní úplně stejnému tlaku od "veřejnosti" a vlád. Např. vypnutí Parleru Amaznem - už neplatí, že si máte udělat svou síť když se Vám něco nelíbí a už neplatí ani smlouva, ani zákon. Důležitý je postoj k BL., koho volíte a jaké lži ještě ten den píšou média - prokázáno.

    A nemám důvod předpokládat, že se "veřejnost" zastaví ... historie říká něco jiného.

    Moho doložit relevantními linky, ale nechci dráždit redakci ...

    25. 2. 2021, 14:47 editováno autorem komentáře

  • 25. 2. 2021 14:48

    Pavel Tavoda

    > mělo zůstat mimo korporátní vliv

    Top prispievatelia do kernelu za 2020:
    Intel 14,384 12.9%
    Red Hat 8,987 8.0%
    None 8,571 7.7%
    Linaro 4,515 4.0%
    Samsung 4,338 3.9%
    SUSE 3,619 3.2%
    IBM 2,995 2.7%

  • 25. 2. 2021 17:12

    tele ceka na schvaleni roky

    Navic predpokladam, ze to je vsechno ve volitelnych moznostech, vi nekdo o fcich od korporace ktere jsou tam zaroubovane? A pokud vim vse schvaluje Linus nebo staci i G.K.H ci nekdo jeste?

  • 25. 2. 2021 17:34

    Michal Kubeček

    Záleží na tom, čemu říkáte "volitelné možnosti". Tak třeba nejvíc práce na linuxové implementaci TCP za posledních deset let odvedli právě zaměstnanci Google a jeden z nich je velmi pravděpodobně nejaktivnějším vývojářem linuxového síťového stacku obecně. Ale jestli vás to děsí, tak si klidně můžete přeložit jádro s vypnutým CONFIG_NET, aby se vám spalo klidněji...

  • 25. 2. 2021 20:25

    tele ceka na schvaleni roky

    Záleží na tom, čemu říkáte "volitelné možnosti
    To co jde vynechat pri konfiguraci a nebude to soucasti kompilacniho procesu.

    25. 2. 2021, 20:26 editováno autorem komentáře

  • 25. 2. 2021 20:37

    tele ceka na schvaleni roky

    Ale jestli vás to děsí, tak si klidně můžete přeložit jádro s vypnutým CONFIG_NET, aby se vám spalo klidněji
    Kde jsem psal neco ve smyslu desi, to si me pletes s "Polenem"

    Ale vazne, musi to odsouhlasit vzdy Linus nebo jeho spriznenec?

    Redakce: na co je tu tlacitko upravit, kdyz to pak upravit nejde?

  • 25. 2. 2021 12:13

    Uncaught ReferenceError:

    ne nutně, protože unsafe :), např. https://github.com/droundy/internment/issues/11

    nebo tady mám ukázku opravy z CVE-2019-16140, kterou ukazuji na školeních:

    fn from(buffer: Buffer) -> Vec<u8> {
        let mut slice = Buffer::allocate(buffer.len);
        let len = buffer.copy_to(&mut slice);
        unsafe {
    -://    Vec::from_raw_parts(slice.as_mut_ptr(), len, slice.len())
    +:      let vec = Vec::from_raw_parts(slice.as_mut_ptr(),len, slice.len());
    +:      mem::forget(slice);
    +:      vec
        }
    }

    Samozřejmě to není nijak časté, viz třeba https://rustsec.org/advisories/, kde use after free je jen minimum

  • 25. 2. 2021 12:18

    Uncaught ReferenceError:

    je těžké psát v rustu low level věci a vyhnout se unsafe, kernel je dost low level a musí dělat řadu různých optimalizací, je pak otázka jak se podaří mít usafe bloky pod kontrolou. Zatím jsou pokusy s psaním modulů v rustu.

    Rust nemusí být správná cesta na kernel, to se ale musí prozkoumat a říct, jestli rizika jsou nižší a stojí to za tu cenu.

  • 25. 2. 2021 12:45

    D.A.Tiger

    Muj nazor je, ze cokoliv vys nad jazykem C je v pripade kernelu cesta do pekel. Uz ted je ten kod nesmirne slozity, ale porad pochopitelny a ladeni neni taky zadna slast. Ve chvili kdy se do veci zacnou mychat takove veci jako dedicnost, polymorfizmus, anonymni funkce, pretezovani operatoru, sablony (...) stane se orientace v tom co ten kod dela hotovym ocistcem. Nemluve o situaci, kdy by jste chtel nejak sledovat, jak dany kod funguje v kontextu jednotlich vrstev OS.

    Za me, klidne at si kernel forkne kdo chce do ceho chce, treba klidne do Rustu, C++, C#, Go, Valy ci cehokoliv jineho kdo bude chtit a schopen - me je to sumak. Ale standardni kernel at zustane ciste C zalezitost - a to pisu jako vylozeny milovnik C++.

  • 25. 2. 2021 20:35

    Adam Kalisz
    Stříbrný podporovatel

    Tak určitě nechcete používat přístupy typu C++, kde je pomalu specifikace jazyka delší než výtvory v něm. (Nadsázka, pro ty, co nemají smysl pro humor.)
    Přístupy C#, Go přináší maximálně evoluční zlepšení produktivity programování, protože oproti C jak sám poznamenáváte jen zesložiťují a bezpečnost zase tak razantně tím pádem nezlepšují, výhody lehčí správy paměti totálně negují vyšší složitostí.

    Jak jsem psal, možná by bylo možné adaptovat myšlenky Clojure na velkou část problémů přímo v kernelu. Bootstrap, různý bit pushing, různé opravdu horké cesty, "kde to jinak nejde" a rozhraní k hardwaru by se řešilo např. v tom Rustu, případně troše assembleru. Zbytek by běžel nad nějakou VM, např. na způsob BPF. Výhoda by byla, že by šlo hodně kódu měnit za běhu hodně jednoduchým způsobem. Na ten opravdu poměrně malý zbytek, což by klidně mohlo být třeba i "jen" několik desítek tisíc řádků kódu, by asi šlo využít současných hacků jako live patch.

    Jinak k tomu C++ bych Vám hodně doporučoval se podívat na Simple Made Easy od Riche Hickeyho (https://www.youtube.com/watch?v=kGlVcSMgtV4), který C++ asi taky rozumí opravdu dobře. Ono obecně o složitosti se hodně mluví, ale skoro nikdo nejde a opravdu vážně jí neeliminuje. Jinak o Clojure psal i Pavel Tišnovský tady na Rootu, z pochopitelných důvodů psal ale víc o jazyce, než o těch myšlenkách. Ano, v Clojure můžete napsat složitý kód taky, ale v C++ jste k tomu prakticky nucen. Je to asi jako když můžete řídit vyspaný, zdravý a střízlivý oproti řízení po dlouhé šichtě, podnapilý a se zlomenou nohou. Lehčí je to první, komplexita problému je jinak stejná.

  • 25. 2. 2021 13:29

    dustin

    Tak pokud by se to mělo hemžit unsafe bloky, pak to samozřejmě nemá žádný smysl. Předpokládal bych, že unsafe blok by byl jen výjimkou, která by měla i třeba přísnější režim akceptace patche (minimální možný rozsah, důslednější code review např. více Acked-by, atd.), nějaká pravidla pro umístění ve stromu zdrojáků, pojmenování atd.

  • 25. 2. 2021 18:51

    Adam Kalisz
    Stříbrný podporovatel

    C se dá psát dobře, ale je to na většinu věcí zbytečně těžké a neohrabané. V reálném systému je to nakonec pomalejší (viz např. pokusy Bryana Cantrilla, který jistě C psát umí). Na druhou stranu je C poměrně minimální jazyk, ehm makroassembler, a tak je portovaný i tam, kde by možná bylo lepší zůstat u toho assembleru. Rust má některé věci vyřešené mnohem lépe, co jsem pochopil od lidí, kteří s tím mají netriviální zkušenosti. Dají se tvořit lépe různé knihovny a používat pokročilejší datové struktury bez toho, aby se věci stále sypaly pod rukama. Na druhou stranu Linux se provozuje asi i na platformách, kde Rust nemá dostatečné, resp. žádné nástroje, knihovny, kompilátory apod. Přepsat dostatečně velké části Linuxu do Rustu a celý ekosystém posunout na nový stav věcí není nejspíš v dohledné době zvladatelný. Problém taky je, že pro Rust efektivně je zatím jeden použitelný kompilátor, GCC tam má velké rezervy. Možná se to změní, ale nebude to hned. Nakonec ale končíme u toho, že radši patláme dál to, co už je nějak upatlané, ale víme, co od toho čekat. Změny se holt začleňují v nejlepším případě kolem 60 dnů a reálně jsou rozšířené někdy během dalších 2-3 let.

    Možná by bylo obecně lepší se zamyslet, jestli by nešlo třeba v tom Rustu napsat nějaký minimální virtuální stroj na způsob BPF, který by ale měl dostatek infrastruktury navíc, aby nad tím mohl běžet nějaký skutečně vysokoúrovňový jazyk na způsob Clojure/ LISP + imutabilita + pokročilé datové struktury, ale s nějakým minimálním (klidně i real time aware) GC nebo třeba i úplně bez. Kdybyste to nechtěl, nemusel byste potom posílat třeba struktury a přesně znát různé offsety a co já vím, ale posílal byste prostě mapu nebo vektor dat. Zrychlení opravdu sensitivních částí kódu by se třeba dělalo podobně jako v Clojure nějakými type hinty, transienty nebo třeba i extra funkcí napsanou přímo v tom Rustu apod. Myslím si, že by to mohlo fungovat opravdu dobře hlavně kdyby to začali zohledňovat i výrobci čipů.

    Třeba v síťovém stacku by tohle mohlo být hodně zajímavé pro efektivitu práce. Zkoumat paket dat jako zanořenou datovou strukturu je jistě z hlediska programování mnohem, mnohem jednodušší, než koukat na konkrétní offsety - to přeci může dělat nějaký kompilátor. Dokážu si představit, že by to mohlo být v součtu všech věcí stejně efektivní nebo i lepší, než současný obšírný (a očividně nebezpečný) přístup jako z dob děrných štítků a magnetických pásek v sálových počítačích. Možná by také bylo možné vydávat stabilní verzi Linuxu každý týden místo každé dva měsíce, protože by celá věc byla mnohem zřejmější i pro ty, kteří vývojem Linuxu netráví 60 hodin týdně protože by se nemuselo přemýšlet nad podružnostmi jako buffer overflow, use after free, double free, injection, nepodpoře unicode apod.

    Jinak třeba SSH by se dalo nahradit nejspíš standardně šifrovaným a autentifikovaným REPLem, což by současně byla i standardní konzole. Není důvod, proč by nad tím nemohly běžet i další věci, třeba přesměrování portů jako nad SSH. Místo ASCII sekvencí by měl člověk nejspíš nějaký binární nebo klidně i textový EDN. Šlo by s trochou práce dělat i systémové undo nebo sdílený REPL do systému pro kolaborativní práci více programátorů/ adminů v rámci DevOps nebo jako security feature - že na všechno musí koukat dva nebo více párů očí. Mimochodem velké části systému by bylo možné přes takový REPL vyměnit za běhu, nějaké nahrazování funkcí jako je to teď v Linuxu by bylo potřeba jen pro úplné jádro systému.

    Je to nástřel, ale potřebujeme efektivitu práce na těchto nízkých úrovních zvýšit nejméně tak 10x, jinak se nám ta všemi nutně potřebná infrastruktura pod rukama rozpadne. Prostě potřebujeme zjednodušovat a ne přidávat další komplexitu nad smetiště a potom to zarovnávat dalším fuzztestingem a dalším unit testem. Domeček z karet vzniká proto, protože těm systémům nikdo nerozumí do hloubky a šířky současně, protože to není lidsky možné, ale je to potřeba, protože se subsystémy vzájemně ovlivňují a mají na sobě složité závislosti.

    Nakonec kolega říká, že aby v Googlu vůbec něco posunul, tak musí mít člověk pomalu doktorát a mimořádné schopnosti, jinak tam moc posun neudělá, protože to v tunách C++, neustále znova se rozbíjející infrastruktury a byrokracií není vůbec lehké. Proto mj. taky z Googlu odešel, protože ho ta neefektivita zlobila.

  • 25. 2. 2021 22:00

    Michal Kubeček

    Když čtu takovýhle rozbor, nedá mi to, abych se nezeptal: jaké jsou vaše zkušenosti s vývojem jádra? Nemyslím nutně aktivní přispívání, ale spíš představu, jak ten kód (aspoň nějaké části, třeba toho síťového stacku) vypadá, s jakými problémy se vývojář musí potýkat, v čem spočívá ta komplexita atd. A když vidím tu vizi "stabilní verze každý týden", tak bych se asi zeptal i na povědomí o tom, jak funguje organizace toho vývojového procesu.

  • 25. 2. 2021 23:16

    Adam Kalisz
    Stříbrný podporovatel

    Vývoj Linuxového jádra z povzdálí poměrně dlouhodobě sleduji. Díval jsem se při několika příležitostech přímo do gitu a četl konkrétní kód např. když jsem psal přehledový článek o nových funkcích v XFS. Síťový stack jsem procházel taky, protože to byla docela parketa mého školitele na bakalářku, která se toho tak trochu dotýkala.

    Nemám ale nad jádrem nadhled, že bych Vám řekl, co přesně kde jak funguje. Já samozřejmě velice dobře tuším, jak se píše user space HPC kód a viděl jsem kód, který řeší problémy s vysokým průtokem dat a nízkými latencemi. S výkonem softwaru obecně mám myslím poměrně nadprůměrné zkušenosti a znalosti, řešil jsem to na různých úrovních, ve svém kódu, v cizím kódu (bez a se zdrojáky) v různých jazycích různě vysoko a hluboko v systému. Konkrétně třeba o rychlosti přidávání záznamů do iptables setů jsem mluvil, jestli si dobře vzpomínám v několika větách na Installfestu 2020. (Hint, není to slavné.)

    Chtěl bych jenom poznamenat, že volba vysokoúrovňového jazyka opravdu nevylučuje velmi dobrý výkon v určitých ohledech. Další aspekt je, že jsem psal, že některé hodně využívané části kódu (což některé funkce síťového stacku jsou) by jistě šlo naimplementovat ručně i v tom Rustu nebo assembleru (resp. C) nebo si např. pomoct těmi transienty.
    Taky se můžete na věc dívat tak, že když se nebabrám tolik s podružnými detaily, tak můžu udělat více iterací, třeba i pozměnit návrh řešení poměrně zásadně, protože zásadní úpravy neznamená strávit roky, ale třeba jen nízké měsíce prací a ověřit a změřit výkon jako celku místo spekulací o mikro benchmarcích, které o celku často neříkají vůbec nic.
    Koncepční řešení mají výhodu v tom, že se tam objevují vzory, které lze optimalizovat globálně - jedna z výhod Rustu, kde někdo poladil implementaci B stromů a tak je nemusí každý člověk znovu a znovu implementovat, ale může využít jednu implementaci, která je otestovaná a hodně výkonná. Vysokoúrovňový jazyk toto nevylučuje a naopak hodně podporuje.
    V neposlední řadě jistě můžou výrobci čipů podobných vzorů využít, když řeší jak optimalizovat svoje procesory a predikce větvení. Třeba můžou posílit nějaké hashovací jednotky, takže výkon hash-mapy může nakonec být hodně blízko výkonu vektoru (pole), protože je obojí akcelerováno v hardwaru.
    O řád jednodušší systém se testuje minimálně o řád jednodušeji. Já vím, že existuje merge window a několik týdnů RC verzí. Nebylo tomu tak vždy a není to svatý grál vývoje softwaru z hlediska procesu. Sedí to dobře na současný stav věcí. Není ale důvod, proč by např. pondělky nemohly být mergovací a potom se zbytek týdne ladilo, co se zamergovalo. LTS verze by možná nebyly vůbec potřeba, kdyby obecně stabilita byla vyšší a chybovost nižší.

    V Googlu asi Gmail taky nemá nějakou LTS verzi, která by se nabízela v rámci Google Workspace. Z hlediska komplexity to možná bude s Linuxovým jádrem dost srovnatelné :-)

    Zkuste prosím číst můj příspěvek tak, že je to konstruktivní snaha posunout stav věcí někam dál, kde je to pro všechny zase lepší. Prostě už je na čase, vzít z UNIXu to dobré a udělat zase krok dál, abychom potom mohli podobně jako kdysi s přechodem z MS-DOS na třeba BSD nebo Linux říkat, jak jsme si pomohli. Linux se hodně vyvinul, hodně věcí, co jsem načrtl je v Linuxu již dnes a směr vývoje je dost jasný. (BPF je VM v Linuxu a tendence je to používat na prakticky všechno, včetně ovladačů. Limity instrukcí vývojáři rádi zvýší, když bude dobrý důvod.)

    Od 90. let se změnilo prakticky všechno, společnost funguje jinak, všude je do nějaké míry internet a tedy i aspekt plošného digitálního útoku. V softwaru řešíme +- pořád to samé, off by one (což řeší map+reduce nebo foreach koncepčně), různé * overflow, injection apod. kde odhadem 80% nebo i víc lze vyřešit jednou pro vždy lepšími nástroji, které nenutí lidi myslet jako počítače, protože to očividně neumíme dostatečně dobře ani když to děláme 60+ hodin týdně, ale překládají lidské přístupy na ty počítačové a detaily (jako žonglování indexů) řeší počítač. Přemýšlení o tom, proč to nejde nás nikam neposune. Pojďme spíše přemýšlet o tom, jak by to posunout šlo. Moje troška do mlýna je tohle - můžete se nad tím zamyslet.

  • 26. 2. 2021 0:49

    Michal Kubeček

    Důvod, proč jsem se ptal, je ten, že už jsem četl hodně podobných pojednání, proč by bylo dobré jádro (nebo aspoň jeho část) přepsat so rustu (nebo jiného cool jazyka) nebo dokonce proč je to nezbytné, a zatím pokaždé se ukázalo, že autor takového pojednání sice asi dobře rozumí příslušnému jazyku, ale o vývoji jádra a problémech, se kterými se tam člověk potýká, toho vlastně moc neví. Bohužel je to většinou patrné už z toho textu. Pokud chcete nějaký do očí bjiící příklad, tak třeba

    jedna z výhod Rustu, kde někdo poladil implementaci B stromů a tak je nemusí každý člověk znovu a znovu implementovat, ale může využít jednu implementaci, která je otestovaná a hodně výkonná

    Opravdu si myslíte, že když v jádře někdo chce použít třeba red-black tree, tak si tu implementaci pokaždé musí napsat znovu? Takových míst, kde vycházíte ze své představy, která neodpovídá skutečnosti, nebo se snažíte řešit nepodstatné problémy a naopak opomíjíte ty podstatné, je v těch vašich dvou komentářích bohužel víc.

    Věřím vám, že to myslíte dobře, ale asi by to spíš chtělo někoho, kdo zná opravdu dobře oba ty světy. Zatím to vypadá, že buď nikdo takový neexistuje nebo přesvědčení o užitečnosti takového kroku nesdílí.

  • 26. 2. 2021 12:33

    Adam Kalisz
    Stříbrný podporovatel

    Prosil jsem Vás "Zkuste prosím číst můj příspěvek tak, že je to konstruktivní snaha posunout stav věcí někam dál, kde je to pro všechny zase lepší." Očividně máte potřebu mi vkládat do úst něco, co jsem nepsal.

    Samozřejmě, že si v kernelu nějakou infrastrukturu vytvořili a mj. napsali si třeba klidně i v kolaboraci s jinými projekty nějaké datové struktury. Tyhle struktury ale nejsou součástí jazyka mají jiné právní zakotvení (ne všude je GPL 2.0 použitelné), takže ano, do jisté míry si ty struktury implementuje každý projekt sám a nebo se musí ujistit, že jsou naimplementované v konkrétní knihovně nebo tak někde a že je ta implementace kompatibilní (a nemá třeba zásadní buggy).
    Kdyby práce se stromy byla v C nebo podobných jazycích tak idiomatická, tak by se pořád na školách hned v základním kurzu nevyučovalo, jak je implementovat - mluvilo by se o tom, jaký vybrat na konkrétní problém a třeba by se více porovnávalo chování hotového kódu. Rozhodně by nebylo běžné třeba během cvičení ukázat, jak se chová hned několik implementací RB stromu, B stromu, AVL atd., protože prostě vývoj v C, C++ apod. se pohybuje geologickou rychlostí a všechno je boj.

    Výhoda myslících bytostí oproti přírodě je, že my si auto můžeme postavit (nebo koupit) za zlomek délky života (peněz, které za život vyděláme) a využívat ho a nemusíme čekat miliony let, než nám narostou nějaká proto-kola nebo proto-křídla. Bohužel v zaběhlých projektech hodně tíhneme k tomu druhému přístupu a jen se evoluci snažíme popohnat.

    Víte, já bych se hrozně rád dostal do stavu, že kvůli bezpečnostním updatům nemusím nikdy nic restartovat, že se to vymění za běhu. Bohužel současná řešení toto prakticky nikdy nesplňují zcela nebo jsou příšerně složitá a drahá a výsledek je nejistý. Už jen tohle mj. způsobuje spoustě firem nemalé ztráty.

    Asi bych naši diskuzi uzavřel s tím, že buď někdo napíše konkrétní řešení, nad kterým bude možná další diskuze a nebo se pojede dál jako doposud s tím, že budeme evolučně přepisovat nějaké moduly z C do Rustu, ale systematicky se nikam moc neposuneme.

  • 26. 2. 2021 13:24

    Michal Kubeček

    Jak už jsem napsal, já chápu, že to myslíte dobře a snažíte se opravdu o něco konstruktivního. Ale ten nedostatek znalosti toho, co se snažíte vylepšit, je na tom bohužel až příliš zřetelný. A já prostě nevěřím tezi, že pro zásadní vylepšení je výhodou nebýt zatížen znalostí současného stavu a historie, která k němu vedla.

    Např. právě ta snaha mít toho co nejvíc přímo v jazyce může být kontraproduktivní. Už jsem třeba viděl projekt psaný v C++, který kvůli efektivitě složitě obcházel základní součásti standardní C++ knihovny, aby je mohl nahradit vlastními lightweight variantami - a to byl userspace. Pokud by se takový jazyk (nebo spíš nějaký ještě "lepší" - i C++ je mnohými považováno za koncepčně zastaralé) měl použít pro jádro, bylo by ho nutné přiohnout ještě víc - a z mnoha výhod, kvůli kterým byl navržen, by byly spíš nevýhody.

    Na rovinu: představa, že by mělo být půl jádra v C a půl v rustu, mne děsí. To by bylo utrpení jako pro céčkaře, tak pro rustaře. To už bych viděl daleko víc smyslu v tom, kdyby si ti, kdo jsou přesvědčeni, že rust (nebo jakýkoli vyšší jazyk, který není jen "makroassembler") je pro jádro operačního systému vhodnější než C, zkusili napsat vlastní. Aspoň by se tak mohli vyhnout spoustě historických kompromisů. Ostatně nějaké takové projekty už existují, takže proč nepočkat, jestli opravdu budou o tolik příjemnější pro vývojáře i uživatele?

  • 1. 3. 2021 11:54

    SB

    Bez ohledu na to, co víte o jádru a já o něm nevím (a nechci vědět), myslím si, že jestliže jádro je psáno v jazyku, který nechává vše na vývojáři, přičemž ten má jen omezené schopnosti, kdy velikost projektu je bezesporu přesahuje, pak je něco koncepčně šeredně špatně a nutně se to musí někde projevit. Ona abstrakce nevznikla, jak si zde mnozí myslejí, proto, aby si u toho někdo vy*****, ale právě ke snížení složitosti (a závislostí).

  • 1. 3. 2021 11:25

    SB

    Kalisz:
    Pohohl by vaší myšlence zjednodušení a zmenšení závislostí mezi částmi systému přechod od monolitického jádra k mikrojádru?

  • 1. 3. 2021 12:57

    Adam Kalisz
    Stříbrný podporovatel

    Moje myšlenka se od typického postoji k mikrojádru docela liší. Já na striktní separaci např. souborového systému od "skutečného" jádra netrvám. Brendan Gregg např. BPF, které je už mé myšlence poměrně blízko označuje za zlom: http://www.brendangregg.com/blog/2019-12-02/bpf-a-new-type-of-software.html který možná striktní separaci monolitický vs mikro-kernel boří.

    Mezi kernelem a souborovými systémy nějaké abstrakce již dnes aspoň v Linuxu jsou. Pokud se nepletu, je tam VFS, případně různé DAX mechanismy pro přímější přístup (třeba pro perzistentní paměť nebo hodně rychlá úložiště).
    Zrovna souborové systémy by z jazyka s vyšší úrovní abstrakce mohly těžit poměrně hodně. Stávající souborové systémy tedy i v tom C spoustu různých abstrakcí, testů a všeho možného mají, ale je to z velké části custom pro Linux nebo dokonce ten souborový systém.

    Zkrátka, mikrokernel je zajímavý nápad, ale v praxi se obávám přeci jen obstojí spíše nějaký zdánlivý kompromis, kdy kernel zprostředkuje soubor nějakých hodně zoptimalizovaných a dobře prověřených komponent, které lze třeba atomicky za běhu vyměnit a které se dají skládat nad nějakou virtuální mašinou pomocí hodně vysokoúrovňového jazyka, který odstíní různé podružnosti.
    V podstatě by velké části kódu jádra vypadaly tak, že by "Linux" byl "jen" knihovna funkcí a substrát pro běh kódu.

  • 25. 2. 2021 12:00

    D.A.Tiger

    [Poleno]

    Ano, napadlo me neco podobneho. Ale porad duveruji kontrolnim mechanizmum vyvoje kernelu jako celku a porad verim tomu, ze neco takoveho by neproslo pres Linuse.

    Takze pokud by z Googlu vyslo prece jen neco uzitecneho, jenom dobre. A pokud ne, tak jim zbyde jen patch, ktery muzou aplikavot bud na svych androidich kernelech, nebo se s nim jeste tak vyfotit.

  • 25. 2. 2021 12:23

    nil nil (neregistrovaný)

    No, bohužel, Linus u toho taky nebude věčně. Nebudu si hrát na odborníka na jádro a lidi kolem něj, ale dovedu si velmi živě představit, že s následovníkem bude, abych tak řekl, jednodušší pořízení.

    Otázka je, co je užitečné. Záplaty jistě ano, vytvoření závislosi na jistých zdrojích jistě ne. Se záplatami by problém nebyl, dokud by nepřišla řeč na přepsání. Ono by se taky mohlo časem stát, že by se projekt mohl zaměřovat jenom na podporu "jistých" projektů "jisté firmy" atp. O chování big tech korporací se diskutuje už pomalu dekády a model je pořád stejný - korporace mají jasná měřítka a nějaké vyšší ideje mezi nimi nejsou, maximálně tak PR obraz ....

    PS: A to zrovna v době, kdy se v USA po posledním roku začíná velmi silně mluvit o tom, že bude potřeba vybudovat paralelní, nejspíš skutečně decentralizovanou, internetovou infrastrukturu a internet vůbec, protože dnes už prakticky "není kam utéct" pokud potřebujete a je jenom otázkou času, kdy i ISP začnou jaksi "dělat co jistá veřejnost" požaduje ...

    25. 2. 2021, 12:26 editováno autorem komentáře

  • 25. 2. 2021 20:33

    Jakub Lobodáš

    By mě zajímalo kdy opraví GOOGLE chybu v chromu, kdy GPU akcelerace na AMD 2400G (vega 11) zamrzne náhodile. (Win/Linux na obojím)
    Ale co bych chtěl.. ta chyba tam je 3 roky, ale kecat do bezpečnosti musí

  • 26. 2. 2021 9:30

    Trident

    Jak to souvisí s tématem článku? Alokace kapacit na bezpečnost jadra je důležitější pro firmu a servery.
    Nějaký blby browser se specifickou konfiguraci má nižší prioritu. Můžeš použít taky jiný browser, takže ta chyba není tak kritická pro použitelnost.

    Připomíná mi to diskusi s PO na téma proc je důležitější opravit tlačítko v browseru na blackberry místo SQL injection...

  • 26. 2. 2021 15:55

    kdave_

    Ve stádiu úvah a prototypů to bude nejmíň do doby, než rust překladač bude umět kompilovat pro většinu architektur, co teď linux má. Dost je zastaralých a asi nikdo nečeká port pro alphu nebo sparc32, ale jakmile by se rust měl dostat až do core části, tak to problém bude.

    Psát v rustu drivery pro x86 nebo arm je asi dobré, minimálně pro ověření, že to vůbec jde a případně za jakých kompromisů. Naportovat třeba VFS nebo memory management mi přijde dost obtížné, pokud chceme zachovat rychlost a vychytávky tupu RCU nebo triky s lockless algoritmy. Zde se opravdu hodí to, že C je velmi blízko strojovému kódu a tomu jak CPU pracuje s pamětí.

    Přepsat tak velké množství kódu je podle mě nerealistické, už protože by se muselo zopakovat obrovské množství testování, že ten nový nablýskaný rust dělá totéž, co to ošklivé C. Z mých zkušeností, každý zásadní přepis znamená ořezávání funkcí, protože se to nikomu nechce dělat "když to sám nepotřebuje" nebo protože nezná historii, proč tam ten kód vlastně vůbec je "tak to rovnou smažem", nebo nemá hardware na otestování "kompiluje, dobrý".

    Bez C se neobejdem a přínos spíš vidím v dodatečných mechanismech, která umožní chyby včas odchytit (canary, poisoning, vycpávky mezi buffery, API která dělá další kontroly). V linuxu už toho je teď dost, přecijen vývojáří to sami používají a tak si dopisují infrastrukturu pro debugování, ze které se občas abstrahluje něco použitelného i pro nedebugovací nasazení.

Byl pro vás článek přínosný?

Autor zprávičky

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.