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