RTOS: o que é um sistema operacional em tempo real

circuitos pcb embutidos

Alguns dias atrás eu fiz uma introdução sobre STRs, um sistema operacional para robôs, embora não seja exatamente um sistema operacional como é entendido em computação, mas sim um framework para desenvolvedores de robótica. Agora é a vez de RTOS, que também não é um sistema operacional, mas sim um tipo muito particular de sistema operacional.

Esses sistemas operacionais são muito importantes para dispositivos embutidos ou embutidos de pequena capacidade, uma vez que geralmente são gerenciados por eles. Além disso, também são importantes em aplicações industriais, para o controle de muitos processos.

O que é um RTOS?

Un RTOS (Sistema Operacional em Tempo Real) É, como o próprio nome sugere, um sistema operacional em tempo real. Isso difere dos sistemas operacionais de compartilhamento de tempo, pois você trabalha em um ambiente em que os resultados de saída são conhecidos com base nas entradas do sistema e ocorrem em um horário conhecido. Portanto, eles são mais previsíveis e estáveis ​​para controlar tarefas específicas, e os processos geralmente residem permanentemente na memória (nos processos de compartilhamento de tempo, o escalonador carrega e descarrega da memória principal conforme necessário).

Por exemplo, imagine um RTOS usado para uma máquina industrial em uma linha de montagem. Ela se encarregaria de executar um software para furar peças de tempos em tempos. Se o escalonador do sistema operacional não funcionasse em tempo real, é provável que ele rodasse em horários ímpares, o que faria com que a perfuração não fosse feita no prazo... Sendo em tempo real, o RTOS pode finalizar a execução do programa no tempo X e repita sua execução para realizar todas as furações no prazo.

Claro que, sendo um sistema operacional, também compartilha os fundamentos de qualquer outro SO, ou seja, é um sistema capaz de gerenciar o hardware e fornecer uma série de serviços aos aplicativos.

Tipos de RTOS

Vários tipo sistemas operacionais em tempo real ou RTOS:

  • Tempo Real Difícil: É um sistema operacional estrito em tempo real, onde seus processos devem ser executados em um horário específico.
  • Tempo real suave: um tempo real flexível, onde ao executar os processos podem perder-se por vezes instantes quase negligenciáveis, ou seja, não é tão rigoroso como o anterior. Além disso, eles são projetados para que esses cursos de tempo sejam cada vez menores.
  • Firme em tempo real: SSOOs em tempo real firmes são outro tipo em que o tempo pode ser perdido, mas as respostas tardias não seriam válidas.

Aplicações de um RTOS

Um RTOS é um sistema simples e leve usado para sistemas limitados ou simples, como dispositivos embarcados. Isso os torna perfeitos para aplicações como:

  • controle industrial.
  • Comutação de telefone.
  • Controle de voo.
  • Simulações em tempo real.
  • aplicações militares.
  • Aparelhos.
  • Dispositivos eletrônicos básicos de consumo.
  • Robôs
  • Etc.

Características do RTOS

RTOS tem uma série de particularidades que são o que lhes dá essas vantagens sobre o resto para essas tarefas de gerenciamento simples. Para entendê-los melhor, é necessário conhecer uma série de conceitos básicos:

  • processo ou tarefa: é um subprograma que é executado em paralelo com o RTOS. Esse processo pode realizar muitas tarefas, desde controlar um periférico até realizar outras ações.
  • Trabalhar: este é o nome dado ao tempo que leva para executar um processo.
  • Planejador: o agendador RTOS permite gerenciar as prioridades e os tempos dos processos executados. E existem dois tipos principais:
    • Cooperativo: chama primeiro os processos de maior prioridade e quando o processo termina chama outro ou, se o processo demorar mais do que o esperado, o mata e chama o próximo.
    • expropriador: De vez em quando chama automaticamente um processo, mas isso pode levar a erros devido à baixa prioridade nos processos ou dependências. Para evitar esses problemas, o conceito de semáforos é introduzido.
  • Luzes de trânsito: funcionam de forma semelhante aos de tráfego, controlando quando um processo está em andamento e paralisando a entrada do restante dos processos e, quando deixa os recursos livres, dá "luz verde" para o próximo entrar. Alguns RTOSes têm vários semáforos, cada um específico para um recurso compartilhado.
  • Drives: eles são usados ​​para comunicação entre processos, como um buffer, por exemplo, para armazenamento temporário de dados ou quando existem vários elementos que retornam dados para um único receptor.
  • Interrupções: eles funcionam como os sistemas operacionais de compartilhamento de tempo, mas em um RTOS existem algumas peculiaridades. Esses tipos de interrupções são usados ​​para gerenciamento de tempo por um controlador.

Exemplos de RTOS

Se você quer saber o que Sistemas operacionais RTOS existem, a verdade é que há um grande número, tanto proprietários como de código aberto:

  • Armar OS: um sistema operacional projetado para Cortex-M, Cortex-R, Cortex-A e licenciado sob a licença Apache 2.0.
  • Ecos: sob licença GNU GPL modificada, é outro sistema operacional de código aberto para ARM-XScale-Cortex-M, CalmRISC, 680×0-ColdFire, fr30, FR-V, H8, IA-32, MIPS, MN10300, OpenRISC, PowerPC , SPARC, SuperH e V8xx.
  • gravar: é um sistema RTOS proprietário, para IoT e aplicações embarcadas com arquiteturas ARM7/9/11, ARM Cortex-A/R/M, AVR, AVR32, C16x, CR16C, ColdFire, H8, HCS12, M16C, M32C, MSP430, NIOS2 , PIC18/24/32, R32C, R8C, RISC-V, RL78, RH850, RX100/200/600/700, RZ, SH2A, STM8, ST7, V850, 78K0 e 8051.
  • FreeRTOS: sob licença de código aberto MIT, destina-se a incorporado com ARM, AVR, AVR32, ColdFire, ESP32, HCS12, IA-32, Cortex-M3-M4-M7, Infineon XMC4000, MicroBlaze, MSP430, PIC, PIC32, Renesas arquiteturas H8/S, RISC-V, RX100-200-600-700, 8052, STM32, TriCore e EFM32.
  • Fúcsia: É o famoso sistema de código aberto criado pelo Google e projetado para funcionar tanto em x86-64 quanto em ARM64.
  • KolibriOSGenericName: um sistema RTOS para x86 sob a licença GNU GPL gratuita.
  • lynxOS: outro RTOS, mas este proprietário, e para arquiteturas tão díspares quanto Motorola 68010, x86/IA-32, ARM, Freescale PowerPC, PowerPC 970 e LEON. Além disso, é certificado POSIX.
  • Neutrino: um sistema proprietário em tempo real para ARM, MIPS, PPC, SH, x86 e XScale.
  • Phoenix-RTOS: sob uma licença BSD permissiva, com suporte para arquiteturas ARMv7 Cortex-M, ARMv7 Cortex-A, IA-32 e RISC-V.
  • QNX: possui, e era muito popular. Ele foi projetado para suportar x86-64, ARM32, ARM64 e MIPS anteriores, PowerPC, SH-4, StrongARM, XScale.
  • Linux: Embora geralmente usado no modo de compartilhamento de tempo, o kernel também pode funcionar como uma aproximação de um RTOS para incorporado.
  • Windows CE y Windows 10 IoT: a Microsoft também tem essas versões em tempo real de seu sistema operacional proprietário.
  • zéfiro: sob a licença Apache 2.0, há também este outro RTOS de código aberto para ARM (Cortex-M, Cortex-R e Cortex-A Series), x86, x86-64, ARC, RISC-V, Nios II, Xtensa e SPARC .

Seja o primeiro a comentar

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.