Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Vinicius Pozzobon Borin, Me. 1 CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER ESCOLA SUPERIOR POLITÉCNICA BACHARELADO EM ENGENHARIA DA COMPUTAÇÃO SISTEMAS EMBARCADOS ANDRÉIA FLÁVIA GONÇALVES DA CRUZ VINICIUS POZZOBON BORIN, Me. PARAUAPEBAS – PA 2023 Prof. Vinicius Pozzobon Borin, Me. 2 ATIVIDADE PRÁTICA OBJETIVO Este trabalho visa enriquecer seu conhecimento no assunto de Sistemas Operacionais de Tempo Real, assunto estre de suma importância no desenvolvimento de sistemas embarcados. EXERCÍCIOS Resolva os algoritmos abaixo seguindo todas as instruções listadas neste documento. Todas as respostas podem ser encontradas de maneira direta (ou indireta) no livro base sugerido neste documento. A leitura de alguns capítulos deste livro se faz necessário, portanto. 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? Sua importancia: reduzir o uso do procesador e expandir a quantidade de tarefas a realizar atraves de tecnicas de sicronização e escalonamento. Quando Utilizar: preferencialmente em sistemas embarcados complexos. Vantagens: Sincronizar tarefas; comportamento previsível; interrupções; Implementação simples; o tempo é o elemento mais importante; comunicação; alternância entre tarefas. Desvantagens: exclusivamente aplicados em sistemas embarcados complexos; o sistema possui custo elevado; o tempo é condição para boa performace. 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 é onde as aplicações utilizam um espaço da memória designada para a operação intitulada como pilha de execução. Cada função mantém sua pilha. A função da pilha é salvar as variáveis e os regsitradores, os dados usados pelo compilador controlam o sistema de funções e mudanças de contexto. A pilha manipula 3 Prof. Vinicius Pozzobon Borin, Me. 3 endereços de momória, são eles: - endereço da base da pilha, - endereço de limite, - endereço de topo. 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; Eventos externos não afetam em perdas de uso do processador. Para evitar corrupção de dados pode-se desconectar as interrupçoes (internas e externas) e empragar um registrador de gerenciamento para gerenciar as subrotinas. b) Núcleo preemptivo; o precesso de interrupção pode ser suspenso e trocado por outro. Cria-se uma seção critica incompartilhavel para evitar a corrupção dos dados. Desse modo os dados utilizados classificados como interrompidos não podem ser acessados pelo processo ao qual foi sustituido. 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 (TCB)Task Control Block é o padrão estrutural dos sistemas embarcados cuja função é armazenar funções e controlar tarefas. As informações integrada no TCB são: - nome da tarefa; as tarefas são executas pelo sistema de acordo com a necessidade - prioridade da tarefa; relacionadas a preferencia da execução - estado da tarefa; relacionados a memória - parâmetros de memória; posição e quantidade - ponteiro da pilha. O TCB armazena as refencias das memórias. Sobre contexto de TCB: o contexto de uma tarefa insere o valor de registradores da CPU, insere a sitação da tarefa e as informações da memória. Para ocorrer troca de contexto é preciso salvar o contexto da tarefa primaria e executar o contexto de novo recurso. O armazenamento no TCB é o contexto de uma nova tarefa. Prof. Vinicius Pozzobon Borin, Me. 4 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? A função primaria das interrupções é interromper o cusro em operação na CPU e deslocar o fluxo para uma subrotina solicitada por uma interrupção. Ao executar a subrotina, a CPU gerencia as informações e continua executando donde parou. O gerenciamento das interrupções acontece núcleo preemptivo cumprindo as ordens de prioridade das interrupções.
Compartilhar