Google pracuje na použití bežného linuxového jadra v systéme Android

Na poslednej konferencii Linux Plumbers 2019 spoločnosť Google povedal o vývoji iniciatívy o prenose zmien vyvinutých v linuxovom jadre do hlavného linuxového jadra verzia jadra pre platformu Android. Konečným cieľom je umožniť Androidu používať jedno spoločné jadro namiesto prípravy samostatných zostavení pre každé zariadenie na základe vetvy špecifickej pre Android. Spoločné jadro Androidu. Tento cieľ sa už čiastočne podarilo naplniť a na konferencii bol predvedený Android smartfón Xiaomi Poco F1 s firmvérom založeným na bežnom neupravenom linuxovom jadre.

Keď bude projekt pripravený, predajcovia budú požiadaní, aby dodali základné jadro založené na hlavnom linuxovom jadre. Komponenty pre hardvérovú podporu budú dodávatelia dodávať len vo forme doplnkových modulov jadra, bez aplikácie záplat na jadro. Moduly budú musieť byť kompatibilné s hlavným jadrom na úrovni menného priestoru symbolov jadra. Všetky zmeny ovplyvňujúce hlavné jadro budú povýšené na upstream. Pre zachovanie kompatibility s proprietárnymi modulmi v rámci vetví LTS sa navrhuje udržiavať kernel API a ABI v stabilnej forme, čím sa zachová kompatibilita modulov s aktualizáciami pre každú spoločnú vetvu jadra.

Google pracuje na použití bežného linuxového jadra v systéme Android

V priebehu roka pribudli funkcie ako subsystém PSI (Pressure Stall Information) na analýzu informácií o dobe čakania na získanie rôznych zdrojov (CPU, pamäť, I/O) a pseudosúborový systém BinderFS na medziprocesovú komunikáciu. mechanizmus bol prenesený do hlavného linuxového jadra z edície jadra Android Binder a energeticky efektívny plánovač úloh EAS (Energy Aware Scheduling). V budúcnosti sa plánuje presun Androidu zo špecifického plánovača SchedTune do nového subsystému UtilClamp vyvinutého v ARM, ktorý je založený na cgroups2 a štandardných mechanizmoch jadra.

Google pracuje na použití bežného linuxového jadra v systéme Android

Pripomeňme, že doteraz prešlo jadro pre platformu Android niekoľkými fázami prípravy:

  • Na základe hlavných jadier LTS (3.18, 4.4, 4.9 a 4.14) bola vytvorená vetva „Android Common Kernel“, do ktorej boli prenesené záplaty špecifické pre Android (predtým veľkosť zmien dosahovala niekoľko miliónov riadkov, no nedávno zmeny boli zredukované na niekoľko tisíc riadkov kódu).
  • Na základe „Android Common Kernel“ vytvorili výrobcovia čipov ako Qualcomm „SoC Kernel“, ktorý obsahoval doplnky na podporu hardvéru.
  • Na základe jadra SoC vytvorili výrobcovia zariadení jadro zariadenia, ktoré zahŕňalo zmeny súvisiace s podporou dodatočného vybavenia, obrazoviek, kamier, zvukových systémov atď.

Google pracuje na použití bežného linuxového jadra v systéme Android

V podstate malo každé zariadenie svoje vlastné jadro, ktoré nebolo možné použiť na iných zariadeniach. Takáto schéma výrazne komplikuje implementáciu aktualizácií na odstránenie zraniteľností a prechod na nové vetvy jadra. Napríklad najnovší smartfón Pixel 4, vydaný v októbri, sa dodáva s jadrom Linuxu 4.14, ktorý bol vydaný pred dvoma rokmi. Čiastočne sa Google snažil zjednodušiť údržbu propagáciou systému Strojnásobiť, čo umožňuje výrobcom vytvárať univerzálne hardvérové ​​podporné komponenty, ktoré nie sú viazané na konkrétne verzie systému Android a použité vydania jadra Linuxu. Treble umožňuje použiť ako základ hotové aktualizácie od Google, ktoré do nich integrujú komponenty špecifické pre konkrétne zariadenie.


Zdroj: opennet.ru

Pridať komentár