Ядро Linux є основою операційних систем (ОС) Linux і є основним інтерфейсом між апаратним забезпеченням комп’ютера та його процесами.
Минулого тижня Лінус Торвальдс оголосив про загальну доступність нова версія Ядро Linux 6.8, версія, яка тривала кілька місяців і мала деякі затримки через більшу кількість поставок, ніж зазвичай. Цей випуск містить кілька основних моментів, таких як lСумісність з процесором Broadcom BCM2712 на Raspberry Pi 5 Пом'якшення діапазону Wi-Fi RFI (WBRF) від AMD на основі ACPI, новий графічний драйвер Intel Xe DRM і підтримка fscrypt у CephFS, серед іншого.
один з Найбільш важливим моментом є початкова підтримка Rust архітектури LoongArch і здатність Rust розробляти мережеві драйвери PHY. Незважаючи на те, що Linux 6.7 не такий великий випуск, як Linux 6.8, Linux XNUMX реалізує велику кількість змін і вдосконалень.
Основні нові функції Linux 6.8
У цій представленій новій версії Linux 6.8 підсистема Zswap було вдосконалено завдяки можливості примусового очищення холодних сторінок пам’яті до яких не було доступу та, ймовірно, залишаться невикористаними, активуючись у ситуаціях нестачі оперативної пам’яті. Zswap працює шляхом кешування сторінок, які витісняються до розділу підкачки, стискаючи їх у оперативну пам’ять, коли це можливо, замість того, щоб скидати їх нестиснутими на диск. Крім того, Zswap представляє новий режим, який вимикає запис у фактичний розділ підкачки якщо запис невдалий, також запобігання завантаженню сторінок, які вже знаходяться в пулі Zswap на розділі підкачки.
Щодо планувальник завдань, інтегрований серверний механізм SCHED_DEADLINE, який вирішує проблему недовикористання ресурсів ЦП звичайними завданнями, коли центральний процесор монополізований високопріоритетними завданнями (в реальному часі). Раніше ядро використовувало механізм регулювання в реальному часі, який резервував 5% ЦП для завдань з низьким пріоритетом, залишаючи 95% для завдань у реальному часі.
Linux 6.8 тепер містить драйвер Xe DRM, розроблений для графічних процесорів на основі архітектури Intel Xe, присутня у відеокартах сімейства Intel Arc і в інтегрованій графіці, починаючи з процесорів Tiger Lake. Цей драйвер Xe не залежить від коду, який підтримує старіші платформи, і зосереджується на оптимальній роботі нових мікросхем. Він використовує оновлену архітектуру, яка краще використовує підсистему DRM і компоненти драйвера i915, які є загальними та не прив’язані до конкретних GPU.
Контролер Nouveau налаштовано на використання функцій мікропрограми GSP за замовчуванням на графічних процесорах NVIDIA на основі Turing і Ampere. Це означає, що операції ініціалізації та керування GPU виконуються окремим мікроконтролером GSP, а не безпосередньо програмуються операції для взаємодії з обладнанням.
Зі свого боку контролер AMDGPU покращив свою підтримку завдяки включенню ACPI WBRF і VPE DPM, зміни в обробці каналів PCIe, використання 64-бітних порядкових номерів у чергах синхронізації, додавання специфічних механізмів керування кольором AMD та вирішення проблем, пов’язаних із режимом сну.
Крім того, було додано sпідтримка ігрових контролерів NSO (Nintendo Switch Online) як варіанти старих контролерів SNES, Genesis і N64, адаптовані для Nintendo Switch. Також додано драйвер для геймпадів Adafruit Seesaw, а на контролері xpad включена підтримка контролерів Lenovo Legion Go.
Також наголошується, що я знаю, що а новий режим для блокування прямого запису для блокування пристроїв, які мають змонтовані файлові системи. Коли цей режим увімкнено, користувач root не зможе вносити зміни у файлову систему шляхом маніпуляцій на рівні блокового пристрою. Важливо, що цей режим вимкнено за замовчуванням, і щоб увімкнути його, під час збирання потрібно вказати параметр BLK_DEV_WRITE_MOUNTED.
З інші зміни, які виділяються:
- Додано початкову реалізацію драйвера для графічного процесора Broadcom VideoCore 7.1, який використовується в платах Raspberry Pi 5.
- Додано драйвер для графічних процесорів серії PowerVR 6 на основі мікроархітектури Rogue Imagination Technologies.
- Додано підтримку контролерів Thunderbolt/USB4, інтегрованих у мікросхеми на основі мікроархітектури Intel Lunar Lake.
- AMD внесла зміни, пов'язані з підтримкою майбутніх серій процесорів на базі нової мікроархітектури Zen 5.
- Було додано системні виклики listmount() і statmount(), що дозволяє отримувати детальну інформацію про змонтовані файлові системи з простору користувача.
- У файловій системі XFS продовжується робота над можливістю використання утиліти fsck для перевірки та вирішення виявлених проблем в режимі онлайн без демонтування файлової системи.
- Ext4 реалізував виклик dioread_nolock для блоків, менших за сторінку пам’яті, покращуючи продуктивність шляхом усунення непотрібних блокувань.
- Btrfs додав підтримку прапора монтування «nospace_cache», щоб вимкнути вільний кеш блоків.
- AppArmor перейшов на алгоритм SHA-256 для перевірки правил, замінивши попередні хеші SHA-1.
- Функцію strlcpy(), яка була включена в Glibc 2.38 C, було видалено з ядра. Ця функція є альтернативою strncpy() із захистом від переповнення буфера.
- У KVM додано підтримку підсистеми guest_memfd (спершу гостьова пам’ять), яка забезпечує функції керування пам’яттю для організації конфіденційних обчислень у гостьовому середовищі.
Нарешті, якщо вам цікаво дізнатися більше про це, ви можете ознайомитися з деталями За наступним посиланням.