Лучшие аудиосказки на Youtube

Google хочет, чтобы Android использовал обычное ядро Linux

Android построен на основе ядра Linux, но всегда использовал сильно модифицированную версию с изменениями от OEM-производителей, производителей чипов, таких как Qualcomm и MediaTek, и Google. На протяжении многих лет предпринимались усилия по сокращению разрыва между двумя ядрами, но сейчас Google становится все более серьезным в этом вопросе.

В этом году на конференции Linux Plumbers Conference инженеры Google рассказали об усилиях компании, направленных на то, чтобы сделать Android как можно ближе к основному ядру Linux. Это не только сократит технические накладные расходы для Google и других компаний, поскольку им больше не придется объединять тысячи изменений в каждую новую версию ядра Linux (и Google больше не будет поддерживать версии ядра Linux в течение шести лет), но и принесет пользу проекту Linux в целом. Например, растущее число телефонов и компьютеров Linux на базе ARM может привести к повышению производительности и увеличению времени работы от батареи.

Первым этапом этого процесса является слияние как можно большего количества модификаций Android обратно в основное ядро Linux. По состоянию на февраль 2018 года, общее ядро Android (в которое OEM-производители вносят дополнительные изменения) содержит более 32 000 добавлений и более 1500 удалений по сравнению с основным Linux 4.14.0. Это улучшение по сравнению с тем, что было несколько лет назад, когда Android добавил более 60 000 строк кода поверх Linux.

Чтобы показать, как многого удалось добиться, Том Галл (Tom Gall), директор Linaro Consumer Group, представил Xiaomi Pocophone на сцене, который работал под управлением Android 10 поверх основного ядра Linux. Вполне вероятно, что некоторые функции телефона были неработоспособны (процент заряда батареи на рисунке составляет 0%).

Xiaomi Pocophone загружающийся Android 10 поверх основного ядра Linux

Ядро Android по-прежнему получает модификации от производителей чипов (таких как Qualcomm и MediaTek) и настройки для каждого устройства от OEM-производителей (таких как Samsung и LG). Google улучшил этот процесс в 2017 году с помощью Project Treble, который отделяет специфические драйверы устройств от остальной части Android. Компания хочет перенести эту технологию на основное ядро Linux, что потенциально может устранить необходимость в ядрах для каждого устройства, и еще больше ускорить обновление Android.

Идея, предложенная инженерами Google, заключается в том, чтобы создать в ядре Linux интерфейс, позволяющий запускать собственные драйверы устройств в качестве подключаемых модулей, так что нет необходимости вносить изменения в само ядро. Проще говоря, это принесет модульность Project Treble в обычный Linux.

Конечно, это масштабное начинание, которое не гарантирует успеха. Google пришлось бы привлечь своих партнеров по аппаратному обеспечению Android, и, как отметил Рон Амадео из Ars Technica, некоторые из сообщества Linux выступают против идеи стабильного интерфейса ядра. Грег Кроа-Хартман (Greg Kroah-Hartman), крупный разработчик Linux, уже написал это в файлах документации:

«Разработка ядра Linux идет непрерывно и быстрыми темпами, никогда не останавливаясь на достигнутом. Таким образом, разработчики ядра находят ошибки в текущих интерфейсах или пытаются найти лучший способ их устранения. […] Это резко контрастирует с рядом закрытых исходных операционных систем, которым приходилось поддерживать свои старые интерфейсы USB в течение долгого времени. Это дает возможность новым разработчикам случайно использовать старые интерфейсы и делать что-то неправильно, что негативно сказывается на стабильности операционной системы. Кроме того, если внутренние интерфейсы не будут изменены, исправить проблему безопасности и гарантировать, что это больше не повторится, не удастся».

Переключение Android на ядро Linux и интеграция системы, подобной Project Treble, в основное ядро — это огромная работа, которая может даже не увенчаться успехом. Тем временем Google все еще работает над новой операционной системой Fuchsia, которая может однажды заменить Android на собственное ядро, устраняющее многие технические препятствия, связанные с Linux.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *