Baixe o app para aproveitar ainda mais
Prévia do material em texto
0 CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER ESCOLA SUPERIOR POLITÉCNICA BACHARELADO EM ENGENHARIA ELETRICA DISCIPLINA DE SISTEMAS EMBARCADOS ATIVIDADE PRÁTICA ALUNO: GERALDO NARCISO PORTO – RU: 2576484 PROF. VINICIUS POZZOBON BORIN, ME. ARARAS – SP 2023 1. 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í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? R: Os sistemas operacionais de tempo real – Foi desenvolvido para ser utilizado nas aplicações embarcadas ondem o tempo é essencial, isso quer dizer que não há ne- cessidade de se ter alta velocidade de processamento, mas o tempo de resposta pode ser conhecido ou previsível em qualquer situação durante a execução das rotinas. As vantagens de se usar esse sistema é a sincronização das tarefas; Interrupções; comportamento previsível; O tempo é o fator principal; Implementação mais sim- ples; Comunicação; Alternância entre tarefas. Já as desvantagens: São para os sistemas embarcados mais complexos; custo chega a ser bem mais alto do sis- tema; Quando o tempo não é vai ser o fator principal também não tem boa atuação. 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. R: A pilha de um processador é uma maneira de se usar as aplicações em uma área de memória designada para execução, conhecida também por “pilha de execu- ção”. Cada uma de suas tarefas precisa de sua própria pilha. Ela tema a função de salvar suas variaveis e registradores, além dos dados utilizados pelo compilador que gerenciam o sistema de chamada de funções e troca de contexto. 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; R: São conhecidos como núcleos cooperativos, nesse núcleo tem a necessidade de cada umas das tarefas desista do controle do processador para que outra tarefa consiga ser executada, dessa maneira as tarefas pode ter acesso ao processador, para evitar a corrupção de dados é utilizada a baiza tensão latência das interrup- ções, é o intervalo de tempo entre a ocorrência da interrupção do hardware e a exe- cução da primeira instrução da rotina de tratamento. b) Núcleo preemptivo; R: No núcleo preemptivo já as tarefas perde o processador a qualquer momento, a cada interrupção o sistema pode reavaliar as tarefas contidas na fila e decidir se subs- tituir ou não a tarefa que esta sendo executada. Utilizando as seções criticas de có- digo, consegue evitar a corrupção dos dados no núcleo. 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? R: O Task Control Block (TCB) é uma estrutura padronizada pela qual os sistemas embarcados de tempo real onde ficam armazenadas as informações de controle d as tarefas. A implementação do TCB nos diferentes RTOSs podem variar conforme o desenvolvedor. Todas as informações que estão no TCB são: nome da tarefa; estado da tarefa; prioridade da tarefa; ponteiro da pilha; e parâmetros de memória . As tarefas são processos que são executados pelo sistema, conforme suas solici- tações. O contexto de uma tarefa inclui o valor dos registrados de CPU, o estado da tarefa e as informações relacionadas à memória. Para uma troca de contexto é necessário salvar o contexto da tarefa antiga e carregar o contexto do novo processo . O contexto de uma tarefa é armazenado no TCB. 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? R: As interrupções têm a função de interromper o fluxo que está sendo executado pela CPU e desviar o fluxo de processamento para uma sub-rotina em atendimento à soli- citação da interrupção. A pilha é uti lizada para fazer a troca de contexto entre a rotina principal e a sub -rotina a ser executada. Após a execução da sub-rotina, a CPU recarrega as informações da tarefa anterior, ou a própria rotina principal, arma- zenadas na pilha e continua a execução do programa do mesmo ponto onde ocorreu a interrupção. O gerenciamento das interrupções é realizado por um núcleo preemptivo fazendo que sejam respeitadas a ordem de prioridade de cada interrupção. Também controla as interrupções que estão ativas ou inativas, conforme determinado pelo desenvolvedor do sistema operacional. 5 3 CONCLUSÕES Um sistema embarcado é sem dúvida algo que está cada vez mais presente nos equipamentos e dispositivos eletrônicos. O avanço da tecnologia permite que os sistemas embarcados possam ser desenvolvidos para ser em exe- cutados em dispositivos o mínimo de recursos d e hardware, podendo ser execu- tado desde um simples microcontrolador até um microprocessador mais robusto. O estudo foi realizado com base em estudos bibliográficos e não pretende esgotar o assunto, mas sim apresenta elementos relevantes para compreensão e análise de um sistema embarcado de tempo real.
Compartilhar