- O que é RTOS?
- Por que RTOS ??
- Diferença entre sistema operacional em tempo real e sistema operacional
- Tipos de RTOS
- Benefícios de usar RTOS grátis
- Alguns dos principais problemas relacionados ao RTOS
- Como usar RTOS
Os sistemas embarcados têm uma ampla gama de aplicações em todos os dispositivos eletrônicos ao nosso redor, um exemplo evidente é o mini laptop que carregamos o tempo todo, sim, estou me referindo aos nossos telefones celulares.
Sempre que um sistema embarcado entra em cena, é sempre uma combinação de hardware como microcontroladores ou microprocessadores e software como um firmware ou sistema operacional. Um sistema operacional forma a base de todos os dispositivos eletrônicos e gerencia o hardware e o software em qualquer dispositivo eletrônico. O termo sistema operacional não se limita apenas a Unix e Windows para computadores, mas também pode se estender a microcontroladores. Um sistema operacional que pode ser executado em microcontroladores é chamado de sistema operacional em tempo real. Aqui aprenderemos sobre RTOS e aplicações do sistema operacional em tempo real.
O que é RTOS?
O sistema operacional em tempo real, popularmente conhecido como RTOS, fornece ao controlador a capacidade de responder a entradas e concluir tarefas em um período específico de tempo com base na prioridade. À primeira vista, um RTOS pode soar como qualquer outro programa ou firmware embutido, mas é construído na arquitetura de um sistema operacional. Portanto, como qualquer sistema operacional, o RTOS pode permitir que vários programas sejam executados ao mesmo tempo, oferecendo suporte à multiplexação. Como sabemos, o núcleo de um processador ou controlador só pode executar uma única instrução de cada vez, mas o RTOS tem algo chamado de escalonadorque decide qual instrução executar primeiro e, portanto, executa as instruções de vários programas, um após o outro. Tecnicamente, um RTOS só cria uma ilusão de tomada múltipla executando instruções paralelas uma de cada vez.
Isso torna o RTOS adequado para várias aplicações no mundo real. Em RTOS para qualquer entrada sempre que uma lógica foi avaliada que fornece a saída correspondente. Essa lógica é medida com base não apenas na criatividade lógica, mas também na duração do tempo em que a tarefa específica foi realizada. Se um sistema falhar na execução de tarefas naquele período específico de tempo, isso é conhecido como falha do sistema.
Por que RTOS ??
- Disponibilidade de drivers: Existem muitos drivers disponíveis no RTOS, o que nos permite usá-los diretamente para várias aplicações.
- Arquivos programados: o RTOS cuida da programação, portanto, em vez de focar na programação de qualquer sistema, podemos simplesmente nos concentrar no desenvolvimento de aplicativos. Por exemplo, os arquivos de agendamento de tarefas são usados para definir certas ações sempre que um conjunto de condições é atendido. O RTOS usa certos algoritmos avançados para agendamento de estados tipicamente em execução, pronto e bloqueado, que durante a execução do RTOS mantém mais foco no desenvolvimento de aplicativos do que no agendamento.
- Flexibilidade de adição de recursos: No RTOS, mesmo se você estiver disposto a adicionar novos recursos, você pode simplesmente adicioná-lo sem perturbar os recursos existentes
Diferença entre sistema operacional em tempo real e sistema operacional
Existem várias diferenças entre o sistema operacional de tempo real e os sistemas operacionais como Windows, Linux etc. Vamos dar uma olhada neles um por um com a ajuda do formato de tabela:
S.Não | Sistema operacional | Sistema em tempo real |
1 | O compartilhamento de tempo é a base da execução de processos no sistema operacional | Os processos são executados com base na ordem de sua prioridade |
2 | O sistema operacional atua como uma interface entre o hardware e o software de um sistema | O sistema em tempo real é projetado para ter sua execução para os problemas do mundo real |
3 | Gerenciar a memória não é um problema crítico quando se trata de execução do sistema operacional | O gerenciamento de memória é difícil porque, com base no problema em tempo real, a memória é alocada, o que é crítico |
4 | Aplicações: Escritório, Data centers, Sistema para casa etc | Aplicações: Controle de aeronaves ou reator nuclear, equipamentos de pesquisa científica |
5 | Exemplos: Microsoft Windows, Linux, SO | Exemplos: Vx Works, QNX, Windows CE |
Tipos de RTOS
Podemos categorizar o sistema operacional em tempo real em três partes, a saber
- Sistema operacional em tempo real difícil
- Sistema operacional soft em tempo real
- Sistema operacional firme em tempo real
1. Sistema operacional em tempo real difícil
Vamos começar a entender esse tipo de sistema operacional usando um exemplo, o exemplo ao vivo é o sistema de controle de vôo. Dentro do sistema de controle de vôo, quaisquer tarefas dadas pelo piloto na forma de uma entrada, devem ser executadas no prazo. Em um sistema operacional de tempo real difícil, as falhas do sistema podem ser toleradas. Os recursos do RTOS rígido são:
- Para executar tarefas na hora
- O não cumprimento do prazo é fatal
- Tempo de resposta garantido para pior caso
- Pode levar à falha do sistema
2. Sistema operacional soft em tempo real
O exemplo mais fácil de usar o RTOS flexível é o banco de dados online, já que dentro do RTOS flexível o parâmetro com o qual estamos mais preocupados é a velocidade. Portanto, os recursos do RTOS suave são:
- As tarefas devem ser realizadas o mais rápido possível
- A conclusão tardia das tarefas é indesejável, mas não fatal
- Existe a possibilidade de degradação do desempenho
- Não pode levar à falha do sistema
3. Sistema operacional firme em tempo real
O braço do robô que é usado para pegar objetos pode ser considerado um dos exemplos de RTOS firmes. Aqui, dentro deste RTOS firme, mesmo que o processo seja atrasado, ele é tolerado.
Benefícios de usar RTOS grátis
A seguir estão as vantagens de usar RTOS em seus aplicativos.
- Sem problemas de firewall
- Baixa largura de banda para melhor desempenho
- Maior segurança e privacidade
- Baixo custo, devido à redução de componentes de hardware e software usados para desenvolvimento
Alguns dos principais problemas relacionados ao RTOS
Agora, apesar de ter muitas vantagens para RTOS em aplicações do mundo real, ele também tem várias desvantagens. Algumas das questões relacionadas a ele são discutidas aqui.
- As interrupções são normalmente usadas em programas para interromper a execução do programa e desviar o fluxo para alguma outra parte importante do código. Aqui, no RTOS, uma vez que é necessário um tempo de resposta rápido; é recomendado que as interrupções sejam desabilitadas por um tempo mínimo possível.
- Uma vez que, o kernel também deve responder por vários eventos, é necessário ter um tamanho menor de kernel para que ele se encaixe corretamente na ROM
- Recursos sofisticados do RTOS devem ser removidos, pois não existe o conceito de memória virtual dentro dele.
Como usar RTOS
Agora que você sabe o que é RTOS e onde pode usá-lo, para começar com o RTOS normalmente precisa usar o ambiente de desenvolvimento Tornado ou FreeRTOS. Vamos dar uma breve olhada nesses dois ambientes de desenvolvimento.
Tornado - VxWorks
Tornado é um ambiente integrado para desenvolver aplicativos RTOS integrados relacionados em tempo real no sistema de destino. Tornado consiste em três elementos básicos listados abaixo.
1) VxWorks
2) Ferramentas de construção de aplicativos (compilador e programas associados)
3) Ambiente de desenvolvimento integrado, que pode gerenciar, depurar e monitorar o aplicativo VxWorks
VxWorks é um sistema operacional em rede em tempo real. Para começar com VxWorks, devemos ter um kit de desenvolvimento (destino) junto com uma estação de trabalho. Aqui, o kit de desenvolvimento nada mais é do que o host ou componente de destino que se comunica com o servidor de destino na estação de trabalho. O destino aqui conecta ferramentas de tornado, como o shell e o depurador. Portanto, usando o VxWorks iremos configurar e construir os sistemas enquanto o Tornado nos fornece uma interface gráfica do usuário e ferramentas de linha de comando para configuração e construção.
Um ponto muito importante que entra em cena aqui é que ao instalar o tornado em seu sistema, o diretório de instalação deve usar os nomes de caminho como:
installDir / target. Por exemplo, se você deseja armazenar seu tornado em C: \ tornado em um host do Windows, o nome do caminho completo deve ser identificado nesse caso como installDir / target / h / vxworks.h.
Aqui, não discutiremos em detalhes sobre os recursos do Vx works (deixaremos isso para o próximo tutorial), mas discutiremos como o desenvolvimento pode ser feito usando C ++ dentro do Vxworks usando WindRiver GNU. WindRiver GNU nos ajuda a fornecer uma análise gráfica sobre a interrupção envolvida durante a execução, bem como o relatório de uso de memória.
Por exemplo, a visão acima indicada do WindRiver explica o número do processador associado junto com a prioridade das tarefas (tLowPri e tHighPri). Estado ocioso, ou seja, a linha verde indica o período de tempo durante o qual o processador não está funcionando, o que ocorre após alguns segundos. t1, t7, t8 e t9 nada mais são do que os vários processadores usados. Aqui, estamos selecionando apenas o processador t7.
Conseqüentemente, este Windriver é capaz de invocar tanto o VxWorks quanto as sub-rotinas do módulo de aplicação. Você pode iniciar o aplicativo Windriver a partir da barra de ferramentas de inicialização do tornado (-> botão i) depois clicar no menu e, em seguida, clicar no shell. Por último, no prompt de comando, digite “> servidor de destino windsh”.
Agora, para programar usando C ++, é importante incluir o componente INCLUDE_CPLUS_DEMANGLER, este componente demangler permite que os símbolos do shell alvo retornem formas legíveis por humanos de nomes de símbolos C ++. Antes de baixar o módulo C ++ para o destino Vxworks, siga o processo conhecido como munching. Aqui, mastigar se refere à etapa adicional de processamento do host.
Compile o programa fonte do aplicativo C ++ e obtenha, por exemplo, o arquivo hello.cpp. Mais tarde, execute-o para pegar o.o e compilar o arquivo ctdt.c gerado. Além disso, vincule o aplicativo com ctdt.o para gerar o módulo para download, hello.out no VxWorks. A saída depois de executar este VxWorks será um arquivo make que será usado em algum destino.
RTOS grátis
Geralmente, sempre que começamos com RTOS, geralmente preferimos Vx Works RTOS. Mas, aqui vamos ter uma breve discussão sobre o RTOS grátis, que também pode ser usado por iniciantes para passar pelo conceito de sistema operacional em tempo real. O RTOS grátis é desenvolvido por Richard Barry e a equipe da FreeRTOS, também é propriedade da Real time engineering ltd, mas é de uso gratuito e pode ser baixado simplesmente clicando no link abaixo
Baixar ROTS grátis
A última versão do RTOS gratuito em uso no momento deste artigo é a versão 10, indicada como FreeRTOS V10.
A maior vantagem do RTOS gratuito que o torna superior em termos dos outros RTOS é o seu comportamento independente de plataforma em termos de hardware, ou seja, o código c que usaremos para executar um sistema operacional pode ser executado em várias plataformas com arquiteturas diferentes. Portanto, independentemente de você estar usando o microcontrolador 8051 ou algum microcontrolador ARM mais recente, o código que você escreveu junto com o processo de execução será semelhante para ambos.
Existem muitos outros benefícios de usar RTOS sobre Vx works e outras ferramentas operacionais RTOS. Alguns deles podem ser declarados como:
- Fornece testes mais fáceis
- Promove o conceito de reutilização de código
- Menor tempo ocioso
- Fácil manutenção
- Resumo das informações de tempo
Além disso, o Kernel básico, onde Kernel se refere ao componente central de um sistema operacional que está presente no RTOS gratuito, torna-o acessível para uso em vários aplicativos. Como é fácil anexar módulos expandidos em sistemas operacionais para obter mais aplicativos gratuitos, o RTOS torna-se mais poderoso.
Um dos exemplos de uso de RTOS livre pode ser explicado pelo uso do conceito de combinação de RTOS Livre com Nabto. Nabto é um dispositivo da web gratuito usado para transferir as informações do dispositivo para o navegador.
Portanto, ao combinar o RTOS Livre com o Nabto torna-o um pequeno pedaço de código C, conforme explicado na figura a. Hoje em dia, a Internet das Coisas (IOT) está na moda e cada dispositivo IOT que acessaremos tem uma URL exclusiva na Internet e a tecnologia permite conexões ponto a ponto seguras e com largura de banda extremamente baixa. Na ausência de conectividade com a Internet, essa combinação pode ser útil. Portanto, o RTOS gratuito é uma escolha popular quando se trata de implementar IOT.