S.O Thread
Sistemas Operacionais
Capítulo 6
THREAD
Baseado no Livro e Material de Apoio de
Arquitetura de Sistemas Operacionais
3ª edição - LTC - 2004
Francis Berenger Machado
Luiz Paulo Maia
Cap. 6 – Thread
1
Sumário
•
•
•
•
Introdução
Ambiente monothread
Ambiente multithread
Arquitetura e implementação
Cap. 6 – Thread
2
•1
•11/03/2012
Ambiente Monothread
• Concorrência com processos
Processos Independentes
- Time slicing
- Operações de E/S
- Solicitação Preenptivo
Subprocessos
Cap. 6 – Thread
3
Ambiente Monothread
• Ambiente monothread
Thread
Cap. 6 – Thread
Thread
Thread
4
•2
•11/03/2012
Ambiente Multithread
• Ambiente multithread
Contexto de hardware
Contexto de hardware
Thread 1
Thread 2
Thread 3
Contexto de software Contexto de hardware
Espaço de endereçamento Cap. 6 – Thread
5
Ambiente Multithread
• Aplicação multithread
Processo
Variáveis
Programa Principal
Thread_1
PC
SP
Contexto de
Hardware
...
Espaço de endereçamento Call Sub_1
Thread_2
Sub_1
Ret
PC
SP
Thread_3
Sub_2
PC
SP
Contexto de
Hardware
Fim
Contexto de
Hardware
Call Sub_2
...
Ret
Cap. 6 – Thread
6
•3
•11/03/2012
Ambiente Multithread
• Aplicação multithread (a)
Thread de entrada Buffer
Thread de exibição Cap. 6 – Thread
Thread de gravação 7
Ambiente Multithread
• Aplicação multithread (b)
Processo servidor
Solicitações
Em ambiente Cliente/Servidor, Threads são essenciais para solicitações de serviços remotos.
Em ambiente monothread, na solicitação de serviços remotos, a thread pode ficar a espera por tempo muito longo a espera da resposta.
No multithread, podem ser executadas outras threads enquanto espera pela resposta, agilizando o desempenho.
Thread
Thread
Thread
Processo cliente
Processo cliente
Processo cliente
Cap. 6