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 21:44 | Nová verze

Po roce vývoje od vydání verze 11.0 byla vydána nová verze 12.0 a krátce nato 12.0.1 open source alternativy GitHubu, tj. softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech, GitLab (Wikipedie). Představení nových vlastností v příspěvku na blogu.

Ladislav Hagara | Komentářů: 0
včera 17:00 | Zajímavý článek

Článek na webu OSTechNix ve stručnosti popisuje technologie „balení“ aplikací AppImage, Snap a Flatpak: jejich stěžejní vlastnosti a rozdíly mezi nimi. Text se nezabývá správci balíčků Guix či Nix, ani tradičními distribučními správci balíčků jako APT, YUM aj.

Fluttershy, yay! | Komentářů: 0
včera 11:00 | Zajímavý článek

Národní centrum kybernetické bezpečnosti aktualizovalo bezpečnostní doporučení pro síťové správce (pdf). Tato doporučení jsou nastavena tak, aby je bylo možné aplikovat pokud možno v každé instituci. Doporučení jsou opět rozdělena do tří základních částí: bezpečnost infrastruktury, bezpečnost stanic a serverů a bezpečnost uživatelů.

Ladislav Hagara | Komentářů: 4
včera 09:11 | Komunita

Nedávno byla představena publikační platforma people.kernel.org. Své zápisky zde mohou publikovat vývojáři jádra Linux. Řešení je postaveno na WriteFreely a Write.as.

Ladislav Hagara | Komentářů: 0
24.6. 12:11 | Nová verze

Byla vydána nová verze 2019-06-20 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Nejnovější verze Raspbianu vychází z Debianu 10 s kódovým názvem Buster a přináší především podporu Raspberry Pi 4 Model B.

Ladislav Hagara | Komentářů: 1
24.6. 10:55 | Zajímavý článek

Vývojáři postmarketOS (GitLab) hodnotí dva roky vývoje tohoto v květnu 2017 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 [reddit, Hacker News].

Ladislav Hagara | Komentářů: 0
24.6. 10:11 | IT novinky

Nadace Raspberry Pi na svém blogu oficiálně představila (YouTube) jednodeskový počítač Raspberry Pi 4 Model B. K dispozici je ve třech verzích: 1 GB, 2 GB a 4 GB RAM. Cena začíná na 35 dolarech za verzi s 1 GB RAM. Nejnovější Raspberry Pi podporuje 2 monitory a rozlišení 4K.

Ladislav Hagara | Komentářů: 29
23.6. 18:22 | Komunita

Oznámení, že Ubuntu od vydání 19.10 nebude distribuovat 32bitové balíčky (ani multilib) a uživatelé mohou použít virtualizaci či kontejnery LXD, se setkalo s vlnou nevole, mj. protože i řada 64bitových aplikací využívá 32bitový instalátor. Vývojáři Wine a Steamu oznámili, že zřejmě přestanou Ubuntu od vydání 19.10 podporovat. Diskuze na Redditu: [Wine], [Steam].

Fluttershy, yay! | Komentářů: 58
22.6. 16:11 | IT novinky

Nový open source Windows Terminal představený na vývojářské konferenci Microsoft Build 2019 lze již instalovat z Microsoft Store. Podrobnosti v příspěvku na blogu Microsoftu.

Ladislav Hagara | Komentářů: 11
21.6. 13:11 | Zajímavý projekt

Článek na OMG! Ubuntu! představuje projekt Wayfire, jehož cílem je vývoj kompozitního správce oken inspirovaného Compizem běžícího nad Waylandem. Videoukázky na YouTube. Zdrojové kódy na GitHubu.

Ladislav Hagara | Komentářů: 9
Jakou verzi jádra Linux typicky používáte na osobním počítači?
 (17%)
 (20%)
 (55%)
 (3%)
 (4%)
Celkem 361 hlasů
 Komentářů: 9, poslední 21.6. 14:42
Rozcestník

Jaderné noviny – 5. 7. 2018: Pohled na hack MAP_SHARED_VALIDATE

17. 7. 2018 | David Kolibáč | Jaderné noviny | 2849×

Stav vydání jádra. Huston: o dalších 10 let později. Patche poll() staženy. Citáty týdne: Dave Chinner a Daniel Vetter. Pohled na hack MAP_SHARED_VALIDATE.

Stav vydání jádra

Kernel release status. Jonathan Corbet. 3. července 2018

Současné vývojové jádro je 4.18-rc3, vydané 1. července. Linusova slova: „A vypadá to celkem normálně – něco přes třetinu jsou ovladače (různé: vstupní zařízení, usb, zvuková zařízení, gpu, mtd, sítě,…) a zbytek aktualizace architektur (arm/arm64 – dominují jim soubory stromů zařízení, microblaze, powerpc, x86), souborové systémy (xfs, trochu btrfs, drobnosti v jádře vfs), sítě, aktualizace dokumentace a nástroje okolo.“

Stabilní aktualizace: 4.17.4, 4.14.53, 4.9.111, 4.4.139 a 3.18.114 byly vydány 3. července.

Huston: o dalších 10 let později

Huston: Another 10 years later. Jonathan Corbet. 28. června 2018

Za přečtení stojí, co sepsal Geoff Huston o tom, jak se posledních deset let vyvíjely a kam by mohly směřovat sítě. „Možná, že tento větší odpor ke změnám je způsoben růstem velikosti sítě, její setrvačná hmotnost také roste. Kdysi jsme si navzájem citovali Metcalfeho zákon, opakovali jsme si mantru, že „hodnota“ sítě kvadraticky roste s počtem uživatelů. S tím souvisí pozorování, že odpor sítě ke změnám, vlastně setrvačná hmotnost, také přímo závisí na druhé mocnině počtu uživatelů.“

Patche poll() staženy

poll() patches pulled. Jonathan Corbet. 3. července 2018

Jak se psalo v článku Zrušení daně poll(), patche, které přidávají polling subsystému asynchronního I/O (AIO), byly sice začleněny pro vydání 4.18, ale přinesly se sebou nepříjemnou výkonnostní regresi. Proběhla diskuze, jaké změny provést, aby se dopady zmírnily, ovšem Linus Torvalds závěrem vrátil celou skupinu změn z hlavního stromu. Takže nakonec ve vydání 4.18 přeci jen žádné nové rozhraní pro polling nebude.

Torvalds k patchům měl řadu připomínek, a to i k přidaným nepřímým voláním funkcí, která právě způsobovala problémy s výkonem. Ale nezdála se mu ani změna implementace poll() na úroveň virtuálního souborového systému: nelíbilo se mu obnažení některých nízkoúrovňových detailů. Náhrada této skupiny patchů tedy bude muset zvolit jiný přístup, který ponechá stávající mechanismus a variantu s AIO přidá zvlášť. Zůstaňte na příjmu.

Citáty týdne

Quotes of the week. Jonathan Corbet. 4. července 2018

To je ten skutečný problém – přimět uživatelský prostor, aby používal všechny urychlovací bity, které poskytujeme. Jak dlouho už máme rozhraní splice, která umožňují efektivně kopírovat data, aniž by musela procházet uživatelským prostorem? Jeden by si myslel, že používat tato API je samozřejmost, ale nepoužívá je vůbec nikdo. Mám podezření, že s copy_file_range() a podobným pokrokem v API AIO+DIO se stane to samé…

Dave Chinner

Obhajoba stručnosti jako efektivního způsobu komunikace se vrací jako bumerang, protože, aspoň já mám takovou zkušenost, vede potenciální dobrovolníky k tomu, aby šli jinam, kde budou spíše vítáni.

Daniel Vetter

Pohled na hack MAP_SHARED_VALIDATE

Revisiting the MAP_SHARED_VALIDATE hack. Jonathan Corbet. 29. června 2018

Jedna z nejčastějších chyb v návrhu systémových volání je opomenutí kontroly neznámých příznaků, pokud volání příznaky přijímá. Stane-li se někdy, že volající mohou nastavit neznámé příznaky, přidávání nových příznaků se stává minovým polem. Ovšem v případě mmap() vývojáři přišli na chytrou obezličku, jak se tomu vyhnout. Nedávná diskuze pak tento přístup zpochybnila a nadhodila otázku, co je to vlastně regrese v jádře. Žádné změny se sice v důsledku nechystají, ale tato debata poskytuje příležitost jednak se podívat na tento hack, jednak sledovat, jak se jaderná komunita rozhodne, zda je změna regrese, či nikoliv.

V roce 2017 se několik vývojářů snažilo přijít na to, jak umožnit bezpečný přímý přístup uživatelského prostoru k souborům uložených na zařízení s nevolatilní pamětí. Příslušný hardware sice procesoru umožňuje paměť adresovat přímo, ale kdyby souborový systém současně změnil uspořádání bloků, veškeré změny by přišly vniveč. Jako řešení se objevil nový příznak MAP_SYNC volání mmap(). Když se soubor (uložený na zařízení s nevolatilní pamětí) namapuje s tímto příznakem, jádro si dá záležet, aby zajistilo, že nedojde ke střetu přístupu k mapování a změn na úrovni souborového systému. Z pohledu aplikací tento příznak problém řeší.

