Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-05-06. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Pravděpodobně se jedná o poslední verzi postavenou na Debianu 12 Bookworm. Následující verze by již měla být postavena na Debianu 13 Trixie.
Richard Stallman dnes v Liberci přednáší o svobodném softwaru a svobodě v digitální společnosti. Od 16:30 v aule budovy G na Technické univerzitě v Liberci. V anglickém jazyce s automaticky generovanými českými titulky. Vstup je zdarma i pro širokou veřejnost.
sudo-rs, tj. sudo a su přepsáné do programovacího jazyka Rust, nahradí v Ubuntu 25.10 klasické sudo. V plánu je také přechod od klasických coreutils k uutils coreutils napsaných v Rustu.
Fedora se stala oficiální distribucí WSL (Windows Subsystem for Linux).
Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.
Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »Do konference přišlo celkem 2025 emailů, nejvíce jich poslali Larry McVoy, Stephan von Krawczynski, Alan Cox.
Joseph Fannin řekl:
Tady máte ovladač pro Touchpad Synaptics pro 2.5.70. Z velké části je založen na XFree86 ovladači. Tento ovladač provozuje touchpad v absolutním režimu a emuluje třítlačítkovou myš se dvěma kolečky. Umožňuje funkce:
Jedinou zásadní chybějící funkcí je konfigurace parametrů ovladače za běhu. Jaký je nejlepší způsob implementace? Přemýšlel jsem o posílání EV_MSC událostí ovladači pomocí rozhraní /dev/input/event* a definování svých vlastních kódů pro různé parametry ovladače.
V pozdější zprávě dodal:
Andrew Mortonovi se nový patch moc líbil a poskytl několik technických připomínek. Vojtěch Pavlík také Josephovi (nebo kdo byl ten pravý) řekl:
kdyby's tyhle fajn funkce dal prozatím do mousedev.c ovladače, ten touchpad by fungoval se standardními XFree bez toho ovladače založeného na událostech.
Zároveň připojuji práci Jense Taproggea na synaptice, kterou by's mohl začlenit...
Pro Jense: Promiň, že nepoužívám tvůj ovladač. Je také velmi dobrý. Doufám, že budeš moci pracovat spolu s Peterem, aby se do kernelu dostalo to nejlepší od obou.
Peter Osterlund odpověděl, že do mousedev.c ovladače není třeba cokoliv doplňovat, protože
Daniel Phillips napsal:
Tento text popisuje několik položek z mého seznamu pro výzkum v rámci vývojového období kernelu 2.7. Nejdřív trochu historie.
V 2.3/2.4 bylo hlavní změnou linuxového subsystému správy paměti sjednocení stránkové a bufferové keše v tom smyslu, že byla odstraněna většina dvojitého uložení a kopírování z keše bufferu do stránkové keše už nebylo potřeba při každém zápisu do souboru. Ve 2.5 bylo hlavní změnou přidání reverzního mapování stránek. Na tom jsem se podílel i já a mojí motivací byla víra, že s implementovaným reverzním mapováním budou možná - nebo rovnou jednoduchá - výrazná vývojová vylepšení subsystému správy paměti. Ke komentáři nabízím tři hlavní projekty, které se mi doufám podaří dokončit během 2.7:
Jsou seřazeny od nejméně po nejvíce kontroverzní. Myslím si, že všechny tři budou užitečnými zlepšeními linuxového subsystému správy paměti a doufám, že své přesvědčení dostatečně doložím následujícím textem. Samozřejmě, že fungující kód a benchmarky jsou konečným soudcem kvality, takže se v patřičné době objeví.
Aktivní defragmentace paměti
Pochybuji, že by někdo popíral, že je to žádoucí. Aktivní defragmentace eliminuje alokační selhání vyššího řádu u neatomických alokací a doufám, že všeobecně zlepší účinnost a transparentnost kernelového alokátoru paměti.
Účelem aktivní defragmentace paměti je vychytání patových případů, nikoliv stát se kompletní náhradou stávajícího alokačního systému. Nejzřetelnějším a nejproblematičtějším patovým případem je ten, kdy všechny jednotky fyzické paměti daného řádu jsou vypotřebovány a alokátor tak má pouze dvě možnosti: čekat nebo selhat. Aktivní defragmentace zavádí třetí možnost, která by měla odstranit téměř všechny první případy a všechny druhé - s výjimkou situace, kdy je fyzická paměť skutečně z nějakého důvodu vypotřebována (tj. bona fide OOM [Out Of Memory] - vyčerpaná paměť).
Představa je taková, že poběží defragmentační démon, který se probudí vždy, když dostupnost nějakého alokačního řádu spadne pod určitou hranici. Defragmentační démon nejprve vyhledá v paměti snadno přesunutelné stránky, které mohou utvořit nové, volné jednotky daného řádu. Pokud tento přístup selže, mohl by jít démon až tak daleko, že by uvedl systém do klidu (technika již používaná při zamykání RCU) a přesunul nějaké ne tak snadno přesunutelné stránky.
Aby bylo možno přesunout stránku fyzické paměti, musíme vědět, co na ni ukazuje. To je často snadné, například v běžném případě, kdy na stránku ukazuje jediný ukazatel [pointer] a na stránce není prováděno IO. K přesunutí takové stránky potřebujeme jenom podržet zámek stránkové keše a zámek stránkové tabulky.
Přesun anonymní paměti je s pomocí reverzního mapování stránek taky docela snadný. Musíme podržet příslušné zámky, projít seznam reverzní mapy stránky a aktualizovat ukazatele na novou kopii stránky. (Pokud přitom narazíme na nepěkné patové případy, mohli bychom se asi uchýlit zpět ke strategii zklidnění systému.)
S některými složitými situacemi by se dalo vypořádat vytvořením nového interního kernelového API, které by poskytlo způsob, jak některý subsystém upozornit, že potřebujeme informaci o vlastnictví stránky, nebo že určité stránky by měly být realokovány podle přání defragmentačního démona. Je zřejmé, že je tu spousta příležitostí to v této oblasti překombinovat, ale na druhou stranu je tu příležitost pro důmyslnou designovou práci, která přinese mnoho užitku zatímco se vyhne potenciální komplexnosti.
Defragmentace fyzické paměti je odrazovým můstkem pro stránky proměnných velikostí, které mám na seznamu jako další.
Objekty stránkové keše s proměnnou velikostí
Tato položka se určitě bude zdát natolik kontroverzní, nakolik ta první kontroverzní nebyla. Snad pomůže když budete vědět, že můj prototyp kódu dělaný pod 2.4 naznačuje, že celý systém bude nakonec menší a možná i trochu rychlejší. Pokud budeme mít stránky s proměnnou velikostí, budeme vlastně moci odstranit zmatené bufferové seznamy, kterou jsou (někdy) připojeny ke stránkám, a nakonec odstranit buffery úplně. Tradiční bufferové IO a datové operace mohou být jednoduše vyjádřeny pomocí stránek za předpokladu, že stránkové objekty budou moci nabývat stejného rozsahu velikosti jako teď mohou buffery. Bloková IO knihovna se rovněž zkrátí, protože mnoho smyčkování [looping] a práce se stavy [state handling] se stane nadbytečným.
V této souvislosti je "proměnnou velikostí" míněno, že každý strukturovaný objekt stránky může představovat datový rámec jakékoliv binární velikosti, včetně menší než je fyzická stránka. Aby měla implentace hlavu a patu, všechny stránky daného adresného prostoru budou stejné velikosti. Navíc objekty stránek menší než fyzická stránka jsou povoleny pouze paměti, za kterou stojí soubor, nikoliv anonymní paměti. Pravidla pro velké stránky je ještě třeba stanovit, nicméně vzhledem k tomu, že v této oblasti už probíhá mnoho práce, nebudu se tím dále zdržovat.
Nejzajímavějším aspektem stránek proměnných velikostí je způsob manipulace s nimi. V tom by mohl být zmatek, ale naštěstí je možný jednoduchý přístup. Struktury substránky stránky nemusí být v mem_map; místo toho mohou být dynamicky alokovány ze slab keše. Účetnictví navíc, které je potřeba v rámci operací stránkové keše, abychom neztratili přehled, není nijak moc a především nepřidává více než jeden sub-cyklus v případech, kdy nejsou substránky použity (a i tak očekávám, že tohle zdržení bude vynahrazeno kratšími a přímějšími cestami v knihovně blokových IO).
Jednou z výhod substránek, která možná není hned patrná, je příležitost k ušetření nějakého prostoru v mem_map poli: se substránkami začne být docela lákavé používat větší PAGE_CACHE_SIZE, tj. filesystém, který musí z nějakého důvodu používat malou velikost bloků, nebude způsobovat další velkou interní fragmentaci.
Ale pro mě je největší předností substránek příležitost odstranění nadbytečných stavových informací, které jsou teď sdíleny mezi stránkami a buffer_heads. Až do nynějška jsem nebyl moc úspěšný v přesvědčování o důležitosti tohoto zjednodušení, ale tentokrát bude kód důkazem.
Stránky proměnných velikostí přinesou okamžitý užitek souborovým systémům jako Ext2 a Ext3 v podobě větších limitů velikostí svazků a efektivnějších přenosů. Vedlejším účinkem bude pravděpodobná nutnost implementace tail merging-u u Ext2/3, aby mohla být kontrolována vzniklá zvýšená interní fragmentace - ale to je jiný příběh pro jinou konferenci.
Stránky proměnných velikostí by měly hezky zapadnout do právě probíhající práce na manipulaci s velkými (2 a 4 MB) stránkami a především to bude šikovné pro architektury jako MIPS, které mohou optimalizovat stránky s proměnnými velikostmi v hardware.
Pár stručných bodů:
Závisí na:
Jak to funguje:
Keš fyzických bloků
Tahle položka se přímo netýká správy paměti, ale protože to má vliv na stejné subsystémy, začlenil jsem ji do tohoto textu.
Stručně, keš fyzických bloků umožňuje vfs účinně odpovědět na otázku: "máš-li fyzický datový blok, řekni mi zda a kde je mapován do jakéhokoliv adresného prostoru na stejném svazku". To nemusí být až tak velká změna v existující strategii: normální vyhledání a další operace zůstanou dostupné. Avšak vfs získá dodatečnou zodpovědnost za udržování zvláštního adresného prostoru pro každý svazek koherentního s četnými adresnými prostory, za kterými stojí soubor, na svazku.
My už vlastně takové adresné prostory pro každý svazek máme a není už třeba tolik práce, aby bylo možno otestovat účinky zavedení koherence mezi těmito dvěma druhy adresných prostorů. Lze se na to dívat i tak, že plná koherence v této oblasti by dokončila práci na sjednocení stránkových a bufferových keší, která začala před pár lety.
Vzhledem k tomu, že jsem tento nápad probral s několika vývojáři, vím, že mohou nastat složité problémy s některými komplexnějšími filesystémy, např s Ext3. Naštěstí může být prototyp keše fyzických bloků adekvátně otestován i jen s Ext2, a tam moc problémů není. Pokud se ukáže, že to přináší výkonostní zlepšení, které očekávám, bude stát za to pracovat na rozšíření funkčnosti i pro další filesystémy.
Takže co jsou ta předpokládaná výkonostní zlepšení? Zatím jsem určil dvě:
Shrnutí
Berte prosím na vědomí, že všechno z toho je neoficiální, experimentální práce. Nicméně věřím, že všechny tři položky mají potenciál přinést výrazná zlepšení na poli spolehlivosti, účinosti a zřetelné správnosti.
Děkuji vám za trpělivost, kterou jste projevili dočtením až sem. Časový rámec pro tuto práci je:
Orion Poplawski si povšiml, že mnoho lidí má své vlastní kernelové stromy počínaje -ac stromem Alana Coxe, až po -mm strom Andrew Mortona. Orion se zeptal, jestli existují nějaké informace o tom, k čemu tyto různé stromy slouží.
Peter C. Ndikuwera řekl,
Brian Jackson Orionovi také odpověděl:
tady je to, co vím o různých sadách patchů:
z velké míry jsou všechny testovacím prostorem pro patche, které by jednou chtěly do vanilla kernelu
Další? Určitě. Možná by o tom měl být někde na webu udržován přehled.
Samuel Flory podotkl, že Alanův -ac strom
Adarsh Daheriya se zeptal, kde hledat
Peter Chubb oznámil:
Po té, co jsem se několikrát spálil, když jsem zapomněl na něco, co jsem měl udělat při poskytování patche oproti kernelu, vytvořil jsem Seznam úkonů před odevzdáním patchů, který najdete na
http://www.gelato.unsw.edu.au/IA64wiki/PatchReleaseChecklist
Pokud chcete, můžete do seznamu přidat další věci, na které jsem nepomyslel: ale musíte se zaregistrovat do Wiki.
Davida Mosbergera to velmi potěšilo a doporučil další informace k přidání do dokumentu. A Willy Tarreau zároveň navrhl, aby to bylo začleněno v adresáři Documentation zdrojových kódů kernelu.
Jeff Garzik oznámil:
údržbářská aktualizace, nic děsně nového nebo vzrušujícího. Především vylepšení zacházení s chybami a čistky (a pár opravených chyb - jen pro legraci).
GNU diff proti 2.4.21: ftp://ftp.kernel.org/pub/linux/kernel/people/jgarzik/patchkits/2.4/2.4.21-atascsi1.patch.bz2
BK repositář: bk://kernel.bkbits.net/jgarzik/atascsi-2.[45]
Repositář 2.5 je s ohledem na nejpozdější scsi api trochu zastaralý, ale ata-scsi ovladač sám o sobě je 100% sladěn se svým 2.4 protějškem (kvůli velkému množství změn v 2.5 scsi je 2.5 ovladač větví 2.4 ovladače).
podrobné změny:
Příště přijdou na řadu nějaké další host ovladače společně s řešením atapi chyb...
Jurgen Kramer to vyzkoušel a (po pár problémcích) zprovoznil. Ale řekl,
Robert L. Harris se zeptal, jestli nevadí používání GCC 3.3 pro kompilaci kernelu a Adrian Bunk odpověděl:
gcc 3.3 je relativně nové a o _mnoho_ méně testované než 2.95. Nové gcc může buď obsahovat chyby nebo může odhalit chyby v kernelu, které nebyly předtím viditelné (např. díky lepší optimalizaci).
Většinou funguje gcc 3.3 bez problému (a mé domácí PC běží s 2.4.21 kompilovaným pomocí 3.3), ale pokud chceš stabilitu v pracovním prostředí, 2.95 (nebo neoficiální 2.96 >= 2.96-74) je ten doporučovaný kompilátor.
Alan Cox také Robertovi řekl, že GCC 3.3 by pravděpodobně úspěšně zkompilovalo kernel samotný, ale
Andre Hedrick poskytl odkaz na článek v eWeeku popisující jak Sindibád: Legenda sedmi moří byl vůbec první film vytvořený pouze pomocí Linuxu. Bill Huey poznamenal,
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
$PATH je promenna prostredi, ktera obsahuje seznam adresaru, ktere interpret prikazove radky prohledava, kdyz chces spustit nejaky program. pokud dany program v jednom z uvedenych adresaru najde, spusti jej. pokud ne, nic se nestane, protoze o nem nevi.
v pripade te utilitky bude optimalni zkopirovat ji napr. do /usr/local/bin
. musis se jeste ujistit, ze je to spustitelny soubor. to se da zaridit treba takto: chmod +x jpegtran-rotate
.