banner
Lar / blog / O que é real
blog

O que é real

Feb 05, 2024Feb 05, 2024

Seu guia para escolher um RTOS para seu próximo projeto de sistema embarcado.

Um sistema operacional em tempo real (RTOS) é um sistema operacional com dois recursos principais: previsibilidade e determinismo. Em um RTOS, tarefas repetidas são executadas dentro de um limite de tempo apertado, enquanto em um sistema operacional de uso geral isso não acontece necessariamente. Previsibilidade e determinismo, neste caso, andam de mãos dadas: sabemos quanto tempo uma tarefa levará e que produzirá sempre o mesmo resultado.

Os RTOSes são subdivididos em sistemas “soft” de tempo real e “hard” de tempo real. Os sistemas suaves em tempo real operam em algumas centenas de milissegundos, na escala de uma reação humana. Sistemas rígidos em tempo real, entretanto, fornecem respostas previsíveis em dezenas de milissegundos ou menos.

Taxonomia de sistemas operacionais

Um RTOS é um tipo de sistema operacional, mas é muito diferente daquele com o qual a maioria dos consumidores está familiarizada. Os sistemas operacionais em telefones ou computadores pessoais estão, comparativamente, cheios de aplicativos e recursos; eles devem ser capazes de suportar qualquer coisa que o usuário queira fazer hoje. Já um RTOS é simplificado, destinado a executar suas tarefas de forma rápida e eficaz. É uma fração do tamanho, às vezes apenas alguns megabytes (contra mais de 20 gigabytes), com uma interface gráfica simples e carece de muitos recursos familiares, como um navegador da web.

Um sistema embarcado é um computador incorporado em uma máquina maior – por exemplo, o microcontrolador em um braço robótico. Em sistemas não críticos com alguma flexibilidade de cronograma, os desenvolvedores podem usar um sistema operacional de uso geral (GPOS) de código aberto, como o Linux. O Linux é completo, flexível e bem conhecido. Em um sistema crítico (seja de segurança crítica ou de missão crítica), os desenvolvedores optam por sistemas operacionais em tempo real. As características que diferenciam um RTOS costumam ser essenciais para o sucesso. Por exemplo, um braço robótico numa fábrica precisa de ser previsível e fiável, e deve ser capaz de parar imediatamente quando os funcionários entram na sua área de operação. A variabilidade pode resultar em desperdício de recursos, problemas de controle de qualidade ou ferimentos.

Um braço robótico deve ser capaz de parar imediatamente quando os funcionários entram na sua área de operação.

Devido aos seus benefícios, um sistema operacional em tempo real é mais frequentemente usado em um sistema embarcado – ou seja, um sistema que opera nos bastidores de uma operação maior. O RTOS geralmente não possui interface gráfica. Ocasionalmente, vários sistemas operacionais são integrados simultaneamente, para fornecer capacidade operacional juntamente com a usabilidade de um sistema operacional de uso geral.

Os RTOSes costumam estar em dispositivos de borda inteligentes, também conhecidos como borda eletromecânica ou sistemas ciberfísicos. Isso significa que o dispositivo está produzindo e operando com base em dados. Assim, um carro, por exemplo, seria capaz de monitorar o ambiente ao seu redor e agir instantaneamente sobre ele por conta própria. Esses dispositivos geralmente combinam inteligência artificial ou aprendizado de máquina, ou ambos, com componentes em tempo real para aumentar as capacidades da estrutura subjacente.

Um carro autônomo precisa ser capaz de monitorar o ambiente ao seu redor e agir instantaneamente sobre ele por conta própria.

Um RTOS é pequeno, rápido, responsivo e determinístico. Isso significa que ele executará as tarefas com rapidez e eficiência, respondendo sempre conforme o esperado. Devido à importância do seu dispositivo host, a infraestrutura RTOS é mais segura e menos propensa a travar ou falhar. Finalmente, um RTOS é orientado ao desenvolvedor, o que significa que ele continua a lançar atualizações que ajudam os usuários a codificar de forma mais eficaz.

Algumas empresas tentam produzir internamente seus próprios RTOS, feitos sob medida para seu projeto, em vez de comprar um sistema operacional comercial pronto para uso. Isso tem algumas vantagens: o sistema operacional é projetado especificamente para o caso de uso e a empresa entende sua mecânica e funcionamento interno. No entanto, essa abordagem costuma ser mais cara e demorada, e os desenvolvedores que não estão acostumados a trabalhar em sistemas operacionais levam muito tempo para produzi-la. Utilizar um sistema comercial é mais rápido, fácil e traz o benefício de uma equipe técnica experiente que pode tirar dúvidas e dar suporte. Um sistema operacional é uma ferramenta, muito parecida com um martelo ou uma furadeira. Embora você pudesse criar um - um que você entendesse perfeitamente e que pudesse se adequar melhor ao seu projeto - levaria muito tempo, sem garantias de desempenho ou capacidade.