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 09:55 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno bylo celkově 254 bezpečnostních chyb. V Oracle Java SE je například opraveno 14 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 12 z nich. V Oracle MySQL je opraveno 33 bezpečnostních chyb. Vzdáleně zneužitelné bez autentizace jsou 2 z nich.

Ladislav Hagara | Komentářů: 1
včera 23:11 | Nová verze

Byla vydána verze 8.0 linuxové distribuce Trisquel GNU/Linux. Nejnovější verze Trisquel nese kódové jméno Flidas a bude podporována do roku 2021. Výchozím prostředím je nově MATE 1.12. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).

Ladislav Hagara | Komentářů: 0
včera 16:00 | Nová verze

Byla vydána nová verze 27.9.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání. Jedná se o poslední větší aktualizaci verze 27. Vývojáři se zaměří na novou verzi 28.

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

Google Chrome 66 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 66.0.3359.117 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 62 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 0
včera 06:00 | Nová verze

Byla vydána druhá RC verze nové řady 2.10 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP. Přehled novinek i s náhledy v oznámení o vydání.

Ladislav Hagara | Komentářů: 0
17.4. 23:39 | Pozvánky

Již tento čtvrtek (19. 4.) se v posluchárně 107 na Fakultě informačních technologií ČVUT v Praze Dejvicích odehraje večer s Turrisem, tentokrát zaměřený na nový modulární router MOX. Mluvit o něm budou Patrick Zandl a Ondřej Filip, ale bude i prostor pro dotazy a diskuzi s vývojáři. Akce začíná v 18:00 a plánovaný konec je v 19:45. Mapka, kde se nachází daná posluchárna, a možnost registrace je k dispozici na webu CZ.NIC.

Miška | Komentářů: 0
17.4. 23:11 | Nová verze

Byla vydána nová stabilní verze 1.14.0 webového serveru a reverzní proxy nginx (Wikipedie). Verze 1.14.0 vychází rok po vydání verze 1.12.0 a přináší řadu nových vlastností. Zdůraznit lze modul mirror, HTTP/2 push a gRPC proxy. Podrobnosti v seznamu změn (CHANGES-1.14).

Ladislav Hagara | Komentářů: 0
17.4. 16:22 | IT novinky

Google aktualizoval hardwarové kity AIY (Do-it-yourself artificial intelligence) umožňující vývojářům rozšířit své projekty o rozpoznávání obrazu a hlasové ovládání. Vision Kit i Voice Kit nově obsahují Raspberry Pi Zero WH, USB kabel a SD kartu. Vision Kit navíc Raspberry Pi Camera v2. Kity spolupracují s aplikací pro Android. Vision Kit bude v prodeji za 89,99 dolarů a Voice Kit za 49,99 dolarů.

Ladislav Hagara | Komentářů: 2
17.4. 14:33 | Komunita

Byly vyhlášeny výsledky letošní volby vedoucího projektu Debian (DPL). Staronovým vedoucím zůstává Chris Lamb (Twitter).

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

Po více než 8 letech byla vydána nová stabilní verze 2.2.0 kolekce aktuálně 1061 karetních her typu Solitaire PysolFC (PySol Fan Club Edition).

Ladislav Hagara | Komentářů: 0
Používáte na serverech port knocking?
 (2%)
 (8%)
 (48%)
 (26%)
 (16%)
