- PVSM.RU - https://www.pvsm.ru -
Мы уже рассказывали о нововведениях, которые были сделаны в Linux kernel 4.18 [1]. Сегодня поговорим о том, что внедрили в 4.20, и проведем краткий обзор последующего релиза.
С большой долей вероятности он будет назван «5.0».
[2]
/ фото Gregory «Slobirdr» Smith [3] CC BY-SA [4]
Последняя версия ядра вышла в минувшем декабре. Обновление доступно для скачивания на официальном сайте [5]. Этот релиз стал [6] рекордсменом по числу добавленных строк кода — их количество выросло на 354 тыс. Больше добавляли только в версии Linux 4.13 (сентябрь 2017). Среди главных обновлений [7]: новые драйвера, усиление безопасности и изменения в работе с массивами.
В Linux 4.20 добавили поддержку гибридных процессоров [8] AMD Picasso и Raven 2, системы на кристалле Snapdragon 835 [9] компании Qualcomm, а также китайского CPU Hygon Dhyana на базе архитектуры AMD Zen. Это расширит количество устройств, на которых получится запустить ОС Linux.
Также началась [10] работа над кодом для архитектуры AMD Zen 2, однако в последующих версиях его ждут серьезные правки. Изменения коснулись и чипов Intel Icelake — разработчики добавили поддержку контроллера DSI [11] и функциональность для управления режимами питания процессора.
Был добавлен код, отвечающий за работу с AMD Vega 20, хотя его продолжат совершенствовать как минимум до выхода графического процессора (его релиз намечен на первый квартал 2019 года [12]).
Изменения также коснулись драйвера VKMS (Virtual Kernel Mode-Setting), который добавили [13] еще в прошлой версии ядра. Он симулирует простейшее виртуальное устройство вывода и используется для организации работы X-сервера [14] или любой другой графической подсистемы на машинах без монитора. При этом он предоставляет возможность использовать имеющиеся GPU. В Linux kernel 4.20 VKMS получил [15] поддержку GEM и курсора.
Также новое ядро получило возможность [16] работать с трекпадами Apple Magic Trackpad 2 и контроллерами Xbox.
Из ядра убрали массивы переменной длины [17] (VLA), размер которых определяется на этапе выполнения, а не компиляции кода. Они замедляли работу и могли влиять на безопасность операционной системы. Линуса Торвальдса уже давно просили [18] избавиться от VLA, да и сам он активно критиковал [19] решение использовать массивы переменной длины. В kernel 4.20 большую часть из них наконец исключили.
Также была реализована структура данных XArray, которую пытались внедрить [20] еще в 4.17. Это абстрактный тип данных, который ведет себя как большой массив указателей. В отличие от динамических массивов [21], при использовании XArray не нужно что-то менять в блоке управления памятью для расширения структуры. Но пока на XArray переводят только страничный кэш ядра и memremap [22].
Из Linux 4.20 убрали блочный шифр Speck [23], так как ранее в его реализации обнаружили [24] бэкдоры. Еще внедрили функцию STACKLEAK [25] (не попала в 4.19), которая защищает пользователей Linux от нескольких типов уязвимостей.
В частности, она сокращает объемы полезной для злоумышленников информации, поступающей из стека ядра в пользовательское пространство. Также STACKLEAK блокирует ряд атак на неинициализированные переменные и предлагает инструменты для слежения за «переполнением» стека ядра.
Еще в Linux 4.20 добавили [26] патч STIBP (Single Thread Indirect Branch Predictors), защищающий от атак типа Spectre. Они нацелены на аппаратную уязвимость современных процессоров, связанную с реализацией спекулятивных вычислений [27].
Резиденты Hacker News отмечают [28], что у Linux всегда были сложности с драйверами и количеством поддерживаемого железа. Обновления 4.20 помогли частично исправить эту проблему, расширив спектр доступных для работы архитектур. Однако ряд пользователей беспокоит тот факт, что с переходом на новое ядро ОС стала работать медленнее.
Причиной «регрессии» стал дополнительный код для защиты [29] от Spectre. Патч STIBP активируется по умолчанию и приводит [30] к «тормозам» на системах, использующих SMT/Hyper-Threading. В отдельных случаях производительность может снижаться на 50%. Линус Торвальдс уже поднимал вопрос [31] о запуске функции по желанию пользователя, а не автоматически. Но пока с этим ничего не сделали.

