Успех часто бывает единственной видимой разницей между гением и безумием (П. Буаст).

Вышло ядро Linux 7.3: FailFS, новый планировщик задач и другие улучшения


Вышло ядро Linux 7.3: FailFS, новый планировщик задач и другие улучшения

18 октября 2026 года Линус Торвальдс объявил о выпуске Linux 7.3 — новой версии ядра операционной системы Linux. Релиз включает изменения в управлении процессорным временем, работе файловых систем, виртуализации, графических драйверах и механизмах безопасности. Среди наиболее необычных нововведений — FailFS, специальная псевдофайловая система, которая намеренно блокирует операции с путями, а также системный вызов fchroot(), позволяющий менять корневой каталог процесса через файловый дескриптор.

Новый выпуск также улучшает планирование процессов в системах с большим количеством задач, расширяет возможности BPF и sched_ext, оптимизирует работу Btrfs и Ext4 и добавляет функции встроенного SMB-сервера. Отдельное внимание уделено управлению видеопамятью графических процессоров, что может быть полезно для компьютеров с ограниченным объёмом VRAM.

По данным LWN.net, в разработке Linux 7.3 участвовали 3021 разработчик, а число изменений, не относящихся к слиянию веток, достигло 18 765. В проекте также приняли участие 807 разработчиков, впервые отправивших свои изменения в ядро. Эти показатели отражают масштаб работы сообщества над новым выпуском.

 

Linux 7.3: основные изменения

Новая версия ядра развивается сразу по нескольким направлениям. Разработчики не ограничились добавлением поддержки новых устройств, а также переработали отдельные внутренние механизмы, влияющие на производительность, изоляцию процессов и взаимодействие программ с оборудованием.

К наиболее заметным нововведениям относятся:

  • FailFS и системный вызов fchroot() для дополнительной изоляции процессов.
  • Переработка планировщика CPU и завершение поддержки вложенных планировщиков в sched_ext.
  • Оптимизации производительности файловых систем Btrfs и Ext4.
  • Улучшенное управление видеопамятью для графических процессоров с ограниченным объёмом VRAM.
  • Новые возможности встроенного SMB-сервера ksmbd, включая поддержку сценариев резервного копирования Apple Time Machine.
  • Расширение возможностей BPF, виртуализации и мониторинга памяти виртуальных машин.
  • Дополнительная поддержка современных процессоров и графических решений AMD и Intel.
  • Улучшения механизмов безопасности и расширение инфраструктуры Rust в ядре.

 

Не все изменения будут одинаково заметны обычным пользователям. Одни рассчитаны на серверы и крупные многопроцессорные системы, другие — на разработчиков контейнеров, виртуальных машин и системных инструментов. При этом оптимизации графики и файловых систем потенциально могут принести пользу и домашним компьютерам.

 

FailFS: новая файловая система для изоляции процессов

Одним из самых необычных нововведений Linux 7.3 стала FailFS. Несмотря на название, это не обычная файловая система для хранения документов, а специальный механизм ядра, предназначенный для сценариев изоляции.

FailFS устроена так, чтобы операции, которые доходят до неё, завершались ошибкой EOPNOTSUPP — «операция не поддерживается». В отличие от обычного пустого каталога, в котором просто нет файлов, FailFS не предоставляет доступного пространства имён файловой системы для привычных операций с путями.

Это помогает процессу отказаться от обычного состояния файловой системы. Если корневой каталог или текущий рабочий каталог процесса находится в FailFS, стандартные обращения к абсолютным путям, абсолютным символическим ссылкам и путям относительно AT_FDCWD завершаются ошибкой.

Такой подход может быть полезен при построении более строгих сред изоляции. Вместо того чтобы полагаться исключительно на ограничения привычной файловой структуры, приложение может работать с ресурсами, к которым у него уже есть явно открытые файловые дескрипторы.

Подробное описание механизма опубликовано в официальной документации ядра Linux по FailFS. Это специальная внутренняя файловая система: её нельзя обычным образом смонтировать из пользовательского пространства, а размещать поверх неё другие файловые системы также нельзя.

 

Как работает новый системный вызов fchroot()

Вместе с FailFS в Linux 7.3 появился системный вызов fchroot(). Он выполняет задачу, похожую на традиционный chroot(), но принимает файловый дескриптор целевого каталога вместо пути к нему.

