O Google está trabalhando no uso de um kernel Linux normal no Android

Na última conferência Linux Plumbers 2019, o Google contado sobre o desenvolvimento инициативы sobre a transferência de alterações desenvolvidas no kernel Linux para o kernel Linux principal versão do kernel para a plataforma Android. O objetivo final é permitir que o Android use um kernel comum, em vez de preparar compilações separadas para cada dispositivo com base em uma ramificação específica do Android. Kernel comum do Android. Este objetivo já foi parcialmente alcançado, e o smartphone Android Xiaomi Poco F1 com firmware baseado no kernel Linux usual não modificado foi demonstrado na conferência.

Assim que o projeto estiver pronto, os fornecedores serão solicitados a fornecer um kernel base baseado no kernel principal do Linux. Os componentes para suporte de hardware serão fornecidos pelos fornecedores apenas na forma de módulos adicionais do kernel, sem aplicação de patches ao kernel. Os módulos precisarão ser compatíveis com o kernel principal no nível do namespace do símbolo do kernel. Todas as alterações que afetem o núcleo principal serão promovidas para o upstream. Para manter a compatibilidade com módulos proprietários nas ramificações LTS, propõe-se manter a API e a ABI do kernel em uma forma estável, o que manterá a compatibilidade do módulo com atualizações para cada ramificação comum do kernel.

O Google está trabalhando no uso de um kernel Linux normal no Android

Ao longo de um ano, recursos como o subsistema PSI (Pressure Stall Information) para análise de informações sobre o tempo de espera para obtenção de diversos recursos (CPU, memória, I/O) e o sistema de pseudoarquivos BinderFS para comunicação entre processos O mecanismo foi transferido para o kernel Linux principal da edição do kernel Android.Binder e agendador de tarefas com eficiência energética EAS (Energy Aware Scheduling). No futuro, o Android está planejado para ser transferido do agendador SchedTune específico para o novo subsistema UtilClamp desenvolvido em ARM, baseado em cgroups2 e mecanismos de kernel padrão.

O Google está trabalhando no uso de um kernel Linux normal no Android

Lembremos que até agora o kernel da plataforma Android passou por vários estágios de preparação:

  • Com base nos principais kernels LTS (3.18, 4.4, 4.9 e 4.14), foi criado um ramo do “Android Common Kernel”, para o qual foram transferidos patches específicos do Android (anteriormente o tamanho das alterações atingia vários milhões de linhas, mas recentemente as alterações foram reduzidas a vários milhares de linhas de código).
  • Com base no "Android Common Kernel", fabricantes de chips como a Qualcomm formaram o "SoC Kernel" que incluía complementos para suportar o hardware.
  • Com base no SoC Kernel, os fabricantes de dispositivos criaram o Device Kernel, que incluiu alterações relacionadas ao suporte para equipamentos adicionais, telas, câmeras, sistemas de som, etc.

O Google está trabalhando no uso de um kernel Linux normal no Android

Em essência, cada dispositivo tinha seu próprio kernel, que não podia ser usado em outros dispositivos. Tal esquema complica significativamente a implementação de atualizações para eliminar vulnerabilidades e a transição para novas ramificações do kernel. Por exemplo, o mais novo smartphone Pixel 4, lançado em outubro, vem com o kernel Linux 4.14, lançado há dois anos. Em parte, o Google tentou simplificar a manutenção promovendo o sistema Triplo, permitindo que os fabricantes criem componentes de suporte de hardware universais que não estão vinculados a versões específicas do Android e versões do kernel Linux usadas. O Treble possibilita usar como base atualizações prontas do Google, integrando a elas componentes específicos de um determinado dispositivo.


Fonte: opennet.ru

Adicionar um comentário