Pergunta

Esta pergunta vem me incomodando de muito tempo, tentei procurar online, mas não recebi nenhuma resposta.Eu entendo a diferença entre um sistema operacional normal e um RTOS.Eu queria entender quais são as restrições adicionais (se houver) impostas a um programador de aplicativos para um RTOs?

Por exemplo, tenho alguns requisitos e necessidade de implementar uma solução que seja executada em um sistema operacional normal e de um RTOs.Quais aspectos devo tomar o cuidado quando estou implementando a solução para os RTOS?Devo montar o meu código para verificar a memória exata, os requisitos de processamento que eu devo dar ao agendador RTOS que irá realizar alguma análise de viabilidade e determinar se ele pode incluir meu aplicativo na programação existente?

Alguém pode me dar exemplos práticos de como isso é feito em RTOS como OSE, Windriver etc?

Foi útil?

Solução

A maioria dos rtos são os agendadores de thread, em vez de programadores de processos, portanto, há apenas um "aplicativo" como tal, feito de vários threads em um processo único .Nesse contexto, a questão da planabilidade do seu "aplicativo" é discutível, uma vez que existe apenas um aplicativo .

Se você tiver uma tarefa não realtime (e talvez seja implícito que este é o caso, se você também é capaz de executá-lo em um sistema operacional de uso geral (GPOs), em um RTOs você pode executá-lo em umPrioridade baixa em um nível compartilhado por outras tarefas não realidades com fragmentação de tempo de robinas redondas ativadas - esses encadeamentos planejarão de maneira semelhante à de um GPOs. Observe que, se um ou mais tópicos nunca rendimentos, eles devem ser executados a nível prioritário muito mais baixo possível, e, em qualquer caso, tal comportamento seria geralmente indesejável - essencialmente tais encadeamentos se tornam a tarefa ociosa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top