Google работи върху използването на обикновено ядро Linux в Android

На проведената конференция Linux Plumbers 2019 компанията Google разказа за развитието инициативата на прехвърлянето в основното ядро на Linux изменения, разработвани в варианта на ядрото за платформата Android. Крайната цел е да се осигури възможността за използване на едно общо ядро в Android, вместо подготовка на отделни сборки за всяко устройство на базата на специфичната за Android версия. Android Common Kernel. Тази цел вече частично е постигната, и на конференцията бе демонстриран Android-смартфон Xiaomi Poco F1 с фърмуер на базата на обикновеното немодифицирано ядро на Linux.

След готовността на проекта, на доставчиците ще бъде предложено да предоставят базовото ядро на основата на основното ядро на Linux. Компонентите за поддръжка на хардуера ще бъдат предоставяни от доставчиците само под формата на допълнителни модули на ядрото, без прилагане на пачове върху ядрото. В модулите задължително трябва да се осигури съвместимост с основното ядро на ниво пространство на имената на символите на ядрото. Всички изменения, засягащи основното ядро, ще бъдат насочвани към upstream. За запазване на съвместимостта с проприетарни модули в рамките на LTS-клонове се предлага да се поддържа стабилна версия на API и ABI на ядрото, което ще позволи запазването на съвместимостта на модулите с обновленията за всяка обща версия на ядрото.

Google работи върху използването на обикновено ядро Linux в Android

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

Google работи върху използването на обикновено ядро Linux в Android

Напомняме, че до момента ядрото за платформата Android преминаваше през няколко етапа на подготовка:

  • На база основните LTS-ядра (3.18, 4.4, 4.9 и 4.14) се създаваше клон „Android Common Kernel“, в който се прехвърляха специфични за Android пачове (по-рано размерът на измененията достигаше няколко милиона реда, но напоследък измененията бяха съкратени до няколко хиляди реда код).
  • На базата на «Android Common Kernel» производителите на чипове, като Qualcomm, създадоха «SoC Kernel», включващи допълнения за поддръжка на хардуер.
  • На базата на «SoC Kernel» производителите на устройства създадоха «Device Kernel», включващи изменения, свързани с поддръжката на допълнителен хардуер, екрани, камери, звукови системи и т.н.

Google работи върху използването на обикновено ядро Linux в Android

В същността си, за всяко устройство се оформяше собствено ядро, което не можеше да се използва на други устройства. Тази схема съществено усложнява предоставянето на обновления за отстраняване на уязвимости и преминаването на нови клонове на ядрото. Например, новият смартфон Pixel 4, излязъл през октомври, се предлага с ядро на Linux 4.14, пуснато преди две години. Частично, Google се опита да улесни поддръжката, напредвайки с системата Treble, позволяваща на производителите да създават универсални компоненти за поддръжка на хардуера, независими от конкретни версии на Android и използваните версии на ядрото на Linux. Treble предоставя възможност за използване на вече готови обновления от Google като основа, интегрирайки специфични за конкретното устройство компоненти.


Пуснете видеото

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster