Вышел тяжелый метал Linux 6.6
Новая версия Linux уже здесь. Скорее всего, она станет следующей версией Linux с долгосрочной поддержкой, поэтому она заслуживает вашего внимания.
Прежде чем Линус Торвальдс объявил о выпуске ядра Linux 6.6, он сказал, что об этом также был снят музыкальный документальный фильм — который на самом деле был музыкальным видео Iron Maiden на песню «The Number Of The Beast». Хотя есть люди, которые одновременно являются фанатами хэви-метала и открытого исходного кода, в частности Джоно Бэкон, я не знал, что Торвальдс тоже был частью этой толпы.
Как бы то ни было, Торвальдс сказал: «У меня больше нет никаких оправданий откладывать выпуск версии 6.6, так что вот она». И в этом выпуске, помимо обычного набора исправлений и драйверов, мы находим попурри из новых функций.
Единственная особенность, которая привлекла мое внимание, — это встроенный в ядро SMB3-сервер KSMBD. KSMBD, разработанный Samsung, представляет собой новый модуль ядра, который внедряет серверную часть протокола обмена файлами SMB3 в сердце Linux. Этот модуль находился в разработке уже много лет, и ему потребовалось время. Первые версии KSMBD отличались большим количеством проблем с безопасностью. К счастью, сейчас эти проблемы устранены.
Появление KSMBD действительно ставит вопрос: «Зачем помещать SMB-сервер в ядро, если Samba существует уже несколько десятилетий?» На этот вопрос есть два ответа. Первый ответ: KSMBD имеет очень небольшую поверхность атаки, а поскольку протоколы передачи файлов часто подвергаются атакам, это важно. Второй ответ заключается в том, что KSMBD должен работать быстрее благодаря оптимизированным операциям передачи данных и совместного использования файлов, а также поддержке удаленного прямого доступа к памяти (RDMA).
Многие люди также воодушевлены появлением самого раннего подходящего виртуального планировщика сроков (EEVDF). Планировщик EEVDF заменяет планировщик Completely Fair Scheduler (CFS), который существует с 2007 года. Эти планировщики управляют распределением процессорного времени между процессами Linux, поэтому ни один процесс не тратит время процессора.
CFS проделал достаточно хорошую работу. Но с годами стало ясно, что, хотя некоторым процессам и не требуется много процессорного времени, когда оно им действительно нужно, оно им нужно прямо сейчас. В то же время другим процессам может потребоваться больше процессорного времени, но они могут дождаться своей очереди. EEVDF решает эти проблемы с задержкой более эффективно, чем CFS.
Под капотом, как писал его создатель Питер Зийлстра, EEVDF «полностью перерабатывает базовый планировщик, размещение, вытеснение, выбор — все». Для пользователей включение EEVDF должно улучшить производительность по всем направлениям. Фактически, пользователи уже сообщают, что разница между CFS и EEVDF подобна дню и ночи.
Linux 6.6 также может похвастаться поддержкой Intel Shadow Stack — новой функции компьютерного процессора, предназначенной для предотвращения программных атак, ориентированных на возврат, таких как переполнение буфера стека. Эта функция делает это путем настройки вторичного стека памяти, который приложения не могут изменять напрямую. Таким образом, когда ваше приложение выполняет инструкцию CALL, процессор помещает адрес возврата как в обычный стек, так и в теневой стек. Затем, после возврата из функции, процессор сравнивает две копии. Если две копии различаются, процессор выдает сообщение об ошибке защиты управления. Хотя авторство кода принадлежит Intel, этот механизм защиты работает как с новыми чипами AMD, так и с Intel.
Говоря об AMD, ядро теперь поддерживает технологию AMD Dynamic Boost Control. Геймеры с процессорами AMD Ryzen должны иметь более высокую производительность (количество кадров в секунду) практически в любой игре с интенсивным видео.
Заглядывая в будущее, разработчики закладывают основу для будущего оборудования, включая новые процессоры и графические процессоры от Intel и AMD. Эти усилия включают поддержку процессоров Intel Lunar Lake и Arrow Lake, а также процессоров AMD EPYC и Ryzen.
Геймеры также будут рады узнать, что Linux 6.6 теперь поддерживает функцию вибрации для контроллера Google Stadia, отчеты о заряде батареи для контроллера Nvidia Shield и поддержку таких устройств, как гарнитура SteelSeries Arctis 1 Xbox.
Одно незначительное изменение заключается в том, что важный модуль безопасности Linux, NSA SELinux, теряет название NSA. Программа осталась прежней, но отсылка к истории, заключающаяся в том, что SELinux изначально был создан Агентством национальной безопасности США (АНБ), была удалена.
Пройдет некоторое время, прежде чем ядро Linux 6.6 будет интегрировано в репозитории стабильного программного обеспечения большинства дистрибутивов. Пользователям, желающим освоить новое ядро, стоит попробовать Arch Linux, openSUSE Tumbleweed и Gentoo Linux.
Эти дистрибутивы дают вам самый простой способ поиграть с последними версиями ядра Linux. Если вам удобно компилировать и настраивать свой собственный Linux прямо из исходного кода, Linux 6.6 доступен для загрузки непосредственно из дерева Git Линуса Торвальдса или с веб-сайта kernel.org.