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

Mapa mental

Threads

Fabio Henrique Português

Conteúdo do mapa

Threads

  1. Unidade básica de utilização da CPU

    • Individual
      • ID de thread
      • Contador do programa
      • Registradores
      • Pilha
    • Compartilhado
      • Seção de código
      • Seção de dados
      • Outros recursos de SO
  2. Aplicações modernas utilizam processos separados + várias threads de controle

    • Benefícios
      • Responsividade
      • Compartilhamento de recursos
      • Economia
      • Utilização de arquiteturas multiprocessadas
  3. Programação multicore

    • Permite paralelismo real
    • Paralelismo
      • Pode executar mais de uma tarefa simultaneamente
    • Concorrência
      • Dá suporte a mais de uma tarefa, porém alterna rapidamente entre elas dando a impressão que está rodando ao mesmo tempo
    • SO e programas adaptados ao multicore
    • Desafios na programação multicore
      • Identificação de tarefas e divisão das atividades
      • Equilíbrio
      • Divisão de dados
      • Dependência de dados
      • Debug
  4. Tipos de paralelismo

    • Paralelismo de Dados
      • Divide dado para múltiplos núcleos e executa a mesma operação em cada um deles
    • Paralelismo de Tarefas
      • Manda tarefas pra múltiplos núcleos. Essas tarefas são diferentes e pode mexer me um mesmo conjunto de dados
  5. Tipos de threads

    • Threads de usuário
      • Gerenciamento de thread feito pela biblioteca de threads em nível de usuário
    • Threads de kernel
      • Threads admitidos diretamente pelo kernel
    • Modelo de relacionamentos entre thread de usuário e kernel
      • Muitos pra um (N:1)
        • Muitos threads em nível de usuário vão pra única thread do kernel
          • Impróprio pra sistemas multiprocessadores
          • Se uma fizer chamada bloqueante, processo inteiro para
      • Uma pra um (1:1)
        • Cada thread de usuário vai pra uma thread kernel
          • É custoso criar muitas threads de kernel
      • Muitos pra muitos (N:N)
        • Muitos threads de usuário vão pra muitos threads de kernel
  6. Biblioteca de threads

    • Fornecem ao programador uma API para a criação e o gerenciamento de threads
      • Assíncrona
        • Quando o pai cria uma thread-filho, o pai volta sua execução para que ele e seu filho sejam executados concorrentemente
      • Síncrona
        • O thread-pai cria um ou mais filhos e espera até todos os seus filhos terminem para ele voltar a ser executado
  7. Questões

    • Pool de threads
      • Criam uma série de threads em um pool onde esperam trabalho
    • Cancelamento de Threads
      • Terminando um thread antes que ele tenha terminado
    • Manipulação de sinais
      • Sinais são usados em sistemas UNIX para notificar um processo de que ocorreu um evento
    • Ativações do escalonador
      • Os modelos M:N e de dois níveis exigem comunicação para manter o número apropriado de threads de kernel

Informações

Descrição
Mapa Mental sobre Threads, criado por Fabio Henrique em 25-09-2022.
Criado por
Fabio Henrique · set 2022
Atualizado
25 set 2022
Visualizações
0
Avaliação

Mais sobre Processos e threads

Fale Conosco

Sobre o que é sua mensagem?

O que você acha do novo visual?

Você gostou?