SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
SistemasOperacionais©2010MarcusRodrigues
Resolução exercício
• Bloqueado em execução
– Possível
– Processo pode estar bloqueado em uma E/S
– E/S termina. Se CPU livre, executa transição
• Pronto bloqueado
– Impossível
– Processo “pronto”
• não executa E/S
• não executa operações que possam bloqueá-lo
• Apenas processo em execução pode bloquear
1
SistemasOperacionais©2010MarcusRodrigues
Sistemas Operacionais
Aula 08
Threads
2
SistemasOperacionais©2010MarcusRodrigues
Processos e Threads
• Processos
• Threads
• Comunicação Interprocessos
• Problemas Clássicos IPC
• Escalonamento
3
SistemasOperacionais©2010MarcusRodrigues
Threads
• Sistemas operacionais tradicionais
– Processos
• Espaço de endereçamento
• Único fluxo de controle (thread)
– Há situações em que
• Múltiplos threads
• Compartilhamento espaço de endereçamento
• Parecem processos separados
4
SistemasOperacionais©2010MarcusRodrigues
Threads
• Modelo de Thread
• Uso de Thread
• Implementação Threads Usuário
• Implementação Threads Núcleo
• Implementações Híbridas
• Ativações Escalonador
• Threads Pop-up
• Código Monothread / Multithread
5
SistemasOperacionais©2010MarcusRodrigues
Threads - Modelo de Thread
• Modelo de Thread
– Contador de programa
– Controle da instrução seguinte
– Registradores contêm variáveis de trabalho
– Pilha com histórico de execução
• Estrutura para procedimentos não retornados
6
SistemasOperacionais©2010MarcusRodrigues
Threads - Modelo de Thread
• Thread x Processo
– Thread executa em um processo
– Processos agrupam recursos
– Threads
• Escalonadas para execução sobre a CPU
• Múltiplas execuções: mesmo ambiente do processo
• Bastante independência entre as execuções
7
SistemasOperacionais©2010MarcusRodrigues
Threads - Modelo de Thread
8
SistemasOperacionais©2010MarcusRodrigues
Threads - Modelo de Thread
• Threads em um processo
– Compartilhamento
• Espaço de endereçamento
• Arquivos abertos
• Outros recursos
• Processos em paralelo
– Compartilhamento
• Memória física
• Discos
• Impressoras e outros recursos
9
SistemasOperacionais©2010MarcusRodrigues
Threads - Modelo de Thread
• Threads
– Lightweight processess (processos leves)
– Multithread: múltiplos threads no processo
– Mesmo funcionamento processos sequenciais
10
SistemasOperacionais©2010MarcusRodrigues
Threads - Modelo de Thread
• Independência de threads
– Acessa qualquer endereço de memória
• Dentro do espaço de endereçamento do processo
– Não há proteção entre threads. Riscos?
• Impossível
• Não é necessário (cooperação)
• Processos diversos
– Mutuamente hostis
– Útil para processos descorrelacionados
11
SistemasOperacionais©2010MarcusRodrigues
Threads - Modelo de Thread
Itens por processo Itens por thread
Espaço de endereçamento Contador de programa
Variáveis globais Registradores
Arquivos abertos Pilha
Processos filhos Estado
Alarmes pendentes
Sinais e tratadores de sinais
Informação de contabilidade
12
SistemasOperacionais©2010MarcusRodrigues
Sobre threads
• É correto afirmar:
a) As transições entre os estados do thread são
as mesmas dos processos
b) Múltiplos threads executando em paralelo em
um processo demonstram paralelismo real
c) Vários processos podem se associar a um
threads, pois este é um processo pesado
d) Threads compartilham contadores de
programa e registradores
13
SistemasOperacionais©2010MarcusRodrigues
Threads - Modelo de Thread
• Múltiplos threads
– Processos iniciam com um único thread
– Thread inicial tem capacidade de criar novos
– Ao término do thread, este pede para sair
– Similares a criação e término de processos
– Threads desistem voluntariamente da CPU
14
SistemasOperacionais©2010MarcusRodrigues
Em sala
• Ponto extra exercício em sala:
– Alisson Lima Sandry Oliveira
• Exercício
• Resposta - 0,1
• Resposta certa
– 1: 0,3
– 2: 0,2
15

Mais conteúdo relacionado

Semelhante a Sistemas operacionais - aula8

