Релиз Linux kernel 4.17: что о нем нужно знать

в 19:43, , рубрики: iaas, linux kernel, Блог компании ИТ-ГРАД, ИТ-ГРАД, Разработка для интернета вещей

Третьего июня 2018 года Линус Торвальдс объявил о релизе Linux kernel 4.17, который должен был стать версией 5.0, но не стал. Расскажем, почему так вышло, и что нужно знать о версии 4.17.

Релиз Linux kernel 4.17: что о нем нужно знать - 1
/ фото Farhan Perdana (Blek) CC BY

Почему не 5.0

Несмотря на то, что Линус Торвальдс предполагал, что релиз с названием Linux kernel 5.0 появится летом 2018 года, этого не случилось. В своем апрельском посте на странице LKML.org Торвальдс заявил, что «не хочет быть слишком предсказуемым». Поэтому, хотя число git-объектов в репозитории уже превысило 6 млн, Линус не присвоил новому релизу название Linux kernel 5.0.

Торвальдс считает, что номера релизов ничего не означают и не подчиняются каким-либо нумерологическим правилам (несмотря на то, что релизы версий 3.0 и 4.0 совпали с увеличением числа git-объектов до 2 и 4 млн соответственно). Он пишет, что ситуация с нумерацией релизов будет та же, что при переходе на 4.0: «пока хватает пальцев, чтобы подсчитать вспомогательные номера версии (то есть раньше релиза 4.20), перехода на версию 5 ждать не стоит».

Что нового в 4.17

Этот релиз нельзя назвать «проходным», поскольку разработчики добавили ряд полезных фич и отсекли всё лишнее. Кратко о том, что было сделано:

Оптимизировано энергопотребление. Это — первое и достаточно заметное обновление. Новая реализация цикла простоя снижает его энергопотребление «на 10% и более». В сообществе оценили это улучшение, а один из пользователей даже провел серию тестов (например, на Lenovo ThinkPad X1 Carbon и серверной платформе Tyan) и подтвердил фактическое уменьшение энергопотребления не только в состоянии бездействия, но и при обычных и пиковых нагрузках.

Оптимизирована работа драйверов. AMDGPU DC (display code) теперь активирован по умолчанию и находится в «ванильном» ядре. Это значит, что отпадает необходимость в установке DKMS (Dynamic Kernel Module Support), а поддержка звука по HDMI и DP (DisplayPort) будет теперь доступна «out of the box». Драйвер AMDKFD (AMD Kernel Fusion Driver) также добавили в базовую версию ядра. Это новшество будет полезно тем, кто использует графические процессоры AMD для высокопроизводительных вычислений.

Сокращен объем кода. Речь идет почти о 500 тысячах строк кода. Например, убрали всё, что касалось устаревших архитектур: Blackfin, M32R, MN103 и ряда других. В итоге в 4.17 число удаленных строк превысило число добавленных. Сообщество отнеслось к этому скорее положительно, хотя некоторые резиденты HN отмечают, что удаление кода — не всегда идет на пользу любому проекту. В 4.17 осталось 24 поддерживаемых архитектуры, в том числе одна новая — Andes Technology NDS32. Железо Andes Technology в основном используется для IoT-девайсов, различных маломощных гаджетов и медицинских устройств.

Добавлена поддержка HDCP (High-bandwidth Digital Content Protection). Это — технология для защиты от незаконного копирования по DVI, DisplayPort, HDMI, GVIF и UDI. Она используется, например в HD DVD и Blu-ray плеерах, задействует протокол аутентификации и шифрование данных.

Релиз Linux kernel 4.17: что о нем нужно знать - 2
/ фото Luis Alejandro Bernal CC BY-SA

Еще разработчики добавили поддержку мыши A4Tech с двумя колесиками прокрутки (вопрос обсуждался еще в 2002-м году) и контроллера Phoenix RC, что порадовало многих пользователей. Отметим, что в этой версии появились улучшения для еще и для Macintosh PowerBook 100 series из 90-х. Список всех изменений для Linux kernel 4.17 можно найти здесь.

Что дальше

По поводу грядущих релизов Линус Торвальдс не сказал ничего конкретного. Предполагается, что версия 5.0 выйдет следом за 4.20, а в релизе 4.18 будут апдейты звуковых драйверов и функционала DRM, а также решение проблемы Y2038 (сбои из-за представления времени по стандарту POSIX).

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

Автор: ИТ-ГРАДовец

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js