- PVSM.RU - https://www.pvsm.ru -

Ядро Linux 5.1 — что известно об изменениях

Юбилейная версия ядра Linux 5.0 вышла в начале марта. Но работа над kernel 5.1 уже ведется. В этом материале мы рассмотрим ряд нововведений, которые стоит ждать в этой версии.

Ядро Linux 5.1 — что известно об изменениях - 1 [1]
/ Flickr / ayu oshimi [2] / CC BY-SA [3]

Прекращают поддержку a.out

Linux поддерживает бинарные файлы ELF [4] еще с первой версии ядра. Спустя 25 лет, a.out [5] планируют перевести в разряд устаревших технологий (deprecated). Разработчики говорят, что это необходимая процедура, так как за долгое время код начал «гнить» [6].

Линус Торвальдс отдельно подчеркнул [7], что ни один из существующих компиляторов не создает бинарники формата a.out, поэтому в нем уже нет смысла.

Отказ от a.out пройдет в два этапа. В Linux 5.1 будет удален код дампа памяти (core dumping [8] code) — это примерно 500 строк [9]. По словам Линуса, крайне маловероятно, что кому-то понадобится разобраться с легаси кодом, а у пользователей, которые до сих пор генерируют исполняемые файлы a.out, появится время перестроить бизнес-процессы.

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

Вносят изменения в патчи против Spectre

Несколько изменений внесут в патч Retpoline для защиты от атаки Spectre v2. Он использует специальную последовательность инструкций, которая блокирует механизм спекулятивного выполнения в процессоре. Разработчики планируют увеличить [10] порог для генерации непрямых вызовов от операторов ветвления с пяти до двадцати. В некоторых случаях это позволит увеличить [11] производительность на 20%.

Также ядро 5.1 получит [12] новый флаг PR_SPEC_DISABLE_NOEXEC, который отключает защиту от уязвимости Spectre v4 во всех дочерних процессах, запущенных на сервере. Он связан с функцией memory disambiguation [13], которая разрешала внеочередное выполнение команд. По словам экспертов, флаг автоматизирует проверку на отключение патча и позволит ускорить серверы с большим числом одновременно запущенных процессов. Подробнее об этом мы писали в одном из предыдущих материалов [14].

