Google dela na uporabi običajnega jedra Linux v Androidu

Na preteklem konferenci Linux Plumbers 2019 je podjetje Google povedal razvijalo inicijativi prenos sprememb v osnovno jedro Linuxa, ki jih razvijajo v različici jedra za platformo Android. Končni cilj je omogočiti uporabo enotnega skupnega jedra v Androidu, namesto da bi za vsako napravo pripravljali ločene različice na podlagi specifične Android veje Android Common Kernel. Ta cilj je že delno dosežen, na konferenci je bil prikazan Android pametni telefon Xiaomi Poco F1 s programsko opremo, ki temelji na običajnem neokroženem jedru Linuxa.

Ko bo projekt pripravljen, bodo dobavitelji povabljeni, da dobavijo osnovno jedro, ki temelji na osnovnem jedru Linuxa. Komponente za podporo strojni opremi bodo dostavljene dobaviteljev le v obliki dodatnih jedrskih modulov, brez vdelave popravkov v jedro. V modulih mora biti zagotovljena združljivost z osnovnim jedrom na ravni prostora imen simbolov jedra. Vse spremembe, ki se dotikajo osnovnega jedra, bodo napredovale v upstream. Za ohranjanje združljivosti s proprietarnimi moduli v okviru LTS vej je predlagano ohranjanje API in ABI jedra v stabilnem stanju, kar omogoča ohranjanje združljivosti modulov z nadgradnjami za vsako skupno vejo jedra.

Google dela na uporabi običajnega jedra Linux v Androidu

V preteklem letu so bile v osnovno jedro Linuxa prenesene funkcionalnosti iz različice jedra za Android, kot so podsystem PSI (Pressure Stall Information) za analizo informacij o času čakanja na pridobitev različnih virov (CPU, pomnilnik, vhod/izhod), pseudo-datotečni sistem BinderFS za mehanizem medprocesnega komuniciranja Binder in energetsko učinkoviti načrtovalnik opravil EAS (Energy Aware Scheduling). V prihodnje se načrtuje prenos Androida s specifičnega načrtovalnika SchedTune na novo podnožje UtilClamp, razvito v ARM, ki temelji na cgroups2 in privzetih mehanizmih jedra.

Google dela na uporabi običajnega jedra Linux v Androidu

Spomnimo se, da je jedro za platformo Android doslej prešlo več stopenj priprave:

  • Na osnovi glavnih LTS jeder (3.18, 4.4, 4.9 in 4.14) se je ustvarila veja 'Android Common Kernel', v katero so se prenašali specifični Android popravki (prej je obseg sprememb dosegel več milijonov vrstic, zdaj pa so se spremembe zmanjšale na nekaj tisoč vrstic kode).
  • Na podlagi 'Android Common Kernel' so proizvajalci čipov, kot je Qualcomm, oblikovali 'SoC Kernel', ki vključujejo dodatke za podporo strojni opremi.
  • Na podlagi 'SoC Kernel' so proizvajalci naprav ustvarili 'Device Kernel', ki vključujejo spremembe, povezane s podporo dodatni strojni opremi, zaslonom, kamere, zvočnimi sistemi itd.

Google dela na uporabi običajnega jedra Linux v Androidu

V bistvu je za vsako napravo nastalo lastno jedro, ki ga ni bilo mogoče uporabiti na drugih napravah. Ta shema bistveno otežuje prenos posodobitev za odpravo ranljivosti in prehod na nove veje jedra. Na primer, najnovejši pametni telefon Pixel 4, ki je izšel oktobra, prihaja z jedrom Linux 4.14, ki je bilo izdano pred dvema letoma. Delno je Google poskušal poenostaviti podporo s spodbujanjem sistema Treble, ki omogoča proizvajalcem ustvarjanje univerzalnih komponent podpore strojni opremi, ki niso vezane na specifične različice Androida in uporabljene izdaje jedra Linux. Treble omogoča uporabo že pripravljenih posodobitev od Googla kot osnove ter njihovo integracijo s komponentami specifičnimi za določeno napravo.


Predvajaj video

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster