GoConqr has a new look! Let us know what you think.

Mind map

Programação concorrente PTHREAD

henrique widmar Portuguese

Map content

Programação concorrente PTHREAD

  1. INTRODUÇÃO

    • primeiros sistemas computacionais
      • Unidades de execução eram chamados simplesmente de programas
        • Programa
          • conjunto de códigos binários executados pelo processador
    • job/tarefas
      • job = seqüência de tarefas
      • tarefa = execução de determinado programa, geralmente uma etapa de um job
      • O termo tarefa foi gradualmente sendo substituído pelo termo processo
    • PC (Program Counter) ou IP (Instruction Pointer)
      • registradore especial
        • endereço da instrução que está sendo executada
      • aponta para a área de código do processo, o que constitui o fluxo de execução (também chamado de ponto de execução ou linha de execução) do processo
    • THREAD
      • leve (thread)
        • fluxo único
        • (fluxo de execução dentro de um processo
      • multithread
        • multi fluxo
      • troca de contexto entre processos leves é mais rápida
      • economia de memória
      • compartilham memória
      • Própria pilha
    • processo
      • Registradores (PC, SP, …)
      • Memória
      • Descritores de arquivos
      • A troca de contexto é uma operação pesada
      • Há registradores (PC, CS:IP ou IP) que apontam para a instrução que está sendo executada
  2. C ONCEITOS BÁSICOS

    • Criação de processo
      • novo descritor de processo
      • nova área de endereçamento
    • implementação
      • nível do usuário - N:1 (many­to­ one)
        • Vantagens
          • chaveamento de contexto é mais rápido
        • Problemas com E/S
      • nível do sistema - 1:1 (one­ to­ one)
        • Visto como um processo
        • Desvantagen
          • Chamadas de sistemas
          • mais pesadas
      • método misto - M:N (many­t o­ many)
        • Vantagem
          • Escolha do usário atráves de bibliotecas
          • Flexibilidade
  3. PTHREAD

    • pthread_create():
    • pthread_join()
      • espera pelo final da execução de outra thread
    • pthread_exit()
      • encerra explicitamente a thread corrente
    • pthread_self() - retorna o identificador
      • retorna o identificador da thread corrente
    • pthread_mutex_lock()
    • pthread_mutex_unlock()

Information

Description
Mind Map on Programação concorrente PTHREAD, created by henrique widmar on 25/06/2017.
Created by
henrique widmar
Views
2
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?