MicroPython (Wikipedie), tj. implementace Pythonu 3 optimalizovaná pro jednočipové počítače, byl vydán ve verzi 1.23.0. V přehledu novinek je vypíchnuta podpora dynamických USB zařízení nebo nové moduly openamp, tls a vfs.
Canonical vydal Ubuntu Core 24. Představení na YouTube. Nová verze Ubuntu Core vychází z Ubuntu 24.04 LTS a podporována bude 12 let. Ubuntu Core je určeno pro IoT (internet věcí) a vestavěné systémy.
Databáze DuckDB (Wikipedie) dospěla po 6 letech do verze 1.0.0.
Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.
Na blogu Raspberry Pi byl představen Raspberry Pi AI Kit určený vlastníkům Raspberry Pi 5, kteří na něm chtějí experimentovat se světem neuronových sítí, umělé inteligence a strojového učení. Jedná se o spolupráci se společností Hailo. Cena AI Kitu je 70 dolarů.
Byla vydána nová verze 14.1 svobodného unixového operačního systému FreeBSD. Podrobný přehled novinek v poznámkách k vydání.
Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.
Grafický editor dokumentů LyX, založený na TeXu, byl vydán ve verzi 2.4.0 shrnující změny za šest let vývoje. Novinky zahrnují podporu Unicode jako výchozí, export do ePub či DocBook 5 a velké množství vylepšení uživatelského rozhraní a prvků editoru samotného (např. rovnic, tabulek, citací).
Byla vydána (𝕏) nová verze 7.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.
Organizace Apache Software Foundation (ASF) vydala verzi 22 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
To je sice moc hezký, ale co konkrétně to teda přinese?
Dovedu si představit, že když dojde k nečekanému výpadku systému, při opětovném spuštění se může podívat do žurnálu, jestli nezůstali nějaké rozdělané operace. Tzn, lze během okamžiku zjistit, jestli je vše v pořádku, nebo ne. Ale co když ne? Napadlo mě, že jediné, co lze udělat, je nekompletní soubor nezobrazovat a prostě jej považovat, za prázdné místo.
Rozhodl jsem se experimentálně ověřit, co se na ext4 / NTFS stane. Dal jsem na NTFS svazek pod windows kopírovat velký soubor a v průběhu stroj natvrdo vypnul. Šlo ale o virtuální stroj ve VirtualBoxu - nevadí to? Po zapnutí jsem našel prostě rozepsaný soubor o zhruba poloviční velikosti. Tomu teda říkám konzistence. Na linuxu to dopadlo nějak podobně. Buď mi tam zůstal 0B soubor, nebo soubor o plné velikosti, nebo tak něco, ale prostě nešel otevřít.
Výsledky experimentu mi moc nepomohly, tak jsem na zkoušce zazmatkoval a řekl svůj původní názor. Vysloužil jsem si F a šel smutně domů.
Můžete mi prosím někdo vysvětlit, jak se to tedy s tím žurnálováním má?
Mockrát děkuji.
Řešení dotazu:
v nejjednodušším případě to znamenáMe prijde nejjednodussi ten soubor zapsat uz skoro primo na misto tam kde v budoucnu bude, defaultne jako neplatny, a pak ho oznacit jako za platny (zapis). Bez nutnosti (zapis/cteni/zapis). Pak vlastne menime prinejmensim jeden bit nekde misto prepisu velkeho objemu dat.
tak atomicky přepíšete pointer z původního bloku na tento novýJenže na blokových zařízeních atomické operace nejsou.
Toto se ostatně v IT používalo od pradávnaPouze tam, kde atomické operace jsou.
Začne provádět tu operaci – a pokud v tom okamžiku dojde k výpadku, po obnovení provozu jenom znova provede to, co má v žurnálu označené jako neprovedené.Tohle je právě věc, které nerozumím. Nebo alespoň v případě, kdy nedochází k žurnálování dat jako takových, ale pouze metadat. On ví, že měl vytvořit soubor nějakého názvu a velikosti, s nějakými oprávněními, vlastníkem, etc a že do něj měly přijít nějaká data. Ale jaká data to jsou, to už z toho žurnálu nevyčte ne? Co tedy znamená "znova provede"?
On ví, že měl vytvořit soubor nějakého názvu a velikosti, s nějakými oprávněními, vlastníkem, etc a že do něj měly přijít nějaká data.Souborový systém nedostane příkaz „vytvořit soubor a zapsat do něj data“. Ten příkaz zápisu dat je samostatný, a interně se provedou dvě operace – zápis samotných dat, a změna metadat souborového systému (změna velikosti souboru, změna prázdného místa na souborovém systému). Ten zápis dat se ve výchozím nastavení provede bez žurnálu, tj. data se hned přepíšou. Když uprostřed zápisu vypadne proud, budete mít v souboru půlku nových dat a půlku starých (v ext3/4, které přepisují data na místě). Žurnáluje se pouze zápis metadat – tj. do žurnálu se zapíše, jak se změnila velikost souboru a volné místo na disku, a pokud pak během zápisu údajů na správná místa na disku dojde k výpadku, po obnovení se pouze znovu přehraje žurnál s metadaty a ty údaje se obnoví. Nebo-li při náhlém výpadku můžete přijít o data (přepsal se kus starých dat novými, nebo se nová data zapsala na volné místo, ale ještě se nestihly aktualizovat metadata), ale souborový systém zůstane konzistentní. Bez žurnálování metadat se může dostat souborový systém do nekonzistentního stavu – např. se stihne zapsat změna velikosti souboru, ale už se nestihne zapsat údaj o volném místu. Proto se pak po obnovení musí projít celý disk a uvést jej do konzistentního stavu. To je asi hlavní důvod, proč se v ext3 žurnál zavedl – disky už jsou tak velké, že jejich kontrola po neočekávaném výpadku trvá příliš dlouho. Pokud máte žurnál na metadatech, není ta kontrola nutná – a na druhou stranu metadat není tolik, aby režie s žurnálováním spojená nějak výrazně zpomalovala práci. Žurnálováním dat byste samozřejmě získal vyšší spolehlivost (v souboru byste měl buď stará data, nebo nová, ale ne jejich mix), ale za cenu zpomalení zápisu na disk. Žurnál dat se tak používá jenom tam, kde je opravdu potřeba – typicky databáze, které si tradičně žurnál řeší samy. I když je pravda, že moderní souborové systémy (ZFS, btrfs), které umožňují vytvářet snapshoty a podobné vylomeniny, mají už žurnál i na datech, protože bez toho by těch nových vlastností nebylo možné dosáhnout.
Tiskni Sdílej: