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

    Byla vydána nová verze 0.17.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 206 vývojářů. Přehled novinek v poznámkách k vydání.

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

    Open-source projekt OpenDLSS-NR je 'bitově přesná reimplementace' neuronové rendrovací sítě DLSS 5 od společnosti NVIDIA, jenže pro grafické API Vulkan (DLSS slouží k vylepšování klasickým způsobem vyrendrovaných snímků pomocí lokálních modelů umělé inteligence, a to v reálném čase). Projekt není nijak spojen se společností NVIDIA, je pouze pro OS Windows a natrénované váhy modelu si uživatelé musí obstarat sami. Zdrojový kód je k dispozici na GitHubu, pod licencí MIT s výjimkou pro komponenty třetích stran.

    AfD 💙 | Komentářů: 0
    včera 20:55 | Zajímavý software

    Společnost Cloudflare představila Clef a Clef-Flash, open-source rozhodovací modely určené pro rychlou a konzistentní klasifikaci vstupů. Na rozdíl od klasických LLM vracejí tyto modely deterministické striktně typované strukturované odpovědi s exaktními pravděpodobnostmi, tedy odpovědi ve stylu přelomového modelu Jev.

    … více »
    AfD 💙 | Komentářů: 1
    včera 04:44 | Nová verze

    Byla vydána beta verze Ubuntu 26.10 s kódovým názvem Stonking Stingray. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.10 mělo vyjít 15. října 2026.

    Ladislav Hagara | Komentářů: 0
    1.10. 22:22 | Nová verze

    Byla vydána verze 1.99.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

    Ladislav Hagara | Komentářů: 5
    1.10. 18:11 | Komunita

    Od 13. do 15. října proběhne v Praze OpenSSL Conference 2026. Na YouTube lze zhlédnout videozáznamy přednášek z loňského roku.

    Ladislav Hagara | Komentářů: 0
    1.10. 17:22 | IT novinky

    Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 2 GB varianty o 12,50 dolarů. Nově 2 GB Raspberry Pi 4 stojí 67,50 dolarů a 2 GB Raspberry Pi 5 stojí 77,50 dolarů.

    Ladislav Hagara | Komentářů: 6
    1.10. 13:00 | Nová verze

    OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 26.09. Vedle Flatpaku také s podporou Snapu.

    Ladislav Hagara | Komentářů: 0
    1.10. 04:33 | Zajímavý software

    Edison Design Group po více než 30 letech zveřejnil zdrojový kód svého EDG C/C++ front-endu. Ten proslul širokou podporou standardů C++ a kompatibilitou s dialekty kompilátorů od Microsoftu, GNU, Clangu, Sunu a dokonce i s prehistorickým cfrontem. EDG byl použit například v kompilátoru Intel C++ Classic, kompilátoru NVCC od firmy NVIDIA pro platformu CUDA nebo v našeptávači kódu IntelliSense v produktech společnosti Microsoft. Projekt nyní spravuje organizace The C++ Alliance a kód je dostupný pod licencí Apache 2.0, doplněnou o výjimky projektu LLVM.

    AfD 💙 | Komentářů: 1
    1.10. 04:11 | Zajímavý projekt

    Pocket Tank je malé kapesní virtuální akvárium postavené na vývojové desce ESP32-S3-Touch-AMOLED-1.8. Na dvoujádrovém mikrokontroléru ESP32-S3 s 8 MB PSRAM a 16 MB flash paměti běží jak simulace akvária, tak i malý jazykový model určující chování rybiček. Lokální model o velikosti 7,56 MB se 14 miliony parametrů vznikl destilací modelu Gemma 4 26B, tedy učitele s 26 miliardami parametrů. Kromě firmwaru pro skutečný modul s AMOLED

    … více »
    AfD 💙 | Komentářů: 3
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2777 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník

    Jaderné noviny – 13. 11. 2014: Úvod do složených stránek

    16. 12. 2014 | Tadeáš Pelech | Jaderné noviny | 2613×

    Aktuální verze vývojového jádra: 3.18-rc4. Úvod do složených stránek.

    Obsah

    Aktuální verze vývojového jádra: 3.18-rc3

    link

    Aktuální vývojové jádro je 3.18-rc3. Vývojové jádro 3.18-rc3 vyšlo dne 9. listopadu (oznámení). Linus k tomu řekl:

    Tak se nám to konečně začíná zklidňovat. Vlastně to vypadalo opravdu klidně až do včerejška, kdy si někteří lidé zjevně řekli: „Hele, měl(a) bych svůj kód poslat Linusovi, aby ho přidal do rc4“, a tak třetina všech změn dorazila poslední den. Přesto však rc4 konečně vypadá, že do sebe začíná všechno pěkně zapadat. Teď tuhle verzi musíme stabilizovat.

    Stabilní aktualizace: Minulý týden nebyly vydány žádné stabilní aktualizace. Aktualizace verzí 3.17.3 (319 oprav!), 3.14.24 a 3.10.60 jsou v době vzniku tohoto textu v procesu kontroly, lze je očekávat nejdříve 14. října.

    Úvod do složených stránek

    link

    Když se editor LWN se probíral sadami oprav, které provádějí změny týkající se složených stránek, došlo mu, že jeho pochopení těchto stránek byl spíš slabší. Když se ponořil do zdrojových kódů, aby si rozšířil obzory, napadlo ho: svět musí být plný lidí, kteří by se hrozně rádi dozvěděli víc o složených stránkách. Pro všechny z vás, kteří mají na seznamu svých požadovaných životních úspěchů lepší pochopení tohoto tématu, přinášíme rychlý úvod do složených stránek v linuxovém jádře.

    Složená stránka je jednoduše seskupení dvou nebo více fyzicky souvislých stránek do jednoho celku, se kterým lze, v mnoha ohledech, zacházet jako s jednou větší stránkou. Slouží nejčastěji k vytvoření obrovské stránky použité v rámci subsystémů hugetlbfs nebo transparentní obrovské stránky (THP), ale objevují se i v jiných případech. Složené stránky mohou sloužit jako anonymní paměti nebo se dají použít jako vyrovnávací paměti v rámci jádra. Nemůžou se ale objevit v mezipaměti stránek, která je připravená jen na práci s jednotlivými stránkami.

    K přidělení složené stránky se používá volání funkce přidělení běžné paměti jako alloc_pages() s nastaveným alokačním příznakem __GFP_COMP a řádem alespoň jedna. Nelze vytvořit složenou stránku s řádem nula (jedna stránka) s ohledem na to, jak jsou složené stránky implementovány. („řád“ alokace je logaritmus o základu 2 z počtu stránek určených k přidělené; nula tak odpovídá jediné stránce, jedna dvěma stránkám, atd.).

    Složené stránky se liší od stránek vrácených z normálního požadavku na přidělení vyššího řádu. Například volání:

        pages = alloc_pages(GFP_KERNEL, 2);  /* bez __GFP_COMP */

    vrátí čtyři fyzicky souvislé stránky, které ale nebudou složené. Rozdíl je v tom, že vytvoření složené stránky zahrnuje vytvoření značného množství metadat; ta většinu nejsou potřeba, proto by se vytvářet nemusela a šetřilo by to nároky na systém.

    Jak tedy tato metadata vypadají? Vzhledem k tomu, že většina z nich je uložena v souvisejících strukturách page, lze předpokládat, že je to složité. Začněme s příznaky stránky. První (normální) stránka složené stránky se nazývá „vedoucí stránka“ (head); má nastaven příznak PG_head. Všechny ostatní stránky jsou „následující“ (tail); mají nastavený příznak PG_tail. Přinejmenším to platí v systémech, které příznaky stránek oplývají – tedy v 64bitových systémech. 32bitové systémy nemají žádné příznaky stránek nazbyt, takže se používá jiné schéma; všechny stránky ve složené stránce mají příznak PG_compound a následující stránky mají také nastaven příznak PG_reclaim. Bit PG_reclaim běžně používá kód mezipaměti stránek, ale vzhledem k tomu, že složené stránky nelze reprezentovat v mezipaměti stránek, tento příznak tady lze použít znovu.

    Kód řešící složené stránky se ale nemusí starat o různé konvence označování. Bez ohledu na to, která konvence se používá, vrátí volání PageCompound() hodnotu true, pokud je předaná stránka stránkou složenou. Vedoucí a následující stránky lze v případě potřeby rozlišit pomocí funkcí PageHead() a PageTail().

    Každá následující stránka obsahuje ukazatel na vedoucí stránku uložený v poli first_page struktury struct page. Toto pole zabírá stejně paměti jako pole private, zámek používaný, když stránka obsahuje položky stránkovací tabulky, nebo ukazatel slab_cache používaný, když stránku vlastní alokátor tabulky. Pomocnou funkci Compound_head() lze použít k nalezení úvodní stránky přiřazené ke všem souvisejícím následujícím stránkám.

    Tam je pár informací popisujících složené stránky jako celek: řád (velikost) stránky a destruktor používaný k vrácení stránky do systému, když již není potřeba. Nejprve by nás mohlo napadnout uložit tyto informace do struktury struct page vedoucí stránky, v ní ale na ně není žádné místo. Pořadí je místo toho uloženo v poli lru.prev ve struktuře page pro první následující stránku. Zatímco uniony se používají pro mnoho překrytých polí ve struktuře struct page, zde je pořadí jednoduše formulováno na typ ukazatele a pak uloženo do pole ukazatele. Podobně ukazatel na destruktor je uložen v poli lru.next struktury struct page první následující stránky. Kvůli tomuto rozšíření metadat složené stránky do druhé struktury page musí složená stránka obsahovat alespoň dvě stránky.

    Mimochodem, v jádře jsou deklarované pouze dva destruktory složených stránek. Ve výchozím nastavení se používá volání free_compound_page(); to vrací danou paměť alokátoru stránek. Subsystém hugetlbfs však používá volání free_huge_page(), kterým aktualizuje své záznamy.

    Ve většině případů nejsou složené stránky potřeba a lze použít obyčejné alokace; volající kód si musí pamatovat, kolik stránek má přiděleno, ale jinak nejsou metadata, která by byla uložena ve složené stránce, potřebná. Složená stránka je ale vhodná tehdy, když je důležité zacházet se skupinou stránek jako celkem, i když někdo odkazuje na jednu stránku v ní. Klasickým příkladem jsou transparentní obrovské stránky; pokud se uživatelský prostor pokusí změnit ochrany na části této obrovské stránky, je nutné uzamknout celou obrovskou stránku a rozdělit ji. Různé ovladače také používají složené stránky pro usnadnění správy větších vyrovnávacích pamětí.

    A to je v podstatě jediné, co odlišuje složené stránky od běžných alokací vyššího řádu. Většina vývojářů na složené stránky ve své oblasti jádra ani nenarazí. V případech, kdy je skutečně nezbytné nakládat se sadou stránek jako s jedinou jednotkou, však mohou být složené stránky součástí sady ř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ář

    17.12.2014 07:36 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny – 13. 11. 2014: Úvod do složených stránek
    Toto pole zabírá stejně paměti jako …

    Nejde o to, že zabírá stejně paměti, ale o to, že využívá stejné místo jako ostatní zmíněné hodnoty (je to union). Stejně paměti to ani být nemusí, protože třeba na x86_64 jsou pointery 64-bitové, zatímco spinlock má 32 nebo dokonce jen 16 bitů.

    alokátor tabulky

    Když už překladatel cítí potřebu vymýšlet vlastní překlady zavedených termínů, bylo by možné aspoň u prvního výskytu přidat do závorky původní termín? Kdyby v té větě nebylo jméno položky jako nápověda, tak bych bez originálu neměl šanci pochopit, o čem je řeč. U "mezipaměti stránek" bych na to časem asi přišel, ale podívat se bylo rychlejší. Jenže když se pro pochopení textu musím každou chvíli podívat do původního článku, tak ten překlad tak nějak ztrácí smysl.

    18.12.2014 08:16 aubi
    Rozbalit Rozbalit vše Re: Jaderné noviny – 13. 11. 2014: Úvod do složených stránek
    Ty zmeny v 3.17.3 budou az napresrok v rijnu? Zacali tu stabilizaci brat az tak vazne? ;-)
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.