Обычный chroot() меняет корневой каталог процесса, задавая путь, относительно которого интерпретируются абсолютные имена файлов. Такой механизм давно применяется при создании изолированных окружений, хотя сам по себе не является полноценной границей безопасности и не заменяет другие средства изоляции.

fchroot() использует уже открытый файловый дескриптор. Это важно для программ, которые работают с современными интерфейсами ядра, где доступ к объектам организуется через заранее полученные дескрипторы, а не повторный поиск объекта по строковому пути.

Такой подход помогает избежать некоторых проблем класса TOCTOU — ситуации, когда объект может измениться между проверкой пути и последующим использованием. Поскольку приложение передаёт дескриптор уже открытого объекта, ядру не требуется повторно разрешать тот же путь для выбора целевого каталога.

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

Это может оказаться полезным для системных служб, контейнерных сред и приложений, которым требуется минимизировать зависимость от глобального состояния файловой системы. Однако для правильной работы разработчикам потребуется адаптировать код к новой модели доступа.

 

Планировщик CPU: более эффективное распределение процессорного времени

Значительная часть изменений Linux 7.3 связана с планировщиком задач — компонентом ядра, который решает, какой процесс или поток и в какой момент получит время процессора.

В многозадачной системе одновременно могут работать десятки и сотни процессов. Планировщик должен распределять вычислительные ресурсы так, чтобы система оставалась отзывчивой, а важные задачи не испытывали чрезмерных задержек. Особенно сложной эта задача становится на многоядерных процессорах, в контейнерах и на серверах, где приложения объединены в группы с разными приоритетами.

В Linux 7.3 переработан механизм группового планирования, использующий cgroups. Изменения касаются распределения весов между группами процессов и выбора задач для выполнения. Разработчики стремились уменьшить накладные расходы и устранить ситуации, когда распределение процессорного времени приводило к нежелательным задержкам.

В числе изменений — переход к единой очереди выполнения для группового планирования и новые варианты распределения весов. По информации KernelNewbies, режим concur выбран по умолчанию и ориентирован на более точное распределение ресурсов, хотя точность может сопровождаться дополнительными затратами на планирование.

Ядро также улучшает задержки планирования для задач с короткими временными интервалами выполнения и исправляет отдельные проблемы балансировки нагрузки на процессорах с неодинаковой производительностью ядер.

На практике эффект зависит от типа нагрузки. Для обычного рабочего стола изменения могут остаться незаметными, тогда как на загруженных серверах, в контейнерах и при одновременном выполнении большого количества процессов они способны улучшить отзывчивость и снизить накладные расходы.

 

sched_ext: собственные планировщики на базе BPF

В Linux 7.3 завершена реализация поддержки вложенных планировщиков в sched_ext. Этот механизм позволяет создавать альтернативные политики планирования задач с использованием BPF — технологии, которая даёт возможность безопасно выполнять ограниченные программы внутри ядра.

Идея заключается в том, чтобы предоставить разработчикам больше свободы при настройке распределения процессорного времени, не требуя каждый раз изменять стандартный планировщик ядра. Специализированный планировщик может учитывать особенности конкретной нагрузки: например, работу контейнеров, серверных служб или определённых классов приложений.

В новой реализации отдельные группы процессов cgroups могут использовать собственные BPF-планировщики. Это открывает возможности для более гибкой настройки системы, где разные группы задач обслуживаются по разным правилам.

Однако sched_ext не означает, что каждому пользователю следует самостоятельно заменять стандартный планировщик. Для обычного компьютера штатная конфигурация обычно остаётся наиболее разумным вариантом. Польза специализированных политик зависит от сценария эксплуатации и качества их реализации.

 

Btrfs и Ext4: ускорение операций с файлами

Linux 7.3 содержит несколько оптимизаций для популярных файловых систем Btrfs и Ext4. Эти изменения затрагивают ввод-вывод, синхронизацию записанных данных и операции, которые могут быть важны для серверов, рабочих станций и систем хранения.

В Btrfs улучшена работа с операциями fsync, которые позволяют приложению запросить синхронизацию изменений с устойчивым хранилищем. Подобные операции встречаются в системах журналирования, базах данных и программах, которым важно сохранить данные после сбоя.

Согласно описанию изменений на KernelNewbies, некоторые специфические сценарии с интенсивным использованием fsync могут демонстрировать существенное ускорение. В отдельных тестах приводятся улучшения до пяти раз, однако такие результаты относятся к определённым нагрузкам и не означают, что любая операция с Btrfs станет выполняться в пять раз быстрее.

Разработчики также исправили регрессии производительности прямого ввода-вывода и оптимизировали некоторые внутренние структуры данных, используемые при отслеживании блоков файловой системы.

В Ext4 улучшена производительность параллельной записи при прямом вводе-выводе, оптимизирована операция fallocate() и исправлена регрессия при буферизованной записи.

Эти изменения не превращают одну файловую систему в универсально лучшую. Btrfs и Ext4 имеют разные возможности и особенности, поэтому выбор между ними по-прежнему зависит от требований к снимкам состояния, целостности данных, управлению томами и характеру нагрузки.

 

Улучшения OverlayFS и NTFS3

OverlayFS, часто используемая в контейнерных окружениях, получила поддержку id-mapped mounts — монтирований с отображением идентификаторов пользователей и групп. Такие механизмы помогают согласовывать права доступа между разными пространствами имён и файловыми системами, что особенно полезно для контейнеров.

Поддержка отображения идентификаторов упрощает некоторые сценарии работы с владельцами файлов, когда пользователь внутри контейнера имеет другой идентификатор, чем соответствующий пользователь на хостовой системе. Это может уменьшить необходимость в дополнительных операциях изменения владельцев и облегчить управление файловыми слоями.

Драйвер NTFS3, предназначенный для работы с файловой системой Windows NTFS, получил начальную поддержку альтернативных потоков данных. В NTFS один файл может иметь несколько потоков данных, а не только основной поток с привычным содержимым. Такие возможности используются некоторыми функциями Windows и приложениями, хотя их практическая значимость зависит от конкретного сценария.

Кроме того, в Linux 7.3 удалена поддержка нескольких устаревших файловых систем, включая EFS и FreeVxFS. Они практически не обслуживались в течение длительного времени, и разработчики сочли дальнейшее сохранение соответствующего кода неоправданным.

 

ksmbd: улучшенная поддержка сетевых папок и Apple Time Machine

Встроенный SMB-сервер ядра Linux, известный как ksmbd, получил ряд улучшений. SMB — это сетевой протокол, который позволяет обмениваться файлами и предоставлять доступ к общим папкам между компьютерами и другими устройствами.

Одно из заметных нововведений — поддержка возможностей, необходимых для взаимодействия с резервным копированием Apple Time Machine. Благодаря этому Linux-серверы могут использоваться в большем количестве сценариев резервного копирования устройств Apple, если соответствующее программное обеспечение и конфигурация сервера настроены правильно.

Также добавлены улучшения, связанные с шифрованием SMB3 на уровне отдельных общих ресурсов и защищёнными соединениями SMB Direct. Это важно для организаций, которые используют Linux как файловый сервер и должны обеспечить конфиденциальность передаваемых данных.

При этом ksmbd — не единственный способ организовать SMB-сервер в Linux. На многих системах по-прежнему широко используется Samba, а выбор решения зависит от требований к функциональности, производительности, совместимости и администрированию.

 

FUSE и io_uring: меньше копирования данных

FUSE позволяет реализовывать файловые системы в пользовательском пространстве. Благодаря этому разработчики могут создавать файловые системы и интерфейсы хранения без необходимости реализовывать весь код внутри ядра. Такой подход применяется, например, в некоторых облачных хранилищах, шифрованных каталогах и специализированных системах доступа к данным.

В Linux 7.3 улучшено взаимодействие FUSE с io_uring — интерфейсом асинхронного ввода-вывода. Новые возможности позволяют использовать пулы буферов и сокращать ненужное копирование данных между областями памяти.

Снижение количества копирований способно уменьшить накладные расходы и требования к памяти при обработке запросов. Это особенно важно для систем, которые передают большие объёмы данных или обрабатывают множество параллельных операций.

Некоторые сценарии zero-copy требуют специальных прав и соответствующей поддержки со стороны приложения. Поэтому преимущества не возникают автоматически у любой файловой системы FUSE: результат зависит от реализации сервера и характера операций.

 

Виртуализация и управление памятью

В Linux 7.3 расширены возможности отслеживания рабочего набора памяти виртуальных машин. Под рабочим набором понимаются страницы памяти, к которым гостевая система активно обращается в течение определённого периода.

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

Для отслеживания добавлены возможности на базе userfaultfd, включая режим наблюдения за доступом к памяти. Он позволяет получать сведения об обращениях к определённым страницам без необходимости применять более тяжёлые обходные механизмы.

Подобные улучшения ориентированы преимущественно на инфраструктуру виртуализации, облачные платформы и разработчиков гипервизоров. Обычный пользователь настольного Linux, как правило, не будет напрямую взаимодействовать с этими функциями, но может получить косвенную пользу в виде более эффективного управления ресурсами виртуальных машин.

 

Графика AMD и Intel: улучшенное управление видеопамятью

В Linux 7.3 появились изменения, направленные на улучшение работы графических процессоров, особенно в ситуациях, когда видеопамяти недостаточно для всех активных приложений.

Если несколько программ одновременно используют значительный объём VRAM, драйверу приходится распределять ограниченный ресурс между ними. При неудачном распределении часть данных может перемещаться в системную память, доступную графическому процессору, что способно приводить к снижению производительности и нестабильному поведению приложений.

В новом ядре улучшены механизмы защиты и распределения видеопамяти для отдельных групп задач. Система может попытаться освободить менее приоритетные буферы, прежде чем отказать в выделении памяти более защищённым ресурсам.

Эти изменения особенно интересны владельцам видеокарт с небольшим объёмом VRAM. Однако они не увеличивают физическую память видеокарты и не гарантируют прироста FPS во всех играх. Итог зависит от драйвера, графического API, приложения и конкретной нагрузки.

Параллельно продолжается подготовка поддержки новых поколений процессоров AMD Zen 6 и графических решений AMD и Intel. В Linux 7.3 также присутствуют другие обновления драйверов и платформ, включая компоненты для ARM и RISC-V.

 

Безопасность: AppArmor, Landlock и BPF

Новый выпуск включает изменения в механизмах безопасности ядра. Среди них — улучшения загрузки политик AppArmor, расширение возможностей Landlock и более строгая обработка подписанных программ BPF.

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

BPF, в свою очередь, используется для широкого спектра задач: от сетевой обработки и наблюдения за системой до специализированных механизмов планирования. Поскольку программы BPF могут выполнять код в контексте ядра, проверка их безопасности и контроль разрешённых возможностей имеют большое значение.

Изменения Linux 7.3 дополняют уже существующие механизмы защиты, но не заменяют правильную настройку системы, своевременную установку обновлений и ограничение привилегий программ.

 

Поддержка Rust и нового оборудования

Продолжается развитие поддержки языка Rust в ядре Linux. Rust предоставляет средства управления памятью, позволяющие предотвращать некоторые классы ошибок, которые могут возникать при работе с указателями и ручным управлением ресурсами в C.

В Linux 7.3 расширены базовые возможности Rust и начата дополнительная работа по поддержке архитектуры PowerPC. Это не означает, что ядро целиком переписывается на Rust: язык постепенно используется в отдельных компонентах, а значительная часть существующего кода остаётся на C.

Выпуск также включает подготовку поддержки новых процессоров и устройств, обновления беспроводных адаптеров Realtek, графических драйверов и различных аппаратных платформ. Реальная доступность отдельных функций зависит от модели устройства, драйвера и конфигурации системы.

 

Как установить Linux Kernel 7.3

Исходный код и официальные сборки основного выпуска доступны на сайте Linux Kernel Archives. Однако наличие нового ядра на kernel.org не означает, что его нужно вручную устанавливать каждому пользователю Linux.

Большинство дистрибутивов распространяют ядро через собственные репозитории и обновляют его по своему графику. Rolling-release-системы обычно получают новые версии быстрее, тогда как стабильные дистрибутивы могут продолжать использовать поддерживаемую ветку с выборочными исправлениями безопасности и совместимости.

Перед обновлением стоит учитывать несколько моментов:

  • Проверить, доступно ли ядро 7.3 в официальных репозиториях используемого дистрибутива.
  • Убедиться, что драйверы видеокарты, Wi-Fi, звукового оборудования и другие необходимые модули совместимы с новой версией.
  • Сохранить возможность загрузки предыдущего ядра на случай несовместимости.
  • На сервере сначала протестировать обновление в тестовой среде и запланировать перезагрузку.
  • Для систем с проприетарными модулями проверить их поддержку новой версии ядра до установки.

 

Если дистрибутив пока не предлагает Linux 7.3, безопаснее дождаться официального обновления, чем устанавливать случайные пакеты из непроверенных источников. Пользователи, которым действительно необходима новая функция, могут рассмотреть самостоятельную сборку ядра, но такой вариант требует опыта и готовности решать возможные проблемы.

 

Стоит ли переходить на Linux 7.3 прямо сейчас?

Linux 7.3 содержит множество полезных улучшений, однако необходимость обновления зависит от конкретной системы. Для разработчиков ядра, администраторов серверов, создателей контейнерных платформ и специалистов по виртуализации релиз интересен новыми интерфейсами и оптимизациями.

Владельцы домашних компьютеров могут обратить внимание на изменения графической подсистемы, управление видеопамятью, драйверы новых устройств и улучшения планировщика. Но не следует ожидать, что после установки ядра автоматически ускорятся все игры, приложения или дисковые операции.

Если система работает стабильно, а используемый дистрибутив обеспечивает необходимые исправления безопасности, немедленный переход на свежую основную версию не всегда оправдан. На рабочих компьютерах и серверах особенно важно проверять совместимость и сохранять возможность отката.

 

Выводы

Linux Kernel 7.3 — масштабный выпуск, который объединяет изменения в безопасности, файловых системах, планировании процессов, виртуализации и аппаратной поддержке. В числе главных новшеств — FailFS и системный вызов fchroot(), позволяющие реализовывать дополнительные сценарии изоляции процессов, а также переработка группового планирования CPU и завершение поддержки вложенных планировщиков sched_ext.

Оптимизации Btrfs и Ext4 могут повысить производительность отдельных операций ввода-вывода, а изменения в FUSE и io_uring помогают сокращать накладные расходы при передаче данных. Улучшения управления видеопамятью представляют интерес для систем с ограниченным объёмом VRAM, хотя не гарантируют прироста производительности в каждом приложении.

Для серверов важны обновления ksmbd, виртуализации и механизмов безопасности, а расширение поддержки Rust и современных аппаратных платформ продолжает развивать технологическую базу ядра.

Обычным пользователям лучше устанавливать Linux 7.3 через официальные репозитории своего дистрибутива и учитывать совместимость оборудования. Это позволит получить преимущества нового ядра без лишнего риска для стабильности рабочей системы.

 

Часто задаваемые вопросы

Линус Торвальдс объявил о выпуске Linux 7.3 18 октября 2026 года. Исходный код доступен в официальном архиве ядра Linux.

FailFS — специальная псевдофайловая система ядра, которая намеренно завершает операции с путями ошибкой. Она предназначена для определённых сценариев изоляции процессов, а не для обычного хранения файлов.

Он позволяет менять корневой каталог процесса, используя файловый дескриптор вместо пути. Это помогает строить современные схемы изоляции и уменьшает зависимость от повторного разрешения путей.

Некоторые нагрузки могут получить преимущество от оптимизаций планировщика, файловых систем и графической подсистемы. Однако универсального прироста производительности нет: результат зависит от оборудования, драйверов и характера работы.

В ядре есть изменения управления видеопамятью и планирования процессов, которые могут помочь в определённых игровых сценариях. Но они не гарантируют увеличения FPS во всех играх и на всех видеокартах.

Разработчики оптимизировали отдельные операции ввода-вывода, синхронизацию данных и внутренние структуры файловых систем. В некоторых специализированных сценариях прирост может быть значительным, но он не распространяется на каждую операцию.

Встроенный SMB-сервер ядра получил улучшения шифрования и поддержку возможностей, необходимых для взаимодействия с Apple Time Machine. Практическая работа зависит от конфигурации сервера и клиентских устройств.

Обычно нет. Рекомендуется дождаться появления ядра в официальных репозиториях своего дистрибутива. Ручная установка подходит прежде всего опытным пользователям, которым нужны конкретные возможности нового выпуска.

Если предыдущая версия сохранена в системе и доступна в меню загрузчика, обычно можно загрузиться с неё при проблемах с новой версией. Перед обновлением важно проверить, что старое ядро не будет автоматически удалено.

Редактор: AndreyEx

Если статья понравилась, поделитесь ей в социальных сетях

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Это может быть вам интересно


Спасибо!

Теперь редакторы в курсе.

Прокрутить страницу до начала