Você está na página 1de 14

Sistemas de Tempo Real – O que realmente

aconteceu em Marte?

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12 1/16


Um caso de sucesso

A expedição a Lua:
 Recursos não bem avançados que atualmente;
 Alto fator de risco!
• Primeira viagem a lua! Quem iria garantir que tudo seria
correto?
 Material quase que primitivos para hoje em dia.

Porém....
 Bom planejamento e estudo básico;
 Fundamental para bom funcionamento de qualquer programa;
 Muitos dos testes feitos em pedaços de papel.

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Expedição Lunar Apollo 11

No Módulo Lunar Eagle


(durante a aterrissagem):
 Disparo de um alarme
(código 1202)
 Abortar Missão ??

Na Terra, Houston
 Após alguns segundos, é
dada ordem para
prosseguir

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Causa do erro 1202 – Executive Overflow

Primeira teoria:
 A combinação de correntes elétricas de vários sistemas
haviam provocado uma sobrecarga eletromagnética, que
influenciou o normal funcionamento do computador de
bordo.

Na realidade
 A memória do computador foi sobrecarregada com
informação proveniente do radar rendez-vous
(comportamento anormal);
 O excesso de informação provocou uma sobrecarga de
processamento por parte do computador de bordo
(overload).

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Conseqüências

Adiamento/cancelamento das tarefas que iriam


executar
 Num sistema Hard Real-Time (caso do Eagle), os
resultados podem ser catastróficos;

Mas...
 O bom planejamento de prioridades permitiu que as
tarefas vitais fossem executadas com uma maior
prioridade, sendo adiadas tarefas que a principio não
colocariam em risco a conclusão da missão;

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Fez-se história...

Eagle
 "Houston, Tranquility Base here. The Eagle
has landed.“
Houston
 "Roger, Tranquility, we copy you on the
ground. You've got a bunch of guys about to
turn blue. We're breathing again. Thanks a lot
!“

Neil Armstrong
 "That's one small step for man . . . one giant
leap for mankind."

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Missão a Marte – Pathfinder

Caracterização do Sistema
 Sistema de Tempo-Real;
 Grandes recursos! Nunca se gastou tanto
em uma missão não tripulada;
 Política de Scheduling Preemptive (tarefas de
maior prioridade podem preemptar outras
com prioridade mais baixa);
 Atribuição fixa de prioridades;
 Existência de recursos partilhados
(barramento de dados).

Fatos
 Após alguns dias na superfície de Marte o
sistema começa a executar reset com
alguma frequência, resultando na constante
perda de informação;

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Descrição do problema – Quem são os atores?

Tarefa de Gerenciamento do Barramento de Dados


 Alta prioridade;
 Executada freqüentemente;
 Gerencia o acesso das tarefas restantes ao barramento de dados
(região crítica);
 Responsável pela reinicialização de um Watchdog Timer

Tarefa de Captura de Dados Meteorológicos


 Baixa prioridade;
 Executada esporadicamente;
 Acessa o barramento de dados (região crítica).

Tarefa de Comunicação
 Prioridade média;
 Executada freqüentemente;
 Responsável pela comunicação com a terra.

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Descrição do problema

Dados Meteorológicos Run

Controle do Barramento

Comunicações

Time Line

A tarefa de captura de Dados Meteorológicos ocupa o


Processador e usa o barramento de dados para imprimir valores
na tela dos pesquisadores em terra

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Descrição do problema

Dados Meteorológicos Run

Controle do Barramento Blocked

Comunicações

Time Line

A tarefa de Controle do Barramento tenta acessar o barramento


de dados e bloqueia até que a tarefa dos Dados Meteorológicos
termine e liberte o barramento

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Descrição do problema

Dados Meteorológicos Run Ready to Run

Controle do Barramento Blocked

Comunicações Run Run Run

Time Line

Várias tarefas de Comunicações são agendadas e executadas


sem que a tarefa dos Dados Meteorológicos termine (baixa
prioridade)

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Descrição do problema
Reset
Sistema
Dados Meteorológicos Run Ready to Run

Controle do Barramento Blocked

WDT

Comunicações Run Run Run

Time Line

O Watchdog Timer termina a contagem, pois a tarefa


encarregada da sua reinicialização encontra-se bloqueada
(Controle do Barramento de Dados), desencadeando assim um
reset global do sistema.

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Solução do problema
Uma tarefa A, de baixa prioridade, está em execução e acessa uma
Região Crítica;

Uma tarefa B, de alta prioridade, é agendada para execução e


pretende acessar à Região Crítica, ficando assim bloqueada;

Nesta situação, a tarefa A herda a prioridade da tarefa B, de modo


que esta possa libertar a Região Crítica sem que seja interrompida
por qualquer outra tarefa de maior prioridade.

Tarefa A Run

Reset do WDT
Tarefa B Blocked Run

Tarefa C Ready to Run Run

Time Line

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12


Conclusões

O diagnóstico do problema como uma “caixa preta” seria


impossível.
 Só um “trace” detalhado do sistema provocou a execução da
seqüência crítica.

Facilidades de debbuging em tempo de execução salvaram a


missão.
 Sistema modificado durante a missão

Herança de prioridades piora a performance


 É precisamente em situações importantes e
temporalmente críticas que a correção e bom
planejamento é essencial.

Anderson Moreira – CIn/UFPE Sistemas de Tempo Real agosto de 12

Você também pode gostar