Buscar

Atividade Prática - Sistemas Embarcados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER 
ESCOLA SUPERIOR POLITÉCNICA 
BACHARELADO EM ENGENHARIA ELÉTRICA 
DISCIPLINA DE SISTEMAS EMBARCADOS 
 
 
 
 
 
 
 
 
 
 
SISTEMAS OPERACIONAIS DE TEMPO REAL 
 
 
 
 
 
 
 
 
 
MARIANO ANDRÉ ANDERSON 
PROF. RAFAEL VILAS BOAS WIECHETECK 
 
 
 
 
 
 
 
 
 
TAQUARA – RS 
2020 - B FASE I
1 
 
 
1 INTRODUÇÃO 
O uso de sistemas embarcados tem sido cada vez mais frequente à medida que é neces-
sário incorporar certa inteligência em máquinas, equipamentos e dispositivos. Neste contexto 
destacam-se os sistemas embarcados de tempo real (RTOS) que têm premissa a execução de 
tarefas com a previsibilidade do tempo para execução. 
Este documento tem como objetivo trazer uma breve análise sobre a importância de um 
do RTOS, suas vantagens e desvantagens, o funcionamento da pilha do processador, o bloco de 
controle de tarefas e as interrupções de um processador. 
O estudo foi realizado com base em estudos bibliográficos e não tem a pretensão de 
esgotar o assunto, mas sim trazer elementos relevantes para compreensão e análise de um sis-
tema embarcado de tempo real. 
 
1.1 OBJETIVOS 
Trazer uma breve análise sobre a importância de um do RTOS; suas vantagens e des-
vantagens; o funcionamento da pilha do processador; o bloco de controle de tarefas e as inter-
rupções de um processador. 
2 DESENVOLVIMENTO 
A primeira etapa do estudo foi realizar uma análise do princípio de funcionamento de 
um sistema embarcado de tempo real, onde são identificados os componentes principais do 
sistema. 
A partir desta análise o estudo foi direcionado a responder as questões estabelecidas no 
roteiro da atividade prática elaborada para disciplina de Sistemas Embarcados. As questões são 
apresentadas nos subitens seguintes e as respostas são apresentadas na sequência. 
2 
 
2.1 EXERCÍCIO 1 
Explique com suas palavras a importância de uso de um RTOS em uma aplicação em-
barcada. Devemos sempre usar um RTOS? Quais as vantagens e desvantagens de uso de um 
RTOS? 
Um sistema operacional é um programa que funciona como interface entre o sistema 
computacional e usuário. Um sistema operacional é considerado embarcado quando é desen-
volvido para funcionar em sistemas computacionais com poucos recursos de hardware (proces-
samento, memória, periféricos de I/O e energia). 
Os sistemas operacionais de tempo real - RTOS são desenvolvidos para aplicações em-
barcadas ondem o tempo é essencial, ou seja, não precisa ter alta velocidade de processamento, 
mas o tempo de resposta deve ser conhecido ou previsível em qualquer situação durante a exe-
cução das rotinas. Um RTOS pode ser considerado: 
• Crítico: quando a execução de uma tarefa fora do tempo previsto vier causar graves 
consequências afetando pessoas, economia ou ambiente. 
• Não-crítico: quando a execução de uma tarefa fora do tempo previsto vier causar a de-
gradação de uma informação ou processo sem grandes consequências e que seja aceitá-
vel. 
Os sistemas operacionais de tempo real podem ser utilizados nos mais variados tipos de 
aplicações, desde os mais simples aos mais complexos, mas é preciso considerar os fatores 
relacionados ao grau de confiabilidade de acordo com a necessidade de cada aplicação. Sua 
utilização requer avaliação para que haja equilíbrio entre disponibilidade de hardware, desem-
penho de execução, flexibilização na configuração, ferramentas de desenvolvimento e apoio 
técnico. Entre as vantagens destacam-se a implementação simplificada, baixo custo adicional e 
comportamento previsível. Em relação às desvantagens podemos citar a operação sequencial, 
maior dificuldade para tratar eventos imprevisíveis e a implementação de código com escalo-
namento manual. 
3 
 
