Threads em linux taisy weber
1936 palavras
8 páginas
Threadsthreads em Linux Taisy Weber
Ambiente UNIX
4Processos:
– revisão de conceitos básicos – processos no SO UNIX
3programação
– criação (exec, fork, etc), sincronização (wait), eliminação, processos zombie
• signals
3conceito de threads, threads em Linux
Mitchell, cap 4 Matthew & Stones, cap 11
Taisy Weber
Operating System Concepts Silberschatz & Galvin, 1998
2
Threads em Linux
4conceito de threads 4Posix threads 4create, exit and join 4simultaneidade e concorrência 4seção crítica 4semáforos, mutex no contexto de threads
Taisy Weber
3
Threads
4processo
• definido pelo recursos usados e espaço de memória onde está executando
F
4thread
pode ser interessante partilhar recursos concorrentemente semelhante a um processo filho com novo IP mas executando no mesmo espaço de endereçamento do pai
4
Taisy Weber
Thread processo leve (lightweigth process)
thread
unidade básica de uso da CPU um IP, um conjunto de registradores, e uma pilha
compartilha recursos com threads da mesma task conjunto de threads uma task com apenas uma thread é igual a um processo convencional
5
recursos compartilhados área de código, área de dados, arquivos abertos, ...
Taisy Weber
Thread
4principais vantagens frente a processos: 3maior facilidade na criação 3maior velocidade de troca de contexto entre threads da mesma task ainda é necessário troca de registradores
não é necessário troca de páginas de memória
CUIDADO: multithread pode acarretar problemas de concorrência
Taisy Weber
6
Task & threads threads múltiplas linhas de controle associadas a recursos comuns
instruction pointer segmento de código
segmento de dados
task múltiplas threads em uma task
Taisy Weber
7
Threads semelhantes a processos
4operam de forma semelhante a processos 3estados: pronto, bloqueado, executando, terminado
3apenas uma thread de cada vez em execução na CPU 3uma thread executa seqüencialmente 3uma