Linux em Tempo Real
Nos últimos anos temos visto uma crescente utilização de softwares embarcados em praticamente todos os objetos construídos pelo homem. Software embarcado é o software que é embutido dentro de um equipamento, como um sistema de injeção eletrônica de um automóvel, permitindo que este equipamento atue com maior funcionalidade e flexibilidade.
Antes apenas utilizados em sistemas complexos como sistemas
industriais, aeronaves e navios, hoje vemos softwares embarcados em
geladeiras, televisores e fornos de microondas. Estes equipamentos
tornam-se cada vez mais sofisticados, demandando mais e mais
complexidade no seu hardware e software embarcado.
Muitas indústrias que tradicionalmente competiam pela qualidade do seu
produto físico, como automóveis e eletrodomésticos, estão começando, de
maneira crescente e rápida, a adotar software em seus produtos. Em
alguns setores, como o automotivo as estimativas apontam que mais de
70% das futuras inovações serão baseadas em tecnologia de software e
não mais nas partes mecânicas. Estima-se que por volta de 2010 os
modelos de automóveis topo de linha deverão incorporar mais de 100
milhões de linhas de código de software em cada veículo. O uso do
software embarcado na indústria não é mais uma questão restrita aos
setores de Pesquisa e Desenvolvimento (P&D), mas parte integrante e
essencial das estratégias de diferenciação competitiva dos seus
produtos.
Alguns números já demonstram de forma inequívoca a importância do
software embarcado no setor industrial. Quando falamos em diferenciação
competitiva, já observamos que parcela significativa da diferenciação
entre os produtos baseia-se na maior oferta de funcionalidade,
suportada por tecnologia de software. A revolução digital tem mudado e
vai continuar mudando a dinâmica de muitas indústrias. Na indústria de
eletroeletrônicos vemos claramente a digitalização substituindo o mundo
analógico.
As transformações não ocorrem apenas em máquinas sofisticadas, como
automóveis de luxo, mas já vemos lavadoras de roupa com software
embarcado possibilitando uma maior oferta de funções. As vantagens dos
objetos falarem uns com os outros e com os computadores que processam
as aplicações nas empresas são imensas. Para um fabricante de
geladeiras, saber com antecedência de eventuais problemas de manutenção
identificados por sensores e transmitidos via Internet aceleram as
atividades da assistência técnica e transformam as relações com os seus
clientes.
Neste mercado o Linux tem papel de extrema importância, principalmente
pelo custo de entrada baixo. Como o Linux não demanda pagamento de
royalties, o usuário não vai pagar um valor adicional pelo custo da
funcionalidade adicionada a uma geladeira...O resultado é que o Linux
está caminhando para se tornar o sistema dominante no ambiente de
sistemas embarcados. Recentes pesquisas apontam que os desenvolvedores
de sistemas embarcados estão migrando ou planejando a migração para
Linux, migrando dos sistemas proprietários que anteriormente dominavam
este mercado. Já existem muitos negócios gravitando neste mundo,
inclusive distribuidoras especializadas como a "Red Hat" do Linux
embarcado, a MontaVista (www.mvista.com).
A liderança do Linux nos sistemas embarcados tem um significado
importante, pois à medida que se dissemine em milhões de dispositivos
(em número muito maior que os PCs...), acarretará uma forte influencia
nas plataformas tradicionais. Como software é software, qualquer que
seja a plataforma, desenvolvedores acostumados a desenvolver aplicações
para o ambiente Linux em um celular, podem rapidamente adaptar seus
conhecimentos para desenvolver também aplicações para qualquer outra
plataforma.
Porque o Linux tem feito tanto sucesso neste cenário? O mercado de
software embarcado tem peculiaridades específicas. Apresenta uma ampla
diversidade de funcionalidades e utiliza uma gama muito grande de
processadores. É uma diversidade diferente do ambiente de computação
tradicional, onde existe uma concentração em poucos
processadores.
O software embarcado deve apresentar alta estabilidade. Uma aeronave ou
uma usina nuclear não pode apresentar falhas no software. Outra
característica de muitos dispositivos é a necessidade de operação em
tempo real, principalmente nos equipamentos de controle de
processo.
O software embarcado deve operar em ambientes de recursos
computacionais limitados, como memória ou discos magnéticos. Assim,
recursos como gerenciamento de discos, rotinas de grande impacto no
desempenho de sistemas comerciais, torna-se pouca importância no
contexto da computação embarcada.
O fator custo é de grande importância em sistemas embarcados. Um
telefone celular não pode custar o dobro de outro por causa do preço do
software básico que esteja embutido nele. O sistema operacional de um
equipamento destes é totalmente invisível e não desperta a percepção do
comprador. As diferenças devem ser claramente perceptíveis, como um
maior número de funcionalidades disponibilizadas. Um sistema
operacional baseado nos princípios do Open Source tira um peso grande
do custo, tornando-se bem atraente para este setor.
O Linux, pela qualidade de seu código já é hoje peça fundamental da
arquitetura de tecnologia de sistemas embarcados militares dos EUA. A
Marinha americana baseou sua arquitetura, denominada NOACE - Navy Open
Architecture Computing Environment em padrões abertos e considera o
Linux fundamental em sua estratégia de reduzir os tempos e custos de
desenvolvimento de seus sistemas embarcados em navios, aeronaves e
submarinos. O primeiro grande projeto da Marinha americana a adotar
esta tecnologia é a nova classe de destroyers DD(X), cujo primeiro
navio é o DDG 1000, Zunwalt. O software destes navios vai rodar em
servidores Blade da IBM, que também contribuiu decisivamente para
adaptar os ambientes Linux e Java (WebSphere Real Time) para operar em
tempo real.
O mesmo conceito de padrões abertos foi adotado pelo Exército americano
em sua arquitetura chamada de WSCOE – Weapons Systems Common Operating
Environment.
De maneira geral, os usuários (consumidores) destes equipamentos não
sabem e nem precisam saber que o Linux está rodando em seus
dispositivos. Mas para os fabricantes o fato do Linux estar disponível
em código fonte, permite que seja usado sem pagamento de royalties para
cada produto vendido, além de facilitar em muito a customização,
praticamente montando-o para as necessidades especificas de cada
aparelho. Isto dá aos fabricantes um completo controle sobre o
dispositivo, permitindo fazer modificações e implementar inovações
muito rapidamente.
*Cezar Taurion é gerente de novas tecnologias aplicadas da IBM Brasil. Seu blog pode ser acessado em www-03.ibm.com/developerworks/blogs/page/ctaurion.
Este artigo foi publicado com a devida autorização. Todos os
direitos reservados ao autor.