Celkem 317 hlasů
 Komentářů: 29, poslední 5.4. 12:25
    Rozcestník

    Jaderné noviny – 2. 6. 2017: Vstříc neblokujícímu asynchronnímu I/O

    24. 6. 2017 | Redakce | Jaderné noviny | 3576×

    Stav vydání jádra. Mechanismus pro zachytávání upcallů jádra. Citáty týdne: Daniel Vetter, Casey Schaufler, Michael Kerrisk. Vstříc neblokujícímu asynchronnímu I/O.

    Stav vydání jádra

    Současné vývojové jádro je 4.12-rc3, vydané 28. května. Abychom citovali Linuse: „Hele, pořád to vypadá dobře a rc3 ani není moc velké. Doufám, že nás nečeká žádné překvapení, ale zatím to vypadá na příjemně klidný vývojový cyklus, velikosti začleňovacího okna navzdory.“

    Stabilní aktualizace: 4.11.3, 4.9.30, 4.4.70 a 3.18.55 byly vydány 25. května.

    Mechanismus pro zachytávání upcallů jádra

    Nedávný článek Kontejnery jako jaderné objekty se věnoval pokusu o přidání formálního konceptu „kontejner“ do jádra, částečně jako způsob, jak zajistit běh jaderných upcallů (volání z jádra do programu v uživatelském prostoru) ve správných jmenných prostorech. Nyní je David Howells zpět s jiným přístupem: způsobem, jak by mohl proces démona zachytávat a spravovat upcally s určitým klíčem.

    Konkrétně systémové volání keyctl() je vylepšeno o příkaz KEYCTL_SERVICE_CREATE, který vrací speciální popisovač souboru. Následující volání mohou přidávat „filtry“ popisující upcally, které mají být zachyceny. Ty jsou popsány jménem a skupinou příznaků označujících množinu relevantních jmenných prostorů. Pokud se jmenné prostory volajícího programu shodují s těmi procesu, který upcall vytváří, bude programu povoleno zpracovat dané volání. Podrobnější popis toho, jak to funguje, najdete v příspěvku s patchem.

    Citáty týdne

    Být jedinečná sněhová vločka ve velké komunitě, jakou ta okolo jádra je, je občas nezbytné, protože když dělají všichni totéž, celá komunita se nic nového nenaučí.

    Daniel Vetter

    V praxi jsou whitelisty sestavovány tak, že na začátku je na nich všechno a postupně se odmazávají položky, dokud věci nepřestanou pracovat, potom jsou příslušné položky vráceny zpět. Whitelisty jsou teoreticky skvělé, ale je těžké je sestavit a v reálném světě také udržovat.

    Casey Schaufler

    Souhlasím s tím, že se jedná o zvláštní scénář. Ovšem programátoři uživatelského prostoru přečíslují jaderné vývojáře 10 000 ku 1 a časem přijdou na všechny možné způsoby, jak API kreativně využít, pokud se jim „bude hodit.“

    Michael Kerrisk (díky Dimitriji Safonovi)

    Vstříc neblokujícímu asynchronnímu I/O

    Linuxová vrstva asynchronního I/O (AIO) mívá hodně kritiků a málo zastánců, ale většina lidí alespoň očekává, že bude skutečně asynchronní. Ve skutečnosti může být operace AIO blokující v jádře z vícero důvodů, což vede k tomu, že je AIO obtížné použít v situacích, kdy si volající vlákno skutečně nemůže dovolit blokovat. Přetrvávající sada patchů, která by měla situaci zlepšit, se blíží svému dokončení, ale jde spíše o krok správným směrem než o skutečně řešení problému.

    K provedení AIO musí program nastavit kontext I/O pomocí io_setup(), vyplnit jednu nebo více struktur iocb popisujících operace, které se mají provést, potom tyto struktury odeslat pomocí io_submit(). Volání io_getevents() se dá použít ke zjištění stavu nevyřízených I/O operacích – a volitelně také počkání na ně. Všechna tato systémová volání, s výjimkou posledního, by měla být neblokující. Ve skutečnosti je to složitější. Přidělení paměti nebo zabrání zámku může způsobit blokování libovolnou operací AIO, a to dříve než dojde k zahájení přenosu dat. Dokonce i v nejlepším případě (I/O přímo do/z souboru) může samotná operace blokovat na více místech.

    Sada patchů nečekajícího AIO Goldwyna Rodriguese se snaží tuto situaci vylepšit hned několika způsoby. Nečiní AIO asynchronnějším, ale vede k selhání AIO operací s chybami EAGAIN namísto blokování v řadě situací. Pokud je program na podobné chyby připravený, může se aktivně pokusit předložit I/O v hlavním vlákně. Pak se bude muset pouze uchýlit do samostatného zadávacího vlákna v případech, kdy by operace blokovala.

    Pokud je program navržen, aby používal nečekající AIO, musí to dát najevo nastavením nového příznaku IOCB_RW_FLAG_NOWAIT ve struktuře iocb. Tato struktura má pole (aio_flags), která má obsahovat pouze tyto typy příznaků, ale je v tom háček: jádro aktuálně v tomto poli nekontroluje neznámé příznaky. To znemožňuje přidání nového příznaku, protože volající program nemůže nikdy vědět, zda jádro, na kterém běží, tento příznak podporuje či nikoli. Naštěstí tato struktura obsahuje několik rezervovaných polí, která v současných jádrech jsou kontrolována. Pole dříve známé jako aio_reserved1 je v této sadě patchů změněno na aio_rw_flags a používáno pro nový příznak.

    Jedním z míst, kde může I/O požadavek blokovat, je operace, která spustí operaci zpětného zápisu. V takovém případě bude požadavek zdržen až do dokončení zpětného zápisu. Toto čekání se projeví na začátku procesu podání požadavku, konkrétně k němu může dojít před dokončením io_submit() a jeho vrácením. Nastavení příznaku IOCB_RW_FLAG_NOWAIT způsobí, že podání požadavku v tomto případě selže s EAGAIN.

    Dalším běžným místem blokování je zadání I/O požadavku na blokové úrovni: ten může být pozastaven, protože příslušné blokové zařízení je zaneprázdněné. Možnost, jak se tomu vyhnout, zahrnuje vytvoření nového příznaku REQ_NOWAIT, který je možné nastavit ve struktuře BIO, která se používá k popisu požadavků na blokové I/O. Pokud je tento příznak přítomen, I/O požadavek opět místo blokování čekáním na blokové zařízení selže s chybou EAGAIN.

    Podpora je nutná také na úrovni souborového systému, každý souborový systém má svá vlastní místa, kde může vykonání blokovat cestu k zadání požadavku. Sada patchů obsahuje podporu Btrfs, ext4 a XFS. V každém případě situace, jako je neschopnost získat zámek na příslušném inode, způsobí selhání požadavku.

    Všechny tyto práce mohou AIO vylepšit, ale pouze pro omezený počet případů užití. Zlepšuje například pouze přímé I/O. I/O s vyrovnávací pamětí (buffered I/O), které bylo vždy ve vrstvě AIO spíše občanem druhé kategorie, se nemění – je příliš mnoho míst, kde může dojít k blokování, a není síla vyřešit je všechna. Obdobně neexistuje podpora síťových souborových systémů nebo souborových systémů na MD a LVM oddílech — ačkoliv Rodrigues plánuje někdy v budoucnu některá z těchto míst časem zaplnit.

    Jinými slovy se zdá, že AIO zůstane užitečným jen pro těch několik aplikací, které provádějí I/O přímo nad soubory. V minulosti došlo k řadě pokusů o zlepšení situace, včetně fibrilů, threadletů, sysletů, acall a reimplementace AIO založené na jaderných vláknech, provedené původním autorem AIO. Ani jeden z těchto pokusů ovšem nikdy nedosáhl stavu, kdy by bylo zvažováno jeho začlenění do hlavního repozitáře. Existuje příliš mnoho choulostivých detailů, které je třeba vyřešit, než bude možné implementovat kompletní řešení, a zatím nikdo neshledal tento úkol natolik důležitým, aby ospravedlnil značnou práci, kterou je třeba vynaložit na řešení tohoto problému. Takže jádro se asi bude i nadále plazit kupředu s inkrementálními vylepšeními AIO.

           

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

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