Jantar dos filósofos

2546 palavras 11 páginas
Introdução

Um sistema possui múltiplos processos em execução. Um processo cooperativo pode afetar ou ser afetado por um desses processos. A utilização de Threads pode compartilhar um espaço de endereçamento lógico. Em um sistema de processos sequenciais o uso da variável “count” requer sincronização de threads, precisando garantir que apenas um thread de cada vez possa estar manipulando essa variável. Uma situação em que vários threads acessam e manipulam ao mesmo tempo e o resultado depende da ordem de acesso é chamada de condição de corrida. Cada thread possui uma Seção Crítica, um segmento de código onde a thread pode alterar variáveis comuns. A execução das Seções Criticas pelos threads é mutuamente exclusiva do tempo, o problema dessa seção é como escolher um protocolo que possa ser usado para cooperar. Para solucionar, três requisitos devem ser avaliados: Exclusão Mutua, Progresso e Espera Limitada. Assim, nenhum thread poderá estar executando na seção critica de outro, precisam da decisão de qual participara e um limite de vezes. As características do hardware podem tornar a tarefa de programação mais fácil e melhorar a eficiência do sistema. Em um ambiente monoprocessador poderia ser resolvido de modo simples o problema de seção critica, pois as instruções seriam executadas ordenadamente. Não sendo viável para vários processadores. Estão disponíveis em algumas máquinas instruções de hardware especiais, que podem ser usadas para resolver o problema da seção crítica, permitindo testar e modificar o conteúdo de uma ou duas palavras. Apesar de algumas soluções para o problema de Seção Critica, é difícil generalizar para problemas mais complexos. Uma ferramenta de sincronização denominada Semáforo pode auxiliar a superar essa dificuldade, é acessado somente por duas operações-padrão: P e V. P tem por objetivo testar e V incrementar. Quando um thread modifica o valor do semáforo, nenhum outro pode modificar. Permanece uma distinção entre Semáforos de

Relacionados

  • Jantar dos Filosofos
    577 palavras | 3 páginas
  • Jantar dos filósofos
    918 palavras | 4 páginas
  • O Jantar dos Filósofos
    334 palavras | 2 páginas
  • Jantar dos filósofos
    535 palavras | 3 páginas
  • O Jantar dos Filósofos
    339 palavras | 2 páginas
  • Jantar Filosofos
    583 palavras | 3 páginas
  • Jantar dos filósofos
    1030 palavras | 5 páginas
  • Jantar dos filósofos
    1856 palavras | 8 páginas
  • Entendendo o Jantar dos Filósofos
    1031 palavras | 5 páginas
  • Problema do jantar dos filósofos
    1064 palavras | 5 páginas