abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 02:11 | Komunita

    Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.

    Ladislav Hagara | Komentářů: 0
    dnes 02:00 | Nová verze

    Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 18:33 | Nová verze

    Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.

    Ladislav Hagara | Komentářů: 0
    včera 13:55 | Nová verze

    Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.

    Ladislav Hagara | Komentářů: 0
    22.12. 23:44 | Nová verze

    Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.

    Ladislav Hagara | Komentářů: 0
    21.12. 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    21.12. 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 1
    Kdo vám letos nadělí dárek?
     (30%)
     (1%)
     (10%)
     (3%)
     (1%)
     (3%)
     (13%)
     (22%)
     (15%)
    Celkem 67 hlasů
     Komentářů: 17, poslední dnes 00:24
    Rozcestník

    Jaderné noviny - 17. 11. 2016: Témata v patchování jádra za chodu

    4. 12. 2016 | Redakce | Jaderné noviny | 2053×

    Stav vydání jádra. Citáty týdne: David Miller, Peter Zijlstra, Ingo Molnár. Témata v patchování jádra za chodu.

    Stav vydání jádra

    Současný vývojový kernel je 4.9-rc5, vydaný 13. listopadu. Linus k tomu řekl: „Objem nových věcí se rozhodně zmenšil, takže klasické vydání (kde by rc7 bylo poslední) je stále na pořadu dne, navzdory velikosti 4.9. Ale uvidíme, jak se věci vyvinou v následujících pár týdnech. Do té doby to bude spousta běžných oprav a potřebujeme více testovat.“

    Stabilní aktualizace: 4.8.7 a 4.4.31 byly vydány 10. listopadu, pak následovaly 4.8.8 a 4.4.32 15. listopadu.

    Citáty týdne

    Rozhraní síťových ovladačů od Microsoftu jsou zdokumentována tisíckrát lépe než ta v Linuxu.

    -David Miller

    Nikdy nešetřete na seznamu změn. Dokumentaci nikdo nečte.

    -Peter Zijlstra

    Co bych znovu rád měl v jádře, je volba, která by vrátila některé historické rootovací (a jiné) „díry“, které by se daly deterministicky využít – samozřejmě by byla ve výchozím stavu vypnutá.

    Omezil bych to na rozumně „deterministické“ díry a exploity samotné by mohly být někde v tools/. (Samozřejmě pouze tehdy, pokud by správci souhlasili se zahrnutím takového kódu.)

    -Ingo Molnár

    Témata v patchování jádra za chodu

    Snaha o zavedení live patchingu – patchování jádra za běhu systému – do upstreamu jádra byla úkolem na několik let. Základní podpora byla začleněna ve vydání 4.0, ale další práce se zasekly kvůli neshodám, jak by měl fungovat model konzistence, tj. kód, který zajišťuje, že patch je bezpečné aplikovat na běžící systém. Přidání validace jaderného zásobníku pomohlo vyřešit stěžejní námitku, takže se dá říct, že přišel čas posunout se kupředu. Na letošní konferenci Linux Plumbers se sešli vývojáři pracující na patchingu za chodu, aby společně probrali současné výzvy a budoucí směřování projektu.

    Tento článek není pokusem o souhrnný přehled půldenní bouřlivé diskuze. Místo toho je jeho cílem pokrýt některá ze zajímavějších témat a ukázat výzvy, které musí vývojáři pracující na patchování za chodu překonat a jak mají v plánu to udělat.

    Neužitečné optimalizace

    Chytře optimalizující překladač je nezbytný pro každého, kdo od svého kódu očekává rozumný výkon. Jenže když je překladač až příliš chytrý, vyvstávají komplikace. Vývojáři, kteří pracují s paralelismem v jádře, si z agresivních optimalizací musejí dělat hlavu už delší dobu. Podle Miroslava Beneše by se měli obávat i vývojáři funkcionality patchování za chodu. Optimalizace překladače mohou vést k drobným změnám v procesu překladu kódu, což může při aplikaci patche způsobit chaos.

    Počínaje těmi nejjednoduššími problémy, než se přesuneme k tě složitějším, Beneš poznamenal, že automatické převedení funkcí na inline může vést k problému v případě, že je potřeba inline funkci změnit patchem. V takovém případě je řešení relativně snadné, musí se změnit všechna volání dané funkce ve výsledném patchi určeném k aplikaci za chodu. Volba -fpartial-inlining může věci zkomplikovat tím, že dojde k převedení pouze části funkcí na inline, leč podstata problému zůstává stejná.

    Volba -fipa-src je o něco zrádnější v tom, že může vést k odstranění nepoužívaných parametrů funkcí nebo změnit způsob, jakým jsou parametry funkci předávány. Jiný slovy mění ABI funkce podle toho, jak funkce funguje. Patch takové funkce, který se má aplikovat za chodu, by mohl ovlivnit způsob provádění této optimalizace, což by vedlo k překvapivé změně v ABI. Dobrou zprávou je, že když se to stane, změní GCC jméno překládané funkce, takže narušení ABI je na první pohled zjevné. Jenže tím se může zabránit přímému patchování chybné funkce, takže je nutné opravit i místa, odkud je volána.

    Kód přeložený s -fipa-pure-const se může změnit podle toho, jak funkce pracuje. Pokud je považována za takovou, která nepřistupuje k paměti, překladač bude předpokládat určité věci o stavu paměti před voláním funkce a po něm. Jestliže patch změní chování funkce, tyto předpoklady již nemusí platit, takže opět bude nutné patchem opravit také místa volání.

    „Ještě šílenější“ je volba -fipa-icf, která skládá identický kód. Může způsobit úplné nahrazení funkce ekvivalentem nalezeným někde jinde v kódu. Takovou změnu je přitom složité detekovat. Skládání kódu (code folding) je problém také při odvíjení jaderného zásobníku. K jiným případům odstranění kódu může dojít v případě, že si GCC myslí, že se určitá globální proměnná během volání dané funkce nezmění. Jestliže dojde k opatchování funkce tak, že bude nově měnit globální proměnnou, může být kód volání nesprávný. Také tento druh změny je těžké detekovat. Beneš řekl, že by bylo pěkné mít možnost chtít po GCC, aby zaznamenávalo provedené optimalizace.

    Snad nejděsivější volba je -fipa-ra, která sleduje registry používané volanými funkcemi a zabraňuje ukládání těch, které se nemění. Patch volané funkce by mohl způsobit použití nového registru, což by vedlo k poškození dat ve volajících funkcích a pravděpodobně také výraznému zkrácení nepřerušeného běhu systému, o který uživatelé patchování za chodu tolik stáli. Tuto optimalizaci je velmi těžké detekovat. Může totiž být považována za změnu ABI volané funkce, ale bez změny názvu. To podle Beneše „nejsou dobré zprávy.“ Prozatím tuto optimalizaci GCC vypíná, je-li zároveň povolena volba -pg, přičemž subsystém Ftrace, který je potřeba při patchování za chodu, -pg vyžaduje. Není ovšem žádný zásadní důvod, proč by tyto dvě volby nemohly být kompatibilní, takže ke změně chování může dojít kdykoli.

    Tento seznam je podle Miroslava jen malou podmnožinou optimalizací, které mohou způsobovat problémy patchům, které mají být aplikovány za běhu. Vzhledem k tomu, že se vývojáři překladačů snaží o čím dál tím agresivnější optimalizace, bude se situace jen zhoršovat.

    Poznámka redakce: Další témata včetně sestavování patchů nebo závislostí modulů jsou rozebrána v původním článku.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    Karry avatar 5.12.2016 09:18 Karry | skóre: 10
    Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 11. 2016: Témata v patchování jádra za chodu
    Osobně mám pocit že pokud někdo přemýšlí o patchování za běhu, dělá někde něco špatně. Posledních několik let když jsem se podílel na návrhu nového systému vždy jsme to dělali tak aby výpadek jednoho stroje neohrozil běh systému jako celku...
    unzip; strip; touch; grep; finger; mount; fsck; more; yes; umount; sleep
    5.12.2016 09:38 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 11. 2016: Témata v patchování jádra za chodu
    Někde těch strojů mají tisíce - a u enterprise hardware se pět minut dá považovat za docela rychý boot.
    5.12.2016 16:16 b*d
    Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 11. 2016: Témata v patchování jádra za chodu
    To se u host OS, ktery bezi dalsich X 'microservice' containeru / virtualu dela dost blbe. Proto nemusi byt rychly, ale nemel by byt deravy.

    Ale pravdepodobne to neni u Linuxu optimatni nasazeni a lepsi bude sahnout po OS k tomu delana.

    5.12.2016 18:01 cronin | skóre: 49
    Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 11. 2016: Témata v patchování jádra za chodu
    ...a lepsi bude sahnout po OS k tomu delana.
    A to sú?
    9.12.2016 05:23 Sten
    Rozbalit Rozbalit vše Re: Jaderné noviny - 17. 11. 2016: Témata v patchování jádra za chodu
    Třeba u QNX, pokud není chyba v mikrojádře, tak jakýkoliv jaderný server (např. souborový systém či správce paměti) lze restartovat, takže není třeba měnit kód za běhu, prostě se starý zahodí a zavede nový. Ale nevím, jak je na tom s virtualizací.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.