Linux 6.9 прощается с Ext2, реализует улучшения поддержки и многое другое

Ядро Linux

Linux — в основном свободное ядро, похожее на ядро ​​Unix, — один из основных примеров бесплатного программного обеспечения с открытым исходным кодом.

В прошлое воскресенье Линус Торвальдс объявил о выпуске новой версии ядра Linux 6.9, которая включает в себя ряд существенных изменений, в том числе модуль dm-vdo для дедупликации и сжатия блочных устройств, улучшения режима прямого доступа к файлам в FUSE, возможность создания pidfd для отдельных потоков, реализацию механизма токенов BPF, поддержку Rust на системах ARM64 и многое другое.

В процессе разработки новой версии Linux 6.9 2,106 разработчиков внесли 15 680 исправлений . Размер патча составляет 54 МБ, изменения затрагивают 11 825 файлов, добавлено 687 954 строки кода и удалено 225 344 строки.

Что нового в ядре Linux 6.9?

В новой версии ядра Linux, 6.9, одной из наиболее заметных особенностей является внедрение нового драйвера dm-vdo в Device Mapper. Этот драйвер позволяет создавать виртуальные блочные устройства на основе существующих блочных устройств . Новое устройство предлагает такие функции, как дедупликация данных, сжатие данных, удаление пустых блоков и возможность увеличения размера блочного устройства по мере необходимости.

Ещё одно заметное изменение касается подсистемы FUSE, где была внедрена начальная реализация режима «сквозной передачи» . Это позволяет получать данные из файлов непосредственно на уровне ядра, избегая таким образом процесса, работающего в пользовательском пространстве. В определённых ситуациях это может значительно повысить производительность.

Кроме того, в Linux 6.9 файловая система Ext2 помечена как устаревшая. Это связано с тем, что драйвер поддерживает только 32-битные метки времени inode, которые будут переполнены 19 января 2038 года. Рекомендуется использовать ext4 вместо ext2, поскольку она обратно совместима с файловой системой Ext2.

Кроме того, начиная с версии ядра 5.15, старый драйвер NTFS был удален и заменен новым драйвером NTFS3 . Это произошло потому, что предыдущий драйвер не обновлялся много лет, находился в плохом состоянии и работал только в режиме чтения.

Кроме того, в другие файловые системы , такие как Btrfs, exFAT, F2FS, XFS и другие, были внесены многочисленные улучшения и оптимизации для повышения производительности, функциональности и совместимости с различными устройствами и потребностями в хранении данных.

В функцию pidfd_open () был введен флаг PIDFD_THREAD , позволяющий создавать PIDFD для отдельных потоков, а не только для лидера группы потоков. Кроме того, предлагается реализация псевдо-FS для доступа к PIDFD через виртуальную файловую систему.

В процессорах Intel Atom реализована защита от уязвимости RFDS . Она включает в себя обновление микрокода и использование инструкции VERW для очистки содержимого буферов микроархитектуры при возврате из ядра в пользовательское пространство.

Добавлена ​​базовая поддержка расширения AMD SEV-SNP (Secure Nested Paging) для защиты гостевых систем. Это расширение обеспечивает безопасную работу вложенных таблиц страниц памяти и защищает от определенных атак на процессоры AMD EPYC. KVM планирует интегрировать необходимые изменения для использования SNP в версии 6.10.

Модули IMA и EVM были перенесены в фреймворк LSM, что упростило код и объединило дублирующие функции. IMA проверяет целостность компонентов операционной системы с помощью цифровых подписей и хешей, а EVM защищает расширенные атрибуты файлов от атак, направленных на компрометацию их целостности.

Среди других существенных изменений можно отметить следующие :

  • Netfilter теперь позволяет определять таблицы из пользовательского пространства, связанные с управляющим фоновым процессом. В nftables добавление элементов в наборы с объединенными диапазонами было ускорено, что повысило эффективность системы фильтрации пакетов.
  • Проведены работы по реализации поддержки чипов Intel LunarLake, графических процессоров AMD RDNA3.5 и RDNA4, а также адаптации кода управления экраном под Nouveau. Драйвер Xe drm для графических процессоров на базе архитектуры Intel Xe был усовершенствован для использования в видеокартах Intel Arc и встроенной графике.
  • Добавлена ​​поддержка широкого спектра плат и устройств ARM, включая модели Rockchip, Allwinner, Qualcomm, Amlogic, Mediatek, NVIDIA, Renesas и Mobileye SoC на базе процессоров MIPS. Это расширяет совместимость ядра с различными платформами и устройствами.
  • В подсистему BPF был добавлен новый тип разделяемой памяти, bpf_arena, а также возможность генерировать произвольные файлы cookie TCP SYN из программ BPF и создавать драйверы BPF для борьбы с SYN-флудом.
  • Реализована поддержка параллельной инициализации страниц большой памяти (HugeTLB), что ускоряет процесс загрузки на системах с большим объёмом оперативной памяти.
  • Улучшения и оптимизации были внесены в несколько архитектур, включая ARM64, LoongArch и RISC-V, а также в определенные драйверы, такие как amd-pstate и параметр USB_DEFAULT_AUTHORIZATION_MODE для USB-устройств.
  • В такие инструменты, как perf и LLVM/Clang, были добавлены новые функции и улучшения, улучшающие возможности дизассемблирования инструкций процессора и оптимизирующие потребление памяти при выполнении определенных команд.
  • Линус Торвальдс отклонил предложение о более обширной переработке ядра с введением дополнительных определений типов, отдав предпочтение более конкретным решениям для устранения выявленных проблем.

Если вас заинтересовала более подробная информация, вы можете найти ее по следующей ссылке.


Добавить в качестве предпочтительного источника в Google