Engenharia Múltipla Escolha

A garantia que um conjunto de tarefas possa ser concluído dentro de certos limites de tempo é auxiliada por um sistema operacional em tempo real - Real Time Operating System. Neste contexto temos o FreeRTOS, um sistema operacional de tempo real voltado a sistemas embarcados, de código aberto e livre de licença comercial. A função utilizada para criar tarefas no FreeRTOS é:

A garantia que um conjunto de tarefas possa ser concluído dentro de certos limites de tempo é auxiliada por um sistema operacional em tempo real - Real Time Operating System. Neste contexto temos o FreeRTOS, um sistema operacional de tempo real voltado a sistemas embarcados, de código aberto e livre de licença comercial. A função utilizada para criar tarefas no FreeRTOS é:

  1. pxTopOfStack
  2. eNotifyState
  3. pcTaskName
  4. xTaskGenericCreate
  5. pxStack

Resolução completa

Explicação passo a passo

D
Alternativa D

Alternativa D - xTaskGenericCreate

A questão aborda conceitos fundamentais sobre o FreeRTOS, um sistema operacional de tempo real (RTOS) amplamente utilizado em sistemas embarcados. Para gerenciar a execução concorrente, o sistema precisa instanciar estruturas de dados específicas para cada tarefa.

A função responsável por realizar essa instância inicial, alocar memória para a pilha e configurar os dados internos da tarefa é a xTaskGenericCreate.

Análise das Alternativas

Para entender corretamente a resposta, é importante distinguir entre funções públicas, variáveis internas e tipos de dados no kernel do FreeRTOS:

  • xTaskGenericCreate: É a função central que cria uma nova tarefa. Ela configura a estrutura da tarefa (TCB), aloca a pilha e adiciona a tarefa à lista de tarefas prontas.
  • pxTopOfStack: Não é uma função. É um ponteiro (void *) armazenado dentro da estrutura da tarefa que aponta para o endereço onde a execução deve começar ao restaurar o contexto da pilha.
  • eNotifyState: Geralmente refere-se a estados relacionados a notificações de tarefas (introduzidas em versões mais recentes), mas não é usada para criar a tarefa.
  • pcTaskName: É um ponteiro para caractere (char *) que armazena o nome legível da tarefa, útil para depuração, mas não executa a criação.
  • pxStack: É um ponteiro (void *) que indica o início da região de memória reservada para a pilha da tarefa, mas não é a função que faz a alocação ou criação.

Conclusão

No contexto do desenvolvimento de software para microcontroladores usando FreeRTOS, a distinção entre os dados da tarefa e a função que a gera é essencial. Enquanto pxTopOfStack, pxStack e pcTaskName referem-se a componentes da estrutura da tarefa, apenas xTaskGenericCreate atua como o mecanismo de criação.

Portanto, a alternativa correta é a D.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Engenharia

Ver mais Engenharia resolvidas

Tem outra questão de Engenharia?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.