Please enable JavaScript.
Coggle requires JavaScript to display documents.
Threads, MAPA MENTAL 4 Disciplina: SO 2025/1 Aluno: Arthur de Moraes…
Threads
Programação Multicore
Tendência das CPUs modernas
Múltiplos Cores
Permite paralelismo real
Uso eficiente de CPUs com múltiplos núcleos
Paralelismo x Concorrência
Paralelismo
Executa mais de uma tarefa simultaneamente
Concorrência
Dá suporte a mais de uma tarefa
Possível haver concorrência sem paralelismo
Desafios
Não basta ter um sistema multicore
Programas precisam ser adaptados
Programação Multicore
Identificação de tarefas e divisão das atividades
Equilíbrio
Divisão de dados
Dependência de dados
Teste e depuração
Tipos de Paralelismo
Paralelismo de Dados
Ambos os modelos são usados
Paralelismo de Tarefas
Unidade básica de utilização de CPU
Individual
ID de thread
Contador de programa
Compartilhado
Seção de código
Seção de dados
Processo tradicional
Uma única thread
“Miniprocessos”
Benefícios
Responsividade
Compartilhamento de recursos
Economia
Utilização de arquiteturas multiprocessadas
Questões Relacionadas com a Criação de Threads
Banco de Threads
Criam uma série de threads em um pool
Esperam trabalho
Vantagens
Ligeiramente mais rápido atender uma solicitação
Limita o número de threads existentes
Cancelamento de Threads
Duas técnicas gerais
Cancelamento assíncrono
Termina o thread de destino imediatamente
Cancelamento adiado
Verifica periodicamente se ele deve ser cancelado
Manipulação de Sinais
Usado para processar sinais
Ativações do escalonador
Oferece upcalls
Modelos de Geração de Multithreads
Threads do usuário
Gerenciamento de thread em nível de usuário
Threads do kernel
Admitidos diretamente pelo kernel
Modelos de relacionamentos
Muitos para Um (N:1)
Muitos threads em nível de usuário
Único thread do kernel
Modelo eficiente
Imprópria para sistemas multiprocessadores
Um para Um (1:1)
Maior concorrência e uso de MP
Custoso criar muitas threads de kernel
Muitos para Muitos (M:N)
SO cria threads de kernel suficientes
Bibliotecas de Threads
API
Criação
Gerenciamento
Criação de Threads Assíncrona X Síncrona
Assíncrona
Pai cria thread
Ambos executam concorrentemente
Threads independentes
Pouco compartilhamento de dados
Síncrona
Pai espera todos os filhos terminarem para continuar
Compartilhamento de dados significativo
Possível criar threads usando APIs nativas do SO
Motivação
Aplicações modernas
Processo separado
Várias threads de controle
Navegador web
Processador de texto
MAPA MENTAL 4
Disciplina: SO 2025/1
Aluno: Arthur de Moraes Andrade Corrêa