Изходът на Linux kernel 5.6 е насрочен за края на март. В нашия днешен материал обсъждаме предстоящите промени — новата файлова система, протокола WireGuard и ъпдейтите на драйверите.
Снимка — — Unsplash
Дългоочакваният VPN-протокол
Дейвид Милър (David Miller), отговорен за мрежовата подсистема на Linux, реши в състава на ядрото WireGuard. Това е VPN тунел, разработен от сигурностната компания Edge Security. Идеята появи се преди две години — тогава тя от самия Линус Торвалдс — но реализацията беше отложена. Проектът беше силно свързан с криптофункциите на Edge Security. Но преди половин година авторите на новия протокол постигнаха компромис и на поддържания от ядрото Crypto API.
Има , че в перспектива WireGuard може да замени OpenVPN. Според , пропускателната способност на новия протокол е четири пъти по-висока, отколкото на OpenVPN: 1011 Мбит/с спрямо 258 Мбит/с. Но тук трябва да се отбележи, че преминаването на стандартния Crypto API може да влоши показателите.
Още една особеност на WireGuard е, че той , дори ако потребителят получи нов IP адрес, и самостоятелно решава въпросите за маршрутизацията. За тези цели на всеки мрежов интерфейс се привързва таен ключ. Той се генерира с помощта на . Самото криптиране е на ChaCha20 и алгоритъма . Те се смятат за подобрени аналози на AES-256-CTR и .
Новата файлова система
Тази система Zonefs, представена от инженерите на Western Digital. Тя е предназначена за работа с зонирани устройства за съхранение (). Това са блочни носители, адресното пространство на които е разделено на зони (например, NVMe SSD). Файлова система позволява да се обработва всяка зона като файл — тоест да се използват специални API вместо за достъп до СХД. Подобен подход е използван в бази данни RocksDB и LevelDB. Той позволява да се намалят разходите за пренос на код, първоначално проектиран за работа с файлове.
В Linux вече съществува функция за взаимодействие с блочни устройства. В ядрото на версия 4.13 модул dm-zoned. Той представя зонирано хранилище като обикновено блочно устройство, а Zonefs ще бъде алтернатива.

Снимка — — Unsplash
Освен внедряването на новата файлова система, разработчиците на Linux kernel са направили промени в съществуващите. Бяха механизми за компресия / за F2FS — тяхната поддръжка все още ще остане експериментална. Ще трябва да бъде активирана ръчно при монтиране на дяла (опция compress_algorithm). Също така, ъпгрейд EXT4 — той е свързан с операции за директен вход/изход. Пакетът с актуализации беше представен от инженера на IBM Ритеш Харжан (Ritesh Harjan). Според , в някои случаи пачът може да увеличи производителността на файловата система с 140%.
Актуализации на драйверите
В ядрото ще се появи нов драйвер cpuidle_cooling. Неговата цел е да охлади CPU/SoC, вграждайки бездействия по време на работа. В известен смисъл той напомня на драйвера PowerClamp за Intel процесори, но не е свързан с определена архитектура. Системата специалисти от Linaro, които работят по оптимизация на софтуер с отворен код за ARM платформи.
Също поддръжка на видеокарти от серия GeForce 20 (TU10x). Съответният драйвер е разработен от Бен Скеггс (Ben Skeggs) от проекта Nouveau. За съжаление, GeForce 16 (TU11x) все още ще останат „извън борда“. Nvidia не предостави образи на фърмуера, необходими за инициализация на картата. Също така, новите видео карти под Linux може да имат проблеми с производителността поради липса на реклокинг — автоматично управление на честотата. В миналото е установено, че драйверите Nouveau с 20–30% по-бавно от оригиналните.

Снимка — — Unsplash
Още ново ядро USB4. Съответните промени инженерите от Intel. Те модифицираха съществуващата кодова база, свързана с Thunderbolt — това са приблизително две хиляди реда.
Разбира се, това не са всички актуализации, които ще дойдат в ядрото — например, поддръжка на допълнителна периферия и мрежови устройства. Освен това, ядро 5.6 ще стане първото 32-битово ядро, където . В края на януари инженерите финалните промени в nfsd, xfs, alsa и v4l2. Те се надяват, че за осемнадесетте оставащи години потребителите и разработчиците на дистрибуции ще успеят да преминат на ядро 5.6 (или неговите последващи версии).
Материали по темата от корпоративния блог 1cloud.ru:
![]()
![]()
За какво пишем на Хабра:
![]()
![]()
![]()
Източник: habr.com
