Тотальний контроль над ШІ-кодом, легалізація Rust та постквантовий захист: що цікавого у Linux 7.0

Лінус Торвальдс офіційно представив реліз ядра Linux 7.0. Перехід до нової гілки з цифрою сім є здебільшого естетичним кроком, бо розробники вирішили змінити першу цифру номера версії через значне накопичення випусків у попередній серії, щоб уникнути дискомфорту від занадто довгих номерів.

Головні зміни

Згенерований код в ядрі Linux офіційно дозволено, але є нюанс

Одним із найцікавіших нововведень в цій версії стало офіційне затвердження правил використання ШІ при розробці. Тепер будь-який згенерований ШІ код має супроводжуватися спеціальним тегом Assisted-by. При цьому нейронкам та асистентам категорично заборонено додавати фінальний підпис Signed-off-by. Уся відповідальність за якість та ліцензійну чистоту коду повністю лежить на людині, яка надсилає зміни до ядра. Розробників зобов’язали власноруч і ретельно перевіряти результати роботи ШІ.

Мова Rust стає базовою можливістю

Підтримка мови програмування Rust перейшла з категорії експериментальних опцій до переліку основних можливостей ядра. Хоча за замовчуванням вона залишається вимкненою і не вимагається як обов’язкова залежність, але це свідчить про наміри спільноти закріпити Rust як другу повноцінну мову для розробки драйверів та модулів.

Прискорення роботи з пам’яттю

Також в оновленні додали механізм Swap Table для підкачки, який дозволив пришвидшити роботу системи завдяки зменшенню конкуренції за доступ до кешу та зниженню фрагментації.

Розумне витіснення завдань з PREEMPT_LAZY

Планувальник завдань для більшості популярних архітектур тепер за замовчуванням використовує режим PREEMPT_LAZY. Це рішення дозволяє зберегти миттєве витіснення для критичних завдань реального часу, але затримує його для звичайних процесів, що загалом підвищує швидкодію системи. Щоправда кажуть, що на системах ARM64 це призвело до падіння продуктивності у PostgreSQL, для вирішення якого розробникам баз даних запропонували використовувати нові опції подовження квантів часу.

Додано захист від квантових комп’ютерів

У сфері безпеки варто відзначити інтеграцію постквантового криптографічного алгоритму ML-DSA. Цей алгоритм базується на теорії решіток і залишається стійким навіть до перспективних спроб злому за допомогою квантових комп’ютерів. Тепер його можна використовувати для надійної автентифікації модулів ядра. Паралельно з цим розробники остаточно прибрали можливість завіряти модулі ядра за допомогою застарілого алгоритму SHA-1.

Покращення мережі та підготовка до WiFi 8

Мережева підсистема отримала підтримку розширення AccECN — покращений алгоритм, який дозволяє вузлам точніше сигналізувати про перевантаження каналів зв’язку без необхідності відкидати пакети даних. Тепер система може передавати кілька міток про перевантаження за один цикл. Також у ядрі з’явилася початкова технічна база для майбутнього стандарту WiFi 8.

Нова інфраструктура fserror та порожня Nullfs

Робота з файлами стала прозорішою завдяки новій інфраструктурі fserror. Вона стандартизує і спрощує передачу інформації про помилки вводу-виводу та пошкодження метаданих безпосередньо до програм користувача. Крім того, ядро поповнилося абсолютно порожньою файловою системою Nullfs. Вона не підтримує запис чи зберігання даних і слугує заглушкою під час ранніх етапів завантаження системи для подальшого монтування справжніх накопичувачів.

Інші зміни

  • Додано новий прапорець OPEN_TREE_NAMESPACE для системного виклику open_tree, що дозволяє прискорити запуск ізольованих контейнерів та спростити їх налаштування;
  • У XFS реалізовано нові можливості для моніторингу здоров’я файлової системи та додано фоновий процес xfs_healer для автоматичного відновлення;
  • Відроджено роботу над драйвером ntfs3 від Paragon Software та схвалено майбутнє включення нової реалізації ntfsplus;
  • Гіпервізор KVM отримав підтримку розширення ERAPS та можливість закріплення PMU за гостьовими системами;
  • У сокетах VSOCK з’явилася підтримка мережевих просторів імен, а алгоритм Cake тепер вміє розподіляти навантаження на кілька ядер;
  • Для прискорення завантаження BPF-програм у механізмі BTF задіяно бінарний пошук відлагоджувальної інформації;
  • Додано збірочні опції, які дозволяють прибрати штатного пінгвіна Tux під час завантаження ядра і підставити власний логотип;
  • Додано експериментальне дерево ремапінгу для файлової системи Btrfs та підтримку прямого вводу-виводу для блоків великого розміру;
  • Файлова система EROFS для стиснення даних тепер використовує алгоритм LZMA за замовчуванням;
  • Повністю видалено застарілий режим енергозбереження жорстких дисків laptop_mode;
  • Увімкнено використання сучасного протоколу мережевих файлових систем NFS 4.1 як базового стандарту;
  • Реалізовано підтримку розширення Thread Safety Analysis з компілятора Clang;
  • Видалено старий код підтримки початкового диска на базі linuxrc на користь сучасного механізму initramfs;
  • Змінено логіку зберігання стиснутих сторінок пам’яті у модулі zram для економії ресурсів процесора та заряду батареї при автономній роботі;
  • З’явилася можливість прикріплювати BPF-програми як фільтри безпеки до окремих операцій у системі асинхронного вводу-виводу io_uring;
  • Реалізовано гнучке керування доступом до токенів BPF через систему мандатного доступу SELinux;
  • Увімкнено підтримку апаратного захисту потоку виконання CFI для запобігання експлуатації вразливостей на процесорах RISC-V;
  • Оптимізовано обробку вхідних UDP-пакетів та додано підтримку механізмів апаратного прискорення для вкладених UDP-тунелів;
  • Значно розширено підтримку нового обладнання від AMD та Intel, а також додано написаний на Rust драйвер Nova для відеокарт NVIDIA із прошивками GSP;
  • Забезпечено коректну роботу комбінованих конекторів Type-C на сучасних пристроях з процесорами Apple Silicon;
  • Паралельно випущено повністю вільну версію ядра Linux-libre 7.0-gnu, з якої видалено всі пропрієтарні драйвери та закриті компоненти прошивок.

Загалом нова версія увібрала в себе понад п’ятнадцять тисяч виправлень від майже двох з половиною тисяч розробників, а розмір патча склав 56 мегабайт.

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

👍ПодобаєтьсяСподобалось10
До обраногоВ обраному0
LinkedIn
Ctrl + Enter
Ctrl + Enter

Підписатись на коментарі