abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:44 | IT novinky

    Počítačová hra Tetris slaví 40 let. Alexej Pažitnov dokončil první hratelnou verzi 6. června 1984. Mezitím vznikla celá řada variant. Například Peklo nebo Nebe. Loni měl premiéru film Tetris.

    Ladislav Hagara | Komentářů: 1
    dnes 10:44 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    dnes 10:22 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 1
    dnes 01:00 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 19:55 | IT novinky

    Intel na veletrhu Computex 2024 představil (YouTube) mimo jiné procesory Lunar Lake a Xeon 6.

    Ladislav Hagara | Komentářů: 0
    včera 13:44 | IT novinky

    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ů.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Nová verze

    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í.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | Zajímavý software

    Společnost Kaspersky vydala svůj bezplatný Virus Removal Tool (KVRT) také pro Linux.

    Ladislav Hagara | Komentářů: 11
    včera 12:33 | Nová verze

    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í).

    Fluttershy, yay! | Komentářů: 1
    včera 12:00 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    Rozcestník

    Jaderné noviny - 8. 4. 2015: Spuštění jádra v režimu knihovny

    15. 7. 2015 | Redakce | Jaderné noviny | 2412×

    Stav vydání jádra. Citáty týdne. Spuštění jádra v režimu knihovny.

    Stav vydání jádra

    Aktuální vývojové jádro je 4.0-rc7, vydané 6. dubna, po jednom dni prázdninového zpoždění. "Pořád jde o celkem malé zpoždění a na dobré cestě pro 4.0 na příští víkend. Je malá šance, že se rozhodnu 4.0 o týden odložit, protože ten týden potom odjíždím, a chtěl bych se vyhnout otevření začleňovacího okna. Uvidíme, jak se příští víkend rozhodnu."

    Stabilní aktualizace: Žádné nebyly minulý týden vydány.

    Citáty týdne

    Jestliže píšete interface se 4 nebo 5 argumenty funkcí, je možné, že nemůžeme být kamarádi.

    -David Miller

    Spuštění jádra v režimu knihovny

    Kdysi dávno, bylo jedinou možností spustit Linux kernel jako hlavní operační systém na odpovídajícím hardware. Od té doby je možné využívat i jiné režimy: kernel může být spuštěn jako host jiného kernelu skrze virtualizaci nebo jako proces v uživatelském prostoru s uživatelským režimem Linux (UML). Jeden režim, který zatím nebyl podporován, umožňuje spustit kernel jako knihovnu, kterou je možné zavolat skrze aplikační program (aplikaci). To se má brzy změnit díky patch setu, který se poprvé objevil na mailing listu.

    Patch set, který zveřejnil Hajime Tazaki, se jmenuje LibOS. Byl představen na nedávné konferenci Netdev 0.1. LibOS je strukturovaný jako nový port, dá se najít ve stromu pod arch/lib. Tento port se ovšem nechová jako spustitelný kernel, místo toho vytvoří sdílenou knihovnu, kterou je poté možné načíst do běžícího procesu.

    Někoho by možná mohlo napadnout, jak by tento režim mohl být užitečný. Hlavním zaměřením LibOS (i když se nejedná pouze o toto použití) je snaha zpřístupnit linuxové síťové zásobníky aplikacím v uživatelském prostoru. Síťové zásobníky pro uživatelskou paměť nejsou v Linuxu věcí novou, v některých nastaveních výkonu se objevují již několik let. Díky LibOS není třeba pro psát (či portovat) nový síťový zásobník, je možné využít přímo síťový zásobník kernelu.

    Bez trochy práce se ovšem volatelný zásobník nastavit nedá. LibOS vývojáři vytvořili zcela nový set stub funkcí, které mají nahradit různé funkce kernelu používané síťovým kódem. Většinu kódu tohoto patch setu opravdu tvoří tisíce řádků stub funkcí. Nahrazují např. SLAB alokátor jednodušší verzí, založenou na malloc() a z větší části eliminují vrstvu souborového systému. Zbude dost osekaného síťového zásobníku, který je možné spustit samostatně uvnitř adresního prostoru procesu.

    Vlastně ho nezůstane dost, protože některé úkoly je stále třeba dělat volací aplikací. Stále chybí implementace stub pro schedule(), volající kód musí jeden poskytnout v průběhu inicializačního procesu. Běžící aplikace může chtít využít kontrolu nad řízením procesů (s největší pravděpodobností v podobě POSIX vláken).

    V současné době využívají framework LibOS dva projekty. NUSE dokončuje projekt, který bude poskytovat síťový zásobník v běžícím uživatelském prostoru. V NUSE lze nastavit libovolné síťové topologie, rozhraní k jiným mechanismům uživatelského prostoru, například DPDK, pro rychlý přenos a příjem paketů atd. NS-3 simuluje rámce (framework), používané k testování síťových protokolů a implementací. Může spouštět síťově orientované aplikace (v rámci) síťového zásobníku LibOS, za pomoci LD_PRELOAD, k přesměrování volání k síťovým systémovým voláním.

    S těmito nástroji se dá udělat řada zajímavých věcí. Využít by ho mohli uživatelé, používající sítě v uživatelském prostoru z důvodu výkonnosti - i když zásobník kernelu ještě v tomto nastavení nebyl pro výkon optimalizován. Někdo, kdo by mohl chtít spustit experimentální protokol (třeba MPTCP), může využít LibOS (s vhodně opatchovaným kernelem) a vyzkoušet si tuto funkci, aniž by musel sahat na síťový zásobník, který využívá zbytek systému. Využít by se dal také pro spouštění nástrojů pro odstraňování chyb (debugging tools) s použitím síťového zásobníku, běžícího v uživatelském režimu.

    I když se projekt LibOS zaměřil v první řadě na síťový zásobník, nic v jeho návrhu nezabraňuje jeho využití jinde. Bylo by klidně možné izolovat vrstvu virtuálního souborového systému, stačí přijít s potřebnými stub funkcemi.

    Možná by někoho mohlo napadnout, jak se LibOS liší od uživatelského režimu, který je součástí kernelu již mnoho let? Přesně takový dotaz si položil UML maintainer Richard Weinberger. Rozdílů je zřejmě několik. UML funguje jako samostatná aplikace, zatímco LibOS funguje jako knihovna, kterou volá jiná aplikace. Není tedy problém mít v rámci jedné aplikace několik instancí LibOS současně. Kromě toho možnost izolovat jeden subsystém pro použití v rámci aplikace, není součástí konstrukce UML. Po hlubším zkoumání kódu Richard souhlasil, že LibOS přináší něco nového.

    Jednou z možných obav je údržba všech stub funkcí. Je jich hodně a budou muset být aktualizovány pokaždé, když dojde v kernelu ke změně jejich "skutečných" protějšků. Jen velmi málo maintainerů bude pamatovat na to, že je třeba aktualizovat jak jejich vlastní subsystémy, tak LibOS. Což ve finále znamená, že LibOS bude po většinu času nepoužitelný.

    Problém s údržbou bude třeba vyřešit, než dojde k začlenění LibOS do kernelu. Pokud bude často rozbitý, vývojáři ho nebudou používat. Nepoužitelnost povede ke stížnostem na maintainery pracující na vlastním kódu, a ti mohou volat po jeho odstranění. Aby se dalo předejít těmto nástrahám, je třeba najít nějaký způsob, který by automatizoval vytváření stub funkcí. Vytvoření (verze) módu knihovny kernelu by mohlo být snadné, zvlášť když vezmeme v úvahu, co je zapotřebí, aby vše fungovalo v dlouhodobém horizontu.

           

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

    15.7.2015 23:14 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: Jaderné noviny - 8. 4. 2015: Spuštění jádra v režimu knihovny
    Zajímalo by mne, jestli DaveM viděl funkci send_dg() v glibc a celý chain, který k ní vede. Ale s Ulrichem Drepperem asi chce být kamarád málokdo. :-)
    20.7.2015 01:17 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Jaderné noviny - 8. 4. 2015: Spuštění jádra v režimu knihovny
    Petr Tomášek avatar 16.7.2015 06:48 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše séťové topologie
    séťové topologie

    Ať žijó brňáci!

    multicult.fm | monokultura je zlo | welcome refugees!
    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.