Please enable JavaScript.
Coggle requires JavaScript to display documents.
Threads, Mapa Mental 4 SO 2025/1 Thalison Vinicius - Coggle Diagram
Threads
Visão Geral
Motivação
Aplicações modernas usam múltiplas threads (navegadores)
Benefícios
Responsividade
Compartilhamento de recursos
Economia
Multiprocessamento
Unidade básica de utilização da CPU
Individual
ID
Contador de programa
Registradores
Pilha
Compartilhado
Secão de código
Seção de dados
Arquivos abertos
Programação Multicore
Tipos de Paralelismo
Paralelismo de Dados
Mesmo código executado em diferentes partes de um dado
Paralelismo de Tarefas
Tarefas diferentes executadas em paralelo
Desafios
Programas devem ser adaptados para explorar múltiplos núcleos
Identificação de tarefas
Equilíbrio
Divisão de dados
Dependência de dados
Teste e depuração
Modelos de Geração de Multithreads
Modelos de Relacionamento (usuário:kernel)
Muitos-para-um (N:1)
Eficiente, mas
Chamada bloqueante
Inadequado para sistemas multiprocessadores
Um-para-um (1:1)
Maior concorrência e uso de MP
Criação de muitas threads afeta o desempenho
Muitos-para-Muitos (M:N)
Permite que o SO crie um número suficiente de threads do kernel
Biblioteca de Threads
Formas de implementação
Thread de Usuário
Gerenciadas por bibliotecas no espaço do usuário
Threads de Kernel
Suportadas diretamente pelo SO
Criação de Threads
Assíncrona
Pai continua execução após criar filho
Baixo compartilhamento de dados
Síncrona
Pai espera filhos terminarem
Maior compartilhamento de dados
Resultados dos filhos podem ser combinados
Principais Bibliotecas
POSIX Pthreads
Windows Threads
Java Threads
Questões Relacionadas com a Criação de Threads
Banco de Threads
Pré-criadas
Evita sobrecarga de criar muitas threads
Cancelamento de threads
Assíncrono
Interrompe imediatamente
Adiamento
Thread verifica se deve parar
Manipulação de Sinais
Sinais (UNIX) notificam eventos ao processo
Entregar sinal a uma, todas ou parte das threads
Ativações do Escalonador
Comunicação entre kernel e biblioteca de threads (M:N)
Upcalls informam mudanças importantes
Usa LWPs (Processo Leve)
Mapa Mental 4 SO 2025/1 Thalison Vinicius