Në konferencën e kaluar Linux Plumbers 2019, kompania Google foli për zhvillimin për transferimin në berzën kryesore të Linux ndryshimeve që janë zhvilluar në për platformën Android. Qëllimi përfundimtar është ofrimi i mundësisë për përdorimin e një kernel të përbashkët në Android, në vend të përgatitjes së ndërtimeve të veçanta për çdo pajisje mbi një degë specifike për Android. . Ky qëllim është arritur pjesërisht, dhe gjatë konferencës u demonstruar një smartphone Android Xiaomi Poco F1 me softuer bazuar në kernelin e zakonshëm të pa modifikuar Linux.
Pasi projekti të bëhet i gatshëm, ofruesit do të ftohen të ofrojnë kernelin bazë të bazuar në kernelin kryesor të Linux. Komponentët për mbështetje të pajisjeve do të ofrohen nga ofruesit vetëm në formën e moduleve shtesë të kernelit, pa vënien e patches mbi kernel. Modulet do të duhet të sigurojnë domosdoshmërish kompatibilitet me kernelin kryesor në nivelin e hapësirës emërtuese të simboleve të kernelit. Të gjitha ndryshimet që prekin kernelin kryesor do të avancohen upstream. Për të ruajtur kompatibilitetin me modulet pronarë në kuadër të degëve LTS, propozohet mbështetje e stabilizuar e API dhe ABI të kernelit, e cila do të lejojë ruajtjen e kompatibilitetit të moduleve me përditësimet për çdo degë të përbashkët të kernelit.

Gjatë një viti, në kernelin kryesor të Linux janë transferuar nga redaksia e kernelit për Android mundësi të tilla si nën-sistemi PSI (Pressure Stall Information) për analizen e informacionit mbi kohën e pritjes për marrjen e burimeve të ndryshme (CPU, memorie, hyrje/dalida), sistemi pseudo-file BinderFS për mekanizmin e ndërveprimit ndër-proces, dhe planifikuesi energjikisht efikas EAS (Energy Aware Scheduling). Në të ardhmen, Android planifikohet të kalojë nga planifikuesi specifik SchedTune në një nën-sistem të ri UtilClamp, të zhvilluar në ARM, i bazuar në cgroups2 dhe mekanizmat standard të kernelit.

Kujtojmë se deri tani, kernel për platformën Android ka kaluar disa faza përgatitore:
- Nga kernelat LTS kryesore (3.18, 4.4, 4.9 dhe 4.14) është krijuar një degë "Android Common Kernel", në të cilën janë transferuar patches specifike për Android (më parë, madhësia e ndryshimeve arrinte disa miliona rreshta, por kohët e fundit ndryshimet janë reduktuar në disa mijëra rreshta kodi).
- Nga "Android Common Kernel", prodhuesit e çipëve, si Qualcomm, formuan "SoC Kernel", që përfshinin shtesa për mbështetje të pajisjeve.
- Në bazë të "SoC Kernel", prodhuesit e pajisjeve krijonin "Device Kernel", që përfshinte ndryshime të lidhura me mbështetje të pajisjeve shtesë, ekraneve, kamerave, sistemeve audio etj.

Në thelb, për çdo pajisje formohej një kernel i vetë. Kjo skemë e bën të ndërlikuar sjelljen e përditësimeve për zgjidhjen e dobësive dhe kalimin në degët e reja të kernelit. Për shembull, smartphone-i më i ri Pixel 4 i dalë në tetor vjen me kernelin Linux 4.14, i lëshuar dy vjet më parë. Pjesërisht, Google përpiqet të thjeshtojë mbështetje duke avancuar sistemin. , duke i lejuar prodhuesve të krijojnë komponentë universale të mbështetjes për pajisjet, të pavaruara nga versionet specifike të Android dhe lëshimeve të përdorura të kernelit Linux. Treble ofron mundësinë për të përdorur si bazë përditësime të gatshme nga Google, duke i integruar ato me komponentë specifikë për pajisjet.

Burimi: opennet.ru
