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 12:33 | Komunita

Příspěvek na blogu Signalu (Wikipedie) informuje o založení neziskové nadace Signal Foundation, jež bude zastřešovat další vývoj tohoto svobodného bezpečného komunikátoru běžícího také na Linuxu (Signal Desktop). Brian Acton, spoluzakladatel WhatsAppu, věnoval nadaci 50 milionů dolarů [Hacker News].

Ladislav Hagara | Komentářů: 1
včera 05:55 | Zajímavý článek

Článek na Fedora Magazine krátce představuje programovací jazyk Rust a několik zajímavých v Rustu naprogramovaných terminálových aplikací. Jedná se o alternativu k příkazu grep ripgrep, moderní barevnou alternativu k příkazu ls exa, příkazem cloc inspirovaný tokei a zvířátko v terminálu ternimal.

Ladislav Hagara | Komentářů: 0
21.2. 23:55 | Zajímavý projekt

Byl spuštěn Humble Classics Return Bundle. Za vlastní cenu lze koupit hry Broken Sword 5 - The Serpent's Curse, Shadowrun Returns a Shadowrun: Dragonfall - Director's Cut. Při nadprůměrné platbě (aktuálně 8,48 $) také Shadowrun: Hong Kong - Extended Edition, Wasteland 2: Director's Cut - Standard Edition, Age of Wonders III a Xenonauts. Při platbě 15 $ a více lze získat navíc Torment: Tides of Numenera a Dreamfall Chapters: The Final Cut Edition.

Ladislav Hagara | Komentářů: 0
21.2. 00:11 | Bezpečnostní upozornění

Vývojáři linuxové distribuce Mageia na svém blogu upozorňují na narušení bezpečnosti Mageia Identity. Narušitel získal přístup k LDAP databázi a zveřejnil jména uživatelů, jejich emailové adresy a haše hesel. Hesla uživatelů byla resetována.

Ladislav Hagara | Komentářů: 3
20.2. 21:55 | Nová verze

Byla vydána verze 2.0.0 nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). Z novinek je nutno upozornit na nový zpětně nekompatibilní formát záznamu asciicast v2. S novým formátem si poradí nové verze asciinema-playeru a asciinema-serveru [Hacker News].

Ladislav Hagara | Komentářů: 0
20.2. 05:55 | Zajímavý projekt

Dle příspěvku na blogu zaměstnanců CZ.NIC byl spuštěn ostrý provoz služby Honeypot as a Service (HaaS). Zapojit se může kdokoli. Stačí se zaregistrovat a nainstalovat HaaS proxy, která začne příchozí komunikaci z portu 22 (běžně používaného pro SSH) přeposílat na server HaaS, kde honeypot Cowrie (GitHub) simuluje zařízení a zaznamenává provedené příkazy. Získat lze tak zajímavé informace o provedených útocích. K dispozici jsou globální statistiky.

Ladislav Hagara | Komentářů: 12
20.2. 04:44 | Komunita

Před týdnem společnost Feral Interactive zabývající se vydáváním počítačových her pro operační systémy macOS a Linux oznámila, že pro macOS a Linux vydají hru Rise of the Tomb Raider. Včera společnost oznámila (YouTube), že pro macOS a Linux vydají také hru Total War Saga: Thrones of Britannia. Verze pro Windows by měla vyjít 19. dubna. Verze pro macOS a Linux krátce na to.

Ladislav Hagara | Komentářů: 0
19.2. 21:33 | Nová verze

Byla vydána nová major verze 7.10 svobodného systému pro řízení vztahů se zákazníky (CRM) s názvem SuiteCRM (Wikipedie). Jedná se o fork systému SugarCRM (Wikipedie). Zdrojové kódy SuiteCRM jsou k dispozici na GitHubu pod licencí AGPL.

Ladislav Hagara | Komentářů: 0
19.2. 16:44 | Nová verze

Byla vydána nová verze 0.30 display serveru Mir (Wikipedie) a nová verze 2.31 nástrojů snapd pro práci s balíčky ve formátu snap (Wikipedie). Z novinek Miru vývojáři zdůrazňují vylepšenou podporu Waylandu nebo možnost sestavení a spouštění Miru ve Fedoře. Nová verze snapd umí Mir spouštět jako snap.

Ladislav Hagara | Komentářů: 0
19.2. 14:00 | Komunita

Na Indiegogo běží kampaň na podporu Sway Hackathonu, tj. pracovního setkání klíčových vývojářů s i3 kompatibilního dlaždicového (tiling) správce oken pro Wayland Sway. Cílová částka 1 500 dolarů byla vybrána již za 9 hodin. Nový cíl 2 000 dolarů byl dosažen záhy. Vývojáři přemýšlejí nad dalšími cíli.

