Linux je většinou svobodné jádro podobné unixovému jádru a je jedním z hlavních příkladů svobodného a open source softwaru.
Minulou neděli Linus Torvalds oznámil vydání nového linuxového jádra verze 6.9, které přichází s řadou významných změn, včetně modulu dm-vdo pro deduplikaci a kompresi blokových zařízení, vylepšení režimu přímého přístupu k souborům ve FUSE, možnosti vytvářet pidfds pro jednotlivá vlákna, implementace mechanismu tokenů BPF, podpory pro Rust na systémech ARM64 a mnoha dalších.
Při vývoji této nové verze Linuxu 6.9 bylo implementováno 15 680 oprav od 2 106 vývojářů. Velikost záplaty je 54 MB, změny ovlivňují 11 825 souborů a bylo přidáno 687 954 řádků kódu a 225 344 řádků odstraněno.
Co je nového v linuxovém jádře 6.9?
V této nové verzi linuxového jádra 6.9 je jednou z nejvýznamnějších funkcí zavedení nového ovladače dm-vdo v Device Mapperu. Tento ovladač umožňuje vytváření virtuálních blokových zařízení na základě existujících blokových zařízení . Toto nové zařízení nabízí funkce, jako je deduplikace dat, komprese dat, odstraňování prázdných bloků a možnost zvětšit velikost blokového zařízení dle potřeby.
Další pozoruhodná změna je v subsystému FUSE, kde byla zavedena počáteční implementace režimu „passthrough“ . To umožňuje načítání dat ze souborů přímo na úrovni jádra, čímž se zabrání procesu běžícímu v uživatelském prostoru. To může v určitých situacích výrazně zlepšit výkon.
Dále byl v Linuxu 6.9 souborový systém Ext2 označen jako zastaralý. Důvodem je, že ovladač podporuje pouze 32bitové inode časová razítka, která 19. ledna 2038 přetečou. Doporučuje se používat ext4 místo ext2, protože je zpětně kompatibilní se souborovým systémem Ext2.
Kromě toho byl starý ovladač NTFS od verze jádra 5.15 odstraněn a nahrazen novým ovladačem NTFS3 . Důvodem bylo, že předchozí ovladač nebyl po mnoho let aktualizován, byl ve špatném stavu a fungoval pouze v režimu pouze pro čtení.
Kromě toho bylo v dalších souborových systémech, jako jsou mimo jiné Btrfs, exFAT, F2FS, XFS, zavedeno několik vylepšení a optimalizací s cílem zlepšit výkon, funkčnost a kompatibilitu s různými zařízeními a potřebami úložiště.
Ve funkci pidfd_open () byl zaveden příznak PIDFD_THREAD , který umožňuje vytváření souborů pidfd pro jednotlivá vlákna, nikoli pouze pro vedoucího skupiny vláken. Dále je navržena implementace pseudo-FS pro přístup k souborům pidfd prostřednictvím virtuálního souborového systému.
V procesorech Intel Atom byla implementována ochrana proti zranitelnosti RFDS . Ta zahrnuje aktualizaci mikrokódu a použití instrukce VERW k vymazání obsahu vyrovnávacích pamětí mikroarchitektury při návratu z jádra do uživatelského prostoru.
Byla přidána základní podpora pro rozšíření AMD SEV-SNP (Secure Nested Paging) pro ochranu hostů. Toto rozšíření zajišťuje bezpečný provoz vnořených tabulek stránek paměti a chrání před specifickými útoky na procesory AMD EPYC. KVM plánuje integrovat nezbytné změny pro použití SNP ve verzi 6.10.
Moduly IMA a EVM byly migrovány do frameworku LSM, což zjednodušuje kód a kombinuje duplicitní funkce. IMA ověřuje integritu komponent operačního systému pomocí digitálních podpisů a hashů, zatímco EVM chrání rozšířené atributy souborů před útoky, které se snaží ohrozit jejich integritu.
Mezi další významné změny patří :
- Netfilter nyní umožňuje definovat tabulky z uživatelského prostoru, které jsou propojeny s procesem řízení na pozadí. V nftables bylo přidávání položek do sad se sloučenými rozsahy zrychleno, což zlepšilo efektivitu systému filtrování paketů.
- Pracovalo se na implementaci podpory pro čipy Intel LunarLake, AMD RDNA3.5 a RDNA4 GPU a také na přizpůsobení kódu ovládání obrazovky Nouveau. Ovladač Xe drm pro GPU založené na architektuře Intel Xe byl pokročilý pro použití ve grafických kartách Intel Arc a integrované grafice.
- Přidána podpora pro širokou škálu ARM desek a zařízení, včetně modelů od Rockchip, Allwinner, Qualcomm, Amlogic, Mediatek, NVIDIA, Renesas a Mobileye SoC založené na procesorech MIPS. To rozšiřuje kompatibilitu jádra s různými platformami a zařízeními.
- Do subsystému BPF byl přidán nový typ sdílené paměti, bpf_arena, spolu se schopností generovat libovolné soubory cookie TCP SYN z programů BPF a vytvořením ovladačů BPF pro boj proti zahlcení SYN.
- Byla implementována podpora pro paralelní inicializaci stránek s velkou pamětí (HugeTLB), která urychluje proces spouštění na systémech s velkým množstvím paměti RAM.
- Vylepšení a optimalizace byly provedeny na několika architekturách, včetně ARM64, LoongArch a RISC-V, a také na konkrétních ovladačích, jako je amd-pstate a nastavení USB_DEFAULT_AUTHORIZATION_MODE pro zařízení USB.
- Do nástrojů, jako je perf a LLVM/Clang, byly přidány nové funkce a vylepšení, které zlepšují schopnosti procesoru rozkládat instrukce a optimalizují spotřebu paměti při provádění určitých příkazů.
- Linus Torvalds odmítl návrh na rozsáhlejší redesign jádra se zavedením dalších typových definic a rozhodl se pro konkrétnější řešení pro řešení zjištěných problémů.
Pokud máte zájem dozvědět se více, podrobnosti naleznete na následujícím odkazu.