Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER
ESCOLA SUPERIOR POLITÉCNICA
BACHARELADO EM ENGENHARIA DA ELÉTRICA
DISCIPLINA Sistemas Embarcados
ATIVIDADE PRÁTICA
 
Pouso Alegre – MG
2023
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?
Um RTOS é um software que gerencia tarefas em um sistema embarcado, permitindo que elas sejam executadas em tempos predefinidos e com prioridades distintas. Ele é especialmente importante em sistemas que precisam responder a eventos em tempo real, como sistemas de controle, segurança, entre outros. O uso de um RTOS pode trazer vantagens como garantia de tempo real, execução de tarefas simultâneas e flexibilidade. Porém, ele também pode ter proteção, como maior consumo de recursos, complexidade de desenvolvimento e custo. A decisão de usar um RTOS ou não depende das necessidades do sistema em termos de tempo de resposta, complexidade e custo.
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 sistema tradicional, baseado em superlaço, existem múltiplos fluxos de execução concorrentes devido às rotinas de tratamento de interrupções.
A pilha de um processador é uma região de memória reservada para armazenar dados temporários durante a execução de um programa. A utilidade da pilha para a concepção de um sistema com vários fluxos de execução está relacionada à necessidade de preservar o estado de um fluxo de execução antes de executar outro.
Em um sistema tradicional baseado em superlaço, que possui vários fluxos de execução concorrentes devido às rotinas de tratamento de contínuo, a pilha é usada para salvar o contexto do fluxo atual antes de executar o tratamento da interrupção. Isso permite que o sistema mantenha o controle sobre a execução de vários fluxos de execução concorrentes, como em sistemas operacionais multitarefa e aplicações de tempo real. Além disso, a pilha também é utilizada para armazenar parâmetros e variáveis ​​locais das funções em execução.
Exercício 3:
Considerando que duas tarefas utilizam uma mesma função, a qual é não reentrante, sugira, pelo menos, uma solução para evitar a corrupção dos dados quando utilizando um:
a) Núcleo não preemptivo;
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 é utiliza a baixa latência das interrupções, é o intervalo do 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.
b) Núcleo preemptivo;
 Os núcleos preemptivos as tarefas podem perder o processador a qualquer momento, a 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 (para o caso de dados compartilhados entre tarefas e interrupções), do escalonador ou de semáforos, de exclusão mutua (para o caso de dados compartilhados apenas entre tarefas). 
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?
O bloco de controle de tarefa (TCB) é um componente fundamental de um sistema operacional em tempo real (RTOS), pois é responsável por gerenciar a execução de cada tarefa acompanhada. A finalidade do TCB é armazenar todas as informações relevantes sobre uma tarefa, permitindo que o RTOS possa gerenciar, escalonar e trocar tarefas de forma eficiente.
O TCB geralmente contém informações como:
· Identificador da tarefa (ID)
· Estado atual da tarefa (pronta, em execução, suspensa, etc.)
· Prioridade da tarefa
· ponteiro para a pilha da tarefa
· Contador de programa (PC) da tarefa
· Registros da CPU relevantes para a tarefa
· Tempo de execução da tarefa
· Lista de tarefas bloqueadas ou que aguardam recursos compartilhadosO TCB armazena informações sobre uma tarefa que são usadas para gerenciá-la, enquanto o contexto da tarefa é uma parte do estado da tarefa que precisa ser salva e restaurada a cada troca de tarefa. Ambos são importantes, mas servem a propósitos diferentes.
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 aninhamento de interrupções deve ser controlado por um núcleo preemptivo?
Quando ocorre uma interrupção, o processador pausa a execução do programa atual, salva o contexto em que o programa estava executando na pilha e executa a rotina de tratamento de interrupção correspondente. Depois de continuar a rotina de tratamento de interrupção, o contexto anterior é desempilhado da pilha e a execução do programa original é retomada. A pilha é usada para armazenar temporariamente o contexto do programa atual porque é compartilhada por todas as rotinas de tratamento de interrupção e gerenciada automaticamente pelo hardware do processador.
O aninhamento de contínuo pode causar problemas de segurança e confiabilidade do sistema se não for controlado por controle. Um núcleo preemptivo é capaz de controlar o aninhamento de forma contínua de forma mais eficiente, permitindo que as sequências sejam tratadas em ordem de prioridade e evitando interferências entre elas.
image1.jpeg

Mais conteúdos dessa disciplina