Jądro Linux 5.6 — czego oczekiwać w nowej wersji jądra

Premiera jądra Linux 5.6 zaplanowana jest na koniec marca. W dzisiejszym materiale omawiamy nadchodzące zmiany — nowy system plików, protokół WireGuard oraz aktualizacje sterowników.

Jądro Linux 5.6 — czego oczekiwać w nowej wersji jądra
Zdjęcie — lucas huffman Czym tak naprawdę jest problem

Wyczekiwany protokół VPN

David Miller, odpowiedzialny za podsystem sieciowy Linuksa, postanowił włączyć włączyć do jądra WireGuard. Jest to tunel VPN zaprojektowany przez firmę Edge Security. Pomysł dyskutowaliśmy pojawił się jeszcze dwa lata temu — wtedy to wsparł sam Linus Torvalds — jednak realizacja została odłożona. Projekt był mocno związany z funkcjami kryptograficznymi Edge Security. Ale pół roku temu autorzy nowego protokołu doszli do kompromisu i przełączyli się na wspierany przez jądro Crypto API.

Tak opinia, co w przyszłości pozwoli WireGuard zastąpić OpenVPN. Zgodnie z testów, przepustowość nowego protokołu jest cztery razy wyższa niż w przypadku OpenVPN: 1011 Mbit/s w porównaniu do 258 Mbit/s. Należy jednak zauważyć, że przejście na standardowy Crypto API może pogorszyć wyniki.

Kolejną cechą WireGuard jest to, że nie przerywa połączenia, nawet gdy użytkownik otrzyma nowy adres IP, i samodzielnie podejmuje decyzje dotyczące routingu. W tym celu każdemu interfejsowi sieciowemu przypisywany jest klucz prywatny. Jest on generowany za pomocą protokółu Diffiego-Hellmana. Samo szyfrowanie zbudowane opiera się na ChaCha20 oraz algorytmie Poly1305. Uważane są za ulepszone odpowiedniki AES-256-CTR oraz HMAC.

Nowy system plików

Ten system stała się Zonefs, zaprezentowany przez inżynierów Western Digital. Jest przeznaczony do pracy z zoniowanymi urządzeniami pamięci (zoned storage). Są to dyski blokowe, których przestrzeń adresowa podzielona jest na strefy (na przykład NVMe SSD). System plików pozwala traktować każdą strefę jako plik — to znaczy używać specjalnych API zamiast ioctl do interakcji ze SCN. Podobne podejście zastosowano w bazach danych RocksDB i LevelDB. Daje to możliwość zredukowania kosztów przenoszenia kodu, pierwotnie poprawionego do pracy z plikami.

W Linuksie istnieje już funkcja do interakcji z urządzeniami blokowymi. W jądrze wersji 4.13 pojawił się moduł dm-zoned. Przedstawia on zoniowany nośnik jako zwykłe urządzenie blokowe, a Zonefs stanie się alternatywą.

Jądro Linux 5.6 — czego oczekiwać w nowej wersji jądra
Zdjęcie — Suzan Kiršić Czym tak naprawdę jest problem

Oprócz wprowadzenia nowego systemu plików, programiści jądra Linux wprowadzili zmiany w istniejących. Dodano dodano mechanizmy kompresji LZO/LZ4 dla F2FS — ich wsparcie pozostanie na razie eksperymentalne. Będzie to wymagało ręcznego włączenia podczas montowania partycji (opcja algorytm_kompresji). To także aktualizacja otrzyma EXT4 — jest związany z operacjami bezpośredniego wejścia/wyjścia. Pakiet aktualizacyjny przedstawił inżynier z IBM, Ritesh Harjan. Według jego słów, w niektórych przypadkach poprawka może poprawić wydajność systemu plików o 140%.

Aktualizacje sterowników

W jądrze pojawi się nowy sterownik cpuidle_cooling. Jego zadanie — chłodzenie CPU/SoC, wbudowując cykle bezczynności w trakcie działania. W pewnym sensie przypomina to sterownik PowerClamp dla procesorów Intel, jednak nie jest przypisany do konkretnej architektury. System wydali specjaliści z Linaro, którzy zajmują się optymalizacją oprogramowania z otwartym kodem źródłowym dla platform ARM.

Również zostanie dodane wsparcie dla kart graficznych serii GeForce 20 (TU10x). Odpowiedni sterownik opracował Ben Skeggs z projektu Nouveau. Niestety, GeForce 16 (TU11x) pozostaną „na bocznym torze”. Nvidia nie dostarczyła obrazów oprogramowania układowego, niezbędnych do inicjalizacji karty. Nowe karty graficzne pod Linuksem mogą również mieć problemy z wydajnością z powodu braku dynamicznego przetaktowania — automatycznego zarządzania częstotliwością. W przeszłości ustalono, że sterowniki Nouveau mogą funkcjonować 20–30% wolniej niż oryginalne.

Jądro Linux 5.6 — czego oczekiwać w nowej wersji jądra
Zdjęcie — Andrew Abbate Czym tak naprawdę jest problem

Nowe jądro będzie wspierać USB4. Odpowiednie zmiany zapropnowano inżynierowie z Intela. Zmodyfikowali istniejącą bazę kodową związaną z Thunderbolt — to około dwóch tysięcy linii.

Oczywiście, to nie wszystkie aktualizacje, które trafią do jądra — na przykład można oczekiwać wsparcia dla dodatkowych urządzeń peryferyjnych i sieciowych. Kernel 5.6 będzie także pierwszym 32-bitowym jądrem, w którym zostanie rozwiązana problem roku 2038. Pod koniec stycznia inżynierowie wprowadzili ostateczne zmiany w nfsd, xfs, alsa i v4l2. Mają nadzieję, że w osiemnaście pozostałych lat użytkownicy i deweloperzy dystrybucji zdążą przejść na kernel 5.6 (lub jego kolejne wersje).

Materiały na ten temat z korporacyjnego bloga 1cloud.ru:

Jądro Linux 5.6 — czego oczekiwać w nowej wersji jądra Większość superkomputerów działa pod kontrolą systemu Linux — omawiamy sytuację
Jądro Linux 5.6 — czego oczekiwać w nowej wersji jądra Jak zabezpieczyć system Linux: 10 wskazówek

O czym piszemy na Habrze:

Jądro Linux 5.6 — czego oczekiwać w nowej wersji jądra Analizujemy zalecenia dotyczące ochrony danych osobowych i bezpieczeństwa — na co warto zwrócić uwagę
Jądro Linux 5.6 — czego oczekiwać w nowej wersji jądra Po raz pierwszy teleportowano foton z jednego chipu na drugi
Jądro Linux 5.6 — czego oczekiwać w nowej wersji jądra Jak sektor IT pomaga światu wyrzucać mniej jedzenia

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster