Kernel Linux Real Time ao Infinito e Além

O trabalho para tornar o kernel Linux eficiente com o patch Real Time continua a todo vapor, ainda mais agora com o apoio da Open Source Automation Development Lab.

| Se você apoia nosso site, desative o AdBlock quando visitá-lo, inclusive em Mobile!
Os anúncios são poucos e não invasivos. Se quiser contribuir com nosso trabalho, clique em qualquer banner de sua preferência, exceto dos Parceiros. 
Mais detalhes clicando aqui.

Introdução

Recentemente abordamos os diversos tipos de kernel nesta publicação; e é sabido que o Kernel Linux Real Time foi oficialmente descontinuado como um ramo da árvore principal, ou seja, já esteve presente de forma nativa no repositório das principais distribuições Linux enquanto que atualmente você pode ativar o modo RT a partir da compilação de um kernel comum com os patchs PREEMPT_RT ativos.

Muitas empresas usam esse conjunto de patches para criar vários sistemas industriais que exigem a implementação de propriedades de tempo real precisas em intervalos de tempo relativamente relaxados com precisão de cerca de um milissegundo.

A BMW Car IT também usou este conjunto de patches para construir protótipos em tempo real para funções complexas na área de direção autônoma. No entanto, desde o início com o desenvolvimento desses protótipos, ficou claro que qualquer produto com demandas de alta qualidade requer o conjunto de patches PREEMPT_RT no desenvolvimento da linha principal para maior compatibilidade de recursos, maior garantia de qualidade e manutenção reduzida. Assim, a BMW Car IT começou a direcionar esforços para tornar o Linux em tempo real capaz desse suporte desde 2014.

Primeiro, a BMW Car IT uniu-se à OSADL, o Open Source Automation Development Lab, como um membro Gold para dar suporte às atividades de desenvolvimento Linux em tempo real, que foi financiado de forma colaborativa pelo supracitado membro da OSADL na época.

Segundo, o ex-colega Daniel Wagner começou a se familiarizar com o patch PREEMPT_RT existente em 2014 e fez uma série de contribuições para o kernel Linux relacionadas a recursos em tempo real de 2015 até o final de 2016. Devido à sua experiência com o patch PREEMPT_RT, ele agora é o mantenedor da ramificação estável em tempo real do Linux 4.4 e um dos três mantenedores para as ramificações de correção estáveis ​​em tempo real.

Desde 2016, o projeto Real-time Linux tem sido um projeto colaborativo sob a égide da Linux Foundation. O objetivo do projeto é tornar o mainline Linux com possibilidade de executar em tempo real. O projeto garante que os desenvolvedores do kernel Linux tenham a capacidade de continuar o trabalho de desenvolvimento, suporte de longo prazo e pesquisas futuras para um Linux com capacidade em tempo real.

Reescrevendo e Refatorando

Nos últimos dois anos, 2016 e 2017, a equipe de desenvolvimento em tempo real do Linux reescreveu a infraestrutura de hotplug do processador e refatorou o temporizador e os timers de alta resolução. Isso já reduziu significativamente o patch PREEMPT_RT fora da árvore.

Devido a uma redução no financiamento que se tornou aparente no início de 2018, o desenvolvimento do projeto Linux em Tempo Real teria reduzido sua força de trabalho. Felizmente, a Intel e a BMW Car IT poderiam fechar essa lacuna de financiamento. A Intel deu um upgrade na sua associação de Ouro para Platina e a BMW Car IT juntou-se à Linux Foundation e ao projeto colaborativo como membro Gold no Real-time Linux Project. Então, agora, após os ajustes do projeto, a equipe do Projeto Real-time Linux está de volta aos trilhos e continua a preparar os demais patches para inclusão no desenvolvimento da linha principal com velocidade total.

Este ano o foco da equipe de desenvolvimento kernel Linux em tempo real está em refator, reescrever e melhorar de maneira geral a infra-estrutura printk e soft interrupt e outras partes menores. Este trabalho preparará o código-fonte do kernel Linux para que todas as mudanças específicas em tempo real possam ser facilmente fundidas no kernel da linha principal na forma tradicional de patch.

Real Time

A funcionalidade em tempo real toca as partes principais do kernel (ou seja, requer mudanças significativas nos temporizadores, agendamentos, mecanismos de bloqueio, manuseio de interrupções e mais), e também é uma preocupação transversal para todos os drivers (ou seja, siga uma certa disciplina para tornar o kernel em tempo real capaz). Portanto, é difícil prever a data exata em que o Projeto Linux em Tempo Real finalmente terá todos os seus patches integrados ao desenvolvimento da linha principal. No entanto, não há dúvidas de que o kernel  Linux acabará se tornando capaz de processos em tempo real de qualidade industrial e o melhor: disponível ao publico.

“O kernel Linux é um projeto de desenvolvimento de software de grande investimento para nós. Obviamente, a BMW Car IT tem um grande interesse em fazer o melhor uso possível deste ativo de software. A indústria automotiva possui requisitos específicos, como maiores exigências em tempo real e a necessidade de períodos de manutenção mais longos, do que a indústria geral de TI e de eletrônicos de consumo. Com nossos investimentos em iniciativas que atendem a esses requisitos, podemos garantir que o Linux se adapte às nossas necessidades ”, afirma Kai-Uwe Balszuweit, CEO da BMW Car IT.

Revisando e testando

Uma vez que as capacidades em tempo real tenham sido integradas no desenvolvimento da linha principal, o trabalho do projeto não está apenas concluído e o projeto Linux em tempo real não pode ser abandonado. Após a integração final no desenvolvimento da linha principal, as atividades de desenvolvimento irão lentamente mudar seu foco: O sistema principal não exigirá mais mudanças para a capacidade em tempo real, mas a equipe de desenvolvimento do Real-Time Linux precisará revisar, testar e ajustar novos recursos de entrada de outras equipes de desenvolvimento do kernel para manter o kernel em tempo real com seus recursos incluídos.

É claro que todos os usuários e partes interessadas da capacidade em tempo real devem continuar a apoiar todas essas atividades nos próximos anos.

Isso é bem entendido na BMW Car IT, e esperamos que outras empresas que exigem o recurso em tempo real no Linux também sigam e expressem esse entendimento geral comum. Além do desenvolvimento de software até o início da produção, as operações e a manutenção são uma importante atividade de desenvolvimento de software que não é subestimada na BMW Car IT.

Christian Salzmann, CEO da BMW Car IT, afirma claramente: “Fornecendo boas soluções de software para a BMW por muitos anos, a BMW Car IT sabe que operações e manutenção contínuas são um dos principais pilares para proporcionar uma grande experiência aos nossos clientes. A atividade contínua de desenvolvimento e operações de software que anda de mãos dadas, em suma DevOps, faz parte da mentalidade da empresa BMW Car IT. O suporte da BMW Car IT para desenvolvimento e operações adicionais no Projeto Linux em Tempo Real não é uma exceção a essa regra. ”

A pagina oficial do projeto se encontra aqui!

#UrbanCompassPony

Fonte:
LinuxFoundation

Deixe um comentário