Новые функции, оптимизирующие работу серверов Linux, могут сказаться на популярности этой ОС в облачной среде. Мы в 1cloud [15] собрали статистику — наиболее популярной операционной системой в облаке среди наших клиентов остается Windows (79%). Доля Linux составляет 20%. В будущем мы ожидаем, что вторая ОС несколько отыграет позиции на рынке. Также приводим график распределения долей среди Linux-дистрибутивов (Самым популярным дистрибутивом среди наших клиентов остается Ubuntu — 45%, за ней идет CentOS с 28% и Debian с 26%.

Ядро Linux 5.1 — что известно об изменениях - 2Ядро Linux 5.1 — что известно об изменениях - 3

Добавляют аудиодрайверы (много)

В одном из тредов на Hacker News резиденты отмечали [16], что у Linux всегда были сложности с поддержкой железа. Но в 5.1 будет добавлено множество драйверов [17] для аудиооборудования.

Например, появится драйвер для звуковой карты Fireface UCX [18], ориентированной на работу в студиях звукозаписи и концертных залах. Также добавят [19] драйвер MediaTek BTCVSD для Bluetooth-чипа, который был предложен разработчиками из MediaTek.

Следует ожидать поддержку для Asahi Kasei Microdevices AK4497, Cirrus Logic CS4341/CS35L26 и встроенных контроллеров Google ChromeOS. Еще в списке отмечены Ingenic JZ4725B, MT8183 и MT6358, NXP MICFIL, Rockchip RK3328, контроллеры Spreadtrum DMA и многие другие.

Ядро Linux 5.1 — что известно об изменениях - 4
/ Flickr / Christopher Michel [20] / CC BY [21]

Чего еще ждать в Linux kernel 5.1

Как пишет Phoronix, разработчики могут вернуть [22] в Linux 5.1 возможность использовать постоянную память в качестве RAM. В частности, Optane NVDIMM (сделана по технологии 3D Xpoint) на шине DDR4 можно будет «превратить» в оперативное запоминающее устройство.

Подробнее о работе, которая ведется в этом направлении читайте в треде на LKML [23]. Сейчас Линус ждёт разъяснений [24] о поведении Optane от разработчиков из Intel. Только после их получения он примет решение, стоит ли включать новую функцию в ядро 5.1.

Еще можно ожидать патчей, решающих проблему 2038 года [25]. 19 января 2038 года значение времени перестанет «влезать» в 32-битное целое со знаком. Это вызовет массовые сбои в программах. Поэтому разработчики постепенно вносят изменения [26] в соответствующие системные вызовы — новая версия ядра не станет исключением.

Больше информации о потенциальных изменениях в коде Linux kernel можно ожидать уже в ближайшем будущем. Мы продолжим писать о них в последующих материалах.

В нашем корпоративном блоге:

Автор: 1cloud

Источник [30]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/os/311854

Ссылки в тексте:

[1] Image: https://habr.com/ru/company/1cloud/blog/444078/

[2] ayu oshimi: https://www.flickr.com/photos/ayumew/35897335360/

[3] CC BY-SA: https://creativecommons.org/licenses/by-sa/2.0/

[4] ELF: https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format

[5] a.out: https://ru.wikipedia.org/wiki/A.out

[6] код начал «гнить»: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=eac616557050737a8d6ef6fe0322d0980ff0ffde

[7] подчеркнул: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=08300f4402abc0eb3bc9c91b27a529836710d32d

[8] core dumping: https://ru.wikipedia.org/wiki/%D0%94%D0%B0%D0%BC%D0%BF_%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D0%B8

[9] примерно 500 строк: https://www.phoronix.com/scan.php?page=news_item&px=Linux-Dropping-A.Out

[10] увеличить: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.1-Retpoline-GCC-Opt

[11] увеличить: https://lore.kernel.org/patchwork/patch/1044863/

[12] получит: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.1-PR_SPEC_DISABLE_NOEXE

[13] memory disambiguation: https://en.wikipedia.org/wiki/Memory_disambiguation

[14] мы писали в одном из предыдущих материалов: https://habr.com/ru/company/1cloud/blog/442140/

[15] 1cloud: https://1cloud.ru?utm_source=habrahabr&utm_medium=cpm&utm_campaign=kernel5.1&utm_content=site

[16] отмечали: https://news.ycombinator.com/item?id=18750836

[17] множество драйверов: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.1-Sound-Updates

[18] звуковой карты Fireface UCX: https://www.phoronix.com/scan.php?page=news_item&px=RME-Fireface-UCX-Linux

[19] добавят: https://www.soundonsound.com/reviews/rme-fireface-ucx

[20] Christopher Michel: https://www.flickr.com/photos/cmichel67/19565381686/

[21] CC BY: https://creativecommons.org/licenses/by/2.0/

[22] могут вернуть: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.1-DAX-PMEM-AS-RAM

[23] в треде на LKML: http://lkml.iu.edu/hypermail/linux/kernel/1903.1/01357.html

[24] ждёт разъяснений: https://lkml.org/lkml/2019/3/10/191

[25] проблему 2038 года: https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0_2038_%D0%B3%D0%BE%D0%B4%D0%B0

[26] вносят изменения: https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.1-Year-2038-Syscalls

[27] Как сэкономить с помощью API: https://1cloud.ru/blog/ekonomiya-na-api?utm_source=habrahabr&utm_medium=cpm&utm_campaign=kernel5.1&utm_content=blog

[28] Как подстраховаться от потери данных: https://1cloud.ru/blog/rezervnoe-kopirovanie-failov?utm_source=habrahabr&utm_medium=cpm&utm_campaign=kernel5.1&utm_content=blog

[29] Где полезны объектные хранилища: https://1cloud.ru/blog/osobennosti-i-polza-obektnyh-hranilish?utm_source=habrahabr&utm_medium=cpm&utm_campaign=kernel5.1&utm_content=blog

[30] Источник: https://habr.com/ru/post/444078/?utm_campaign=444078