Google работи на користење на обичен Linux кернел во Android

На последната конференција Linux Plumbers 2019, Google кажа за развојот иницијативи за пренесување на промените развиени во кернелот Линукс во главното кернелот на Линукс верзија на јадрото за Android платформата. Крајната цел е да се дозволи Андроид да користи едно заедничко јадро, наместо да се подготвуваат посебни изданија за секој уред врз основа на гранка специфична за Android Андроид заедничко јадро. Оваа цел е веќе делумно постигната, а на конференцијата беше демонстриран паметниот телефон Xiaomi Poco F1 Android со фирмвер базиран на вообичаеното немодифицирано Linux кернел.

Откако проектот ќе биде подготвен, од продавачите ќе биде побарано да обезбедат основно јадро засновано на главното јадро на Линукс. Компонентите за хардверска поддршка ќе бидат испорачани од добавувачите само во форма на дополнителни модули на кернелот, без примена на закрпи на јадрото. Модулите ќе треба да бидат компатибилни со главното јадро на ниво на именски простор на симболот на јадрото. Сите промени што го засегаат главното јадро ќе бидат промовирани нагоре. За да се одржи компатибилноста со сопственичките модули во гранките на LTS, се предлага да се одржуваат API и ABI на кернелот во стабилна форма, што ќе ја одржува компатибилноста на модулите со ажурирања за секоја заедничка гранка на кернелот.

Google работи на користење на обичен Linux кернел во Android

Во текот на една година, функции како што е потсистем PSI (Pressure Stall Information) за анализа на информации за времето на чекање за добивање различни ресурси (CPU, меморија, I/O) и псевдодатотечниот систем BinderFS за интерпроцесна комуникација механизмите беа префрлени во главното кернел на Линукс од изданието на јадрото на Андроид.Биндер и енергетски ефикасен распоредувач на задачи 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 се обиде да го поедностави одржувањето со промовирање на системот Високиот, дозволувајќи им на производителите да создадат универзални компоненти за поддршка на хардверот што не се врзани за одредени верзии на Android и користени изданија на кернелот на Linux. Treble овозможува користење на готови ажурирања од Google како основа, интегрирајќи во нив компоненти специфични за одреден уред.


Извор: opennet.ru

Додадете коментар