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í
×

včera 15:33 | Nová verze

Byla vydána verze 17.08.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi. Aplikace kmag, kmousetool, kgoldrunner, kigo, konquest, kreversi, ksnakeduel, kspaceduel, ksudoku, kubrick, lskat a umbrello byly portovány na KDE Frameworks 5.

Ladislav Hagara | Komentářů: 0
včera 15:11 | Nová verze

Simon Long představil na blogu Raspberry Pi novou verzi 2017-08-16 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Nejnovější Raspbian je založen na Debianu 9 Stretch. Přehled novinek v poznámkách k vydání. Řešena je také bezpečnostní chyba Broadpwn (CVE-2017-9417).

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

Byla vydána verze 3.2.0 programu pro skicování, malování a úpravu obrázků Krita. Přehled novinek v poznámkách k vydání a na YouTube.

Ladislav Hagara | Komentářů: 0
včera 11:44 | IT novinky

Minulý týden na šampionátu The International 2017 byl představen bot, který poráží profesionální hráče počítačové hry Dota 2. V nejnovějším příspěvku na blogu se organizace OpenAI o projektu více rozepsala a zveřejnila videozáznamy několika soubojů.

Ladislav Hagara | Komentářů: 4
16.8. 17:11 | Komunita

Byly zveřejněny videozáznamy přednášek z Fedora 26 Release Party konané 10. srpna v Praze.

Ladislav Hagara | Komentářů: 0
16.8. 15:33 | Komunita

Přesně před čtyřiadvaceti lety, 16. srpna 1993, oznámil Ian Murdock vydání "Debian Linux Release".

Ladislav Hagara | Komentářů: 5
16.8. 06:00 | Bezpečnostní upozornění

Ve virtualizačním softwaru Xen bylo nalezeno a opraveno 5 bezpečnostních chyb XSA-226 až XSA-230. Nejzávažnější z nich XSA-227 (CVE-2017-12137) umožňuje eskalaci privilegií a ovládnutí celého systému, tj. správce hostovaného systému se může stát správcem hostitelského systému.

Ladislav Hagara | Komentářů: 1
15.8. 22:00 | Zajímavý projekt

V roce 2013 proběhla na Kickstarteru úspěšná kampaň na podporu otevřeného Dobře temperovaného klavíru (Well-Tempered Clavier). Stejný tým s Kimiko Išizaka spustil před týdnem na Kickstarteru kampaň Libre Art of the Fugue na podporu svobodného Umění fugy.

Ladislav Hagara | Komentářů: 2
15.8. 13:55 | Pozvánky

Spolek OpenAlt zve příznivce otevřených technologií a otevřeného přístupu na 143. brněnský sraz, který proběhne v pátek 18. srpna od 18:00 hodin ve sportovním areálu a restauraci BeachPub Sokolák u Brněnské přehrady aneb v hantecu u Prýglu.

Ladislav Hagara | Komentářů: 0
15.8. 10:55 | Nová verze

Byla vydána (pdf) verze 3 průběžně aktualizované (rolling release) linuxové distribuce Solus (Wikipedie). Ke stažení je v edicích Budgie, GNOME a MATE. Z novinek lze zmínit například podporu snapů. Solus 3 obsahuje Firefox 55.0.1, LibreOffice 5.4.0.3, Rhythmbox 3.4.1 nebo Thunderbird 52.2.1. Edice Budgie a GNOME přichází s GNOME MPV 0.12. Edice MATE s VLC 2.2.6.

Ladislav Hagara | Komentářů: 5
Těžíte nějakou kryptoměnu?
 (4%)
 (2%)
 (17%)
 (77%)
