Threads em linux taisy weber

1936 palavras 8 páginas
Threads

threads 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

Relacionados

  • bulyng
    43621 palavras | 175 páginas