O GoConqr está de visual novo! Conte para nós o que você achou.

Mapa mental

Programação Concorrente

GABRIEL GHILARDI Computação Português

Conteúdo do mapa

Programação Concorrente

  1. Vantagem

    • aproveita o tempo do processado
    • Aplicações paralelas podem te execução benéfica
    • Execução em multiiprocessadores será mais rápido
    • Melhora a utilização de periféricos
  2. Desvantagens

    • Identificar código para rescrever aplicação
    • Nem toda aplicação pode ser concorrente
    • Mais complexo
  3. Threads

    • compartilham os recursos de um processos
      • código e dados
    • tem seu próprio contexto de execução e sua pilha
    • A gerência é mais leve
      • Criação destruição sincronização
      • Troca de contexto
        • Mias rápida
          • informações da MMU não precisa ser modificada
            • Mesma tabela de páginas
    • Implementação
      • Nível usuário
        • Biblioteca
        • N:1 (many-to-one)
        • SO divide tempo entre processos e as bibliotecas em threads
        • Chaveamento rápido
        • menor custo para criação e destruição
        • E/S bloqueia a threads
        • threads do mesmo processo não pode exe. paralemente
      • Nível sistema
        • Implementado diretamente pelo SO
        • 1:1 (One-to-one)
        • Executadas por chamadas de sistema
      • Misto
        • M:N (many-to-many)
        • Através de uma biblioteca as threads do programa para serem exe. em uma ou mais threads
  4. Especificações

    • Parbegin e parend
      • Especifica paralelismo
        • Não resolve todos casos
      • implementado como nova estrutura de controle e na forma de bibliotecas
    • Podem ser implementados em forma de bibliotecas
      • Fork()
        • Cria um segundo fluxo
      • Exit()
        • Encerra
      • Wait()
        • fluxo de controle espera pelo final de outro
  5. Problema da seção critica

    • Acesso silmutanio
    • Quando um processo esta em sua seção critica os outros não podem entrar em sua seção
    • Solução
      • estará correta quando
        • Progresso
          • Um processo não pode ser impedido de entrar na seção critica caso nenhum outro processo esteja nela
        • espera limitada
          • não pode ter seu acesso a seção critica postergado
        • exclusão mutua
      • Desabilitar as interrupções antes da seção critica e habilita-las posteriormente
      • Desabilitar interrupções
      • Condição corrida (race condition)
        • Depende da ordem em que os acessos são feitos
      • Protocolo de acesso
      • busy-waiting (espera ocupada)
        • Aguarda num laço vazio
    • Solução erradas
      • Deadlock
        • condições necessárias
          • Exclusão mútua, segura e espera , recursos não preeptados, fila de espera circular
      • Se houver prioridade aumenta a chance de dealock
  6. Spin-Lock

    • Usado instruções de maquinas
      • Test-and-set, Swap, Compare on store
    • Seção critica protegida por int lock=0
    • Vantagens
      • Simplicidade
      • Não é necessario desabilitar interrupções
      • intruções disponiveis em processos atuais
    • Desvantagens
      • Espera ocupada
      • postergação idefinida
    • Usado em pequenas seções criticas, seção critica opupada baixa
  7. Semáforo

    • Composto por um registro de valor inteiro e uma fila de processo
    • Semáforo inicia em 1
      • 0 ocupado (lock)
      • 1 livre (unlock)
    • Usado para relações de precedência entre processos
    • Pode-se ordenado por critério de prioridade
    • multiprocessadores não basta desabilatar as interrupções tem que usar spin-loks
  8. Menssagens

    • Sem memória compartilhada
    • Send e Recive
    • endereçamento
      • Direto
        • Especifica o numero do processo
      • Indireto
        • Caixa postais
        • processo não precisa saber o endereço dos demais procesoss
    • Mensagem podem ser armazenadas em buffer
      • Assim não bloqueia a comunicação
    • Rendezvous
      • porcesso que executou send é bloqueado até que o outro processo execute receive
    • RPC - remote procedure call
      • empacota parâmetros de entrada em uma mensagem
  9. Produto-consumidor

    • buffer
      • dados armazenados temporariamente
      • circular
      • Cheio
        • produtor espera
      • Vazio
        • consumidor espera
    • Problemas podem ser resolvidos com mensagens

Informações

Descrição
Computação Mapa Mental sobre Programação Concorrente, criado por GABRIEL GHILARDI em 18-11-2018.
Criado por
GABRIEL GHILARDI · nov 2018
Atualizado
18 nov 2018
Visualizações
1
Histórico
  • Criado por GABRIEL GHILARDI · 9 ago 2018
  • Copiado por GABRIEL GHILARDI · 18 nov 2018
Avaliação

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?