O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica,...

15
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

Transcript of O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica,...

Page 1: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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

Page 2: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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.)

Page 3: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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!

Page 4: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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.

Page 5: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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.

Page 6: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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.

Page 7: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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

Page 8: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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!

Page 9: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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.

Page 10: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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

Page 11: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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.

Page 12: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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

Page 13: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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.

Page 14: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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á.

Page 15: O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos? Departamento de Electrónica, Telecomunicações e Informática Universidade Aveiro 30.

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.