Google está a traballar no uso dun núcleo Linux normal en Android

Na última conferencia de Linux Plumbers 2019, Google contou sobre o desenvolvemento iniciativas sobre a transferencia dos cambios desenvolvidos no núcleo de Linux ao núcleo principal de Linux versión do núcleo para a plataforma Android. O obxectivo final é permitir que Android use un núcleo común, en lugar de preparar compilacións separadas para cada dispositivo baseadas nunha rama específica de Android. Núcleo común de Android. Este obxectivo xa se conseguiu parcialmente, e na conferencia demostrouse o teléfono intelixente Xiaomi Poco F1 Android con firmware baseado no habitual núcleo Linux sen modificar.

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.

Google está a traballar no uso dun núcleo Linux normal en Android

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.

Google está a traballar no uso dun núcleo Linux normal en Android

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.

Google está a traballar no uso dun núcleo Linux normal en Android

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 Agudo, permitindo aos fabricantes crear compoñentes de soporte de hardware universal que non estean vinculados a versións específicas de Android e versións do núcleo de Linux utilizadas. Treble fai posible utilizar como base as actualizacións xa preparadas de Google, integrando nelas compoñentes específicos dun dispositivo en particular.


Fonte: opennet.ru

Engadir un comentario