Në konferencën e kaluar Linux Plumbers 2019, kompania Google diskutoi zhvillimin për transferimin në kernelin kryesor të Linux ndryshimeve që zhvillohen në për platformën Android. Qëllimi përfundimtar është të mundësohet përdorimi në Android të një kerneli të përbashkët, në vend të përgatitjes së mbledhjeve të veçanta për çdo pajisje duke u bazuar në degën specifike të Android . Ky qëllim është arritur pjesërisht, dhe në konferencë u demonstruar një telefon Android Xiaomi Poco F1 me një firmware të bazuar në kernelin e zakonshëm, të pa modifikuar.
Pas përfundimit të projektit, do të ofrohet furnizuesve që të ofrojnë kernelin bazë të bazuar në kernelin kryesor të Linux. Komponentët për mbështetje të pajisjeve do të ofrohen nga furnizuesit vetëm në formën e moduleve shtesë të kernelit, pa aplikimin e patch-eve në kernel. Modulet do të duhet të sigurojnë gjithmonë përputhshmëri me kernelin kryesor në nivelin e hapësirës së emrit të simboleve të kernelit. Të gjitha ndryshimet që prekin kernelin kryesor do të promovohen në upstream. Për të ruajtur përputhshmërinë me modulat proprietarë në degët LTS, propozohet që API dhe ABI e kernelit të mbahen në një version të stabilizuar, çka do të lejojë përputhshmërinë e moduleve me përditësimet për secilën degë të përbashkët të kernelit.

Gjatë një viti, në kernelin kryesor të Linux janë transferuar nga edita e kernelit për Android mundësi si nën sistemi PSI (Pressure Stall Information) për analiza të informacionit mbi kohën e pritjes për marrjen e burimeve të ndryshme (CPU, memorie, hyrje/ dalje), sistemi i pseudofajllit BinderFS për mekanizmin e ndërlidhjes ndërprocesore Binder dhe planifikuesi i energjisë EAS (Energy Aware Scheduling). Në të ardhmen, Android planifikohet të kalojë nga planifikuesi specifik SchedTune në një nën sistem të ri të zhvilluar në ARM, UtilClamp, i bazuar në cgroups2 dhe mekanizmat standard të kernelit.

Kujtojmë se deri tani, kernelin për platformën Android ka kaluar nëpër disa faza përgatitore:
- Nga bazat e LTS-kernels (3.18, 4.4, 4.9 dhe 4.14) është krijuar një degë 'Android Common Kernel', në të cilën janë transferuar patch-et specifike për Android (më parë madhësia e ndryshimeve ka arritur disa miliona rreshta, por kohët e fundit ndryshimet janë reduktuar në disa mijëra rreshta kodi).
- Bazuar në "Android Common Kernel", prodhuesit e çipave, si Qualcomm, formuan "SoC Kernel", duke përfshirë shtesa për mbështetje të harduerit.
- Në bazë të 'SoC Kernel', prodhuesit e pajisjeve krijonin 'Device Kernel', duke përfshirë ndryshime që lidhen me mbështetje për pajisje shtesë, ekrane, kamera, sisteme zanore etj.

Në thelb, për çdo pajisje formohej një bërthamë e saj, e cila nuk mund të përdorej në pajisje të tjera. Ky model e komplikon ndjeshëm procesin e përmirësimit të azhurnimeve për të eliminuar dobësitë dhe kalimin në degë të reja të bërthamës. Për shembull, telefoni më i fundit Pixel 4, i dalë në muajin tetor, vjen me bërthamën Linux 4.14, e cila është lëshuar dy vjet më parë. Ndërsa, Google përpiqet të simplifikojë mbështetje nëpërmjet promovimit të sistemit , që lejon prodhuesit të krijojnë komponentë universale për mbështetje të harduerit, të pa lidhur me versione të caktuara të Android dhe lëshimet e përdorura të bërthamës Linux. Treble ofron mundësinë të përdorë përditësimet ekzistuese nga Google si bazë, duke i integruar ato me komponentët specifikë për pajisjet përkatëse.

Burimi: opennet.ru
