Linux реального времени возглавляет список новых функций ядра v6.12
В этом основном выпуске ядра добавлена расширенная поддержка различных аппаратных платформ и новых устройств. Даже Линус Торвальдс внес свой код.
Это заняло свое приятное время — более 20 лет! - но Linux реального времени наконец-то попал в основное ядро Linux. Он встроен в ядро Linux версии 6.12. Это крупный новый выпуск.
Отличительной особенностью Linux 6.12 является долгожданное включение поддержки PREEMPT_RT в реальном времени в основное ядро. Эта возможность значительно повышает производительность приложений реального времени, делая процессы ядра вытесняемыми. Linux реального времени теперь работает в 32-битных и 64-битных системах Intel/AMD, 64-битных архитектурах ARM и RISC-V.
Еще одним важным дополнением является новый расширяемый планировщик sched_ext, который использует технологию eBPF и предоставляет пользователям больший контроль над планированием процессов и расстановкой приоритетов. В частности, решения по планированию могут быть адаптированы к конкретным рабочим нагрузкам и вариантам использования, что дает разработчикам eBPF значительное повышение производительности для некоторых приложений.
Сложите все это вместе, и ядро Linux теперь будет полностью вытесняемым. Это позволяет Linux реагировать на события в течение микросекунд, что имеет решающее значение для приложений, требующих точного времени, таких как промышленные системы управления, робототехника и производство звука.
Linux 6.12 также обеспечивает расширенную поддержку различных аппаратных платформ:
- Первоначальная основная поддержка была добавлена для Raspberry Pi 5.
- Дальнейшая работа по внедрению AMD RDNA4 прокладывает путь для видеокарт Radeon следующего поколения.
- Поддержка графики Xe2 для Intel Lunar Lake и Battlemage теперь считается стабильной.
- Улучшена поддержка планшетов для рисования Wacom, включая прокрутку с высоким разрешением и улучшенное взаимодействие с сенсорным кольцом.
Ядро также поддерживает несколько новых устройств, в том числе игровой карманный компьютер GameForce Ace на базе ARM и одноплатные компьютеры ODROID-M15 и ODROID-M2.
Несколько файловых систем также получили обновления:
- В XFS появилась поддержка размеров блоков, превышающих размер страницы.
- EROFS теперь поддерживает монтирование образов файловой системы, хранящихся в файлах.
- Улучшения файловых систем Btrfs, exFAT, FUSE, F2FS и Bcachefs.
- NTFS теперь предоставляет больше информации о пространствах имен монтирования.
Linux 6.12 также поставляется с QR-кодами ошибок для ядра Linux и паническими экранами Direct Rendering Manager (DRM). Это значительно упрощает отладку сбоев Linux, чем попытки разобраться в потоке текстовых сообщений об ошибках.
Линус Торвальдс, который в наши дни тратит гораздо больше времени на управление кодом Linux, чем на его написание, предложил новый метод маскировки адресов в пользовательском пространстве. Конечным результатом этого является ускорение некоторых процессов памяти.
Торвальдс также работал над небольшим патчем разработчика ядра Джошем Пуамбефом, который привел к значительному улучшению производительности. Это исправление для 64-битной функции copy_from_user() привело к улучшению на 2,6% теста Intel «будет ли масштабироваться» для каждого потока операций.
Программисты Rust будут рады увидеть многочисленные небольшие улучшения в поддержке Rust в Linux, включая улучшенную документацию по Rust для разработчиков Linux.
Забегая вперед, ожидается, что в этом году Linux 6.12 станет версией ядра с долгосрочной поддержкой (LTS), а это означает, что она будет получать поддержку в течение двух лет. Ядро Linux 6.12 с обширным списком улучшений и новых возможностей представляет собой существенный шаг вперед для операционной системы с открытым исходным кодом, особенно в области вычислений в реальном времени, аппаратной поддержки и общей производительности.