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

Byla vydána nová verze 2019-06-20 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Přehled novinek v poznámkách k vydání. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Nejnovější verze Raspbianu vychází z Debianu 10 s kódovým názvem Buster a přináší především podporu Raspberry Pi 4 Model B.

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

Vývojáři postmarketOS (GitLab) hodnotí dva roky vývoje tohoto v květnu 2017 představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky [reddit, Hacker News].

Ladislav Hagara | Komentářů: 0
včera 10:11 | IT novinky

Nadace Raspberry Pi na svém blogu oficiálně představila (YouTube) jednodeskový počítač Raspberry Pi 4 Model B. K dispozici je ve třech verzích: 1 GB, 2 GB a 4 GB RAM. Cena začíná na 35 dolarech za verzi s 1 GB RAM. Nejnovější Raspberry Pi podporuje 2 monitory a rozlišení 4K.

Ladislav Hagara | Komentářů: 28
23.6. 18:22 | Komunita

Oznámení, že Ubuntu od vydání 19.10 nebude distribuovat 32bitové balíčky (ani multilib) a uživatelé mohou použít virtualizaci či kontejnery LXD, se setkalo s vlnou nevole, mj. protože i řada 64bitových aplikací využívá 32bitový instalátor. Vývojáři Wine a Steamu oznámili, že zřejmě přestanou Ubuntu od vydání 19.10 podporovat. Diskuze na Redditu: [Wine], [Steam].

Fluttershy, yay! | Komentářů: 55
22.6. 16:11 | IT novinky

Nový open source Windows Terminal představený na vývojářské konferenci Microsoft Build 2019 lze již instalovat z Microsoft Store. Podrobnosti v příspěvku na blogu Microsoftu.

Ladislav Hagara | Komentářů: 10
21.6. 13:11 | Zajímavý projekt

Článek na OMG! Ubuntu! představuje projekt Wayfire, jehož cílem je vývoj kompozitního správce oken inspirovaného Compizem běžícího nad Waylandem. Videoukázky na YouTube. Zdrojové kódy na GitHubu.

Ladislav Hagara | Komentářů: 4
21.6. 09:11 | Zajímavý projekt

Vzdělávací a veřejné instituce mohou získat open source router Turris Omnia formou bezplatné výpůjčky. Router Turris Omnia je poskytován v rámci projektu "Vybudování a ověřovací provoz systému Cyber Threat Intelligence (CTI)" podpořeného Ministerstvem vnitra ČR v rámci programu Bezpečnostního výzkumu pro potřeby státu v letech 2016 - 2021. Podrobnosti na stránkách projektu.

Ladislav Hagara | Komentářů: 1
20.6. 17:00 | Nová verze

Vývojáři Ubuntu informují, že od snapd verze 2.36 lze paralelně instalovat různé verze daného snap balíčku. Lze tak mít nainstalovaný například multimediální přehrávač VLC současně ve verzích stable, candidate, beta i edge.

Ladislav Hagara | Komentářů: 9
20.6. 16:11 | Nová verze

Byla vydána nová stabilní verze 2.6 (2.6.1566.40) webového prohlížeče Vivaldi (Wikipedie). Z novinek vývojáři zdůrazňují možnost blokování reklam s obtěžujícím chováním, vylepšenou podporu uživatelských profilů nebo zobrazení počtu nepřečtených listů na postranní liště. Nejnovější Vivaldi je postaveno na Chromiu 75.0.3770.94.

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

Byla vydána nová verze 1.0.0 open source virtuálního modulárního syntezátoru VCV Rack. Přehled novinek v oznámení o vydání a na GitHubu. K dispozici jsou také open source pluginy. Ukázka práce s VCV Rack na YouTube.

Ladislav Hagara | Komentářů: 0
Jakou verzi jádra Linux typicky používáte na osobním počítači?
 (17%)
 (20%)
 (55%)
 (3%)
 (5%)
Celkem 353 hlasů
 Komentářů: 9, poslední 21.6. 14:42
Rozcestník

Jaderné noviny - 14. 4. 2016: Sledovací body s BPF

20. 4. 2016 | Redakce | Jaderné noviny | 2357×

Stav vydání jádra. Citáty týdne. Projekt bezpečnostního stromu linux-stable. Sledovací body s BPF.

Stav vydání jádra

Současný vývojový kernel je 4.6-rc3, vydaný 10. dubna. „Největším samostatným patchem je vzkříšení ovladače olpc_dcon, který, jak se ukázalo, nebyl až tak zbytečný. Promarnili jsme šanci – vzkříšení ovladače minulo Velikonoce o týden. Slibuji, že do příště se naše oddělení pro komické načasování polepší.“

Stabilní aktualizace: 4.5.1, 4.4.7 a 3.14.66 byly vydány 12. dubna.

Citáty týdne

Je to nemoc rozšířená mezi lidmi, kteří studovali informatiku. Lidi si myslí, že „návrh s ohledem na budoucí rozšiřování“ je dobrý nápad.

Je to _příšerný_ nápad.

Pokud si myslíte, že „návrh s ohledem na budoucí rozšiřování“ je dobrý nápad, vlastně tím říkáte: „Já nevím, co chci dělat.“

Linus Torvalds

Naše nedávná zkušenost s linuxovým plánovačem odhalila, že tlak na práci s náročnými vlastností moderního hardwaru, jako jsou architektura NUMA, vysoké náklady na koherenci a synchronizaci cache a divergence latencí CPU a pamětí, vyústil v plánovač s neuvěřitelně složitou implementací. Výsledkem je, že základní funkce plánovače, která má zajišťovat, že spustitelná vlákna používají nečinná jádra, se z něj vytratila.

Jean-Pierre Lozi et al. [PDF]

Projekt bezpečnostního stromu linux-stable

Sasha Levin oznámil vznik projektu „Bezpečnostní strom linux-stable“. Cílem je projít všechny stabilní aktualizace a odfiltrovat vše, co není klasifikováno jako bezpečnostní oprava. „Docela dost uživatelů stabilního stromu poukázalo na to, že na komplexních nasazeních, kde ověřování není zrovna triviální, chybí motivace držet se stabilního stromu poté, co dojde k nasazení produktu do provozu. O „nahodilé“ opravy kernelu není zájem a jediným požadavkem je držet krok s bezpečnostními riziky.“

Celý článek.

Sledovací body s BPF

Jednou ze zajímavých funkcí sledovacích nástrojů, jako jsou SystemTap nebo DTrace, je možnost nahrát kód do kernelu a provést analýzu první úrovně na trase datového toku. Sledování může produkovat značné množství dat, ale tato data se často dají významně redukovat jednoduchým zpracováním – například zvětšováním položek histogramu. Současná jádra obsahují velké množství sledovaných bodů, ale postrádají schopnost před exportem výsledků provést jakékoli zpracování sledovaných událostí hned v jaderném prostoru. Vypadá to, že situace se změní díky sadě patchů určených pro vydání 4.7.

Pravidelné čtenáře Jaderných novin by nemělo překvapit, že technologie používaná pro načítání kódu do jádra, je virtuální stroj BPF. BPF umožňuje vykonání kódu v jádře s přísnými omezeními: patří k nim mimo jiné to, že kód může přistupovat pouze k datům, která mu jsou poskytnuta explicitně, a nemůže obsahovat cykly, takže je zaručeno, že poběží v omezeném čase. Kód BPF se dá také zrychlit – může být přeložen do strojového kódu, a to pomocí just-in-time kompilátoru v jádře. Tato kombinace vlastností pomohla BPF dostat se i do dalších jaderných subsystémů mimo ten síťový.

Každý program BPF nahraný do jádra má svůj specifický typ, který vymezuje, kde je vlastně možné program spustit. Patch set Alexeje Starovoitova vytváří nový typ (BPF_PROG_TYPE_TRACEPOINT) programů, které mají být navázány na sledované body. Tyto programy je poté možné nahrát do kernelu pomocí systémového volání bpf(). Navázání programu na sledovaný bod se pak provádí otevřením souboru sledovaného bodu (v debugfs nebo tracefs), přečtením ID sledovaného bodu a použitím příkazu PERF_EVENT_IOC_SET_BPF ioctl(). Tento příkaz umožňuje programům BPF připojení ke kprobes v současných jádrech. Patch set rozšiřuje možnosti použití v závislosti na předaném typu programu BPF.

Když dojde k aktivaci sledovaného bodu navázaného na program BPF, tento program se spustí. „Kontextová“ oblast předaná programu jednoduše představuje data sledovaného bodu, která by byla předána uživatelskému prostoru, až na přístupnost „běžných“ polí. Patch set kupříkladu obsahuje vzorek, který se váže ke sledovanému bodu sched/sched_switch, který se aktivuje, pokud plánovač spustí vykonávání jiného procesu. Soubor format tohoto sledovacího bodu (nachází se v příslušném adresáři v debugfs nebo tracefs) poskytuje následující data:

field:unsigned short common_type;          offset:0;       size:2; signed:0;
field:unsigned char common_flags;               offset:2;       size:1; signed:0;
field:unsigned char common_preempt_count;	offset:3;       size:1; signed:0;
field:int common_pid;                           offset:4;       size:4; signed:1;

field:char prev_comm[16];       offset:8;       size:16;        signed:1;
field:pid_t prev_pid;           offset:24;      size:4;         signed:1;
field:int prev_prio;            offset:28;      size:4;         signed:1;
field:long prev_state;          offset:32;      size:8;         signed:1;
field:char next_comm[16];       offset:40;      size:16;        signed:1;
field:pid_t next_pid;           offset:56;      size:4;         signed:1;
field:int next_prio;            offset:60;      size:4;         signed:1;

Od každého programu, který přistupuje k datům sledovaného bodu, se očekává, že tento soubor přečte, aby zjistil, která data jsou dostupná a kde se nacházejí. Pokud tak neučiní, hrozí selhání, pokud se data spojená s tímto sledovaným bodem v budoucnu změní. Program BPF v jádře tento soubor program nemůže, takže je nutné najít jiné řešení. Soubor format tudíž musí přečíst vývojář a pak ho převést na strukturu v C; slouží k tomu nástroj zvaný tplist. Tento patch set obsahuje následující strukturu, generovanou právě pomocí tplist:

/* taken from /sys/kernel/debug/tracing/events/sched/sched_switch/format */
struct sched_switch_args {
	unsigned long long pad;
	char prev_comm[16];
	int prev_pid;
	int prev_prio;
	long long prev_state;
	char next_comm[16];
	int next_pid;
	int next_prio;
};

Pole pad existuje, protože první čtyři pole (ta společná pro všechny sledované body) nejsou přístupná programům BPF. Ke zbytku se však dá dostat pomocí jména v programu v C (který bude kompilován do BPF a nahrán do jádra). Tento program z této struktury nejspíše extrahuje požadovaná data, zpracuje je po svém a uloží výsledek do mapy BPF, odkud je možné získat výsledek z uživatelského prostoru.

Stejně jako v případě dalších typů BPF programů používá pomocný jaderný kód jména sekcí jako direktivy pro to, jak má být naloženo s konkrétním programem. Takže program, který slouží k tomu, aby byl navázán na sledovaný bod, by měl být uložen explicitně v sekci „tracepoint/name“, kde name představuje jméno požadovaného sledovaného bodu. Takže pro vzorový program je jméno sekce „tracepoint/sched/sched:switch.“

Tento mechanismus pracuje a co je důležitější, na sledovaný bod navázaný program BPF je mnohem úspornější než použití kprobe a následné připojení programu. Již se pracuje na nástrojích (např. argdist), které vytvoří programy BPF pro konkrétní úlohy, argedist vytvoří program pro histogram hodnot daného pole sledovaného bodu. Celkově vzato to vypadá na zajímavý pokrok v nástrojích jádra.

Existuje ovšem potenciální háček: starý problém se sledovanými body a stabilitou ABI. Sledované body odhalí vnitřek jádra, což naznačuje, že se tyto body musí změnit, pokud se změní jádro. Změna sledovacích bodů však může poškodit aplikace, které je využívají. Tohle je problém, který se v minulosti objevil již několikrát. Je to také důvod, proč některé subsystémy (např. vrstva virtuálního souborového systému) použití sledovacích bodů vůbec neumožňují – správci mají obavy, že nebudou moci dělat důležité změny, protože by to mohlo rozbít aplikace, které jsou na příslušných sledovaných bodech závislé.

Pro programy v uživatelském prostoru byl celý problém poněkud zmírněn dostupností kódu knihoven, který umožňuje přístup k datům sledovaných bodů. Aplikace, která tyto nástroje využívá, by měla být přenosná napříč různými verzemi jádra. Jenže programy BPF nemají k těmto knihovnám přístup a dojde-li ke změně využívaných sledovaných bodů, tyto programy se (možná nepozorovaně) pokazí. Obavy spjaté s ABI pozdržely zařazení této funkcionality v minulosti, tentokrát se však o ABI téměř nemluví. Alexej tvrdí, že rozhraní pro programy BPF je shodné s tím pro programy uživatelského prostoru, takže ohledně ABI by se neměly objevit nové starosti. Zda nepřinese rozhraní BPF žádné nové problémy spojené s ABI, to se ukáže až v následujících letech.

Vskutku to vypadá, že se dočkáme toho, jak to dopadne. David Miller patche zařadil do next-tree, což znamená, že by se do hlavního repozitáře mohly dostal v začleňovacím okně 4.7. Uživatelé, kteří chtějí mít lepší přehled, co se děje v jádře, nejspíše ocení, že tady ta možnost bude.

       

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

20.4.2016 22:14 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jaderné noviny - 14. 4. 2016: Sledované body s BPF
Jakkoli je chvályhodné, že překlady jsou uveřejňovány s minimálním zpožděním, jedna věc mi vrtá hlavou: IIRC bývalo podmínkou zveřejňování překladů to, že se budou zveřejňovat až v době, kdy je originál na LWN zveřejněn pro všechny. To už byla tahle podmínka zrušena?
23.4.2016 15:17 Petr Ježek | skóre: 10
Rozbalit Rozbalit vše Re: Jaderné noviny - 14. 4. 2016: Sledované body s BPF
Pominu-li zvědavost, je s tím nějaký (zejména informační) problém, Michale?
Archlinux for your comps, faster running guaranted!
23.4.2016 18:26 Michal Kubeček | skóre: 71 | Luštěnice
Rozbalit Rozbalit vše Re: Jaderné noviny - 14. 4. 2016: Sledované body s BPF
Jen zvědavost. Překvapilo mne, že si člověk bez předplatného LWN v současné době může přečíst překlad dřív než originál.
ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.