Na última conferencia de Linux Plumbers 2019, Google
Unha vez que o proxecto estea listo, pediráselles aos vendedores que fornecen un núcleo base baseado no núcleo principal de Linux. Os provedores só proporcionarán compoñentes para soporte de hardware en forma de módulos adicionais do núcleo, sen aplicar parches ao núcleo. Os módulos terán que ser compatibles co núcleo principal a nivel de espazo de nomes de símbolos do núcleo. Todos os cambios que afecten ao núcleo principal promoveranse cara arriba. Para manter a compatibilidade cos módulos propietarios dentro das ramas de LTS, proponse manter a API do núcleo e o ABI nunha forma estable, o que manterá a compatibilidade dos módulos coas actualizacións de cada rama común do núcleo.
Ao longo dun ano, funcións como o subsistema PSI (Pressure Stall Information) para analizar información sobre o tempo de espera para a obtención de diversos recursos (CPU, memoria, E/S) e o sistema de pseudo-ficheros BinderFS para a comunicación entre procesos. Os mecanismos foron transferidos ao núcleo principal de Linux desde a edición do núcleo de Android. Binder e programador de tarefas de eficiencia enerxética EAS (Energy Aware Scheduling). No futuro, está previsto que Android se transfira desde o programador específico de SchedTune ao novo subsistema UtilClamp desenvolvido en ARM, baseado en cgroups2 e mecanismos estándar do núcleo.
Lembremos que ata agora o núcleo para a plataforma Android pasou por varias fases de preparación:
- Baseándose nos principais núcleos LTS (3.18, 4.4, 4.9 e 4.14), creouse unha rama do "Android Common Kernel", na que se transferiron parches específicos de Android (anteriormente o tamaño dos cambios alcanzaba varios millóns de liñas, pero recentemente os cambios reducíronse a varios miles de liñas de código).
- Baseándose no "Android Common Kernel", fabricantes de chips como Qualcomm formaron "SoC Kernel" que incluía complementos para soportar o hardware.
- Baseándose no núcleo de SoC, os fabricantes de dispositivos crearon o núcleo de dispositivos, que incluíu cambios relacionados coa compatibilidade con equipos adicionais, pantallas, cámaras, sistemas de son, etc.
En esencia, cada dispositivo tiña o seu propio núcleo, que non se podía usar noutros dispositivos. Tal esquema complica significativamente a implementación de actualizacións para eliminar vulnerabilidades e a transición a novas ramas do núcleo. Por exemplo, o teléfono intelixente Pixel 4 máis recente, lanzado en outubro, envíase co núcleo Linux 4.14, lanzado hai dous anos. En parte, Google intentou simplificar o mantemento promovendo o sistema
Fonte: opennet.ru