Ladislav Hagara | Komentářů: 1
Který webový vyhledávač používáte nejčastěji?
 (2%)
 (28%)
 (61%)
 (3%)
 (3%)
 (0%)
 (1%)
 (1%)
Celkem 430 hlasů
 Komentářů: 35, poslední 21.2. 19:51
    Rozcestník

    Jaderné noviny – 20. 3. 2014: Volatilní rozsahy paměti

    9. 4. 2014 | Luboš Doležel | Jaderné noviny | 2890×

    Akuální verze jádra: 3.14-rc7. Citáty týdne: Alan Cox, Andrew Morton, David Miller. Volatilní rozsahy paměti a MADV_FREE.

    Obsah

    Akuální verze jádra: 3.14-rc7

    link

    Aktuální vývojová verze jádra je 3.14-rc7 vydaná 16. března. Linus už z toho má lepší pocit. Jediný týden a jaké změny přinese. Před týdnem, když jsem vytvářel rc6, jsem neměl dobrou náladu: ve vydání byla spousta změn a vnímal jsem to tak, že rc8 a možná i rc9 by byly reálnou možností. Teď uběhl týden a rc7 vypadá mnohem lépe. Aktuálně říká, že může jít o poslední -rc ve verzi 3.14.

    Stabilní aktualizace: řadu 3.12 nyní spravuje Jiří Slabý; jeho první vydání 3.12.14 vyšlo 14. března.

    Citáty týdne: Alan Cox, Andrew Morton, David Miller

    link

    Na bezpečnosti mi záleží, měli bychom práci odvádět pořádně. Máme tu další velký skok v nezbytnosti zabezpečení, který bude přinejmenší stejně velký jako skok mezi internetem typu „univerzita, všichni jsou hodní“ a internetem dneška.

    -- Alan Cox

    Ano, je to tak trochu hack, ale je to jednoduché a přímé a explicitní a zjevné. Škodu páchá nenápadná hackovitost.

    -- Andrew Morton

    Obvykle, když někdo říká „nemůžu“, tak mi to spíš zní jako "Rozhodl jsem se přestat snažit přemýšlet o tom, jak to vyřešit."

    -- David Miller

    Volatilní rozsahy paměti a MADV_FREE

    link

    Rozhraní „smrskávače“ [shrinker] v jádře umožňuje subsystému pro správu paměti informovat ostatní subsystémy o tom, že se paměti nedostává a měla by být nějaká paměť uvolněna, pokud je to jen možné. Objevily se různé pokusy o to přidat podobný mechanismus, který by umožnil jádru požádat procesy v uživatelském prostoru, aby pročistily paměť, ale všechny narazily kvůli známým problémům se složitostí a obecnou obtížností začleňování změn ve správě paměti. To ale nezabránilo vývojářům v tom, aby se o to pokoušeli; nedávno byly zaslány dva nové patche podobného ražení.

    Oba tyto patche implementují variaci na téma zvané volatilní rozsahy paměti. Tyto rozsahy představují oblasti v adresním prostoru procesu, které obsahují data, jež je možné v případě nutnosti regenerovat. V případě, že se jádru nebude dostávat paměti, tak si může vzít stránky z volatilního rozsahu, a to s jistotou, že se z toho proces používající danou paměť zotaví, třebaže se ztrátou výkonu. Dokud je ale paměti dostatek, tak nebudou volatilní rozsahy jádrem odebírány a data tam cachovaná mohou být volně používána aplikací.

    Většina práce na volatilních rozsazích je motivovaná snahou o vytvoření náhrady pro mechanismus ashmem z Androidu, který je s hlavní částí subsystému pro správu paměti lépe integrován. Pro tuto funkčnost se ale najde i jiné využití.

    Volatilní rozsahy

    link

    Během uplynulých let se objevila spousta verzí patchů pro volatilní rozsahy. Někdy byly implementovány pomocí systémového volání posix_fadvise(); jindy byly dodány do fallocate(). Další verze je zase přidávaly jako dodatečnou funkci do madvise(). 11. verze patche pro volatilní rozsahy se ale vydává úplně jiným směrem. Namísto toho přidává nové systémové volání:

    int vrange(void *start, size_t length, int mode, int *purged);
    

    V této podobě vrange() pracuje s length bajty paměti začínajícími na adrese start. Pokud je režim mode nastaven na VRANGE_VOLATILE, tak tento rozsah paměti bude označen jako volatilní. Pokud je naopak režim VRANGE_NONVOLATILE, pak je označení jako volatilní odstraněno. V tomto případě ale některé nebo všechny stránky dříve prohlášené za volatilní mohly být odebrány jádrem; v takovém případě je *purged nastaveno na nenulovou hodnotu na znamení toho, že předchozí obsah paměti už není k dispozici. Je-li *purged nulové, tak aplikace ví, že obsah paměti není ztracen.

    Proces může nadále přistupovat k paměti ve volatilním rozsahu. Pokud se pokusí přistoupit ke stránce, která byla odebrána jádrem, tak dostane signál SIGBUS na znamení toho, že stránka je pryč. Proto programy, které jsou na přijetí tohoto signálu připravené, mohou volatilní rozsahy používat bez potřeby volat vrange() před přistoupením k paměti.

    Tato verze patche se od svých předchůdců liší dalším významným způsobem: fungují jen s anonymními stránkami, zatímco předchozí verze fungovaly pouze se systémem souborů tmpfs. Práce s anonymními stránkami pomáhá patch zjednodušit, jak je to jen možné, aby se zvětšila šance, že bude revidován a nakonec začleněn, ale bere si to svou daň: nemožnost pracovat s tmpfs znamená, že volatilní stránky nebudou vhodnou náhradou z ashmem. V plánu je podporovat případ, kdy se za pamětí skrývá soubor (což kód zesložiťuje), ale až jakmile bude panovat shoda ohledně zákadního patche.

    Interně pracuje vrange() na úrovni virtuální oblasti paměti (virtual memory area, VMA). Všechny stránky v rámci VMA buď jsou volatilní, anebo ne; VMA mohou podle potřeby být při voláních vrange() slučovány nebo rozdělovány. Díky tomu by vrange() mělo být rozumně rychlé, jelikož není nutné procházet každou stránku v rozsahu.

    MADV_FREE

    link

    Jiný způsob řešení podobného problému můžeme spatřit v patchi MADV_FREE. Tento patch přidává nový povel do stávajícího volání madvise():

    int madvise(void *addr, size_t length, int advice);
    

    Podobně jako vrange() také madvise() pracuje s rozsahem paměti určeným volajícím; to, co se dělá, je rozlišeno argumentem advice. Volající může použít MADV_SEQUENTIAL, aby řekl jádru, že ke stránkám v tomto rozsahu bude přistupováno sekvenčně, nebo MADV_RANDOM, aby řekl jádru pravý opak. Volání MADV_DONTNEED způsobí, že jádro okamžitě převezme určené stránky a zahodí jejich obsah.

    Nová operace MADV_FREE se podobá MADV_DONTNEED, ale je tu jeden důležitý rozdíl. Namísto okamžitého odebrání stránek je toto volání označí k „pozdějšímu uvolnění“ někdy v budoucnu. Pokud by jádru začala docházet paměť, pak právě takto označené stránky by byly jádrem odebírány jako první; pokud se aplikace pokusí takovou stránku použít po jejím odebrání, tak jádro poskytne novou stránku plnou nul. Pokud je ale paměti dostatek, tak zůstanou stránky označené pomocí MADV_FREE na místě; další přístup k těmto stránkám odstraní příznak přidaný přes MADV_FREE a data budou ve stavu jako před voláním madvise().

    Aplikace nemá jak zjistit, zda nebyl obsah stránek odstraněn, aniž by prozkoumala obsažená data. Proto by program mohl implementovat něco jako volatilní rozsahy tak, že si na začátek každé stránky před použitím MADV_FREE umístí strukturu, jež dovede poznat, a před přístupem k dalším datům by si ověřil, že je struktura stále na svém místě. To se ale nezdá být zamýšleným způsobem používání.

    MADV_FREE se zdá být zaměřené na implementace alokátorů paměti v uživatelském prostoru. Kdykoliv aplikace uvolní sadu stránek, tak alokátor použije MADV_FREE, aby jádru oznámil, že na obsahu stránek už nezáleží. Pokud by aplikace ve stejném rozsahu rychle alokovala více paměti, tak se použijí stejné stránky, tudíž se vyhne režii uvolňování stránek a nulování nových. Ve zkratce je MADV_FREE způsobem, jak říci "Na datech v tomto rozsahu mi nezálěží, ale brzo možná tento rozsah opětovně použiji."

    Stojí za zmínku, že MADV_FREE je již podporován na jádrech BSD, takže na rozdíl od vrange() by nešlo o funkci specifickou pro Linux. Pochopitelně by to znamenalo zlepšení přenositelnosti programů, které tuto funkci na BSD systémech používají.

    V době psaní tohoto textu se žádnému z patchů nedostalo příliš reakcí. Ke skutečnému revidování pravděpodobně dojde až na letošním Linuxovém sumitu o systémech souborů a správě paměti, který začíná 24. března.

           

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

    10.4.2014 14:01 Honz
    Rozbalit Rozbalit vše Re: Jaderné noviny – 20. 3. 2014: Volatilní rozsahy paměti
    Termín Ashmem mi připmíná Cimrmanovu báseň s tajemným názvem Ažmimá...
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.