Você está na página 1de 4

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER

ESCOLA SUPERIOR POLITÉCNICA


BACHARELADO EM ENGENHARIA ELÉTRICA

SISTEMAS EMBARCADOS

ATIVIDADE PRÁTICA

VALDIR FERREIRA DO NASCIMENTO NETO 1558025


VINICIUS POZZOBON BORIN, ME.

PALMAS – PR
2021
OBJETIVO
Este trabalho visa enriquecer seu conhecimento no assunto de sistemas operacio-
nais de tempo real, assunto estre de suma importância no desenvolvimento de
sistemas embarcados.

Exercício 1:
Explique com suas palavras a importância de uso de um rtos em uma aplicação
embarcada. devemos sempre usar um rtos? quais as vantagens e desvantagens de
uso de um rtos?

Exercício 2:
Descreva o que é a pilha de um processador e qual sua utilidade para a concep- ção
de um sistema que possui múltiplos fluxos de execução. note que em um sis- tema
tradicional, baseado em superlaço, existem múltiplos fluxos de execução
concorrentes devido às rotinas de tratamento de interrupções.

Exercício 3:
Considerando que duas tarefas utilizam uma mesma função, a qual é não reen-
trante, sugira, pelo menos, uma solução para evitar a corrupção dos dados quando
utilizando um:
Núcleo não preemptivo;
Núcleo preemptivo;

Exercício 4:
Descreva com suas palavras a finalidade do bloco de controle de tarefa (tcb) no rtos.
tipicamente, que informações são contidas no tcb? qual a diferença de tcb e contexto
de uma tarefa?

Exercício 5:
Explique o que ocorre em um processador quando uma interrupção ocorre. qual o
papel da pilha nesse processo? por que o alinhamento de interrupções deve ser
controlado por um núcleo preemptivo?
Respostas

RTOS

O rtos é um importante mecanismo de controle de execução e do comportamento do


software, fazendo o gerenciamento dos recursos e atua em situações em que o tempo é o
parâmetro fundamentaal no funcionamento de toda a aplicação embarcada. O rtos deve ser
usado em uma aplicação onde o tempo de resposta é mais importante do que executar centenas
de tarefas simultaneamente, ambientes multi-tarefas. Suas vantagens são: Otimização do
desenvolvimento de software Melhor sincronização e robustez Gerenciamento de recursos
Gerenciamento de tempo

PILHA DE UM PROCESSADOR

A pilha é uma memória para armazenamento de informações de execução, sub-rotinas


participante em uma execução da máquina. Faz o gerenciamento de tarefas, os núcleos utilizam
uma estrutura de dados denominadas bloco de controle de tarefas. Nessas estruturas, são
armazenadas informações sobre a tarefa, onde podem ser acessadas de uma forma mais rápida
e segura, retornando o controle de execução.

NÚCLEO PREEMPTIVO E NÃO PREEMPTIVO

No núcleo preemptivo cada interrupção o sistema pode reavaliar as tarefas contidas na


fila e decidir se substituiu ou não a tarefa que está sendo executada naquele momento. Para
evitar a corrupção dos dados em um núcleo preemptivo utiliza as seções críticas de código, por
meio da desabilitação de interrupções.

Os núcleos não preemptivos também são conhecidos como núcleos cooperativos, pois este
núcleo requer que cada tarefa desista explicitamente do controle do processador para que outra
tarefa seja executada, ou seja, suas tarefas devem cooperar para que todas tenham acesso ao
processador. Para evitar a corrupção de dados é utilizar a baixa latência das interrupções, é o
intervalo de tempo entre a ocorrência da interrupção do hardware e a execução da primeira
instrução da rotina de tratamento de interrupção.

Ok
BLOCO DE CONTROLE DE TAREFA (TCB)

É utilizado para manter o estado da tarefa associado a esse bloco.


As informações contidas no em um TCB são:
Prioridade
Localização e tamanho da memoria
Estado relativo do processador
Contexto da execução
Nome da tarefa

INTERRUPÇÃO

Tem como papel apontar para o último local que é seguro alocar variáveis locais ou realizar
chamadas de função, também permitir a redução do consumo de memória, uma vez trocada o
contexto são determinados pelo usuário, elas podem ser codificadas de maneira a permitir o uso
de uma única pilha para execução de tarefas. Deve ser controlado por um núcleo preemptivo
pois o sistema pode reavaliar as tarefas contidas na fila de tarefas prontas e decidir se substitui
ou não a tarefa em execução.

Ok

Você também pode gostar