2.2 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, ba-
seado 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 estrutura utilizada como elo entre as sub-rotinas de 
chamada e a rotina principal do programa, isto é, um bloco de posições da memória principal 
utilizado para repassar os dados necessários para execução da sub-rotina, durante a troca de 
contexto. A pilha utiliza basicamente 3 endereços da memória: endereço da base da pilha, en-
dereço de limite da pilha e o endereço de topo, um registrador especial denominado Stack Po-
inter (SP), que tem a finalidade de apontar para o último elemento inserido na pilha. 
2.3 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; 
b) Núcleo preemptivo. 
Em um núcleo não-preemptivo nenhum evento externo deve causar a perda de uso do 
processador. Uma solução alternativa para evitar a corrupção de dados é desligar as interrup-
ções, internas e externas, e utilizar um registrador para armazenar a condição de chamada de 
sub-rotinas, ou seja, se a sub-rotina pode ou não ser executada. 
Em um núcleo preemptivo um processo em execução pode ser interrompido e ser subs-
tituído por outro. Uma alternativa para evitar a corrupção de dados é criar uma seção crítica e 
não compartilhável. Assim os dados que estavam em uso pelo processo interrompido não po-
derão ser acessados pelo processo substituído. 
4 
 
2.4 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 con-
texto de uma tarefa? 
O Task Control Block (TCB) é uma estrutura padronizada pela qual os sistemas embar-
cados de tempo real onde ficam armazenadas as informações de controle das tarefas. A imple-
mentação do TCB nos diferentes RTOSs podem variar conforme o desenvolvedor. Tipicamente 
as informações contidas 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 solicitaçõ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 con-
texto de uma tarefa é armazenado no TCB. 
2.5 EXERCÍCIO 5 
Explique o que ocorre em um processador quando uma interrupção ocorre. Qual o pa-
pel da pilha nesse processo? Por que o alinhamento de interrupções deve ser controlado por 
um núcleo preemptivo? 
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 à solicitação da inter-
rupção. A pilha é utilizada 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 an-
terior, ou a própria rotina principal, armazenadas 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 equipa-
mentos e dispositivos eletrônicos. O avanço da tecnologia permite que os sistemas embarcados 
possam ser desenvolvidos para serem executados em dispositivos o mínimo de recursos de 
hardware, podendo ser executado desde um simples microcontrolador até um microprocessador 
mais robusto. 
O estudo foi realizado com base emestudos 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. 
 
6 
 
4 REFERÊNCIAS BIBLIOGRÁFICAS 
GIMENEZ, Salvador Pinillos. Microcontroladores 8051: Teoria do hardware e do sof-
tware. Pearson Education: São Paulo, 2002. 
SILBERSCHATZ, Abraham. Sistemas Operacionais: conceitos e aplicações. 8ª Ed. Campus: 
São Paulo, 2000. 
TANENBAUM, Andrew S. Sistemas operacionais modernos. 4ª Ed. Peason Education: São 
Paulo, 2016. 
PEREIRA, Fábio. Microcontroladores PIC: Programação em C. Érica: São Paulo, 2003. 
NICOLOSI, Denys Emílio Campion. Microcontroladores 8051 com linguagem C: prático 
e didático. 2ª Ed. Érica: São Paulo, 2008. 
OLIVEIRA, Rômulo Silva de. Sistemas operacionais. 2ª Ed. Sagra Luzzatto: Porto Alegre, 
2001. 
SOUZA, Daniel Rodrigues de. Microcontroladores ARM7: o poder dos 32 bits. Érica: São 
Paulo, 2006. 
OLIVEIRA, André Schneider de. Sistemas embarcados: hardware e o firmware na prá-
tica. Érica: São Paulo, 2006.

Outros materiais