View
235
Download
2
Category
Preview:
Citation preview
Sistemas Operacionais - Aula 07: Thread e Processos
Mundo 7 - Thread e Processos
3
Thread e Processos
Estrutura do Sistema Operacional
Sistemas Operacionais - Aula 07: Thread e Processos
O que vamos aprender? Processos
# Estrutura do processo
# Estados do processo
# Mudanças de estado do processo
# Criação e eliminação de processos
# Processos independentes, subprocessos e threads
# Processos foreground e background
# Processos do sistema operacional
# Processos CPU-bound e I/O-bound
# Sinais
Threads# Ambiente monothread
# Ambiente multithread
# Implementação4
Sistemas Operacionais - Aula 07: Thread e Processos
Estrutura do Processo
6
ProgramaConjunto de instruções
Processoum programa em execução
Sistemas Operacionais - Aula 07: Thread e Processos
Programa
Contexto deSoftware
Contexto deHardware
Espaço deEndereçamento
Estrutura do Processo
7
Sistemas Operacionais - Aula 07: Thread e Processos
Contexto de Hardware
8
Mudança de contexto
Carrega registradores doProcesso B
Carrega registradores doProcesso A
Sistema Operacional
Salva registradores doProcesso A
executando
executando
executando
Salva registradores doProcesso B
Processo A Processo B
Programa
Contexto deSoftware
prioridade deexecução
registrador PC
data/ horade criação
tempo deprocessador
registrador SP
quotas
privilégios
endereços de memóriaprincipal alocados
registradorde status
owner (UID)
PID
nomeregistradores
gerais
Contexto deHardware
Espaço deEndereçamento
Sistemas Operacionais - Aula 07: Thread e Processos
Contexto de Software
9
Identificação
Quotas
PrivilégiosPrograma
Contexto deSoftware
prioridade deexecução
registrador PC
data/ horade criação
tempo deprocessador
registrador SP
quotas
privilégios
endereços de memóriaprincipal alocados
registradorde status
owner (UID)
PID
nomeregistradores
gerais
Contexto deHardware
Espaço deEndereçamento
Sistemas Operacionais - Aula 07: Thread e Processos
Espaço de Enderaçamento
10
Programa
Contexto deSoftware
prioridade deexecução
registrador PC
data/ horade criação
tempo deprocessador
registrador SP
quotas
privilégios
endereços de memóriaprincipal alocados
registradorde status
owner (UID)
PID
nomeregistradores
gerais
Contexto deHardware
Espaço deEndereçamento
Sistemas Operacionais - Aula 07: Thread e Processos
Bloco de Controle do Processo
11
.
.
.
.
..
.
.
ponteiros
Estado do processo
Registradores
Nome do processo
Prioridade do processo
Limites de memória
Lista de arquivos abertos
Sistemas Operacionais - Aula 07: Thread e Processos
Estados do processo
12
Em execuçãoSendo executado agora
ProntoAguardando para ser executado
Em EsperaAguardando um recurso externo como I/O
Sistemas Operacionais - Aula 07: Thread e Processos
Mudanças de Estados do processo
13
.
..
..
..
.
.
..
..
..
.
.
..
..
..
.
.
..
..
..
.
.
..
..
..
.
Lista deprocessosem estadode pronto
PCB# 5
PCB# 9
PCB# 1
PCB# 2 PCB# 4
Lista deprocessosem estadode espera
Sistemas Operacionais - Aula 07: Thread e Processos
Mudanças de Estados do processo - 1
14
Estado de Execução
Estado de Espera Estado de Pronto
a
c
db
Sistemas Operacionais - Aula 07: Thread e Processos
Mudanças de Estados do processo - 2
15
residente
não residente
Estado de Execução
Estado de Espera
Estado de Espera
Estado de Pronto
Estado de Pronto
Sistemas Operacionais - Aula 07: Thread e Processos
Mudanças de Estados do processo - 3
16
Estado de Execução Estado de Término
Estado de Espera Estado de Pronto Estado de Criação
Sistemas Operacionais - Aula 07: Thread e Processos
Processos e subprocessos
17
Processo A
Processo CProcesso B
Processo EProcesso D
Sistemas Operacionais - Aula 07: Thread e Processos
Processos foreground e background
18
(a) Processo Foreground
(b) Processo Background
saída
saída
arquivode saída
terminalterminal
entrada
entrada
arquivode entrada
Sistemas Operacionais - Aula 07: Thread e Processos
Processos foreground e background
19
ForegroundComunicação direta com o usuário
BackgroundSem interação direto com o usuário
Sistemas Operacionais - Aula 07: Thread e Processos
Pipe
20
entrada doProcesso A
saída doProcesso B
saída doProcesso A
entrada doProcesso B
Processo A Processo B
Sistemas Operacionais - Aula 07: Thread e Processos
Pipe
21
Entrada Processo A
Entrada Processo B
Saída Processo A
Sistemas Operacionais - Aula 07: Thread e Processos
CPU-bound x IO-bound
22
(a) CPU-boundtempo tempo
E/ S E/ S
UCP UCP
(b) I/ O-bound
Qual seria I/O e qual seria CPU?
Sistemas Operacionais - Aula 07: Thread e Processos
Thread - Conceitos
24
Partes de um processo que compartilhammesmo espaço de endereçamento
Sub-rotina de um programa executadoparalelamente ao programa chamador
execução concorrente de sub-rotinas
Sistemas Operacionais - Aula 07: Thread e Processos
Thread - Conceitos
25
Às vezes chamado de processo leve (LWP).
Existem threads de instrução ou threads de controle.
Os threads compartilham espaço de endereço e outrasinformações globais com seu próprio processo.
Sistemas Operacionais - Aula 07: Thread e Processos
Vantagens de threads
27
Desempenho: não existe necessidade de comunicação entre processos
utilização de multiprocessadores para um mesmo processo
um programa pode continuar sendo executado mesmo separte dele estiver bloqueada
Sistemas Operacionais - Aula 07: Thread e Processos
Desvantagens de threads
28
Desvantagem desenvolvimento de aplicações não é simples
Sistemas Operacionais - Aula 07: Thread e Processos
Mais exemplos...
29
Navegador Web: um thread para exibir imagens
um thread para recuperar dados da rede
Processador de texto: um thread para sequência de teclas
um thread para verificação ortográfica e gramatical
Sistemas Operacionais - Aula 07: Thread e Processos30
Por que não dividir em vários outros processos?
Sistemas Operacionais - Aula 07: Thread e Processos
Por que não dividir em vários outros processos?
31
A criação de um processo e a mudança de contexto consomemuito mais recurso do que a criação de uma thread
Como cada processo possui espaço de endereçamentopróprio, a comunicação entre processos é difícil e lenta
Sistemas Operacionais - Aula 07: Thread e Processos
Monothread
32
Subprocessos Processos Independentes
Sistemas Operacionais - Aula 07: Thread e Processos
Ambiente monothread
33
Uma única execução de contexto
Thread ThreadThread
Sistemas Operacionais - Aula 07: Thread e Processos
Multithread
34
Múltiplas operações paralelas no mesmo processo
Contextode hardware
Contextode hardware
Contextode hardware
Espaço deendereçamento
Co
nte
xto
de
soft
wa
re
Thread 3Thread 2Thread 1
Sistemas Operacionais - Aula 07: Thread e Processos
Multithread
35
Processo fica responsável pelaalocação de recursos, mas a unidadeescalonada é a thread;
TCB: armazena contexto de hardwaree informações sobre a thread
Espaço deendereçamento
Processo
Programa Principal
Co
nte
xto
de
Ha
rdw
are
Co
nte
xto
de
Ha
rdw
are
Co
nte
xto
de
Ha
rdw
are
Call Sub_1
Call Sub_2
Thread_1
Thread_2
Thread_3
PCSP
PCSP
PCSP
Fim
Sub_2
Variáveis
Ret
Sub_1
Ret
...
...
Sistemas Operacionais - Aula 07: Thread e Processos
Multithread
36
Thread deentrada
Thread degravação
Thread deexibição
Buffer
Aplicação multithread
Sistemas Operacionais - Aula 07: Thread e Processos
Multithread
37
Threads de um mesmo processo compartilham contexto de software eespaço de endereçamento, mas não compartilham contexto de hardware
Programa
Contexto deSoftware
Contexto deHardware
Espaço deEndereçamento
Estrutura do processo
Contextode hardware
Contextode hardware
Contextode hardware
Espaço deendereçamento
Con
texto
de
soft
ware
Thread 3Thread 2Thread 1
Processo MULTITHREAD
Sistemas Operacionais - Aula 07: Thread e Processos
Multithread
38
Solicitações
Processo servidor
ThreadThread
Processo clienteProcesso cliente Processo cliente
Thread
Sistemas Operacionais - Aula 07: Thread e Processos
Estados de thread: ciclo de vida de um thread
39
Em S.O., preemptividade oupreempção é a capacidade dealterar a ordem de (ou tirar deexecução) um processo emdetrimento de outro com umaprioridade maior.
Sistemas Operacionais - Aula 07: Thread e Processos
Material: https://sites.google.com/site/leinylsonnassau
Aula adaptada do material de:
Sistemas Operacionais, Anhaguera - Prof. Charles Fortes
Arquitetura de Sistemas Operacionais, Machado e Maia
Conceitos de thread, Faculdade PITÁGORAS - Prof. Robert Gans
Curso de Java, Loiane Groner
126
Sistemas Operacionais - Aula 07: Thread e Processos
Nesta aula aprendemos...
127
Processos# Estrutura do processo
# Estados do processo
# Mudanças de estado do processo
# Criação e eliminação de processos
# Processos independentes, subprocessos e threads
# Processos foreground e background
# Processos do sistema operacional
# Processos CPU-bound e I/O-bound
# Sinais
Threads# Ambiente monothread
# Ambiente multithread
# Arquitetura e implementação
Sistemas Operacionais - Aula 07: Thread e Processos
𝟑ªMissão - x 100Missão: Implementar...
Data da entrega: ......
Obs.: .....
128
Sistemas Operacionais - Aula 07: Thread e Processos
Na próxima aula veremos... Sincronização e Comunicação entre Processos
129
Recommended