Buscar

4 Threads

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Sistemas Operacionais
PROCESSOS E THREADS
Ana Cristina A. Oliveira Dantas
ana.oliveira@ifpb.edu.br
IFPB – Instituto Federal da Paraíba
Campus Campina Grande
Eixo Temático
Processos
Threads
Comunicação interprocessos
Escalonamento
PROCESSOS E THREADS 2
Threads
PROCESSOS E THREADS 3
Definição
Fluxo de controle de execução de um processo
Designa uma parte de um programa que pode executar concorrentemente com outros threads
É às vezes chamado de processo leve (LWP)
Threads
◦ De instrução
◦ De controle
PROCESSOS E THREADS 4
Introdução a Threads
Compartilham espaço de endereço e outras informações globais com seu processo de origem
Possui informações específicas próprias
◦ Registradores, pilha, máscaras de sinal e outros dados
Gerenciados pelo SO ou pela aplicação de usuário
Exemplos: threads Win32, C-threads, Pthreads
PROCESSOS E THREADS 5
Threads
O Modelo de Thread
(a) Três processos cada um com um thread
(b) Um processo com três threads
PROCESSOS E THREADS 6
O Modelo de Thread
PROCESSOS E THREADS
Items compartilhados por
todos os threads em um 
processo
Itens privativos
de cada thread
7
O Modelo de Thread
Cada thread tem sua própria pilha de execução (contém as instruções que serão executadas)
PROCESSOS E THREADS 8
Uso de Thread: Exemplo 1
Um processador de texto com três threads
PROCESSOS E THREADS 9
Uso de Thread: Exemplo 2
Um servidor web com múltiplos threads
PROCESSOS E THREADS 10
Uso de Thread: Exemplo 2
Código simplificado do slide anterior
◦ Thread despachante
◦ Thread operário
PROCESSOS E THREADS 11
Uso de Thread
Três maneiras de construir um servidor
PROCESSOS E THREADS
Modelo Características
Threads Paralelismo, chamadas ao sistema com bloqueio
Processo monothread Sem paralelismo, chamadas ao sistema com 
bloqueio
Máquinas de estados 
finitos
Paralelismo, chamadas ao sistema sem bloqueio,
interrupções
12
Implementação de Threads de Usuário
Um pacote de threads de usuário
PROCESSOS E THREADS 13
Implementação de Threads de Usuário
Um pacote de threads gerenciado pelo núcleo
PROCESSOS E THREADS 14
Implementações Híbridas
Multiplexação de threads de usuário sobre threads de núcleo
PROCESSOS E THREADS 15
Ativações do Escalonador: threads de 
usuário imitando as de núcleo
Objetivo: imitar a funcionalidade dos threads de núcleo
◦ Executar threads de usuário de modo mais eficiente
Evita transições usuário/núcleo desnecessárias
◦ Exemplo: se um thread bloqueia esperando que outro thread faça 
algo, não há razão para envolver o núcleo
◦ Evitar a sobrecarga da transição usuário-núcleo 
PROCESSOS E THREADS 16
Ativações do Escalonador: threads de 
usuário imitando as de núcleo
Núcleo atribui processadores virtuais para cada processo
◦ O sistema supervisor aloca threads para esses processadores
Problema:
◦ Baseia-se fundamentalmente nos upcalls
◦ O núcleo (camada inferior) chamando procedimentos no espaço do usuário 
(camada superior) 
PROCESSOS E THREADS 17
Threads Pop-Up
Criação de um novo thread quando uma mensagem chega
(a) antes da mensagem chegar
(b) depois da mensagem chegar
PROCESSOS E THREADS 18
Convertendo Código Monothread em 
Código Multithread
Conflitos entre threads sobre o uso de uma variável global
PROCESSOS E THREADS 19
Convertendo Código Monothread em 
Código Multithread
Threads podem ter variáveis globais privadas
PROCESSOS E THREADS 20
Ciclo de Vida de Threads
PROCESSOS E THREADS 21
Modelos de Threads
Threads de usuário
◦ Executam operações de suporte no espaço do usuário
◦ Não podem executar instruções privilegiadas nem acessar as primitivas do núcleo diretamente
Threads de núcleo
◦ Tentam resolver as limitações de acesso dos threads de usuário
◦ Mapeamento de cada thread em seu contexto de execução
◦ Nem sempre são a solução ideal para as aplicações
Pode haver combinação dos dois modelos
PROCESSOS E THREADS 22
Entrega de Sinal a um Thread
Todo thread normalmente está associado a um conjunto de sinais
◦ São emitidos (entregues) quando ele é executado
Tipos de sinais
◦ Síncrono
◦ Assíncrono
O thread pode mascarar todos os sinais, exceto aqueles que deseja receber
PROCESSOS E THREADS 23
Mascaramento de Sinal para um 
Processo
PROCESSOS E THREADS 24
Término de Threads
Depende de como foram implementados os threads
Se for terminado prematuramente, pode provocar erros nos processos
◦ Vários threads compartilham o mesmo espaço de endereço
Algumas implementações permitem que um thread determine quando ele pode ser terminado
◦ Evitar que o processo entre em um estado inconsistente
PROCESSOS E THREADS 25
Bibliografia
ANDREW S. TANENBAUM. Sistemas Operacionais Modernos. Editora Prentice-Hall, 2ª Edição, 
2003. ISBN: 8587918575
◦ Capítulo 2: Processos e Threads
DEITEL & CHOFFNES. Sistemas Operacionais. Editora Prentice-Hall, 3ª Edição, 2005. ISBN: 
8576050110.
◦ Capítulo 3: Conceito de processos
PROCESSOS E THREADS 26

Outros materiais