Apresentação do artigo THREADS: O PROBLEMA DOS LEITORES E ESCRITORES IMPLEMEN...
Apresentação do artigo THREADS: O PROBLEMA DOS LEITORES E ESCRITORES IMPLEMEN...Apresentação do artigo THREADS: O PROBLEMA DOS LEITORES E ESCRITORES IMPLEMEN...
Apresentação do artigo THREADS: O PROBLEMA DOS LEITORES E ESCRITORES IMPLEMEN...rafaelov
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreadingBianca Dantas
 
Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfHurgelNeto
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threadsPaulo Fonseca
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoFrederico Madeira
 
Processos threads senai
Processos threads senaiProcessos threads senai
Processos threads senaiCarlos Melo
 
Java Memory Model (2005)
Java Memory Model (2005)Java Memory Model (2005)
Java Memory Model (2005)Helder da Rocha
 
Artigo Threads O Problema Dos Leitores E Escritores Implementado Em C# Rafael...
Artigo Threads O Problema Dos Leitores E Escritores Implementado Em C# Rafael...Artigo Threads O Problema Dos Leitores E Escritores Implementado Em C# Rafael...
Artigo Threads O Problema Dos Leitores E Escritores Implementado Em C# Rafael...rafaelov
 
Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídosComputação Depressão
 
2010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula12010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula1Universal.org.mx
 
Concorrência em Android
Concorrência em AndroidConcorrência em Android
Concorrência em AndroidPedro Veloso
 
Princípios de Concorrência em Ruby e Além
Princípios de Concorrência em Ruby e AlémPrincípios de Concorrência em Ruby e Além
Princípios de Concorrência em Ruby e AlémLocaweb
 
7 – mecanismos de gestão de memória
7 – mecanismos de gestão de memória7 – mecanismos de gestão de memória
7 – mecanismos de gestão de memóriaMaria194536
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Leinylson Fontinele
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordtchandy
 

Semelhante a Sistemas operacionais - aula8 (20)

Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Apresentação do artigo THREADS: O PROBLEMA DOS LEITORES E ESCRITORES IMPLEMEN...
Apresentação do artigo THREADS: O PROBLEMA DOS LEITORES E ESCRITORES IMPLEMEN...Apresentação do artigo THREADS: O PROBLEMA DOS LEITORES E ESCRITORES IMPLEMEN...
Apresentação do artigo THREADS: O PROBLEMA DOS LEITORES E ESCRITORES IMPLEMEN...
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreading
 
Cap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdfCap-6-Multiplrocessadores.pdf
Cap-6-Multiplrocessadores.pdf
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Aula 2 - IRL
Aula 2 - IRLAula 2 - IRL
Aula 2 - IRL
 
SI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de CódigoSI - Processos, Threads, Virtualização e Migração de Código
SI - Processos, Threads, Virtualização e Migração de Código
 
Curso openmp
Curso openmpCurso openmp
Curso openmp
 
Gfs slides
Gfs slidesGfs slides
Gfs slides
 
Processos threads senai
Processos threads senaiProcessos threads senai
Processos threads senai
 
Net - Threads
Net - ThreadsNet - Threads
Net - Threads
 
Java Memory Model (2005)
Java Memory Model (2005)Java Memory Model (2005)
Java Memory Model (2005)
 
Artigo Threads O Problema Dos Leitores E Escritores Implementado Em C# Rafael...
Artigo Threads O Problema Dos Leitores E Escritores Implementado Em C# Rafael...Artigo Threads O Problema Dos Leitores E Escritores Implementado Em C# Rafael...
Artigo Threads O Problema Dos Leitores E Escritores Implementado Em C# Rafael...
 
Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
2010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula12010 02 26 Sistemas Operacionais Aula1
2010 02 26 Sistemas Operacionais Aula1
 
Concorrência em Android
Concorrência em AndroidConcorrência em Android
Concorrência em Android
 
Princípios de Concorrência em Ruby e Além
Princípios de Concorrência em Ruby e AlémPrincípios de Concorrência em Ruby e Além
Princípios de Concorrência em Ruby e Além
 
7 – mecanismos de gestão de memória
7 – mecanismos de gestão de memória7 – mecanismos de gestão de memória
7 – mecanismos de gestão de memória
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Projeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecordProjeto Octopus - Database Sharding para ActiveRecord
Projeto Octopus - Database Sharding para ActiveRecord
 

Sistemas operacionais - aula8