La ultima conferință Linux Plumbers 2019, Google
Odată ce proiectul este gata, vânzătorilor li se va cere să furnizeze un nucleu de bază bazat pe nucleul principal Linux. Componentele pentru suport hardware vor fi furnizate de furnizori numai sub formă de module suplimentare de nucleu, fără a aplica patch-uri la kernel. Modulele vor trebui să fie compatibile cu nucleul principal la nivelul spațiului de nume simbol al nucleului. Toate modificările care afectează nucleul principal vor fi promovate în amonte. Pentru a menține compatibilitatea cu modulele proprietare din ramurile LTS, se propune menținerea API-ului kernel-ului și ABI într-o formă stabilă, care va menține compatibilitatea modulelor cu actualizările pentru fiecare ramură comună a nucleului.
Pe parcursul unui an, funcții precum subsistemul PSI (Pressure Stall Information) pentru analizarea informațiilor despre timpul de așteptare pentru obținerea diferitelor resurse (CPU, memorie, I/O) și sistemul de pseudo-fișiere BinderFS pentru comunicarea între procese mecanismele au fost transferate pe kernel-ul principal Linux din ediția Android kernel.Binder și planificator de sarcini eficient energetic EAS (Energy Aware Scheduling). În viitor, Android este planificat să fie transferat de la planificatorul specific SchedTune la noul subsistem UtilClamp dezvoltat în ARM, bazat pe cgroups2 și mecanisme standard ale nucleului.
Să reamintim că până acum nucleul pentru platforma Android a trecut prin mai multe etape de pregătire:
- Pe baza principalelor nuclee LTS (3.18, 4.4, 4.9 și 4.14), a fost creată o ramură a „Android Common Kernel”, în care au fost transferate patch-uri specifice Android (anterior dimensiunea modificărilor a ajuns la câteva milioane de linii, dar recent modificările au fost reduse la câteva mii de linii de cod).
- Pe baza „Android Common Kernel”, producătorii de cipuri precum Qualcomm au format „SoC Kernel” care includea suplimente pentru a susține hardware-ul.
- Pe baza kernel-ului SoC, producătorii de dispozitive au creat kernel-ul dispozitivului, care includea modificări legate de suportul pentru echipamente suplimentare, ecrane, camere, sisteme de sunet etc.
În esență, fiecare dispozitiv avea propriul său nucleu, care nu putea fi folosit pe alte dispozitive. O astfel de schemă complică semnificativ implementarea actualizărilor pentru a elimina vulnerabilitățile și tranziția la noi ramuri de kernel. De exemplu, cel mai nou smartphone Pixel 4, lansat în octombrie, este livrat cu nucleul Linux 4.14, lansat în urmă cu doi ani. În parte, Google a încercat să simplifice întreținerea prin promovarea sistemului
Sursa: opennet.ru