Google sta lavorando all'impiego del kernel Linux standard in Android

Alla conferenza Linux Plumbers 2019, Google ha parlato ha parlato dello sviluppo di un'iniziativa del trasferimento delle modifiche sviluppate nel kernel per la piattaforma Android. L'obiettivo finale è fornire la possibilità di utilizzare un singolo kernel comune in Android, anziché preparare compilazioni separate per ogni dispositivo basate su una branch specifica per Android. Android Common Kernel. Questo obiettivo è già stato parzialmente raggiunto, e alla conferenza è stato dimostrato uno smartphone Android Xiaomi Poco F1 con un firmware basato su un kernel Linux standard non modificato.

Una volta completato il progetto, ai fornitori sarà proposto di fornire un kernel di base basato sul kernel Linux standard. I componenti per il supporto dell'hardware saranno forniti dai fornitori solo come moduli aggiuntivi del kernel, senza patch sul kernel stesso. Nei moduli deve essere garantita la compatibilità con il kernel principale a livello di spazio dei nomi dei simboli del kernel. Tutte le modifiche che riguardano il kernel principale saranno promosse upstream. Per mantenere la compatibilità con i moduli proprietari, si propone di mantenere stabile l'API e l'ABI del kernel nelle branch LTS, il che consentirà di mantenere la compatibilità dei moduli con gli aggiornamenti per ciascuna branch comune del kernel.

Google sta lavorando all'impiego del kernel Linux standard in Android

Nel corso dell'anno, nel kernel principale Linux sono state trasferite funzionalità come il sottosistema PSI (Pressure Stall Information) per l'analisi delle informazioni sui tempi di attesa per ottenere varie risorse (CPU, memoria, I/O), il filesystem pseudo BinderFS per il meccanismo di comunicazione interprocesso Binder e il pianificatore di attività a risparmio energetico EAS (Energy Aware Scheduling). In futuro, si prevede di migrare Android dal pianificatore specifico SchedTune a un nuovo sottosistema UtilClamp sviluppato in ARM, basato su cgroups2 e meccanismi standard del kernel.

Google sta lavorando all'impiego del kernel Linux standard in Android

Ricordiamo che finora il kernel per la piattaforma Android ha attraversato diverse fasi di preparazione:

  • Una branch "Android Common Kernel" è stata creata a partire dai principali kernel LTS (3.18, 4.4, 4.9 e 4.14), in cui sono state trasferite patch specifiche per Android (in precedenza l'ammontare delle modifiche superava diversi milioni di righe, ma recentemente le modifiche sono state ridotte a diverse migliaia di righe di codice).
  • Sulla base dell'«Android Common Kernel», produttori di chip come Qualcomm hanno creato il «SoC Kernel», che include estensioni per il supporto dell'hardware.
  • Sulla base del «SoC Kernel», i produttori di dispositivi hanno sviluppato il «Device Kernel», che include modifiche relative al supporto di ulteriori componenti hardware, schermi, fotocamere, sistemi audio, ecc.

Google sta lavorando all'impiego del kernel Linux standard in Android

In sostanza, per ciascun dispositivo è stato creato il proprio kernel, che non poteva essere utilizzato su altri dispositivi. Questo schema complica notevolmente l'implementazione degli aggiornamenti per la risoluzione delle vulnerabilità e il passaggio a nuovi rami del kernel. Ad esempio, il nuovissimo smartphone Pixel 4, lanciato a ottobre, viene fornito con un kernel Linux 4.14, rilasciato due anni fa. In parte, Google ha cercato di semplificare la manutenzione promuovendo il sistema Treble, che consente ai produttori di creare componenti di supporto hardware universali, non legati a versioni specifiche di Android e alle versioni stesse del kernel Linux. Treble offre la possibilità di utilizzare come base aggiornamenti già pronti da Google, integrando al loro interno componenti specifici per ciascun dispositivo.


Guarda il video

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster