Jądro Linux jest kręgosłupem systemów operacyjnych Linux (OS) i jest podstawowym interfejsem między sprzętem komputera a jego procesami.
W zeszłym tygodniu Linus Torvalds ogłosił powszechną dostępność nowa wersja Jądro Linux 6.8, wersji, która trwała kilka miesięcy i charakteryzowała się pewnymi opóźnieniami ze względu na większą niż zwykle liczbę dostaw. To wydanie zawiera kilka najważniejszych funkcji, takich jak lKompatybilność z procesorem Broadcom BCM2712 na Raspberry Pi 5, Ograniczanie pasma Wi-Fi RFI (WBRF) firmy AMD, nowy sterownik graficzny Intel Xe DRM i obsługa fscrypt w CephFS.
Jednym z Najważniejszym punktem jest początkowe wsparcie Rusta dla architektury LoongArch oraz zdolność Rusta do tworzenia sterowników sieciowych PHY. Chociaż nie jest to tak duża wersja jak Linux 6.7, Linux 6.8 wprowadza dużą liczbę zmian i ulepszeń.
Główne nowe funkcje Linuksa 6.8
W prezentowanej nowej wersji Linuksa 6.8 podsystem Zswap został ulepszony dzięki możliwości wymuszenia opróżnienia zimnych stron pamięci do których nie uzyskano dostępu i prawdopodobnie pozostaną nieużywane, aktywując się w sytuacjach niedoboru pamięci RAM. Zswap działa poprzez buforowanie stron, które są eksmitowane na partycję wymiany, kompresując je do pamięci RAM, gdy tylko jest to możliwe, zamiast wyrzucać je nieskompresowane na dysk. Oprócz, Zswap wprowadza nowy tryb, który uniemożliwia zapis na rzeczywistej partycji wymiany jeśli zapis się nie powiedzie, uniemożliwi to również pobranie stron, które znajdują się już w puli Zswap na partycji wymiany.
Jeśli chodzi harmonogram zadań, zintegrowany został mechanizm serwerowy SCHED_DEADLINE, który rozwiązuje problem niedostatecznego wykorzystania zasobów procesora przez regularne zadania, gdy procesor jest zmonopolizowany przez zadania o wysokim priorytecie (w czasie rzeczywistym). Wcześniej jądro korzystało z mechanizmu dławienia w czasie rzeczywistym, który rezerwował 5% procesora na zadania o niskim priorytecie, pozostawiając 95% na zadania czasu rzeczywistego.
Linux 6.8 zawiera teraz sterownik Xe DRM przeznaczony dla procesorów graficznych opartych na architekturze Intel Xe, obecne w kartach graficznych z rodziny Intel Arc oraz w zintegrowanej grafice od procesorów Tiger Lake i nowszych. Ten sterownik Xe jest niezależny od kodu obsługującego starsze platformy, skupiając się na optymalnym działaniu nowych układów. Wykorzystuje ulepszoną architekturę, która lepiej wykorzystuje podsystem DRM i komponenty sterownika i915, które są ogólne i niezwiązane z konkretnymi procesorami graficznymi.
Kontroler Nouveau został skonfigurowany do korzystania z funkcji oprogramowania sprzętowego GSP domyślnie na procesorach graficznych NVIDIA opartych na architekturze Turing i Ampere. Oznacza to, że operacje inicjalizacji i sterowania GPU są wykonywane przez oddzielny mikrokontroler GSP, a nie bezpośrednio programowanie operacji w celu interakcji ze sprzętem.
Ze swojej strony kontroler AMDGPU poprawiło swoje wsparcie poprzez dodanie ACPI WBRF i VPE DPM, zmiany w przetwarzaniu kanałów PCIe, zastosowanie 64-bitowych numerów sekwencyjnych w kolejkach synchronizacji, dodanie specyficznych dla AMD mechanizmów zarządzania kolorami i rozwiązanie problemów związanych z trybem uśpienia.
Dodatkowo dodano sobsługa kontrolerów gier NSO (Nintendo Switch Online) jako warianty starych kontrolerów SNES, Genesis i N64, przystosowane do Nintendo Switch. Dodano także sterownik dla gamepadów Adafruit Seesaw, a na kontrolerze xpad włączono obsługę kontrolerów Lenovo Legion Go.
Podkreślono także, że wiem, że a nowy tryb blokujący bezpośredni zapis na urządzeniach blokujących, które mają zamontowane systemy plików. Gdy ten tryb jest włączony, użytkownik root nie będzie mógł wprowadzać zmian w systemie plików poprzez manipulacje na poziomie urządzenia blokowego. Co ważne, tryb ten jest domyślnie wyłączony i podczas montażu należy podać parametr BLK_DEV_WRITE_MOUNTED, aby go włączyć.
z inne zmiany, które się wyróżniają:
- Dodano wstępną implementację sterownika dla procesora graficznego Broadcom VideoCore 7.1 używanego w płytach Raspberry Pi 5.
- Dodano sterownik dla procesorów graficznych PowerVR z serii 6 opartych na mikroarchitekturze Rogue firmy Imagination Technologies.
- Dodano obsługę kontrolerów Thunderbolt/USB4 zintegrowanych z chipami opartymi na mikroarchitekturze Intel Lunar Lake.
- AMD wprowadziło zmiany związane ze obsługą przyszłej serii procesorów opartych na nowej mikroarchitekturze Zen 5.
- Dodano wywołania systemowe listmount() i statmount(), umożliwiające uzyskanie szczegółowych informacji o zamontowanych systemach plików z przestrzeni użytkownika.
- W systemie plików XFS trwają prace nad możliwością wykorzystania narzędzia fsck do sprawdzania i naprawiania zidentyfikowanych problemów online, bez konieczności odmontowywania systemu plików.
- Ext4 zaimplementował wywołanie dioread_nolock dla bloków mniejszych niż strona pamięci, poprawiając wydajność poprzez eliminację niepotrzebnych blokad.
- Btrfs dodał obsługę flagi montowania „nospace_cache”, aby wyłączyć pamięć podręczną wolnych bloków.
- AppArmor przeszedł na algorytm SHA-256 do weryfikacji reguł, zastępując poprzednie skróty SHA-1.
- Funkcja strlcpy() zawarta w Glibc 2.38 C została usunięta z jądra. Ta funkcja jest alternatywą dla strncpy() z zabezpieczeniem przed przepełnieniem bufora.
- KVM dodał obsługę podsystemu Guest_memfd (najpierw pamięć gościa), który zapewnia funkcje zarządzania pamięcią w celu organizowania poufnych obliczeń w środowisku gościa.
Na koniec, jeśli chcesz dowiedzieć się więcej na ten temat, możesz zapoznać się ze szczegółami W poniższym linku.