Você está na página 1de 16

SlsLema de lnformao ulsLrlbuldo

rocessos
W lnLroduo
Lm slsLemas operaclonals um processo e deflnldo como um programa
em execuo e os aspecLos mals lmporLanLes a dlscuLlr sero o
gerenclamenLo e o escalonamenLo desses processos
no enLanLo quando conslderamos slsLemas dlsLrlbuldos exlsLem ouLros
aspecLos Lambem com grande lmporLncla ara organlzar slsLemas
cllenLeservldor com eflclncla mulLas vezes usamos Lecnlcas de
mulLlLhreadlng uma das prlnclpals conLrlbules de Lhreads em
slsLemas dlsLrlbuldos e que permlLem que cllenLes e servldores se[am
consLruldos com processamenLo e comunlcao sobreposLos
resulLando em alLo desempenho
rocessos
W 1hreads
Lmbora processos formem um bloco de consLruo em
slsLemas dlsLrlbuldos a granularldade de processos
proporclonada pelos slsLemas operaclonals no e suflclenLe
para os slsLemas dlsLrlbuldos Com uma granularldade
menor de processos e a crlao de mulLlplas Lhreads a
consLruo de apllcaes dlsLrlbuldas consegue obLer um
melhor desempenho
rocessos
W Introduo a threads
nLes de enLendermos o papel das Lhreads nos slsLemas
dlsLrlbuldos vamos enLender o que e um processo e como
eles se relaclonam com as Lhreads
ara execuLar um programa um slsLema operaclonal crla
vrlos processadores vlrLuals (1anenbaum 2008) cada um
para execuLar um programa dlferenLe ara monlLorar esses
processadores vlrLuals o slsLema operaclonal Lem uma
tabe|a de processos que contm entradas para armazenar
valores de reglsLradores de Cu mapas de memrla
arqulvos aberLos lnformaes de conLabllldade prlvlleglos
e asslm por dlanLe
rocessos
W Introduo a threads
um processo cosLuma ser deflnldo como um programa em
execuo lsLo e um programa que esL sendo execuLado
em um dos processadores vlrLuals do slsLema operaclonal
no momenLo em quesLo
C slsLema operaclonal LenLa assegurar que processos
lndependenLes no afeLem de modo lnLenclonal ou
mallcloso ou mesmo por acldenLe o comporLamenLo um
do ouLro 1raduzlndo lsso quer dlzer que vrlos processos
podem comparLllhar a uLlllzao da mesma Cu e ouLros
recursos de hardware de forma LransparenLe Lssa
separao normalmenLe e felLa por melo de hardware
rocessos
W Introduo a threads
Lssa Lransparncla de concorrncla cusLa caro Cada vez
que um processo e crlado o slsLema operaclonal crla um
espao de endereo (f fn) lndependenLe
locao slgnlflca lnlclar segmenLos de memrla como por
exemplo zerando um segmenLo de dados coplando o
programa assoclado para um segmenLo de LexLo e
esLabelecendo uma pllha para dados Lemporrlos
rocessos
W Imp|ementao de thread
s Lhreads podem ser oferecldas como um pacoLe de
Lhreads que conLem operaes para crlar e Lermlnar as
Lhreads como operaes com varlvels de
slncronlzao varlvels de muLua excluso e de
condlo
W Imp|ementao de thread
W LxlsLem duas abordagens para a lmplemenLao de
um pacoLe de Lhreads
1) ConsLrulr uma blblloLeca de Lhreads que e execuLada Loda em
modo de usurlo
2) lazer com que o nucleo flque clenLe das Lhreads e efeLue o
escalonamenLo
W 1hreads em s|stemas d|str|bu|dos
uma vanLagem das Lhreads e que elas permlLem
chamadas bloqueadoras sem bloquear o processo
lnLelro no qual a Lhread esL execuLando lsso faz com
que as Lhreads se[am adequadas para uLlllzao em
slsLemas dlsLrlbuldos faclllLando a comunlcao e
manLendo mulLlplas conexes lglcas ao mesmo
Lempo vamos examlnar cllenLes e servldores
mulLlLhreads
1hreads em s|stemas d|str|bu|dos
W C||entes mu|t|thread
ara consegulr um alLo grau de Lransparncla de dlsLrlbulo
slsLemas dlsLrlbuldos operando em redes de longa dlsLncla preclsam
mascarar o longo Lempo para a propagao de mensagens enLre os
processos C aLraso em uma rede dessas pode ser de mlllssegundos
ou aLe de segundos
manelra mals comum de oculLar laLncla de comunlcao e lnlclar a
comunlcao e prossegulr com ouLro processo um exemplo e a
uLlllzao de browsers um documenLo web conslsLe em um arqulvo
P1ML com LexLo comum e mals um con[unLo de lmagens lcones e
asslm por dlanLe ara buscar cada um desses elemenLos o browser
esLabelece uma conexo 1C/l l os dados que enLram e passa para
o componenLe de exlblo uma Lela
I|rtua||zao
W 1hreads e processos so uma forma de fazer mals
colsas ao mesmo Lempo Lles permlLem consLrulr
programas que parecem ser execuLados ao mesmo
Lempo
pape| da v|rtua||zao em s|stemas
d|str|bu|dos
na prLlca Lodo slsLema se[a ele dlsLrlbuldo ou no
oferece uma lnLerface de programao de alLo nlvel
conforme flgura abalxo (a) P vrlas lnLerfaces dlsponlvels
como lnsLrues de Cu aLe lnLerfaces de programao de
apllcao presenLes em mlddlewares aLuals
C que a vlrLuallzao faz e esLender ou subsLlLulr uma
lnLerface exlsLenLe lmlLando o comporLamenLo de ouLro
slsLema
rqu|teturas de mqu|nas v|rtua|s
W na prLlca a vlrLuallzao pode ser reallzada de vrlas formas
SlsLemas de compuLadores oferecem quaLro Llpos dlferenLes
de lnLerfaces em quaLro nlvels dlferenLes
uma lnLerface enLre hardware e sofLware formada por lnsLrues de mqulna
lnvocadas por qualquer programa
uma lnLerface enLre hardware e sofLware lnvocadas somenLe por programas
prlvlleglados como um slsLema operaclonal
lnLerface formada por chamadas de slsLema geralmenLe oferecldas por um slsLema
operaclonal
lnLerface formada por chamadas de blblloLecas conheclda como lnLerface de
apllcao de programao (l ppllcaLlon rogrammlng lnLerface) Lm mulLos
casos as chamadas de slsLema menclonadas anLerlormenLe esLo oculLas por uma
l
W vlrLuallzao pode aconLecer de duas manelras
prlmelra serla a consLruo de um slsLema com um con[unLo
de lnsLrues absLraLas uLlllzadas para execuLar apllcaes
Lssas lnsLrues podem ser lnLerpreLadas (caso do amblenLe
de execuo do !ava) ou emuladas como aconLece na
execuo de apllcaes Wlndows em plaLaformas unlx e vlce
versa no ulLlmo caso o emulador Lambem lmlLa o
comporLamenLo de chamadas de slsLema o que esL longe de
ser slmples Lssa vlrLuallzao e conheclda como mqu|na
v|rtua| de processo Lssa vlrLuallzao e felLa com um unlco
processo
W CuLra forma de vlrLuallzao e fornecer um slsLema
lmplemenLado como uma camada que proLege
compleLamenLe o hardware orlglnal mas que oferece como
lnLerface o con[unLo de lnsLrues compleLo do mesmo
hardware nesse caso e posslvel Ler vrlos slsLemas
operaclonals dlferenLes execuLando de forma lndependenLe e
concorrenLemenLe na mesma plaLaforma Lm geral essa
camada e denomlnada monlLor de mqulna vlrLual (vMM
vlrLual Machlne MonlLor) Lsses modelos podem ser vlsLos na
flgura abalxo
Lxerclclos
W 1 o que so processos?
W 2 Cuals as abordagens para a lmplemenLao de um pacoLe
de Lhreads?
W 3 ClLe uma vanLagem das 1hreads em slsLemas dlsLrlbuldos
W 4 Cual a manelra mals comum de oculLar laLncla de
comunlcao?
W 3 Cual o papel da vlrLuallzao em slsLemas dlsLrlbuldos?
W 6 na prLlca a vlrLuallzao pode ser reallzada de vrlas
formas SlsLemas de compuLadores oferecem quaLro Llpos
dlferenLes de lnLerfaces em quaLro nlvels dlferenLes quals so
eles?

Você também pode gostar