Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
Linuxová distribuce Frugalware (Wikipedie) ke konci roku 2025 oficiálně končí.
Byla vydána nová verze 3.0.6 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP bude brzy k dispozici také na Flathubu.
Americký výrobce čipů AMD uzavřel s americkou společností OpenAI smlouvu na několikaleté dodávky vyspělých mikročipů pro umělou inteligenci (AI). Součástí dohody je i předkupní právo OpenAI na přibližně desetiprocentní podíl v AMD.
Aktuální vývojová verze jádra je 3.5-rc1 oznámená 3. června. Je to vcelku normální vydání – zhruba ze 60 % ovladače, 20 % jsou změny v architekturách a 20 % je „všude možně“ – souborové systémy, dokumentace, nástroje a tak dále. [...] V závislosti na tom, co vás zajímá, váš může potěšit plánovač paketů CoDel nebo aktualizace ovladačů GPU nebo nové cíle [targets] SCSI. Najde se tam něco snad pro každého.
Stabilní aktualizace: verze 3.0.33, 3.2.19, 3.3.8 a 3.4.1 všechny vyšly 4. června; každá z nich obsahuje dlouhý seznam oprav. Verze 3.3.8 je poslední v řadě 3.3.
Možná to čtu špatně a unikají mi detaily, ale: číst ten kód je asi tak příjemné, jako léčit důkladnou kocovinu teplým zvětralým pivem. Mám na mysli ten typ kocoviny, kdy po probuzení plivete mouchy nebo snad i vajgly.
-- Al Viro
Abych řekl, že si myslím, že máš pravdu, to bys věru nechtěl,
tím bych mohl drze naznačovat, že vůbec beru v potaz tu možnost, že ji nemáš.
Vzdychám nad tvým údělem.
-- Hugh Dickins
Složitost je mým Sluncem a já jsem planeta, která se kolem něj točí.
Jde o to, že v pondělí ráno mi to až tak rychle nemyslí. Pokud se právě tehdy pustím do zpětného inženýrství patche, protože lidé zapomínají zmínit to podstatné, tak se naštvu.
-- Peter Zijlstra před úterkem nepřijímá špatně popsané patche
Linus uzavřel začleňovací okno 2. června; oznámení předverze 3.5 přišlo následujícího dne. Do hlavní řady bylo od posledního přehledu začleněno necelých 1000 patchů, což dělá celkem 9534 za celé okno. Některé z důležitějších změn jsou:
Změny viditelné vývojářům zahrnují:
int svc_bind(struct svc_serv *serv, struct net *net);Cílem je ošetřit registraci služby v daném síťovém kontextu; je pouze pro GPL kód.
Konečnou verzi 3.5 bychom mohli očekávat začátkem srpna.
V listopadovém LWN se psalo o patchi pro volatile ranges (nestálé rozsahy) od Johna Stultze. Smyslem patche bylo přinést funkčnost z Androidu do hlavního jádra, ale jde o reimplementaci, která je hlouběji svázaná se subsystémem správy paměti. Patch se nyní vrátil zpět, ale API se změnilo, takže je třeba se na něj znovu podívat.
"Volatile range" je sada stránek v paměti, která obsahuje data, jež mohou někdy v budoucnu být aplikaci užitečná; hlavní věcí je to, že pokud to bude nutné, aplikace dokáže znovu získat (nebo vygenerovat) data z jiného zdroje. Klasickým příkladem je cache obrázků v paměti prohlížeče. Udržování obrázků může redukovat síťový provoz a zrychlit vykreslování stránek, ale kdyby se cachovaný obrázek vytratil, je možné vyžádat kopii odjinud. Takže ačkoliv má smysl si data uchovávat, má rovněž smysl se jich zbavit, kdyby byla o paměť nouze.
Kdyby jádro o takových cachovaných datech vědělo, jednoduše by v horkých chvilkách mohlo data zahodit a paměť použít pro něco jiného. Takto by navíc aplikace mohly cachovat více než jindy s vědomím, že jsou zde hranice, jak moc může toto cachování ovlivnit zbytek systému. Výsledkem by bylo lepší využívání paměti a systém, který celkově pracuje lépe.
Robert Love z Google tento mechanismus implementoval pro Android pod názvem „ashmem“. Je zde zájem o zařazení ashmem do jádra, ale implementace a API nebyly všem po chuti. Proto John vzal kód ashmem, přepracoval integraci s virtuální pamětí a napojil to na systémové volání posix_fadvise(); v této podobě to bylo v listopadu.
Dave Chinner následně ukázal na to, že pro tuto funkčnost by se více hodilo fallocate(). Toto volání vypadá takto:
int fallocate(int fd, int mode, off_t offset, off_t len);
Toto systémové volání má pracovat nad rozsahy dat v souboru. Zajímavá je pak hlavně operace FALLOCATE_FL_PUNCH_HOLE, která odstraní blok dat z určitého místa v souboru. Označení volatile range by se pak dalo považovat za takový hole punching (vytváření děr) s tím, že je toto oddáleno dle vůle jádra. Když je paměti málo, mohlo by k odstranění dojít ihned, jinak by operace byla dokončena později, nebo vůbec. Vzhledem k podobnosti mezi těmito operacemi dává smysl, aby byly implementovány přes stejné volání; Johny náležitě přepracoval patch.
S novým patchem se označuje rozsah v souboru jako volatilní pomocí volání:
fallocate(fd, FALLOCATE_FL_MARK_VOLATILE, offset, len);
Kde offset a len popisují rozsah, který má být označen. Po dokončení volání není jádro zavázáno udržovat tento rozsah v paměti. Aplikace by se neměla k tomuto rozsahu nyní snažit přistupovat, protože obsah může kdykoliv zmizet. Místo toho, jakmile je o data zájem, by se mělo zavolat:
fallocate(fd, FALLOCATE_FL_UNMARK_VOLATILE, offset, len);
Pokud je určený rozsah stále v paměti, volání vrátí nulu a aplikace může nadále pracovat s daty. Pokud ale byla část paměti jádrem odstraněna, nenulová návratová hodnota bude značit, že aplikace musí získat data odjinud.
Jakýkoliv souborový systém může implementovat tuto funkčnost, ale v reálu to dává smysl jen u souborových systémů pracujících nad RAM (jako tmpfs), takže je to implementované jen tam.
Patch nyní dosáhl třetí revize, v průběhu prvních dvou se mu dostalo řady komentářů. Počet stížností ale značně poklesl, takže většina lidí už je asi spokojená. Tato funkce se tedy může dostat do jádra 3.6.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej: