Arquitetura de Sistemas Operacionais Técnico em Informática Turmas : MBI1
description
Transcript of Arquitetura de Sistemas Operacionais Técnico em Informática Turmas : MBI1
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 1
Arquitetura de Sistemas Arquitetura de Sistemas OperacionaisOperacionais
Técnico em Informática Técnico em Informática Turmas: MBI1Turmas: MBI1
Escalonamento de TarefasEscalonamento de TarefasThreadThread
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 2
Sumário
• Introdução• Ambiente monothread• Ambiente multithread• Arquitetura e implementação
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 3
Thread
• Thread, ou linha de execução em português, é uma forma de um processo dividir a si mesmo em duas ou mais tarefas que podem ser executadas simultaneamente
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 4
Ambiente Monothread
• Concorrência com processos
Subprocessos Processos Independentes
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 5
Ambiente Monothread
• Ambiente monothread
Th rea d Th rea dTh rea d
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 6
Ambiente Multithread
• Ambiente multithread
C on textod e h a rd w a re
C on textod e h a rd w a re
C on textod e h a rd w a re
Esp aço d een dereça m en to
Co
nte
xto
de
soft
wa
re
Th rea d 3Th rea d 2Th rea d 1
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 7
Ambiente Multithread
• Aplicação multithreadEsp aço d e
en dereça m en to
Processo
Program a Pr in cipa l
Co
nte
xto
de
Ha
rdw
are
Co
nte
xto
de
Ha
rdw
are
Co
nte
xto
de
Ha
rdw
are
C a l l Su b_1
C a ll Su b_2
Th rea d_1
Th rea d_2
Th rea d_3
PCSP
PCSP
PCSP
Fim
Sub _2
Va riáve is
Ret
Sub _1
Ret
...
...
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 8
Ambiente Multithread
• Aplicação multithread (a)
Th rea d d een trada
Th rea d d eg ravaçã o
Th rea d d eexib ição
Bu ffer
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 9
Ambiente Multithread
• Aplicação multithread (b)
So licita ções
Processo se rvido r
Th rea dTh rea d
Processo clienteProcesso cliente Processo cliente
Th rea d
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 10
Arquitetura e Implementação
• Threads em modo usuário• Threads em modo kernel• Threads em modo híbrido
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 11
Arquitetura e Implementação
• Modo Usuário – são implementados pela aplicação e não pelo sistema operacional.
Deve existir uma biblioteca de rotinas que possibilite a aplicação realizar tarefas como eliminar/criar threads, troca de mensagens e políticas de escalonamento.
É limitante pois o SO reconhece a existência de um único thread (um thread ao chamar uma rotina do sistema coloca todo o processo e seus threads aptos a executar em estado de espera )
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 12
Arquitetura e Implementação
• Modo Kernel – são implementadas diretamente pelo núcleo do SO por meio de chamadas de sistema que oferecem todas as rotinas de sincronização e gerenciamento.
• Modo Híbrido – combina as vantagens de threads implementados em modo usuário e modo kernel.
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 13
Arquitetura e Implementação
• Threads em modo usuário
M odou suá rio
M odokernel
Kernel
Bib lio teca
Thre
ad
0
Thre
ad
4
Thre
ad
3
Thre
ad
2
Thre
ad
1
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 14
Arquitetura e Implementação
• Threads em modo kernel
M odou suá rio
M odokernelKernel
Thre
ad
0
Thre
ad
4
Thre
ad
3
Thre
ad
2
Thre
ad
1
Arq
uit
etu
ra d
e S
iste
mas
Opera
cionais
– F
uca
pi/C
EEF
Cap. 6 – Thread 15
Arquitetura e Implementação
• Threads em modo híbrido
M odou suá rio
M odokernel
Kernel
TM K 0 TM K 3TM K 2TM K 1
Bib lio teca
TMU
0
TMU
4
TMU
5
TMU
3
TMU
2
TMU
1