Falha no sistema encerra exploração em Marte
PUBLICAÇÃO
quinta-feira, 25 de dezembro de 1997
Agência Globo Rio de Janeiro 
O Sojourner, aquele famoso jipinho que pintou e bordou na superfície de Marte há cinco meses, naufragou ao peso de uma sucessão de GPFs. A revelação, embora não seja uma surpresa total, veio à tona com todos os detalhes técnicos que o caso merece, na lista comp.risks. Um programador de computadores chamado Michael Jones mbj@microsoft. com, divulgou a história.
A missão Pathfinder foi aclamada no mundo inteiro como perfeita, logo depois do pouso na superfície de Marte, em 4 de julho. Os sucessos incluíram o pouso propriamente dito, amortecido por possantes air bags, os passeios da nave pela superfície do planeta e a quantidade absurda de imagens e informação que ela nos enviou de lá.
Mas poucos dias depois, quando a sonda iniciou a coleta de dados meteorológicos, a nave experimentou constantes reinicializações (resets), cada um deles provocando uma perda considerável de informações. A imprensa atribuiu esses problemas a bugs genéricos no software, causados pelo fato de que o computador - um R6000 da IBM, parecido com aquele dos PCs da IBM e da Apple, funcionando a 20MHz - tentava fazer muitas coisas a um só tempo.
Mentira.
Como explicou o diretor técnico da Wind River Systems, David Wilmer, autor do VxWorks, sistema operacional usado pela sonda, o micro trabalhava com um sistema de programação preemptiva de tarefas. As tarefas no Pathfinder eram executadas de acordo com a sua prioridade e sua urgência relativa. A administração dessas prioridades estava a cargo de uma área da memória reservada para isto.
A função de coletar informações meteorológicas tinha uma prioridade menor do que a que fazia medições com o espectrômetro. Mas a cada troca, era necessário que um outro personagem, chamado mutex (cuja função era escrever as informações na parte da memória responsável pela sua transmissão para a Terra) entrasse em operação.
Na maior parte do tempo, a combinação funcionou direito. Se alguma informação meteorológica já coletada pela sonda estivesse tentando acessar a memória enquanto o sistema estivesse produzindo dados geológicos, o mutex tentava controlar a situação, reordenando a pilha. Mas se não funcionasse, o sistema era imediatamente reinicializado.
Ainda na fase de testes, o sistema congelou várias vezes, mas os engenheiros atribuíram o problema ao hardware, baseados na velha premissa de que o erro... nunca é nosso. Explica-se: a prioridade foi dos programas que controlavam o pouso. Se aquilo falhasse, aí sim, babaus.
Embora não exista uma relação direta entre o problema do Sojouner e os prosaicos congelamentos que todos os usuários de Windows costumam enfrentar, Mike faz várias alusões à curiosa situação de um projeto que custou US$ 25 milhões mas que estava sujeito, como qualquer um, a entraves dessa natureza.
Em tempo: a questão da inversão das prioridades - nome oficial dos resets do Pathfinder e fonte dos travamentos, de uma forma mais ampla - foi diagnosticada pela primeira vez em 1970, num mainframe Burroughs.


