Google pracuje na využití běžného jádra Linuxu v Androidu

Na nedávné konferenci Linux Plumbers 2019 společnost Google pověděla o rozvoji iniciativy na přenos do hlavního jádra Linuxu změn vyvíjených v verzi jádra pro platformu Android. Konečným cílem je umožnit použití jednoho společného jádra v Androidu, místo přípravy jednotlivých sestavení pro každé zařízení na základě specifické větve pro Android Android Common Kernel. Tento cíl byl již částečně dosažen, a na konferenci byl představen smartphone Xiaomi Poco F1 se systémem založeným na běžném nemodifikovaném jádru Linuxu.

Po dokončení projektu budou dodavatelům nabídnuto dodávat základní jádro založené na hlavním jádru Linuxu. Komponenty pro podporu hardwaru budou dodávány dodavateli pouze jako dodatečné moduly jádra, bez patchování jádra. Moduly budou povinně muset být kompatibilní s hlavním jádrem na úrovni prostoru názvů symbolů jádra. Všechny změny, které se týkají hlavního jádra, budou prosazovány do upstreamu. Pro zachování kompatibility s proprietárními moduly v rámci LTS větví se navrhuje uchovávat stabilní API a ABI jádra, což umožní zachovat kompatibilitu modulů s aktualizacemi pro každou společnou větev jádra.

Google pracuje na využití běžného jádra Linuxu v Androidu

Za rok byly do hlavního jádra Linuxu převedeny z edice jádra pro Android takové funkcionality, jako je pod systém PSI (Pressure Stall Information) pro analýzu informací o čase čekání na získání různých zdrojů (CPU, paměť, vstup/výstup), pseudofilová systém BinderFS pro mechanismus meziprocesního komunikace Binder a energeticky efektivní plánovač úloh EAS (Energy Aware Scheduling). Dále se plánuje převést Android ze specifického plánovače SchedTune na nově vyvinutý subsystem UtilClamp od společnosti ARM, který je založen na cgroups2 a standardních mechanismech jádra.

Google pracuje na využití běžného jádra Linuxu v Androidu

Připomeňme, že dosud jádro pro platformu Android prošlo několika fázemi přípravy:

  • Na základě hlavních LTS jader (3.18, 4.4, 4.9 a 4.14) bylo vytvořeno odvětví "Android Common Kernel", do kterého byly přenášeny specifické pro Android patche (dříve velikost změn dosahovala několika milionů řádků, ale v poslední době byly změny zkráceny na několik tisíc řádků kódu).
  • Na základě "Android Common Kernel" výrobci čipů, jako je Qualcomm, vytvářeli "SoC Kernel", které zahrnovaly doplňky pro podporu hardwaru.
  • Na základě "SoC Kernel" výrobci zařízení vytvářeli "Device Kernel", které zahrnovaly změny spojené s podporou dalšího hardwaru, obrazovek, fotoaparátů, zvukových systémů atd.

Google pracuje na využití běžného jádra Linuxu v Androidu

V podstatě bylo pro každé zařízení vytvořeno vlastní jádro, které nemohlo být používáno na jiných zařízeních. Tento systém výrazně komplikuje schvalování aktualizací k odstranění zranitelností a přechod na nové větve jádra. Například nedávno vydaný smartphone Pixel 4 ze října dodává se s jádrem Linux 4.14, které bylo vydáno před dvěma lety. Částečně, Google se pokusil usnadnit údržbu tím, že propagoval systém Treble, který umožňuje výrobcům vytvářet univerzální komponenty pro podporu hardwaru, které nejsou vázány na konkrétní verze Android a používané verze jádra Linux. Treble umožňuje používat jako základ již hotové aktualizace od Google a integrovat do nich specifické komponenty pro konkrétní zařízení.


Přehrát video

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster