Google lucrează la utilizarea unui nucleu Linux obișnuit în Android

La ultima conferință Linux Plumbers 2019, Google El a spus despre dezvoltare inițiative privind transferul modificărilor dezvoltate în nucleul Linux către nucleul Linux principal versiunea nucleului pentru platforma Android. Scopul final este de a permite Android să folosească un nucleu comun, în loc să pregătească versiuni separate pentru fiecare dispozitiv bazate pe o ramură specifică Android Kernel comun Android. Acest obiectiv a fost deja atins parțial, iar smartphone-ul Android Xiaomi Poco F1 cu firmware bazat pe nucleul Linux obișnuit nemodificat a fost demonstrat la conferință.

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.

Google lucrează la utilizarea unui nucleu Linux obișnuit în Android

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.

Google lucrează la utilizarea unui nucleu Linux obișnuit în Android

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.

Google lucrează la utilizarea unui nucleu Linux obișnuit în Android

Î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 Tripla, permițând producătorilor să creeze componente universale de suport hardware care nu sunt legate de anumite versiuni Android și versiuni de kernel Linux utilizate. Treble face posibilă utilizarea actualizărilor gata făcute de la Google ca bază, integrând în ele componente specifice unui anumit dispozitiv.


Sursa: opennet.ru

Adauga un comentariu