Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
Byla vydána nová major verze 5.0.0 svobodného multiplatformního nástroje BleachBit (GitHub, Wikipedie) určeného především k efektivnímu čištění disku od nepotřebných souborů.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube).
Provozovatel čínské sociální sítě TikTok dostal v Evropské unii pokutu 530 milionů eur (13,2 miliardy Kč) za nedostatky při ochraně osobních údajů. Ve svém oznámení to dnes uvedla irská Komise pro ochranu údajů (DPC), která jedná jménem EU. Zároveň TikToku nařídila, že pokud správu dat neuvede do šesti měsíců do souladu s požadavky, musí přestat posílat data o unijních uživatelích do Číny. TikTok uvedl, že se proti rozhodnutí odvolá.
Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Začleňovací okno 3.20/4.0 zůstává i nadále otevřeno, takže není nový vývojový kernel. Příliv patchů do hlavního repozitáře pokračuje. Pro více informací viz. články níže.
Minulý týden nebyly žádné stabilní aktualizace.
Připomíná to styl kódování robotů. Jako nějaká opuštěná chodba, kterou neúnavně čistí zapomenutý vysavač Roomba, kam ale lidská noha nevkročila už roky.
SMP (symetrický multiprocesing) má vždy na svědomí několik zkažených vajec v RT omeletě.
V době psaní tohoto článku bylo do hlavního repozitáře v tomto vývojovém cyklu začleněno již 7849 neslučitelných sad změn; z toho 4200 od doby, kdy bylo napsáno shrnutí z minulého týdne. Některé ze zajímavějších a viditelnějších změn z oněch 4200 pachtů zahrnují:
Mezi změny viditelné pro vývojáře jádra patří:
Prozatím to vypadá na relativně pomalý cyklus, jak bylo předpovězeno před otevřením začleňovacího (merge) okna. Přesto by měl být důraz kladen na slovo "relativně"; téměř 8000 patchů není zrovna málo.
Tato verze kernelu ještě nemá své jméno. Linus na svém Google+ spustil hlasování, ve kterém zvítězilo označení 4.0, ale on sám se ještě nevyjádřil. Příští týden nás čekají poslední změny tohoto cyklu, a snad také odpověď na otázku, ohledně jeho pojmenování.
Epoll je sada specifických Linuxových volání určených k zajištění rychlého pollování (polling) velkého počtu souborových deskriptorů (popisovačů). API se používá od doby, co bylo včleněno ve vývojové verzi 2.5, ale jako u spousty jiných rozhraní, i tady je prostor pro zlepšení. V současné době kolují dvě sady patchů, které by této sadě systémových volání přidaly funkce.
Přehled
Epoll je navržen tak, aby fungoval podobně jako select() nebo poll(), ale s více možnostmi a vyšším výkonem v situaci, kdy je využito více souborových deskriptorů. Každé volání select() nebo poll() může obsahovat zcela novou sadu souborových deskriptorů, takže kernel musí každý z nich ověřit, kontrolovat připravenost I/O a přidávat pollovací proces (polling process) příslušným frontám. Seznam souborových deskriptorů se mezi voláními příliš nemění, takže dochází ke zbytečnému duplicitnímu úsilí. Volání epoll tento problém řeší tím, že oddělí nastavení (setup) od čekání souborového deskriptoru, než dojde k jeho připravení.
Proces, který využívá toto API musí začít vytvořením speciálního souborového deskriptoru pro použití v pollování, což se dělá voláním k jednomu z:
#includeint epoll_create(int size); int epoll_create1(int flags);
Každé z těchto volání vrátí souborový deskriptor, který bude využit se zbývajícími funkcemi epoll. Velikost size parametru epoll_Create() se již nepoužije. Argument vlajky flags je přidán do epoll_create1() a lze jej použít k nastavení příznaku vlajky close-on-exec pro výsledný souborový deskriptor.
Dalším krokem je přidání všech souborových deskriptorů, které mají být monitorovány:
int epoll_ctl(int efd, int op, int fd, struct epoll_event *event);
Jestliže je op EPOLL_CTL_ADD, bude výsledný fd přidán do sady. Parametr události se používá k popisu událostí, které budou pollovány; pro podrobnosti viz. manuál. op epoll_ctl() se používá také k odstranění souborových deskriptorů nebo úpravě pollování.
Čekání k připravení jednoho ze souborových deskriptorů k připravení se provádí:
int epoll_wait(int epfd, struct epoll_event *events, int maxevents, int timeout); int epoll_pwait(int epfd, struct epoll_event *events, int maxevents, int timeout, const sigset_t *sigmask);
Události, které vrátí epoll_wait() až k maxevents budou uloženy v poli akcí events array. Parametr timeout je v milisekundách. Verze epoll_pwait() také umožňuje v průběhu volání zablokovat (nebo odblokovat) specifikaci ze souboru signálů. Pro více informací viz. manuál.
epoll_ctl_batch() and epoll_pwait1(
Tento patch Fama Zhenga přináší dvě nová systémová volání rodině epoll. První řeší problém s výkonem, který nastává v situaci, kdy je nutné dělat změny v souborových deskriptorech v sadě epoll. Volání epoll_ctl() může pouze přidat, modifikovat nebo vymazat jeden souborový desktriptor. Je-li zapotřebí provést změny ve více deskriptorech, je třeba více volání epoll_ctl(). Nabízené systémové volání epollctl_batch() tento problém obchází zpracováním více souborových deskriptorů v jednom volání:
int epoll_ctl_batch(int epfd, int flags, int ncmds, struct epoll_ctl_cmd *cmds);
Struktura cmds zde v podstatě duplikuje všechny argumenty, které by byly předány volání epoll_ctl(). Předáním sady těchto struktur může program provádět operace na několika souborových deskriptorech v jednom systémovém volání.
Fam také přidává nové systémové volání k provedení pollování:
struct epoll_wait_params { int clockid; struct timespec timeout; sigset_t *sigmask; size_t sigsetsize; }; int epoll_pwait1(int epfd, int flags, struct epoll_event *events, int maxevents, struct epoll_wait_params *params);
Tato verze epoll_wait() přidává nový parametr vlajek, ale nedefinuje jejich hodnoty, čili vlajky musí být nula. Úkolem parametrů zamíchaných do struktury je dát žádosti (aplication) více kontroly nad zpracováním časového limitu. Časový limit v hodnotách milisekund epoll_wait() se ukázal jako příliš hrubý pro řadu použití. Nové systémové volání definuje timeout v nanosekundách, což problém řeší.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
The nonvolatile memory support patches…
Nonvolativní patche podpory paměti…no comment.
poštovní jednotky AlteraOMG
Bezpečnostní modul Smack může nyní (filtrovat pakety netfilteru skrze bezpečnostní štítky) komunikovat se systémem netfilter skrze bezpečnostní štítky k filtrování paketů. Souborový systém ubifs má nyní multiqueue podporu blokových vrstev (zvyšujících jeho výkonnost) a podporu bezpečnosti.* rozšířených atributů (umožňující podporu bezpečenostních modulů). Pro změny v ovladači Intel v tomto vývojovém cyklu viz. tento zápis. 6 osé akcelerometry