SO de tempo real
Sistemas Operacionais de tempo real podem ser definidos como um sistema operacional que executa múltiplas tarefas onde o tempo de resposta a um evento já está é definido de forma que o resultado dos cálculos não depende somente da lógica das operações matemáticas, e sim também do tempo que são calculados os resultados (se não forem no tempo estabelecido/esperado são considerados como falha). Ou seja, o tempo das realizações de operações é dado como maior relevância para sua real utilidade, não é apenas questão de desempenho, tendo como exemplo uma aplicação que ocorre a x segundos de processamento se essa aplicação processar em qualquer milésimo a mais do esperado já não é considerado como tempo real.
Características
Para um sistema operacional ser considerado como de tempo real ele deve seguir algumas características como:
• Timeliness: Gerencia de tempo, tarefas com restrições de tempo explicitas.
• Multitarefas (Multi-thread): Ação onde o sistema operacional possui suporte a execução de várias tarefas simultaneamente e cada uma com seu grau de prioridade.
• Preempção de Processos: Caso surja um processo de prioridade maior no momento que alterar o seu status para pronto o escalonador deve interromper o processo em execução para a execução do prioritário.
• Curto tempo de troca de contexto entre processos.
• Central de ajuda de qualidade (Documentação, testes de aplicação, gerencia de erros, ferramentas de desenvolvimento).
• Níveis de interrupções suficientes com suporte e agrupamentos.
• Comportamento do sistema padronizado com: latência de interrupção deve ser compatível com a estabelecida pela aplicação sendo previsível. Dependendo do numero de interrupções pendentes simultâneas. E tempo de cada chamada do sistema utiliza ao ser executado deve ser previsível e não depender da quantidade de objetos no sistema.
• Tolerância de falhas: Falhas de Hw/Sw não devem travar o sistema.
• Suportar