Юбилейная версия ядра Linux 5.0 вышла в начале марта. Но работа над kernel 5.1 уже ведется. В этом материале мы рассмотрим ряд нововведений, которые стоит ждать в этой версии.
Linux поддерживает бинарные файлы ELF еще с первой версии ядра. Спустя 25 лет, a.out планируют перевести в разряд устаревших технологий (deprecated). Разработчики говорят, что это необходимая процедура, так как за долгое время код начал «гнить».
Линус Торвальдс отдельно подчеркнул, что ни один из существующих компиляторов не создает бинарники формата a.out, поэтому в нем уже нет смысла.
Отказ от a.out пройдет в два этапа. В Linux 5.1 будет удален код дампа памяти (core dumping code) — это примерно 500 строк. По словам Линуса, крайне маловероятно, что кому-то понадобится разобраться с легаси кодом, а у пользователей, которые до сих пор генерируют исполняемые файлы a.out, появится время перестроить бизнес-процессы.
В последующих релизах поддержка будет полностью прекращена, но только в том случае, если в сообществе не найдется человек, который возьмет на себя сопровождение формата.
Вносят изменения в патчи против Spectre
Несколько изменений внесут в патч Retpoline для защиты от атаки Spectre v2. Он использует специальную последовательность инструкций, которая блокирует механизм спекулятивного выполнения в процессоре. Разработчики планируют увеличить порог для генерации непрямых вызовов от операторов ветвления с пяти до двадцати. В некоторых случаях это позволит увеличить производительность на 20%.
Также ядро 5.1 получит новый флаг PR_SPEC_DISABLE_NOEXEC, который отключает защиту от уязвимости Spectre v4 во всех дочерних процессах, запущенных на сервере. Он связан с функцией memory disambiguation, которая разрешала внеочередное выполнение команд. По словам экспертов, флаг автоматизирует проверку на отключение патча и позволит ускорить серверы с большим числом одновременно запущенных процессов. Подробнее об этом мы писали в одном из предыдущих материалов.
Новые функции, оптимизирующие работу серверов Linux, могут сказаться на популярности этой ОС в облачной среде. Мы в 1cloud собрали статистику — наиболее популярной операционной системой в облаке среди наших клиентов остается Windows (79%). Доля Linux составляет 20%. В будущем мы ожидаем, что вторая ОС несколько отыграет позиции на рынке. Также приводим график распределения долей среди Linux-дистрибутивов (Самым популярным дистрибутивом среди наших клиентов остается Ubuntu — 45%, за ней идет CentOS с 28% и Debian с 26%.
Добавляют аудиодрайверы (много)
В одном из тредов на Hacker News резиденты отмечали, что у Linux всегда были сложности с поддержкой железа. Но в 5.1 будет добавлено множество драйверов для аудиооборудования.
Например, появится драйвер для звуковой карты Fireface UCX, ориентированной на работу в студиях звукозаписи и концертных залах. Также добавят драйвер MediaTek BTCVSD для Bluetooth-чипа, который был предложен разработчиками из MediaTek.
Следует ожидать поддержку для Asahi Kasei Microdevices AK4497, Cirrus Logic CS4341/CS35L26 и встроенных контроллеров Google ChromeOS. Еще в списке отмечены Ingenic JZ4725B, MT8183 и MT6358, NXP MICFIL, Rockchip RK3328, контроллеры Spreadtrum DMA и многие другие.
Как пишет Phoronix, разработчики могут вернуть в Linux 5.1 возможность использовать постоянную память в качестве RAM. В частности, Optane NVDIMM (сделана по технологии 3D Xpoint) на шине DDR4 можно будет «превратить» в оперативное запоминающее устройство.
Подробнее о работе, которая ведется в этом направлении читайте в треде на LKML. Сейчас Линус ждёт разъяснений о поведении Optane от разработчиков из Intel. Только после их получения он примет решение, стоит ли включать новую функцию в ядро 5.1.
Еще можно ожидать патчей, решающих проблему 2038 года. 19 января 2038 года значение времени перестанет «влезать» в 32-битное целое со знаком. Это вызовет массовые сбои в программах. Поэтому разработчики постепенно вносят изменения в соответствующие системные вызовы — новая версия ядра не станет исключением.
Больше информации о потенциальных изменениях в коде Linux kernel можно ожидать уже в ближайшем будущем. Мы продолжим писать о них в последующих материалах.