- PVSM.RU - https://www.pvsm.ru -
Юбилейная версия ядра Linux 5.0 вышла в начале марта. Но работа над kernel 5.1 уже ведется. В этом материале мы рассмотрим ряд нововведений, которые стоит ждать в этой версии.
[1]
/ Flickr / ayu oshimi [2] / CC BY-SA [3]
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, появится время перестроить бизнес-процессы.
В последующих релизах поддержка будет полностью прекращена, но только в том случае, если в сообществе не найдется человек, который возьмет на себя сопровождение формата.
Несколько изменений внесут в патч 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%.


В одном из тредов на 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 и многие другие.

/ Flickr / Christopher Michel [20] / CC BY [21]
Как пишет 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
Нажмите здесь для печати.