/ фото hackNY.org [32] CC BY-SA [4]
Если следовать подходу Торвальдса к нумерации релизов [33] по количеству пальцев у человека, версии 21 быть не должно [34]. По этой причине с большой долей вероятности 2019 станет годом рождения Linux kernel 5.0.
Среди улучшений грядущей версии будет [35] поддержка нового аппаратного обеспечения и дополнительных устройств. Вероятно, пользователям предоставят возможность подключить геймерскую клавиатуру Cougar 700K и работать с Chameleon96 [36] — FGPA компании Intel.
Продолжится работа над проблемой Y2038 [37] и другими вопросами безопасности, а также новыми драйверами для графических, гибридных и центральных процессоров. Еще в ядро должен будет прийти долгожданный VPN-туннель WireGuard [38].
Еще в следующем релизе появится [39] подсистема I3C, которую не успели добавить в 4.20. Она воплощает преимущества протоколов I2C и SPI [40] и подходит для работы с IoT.
Наш IaaS-блог в Telegram:
Автор: ИТ-ГРАДовец
Источник [46]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/linux/304357
Ссылки в тексте:
[1] Linux kernel 4.18: https://habr.com/company/it-grad/blog/417155/
[2] Image: https://habr.com/company/it-grad/blog/435214/
[3] Gregory «Slobirdr» Smith: https://www.flickr.com/photos/slobirdr/32050680035/
[4] CC BY-SA: https://creativecommons.org/licenses/by-sa/2.0/
[5] официальном сайте: https://www.kernel.org/
[6] стал: https://www.phoronix.com/scan.php?page=news_item&px=2018-Biggie-Kernel
[7] Среди главных обновлений: https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.20-Biggest-Features
[8] гибридных процессоров: https://ru.wikipedia.org/wiki/Accelerated_Processing_Unit
[9] Snapdragon 835: https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.20-5.0-ARM
[10] началась: https://www.phoronix.com/scan.php?page=news_item&px=AMD-Zen-2-Linux-Temp-Driver
[11] контроллера DSI: https://www.intel.com/content/www/us/en/programmable/solutions/partners/partner-profile/northwest-logic/ip/dsi--mipi--controller-core.html
[12] первый квартал 2019 года: https://www.kitguru.net/tech-news/featured-tech-news/damien-cox/amds-7nm-vega-20-gpu-to-arrive-in-q1-2019/
[13] добавили: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1c7c5fd916a0ff66501467f1e8e79d3ff8eca112
[14] X-сервера: https://ru.wikipedia.org/wiki/X_Window_System
[15] получил: https://www.phoronix.com/scan.php?page=article&item=linux-420-features&num=1
[16] получило возможность: https://www.crn.com.au/news/linux-420-appears-under-the-tree-517296
[17] массивы переменной длины: https://en.wikipedia.org/wiki/Variable-length_array
[18] просили: https://lkml.org/lkml/2018/3/7/621
[19] активно критиковал: https://www.phoronix.com/scan.php?page=news_item&px=Linux-Kills-The-VLA
[20] пытались внедрить: https://www.phoronix.com/scan.php?page=news_item&px=XArrays-Possibly-For-Linux-4.17
[21] динамических массивов: https://ru.wikipedia.org/wiki/%D0%94%D0%B8%D0%BD%D0%B0%D0%BC%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BC%D0%B0%D1%81%D1%81%D0%B8%D0%B2
[22] memremap: https://lwn.net/Articles/653585/
[23] Speck: https://ru.wikipedia.org/wiki/Speck
[24] обнаружили: https://threatpost.ru/nsa-encryption-got-declined-again/25855/
[25] STACKLEAK: https://www.phoronix.com/scan.php?page=news_item&px=STACKLEAK-Tries-For-Linux-4.20
[26] добавили: https://www.theregister.co.uk/2018/12/04/linux_kernel_spectre_mitigation/
[27] спекулятивных вычислений: https://nplus1.ru/news/2018/01/04/meltdown
[28] отмечают: https://news.ycombinator.com/item?id=18750836
[29] защиты: https://www.phoronix.com/scan.php?page=article&item=linux-420-bisect&num=2
[30] приводит: https://tproger.ru/news/linus-torvalds-hesitates-stibp/
[31] поднимал вопрос: https://lkml.org/lkml/2018/11/19/37
[32] hackNY.org: https://www.flickr.com/photos/hackny/8673947261/
[33] подходу Торвальдса к нумерации релизов: https://habr.com/company/it-grad/blog/413931/
[34] быть не должно: https://lkml.org/lkml/2018/6/3/142
[35] будет: https://www.phoronix.com/scan.php?page=news_item&px=Linux-4.21-Jump-Start-2019
[36] Chameleon96: https://www.phoronix.com/scan.php?page=news_item&px=Intel-FPGA-Chameleon96-DTS
[37] проблемой Y2038: 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
[38] долгожданный VPN-туннель WireGuard: https://habr.com/company/it-grad/blog/419769/
[39] появится: https://www.phoronix.com/scan.php?page=news_item&px=I3C-Pull-Request-Linux-4.21
[40] протоколов I2C и SPI: https://www.byteparadigm.com/applications/introduction-to-i2c-and-spi-protocols/
[41] Производители оборудования и IaaS: гонка за облачным трендом: https://iaas-blog.it-grad.ru/tendencii/proizvoditeli-oborudovaniya-i-iaas-gonka-za-oblachnym-trendom/
[42] Бессерверные вычисления в облаке — тренд современности или необходимость?: https://iaas-blog.it-grad.ru/tendencii/besservernye-vychisleniya-v-oblake-trend-sovremennosti-ili-neobxodimost/
[43] Необычные ЦОДы — какими они бывают и где используются: https://t.me/iaasblog/184
[44] ИТ-компании прокладывают все новые подводные кабели — зачем им это?: https://t.me/iaasblog/181
[45] Дата-центры с собственными ДНК — как это?: https://t.me/iaasblog/180
[46] Источник: https://habr.com/post/435214/?utm_source=habrahabr&utm_medium=rss&utm_campaign=435214
Нажмите здесь для печати.