Google travaille sur l'utilisation d'un noyau Linux standard dans Android

Lors de la dernière conférence Linux Plumbers 2019, Google dit sur le développement initiatives sur le transfert des modifications développées dans le noyau Linux vers le noyau Linux principal version du noyau pour la plateforme Android. Le but ultime est de permettre à Android d'utiliser un noyau commun, au lieu de préparer des versions distinctes pour chaque appareil basées sur une branche spécifique à Android. Noyau commun Android. Cet objectif a déjà été partiellement atteint et le smartphone Android Xiaomi Poco F1 avec un firmware basé sur le noyau Linux habituel non modifié a été présenté lors de la conférence.

Une fois le projet prêt, il sera demandé aux fournisseurs de fournir un noyau de base basé sur le noyau Linux principal. Les composants destinés au support matériel seront fournis par les fournisseurs uniquement sous la forme de modules de noyau supplémentaires, sans application de correctifs au noyau. Les modules devront être compatibles avec le noyau principal au niveau de l'espace de noms des symboles du noyau. Tous les changements affectant le noyau principal seront promus en amont. Pour maintenir la compatibilité avec les modules propriétaires au sein des branches LTS, il est proposé de maintenir l'API et l'ABI du noyau sous une forme stable, ce qui maintiendra la compatibilité des modules avec les mises à jour pour chaque branche commune du noyau.

Google travaille sur l'utilisation d'un noyau Linux standard dans Android

Au cours d'une année, des fonctionnalités telles que le sous-système PSI (Pressure Stall Information) pour analyser les informations sur le temps d'attente pour l'obtention de diverses ressources (CPU, mémoire, E/S) et le système de pseudo-fichiers BinderFS pour la communication interprocessus Le mécanisme a été transféré au noyau Linux principal à partir de l'édition du noyau Android. Le classeur et le planificateur de tâches économe en énergie EAS (Energy Aware Scheduling). À l'avenir, il est prévu qu'Android soit transféré du planificateur spécifique SchedTune vers le nouveau sous-système UtilClamp développé dans ARM, basé sur cgroups2 et les mécanismes standard du noyau.

Google travaille sur l'utilisation d'un noyau Linux standard dans Android

Rappelons que jusqu'à présent le noyau de la plateforme Android est passé par plusieurs étapes de préparation :

  • Sur la base des principaux noyaux LTS (3.18, 4.4, 4.9 et 4.14), une branche du « noyau commun Android » a été créée, dans laquelle des correctifs spécifiques à Android ont été transférés (auparavant, la taille des modifications atteignait plusieurs millions de lignes, mais récemment les modifications ont été réduites à plusieurs milliers de lignes de code).
  • Sur la base du « noyau commun Android », les fabricants de puces tels que Qualcomm ont formé le « noyau SoC » qui comprenait des modules complémentaires pour prendre en charge le matériel.
  • Sur la base du noyau SoC, les fabricants d'appareils ont créé le noyau de périphérique, qui comprenait des modifications liées à la prise en charge d'équipements supplémentaires, d'écrans, de caméras, de systèmes audio, etc.

Google travaille sur l'utilisation d'un noyau Linux standard dans Android

Essentiellement, chaque appareil avait son propre noyau, qui ne pouvait pas être utilisé sur d'autres appareils. Ce schéma complique considérablement la mise en œuvre des mises à jour pour éliminer les vulnérabilités et la transition vers de nouvelles branches du noyau. Par exemple, le dernier smartphone Pixel 4, sorti en octobre, est livré avec le noyau Linux 4.14, sorti il ​​y a deux ans. Google a en partie tenté de simplifier la maintenance en promouvant le système Aigus, permettant aux fabricants de créer des composants de support matériel universels qui ne sont pas liés aux versions spécifiques d'Android et aux versions du noyau Linux utilisées. Treble permet d'utiliser comme base des mises à jour toutes faites de Google, en y intégrant des composants spécifiques à un appareil particulier.


Source: opennet.ru

Ajouter un commentaire