O que correu mal na missão Mars Pathfinder? Sabotagem dos Marcianos?

Slides:



Advertisements
Apresentações semelhantes
Comunicações Industriais
Advertisements

Sistemas Operacionais
Coerência de Cache em Multiprocessadores
Sistemas Operacionais Sincronismo e Comunicação entre processos
SISTEMAS OPERACIONAIS (SO) Aula 5 Luciana A. F. Martimiano 2002
Sistemas Operacionais Gerência de Processador
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores.
Aula 3 Requisitos dos SGBD
Gerência do Processador
Bloqueios partilhados
Programa de Navegação e Comunicações para um Robot Móvel
Software Básico Silvio Fernandes
Sistemas Operacionais
Deadlocks - Impasses 3.1. Recurso 3.2. Introdução aos deadlocks
Escalonamento Linux.
Capítulo 7: Deadlocks.
Sistemas Operacionais II
Busca Tabu - Revisão Marcone Jamilson Freitas Souza
Inteligência Computacional para Otimização
SSC SISTEMAS OPERACIONAIS I Aulas 6 – Escalonamento de Processos
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC SISTEMAS OPERACIONAIS I Turmas.
SSC SISTEMAS OPERACIONAIS I
Capítulo 3 Deadlocks - Impasses 3.1. Recurso
Sistemas Operacionais
SISTEMAS LINEARES II Prof. Marlon.
Programação e Sistemas da Informação
Estrutura do computador
PROBABILISTC CLOCK SYNCHRONIZATION
Paulo J. Azevedo Departamento de Informática Universidade do Minho
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Sistemas Operacionais Adriana Vettorazzo
Sistemas Operacionais
Exclusão Mútua A solução mais simples para evitar os problemas de compartilhamento é impedir que dois ou mais processos estiver acessando determinado recurso,
Acidentes em Missões a Marte
Anomalias de Escalonamento
Revisão de Conceitos Básicos Hardware (Parte 1)
Arquitectura de Computadores II
Sistemas Operacionais Aula 4
Introdução à Computação II Isadora Alves Cristo Juliana Ap. da Silva
COMO FUNCIONA A SIMULAÇÃO
Lançados em 2003, a missão MER consiste em dois robôs Rover idênticos, concebidos para cobrir, cada um, mais de 100 metros por dia de solo marciano. Cada.
Gerência de Recursos Processador
Arquitetura de computadores
Sistemas Operacionais
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
Data Replication and Resiliency Trabalho realizado por: Rui Ferreira Nº Eng. Informática.
Conteúdo Processos e threads Partes do processo
Prof. Alexandre Monteiro Recife
Universidade da Beira Interior Fiabilidade de Sistemas Informáticos Nuno Magarreiro n.º
Processos.
Capítulo 7: Deadlocks.
SISTEMAS OPERACIONAIS I Memória Virtual e Paginação
SISTEMAS OPERACIONAIS I
Robôs Autómatos - Sistema de Mecos Autómatos Realizado por: Armando Cavaleiro Tiago Roque Universidade de Aveiro Sistemas de Tempo Real.
Sistemas Operacionais
Sistemas Operacionais
Faculdade Pernambucana - FAPE
Escalonamento de Tarefas com Compartilhamento de Recursos André Luis Meneses Silva.
Redes de computadores: Sub-camada de Access ao Meio(1) Prof. Dr. Amine BERQIA /
Introdução a Programação
Algoritmos e Programação MC102
Processos Concorrentes
Universidade Federal de Pernambuco
Programação Concorrente
CIn-UFPE STR Escalonamento de Tarefas Aperiódicas de STR Hard
Sistemas Operacionais
Faculdade Pernambucana - FAPE Sistemas Operacionais Prof. Flávio Gonçalves da Rocha.
Sistemas Operacionais Multimídia Aula 12. Gerência de Processos Mapeamento de processos sobre recursos de acordo com política de escalonamento Possíveis.
Escalonamento de Operações de Reconfiguração Dinâmica Mestrado Integrado em Engenharia Eletrotécnica e de Computadores Aluno: Ricardo Ferreira Orientador:
Pearson Education Sistemas Operacionais Modernos – 2ª Edição 1 Sistemas Operacionais IESP - FATEC-PB Professor: Gustavo Wagner.
Transcrição da apresentação:

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 Mars PathFinder Mission 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.) 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. Não alterado Cátia Ferreira & Daniel Albuquerque 2

O que aconteceu na Missão O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 O que aconteceu na Missão Bom lançamento! Boa viagem! Boa entrada em atmosfera! Boa aterragem! Bom desembarque! Boas reinicializações espontâneas! Não alterado Cátia Ferreira & Daniel Albuquerque 3

Mars PathFinder Mission O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 Mars PathFinder Mission 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. Não alterado Cátia Ferreira & Daniel Albuquerque 4

Arquitectura Interna De entre as diferentes tarefas destacam-se três: O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 Arquitectura Interna 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. Não alterado Cátia Ferreira & Daniel Albuquerque 5

O que correu mal na missão Mars Pathfinder O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 O que correu mal? 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. Não alterado Cátia Ferreira & Daniel Albuquerque 6

O que correu mal? Acesso ao barramento, bloqueia, barramento ocupado O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 O que correu mal? Acesso ao barramento, bloqueia, barramento ocupado manutenção do barramento (alta prioridade) Acesso ao barramento, continua, barramento livre comunicação com a Terra (média prioridade) Não alterado recolha de dados meteorológicos (baixa prioridade) Acesso ao barramento, continua, barramento livre Liberta barramento Cátia Ferreira & Daniel Albuquerque 7

O que correu mal? ão! ão! … Reset! Boas reinicializações espontâneas! O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 O que correu mal? Acesso ao barramento, bloqueia, barramento ocupado manutenção do barramento (alta prioridade) ão! ão! … Reset! comunicação com a Terra (média prioridade) Não alterado recolha de dados meteorológicos (baixa prioridade) Acesso ao barramento, continua, barramento livre Boas reinicializações espontâneas! Cátia Ferreira & Daniel Albuquerque 8

Solução! Herança de prioridades (Priority Inheritance) O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 Solução! 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. Não alterado Cátia Ferreira & Daniel Albuquerque 9

Solução! Acesso ao barramento manutenção do barramento barramento O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 Solução! Acesso ao barramento manutenção do barramento (alta prioridade) barramento ocupado Liberta barramento comunicação com a Terra (média prioridade) Não alterado Liberta barramento recolha de dados meteorológicos (baixa prioridade) Herda a prioridade Acesso ao barramento Cátia Ferreira & Daniel Albuquerque 10

O que correu mal na missão Mars Pathfinder O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 Como se resolveu? 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 alterado Cátia Ferreira & Daniel Albuquerque 11

Não era a melhor solução! O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 Não era a melhor solução! 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 Acesso ao barramento B, continua, barramento livre manutenção do barramento (alta prioridade) Não alterado Acesso ao barramento A, bloqueia, barramento ocupado recolha de dados meteorológicos (baixa prioridade) Acesso ao barramento B, bloqueia, barramento ocupado Acesso ao barramento A, continua, barramento livre Cátia Ferreira & Daniel Albuquerque 12

A melhor solução seria… O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 A melhor solução seria… 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. Não alterado Cátia Ferreira & Daniel Albuquerque 13

O que correu mal na missão Mars Pathfinder O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 Conclusão 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á. Não alterado Cátia Ferreira & Daniel Albuquerque 14

Bibliografia http://www.cs.cmu.edu/afs/cs/user/raj/www/mars.html; O que correu mal na missão Mars Pathfinder? Universidade de Aveiro 30-10-2006 Bibliografia 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. Não alterado Cátia Ferreira & Daniel Albuquerque 15