Nebo řešil by, kdyby nebylo onoho problému s neznámými příznaky, který mmap() provází od samého začátku. mmap() (jak káže letitá praxe) nesmí vrátit chybu, když dostane neznámé příznaky. Jedna možná komplikace plynoucí z přidávání nových příznaků k takovém systémovému volání je, že pokud některý program z nějakých důvodů už příznak MAP_SYNC používal, mohlo by se změnit jeho chování. To by v tomto případě neměl být zásadní problém. Co je vážnější, aplikace nemají možnost zjistit, zda jádro, na kterém běží, vůbec příznak MAP_SYNC podporuje, protože všechna jádra při volání s ním vrátí kód odpovídající úspěchu. Jestliže tedy integrita dat aplikace závisí na použití MAP_SYNC, aplikace potřebuje vědět, zda je tato funkce vůbec podporována – jenže mmap() neposkytuje žádný způsob, jak to zjistit.

Řešení vyplynulo z toho, že mmap() vlastně podporuje dva vzájemně se vylučující příznaky: MAP_SHARED a MAP_PRIVATE. Volání mmap() s oběma příznaky tedy selže, takže žádný funkční program jej takto nepoužívá. Tato kombinace je tudiž potenciálně k dispozici pro jiné způsoby použití. Tento commit přidal nový „příznak“ nazvaný MAP_SHARED_VALIDATE, který je definován jako kombinace MAP_SHARED a MAP_PRIVATE, tzn. vyžádá si vytvoření sdíleného mapování, ale současně také explicitní ověření všech ostatních poskytnutých příznaků volání. Souborové systémy a ovladače zařízení mohou jádru (pomocí pole mmap_supported_flags ve struktuře file_operations) sdělit, že podporují příznaky nad rámec těch „historických“. Nedostane-li jádro tuto informaci, shledá, že tyto příznaky podporovány nejsou a (v případě použití MAP_SHARED_VALIDATE) nechá všechna volání, která se pokusí je použít, selhat.

Oba příznaky, MAP_SYNC a MAP_SHARED_VALIDATE, byly začleněny do vydání 4.15. Aplikace, která je ve volání mmap() použije oba, si může být jistá, že MAP_SYNC je opravdu podporován jak jádrem, tak souborovým systémem, ve kterém je namapovaný soubor uložený. Jinými slovy, jaderná komunita našla způsob, jak přidat (volitelné) ověřování příznaků systémovému volání, u nějž se tradičně tato kontrola neprovádí.

Nedávno ovšem Eric Sandeen na MAP_SHARED_VALIDATE narazil a uvědomil si, že jeho přidáním se chování mmap() možná překvapivě změnilo. Dříve předání MAP_SHARED a MAP_PRIVATE způsobilo selhání volání mmap(), nově však může uspět, tzn. nějaká aplikace mohla předávat tuto dvojici příznaků (aniž by tušila o existenci MAP_SHARED_VALIDATE) s jiným výsledkem než nyní. Sandeen tuto změnu nazval „regresí“ a sepsal patch, který navrací původní chování v situaci, kdy chybí příznaky mimo onu „historickou“ skupinu, neboli MAP_SHARED_VALIDATE selže, pokud nejde ověřit žádné zvláštní příznaky.

Tento patch ale začleněn nebude. Linus Torvalds zdůraznil, že změna chování sama o sobě není regresí. Aby o regresi šlo, změna by musela rozbít dříve funkční programy. Bity, ze kterých se MAP_SHARED_VALIDATE skládá, byly vybrány právě proto, že žádný program, který je takto používal, nemohl být funkční, a tak se změnou ani nemohl rozbít. Torvalds to popsal jako logicky ekvivalentní přidání nového systémového volání: programy, které ho zkoušely volat, než bylo přidáno, se nepochybně dočkají změny chování, ale těžko to nazvat regresí.

Sandeenův patch by místo toho mohl způsobit selhání dnes funkčních volání mmap(), některá aplikace totiž možná používá MAP_SHARED_VALIDATE, ale už ne další příznaky vyžadující ověření. To by regrese byla. Takže chování MAP_SHARED_VALIDATE se nezmění, dokud se neobjeví zprávy o rozbitých aplikacích (což se nejspíš nestane).

Zkušenosti ukazují, že programy mohou záviset na sebemenších detailech chování systému – již mnohokrát se vynořil Hyrumův zákon. Ale za těch šest měsíců od vydání 4.15 nebyly nahlášeny žádné problémy, tím pádem se zdá pravděpodobné, že tato konkrétní změna se obejde bez regresí. Jedna věc by však opravena být měla: manuálová stránka mmap() stále tvrdí, že výsledkem předání MAP_SHARED a MAP_PRIVATE současně je chyba, což teď už není pravda. To je naštěstí snadno řešitelný problém.

       

Hodnocení: 80 %

        špatnédobré        

Nástroje: Tisk bez diskuse

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

Diskuse k tomuto článku

Vložit první komentář
ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.