Please enable JavaScript.
Coggle requires JavaScript to display documents.
Threads, Mapa mental 4 - Coggle Diagram
Threads
Unidade básica de utilização de CPU
ID de thread
Contador de programa
Conjunto de registradores
Threads podem compartilhar
Seções de código e dados
Outros recursos do SO
Processos x Threads
Responsividade
Compartilhamento de recursos
Economia
Arquiteturas multiprocessadas
Paralelismo x Concorrência
Sistemas paralelos executam mais de uma tarefa simultaneamente
Paralelismo de dados
Distribuição de subconjuntos de dado para múltiplos núcleos
Paralelismo de tarefas
Distribuem tarefas a múltiplos núcleos
Sistemas concorrentes dão suporte a mais de uma tarefa
Sistemas podem ser concorrentes e/ou paralelos
Multicore
CPUs utilizam atualmente
Programação multithread e multicore
Díficil para criar novos programas com várias threads
Identificação de tarefas e divisão das atividades
Equilíbrio
Divisão de dados
Dependência de dados
Teste e debug
Geração de multithread
Threads do usuário
Gerenciamento a nível de usuário
Threads de Kernel
Gerenciamento a nível de kernel
Modelos
Muitos para um
Thread de kernel mapeia múltiplas threads de usuário
Eficiente
Limitado a uma única thread
Um para um
Uma thread de kernel para uma de usuário
Concorrência e uso de MP
Custoso
Usado por linux e win
Muitos para muitos
Muitas threads de kernel para muitas threads de usuário
SO cria o número necessário de threads
Biblioteca de threads
API para a criação e gerenciamento de threads
Pode ser implantado em nível de usuário e de kernel
Posix Pthreads, Win threads, Java threads
Threads assíncronas
Pai retorna a execução assim que cria thread-filho
Concorrência
Threads Síncronas
Pai espera execução total de threads-filho para executar
Fork join
Banco de threads
Limita o número de threads
Série de threads em uma pool a espera de trabalhos
Cancelamento de threads
Cancelamento assíncrono
Termina thread imediatamente
Cancelamento adiado
Cancellations points
Término de maneira ordenada
Manipulação de sinais
Notificação de um evento em particular
Sistemas UNIX
Ativações do escalonador
Processo leve (LWP)
Upcalls
Comunicações para que aplicações mantenham número correto de threads do kernel
Mapa mental 4
Aluna: Isabella Sampaio
Matrícula: 20211BSI0208
Matéria: SO 2022/2