O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica,...
Transcript of O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica,...
O que correu mal na missão Mars Pathfinder?
Sabotagem dos Marcianos?
Departamento de Electrónica, Telecomunicações e Informática
Universidade Aveiro
30 de Outubro de 2006
Alunos:
Cátia Emanuel Ferreira N.º 27880
Daniel Filipe Albuquerque N.º 27955
Mars PathFinder Mission
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 2
• Incluiu a colocação na superfície de Marte de um robot móvel autónomo denominado por Sojourner Rover, através de uma “aterragem” não convencional.
• Missão não tripulada a Marte (chegada a Marte em 04/07/1997) para recolha de informação importante do planeta (meteorologia, imagens, etc.)
O que aconteceu na Missão
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 3
• Bom lançamento!
• Boa viagem!
• Boa entrada em atmosfera!
• Boa aterragem!
• Bom desembarque!
• Boas reinicializações espontâneas!
Mars PathFinder Mission
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 4
• O que correu mal?
– Após alguns dias de missão, o sistema computacional começou a ser reiniciado repetidamente após o início da recolha de dados meteorológicos, ficando assim incapaz de os enviar para a Terra.
• Resumo do sistema computacional usado:
– Sistema monoprocessador com o sistema operativo VxWorks (escalonamento preemptivo por prioridades), sobre barramento VME para ligação aos sistemas de rádio e de visão e a um barramento 1553.
– O segundo barramento (1553) efectua a ligação aos andares de “cruzeiro” e de “aterragem” (que inclui, entre outros instrumentos, um que permite a aquisição de dados meteorológicos: ASI/MET) da sonda espacial.
Arquitectura Interna
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 5
• De entre as diferentes tarefas destacam-se três:– Tarefa periódica com alta prioridade de manutenção do barramento;
• Esta tarefa tem associado um WatchDog timer (“Too Quiet? Reboot”).
– Tarefa de média prioridade para a comunicação com a Terra;
– Tarefa de baixa prioridade para a recolha de dados meteorológicos.
• Definição de WatchDog Timer:– São relógios de tempo real com uma função pré-definida. Este relógio
é inicializado em intervalos fixos (aquando da execução da tarefa de maior prioridade). Se o watchdog timer interrompe o CPU, então indica que por qualquer razão o sistema operativo não executou dentro do intervalo pré-estabelecido, o que sugere algum problema de hardware ou de software.
O que correu mal?
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 6
• Barramento (1553) partilhado pelas três tarefas mencionadas anteriormente.
• A tarefa de baixa prioridade para a recolha de dados meteorológicos bloqueou o acesso ao barramento (1553) para publicar as leituras efectuadas, garantido assim a exclusão mútua.
• A tarefa periódica com alta prioridade de manutenção do barramento ficou pronta para execução.
• A tarefa periódica com alta prioridade de manutenção do barramento é executada.
• A tarefa periódica com alta prioridade de manutenção do barramento requer o acesso ao barramento (1553) que se encontra em poder da tarefa de baixa prioridade para a recolha de dados meteorológicos bloqueando de seguida.
• Como o contador do WatchDog não foi reposto a zero pois a tarefa responsável encontra-se bloqueada, o WatchDog reinicializará o sistema.
O que correu mal?
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 7
manutenção do barramento(alta prioridade)
comunicação com a Terra
(média prioridade)
recolha de dados meteorológicos(baixa prioridade)
Acesso ao barramento, continua, barramento livre
Liberta barramento
Acesso ao barramento, bloqueia, barramento ocupado
Acesso ao barramento, continua, barramento livre
O que correu mal?
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 8
manutenção do barramento(alta prioridade)
comunicação com a Terra
(média prioridade)
recolha de dados meteorológicos(baixa prioridade)
Acesso ao barramento, continua, barramento livre
Acesso ao barramento, bloqueia, barramento ocupado
ão! ão! …Reset!
Boas reinicializações espontâneas!
Solução!
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 9
• Herança de prioridades (Priority Inheritance)
– As tarefas que não estão bloqueadas são escalonadas de acordo com
o algoritmo preemptivo do sistema.
– As prioridades das tarefas são fixas, excepto em situações especiais:
• A Tarefa Thigh (alta prioridade) requer um recurso partilhado R.
• Se R estiver disponível, é alocado por Thigh, continuando a sua execução.
• Se R estiver alocado pela tarefa Tlow (baixa prioridade), o pedido de
recurso é negado, bloqueando a tarefa Thigh.
• Isto é, a tarefa Tlow herda a prioridade de Thigh, quando Tlow têm a
posse do recurso R.
Solução!
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 10
manutenção do barramento(alta prioridade)
comunicação com a Terra
(média prioridade)
recolha de dados meteorológicos(baixa prioridade)
Acesso ao barramento
Acesso ao barramento
barramento ocupado
Liberta barramento
Libertabarramento
Herda a prioridade
Como se resolveu?
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 11
• Alterou-se o parâmetro do semáforo para permitir o mecanismo de
herança de prioridades.
• Não recorrendo à consola do sistema VxWorks para efectuar a alteração.
• Foi efectuada a correcção do código em Terra.
• Foi apenas enviado para Marte as alterações efectuadas.
Foi detectado em Terra mas…
• Apesar de ter sido testado a recolha de informação meteorológica em
Terra, nunca foi considerado o pior caso, mas sim o melhor.
Não era a melhor solução!
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 12
• A solução utilizada não era a melhor– não prevenia a ocorrência de deadlock
• Supondo que um processo possui um recurso A e pede o recurso B– Ao mesmo tempo outro processo possui B e pede A– Ambos estão bloqueados e assim permanecerão
manutenção do barramento(alta prioridade)
Acesso ao barramento A, continua, barramento livre
recolha de dados meteorológicos(baixa prioridade)
Acesso ao barramento B, bloqueia, barramento ocupado
Acesso ao barramento A, bloqueia, barramento ocupado
Acesso ao barramento B, continua, barramento livre
A melhor solução seria…
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 13
• Protocolo de Tecto de Prioridade
– Priority Ceiling Protocol
• É definido um valor máximo (ceiling) de prioridade para cada
mecanismo de acesso ao recurso partilhado, igual à prioridade mais
elevada de entre as tarefas que o usam. Uma tarefa só pode aceder
ao recurso se este estiver livre e se a sua prioridade for superior ao
limite actual dos outros recursos em uso.
• O protocolo apenas permite o acesso a um recurso partilhado
quando todos os restantes recursos partilhados que a tarefa
necessita estão livres.
Conclusão
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 14
• Em sistemas de tempo-real deve-se considerar sempre
o pior caso evitando assim catástrofes e escolher o
algoritmo de acordo com sistema.
• Lembremo-nos:
– Segunda lei de Sodd:
• Mais tarde ou mais cedo, o pior conjunto possível de
circunstâncias acabará por ocorrer.
– Leis de Murphy:
• Se alguma coisa puder correr mal, correrá mal.
• Se uma série de acontecimentos corre mal, fá-lo-á na pior
sequência possível!
– Lei de Dude da Dualidade:
• De dois acontecimentos possíveis, só o menos desejável ocorrerá.
Bibliografia
O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006
Cátia Ferreira & Daniel Albuquerque 15
• http://www.cs.cmu.edu/afs/cs/user/raj/www/mars.html;
• http://research.microsoft.com/research/os/mbj/Mars_Pathfinder/Mars_Pathfinder.html
• Bug in Mars Pathfinder Lander; Sushant Rewaskar; University of North
Carolina;
• Scheduling on Mars; Dave Eckhardt, Bruce Maggs Bruce Maggs; 2006;
• Priority Inheritance Protocols: An Approach to Real-Time Synchronization; Lui Sha, Ragunathan Rajkumar, John Lehoczky; IEEE Transactions on Computers, Vol. 39, No. 9, September 1990;
• Resource Access Protocols, Real-Time Systems; Riccardo Bettati; Department of Computer Science Texas A&M University;
• A Arte e a Ciência da Depuração, Fabio Kon, 2002.