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 23:43 | IT novinky

    Evropská komise (EK) předběžně shledala čínskou sociální síť pro sdílení krátkých videí TikTok návykovým designem v rozporu s unijním nařízením o digitálních službách (DSA). Komise, která je exekutivním orgánem Evropské unie a má rozsáhlé pravomoci, o tom informovala v tiskovém sdělení. TikTok v reakci uvedl, že EK o platformě vykreslila podle něj zcela nepravdivý obraz, a proto se bude bránit.… více »

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

    Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč běžící v terminálu a podporující také protokoly Gemini, Gopher a RSS. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.

    Ladislav Hagara | Komentářů: 0
    včera 18:22 | Zajímavý projekt

    Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.

    NUKE GAZA! 🎆 | Komentářů: 0
    včera 12:44 | Bezpečnostní upozornění

    Zpráva Justičního výboru Sněmovny reprezentantů upozorňuje na cenzurní kampaň Evropské komise, mířenou proti svobodě projevu na sociálních sítích. V dokumentu se uvádí, že se Evropská komise během posledních šesti let účastnila více než 100 uzavřených jednání, během nichž po platformách požadovala úpravy pravidel moderování obsahu, přičemž toto úsilí Komise zahrnovalo i cenzuru politických názorů a pravdivých informací. Výbor zdůrazňuje, že tento přístup Bruselu ohrožuje ústavou zaručená práva Američanů na svobodu projevu.

    NUKE GAZA! 🎆 | Komentářů: 11
    včera 04:33 | Nová verze

    Linus Torvalds vydal jádro Linux 6.19. Podrobný výčet změn je ke zhlédnutí na stránce Kernel Newbies, stručné výběry v LWN (část první, druhá).

    |🇵🇸 | Komentářů: 0
    8.2. 03:33 | IT novinky

    Do prodeje jde tichá bezdrátová herní myš Logitech PRO X2 SUPERSTRIKE s analogovými spínači s haptickou odezvou (HITS, Haptic Inductive Trigger System). Cena je 4 459 Kč.

    Ladislav Hagara | Komentářů: 8
    7.2. 21:00 | Zajímavý projekt

    Microsoft na GitHubu zveřejnil zdrojový kód projektu LiteBox, jedná se o 'knihovní operační systém' (library OS) zaměřený na bezpečnost, využívající systémovou architekturu LVBS k ochraně jádra před útoky z uživatelského prostoru. LiteBox je napsán v Rustu a uvolněný pod licencí MIT. Projekt je teprve v rané fázi vývoje.

    NUKE GAZA! 🎆 | Komentářů: 3
    7.2. 16:11 | Zajímavý software

    BreezyBox je open-source shell a virtuální terminál pro populární jednočip ESP32. Nabízí základní unixové příkazy, sledování aktuálního pracovního adresáře (CWD), jednoduchý instalátor a spouštěč aplikací v podobě ELF binárních souborů, zabudovaný HTTP server nebo třeba ovládání WiFi - ukázka použití coby 'malého osobního počítače'. Ačkoliv je BreezyBox inspirovaný BusyBoxem, oproti němu má tento projekt několik externích závislostí, zejména na ESP-IDF SDK. BreezyBox je dostupný pod licencí MIT.

    NUKE GAZA! 🎆 | Komentářů: 0
    7.2. 16:00 | Humor

    Byl představen cross-assembler xa.sh, napsaný čistě v Bourne shell skriptu. Tento nástroj umožňuje zpracovávat assemblerový kód pro Intel 8080, přičemž je možné snadno přidat podporu i pro další architektury, například 6502 a 6809. Skript využívá pouze různé běžné unixové příkazy jako jsou awk, sed nebo printf. Skript si lze stáhnout z GitHubového repozitáře projektu.

    NUKE GAZA! 🎆 | Komentářů: 6
    6.2. 17:22 | IT novinky

    Byla představena nová verze modelu Claude Opus 4.6 od společnosti Anthropic. Jako demonstraci možností Anthropic využil 16 agentů Claude Opus 4.6 k vytvoření kompilátoru jazyka C, napsaného v programovacím jazyce Rust. Claude pracoval téměř autonomně, projekt trval zhruba dva týdny a náklady činily přibližně 20 000 dolarů. Výsledkem je fungující kompilátor o 100 000 řádcích kódu, jehož zdrojový kód je volně dostupný na GitHubu pod licencí Creative Commons.

    NUKE GAZA! 🎆 | Komentářů: 24
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (5%)
     (0%)
     (11%)
     (26%)
     (3%)
     (5%)
     (2%)
     (12%)
     (28%)
    Celkem 819 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Jaderné noviny – 24. 8. 2017: Další dva přístupy k zápisu do perzistentní paměti

    2. 10. 2017 | Redakce | Jaderné noviny | 2916×

    Stav vydání jádra. Citát týdne: Vincent Bernat. Další dva přístupy k zápisu do perzistentní paměti.

    Stav vývoje jádra

    Současné vývojové jádro bylo 4.13-rc6 vydané 20. srpna. „Vše zatím míří k vydání podle plánu, což by znamenalo, že rc7 vyjde příští víkend a finální 4.13 týden poté. Tedy samozřejmě pokud se něco nestane.“

    Stabilní aktualizace: v posledním týdnu žádné nevyšly. Verze 4.12.9, 4.9.45, 4.4.84 a 3.16.67 byly v době psaní tohoto článku v procesu revidování, vyšly 24. srpna.

    Citát týdne

    Ve srovnání s IPv4 nevyvolává IPv6 v Linuxu až takový zájem, zvláště pokud jde o optimalizace. Doufejme, že se věci s jeho přijetím a nasazením „ve větším měřítku“ změní.

    Vincent Bernat profiluje hledání cest IPv6 v jádře (díky Bartu Knubbenovi)

    Další dva přístupy k zápisu do perzistentní paměti

    Two more approaches to persistent-memory writes. Jonathan Corbet. 23. srpna 2017

    Pole perzistentní paměti, která si snad jednoho dne budeme moci pořídit, jsou příslibem velkoobjemových, vysokorychlostních úložišť adresovatelných po bajtech. Jaderná komunita na úplné podpoře této technologie pracuje již několik let, stále je tu však jeden problém postrádající řešení: umožnit přímý zápis do perzistentní paměti, kterou spravuje souborový systém. Žádné z navržených řešení se zatím nedostalo do hlavního repozitáře, ale to dosud vývojáře neodradilo. Nyní se zvažují dvě nové sady patchů věnované této problematice.

    Obvykle se souborové systémy starají o všechny vstupní/výstupní operace nad příslušným úložištěm, aby zajistily, že struktura souborového systému je vždy konzistentní. Dokonce i když je soubor na tradičním úložném zařízení namapován do virtuálního adresního prostoru procesu, spravuje souborový systém zpětný zápis (writeback) modifikovaných stránek z cache stránek do perzistentní paměti. Přímo mapovaná perzistentní paměť obchází souborový systém, což ale vede k řadě potenciálních problémů, zahrnujících nekonzistentní metadata nebo poškození a ztrátu dat, pokud souborový systém přesune právě upravovaný soubor. Řešení tohoto problému vyžaduje dovolit souborovému systému jen tolik, aby nedošlo ke zmatkům, ale zároveň byl zachován výkon umožněný přímým přístupem k úložišti.

    Dosud navržená řešení zahrnují zvláštní příznak „vím, co dělám“ a nedávno přidané nové systémové volání daxctl(), které slouží ke zmrazení metadat souboru, aby data samotná mohla být bezpečné modifikována přímo na místě. Žádné z těchto řešení se ale neprokázalo jako plně uspokojivé, takže vývojářům nezbylo než zasednout zpátky ke klávesnicím a přijít s novým přístupem.

    Synchronní výpadky stránek

    Jedním z nových kandidátů je sada patchů synchronních výpadků stránek od Jana Káry. Následuje ve stopách některých předchozích pokusů tím, že zajišťuje provedení zápisu všech potřebných metadat souborového systému, než je procesu dovoleno modifikovat přímo mapovaná data. Systémovému volání mmap() přibyl nový příznak MAP_SYNC, který požaduje synchronní chování, což znamená zejména:

    Záruka poskytovaná tímto příznakem je: Když je blok namapován do příslušné tabulky stránek tak, že je do něj možné zapisovat, je zaručeno, že bude i po selhání viditelný v souboru na příslušném offsetu.

    Jinými slovy, souborový systém blok v tichosti nepřemístí a zajistí, že metadata souboru jsou v konzistentním stavu, takže příslušné bloky budou po selhání přítomny. Toho se dosáhne tak, že se zajistí provedení všech potřebných zápisů metadat předtím, než je procesu dovoleno zapsat do stránky související s těmito metadaty.

    Když je oblast perzistentní paměti namapována s použitím MAP_SYNC, kód správy paměti zkontroluje, zda probíhá zápis metadat příslušného souboru. Nedojde ale k nárazovému provedení zápisů, nýbrž příslušné stránky jsou místo toho namapovány pouze pro čtení se zvláštním příznakem, takže jakmile se do některé z nich proces pokusí provést zápis, dojde k vynucenému výpadku stránky. Obsluha výpadku pak synchronně zapíše příslušná dirty metadata, změní oprávnění stránky, aby byl povolen zápis, a skončí. Za takového stavu může proces provést bezpečný zápis do stránky, jelikož všechna potřebná metadata už jsou v perzistentní paměti.

    Výsledkem je poměrně jednoduchý mechanismus, který bude fungovat mnohem lépe než aktuálně dostupná alternativa – explicitní volání fsync() před každým zápisem do perzistentní paměti. Potenciální nevýhodou je, že každá operace zápisu může vyvolat vlnu I/O operací, protože souborový systém se vypořádává s dotčenými dirty metadaty. To může vést k blokování procesu, ačkoliv mělo jít o prostou operaci zápisu do paměti, a tak se objeví nečekaná a nechtěná latence. Obavy z této latence vedly k hledání alternativních řešení.

    MAP_DIRECT

    Jednou z alternativ je sada patchů MAP_DIRECT Dana Williamse. Lze je považovat za současnou podobu výše zmíněného patche daxctl(), ačkoliv toto nové systémové volání již není součástí návrhu. Místo toho máme zase nový příznak mmap(), ale navrhovaná sémantika je poněkud odlišná. Tento příznak eliminuje možnou latenci při selhání zápisu tím, že „zapečetí“ stav souboru v okamžiku, kdy dojde k jeho namapování.

    Když souborový systém uvidí žádost o mapování s použitím MAP_DIRECT, měl by se ujistit, že všechna metadata související s mapovanou oblastí jsou na úložném zařízení konzistentní, než bude pokračovat. Jakmile dojde k namapování, musí souborový systém odmítnout jakoukoli operaci, která by způsobila zápis metadat ovlivňujících namapovanou část souboru. Bloky nelze například přesouvat, pokud souborový systém nemůže pomocí magie provést atomický přesun, aniž by neriskoval ztrátu dat při souběžném zápisu do tohoto bloku jiným procesem. Operace jako zkrácení souboru, přerušení sdílení extentů v souboru nebo alokace bloků selžou. To platí i pro alokaci bloků pro namapovanou oblast. Aplikace se tedy musí ujistit, že všechny příslušné bloky byly alokovány před vytvořením mapování.

    Důležitým aspektem této „pečetící“ operace je to, že je součástí běhového stavu souborového systému, neukládá se na úložiště samotné. Takže pokud dojde k pádu systému, soubor už nebude po restartu zapečetěn. Pečeť slouží pouze konkrétnímu mapování a zmizí, jakmile zmizí mapování. Je také třeba poznamenat, že implementace souborového systému může zapečetit buď pouze mapovanou část souboru, nebo soubor celý.

    Aplikace, která používá MAP_DIRECT, bude od jádra vyžadovat jasné indicie, že soubor byl opravdu zapečetěn. Bohužel, mmap() je jedno z těch systémových volání, která nekontrolují neznámé příznaky. MAP_DIRECT tak lze použít s libovolným jádrem, aniž by došlo k chybě. Aby to nová sada patchů obešla, přidává novou variantu mmap3(), která s neznámým příznakem opravdu selže. Interně pak přidává struktuře file_operations pole mmap_supported_mask, takže každá nízkoúrovňová implementace může specifikovat, které příznaky dokáže obsloužit. Chtít od aplikací, aby používaly novou verzi mmap() není hezké, ale není jiného způsobu, jak tento problém vyřešit bez změny ABI.

    Použití MAP_DIRECT vyžaduje vlastnost CAP_LINUX_IMMUTABLE. Panují obavy, že bez tohoto omezení by mohlo být možné provést útok typu odmítnutí služby (denial of service) zapečetěním souboru, který musí být jiný proces schopen změnit. Výsledkem je, že tato funkce není většině uživatelů dostupná, což její užitečnost poněkud omezuje. Ve snaze situaci vylepšit přidává sada patchů také novou operaci F_MAP_DIRECT volání fcntl(). Tato operace, která rovněž podléhá kontrole [vlastnosti CAP_LINUX_IMMUTABLE], nastaví příznak otevřeného souboru, který způsobí, že příští operace mmap() se budou chovat, jakoby měly příznak MAP_DIRECT, ale bez uvedené kontroly. Myšlenka spočívá v tom, že privilegovaný proces by mohl soubor otevřít a nastavit mu tento příznak, načež by předal deskriptor souboru neprivilegovanému procesu, který nad souborem vykoná požadovanou úlohu.

    Jednou z výhod MAP_DIRECT je, že jeho využití se neomezuje na umožnění přímého zápisu do úložiště výkonným aplikacím. Pečetící mechanismus se blíží tomu, co jádro beztak potřebuje pro soubory používané jako odkládací prostor, u čehož je prostor ke zlepšování. Umožňuje také nastavit DMA I/O operace z ovladačů v uživatelském prostoru, což je vlastnost docela zajímavá v oblasti RDMA.

    Po zatím posledním zaslání obou sad patchů komentáře poněkud utichly. Oba se pravděpodobně blíží k možnému začlenění. Zatím ale nedošlo na diskuzi o tom, který z přístupů je lepší nebo zda by neměly být nějak zkombinovány do jednoho. Takže i když se komunita blíží k vyřešení přímých zápisů do perzistentní paměti, bude to asi ještě chvíli trvat, než dojde k začlenění některého řešení.

           

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

    2.10.2017 10:57 JaGa
    Rozbalit Rozbalit vše Re: Jaderné noviny – 24. 8. 2017: Další dva přístupy k zápisu do perzistentní paměti
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.