Celkem 346 hlasů
 Komentářů: 21, poslední 13.8. 09:57
    Rozcestník

    Jaderné noviny – 25. 5. 2017: Přehodnocení „příliš malý, než aby selhal“

    15.6. | Redakce | Jaderné noviny | 3526×

    Stav vydání jádra. Citát týdne: James Bottomley. Přehodnocení „příliš malý, než aby selhal“.

    Stav vydání jádra

    Současné vývojové jádro 4.12-rc2 bylo vydáno 21. května. Linus řekl: „Jsem zpět u obvyklého časového plánu s nedělním vydáním a všechno vypadá celkem normálně. Toto rc2 je možná o něco větší než obvykle, ale celé začleňovací okno bylo větší než bývá, takže to je možná tím. A není až tak velké.“

    Stabilní aktualizace: 4.11.2, 4.10.17, 4.9.29, 4.4.69 a 3.18.54 byly vydány 20. května.

    Velké aktualizace 4.11.3, 4.9.30, 4.4.70 a 3.18.55 byly v době psaní tohoto článku v procesu revidování, vydány byly 25. května.

    Citát týdne

    Kontejnery jsou mnohavrstvé a složité. Pokud na to jako uživatelé nejste připraveni, pak byste měli použít orchestrační systém, který zabrání, abyste něco pokazili.

    James Bottomley

    Přehodnocení „příliš malý, než aby selhal“

    V roce 2014 vyvolalo rozruch zjištění, že jaderný subsystém správy paměti neumožňuje relativně malým žádostem o alokaci selhat. Diskuze se od té doby uklidnila, ale pravidlo „příliš malý, než aby selhal“ stále vyvolává v jaderné komunitě jisté zmatky, jak dokládá nedávná diskuze inspirovaná začleňovacím oknem 4.12. Zdá by se, že pravidlo stále platí, ale vývojáři jsou žádáni, aby se chovali, jakoby tomu tak nebylo.

    Na začátku tehdejší diskuze popsal vývojář správy paměti Michal Hocko „nepsané pravidlo“, že malé alokace nikdy neselhávají. „Malost“ určuje jaderná konstanta PAGE_ALLOC_COSTLY_ORDER – obvykle nastavená na tři – práh na většině systémů je tím pádem osm stránek, resp. 32 kB. Téměř všechny alokace paměti v jádře jsou menší (byla vynaloženo nemalé úsilí udržet je do velikosti jedné stránky), takže v důsledku pokusy o alokaci paměti téměř nikdy neselhávají.

    To způsobilo nespokojenost hned z několika důvodů. Jedním z nich je, že jaderným vývojářům je od začátku tlačeno, že každá alokace paměti může selhat, takže místa, kde mohlo dojít k selhání, pečlivě ošetřovali, ačkoliv se tento kód nikdy nepoužije. Toto pravidlo může také způsobit, že jádro bude dělat nepříjemné věci – jako například vyvolání obávaného out-of-memory zabijáka – místo toho, aby došlo k selhání požadavku, a to i v případě, kdy je žádající kód připraven se se selháním alokace důstojně vypořádat. Návrhy na změnu tohoto pravidla vždy ztroskotaly z obavy, že povolení selhání alokací by odhalilo chyby napříč jádrem. Většina kódu řešícího selhání dost možná dosud nikdy nebyla vykonána – nebo nemusí vůbec existovat. Takže chování „příliš malý, než aby selhal“ zatím zůstává.

    Žádost o začlenění oprav NFS klientu Tronda Myklebusta obsahuje řádek: „Vyčištění a odstranění některých ošetření selhání paměti, když GFP_NOFS teď zaručuje, že nikdy neselže.“ Ten popis byl nepřesný: daný kód používá mempool, který alokuje paměť předem a pokud se používá správně, může skutečně zaručit, že k selhání alokace nedojde. Ale to stačilo, aby se Nikolaj Borisov zeptal, zda to skutečně zaručí úspěch alokace. Pokud ano, bylo by možné z jádra odstranit mnoho nepotřebného kódu ošetřujícího chyby. Hocko odpověděl, že zatímco „malé alokace _v praxi_ nikdy neselžou,“ toto chování není ničím zaručeno a odstranění ošetření selhání alokace je „prostě špatně“.

    Myklebust nebyl s touto odpovědí zcela spokojen, požádal o jasné prohlášení, že malé alokace mohou selhat. Toho se mu nedostalo. Místo toho Hocko odpověděl:

    Byli bychom raději, kdyby tyto požadavky opravdu selhaly. Snažil jsem se o to v minulosti, ale bylo to považováno za příliš nebezpečné, protože by kvůli chování při selhání musely být zkontrolovány _všechny_ případy v jádře. Takže radši udržujeme status quo.

    Status quo – informovat vývojáře, aby byli připraveni na selhání alokací, aniž by k selhání požadavků o alokací skutečně docházelo – je pro všechny, kdo se této diskuze účastní, dosti nepříjemný. V mnoha částech jádra představuje ošetřování chyb velký podíl objemu kódu. Kód může být složité napsat a ještě složitější otestovat. Bývá frustrující být požádán připravit se na situaci, která nikdy nestane.

    Vývojáři správy paměti ale toto chování nemohou jen tak změnit. Není pochyb, že v jádře s tisíci nikdy neprovedených, nikdy netestovaných kusů kódu ošetřujícího chyby, budou některé z nich obsahovat chyby. Audit jádra a ověření všech těchto míst by nebylo malým úkolem, mírně řečeno. Možná to není vůbec proveditelné. Co se dělat, je ověřovat a opravovat kód kousek po kousku. Takto byl v roce 2011 konečně odstraněn velký jaderný zámek (big kernel lock, BKL). Tato práce pokračovala tím, že byly postupně odstraňovány závislosti na BKL z malých částí kódu, až ho nakonec nic nepotřebovalo. Trvalo to mnoho let, ale podařilo se.

    V případě selhání alokace paměti nebude ověření kódu vždy snadné. Framework pro zavádění chyb se ale dá použít k vynucení alokačních chyb, což může pomoci při testování ošetření kódu. U kódu, který se považuje za správně připravený, lze chování „nikdy neselže“ vypnout v libovolné podané žádosti o alokaci jednoduše přidělením příznaku __GFP_NORETRY, což bylo provedeno ve zhruba stovce alokačních volání v jádře 4.12-rc1. Zda se tento příznak rozšíří do větší části jádra, zůstává otázkou. Stejně jako při procesu odstraňování BKL bude pravděpodobně zapotřebí pomoci skupiny vývojářů ochotné úkolu věnovat hodně času.

    Jaderná komunita provádí změny vnitřního API pravidelně. Většinou se jedná o prosté editování kódu nebo použití skriptů Coccinelle. Ale jemné sémantické změny jsou náročnější a vyloučení chování „příliš malý, než aby selhal“ se za takovou změnu jistě považuje. Čím déle v jádře zůstane, tím více kód pravděpodobně zakoření, ale neexistují žádné náznaky, že by se to brzy mohlo změnit.

           

    Hodnocení: 86 %

            š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ář

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