ఆండ్రాయిడ్‌లో సాధారణ Linux కెర్నల్‌ని ఉపయోగించడంపై Google పని చేస్తోంది

На прошедшей конференции Linux Plumbers 2019 компания Google అతను చెప్పాడు о развитии చొరవ по переносу в основное ядро Linux изменений, развиваемых в варианте ядра для платформы Android. Конечной целью является предоставление возможности использования в Android одного общего ядра, вместо подготовки для каждого устройства отдельных сборок на основе специфичной для Android ветки Android కామన్ కెర్నల్. Данная цель уже частично достигнута, и на конференции был продемонстрирован Android-смартфон Xiaomi Poco F1 с прошивкой на базе обычного немодифицированного ядра Linux.

После готовности проекта поставщикам будет предложено поставлять базовое ядро на основе основного ядра Linux. Компоненты для поддержки оборудования будут поставляться поставщиками только в виде дополнительных модулей ядра, без наложения на ядро патчей. В модулях обязательно должна будет обеспечиваться совместимость с основным ядром на уровне пространства имён символов ядра. Все изменения, затрагивающие основное ядро, будут продвигаться в upstream. Для сохранения совместимости с проприетарными модулями в рамках LTS-веток предлагается поддерживать в стабильном виде API и ABI ядра, что позволит сохранить совместимость модулей с обновлениями для каждой общей ветки ядра.

ఆండ్రాయిడ్‌లో సాధారణ Linux కెర్నల్‌ని ఉపయోగించడంపై Google పని చేస్తోంది

За год в основное ядро Linux из редакции ядра для Android были перенесены такие возможности, как подсистема PSI (Pressure Stall Information) для анализа информации о времени ожидания получения различных ресурсов (CPU, память, ввод/вывод), псевдофайловая система BinderFS для механизма межпроцессного взаимодействия Binder и энергоэффективный планировщик задач EAS (Energy Aware Scheduling). В дальнейшем Android планируется перевести со специфичного планировщика SchedTune на разработанную в ARM новую подсистему UtilClamp, основанную на cgroups2 и штатных механизмах ядра.

ఆండ్రాయిడ్‌లో సాధారణ Linux కెర్నల్‌ని ఉపయోగించడంపై Google పని చేస్తోంది

Напомним, что до сих пор ядро для платформы Android проходило несколько стадий подготовки:

  • На базе основных LTS-ядер (3.18, 4.4, 4.9 и 4.14) создавалось ответвление «Android Common Kernel», в которое переносились специфичные для Android патчи (ранее размер изменений достигал нескольких миллионов строк, но последнее время изменения были сокращены до нескольких тысяч строк кода).
  • На основе «Android Common Kernel» производители чипов, такие как Qualcomm, формировали «SoC Kernel», включающие дополнения для поддержки оборудования.
  • SoC కెర్నల్ ఆధారంగా, పరికర తయారీదారులు పరికర కెర్నల్‌ను సృష్టించారు, ఇందులో అదనపు పరికరాలు, స్క్రీన్‌లు, కెమెరాలు, సౌండ్ సిస్టమ్‌లు మొదలైన వాటికి మద్దతుకు సంబంధించిన మార్పులు ఉన్నాయి.

ఆండ్రాయిడ్‌లో సాధారణ Linux కెర్నల్‌ని ఉపయోగించడంపై Google పని చేస్తోంది

По сути, для каждого устройства формировалось своё собственное ядро, которое не могло использоваться на других устройствах. Подобная схема существенно усложняет доведение обновлений с устранением уязвимостей и переход на новые ветки ядра. Например, вышедший в октябре новейший смартфон Pixel 4 поставляется с ядром Linux 4.14, выпущенным два года назад. Частично, Google попытался упростить сопровождение продвигая систему ట్రెబెల్, позволяющую производителям создавать универсальные компоненты поддержки оборудования, не привязанные к конкретным версиям Android и используемым выпускам ядра Linux. Treble даёт возможность использовать в качестве основы уже готовые обновления от Google, интегрируя в них специфичные для конкретного устройства компоненты.


మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి