Lors de la dernière conférence Linux Plumbers 2019, Google
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.
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.
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.
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
Source: opennet.ru