Buscar

Sistemas Operacionais e Programação Concorrente - Capítulo 13

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

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

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ê viu 3, do total de 18 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

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

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ê viu 6, do total de 18 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

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

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ê viu 9, do total de 18 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

Prévia do material em texto

Scanned by CamScanner
C a p í t u l o 13
C O N S I D E R A ÇO E S
C O M P L E M E N T A R E S
E I m o r e n o
Y a s a b e n q u e d e m i m a d1e
fu e r o n d i e z lo s qu e n a c i e r o n
m a s y a n o e s i s t e e l pDm c r o
y m ás qu e Dd o de t o d o s
m u Dö po r in ju s t o s m o d o s
a m a n o s de u n pe n de n c i e r o
L o s n u e v e he r m a n o s r e s t a n t e s
c o m o g t l é r ta n o s q u e da m o s
de n de e n t o n c e s 1o I l
s i n c o n s u e l o c _ ló
y a l ho m b r e qu c Io m a t ö
n u n c a j a m ás lo c n c o n u a n m
Y qu e d e n e n pa z 1o s 吕-
de a qu e l he r m a n o qu c r i 1] o
a m o v e r l o s n o he V
m a s s i e l c a so se p s i e n
e s pe r o e n D i o s qu c e s 1a c u e n t a
sc · 隅 吕le c o o 铛 幽カ翊临
E s te c a p í t u lo a p r e s e n t a ( v e l h o s ) c o n c e i t o s e n o ta s hi s tóDc a s q u e c o m p le m ic n t a m a d i s c u s s ão da s
fe r r a m e n t a s e d o s p a r a d i g m a s de p r o g r a m a ç o a p r e s e n t a do s a t a q u
i
, 
be m c o m o f a z u m r e s u m o
da t e c n o l o g i a a t u a l d i s p o n í v e l p a r a o de s e n v o l v i m e n t o dc a p l i c a çö e s 
c o n c o r r e n t e s
Scanned by CamScanner
170 S i s t e m a s o rÆ o n a i s e Pr o g r a m a ção C o n c o n . E n te S S T o s c a n i R S de O l i v e i r a e A i m j
13
. 
1 0 e n v e l h e c i m e n t o d o s o f t w a r e
É c o m u m q u e i déi a s a n t ig a s r e s s u r j a m c o m r o u p a g e n s n o v a s , d a n do a i m p r e s s ão q l i e s e t r a ta m
d e ' h o v a s d e s c o be r t a s " U m e x e m p l o é a idéi a d a p r o g r a m a ção o r i e n t a da a o bj e t o s
, qu e (po r
m u i t o s ) f o i v i s t a c o m o n o v a
, 
m a s c u j a f u n d a m e n t a ção ha v i a s ido d a da n a l i n gu a ge m Si m u l a
, 
e m
1965 [D A H 6 6] I s s o o c o r r e n o q u e di z r e s pe i to a o s o f tw a r e A p e s a r d e a l g u m a s téc n ic as de
P r o g r a m a ção t e r e m s e to m a do o b s o l e t a s c o m o p a s s a r do te m p o (i s to a c o n t e c e u , po r e x e m pl o
,
c o m a téc n i c a d e m o d i f i c a r i n s t r u çõ e s du r a n te a e x e c u ç ão ) , m u i t a s d a s t éc n i c a s de p r o gr a m a ção
s e r ão u s a d a s et er nament e pe l o m e n o s e n qu a n to du r a r o m o de l o de a r q u i te t u r a d a m áqu i n a de
v o n N e w m a n ) N o h a r d w a r e s i m
, 
t e m s e u m a v e l o c i d a d e d e d e s a t u a l i s a gão g r a n de , po i s n o v as
t e c n o l o g i a s t o m a m u l t r a p a s s a d a s a t é te c n o l o g i a s r e c e n te s A l i ás , n a c o m p a r a ção d o s a v a n ço s do
h a r d w a r e e d o s o f t w a r e
, p o d e s e d i z e r a m e s m a c o i s a de du a s m a n e i r a s d i s t i n t a s : (1) qu e o
h a r d w a r e a v a n ç a (o u t o m a s e o b s o l e t o ) m a i s r a p i d a m e n te (2 ) q u e o s o f t w a r e te m u m a v ida
m u i t o m a i s l o n g a
13 2 0 c o n c e i t o d e s e c r e t á r i a
A e s t r u t u r a ç ão c o m m o n i t o r f o i u s a da p e l a p r i m e i r a v e z p o r P B H a n s e n n o p r o j e to d o s i s te m a
o p e r a c i o n a l m u l t i p r o g r a m a d o R C4 000
, 
n o in íc i o d a déc a d a de 70 [B R I 7 0 ] M a i s t a r d e
, 
e m 1974
,/l o c o n c e i t o f o i f o r m a l i z a do p o r C A R H o a r e [H O A 74 ] , n u m a r t i g o c l ás s i c o s o b r e p r o v a de
c o r r e ç ão d e p r o g r a m a s c o n c o r r e n t e s N e s s a m e s m a ép o c a , E W D ij k s t r a [D IJ 75 ] a p r e s e n to u o
c o n c e i t o d e s e c r e 1á r i a T a l c o m o u m m o n i t o r
, 
u m a s e c r e t ár i a t i n ha a f i n a l i d a de de e n c a ps u l a r
d a d o s c r í t i c o s u s a d o s p o r p r o c e s s o s c o n c o r r e n te s
D i f e r e n t e m e n te de u m m o n i t o r
, 
a s e c r e t ár i a e r a u m p r o c e s s o c o m v i d a p r óp r i a qu e se
c o m u n i c a v a c o m o s c l i e n te s a tr a v és de t r o c a d e m e n s a g e n s O s d a do s c r i t i c o s e r a m
; !
.
.
. 
Re p r e s e n t a do s c o m o d a do s l o c a i s , n a s e c r e t ár i a
, 
e a s o pe r a çõ e s a s e r e m r e a l i z a da s s o bre o s
m e s m o s e r a m r e q u i s i t a da s a t r a v és d e m e n s a ge n s e n v ia da s p e l o s p r o c e s s o s c l ie n te s O s r e s u l tado s
de u m a o pe r a ção t a m bém e r a m de v o l v ido s v ia o m e c a n i s m o de c o m u n i c a ç o Co m o s e v ê
e x i s te m s e m e l h a n ç a s e n t r e o s c o n c e i to s de s e c r e tár i a e de t a s k da l i n g u a g e m A D A
13
. 
3 A o r g a n i z a çã o c l i e n t e s e r v i d o r
A o rg a n i z ação c l i e n t e s e r v id o r te m s e po pu l a r i z a do
, 
s e n do a n u n c i a da c o m o a b a s e de m u i to
s
s i s t e m a s o pe r a c i o n a i s N o f u n do , e s s a o r g a n i z a ç o n ao pa s s a da c o n he c ida o r g a n i z a ção ba s e a
da
e m u m k e r n e l
, 
o n d e a m a i o r p a r t e d o s i s te m a é i m p le m e n t a da po r u m c o n j u n to de pr o c e s so s
c o o pe r a n te s , q u e u t i l i z a m o s m e c a n i s m o s im pl e m e n ta d o s n o ke r n e l
N a o r g a n i z a ç ão c l ie n te s e r v ido r
, 
o s s e r v i ço s do s i s te m a o pe r a c i o n a l s o i m p le m e n
ta d o s
p o r p r o c e s s o s (c o m m u l t i r/t r e a d s o u n o ) o s qu a i s
, po r s u a v e z
, 
u s a m m e c a n i s m o s bás i c o s 
de
Scanned by CamScanner
Ca p f t u lo 13 - C o m p l e m e n t a r e s 17 1
c o m u n i c a ç ão e s i n c r o n i z a ç ão i m p le m e n t a d o s n o k e m e t O s p r o c e s s o s d o SO d e s e m pe n h a m
pa pé i s d e c l i e n t e s e / o u s e r v i d o r e s , s e n d o q u e u m s e r v id o r (p r e s t a d o r d e s e r v iç o s ) p o d e s e r c l ie n t e
d e u m o u t r o s e r v i d o r
, 
e v i d e n t e m e n t e
13
. 
4 K e r n e l d i s t r i b u fd o
N i n g u ém t e m d ú v i d a s q u e a t e n d ên c i a a t u a l d a c o m p u t a ç ão é n o s e n t i d o d a d i s t r i b u i ção d o
p r o c e s s a m e n t o P a r a m o s t r a r q u e a o r g a n i z a ç o b a s e a d a e m u m k e r n e l c o n t i n u a v ál i d a , s e r á
c o n s i d e r a d a u m a p o s s í v e l o r g a n i z a ção pa r a u m s i s t e m a o pe r a c i o n a l d i s t r i b u íd o C o n s i d e r a n d o o
c a s o g e r a l d e u m c o n j u n t o d e n Ms p r o c e s s a d o r e s i n t e r l i g a d o s a t r a v és d e l i n h a s de c o m u n i c a ç ão ,
u m a o r g a n i z a ç ão n a t u r a l p a r a o s o f t w a r e é a s e g u i n t e E m c a d a n ó é i m p l e m e n t a d o u m k e m e t , o
qu a l e n t r e o u t r o s s e r v i ç o s , o f e r e c e f a c i l i d a de s pa r a c o m u n i c a ção c o m o u t r o s n ó s C o m i s t o , o
r e s t a n t e d o s i s t e m a p o d e s e r i m p l e m e n t a d o d a v e l h a m a n e i r a , i s t o é , p o r p r o c e s s o s q u e s e
i n t e r c o m u n i c a m (l o c a l m e n t e o u r e m o t a m e n t e ) a t r a v és d o s m e c a n i s m o s d o k e r n e l D e pe n de n d o
d a s o ' s t i c a ç o d e s s e "k e r n e t d i s t r i b u íd o " , a d i s t r i b u i ç ão ( t a n t o d o h a r d w a r e c o m o d o s o f t w a r e )
po de s e r c o m p l e t a m e n t e t r a n s p a r e n t e a o s u s u ár i o s
N a v e r d a d e
, 
a p e s a r d e p r o b l e m a s n o v o s s e r e m i n t r o d u z i do s p e l a d i s tDb u i ção d o
p r o c e s s a m e n t o , m u i t a s d a s s o l u çõ e s p a r a s i s t e m a s c e n t r a l i z a do s c o n t i n u a m a s e r u s a d a s P o r
e x e m p l o , o s a l g o r i t m o s p a r a d e t e c ção d e d e a dto c k s c o n t i n u a m s e n d o v ál i d o s ; a c o m p l i c a ç ão
n o v a é a c o l e t a d a s i n f o r m a çõ e s s o b r e o e s t a d o d o s i s t e m a , p o i s e s t a s i n f o r m a çMe s a g o r a e s t ão
f i s i c a m e n t e d i s t r i b u íd a s
13
. 
5 C h a m a d a r e m o t a d e p r o c e d i m e n t o s
N a ár e a d e i n t e r c o m u n i c a ção d e p r o c e s s o s , r e fe r i d a e m i n g lês pe l a s i g l a I PC Un t e r p r o c e s s
Co m m u n i c a t i o n )
, 
(e m s e u m a v a r i e d a d e de m e c a n i s m o s N o s s i s t e m a s d i s t r i b u id o s u m
m e c a n i s m o q u e t e m s e s o b r e s s a :do é o de n o m
i n a d o r e n ï o t e p r o c e d u r e c a l l o u R PC , o q u a l é
d i s c u t i d o a s e g u i r A i n d a a q u i n ão há n o v id a de , po
i s e s te m e c a n i s m o tb i u s a d o pe l a p r i m e i r a v e z
e m 19 7 8 n a l i n g u a ge m D i s t r ib u t e d P r o c e s s , d e f
i n id a po r B r i n c h H a n s e n [B R I 7 8 ] 
U m p r o b le m a n o u s o d a s f u n çMe s p r i m i t i v a s s e n
d / r e c e i v e é o b a i x o n : v e l d a i n t e r a ç ão O
p r o g r a m a d o r s e v ê o b r i g a d o a a b a n d o n a r a s e s t r u t u r a s m o d u l a r e s de c o m u n
ic a ç o
(p r o c e d i m e n t o s e o u t r o s m e c a n i s m o s «l e a l to n :v e l ) e pa s s a a te r t lu e u s a r o pe r a çð e s s e n d e
r e c e i v e
, 
a s q u a i s f i c a m e s r a l ha d a s pe lo s c ód i g o s d o s p
r o c e s s o s A s c h a m a d a s r e m o t a s de
p r o c e d i m e n t o s s u r g i r a m c o m o u m c o n c e i t o d e a l t o n i v e
l p a r a e l i m i n a r e s t a i n c o n v e n iên c i a
D o p o n t o d e v i s t a d o p r o g r a m a d o r , u m a 
R PC t e i n o m e s m o e fe i t o d e u m a c h a m a d a
n o r m a l d e p r o c e d i m e n t o t r a n s f e r ên c i a d a e x e c u ç
ão p a r a o u t r a p r o c e d u r e e
"
s u s pe n s o
" do
p r o c e s s o c h a m a d o r U m c o m a n d o d e r e t o r n o d a p r o c e d u r e o c
a s i o n a a v o l t a d o c o n t r o le p a r a o
c h - ,
, 
o n d e a e x e c u ção c o n t i n u a n a i n s t r u ção s e g
u i n t e à c h a m a d a A d i s t i n ç ão p r i n c i p a l
Scanned by CamScanner
172 Si s t e m a s O pe r a c i o n n i s e p r o g r a m a çko c o n c o r r e n t e S S T o s c a n i , R S d e O l i v e i r a e A S ar issi rn i
e n t 1Te u m p r o c e d i m e n t o n o r m a l e u m p r o c e d i m e n t o r e m o t o q u c o ú l t i m o r e s ide n u m e s paço de
e n d e r e ç a m e n t o s e p a r a d o , o qu e i n v i a b i l i z a o c o m p a r l i 1ha m « n [o de v a r iáv e is g l o ba is (t o das asi n f o m l a çö e s p r e c i s a m s e r p a s s a d a s a t r a v és de p a r iim ( t r o s )
D o p o n t o d e v i s t a d o p r o g r a m a do r , u m a p r o c e du r e r e m o ta p a r e c e s e e c o m po r ta se
e x a t a 1n e n t e c o m o u m a p r o c e d u r e t r a d ic i o n a l E l a é c h a m a d a u s a n do a s i n t a x e u s u a l e
,i d e a l m e n t e
, 
o c ha m a d o r n e m t o m a c o n he c i m e n t o qu e a p r o c e d u r e é r e m o t a N o n ív e l de
i m p l e m e n t a ção , e n t r e t a n t o
, 
o s p r o c e d i m e n t o s r e m o to s s ão b e m d i f e r e n t e s do s p r o c e d im m tos
n o r m a i s C o m o u m p r o c e d i m e n t o r e m o to é e x e c u ta do e m u m e s pa ço d e e n de r e çam en to
d i f e r e n t e
, p o s s i v e l m e n t e e m o u t r o c o m pu t a d o r , de v e s e r c r i a do u m p r o c e s s o s e pa r a do par a
e x e c u t a r o p r o c e d i m e n t o E e s s e p r o c e s s o po de s e r c r i a d o d in a m i c a m e n te o u e s t a t i c a m e n te
N o c a s o d a c r i a ção d i n âm i c a , u m n o v o p r o c e s s o é c r i a d o (e p o s t e r i o r m e n t e de s t r u ído )
Pa r a c a d a i n v o c a ção d o p r o c e d i m e n t o E s t e o v e r he a d n ão e x i s t e n a a b o r d a g e m e s t át i c a , o n de se
u t i l i z a u m p r o c e s s o p e r m a n e n t e q u e e n c a p s u l a a p r o c e d u r e e a e x e c u t a C a d a c ha m a da do ti po
"
c a l l R P (p a r a m , r e s u l t ) , o n d e R p é u m p r o c e d i m e n t o r e m o t o , é c o m p i l a d a p a r a u m c ód igo qu e
i n c l u i u m p a r d e c o m a n d o s s e n d e r e c e i v e
, 
o n de s e n d t r a n s m i t e o s p a r âm e t r o s de e n tr a da e
r e c e i v e e s pe r a p e l a c h e ga d a d o s r e s u l t a do s c o r r e s po n d e n t e s D o o u t r o l a d o , o p r o c e s s o qu e
e n c a p s u l a R P i n i c i a c o m u m c o m a n do r e c e i v e (c o m n o m e a ção i m p l íc i t a v e r s e ç o 11 1) e
t e r m i n a c o m u m c o m a n d o s e n d E s t a i m p l e m e n t a ção é i l u s t r a da pe l o s e g u in t e e s qu e le to de
c ód ig o , s u p o n d o q u e p RP s e j a a i de n t i f+c a ção d o p r o c e s s o qu e e n c a p s u l a R p
/ * C h a m a d a de RP * / / * P r o c e s s o q u e c o n tém R p * /
I ! l p r o c e s s p R P
3 [ s e n d (p RP , p a r a i ?1) l o o p
:
'
: r e c e i v e (p R P , r e s u w r e c e i v e ( *
, p a r a n t )
c a l l RP (p a r a m , r e s u tt )
î ; :,
. s e n d( *
, 
r e s u tt )
e n d l o o p
p o de s e c o n s ta t a r a lg u m a s s e m e l ha n ça s e n t r e u m p r o c e d i m e n to r e m o t o e u m
p r o c e d i m e n t o t i po e n 1r y , u s a do e m u m e squ e m a d e r e n d e z v o 1Bs Em a m bo s o s c aso s a
c o m u n i c a ção é s l n c r o n a e e m a m bo s o s c a s o s o p r o c e di m e n t o c ha m a do n üo 6 e x e c u tado pe lo
p r o c e s s o q u e o c ha m a O p r o c e s s o c ha m a do r f i c a b lo qu e a do e n qu a n to o p r o c e s s o r e m o t o e x e
c u ta
o p r o c e d i m e n t o A pós a e x e c u ç o , o s pa r âm e t r o s de s a íd a s o pa s s a do s a o p r o c e s so c ha n ia
do r e
e s t e p r o s s e g u e s u a e x e c u çao D e v i do a e s t a s s e m e l ha n ça s , a lgu n s a u t o r e s c o n s ide r a m o esquema
d e r e n d e z v o u s c o m o u m e s q u e m a de c ha m a da r e lh o ta de pr o c e d i m e n to s
A s R PC s e l i m i n a m o v a z io e n t r e o s e s qu e m a s de s i n c r o n i z a ç o o r i e n ta
do s a
p r o c e d i m e n to s e o s e s q u e m a s b a s e a do s e m t r o c a s de m e n s a ge n s D o po n to de v is
ta do
p r o g r a m a d o r , a s p r o c e du r e s r e m o t a s si o c o n s t r u çõe s de a l t o n f v e l qu e s e e n c a i x a m 
bem n a
: i lo s o f i a d a s l i n g u a ge n s b lo c o e s t r u t u r a d a s D o po n t o de v i s t a do SO
, 
a s p r o c e du r e s r en l
o tas sa
o
Scanned by CamScanner
C a p f t u l o 1 3 C o n s id e r a çö e s C o m p le m e n t a r e s 17 3
a d e q u a d a s p a r a s Äe ma s d i s t r i h u ó s p Ä s a i n i p lc m e n t a ç o é r c a ó a d a e m t e m o s de
m e c a n i s m o s s i m p l e s d e r o c a d c m e n s a g e n s
13
. 
6 S o b r e o d e s e n v o l v i m e n t o d e a p l i c a çõ e s p r á t i c a s
A l i n g u a ge m V 4 u t i l i z a d a n e s t e l i v r o p o s s u i s i n t a x e s i m p le s , s e m ân t i c a c l a r a , bo a s f a c i l i d a d e s d e
de p u r a ç ão , p e r m i t e p r a t i c a r c o m o s p r i n c i p a i s m e c a n i s m o s d e c o n t r o l e e x i s t e n te s e , po r t a n t o é
ó t i m a p a r a o s f i n s a c a dêm i c o s a q u e s e d e s t in a C o n t u do , e l a n ão é a d e q u a d a pa r a o
de s e n v o l v i m e n t o d e s o f t w a r e (a p l i c a çMe s ) O s t i p o s de d a d o s s ão l i m i t a d o s (p o r e x e m p l o , n ão
e x i s t e m r e a i s
, 
v a r i áv e i s e s t r u t u r a d a s o u p o n t e i r o s ) e n ão há p r e o c u p a ção c o m a s pe c t o s d e
e f i c i ên c i a C o m o t a l
, 
o d e s e n v o l v i m e n t o d e a p l i c a çMe s p r át i c a s t e r á q u e s e r fe i t o u t i l i z a n d o a
t e c n o l o g i a d i s p o n í v e l n o m e r c a d o
E s t e l i v r o e n s i n o u v ár i a s f e r r a m e n t a s
, 
to d a s b e m d e f i n i d a s e t e o r i c a m e n t e j u s t i f i c a d a s
A l é m d i s s o
, 
e n s i n o u a s s o l u çMe s d o s p r o b l e m a s d e s i n c r o n i z a ç ão e c o m u n i c a ç ão q u e c o s t u m a m
s u r g i r n a p r át i c a , o s q u a i s s ão r e p r e s e n t a d o s p e l o s q u a t r o p r o b l e m a s c l ás s i c o s d a p r o g r a m a ç o
c o n c o r r e n t e R a r a m e n t e
, 
u m p r o b l e m a p r át i c o de i x a r á d e s e e n q u a d r a r e m u m d e s s e s q u a t r o
m o d e l o s (p o r i s s o , a l i á s , e l e s s ão c o n s id e r a d o s p r o b l e m a s c l ás s i c o s ) E e s s e s p r o b l e m a s f o r a m
s o l u c i o n a d o s c o m t o d o s o s p r i n c i p a i s p a r a d i g m a s d e p r o g r a m a ç ão I s t o s i g n i f i c a q u e o b o m
a p r o v e i t a m e n t o d o c o n t e ú d o d e s t e l i v r o d a r á o p r e p a r o n e c e s s ár i o p a r a o 
d e s e n v o l v i m e n t o d e
q u a l q u e r t i p o d e a p l i c a ç ão p r át i c a Po r o u t r o l a d o , a v i s o g e r a l d o s p r o
b l e m a s d a s f e r r a m e n t a s e
do s p a r a d i g m a s d e p r o g r a m a ção , a q u i a p r e s e n t a d a , p e r m
i te q u e o e s t u d a n t e t e n h a u m a o p i n i i io
c r í t i c a s o b r e a ár e a , o q u e v a i s e r m u i t o i m p o r t a n t e p a r a o s e u s u c e s s o q u a n d o e le e s t
i v e r
e n v o l v i d o n o p r o j e t o d e a p l i c a çMe s c o n c o r r e n t e s
É i m p o r t a n t e r e s s a l t a r q u e o e m b a s a m e n t o f or neci do p o r e s t e l i v r o i n d e pe n d e d o t i p o d a
a r q u i te t u r a q u e o c o m p u t a d o r v e n ha a a p
r e s e n t a r T a n t o f a z te r s e u m a a r q u i t e t u r a s i m p l e s Ti po
m áq u i n a d e v o n N e w m a n 
6 8
, 
u m a a r q u i te t u r a d i s t r i b u íd a o u u m a a r q u i [ e [ u r a p a r a c o m p u t a ç ii u d e
a l t o d e s e m p e n h o C o m o e m b a s a m e n [ o a
dq u i r i d o n o s e r á d i t te i l a p r e n d e r o u s o J e n o v a s
f e r r a m e n t a s o u s e a d a p t a r a n o v o s c o n t e x t o s e a 1Tl
b ie n l e s d e d e s e n v o l v i m e n t o
13
. 
7 M o d e l o s d e p r o g r a m a s d i s t r i b u íd o s
U m p r o g r a m a d i s t Ti b u íd o ( o u p u r a l c l u ) é c u 1t 1pu s t ü p u r p r
w e s s o s L u 1n u 11l c a n t e s e x e r u t a d u s e m
p r o c e s s a do r e s d i l c r e n t e s , q u e t u u pe r a i ì ì e l l t r e s
i pa n 1 a 1l 11p l c l l w n t i Bç i iL) u i l m d p l 1L a q
ii o t p o r
e x e m p lo . a r e a l i z a ç ão d e u m c i 1L u 1u c ie n l i > I u u
a i 11\p le m c n m c i iu J c u 111 s 1s l e m a d e u t e n J i m c n l u
üB M áqu i m c o m u m p r o c e s s a d o r e u m m ó d u
lo d e m e m ó r i a
Scanned by CamScanner
a ï 1
174 Si s t e m a s o pe r a c i o n a i s e p r o g r a m a ç1o Co n c o r r e n te S S T o s c a n
i
, 
R S d e O l i v e i r a e A Si ysj mj
O s m o d e lo s q u e c o s t u m a m s e r u t i l i z a do s p a r a o d e s e n v o l v i m e n t o de p r o gr a m a s
d i s t r i bu íd o s s ão r e s u m id o s a s e g u i r
D i v i s o e c o n q u i s t a
E s t a téc n i c a c o n s i s t e e m di v id i r u m a t a r e f a e m s u b t a r e f a s m e n o r e s , d o m e s m o t ip o
, 
e c ï i ar
p r o c e s s o s f i l ho s p a r a e x e c u t a r e s s a s s u b ta r e f a s O s f i lho s e x e c u t a m e d e v o l v e m o s r e s u l t ado s ao
p r o c e s s o p a i qu e c o m b i n a o s r e s u l t a do s ge r a n do o r e s u l t a do da t a r e f a o r i g i n a l
p ip e 1i n e
U m p íp e t i n e é f o r m a do p o r u m c o n ju n t o o r de n a do de p r o c e s s o s q u e t r o c a m i n fo r m a çõe s e m u m
f l u x o c o n t ín u o (t i po l i n ha de m o n t a g e m ) p a r a e n v i a r d a do s a u m p r o c e s s o e m o u t r o p r o c e s s ado r ,
o p r o c e s s o r e m e t e n t e a g r u p a o s d a d o s e o s r e m e t e O p r o c e s s o r e c e b e d o r e x tr a i o s da do s da
m e n s a g e ñ o s p r o c e s s a e e n v i a o r e s u l t a do p a r a o p r o c e s s o s e gu i n te n o p ip e t i n e
M e s t r e / es c r a v o
O p r o g r a m a é o f g a n i z a d o de f o r m a a s e r c o n s t i t u ído p o r u m p r o c e s s o (o m e s t r e ) qu e e x e c u ta
p a r t e d a t a r e f a e d i v i d e o r e s t a n t e e n t r e o s d e m a i s p r o c e s s o s (e s c r a v o s ) C a d a e s c r a v o e x e c u ta
s u a t a r e f a e e n v i a o s r e s u l t a do s a o m e s t r e
, qu e e n v i a u m a n o v a t a r e f a p a r a o e s c r a v o
P o o l d e t r a b a l h o
U m c o n j u n t o d e t a r e f a s é de p o s i t a do e m u m a ár e a a c e s s ív e l a o s p r o c e s s o s c o m po n e n te s do
p r o g r a m a d i s t r i b u íd o C a d a p r o c e s s o r e t i r a u m a t a r e f a e a e x e c u t a E s t a f a s e s e r e pe te a té qu e
t o d o o c o n j u n t o d e t a r e f a s s e j a e x e c u t a do
1 l 1 
F a s e s p a r a l e l a s
O p r o g r a m a d i s t r i bu ído é f o r m a do p o r f a s e s , s e n do n e c e s s ár i o q u e t o d o s o s p r o c e s s o s te r m in e m
u m a fa s e p a r a c a da u m p o de r p a s s a r à s u a f a s e s e gu in t e M e c a n i s m o s de s i n c r o n i z a ç o t i po
ba r r e i r a d e v e m s e r u s a do s pa r a qu e u m p r o c e s s o e spe r e pe lo s de m a i s p a r a e n t o pa s s ar à fase
s e g u i n te
N o q u e s e g u e s e r á f e i to u m r e s u m o da te c n o l o g i a a t u a l pa r a o de s e n v o l v i m e n to 
de
a p l i c a çõ e s c o n c o n . E n te s Es t a te c n o lo g i a de pr o g r a m a ção é u t i l i z a da in c l u si v e n a s a rcl u i te ru r as
(pa r a p r o c e s s a m e n t o ) de a l t o de se m pe n ho I s to pe r m i t i r á c o n s t a t a r qu e n i lo e x is te qu a lqu er
n o v ió de e m r e l a ção a o s m e c a n i s m o s e s tu da do s n e s t e l i v r o
13
. 
8 C o n c o r r ên c i a e m a r q u i t e t u r a s a v a n ça d a s
A t u a l m e n te
, 
a s a r q u i t e [ u r a s e m v o g a pa r a o p r o c e s s a m e n to de a l to de s e m pe n ho s ão o s a g r
e gado s
de c o m p u t a d o r e s (c l u s t e r s ), a r q u i t e t u r a s c o m po s t a s po r d i v e r s o s c o m p u ta do r e s a u [ôn o m o s n
ão
r a r o d o t a do s de 2 o u 4 p r o c e s s a do r e s
, 
o s c ha m a do s sy m m e t r i c M u l t i p r o c e s s o r s (s M
Ps)
iC O S 02 ] O s u c e s s o de s s a s a r q u i te t u r a s de v e s e a o f a to de l a s s e r e m v e r s áte i s e apr ese n ta r c 
I Ï1
Scanned by CamScanner
C a p f t u l o 13 C o n s id e r a ç õ e s lÆ e 1n e n t a r e s 17 5
b a i x o c u s t o E s t e t i po d e c o n f i g u r a ção d e h a r d w a r e p e r m i t e e x p l o r a r a c o n c o r r ên c i a e m do i s
n f v e i s : d e n t r o de c a d a n ó ( i n t r a n ó ) e e n t r e o s d i f e r e n t e s n ó s ( i n t e r n õ )
N a s s e ç õ e s q u e s e g u e m s e r ão a p r e s e n t a d a s a s t r ês p r i n c i p a i s fe r r a m e n t a s u t i l i z a d a s p a r a
a p r o g r a m a ç ão c o n c o r r e n t e e m a g r e g a d o s de c o m p u t a d o r e s : P t h r e a ds (1h r e a d s PO S I X ) , P a r a t te t
Vi r t u a l M a c h in e (P V M ) e M e s s a g e P a s s i n g l n t e r jb c e (M PI ) A p r i m e i r a é v o l t a da p a r a
a r cl u i t e t u r a s c o m m e m ó r i a c o m p a r t i l ha d a , s e n do a de qu a da , po r t a n t o , p a r a a c o n c o r r ên c i a i n t
n ó A s o u t r a s d u a s s ão v o l t a d a s p a r a a r q u i t e t u r a s d i s tDb u ída s (o u e m r e d e ) , s e n do a de q u a da s
po r t a n t o , p a r a a c o n c o r r ên c i a e n t r e d i f e r e n t e s n ö s
13
. 
9 F o r m a s d e i m p l e m e n t a r l fzr e a d s
R e c o r d a n d o
, 
a m u l t i p r o g r a m a ç ão c o m t l1r e a d s (m u l t i l h r e a d i n g ) o u m u l t ip r o g r a m a ção le v e
"
,
p e r m i t e q u e o s p r o g r a m a s s e j a m e x e c u t a d o s c o m d e s e m p e n ho b a s t a n t e s u p e r i o r a o q u e s e r i a
o b t i d o c o m u m a " m u l t i p r o g r a m a ç ão pe s a d a
" (i s t o é , m u l t i p r o g r a m a ção a t r a v és d e p r o c e s s o s
c o n v e n c i o n a i s
, 
n o s q u a i s e x i s t e u m a ún i c a l i n h a de e x e c u ç ão )
N o c a s o d e s e t e r m u t t i t h r e a d in g d e n t f o d e p r o c e s s o s , e s te s s e t o m a m u m p o u c o m a
i s
pe s a d o s E m c o m pe n s a çã o , u m a a p l i c a ção i m p le m e n t a
d a po r u m ún i c o p r o c e s s o c o m N t h r e a d s
(m u l t i p r o g r a m a ç ão l e v e ) s e r á m a i s le v e q u e a m e s m a a p l i c a ção i m p le m e n t a d a p o r N p r o c e s s o s
c o n v e n c i o n a i s (m u l t ip r o g r a m a ção pe s a d a )
u m a q u e s t ão i n t e r e s s a n t e d i z r e s p e
i t o a g r a n u l a r i d a de 
69 
q u e p o d e s e r o b t i d a c o m o s d o i s
t i p o s d e m u l t i p r o g r a m a ção C o m o a
s t h r e a d s s ão m e n o s o n e r o s a s e l a s p e r m i t e m q u e o
p r o g r a m a d o r d e s c r e v a s u a a p l i c a ç
ão c o m u m m a i o r n ú m e r o d e a t i v i d a d e s c o n c o r r e n t e s s e m a
pe r da s u b s t a n c i a l de d e s e m pe n
ho q u e s e r i a v e r i f i c a da c a s o e s s a m e s m a de s c r i ção f o s s e 
f e i t a
a t r a v s d e p r o c e s s o s c o n v e n c i o n a
i s N a m u l t i p r o g r a m a ção l e v e , a g r a n u l a Dd a de é de f i n id a e m
t e r m o s d e p r o c e d i m e n to s c o n c o r r e
n te s
, 
e n q u a n t o q u e n a m u l t i p r o g r a m a ç îi o pe s a d a a
g r a n u l a r i d a d e é d e f i n i d a e m t e r m o s 
de p r o g r a m a s (o u m ód u l o s ) c o m p l e t o s I s t o s ig n i tì c a q u e a
m u l t i p r o g r a m a ç ão l e v e pe r m i t e m
a i o r g r a n u l a r id a de q u e a m u l t i p r o g r a m a çào c o 1T1 p n x e
s s o s
c o n v e n c i o n a i s C o m o a u m e n t o d a c a pa c
id a de de e x e c u ção pa r a le l a d a s m áq u i n a s é m u i t o
c o n v e n ie n t e te r s e g r a n de g r a n u l a r i da de
O s u po r t e pa r a th r e a d s ( f e r r a m e n t a s pa r a c r
i a ç ão e s i n c r o n i z a qüo d e 1h r e ( u 1s ) po de s e r
o f e r e c i do d i r e t a m e n te pe l o h a r d w a r e (o u Jï n r 1w a r e ) , pe lo s i s te m
a o pe r a c i o n a l ( n o r m a l m e n te po r
s e u k e r n e l ) o u p o r b i b l i o t e c a s e s p e c i a l i z a d a s , i n t e g r a
d a s o u n ño a o s is t e 1n a o pe r a c i o n a l N o c a s o
do s s i s t e m a s So l a r i s , A I x e L i n u x , a s t h r ¬ a
ds s o d i s p o n i b i l i z a da s po r b i b l i o te c a s p
r ó pDa s do
s i s t e m a N o c a s o d o s s i s t e m a s M i n i x e w i n d o w s 
95/ 9 8
, 
a p r o g r a m a qüo c o m t h r ¬ a d s po s s
: v e l
a u a v s d e b i b l i o t e c a s n o i n t e g r a da s a o s i s t e
m a o pe r a c io n a l O f a to de s e r e m o u n
o
= M a io r w a n u l a r ida d e l i 吕 n i f i c a m a i r n k m e r
o de w =o s , de m e n o r t a m a n
ho
Scanned by CamScanner
176 Si s t e m a s O pe r a c io n a i s e P r o g r am o Co n c o r r e n t e S S T o s c a n i , R S de O l i v e i r a s Sssi mj
d i s p o n i b i l i z a da s d i r e t a m e n te pe lo s i s te m a o pe r a c i o n a l in n u i d i r e t a m e n t e n a f o r m a c o m o o s
p r o g r a m a s s o e x e c u t a do s e
, p o r t a n t o , n o de s e m pe n ho
A s d u a s m a n e i r a s bás i c a s de im p le m e n t a r o c o n c e i to d e t h r e a d po de m s e r c a r a c t e r i z adas
pe l a fo r m a de e s c a lo n a m e n t o do p r o c e s s a do r tO L I 0 1] N a p r i m e i r a , o s i s t e m a o pe r a c io n a l
s u p o r t a a pe n a s p r o c e s s o s c o n v e n c io n a i s
, 
i s t o é
, p r o c e s s o s c o m u m a ú n i c a th r e a d O c o n c e i to de
1l zr e a d é e n t ão i m p l e m e n t a d o pe lo p r ópDo p r o c e s s o a p a r t i r de u m a b ib l i o te c a l iga da ao
Pr o g r a m a d o u s u ár i o D e v id o a e s s a c a r a c t e r fs t i c a
, 
th r e a ds i m p l e m e n t a da s de s s a fo r m a são
d e n o m i n a d a s d e t l 1r e a d s d o n ív e l d o u s u ár i o (u s e r l e v e l th r e a ds ) N o s e gu n do c a s o
, 
o s is tem a
o p e r a c i o n a l s u p o r t a d i r e t a m e n te o c o n c e i t o de 1/1r e a d A g e r ên c i a d e f lu x o s d e e x e c u ção pe lo
s i s t e m a o p e r a c i o n a l n +io é m a i s o De n t a d a a p r o c e s s o s m a s s i m a t ì zr e a d s A s th r e a d s qu e s e gu e m
e s s e m o d e l o s ão d i t a s th r e a d s do n ív e l d o s i s t e m a (ke m e t th r e a ds )
O p r i m e i r o m ét o d o é c o n he c ido po r N 1 (m a n y t o o n e ) A p r i n c ip a l v a n t a ge m é o fato
d e a s t l 1r e a d s s e r e m i m p l e m e n t a d a s e m e s p a ço de u s u i o , n ão e x i g i n d o n e n hu m a i n t e r a ção c o m
o s i s t e m a o p e r a c i o n a l 0 c h a v e a m e n t o d e c o n te x t o é m a i s r áp i do e o c u s t o p a r a c r i ação e
d e s t r u i ç ão é z e r o (d o p o n t o de v i s t a do s i s t e m a o pe r a c i o n a l ) A b ib l i o te c a é r e s po n s áv e l pe la
d i v i s ão
, 
e n t r e a s t h r e a d s
, 
d o t e m p o a l o c a do a o p r o c e s s o O s i s t e m a o p e r a c i o n a l p r e o c u pa s e
a pe n a s e m d i v i d i r o t e m p o d o p r o c e s s a do r e n t r e o s d i fe r e n t e s p r o c e s s o s A de s v a n t a ge m de ss e
m ét o d o é q u e a s t h r e a ds s ão e fe t i v a m e n t e s i m u l a da s a p a r t i r d e u m ú n i c o f l u x o de e x e c u ção
p e r t e n c e n t e a u m p r o c e s s o c o n v e n c i o n a l C o m o c o n s e qü ên c i a , q u a l q u e r pa r a l e l i s m o r ea l
d i s p o n : v e l n o c o m p u t a do r n ão p o d e s e r a p r o v e i t a do a n : v e l de t h r e a d O u t r a c o n s e q i lên c i a é qu e
u m a o p e r a ç ão de E / S e m u m a t h r e a d v a i b l o qu e a r t o d a s a s th r e a ds do p r o c e s s o
O s e g u n d o m ét o d o é d i t o 1 : 1 (o n e l o o n e ) E1e r e s o l v e o s do i s p r o b l e m a s m e n c io n ado s
a c i m a a p r o v e i t a m e n to d o p a r a l e l i s m o r e a l d e n t r o de u m ún i c o p r o g r a m a e p r o c e s s a m e n to j u n to
c o m E/ S Pa r a i s s o s e r po s s ív e l , o s i s te m a o pe r a c i o n a l de v e s e r p r o je t a do de f o r m a a c o n s ide r a r a
e x i s tên c i a d e 1/ ï r e a ds c o m pa r t i lh a n d o o e s pa ço de e n de r e ça m e n to do p r o c e s s o ho s pede i r a As
o pe r a çõ e s r e l a c i o n a da s c o m a s t /t r e a ds p a s s a 】T1 n e c e s s a r i a m e n te po r c ha m a da s a o s is tem a
o p e r a c i o n a l , o q u e t o m a rh r e a ds t i po 1 : 1
"
m e n o s le v e s " (pa r a o s i s t e m a o pe r a c io n a l) qu e thn r ads
d o t i p o N l E s te m o de l o é u t i l i z a do , po r e x e m p l o , n o s i s t e m a L i n u x
, q u e t a m bém o f e u
n i a
b ib l io t e c a p a r a o m o d e l o N l
E x i s te u m m o de l o m i s to qu e c o m b in a a s d u a s a bo r da ge n s , c ha m a do M N (m a l BT
w
 
I ; m a n y ) N e s te m «»de lo , o i n te r i o r de c a d a p r o c e s s o c o m po r t a N th r e a ds s i s te m a , de n t ro da s qu a
is
de v e m s e r " a bDg a da s " a s M 1/t r e a ds u s u t[r i o qu e c o n s t i tu e m a a p l ic a çño (i s to é , o c o ï \j u n t o das 
M
th r e a d s do p r o g r a m a de v e s e r pa r t ic i o n a do e d i s t r i bu id o e n t r e a s N t h r e a ds do s i s te m a ) Es
se
m ét o do p o s s u i e s c a l o n a m e n t o n o s d o i s n ív e i s o s is te m a s o l a r i s o fe r e c e e s te m o de
lo de
e x e c u ção d e th r e a d s , u t i l i z a n do t ig t l1 w e lg ì1t p r o c e s s e s , a s L W p s [p O W 9 1 ] 
N a l i n g u a g e m V 4 , po d e s e d i z e r qu e é u t i l i z a do o m o de l o N 1
, p o i s , do po n t
o de v ist
a
do s o
, 
e x i s t e u m ú n ic o p r o c e s s o D e f a t o , po r ba i x o d e t u do
, 
o qu e s e te m é u m a m
b ie n te de
Scanned by CamScanner
Ca p f t@ 13 c o n s id e r a çõ e s c o m p le m e n t a r e s
e x e c u ç ão P r o l o g , j á q u e , n a v e r s o a t u a l
, 
o s i s te m a f o i t o d o p r o g r a m a d o e m S W I p r o l o g
[SW I 0 3 ] O s p r o c e s s o s , 1/1r e a d s e t a s ks s o r e p r e s e n t a d o s po r e s t r u t u r a s d e d a d o s p r o l o g e o
e s c a l o n a m e n t o d a e x e c u ç ão d e s s e s c o m p o n e n t e s é i m p le m e n t a d o p e lo p r o g r a m a P r o lo g So b r e
a s t h r e a d s V 4 , t a l v e z s e j a i n t e r e s s a n t e r e f e r i r o s e g u i n t e C o n f o r m e fo i v i s t o , e m V 4 , a
p r o g r a m a ç ão m u t r i th r e a d p o de o c o r r e r de n t r o de t a s ks o u d e n t r o d e p r o c e s s o s A m b a s a s
e s t r u t u r a s p e r m i t e m a d e f i n iç ão d e m ú l t ip l o s f l u x o s de e x e c u ç ão C o n t u d o , n a s v e r s õe s i n i c i a i s
de V 4
, 
a s r l zr e a d s s ó p o d i a m s e r c Da d a s d e n t r o de ta s ks 7o E s t a e s c o l h a s e j u s t i f i c a v a e m a s pe c t o s
d id á t i c o s
, po i s i s t o f a c i l i t a v a a a p r e s e n t a ção d o s m o de l o s de p r o g r a m a ção (p o r e x e m p l o , q u a n d o
s e d i s c u t e o c o n c e i t o d e m o n i t o r
, 
a s e n t id a d e s i m p o r t a n te s s ão o s m o n i t o r e s e o s p r o c e s s o s e
n ào a s t ï1r e a d s o u t a s k s )
13
. 
10 P t h r e a d s
O p a d r ão (o u n o r m a ) P O S I X 100 3 4 d a I E E E s e p r e o c u p a c o m o d e s e n v o l v i m e n t o d e
f e - e n t a s p a r a a p r o g r a m a ç ão c o m t h r e a d s O p a d r ão e s p e c i f i c a u m a i n t e r f a c e a s e r o f e r e c i d a
(p e l o f a bD c a n t e q u e d e s e j a r s e g u i r e s s e p a d r ão ) p a r a o de s e n v o l v i m e n t o d e a p l i c a ç Me s c o m
1h r e a d s C o m o e s s e p a d r ão é u t i l i z a d o p o r v ár i o s s i s t e m a s , a s a p l i c a çMe s d e s e n v o l v i d a s s e g u n d o
o m e s m o t e r ão b o a p o r t a b i l i d a de
A s fe r r a m e n t a s s ão de f i n i d a s p a r a u s o a t r a v és d a s l i n g u a ge n s C e C + + C o m o t a l . a
s i n t a x e n ão é m u i t o a m i g áv e l e o u s o de po n t e i r o s é a b u n d a n t e A q u i n ão h a v e r á p r e o c u p a ç ão
c o m a s p e c t o s s i n t át i c o s
A b i b l i o t e c a P t h r e a d (o n de 0 P s i g n i f i c a PO S I X ) d i s p o n ib i l i z a u m c o n j u n t o de t i po s p
de f i n i d o s q u e d e v e m s e r u s a d o s p a r a de f i n i r a s e s t mn t u r a s u t i l i z a d a s p e l o p r o g r a m a E n t r e o s t i p o s
p r é de ' n id o s t e m s e p t h r e a d 1, p th r e a d a l t r 【, p t h r e a d m u t e x 1, e p t h r e a d c o n d t O t i p o
p t h r e a d a i 1r t c o r r e s p o n d e a u m a e s t r u t u r a o p a c a , i s t o é , u m a e s t r u t u r a c u j o s c a m po s n ão p o d e m
s e r m a n i p u l a d o s d i r e t a m e n t e pe lo u s u ár io , m a s s
i m a t r a v és de u m c o n j u n t o d e p r i m i t i v a s d o
s i s t e m a O t i p o p t h r e a d a l l r 1 é u s a do pa r a c r i a r u m 
b l o c o d e s t r i t o r (d e a t r i b u t o s ) q u e i n +
c a r a c t e r i z a r u m a t h r e a d d o p r o g r a m a (c a d a 1/1r e a d t e r á o s e u c o n j u n t o d e a t r i b u t o s )
A s e g u i r s ão r e s u m i d o s a lg u n s do s p r i n c i p a i s s e r v
i ço s d e t i n id o s pe l u pa J 1ñ u PO S I X
100 3 4
M a n i p u l a çã o d e t l i r e a d s
O s m e c a n i s m o s p a r a c r i a ç ão e s i n c r o n i z a qüo d e t h r e a d s s il o de s c r
i t o s a s e g u i r
7o N a s Bt Bs k r a s t h r e a d s s ao r e a l m e n t e n e c e s s * r i a s , po i l s e m e l a s n üo s c po
d e i m p le m e n 1a r n ao d e te r m i n is m o ( l e m b r e
qu c n äo e x i s t e o c o m a n d o s e l e r l ) N o s p r o c c s s o l W a s t h r e u t b n ao s ao n e c e s s ür ia s
Scanned by CamScanner
178 s i s t e 1n a s o pe r a c i o n a i s e Pr o g r a m a ç i0o C o n c o r r e n t e S S T o s c a n i R S de O l i a e A s Ca r i ssim i
D e f 1n i ç o d o c o r p o d e u l 11a I / ï r e a d
0 c o n ju n t o d e i n s t r u çõe s a s e r e x e c u t a do po r u m a t h r e a d é de f in i «lo po r u m a f u n ção C o u po r u mm é t o d o C + + A f u n ção o u o m ét o d o qu e de f i n e o c o m p o r t a m e n t o d a t h r e a d (fu n çã o c o l p o ) po der e c e b e r p a r âm e t r o s 7 r e s e m p r e r e to m a u m v a l o r O v a l o r de r et or no é u m p o n t e i r o p a r a o dadoq u e c o n s t i tu i 0 v a l o r de r et or no p r o p r i a m e n te d i t o Se n ão há da do de r et or no
, 
e n tão 0 po n te i r o éN U L L
C r i a ç i i o d e u m a t ì i r e a d
A c r i a ç ão s e d á a t r a v és da p r i m i t i v a p t h r e a d c r e a t e
, q l i e p o s s u i 4 a r g u m e n to s
, 
o s qu a i s sãod e s c r i t o s n o s p a r ág r a f o s a s e g u i r E s t a p r i m i t i v a r e t o m a o (z e r o ) s e a n o v a th r e a d é c r i ada c o m
s u c e s s o N o f i n a l d a e x e c u ção d a t h r e a d
, 
s e a s u a f u n ção c o r p o r e to m a r a l g u m d a do
, 
e s s e dado
s e r á r e c u p e r a d o p e l a p r i m i t i v a j o in , q u e s e r á v i s t a a d i a n t e
O Pr i m e i r o a r gu m e n t o de p t / t r e a d c r e a t e é o e n de r e ço d e u m a v a r i áv e l qu e i r á r e c ebe r ai d e n t i f i c a ç îi o ú n i c a d a 1/1r e a d 7z c r i a d a
O s e g u n d o a r g u m e n t o
, 
é u m p o n te i r o p a r a u m d e s c D t o r d e a t r i b u t o s d a t h r e a d s e e s te
Po n t e i r o é N U L L
, 
s ìio u t i l i z a d o s a t r ib u t o s d e l a u h U m d o s a t r i b u t o s d i z s e a i b r e a d é do t ipo
" j o i n a b l e " ( i s t o é
, 
s e e s s a t ìzr e a d s e s i n c f o n i z a c o m o u t r a a tn 1v és d e o p e r a ç ìio j o in ) Se f o r o c a so ,
a á r e a d e d a d o s d e s s a t / t r e a d s ó s e r á l ibe r a d a a p (i s a e x e c u ção d a p r i m i t i v a j o in , o c a s i ão e m qu e o
v a l o r r e t o m a do p e l a t l 1r e a d s e r á r e c u pe r a do O u t r o a t r i b u t o i n d i c a a p o l í t i c a de e s c a l o n a m e n to a
s e r u s a d a
, 
a q u a l p o de s e r F I F O
, 
R R (R o u n d R o b i n ) o u OT H ER (qu e c o r r e s p o n de à po l ític ad e fa u t t d a b i b l i o t e c a )
O te r c e i r o a r g u m e n to i n d i c a a f u n ção qu e c o n s t i tu i o c o r p o d a t h r e a d A m e s m a f unç
c o r p o p o d e s e r u s a d a p a r a c r i a r v ár i a s th r e a d s
Fi n a l m e n t e
, 
o q u a r t o a rg u m e n t o é u m po n t e i r o p a r a a fir e a d e m e m ó r i a qu e c o n t m os
p a r âm e t r o s d e e n t r a da pa r a a f u n ção c o r p o d a t /zr e a t t
T ér m i n o d e u n i a 1l zr e a l l
O tér m i n o s e dá a o f in a l d a e x e c u ç o da I' u n ção c o 中 d a 1/zr e a d
, 
t i p ic a m e n te a t r a v és de 
u n l
c o m a n do r e t u r n Al t ernat i vament e a o r e 1u r n
, 
o p r o g r a m a do r po de u s a r a p r i m i t i v a p 1h r r t 1d
e ei1
q u e t e m c o m o a r g u m e n to u m po n te i r o pa r a o v a l o r de r e t o r n o d a 1/Br e a d
Si n c r o n 1z a çã o d a e x e e u ç o d e i l l r e a d s
A Pr i m i t i v a P1/ t r e a d j o in po s s u i d o i s a rg u m e n t o s El a b lo q u e ia a 1/ t r e a d q u e a e x e c u ta , a t q
ue
te r m i n e a t h r e a d e s p e c i f i c a da e m s e u p r i m e i r o a r gu m e n to (e s t e a r g u m e n t o é u m a ide n t i f ic aç
 
o
7 1 N a v e r d a de
, 
 u m ún i c o pa r am e t r o q u e a po n t a pa r a u m a l i s t a de a rgu m e n t o s" Ca s o s e fa ça n e c e s s ár io
, 
u m a t h r e a d po de t e r a c e s s o à s u a pM p r i a ide n t i fi c a çao a t r a v es da p r i m i t i v a p 1/1 r e
a d s t
Scanned by CamScanner
Capt ul o 13 C o n s id e r a çö e s C o m p le m e n t a r e s 179
de t h r e a d ) O s e g u n d o a r g u m e n t o p e r m i t e r e c e b e r o d a d o r et or nado pe l a (f u n çãc Þ c o r po d a )
t h r e a d , q u a n d o a m e s m a t e r m i n a
C o m p a r t i l h a m e n t o d e d a d o s
A s e gu i r s ão a p r e s e n t a d o s o s m e c a n i s m o s de f i n i do s pe l o pa dr ão p OS IX p a r a c o o r dm a r o
c o m p a r t i l h a m e n t o d e d a d o s e n t r e a s th r e a ds de u m p r o c e s s o
v a D áv e i s t i p o m u t e x
U m a v a r i áv e l m u t e x p o d e s e r v i s t a c o m o u m s e m á fo r o b i n ár i o c u ja s o pe r a çõe s P e V pa s s a m a
s e r d e n o m i n a d a s l o c k e u n l o c k
, 
r e s pe c t i v a m e n t e A s pDm i t i v a s p a r a m a n i pu l a ção de v a r i áv e i s
m u t e x s ão a p r e s e n t a d a s a s e gu i r
A p D m i t i v a p t h r e a d m u t e x i n i t pe r m i te d e f i n i r (i s t o é , c D a r e i n i c i a l i z a r ) u m a v a r i áv e l
t i p o m u t e x São n e c e s s ár i o s d o i s a r gu m e n t o s O p D m e i r o de f i n e o n o m e d a v a r i áv e l e o s e g u n d o
o s e u v a l o r i n i c i a l
, q u e p o d e s e r a be r 1o o u Te c ha d o Se o s e g u n do a r g u m e n t o fo r N U L L , o v a l o r
i n i c i a l s e r á a b e r t o (v a l o r d e fa u l t )
A s p D m ì t i v a s p t h r e a d m u t e x lo c k e p t ï1r e a d m u t e x u n lo c k p o s s u e m u m ún i c o
a r gu m e n t o , q u e é o n o m e d a v a r i áv e l m u t e x e n v o l v i da n a o pe r a ção A s e n 落 l1l t i c a d e s t a s
o pe r a çõ e s é a m e s m a d a s o p e r a çõe s P e V s o b r e u m s e m áf o r o b i n ár i o V a l e o b s e r v a r q u e e s t a s
o p e r a çö e s ( l o c k l u n to c k ) t a m bém s ão e q u i v a l e n t e s às o pe r a çõe s m u t e x b e g i n / m u t e x e n d
pa r a m e t r i z a d a s
V a r iáv e i s d e c o n d iç o
E s t a s v a r i áv e i s f o r a m f o r t e m e n t e i n s p i r a da s n a s v a r i áv e i s do t ip o c o n d i t i o n d e m o n i t o r e s A l iás .
o pe r a çõe s s o b r e e s t a s v a r i áv e i s s ó de v e m s e r e
x e c u t a da s de n t r o de s e çöe s c r f t i c a s p r o t e g i da s po r
o pe r a çõ e s l o c k e u n l o c k , s o b pe n a de r e s u l t a
do s i m p r e v i s f v e i s s e r e m o b t i do s
A p r i m i t i v a p 1h r e a d c o n d i n i t de
f i n e e i n i c i a l i z a u m a v a r i áv e l do t i p o c o n d i t i o n S* o
n e c e s s ár i o s do i s a r g u m e n t o s O p r i m e i r o é o n o
m e d a v a r i áv e l a s e r c r i a d a e o s e gu n d o u m
po n te i r o p a r a s e u s a t r i b u t o s (s e N U L L , v a l o r e s de la u l t s ão u t
i l i z a d o s )
A p r i m i t i v a p t h r e a d c o n d w a i t po s s u
i do i s a r g u m e n t o s : o n o m e da v a r i áv e l c o n d i1io n
e n v o l v i d a n a o pe r a ção e o n o m e de u r n a v a r i
áv e l m u re x a s s o c i a da , q u e de v e te r s i do c h a v e a da
(l o c k ed ) an te D o r m e n t epe l a p r ó p r i a l r he a d qu e e s t a e x e c u t a n
do o w a i t (i s t o . o m u 1¢ x
e spe c i f i c a do n o s e g u n do a r g u m e n t o de v e e s t ar 
de po s s e s o b o c o n t r o l e
d a t h r e a d q u e e s t a
e x e c u t a n do o w a i l ) c o m o n o s m o n i t o r e s , e s t a p r i m i t i v a b l o q u e
i a in c o n d i c i o n a l m e n t e a t h r e a d
qu e a e x e c u t a (a q u a l f i c a à e s pe r a de u m a s i n a l i z a ç o ) e 
l i be r a o m u t e x e s pe c i f i c a do n o s e gu n do
a r gu m e n t o p o r t a n t o
, 
a o pe r a ç äo w a i t te m u m a 
o pe r a ç o u n l o c k i m p
l íc i t a
, qu e a t u a n o s e g u n d o
Scanned by CamScanner
180 s i s t e m a s Ð t ® i o n a i s e .i 巩画画旧 C o n c o r r e n te S S T o s c a n i , R S d e 0 l i v e i r a g Sssj mi
a r g u m e n t o Se a v a r i áv e l n BtBt e x d o s e g u n d o a r g u m e n t o n îi o e s t a de p o s s e d a t h r e a d qu e e x e c u ta o
w a i t
, 
r e s u l t a d o s i m p r e v i s fv e i s si o o b t ido s
M a i s t a r de
, q u a n d o a t h r e a d r e t o m a r d a c h a m a da p l h r e a d c o n d w a i t ( is to é
, qu a n do e la
fo r d e s b l o q u e a d a ) , a v a r i áv e l m u t e x d o s e gu n do a r g u m e n t o v a i e s t a r c h a v e a d a (l o c ke d) e so b o
c o n t r o l e d a m e s m a
A s pDm i t i v a s p t l zr e a d c o n d s ig n a l e p th r e a d c o n d b r o a d c a s t s e r v e m p a r a s in al i z af
u m a v a r i áv e l c o n d i t io n A m b a s têm u m ún ic o a r g u m e n to q u e é a v a r i áv e l c o n d i ção s in a l i z a da A
d i fe r e n ça e n t r e e l a s é qu e o s ig n a l de sb l o q u e i a a p e n a s a p r i m e i r a t h r e a d d a f i l a de e s pe r a da
v a r i áv e l c o n d i ção , e n qu a n t o o b r o a d c a s t de s b l o q u e i a t o d a s a s th r e a ds de s s a f i l a
N o c a s o d a p r i 】+1i t i v a p t l 1r e a d c o n d b r o a dc a s t , c a da u m a d a s t li r e a d s de s b l o qu e adas
,
u m a d e c a d a v e z
, 
v a i f i c a r d e p o s s e d o m u t e x e s pe c i f i c a d o n a o pe r a ção w a i t d a qu a l e la e s tii
r e t o m a n d o É c o m o s e ho u v e s s e u m a c o m pe t i ção e n t r e a s t h r e a d s d o c o n j u n t o de sb l o qu e a do
,
p e l a p o s s e de s s e m u l e x D a d o qu e a o r de m de a l o c a ção d o m u t e x é d e s c o n h e c i d a , i s t o f a z c o m
q u e c a d a t h r e a d t e n h a q u e t e s t a r a c o n d i ção s i n a l i z a d a , a qu a l po de t e r d e i x a d o de s e r v e r da de ir a
p e l a a ção d e u m a d a s t h r e a d s do c o n j u n t o de s b l o q u e a d o
Se a t h r e a d q u e e x e c u t a a o p e r a ç îio s ig n a l o u b r o a a c a s t n ão e s t á d e p o s s e d a v a r i áv e l
m u t e x q u e é l i be r a d a p a r a a (s ) t r li e a d (s ) de s b l o qu e a d a (s ) , r e s u l t a d o s i m p r e v i s f v e i s s ão o b t i do s
T a m b ém s ão o b t id o s r e s u l t a do s i m p r e v i s í v e i s s e a s t ì1r e a d s b l o q u e a d a s e m u m a v a r i áv e l
c o n d i t i o n e s pe c i f i c a m v a r i áv e i s m u t e x d i f e r e n t e s c o m o s e g u n do a r g u m e n t o d a o p e r a ção w a i l
T a l c o m o a o pe r a ção s ig n a l d o s m o n i to r e s
, 
a s o p e r a çõ e s p t h r e a d c o n d s ign a l e
p 1l i r e a d c o n d b r o a d c a s t n ão têm n e n hu m e f e i to s e a f i l a d a v a r i áv e l c o n d i çîio e s tá v az i a (as
o p e r a çõ e s n ão s ão m e m o r i z a da s )
A s e m ân t i c a c o n f u s a e a i n s e g u r a n ça da s p r i m i t i v a s (p l h r e a d c o n d w a i t , s ign a l e
b r o a a s t c o n t r a s t a m c o m a s i m p l i c id a de e a s e g u r a n ça d a s o pe r a çõ e s w a i t e s ign a l dos
m o n i t o r e s T a l c o m o o c o r r e u n a l in g u a ge m Ja v a , p a r e c e q u e o s p r o je t i s t a s do p a d r ão pOSIX n åo
to m a r a m c o n he c i m e n to d a pe s q u i s a de s e n v o l v i da n o s ú l t i m o s 25 a n o s s o b n e l i n gu a 吕 e n s de
p r o g r a m a ção p a r a le l a [B R I 99 ] 
N a v e r da de
, 
n ão s e po de di z e r q u e o c o n c e i t o de m o n i to r te n ha s ido i 吕 n o r a do \ po
is e1e
fo i fo n te d e i n s p i r a qão pa r a a s v a r i áv e i s m u t ex e c o n d i t i o n M a s
, 
s e m d úv ida , a pr e o c u paçã
o c o m
a s e g u r a n ç a da p r o g r a m a çäo fo i i g n o r a da T a l v e z n ilo t e n ha s ido pe r c e b ido , po r e x e m p
lo
, 
q t1e a
o pe r a ç o p tb r e a d c o n d b r o a d c a s t (e s u a s e m an t i c a c o n f u s a ) 6
, 
de fa t o
, 
de s n e c e s s ár i a O e
fe ito
de l i be r a r u m c o n j u n t o de t h r e a ds b lo q u e a da s e m u m a v a r i ¢i v e l c o n d i t i o n po de s e r o b t ido c o :+
1 o
u s o d a o pe r a çao s ig n a l , c o n f o r m e f o i v i s t o n o e x e m p l o da s e çao 9 8 5 (s i n c r o n iz aç o 
t ipo
r e a d e r f & w r ft e r s c o m m o n i to r e s )
Scanned by CamScanner
C a p f t u lo 13 C o n s id e r a çö e s g m p le m e n t a r e s 18 1
V a r i á v e is t i p o s e m ¢i f o r o
O p a d Jrão 100 3 4 n ão d e f i n e i n t e r f a c e d e s e r v iço s p a r a u t i l i z a ç o de s c m áfo r m
, 
m a s o pa d r ão
U n i x PO S I X o f a Po r t a n t o
, 
n e m t o d a i m p l e m e n t a ção d e p t hr e a d s i rá i n c l u i r e s te t i po de
v a r i áv e l
U m a o b s e r v a çã o f i n a l
Se o p r o g r a m a u s a o u t r a s b i b l i o t e c a s a l ém d e p thr e a d s
, 
de v e s e c u i d a r q u e e s s a s b ib l io te c a s
s e j a m d o t i p o t h r e a d s a te o u t h r e a d a w a r e u m a bib l i o te c a é t h r e a d s qj e s e e l a f o i de s e n v o l v i d a
de f o r m a qu e s e u s s e r v iço s s e j a m e x e c u t a do s c o r r e t a m e n te
, 
m e s m o q u a n d o r e q u e r i d o s po r m a i s
d e u m a t h r e a d E s t e t i p o de c o n t r o l e p o d e s e r i m p l e m e n t a do c o m u m m e c a n i s m o d e e x c lu s ão
m ú t u a (c a d a u m d o s s e r v i ç o s p a s s a a s e r u m a r e gi ão c r í t i c a ) U m a b i b l i o t e c a é t h r e a d a w a r e s e
s e u s s e r v i ço s p o de m s e r e x e c u t a d o s s i m u l t a n e a m e n t e (e c o r r e t a m e n t e ) q u a n d o r e q u e D d o s p o r
m a i s d e u m a t h r e a d
13
. 
1 1 P V M
A b ib l i o t e c a P V M (P a r a l l e l V i r 1BBa t M a c h i n e ) pe r m i t e q u e u m a m b i e n t e d e r e d e het er ogêne
q u e po d e s e r c o m p o s t o p o r u m a v a r i e d a d e de m áq u i n a s d i f e r e n t e s (d e sde p C s a t
s u p e r c o m p u t a do r e s ) , f u n c i o n e c o m o s e f o s s e u m s i s t e m a d i s t Db u fdo f o r m a d o p o r p r o c e s s a d o r e s
ho m o g ên e o s (e m r e l a ç ão a o s s e r v i ço s p r e s t a d o s ) , c o m m e m ó r i a d i s t r ib u fd a [G E I 94 ] p o r t a n t o
, 
o
PV M t r a n s f o r m a u m a r e d e he t e r o gên e a n u m a m áq u in a v i r t u a l a d e qu a da p a r a o de s e n v o l v i m e n t o
de a p l i c a çõ e s p a r a l e l a s (o u d i s t r i bu fd a s )
O s i s t e m a PV M p o d e s e r o b t ido a p a r t i r de s u a ho m e p a g e [PV M 0 1] A in s t a l a ção do
s o f tw a r e é s i m p le s , s e n do m u i to f ác i l ha b i l i t a r u m c o m p u t a do r d a r e de a s e r u s a do c o m o hm 1
PV M A pó s a i n s t a l a ç ão , d i f e r e n t e s u s u ár i o s po de m c o n f ig u r a r d i f e r e n te s m áq u i n a s v i r t u a i s n a
m e s m a r e de f r s i c a
, 
a s q u a i s i r ão f u n c i o n a r de f o r m a in de pe n de n t e E u m a m e s m a m áq u i n a v i r t u a l
po de s u po r t a r d i v e r s a s a p l ic a çðe s PV M , s i m u l t a n e a m e n te
0 m o d e l o c o m p u t a c i o n a l do PV M s e b a s e i a n a n o ç o de q u e u m a a p l ic a qäo c o n s i s te de
v ár i a s t a s k s
, 
c a da u m a r e s po n s áv e l po r u ï n a pa r t e d a c a r g a de t r a ba l ho to t a l de s s a a p l ic a çüo O
P V M pe r m i te c r i a r t a s ks (p r o c e s s o s ) a pa r t i r de a r q u i v o s e x e c u t áv e i s , q u e po de m s e r ge r a d o s a
Pa r t i r de p r o g r a m a s C o u Po r t r a n E s t e s p r o g r a m a s u t i l i z a m a s p 山村 l i v a s de c o m u n ic a ç o s e n d e
r e c e i v e p a r a i m p le m e n t a r a a p l ic a ç o d i s t r ib u id a q u e s e de s e j a A s o pe r a çö c s s e n d e r e c e i v e são
a s s fn c r o n a s
, 
m a s é po s s i v e l u s a r o r e c e i v e de fo r m a b l o qu e a n te 
73 (s l n c r o n a )
A l m d a s pD m i t i v a s de c o m u n ic a ç o m e n c i o n a d a s , a b ib l io t e c a PV M o fe r e c e f u n çöe s
p a r a
? l O e n v i o d e u m a m e n 1a ge m d c u m a c e r t a fo r 11u b lo qu e a n te po i l o e m i s s o r e s pe r a a të qu e o b lw r de e n v i o
e r 1ó Hv r e
Scanned by CamScanner
182 Sis t e m a s Ð Æ o n a i s c p r o 8 r a m a çäo Co n c o r r e n t e S S T o s c a n i , R S de O l i v e i r a e A s T u i ssim i
 I ni ci al i za ç ão e t ér mi no de t as k s PVM
* A d ição e r e m o ção de /1o s l s n a m áq u i n a v i r tu a l
 S i nc r on i za ç ão e en v i o de si na i s en t re pr oc e s s o s PVM
* O b t e n ção de i n f o r m a çõ e s s o b r e a c o n f i gu r a ção d a m áq u i n a v i r t u a l e p r o c e s so s
 E mp a c o t ame n t o e des emp a c o t ame n t o de dad o s
* D i fu s ão de m e n s a ge n s (m u l l i c a s t e b r o a d c a s t )
 C D a ç ão di nâ mi ca de gr up o s de pr oc e s s o s .
O s i s t e m a P V M é c o m po s t o de du a s p a r t e s U m a é a b ib l i o t e c a de f u n çõe s qu e f ornece
o s s e r v i ço s l i s t a do s a c i m a A o u t r a é o da e m o m
, 
c ha m a do " p v m d " , p r o c e s s o q u e r e s i de e m t o do s
o s ho s t s qu e c o n s t i tu e m a m áqu i n a v i r tu a l p o de s e d i z e r q u e o c o n j u n t o d o s e mo n s ,
e x e c u t a n do e m d i fe r e n t e s m áqu i n a s , fo r m a a m áqu i n a v i r t u a l de f i n i d a p e l o u s u ár i o O s e m o m
g e r e n c i a m u m c o n s o l e v i r tu a l
, 
i de n t i f i c a do p o r u m p r o m p t p r óp r i o , q u e p o d e s e r u t i l i z a do a
p a r t i r d e q u a lq u e r /1o s t d a m áqu i n a v i r t u a l
A n t e s d e c o m p i l a r e e x e c u t a r u m p r o g r a m a P V M é n e c e s s ár i o d e f i n i r a m áq u i n a v ir tu a l
a s e r u t i l i z a d a Po d e s e f a z e r i s s o a p a r t i r d e qu a l q u e r c o m pu t a d o r qu e te n h a o PV M in s t a l ado ,
es c r ev endc s e
% p v m
Se o P V M e s t i v e r i n s t a l a do n e s s a m áqu in a , o s i s t e m a r e sp o n de r á c o m o p r o m p t
P -
p o de s e e n t ão u s a r o c o m a n do a dd ìi o s t n a m e pa r a a c r e s c e n t a r o c o m p u t a do r ho s t n a m e n a
m áq u i n a v i r t u a l o u u s a r d e l e t e h o s tn a m e p a r a r e m o v e r o c o m p u t a do r i d e n t i f i c a do po r ho s l n i u n e 
0 c o m a n do c o n f p e r m i te v e r a a r qu i t e t u r a a tu a l d a m áq u in a v i r t u a l
A fo r m a de c o m p i l a r e e x e c u t a r p r o g r a m a s PV M po d e s e r e n c o n t r a d a n a b ib l io gra fia
[G E I 94 , C O S 0 2 ] , be m c o m o n a s u a ho m e p a g e [PV M o 1]
, 
e n\ o s e r á a qu i abo r da da o t émi no
de u m a e x e c u ção PV M d e v e s e m p r e s e r fe i t o a t r a v és do c o m a n do ha l l
, qu e te r m in a a s i a s
Jb
p V M
, 
d e s t r ói a m áqu i n a v i r t u a l e de v o l v e o p r o m p 1 d o c o n s o l e p a r a o s i s t e m a o pe r a c i o n a l
P r i m i t i v a s bi si cas d o PV M
N a l i n g u a g e m C , a s p r i m i t i v a s PV M s o o fe r e c ida s c o m o ti Bn çð e s e n a l in g u a ge m Fo r t r a +r , c
o m o
s u b r o t in a s (o v a l o r d e r et or no da f u n çäo C s e m pr e v o l t a n o ú l t i m o a r g u m e n to da su br o t in
a
Po r t r a n c o r r e s po n de n te ) N a v e rda de , a s p r i m i t i v a s fo r a m e s c r i t a s e m C e a s s u b r o t in a s Fo r t r an
s ao s t u bs q u e f a z e m a s c o n v e r söe s n e c e s s ár i a s n o s a r g u m e n t o s e i n v o c a m a s c o r r e s po n de n
t c s
f u n çöe s C
Scanned by CamScanner
'
k
.
C a p f t u lo 13 C o n s id e r a çö e s
-
e n t a r e s 183
A s e g u i r s e r ã o a p r e s e n t a d a s a s p r i n c ip a i s p r i m i t i v a s d a b ib l i o t e c a p V M
, 
s e m s e pr e o c u p a r
c o m o s a s pe c t o s s i n t á t i c o s
pn1y t i do
Re to m a a id e n t i f i c a ção d a t a s k q u e c h a m a e s s a f u n ção (1id s i gn i f i c a t a s k i d e n 1iße r ) 
p v n 1 p a r e n t o
R e t o m a a i d e n t i f i c a ç ão d a m ãe ( t a s k c D a d o r a ) d a ta s k q u e c ha m a e s s a f u n ção
p v m c o n f i g (n h o s t , n a r c h , h o s t i n f o )
R e t o m a i n f o r m a çMe s s o b r e a m áqu i n a v i r t u a l , i n c l u s i v e o n ú m e r o d e m áq u i n a s (n h o s 1) e o
n ú m e r o d e a r q u i t e t u r a s d i f e r e n t e s u t i l i z a d a s (n a r c h )
p v m s p a w n ( t a s k , a r g v , n a g , w h e r e , n t a s k , t i d s )
In i c i a a e x e c u ç ão d e v ár i a s c ó p i a s d e u m a r q u i v o e x e c u t áv e l (e s p e c i f i c a d o po r t a s k ) n a m áq u i n a
v i r t u a l
p v m k i l l ( t i d )
T e r m i n a a l a s k c u jo 1i d é f or neci do o m o a r gu m e n t o
pvl mi ni t send (c o d )
I n i c i a l i z a u m b u uw r p a r a o e n v i o d e u m a m e n s a ge m e r e t o m a a i d e n t i f i c a ção d o m e s m o O
a r gu m e n t o e s p e c i f i c a o e s q u e m a de c o d i f i c a ção a s e r u s a do
p v m s e n d ( t i d , m s g t a g )
E n v i a a m e n s a ge m i d e n t i f i c a d a po r m s g l a g (q u a 1i f i c a d o r d a m e n s a ge m ) p a r a a t a s k i de n t i ' c a d a
po r ü d
p v m m c a s t { t i d s , n t a s k , m s g t a g )
En v i a a m e n s a g e m ide n t i f i c a da po r m s g ta g pa r a 
t o d a s a s t a s k s ide n t i f i c a d a s n o v e t o r t id s
. Qu e
t e m t a m a n h o n t a s k
p v m r e c v ( t i d , m s g ta g)
B lo q u e i a a l a s k q u e c h a m a e s t a f u n ç o a t q u
e c he gu e a m e n s a ge m ide n t i f i c a da por n u g t a g da
t a s k i de n t i f i c a da p o r 1id O v a l o r 1 pa r a m s g t a g e
/ o u t id f u n c i o n a c o m o w i l d c a r d (pe r m i tç
r e c e be r q u a l q u e r m e n s a g e m de q u a lq u e r t a s
k ) A fu n ç o de v o l v e a idc n t i f i c aq o do b td ir r n o
q u a l f o i c o l o c a d a a m e n s a g e m
p v m n r e c v (t i d , m s g t a g )
 a v e r s ao n ão b l o q u e a n t e d a p r i 1n i t i v a r e c e i v e
E l a v e r i f 1c a s e c he 8 o u a m e n s a 吕 e m ide n t i f i c a da
po r m s g t a g d a t a s k i d c n t i f 1c a d a po r 11d Se n
ão c he g o u , a f u n çao de v o l v e o v a l o r z c r o s e c he go u ,
de v o l v e a i de n t i f i c a ção do b id e r n o q u a l a m e n s a g e m f o
i c o l o c a d a
Scanned by CamScanner
1 84 s i s t e m a s o pe r a c i o n a i s e 
p r o gr a m a çüo c o n c o r r e n t e
S S T o s c a n i , R S de O l i v e i r a e A SSSi mi
p v m t r e c v { t i d , m g ta g , t i n o u t )
B l o qu e i a a l a s k a t q u e c he g u e 
a m e n s a ge m o u s e e s go t e o t e m p
o e s pe c i f ic a do po r t m o u l
p v m b u f i n f o (b u f 1d , n b y t e s , 111s g t a g , t i d )
R e t o m a o n 1sg t a g , o t id do e m i s s o r e o t a m a n
ho (n by te s ) da m e n s a g e m id e n t i f i c a d a pe lo bu /id É
u s a da pa r a r e c u pe r a r i n f o t m a çõ e s da s m e n s a ge n s 
r e c e bi da s c o m w i td c a rd s
p v m e x i to
A v i s a o d a e 1?1o n qu e e s t a l a s k e s t á de i x a n do o p V M (a l a s k po de c o n t
i n u a r s u a e x e c u ção , de sde
qu e n äo c h a m e f u n çõe s do PV M )
13
. 
12 M P I
A b ib l i o t e c a M p I (M e s s a g e p a s s i n g l n t e d a c e ) t a 】ï 1bém p e r m i t e a p r o g r a m a ção pa r a le l a ba s e a
da
n a u o c a d e m e n s a ge n s [M p I 94 ] U m a e x e c u ção M P I c o m p r e e n de d o i s o u m a i s p r o c e s s o s qu e 
s e
c o m u n i c a m c h a m a n d o r o t i n a s da b ib l i o t e c a M p I pa r a e n v i a r e r e c e b e r m e n s a g
e n s A s r o t i n a s
p o de m s e r c h a m a d a s a p a r t i r de p r o g r a m a s C o u Fo r t r a n
U m p r o g r a m a M P I é f o r m a do p o r u m c o n ju n t o f i x o de p r o c e s s o s (n o r m a l m e n t e , u m po r
p r o c e s s a do r ) c D a d o s n o m o m e n t o da i n i c i a l i z a ção do s i s t e m a C a d a u m d e s s e s p r o c e s s o s p
o de
e x e c u t a r u m p r o g r a m a d i f e r e n t e , o qu e c a r a c t e r i z a o m o d e l o M PM D (M u l t ip l e P r o g r a m
M u t1ip l e D a t a ) N o e n t a n t o , a f o r m a m a i s c o m u m de p r o g r a m a r u t i l i z a o m o de l o s p M D ( s i ng
p r o g r a m M u t r ip l e D a t a ) , o n de u m m e s m o p r o g r a m a é e x e c u t a do p o r c a d a u m d o s p r o c e s s a do r es
p a r t ic i p a n t e s , m a s e m c a d a p r o c e s s a do r é s e l e c io n a d o u m t r e c h o do p r o g r a m a p
a r a se r
e x e c u t a do A s e g u i r s ão a p r e s e n t a d a s a lgu m a s c a r a c te Ds t i c a s d o s i s t e m a M PI
A c o m p i l a ção d e p r o g r a m a s e s c D t o s n a l i n g u a ge m C (C + + ) é f e i t a a t r a v s do c o n m +1do
m p i c e , q u c a c e i t a t o d o s o s a r g u m e n to s de c o m p i l a ção d o c o m p i l a do r C A e x e c u ção 
é fe i t a
a t r a v és d o c o m a n d o m p i r u n , c u jo s a r g u m e n t o s de f i n e m o s n o m e s e o s t i p o s d a s m áqu i n a s qu e
c o n s t i t u e m o s i s te m a
O p a d irão M P I d e f i n e f u n çõe s pa r a
 C o m u n i ca ç ão p on t o a p on t o ( t r an s mi ss o r e r ec e p t or d e f i ni do s p a r a
m e n s a g c m )
* O pe r a çõ e s c o le t i v a s
 G r up o s de pr oc e s s o s
* C o n t e x t o s de c o m u n i c a ção
* L i g a ç ão p a r a p r o g r a m a s A N S I C e Fo r t r a n 7 7
1 T o po l o g i a de p r o c e s s o s
c ada
Scanned by CamScanner
c a p ítu l o 1 3 Consi æEes C o m p le m e n t a r e s 185
U m a m e n s a g e m é f o r m a d a p o r d u a s p a r t e s : (a ) u m e n v e l o p e , qu e c o n tém a id e n t i f i c a ç ão
d o s p r o c e s s o s e n v o l v i d o s ( t r a n s m i s s o r e r e c e p t o r ) , o r ó t u l o d a m e n s a g e m e o c o m m u n i c a t o r (v e r
a b a i x o ) ; (b ) u m d a d o
, q u e é e s p e c i f ic a d o p o r u m e n de r e ço (l o c a l i z a ç ão d o d a do ) , n ú m e r o de
e l e m e n t o s d o d a d o n a m e n s a g e m e t ipo d o d a d o (s ig n e d i n l , ß o a l , c ha r , e tc ) 
A i de n t i f i c a ção d e u m p r o c e s s o é de n o m i n a d a r a n k Se n do N o n ú m e r o d e pr o c e s s o s do
s i s t e m a
, 
o s r a n ks v ão d e O a N 1 0 r a n k é u s a do pa r a id e n t i f i c a r o de s t i n a tár i o , n a o pe r a ç ão
s e n d
, 
e o r e m e t e n t e
, 
n a o p e r a ç ão r e c e i v e
U m g r u p o (g r o u p ) é u m c o n j u n t o o r de n a do de p r o c e s s o s T o d o g n Bp o p o s s u i u m
c o m m u n i c a t o r 74 a s s o c i a d o
, q u e i de n t i f i c a e s s e g r u po o c o m m u n i c a 1o r d e l a u b é o
M PI C O M M W O R L D
, q u e é p ré d e f i n i d o n o s i s t e m a
P r i n 1i t i v a s b ás i c a s d o M P I
0 M P I o f e r e c e u m c o n j u n t o g r a n d e de f u n çõ e s ( 12 9 , n a v e r s ão 1 1) , c o n t u d o , c o m u m n ú m e r o
r e d u z i d o d e l a s (a p e n a s 6 ) é p o s s í v e l r e s o l v e r u m a g r a n d e v a r i e d a de de p r o b l e m a s E s t a s f u n çMe s
b ás i c a s s ão a p r e s e n t a d a s a s e g u i r
M P I I n i t (& a r g e , & a r g v )
In i c i a l i z a u m a e x e c u ção M P I É responsável p o r c o p i a r o c ód i g o d o p r o g r a m a e m t o d o s o s
p r o c e s s a d o r e s q u e p a r t i c i p a m d a e x e c u ç îi o O s a r g u m e n t o s a r g e e a rg v s ão v a r i áv e i s u t i l i z a d a s
e m C p a r a r e c e b i m e n t o de p a r âm e t r o s
M P I F i n a l i z e o
T e r m i n a u m a e x e c u ção M P I
、
M p I C o n 1m Si z e (c o m m u n i c a t o r , & s iz e )
D e t e r m i n a o n ú m e r o d e p r o c e s s o s e m u m a e x e c u ç
ão O Pr i m e i r o a r g u m e n t o i n d ic a o g r u po de
c o m u n i c a ção e o s e g u n do d e v o l v e o n
úm e r o de p r o c e s s o s n o g r u po
M P I C o - Ra n k (c o m m u n i c a t {»r , & P id )
D e v o l v e e m p id a id e n t i f i c a ção do p r o c e s s o q
u e e x e c u ta a p r i m i t i v a
M p I Se n d t & b u \ c o u n t , d a t a ty p e , d e s ; t a g , c o m m )
Pe r m i te a u m p r o c e s s o e n v i a r u m a m e n s a g e m pa r
a o u t r o
M p I R e c v (& b u f
, 
c o u n t
, 
d a t a t y p e 1 d e s t , t a g 1 c o n 1r u )
Pe r m i t e q u e u m p r o c e s s o r e c e b a u m a m e n s a g e m
É u m a o pe r a çäo b l o q u e a n t e
? 4 U m c o m m u n i c a t o r e u m a e s t r u t u r a d e d a d o s q
u e de f i n e u m c o n t e x t o de c o m u n i c a çao (a da p r o c e s s o 
ide n t i f1c a d o pe l o s e u r u n k d e n t r o de s s e c o n te
x t o
Scanned by CamScanner
186 s i s t e m a s o pe r a c i o n a i se p r o s r a m a © c o n c o r r e n t e
S S T o s c a n i R S d e O l i v e i r a e A S Ca r i tts i m i
13
. 
13 E X E R C 9C LO S
E x e r c fc i o 13 1 Qu a i s a s s e m e l ha n ça s e a s d i f e r e n ça s e n t r e a s s e c r e
t ár i a s de D ij k s t r a e as t k J
da l i n gu a ge m A D A ?
E x e r c f c i o 13 2 p o r q u e s e po de d i z e r q u e a s c ha m a da s r e m o t a s 
de p r o c e d i m e n t o s p r e e n c her am
a l a c u n a q u e h a v i a e n t r e o s e s q u e m a s de t r o c a de m e n s a ge n s e o s m
o n i t o r e s ?
E x e r c íc i o 13 3 p o r q u e a s v a r i áv e i s t i po c o n d i t io n d a b ib l i o t e c a 
P t h r e a d s f a z e m le m b r a r o s
m o n i t o r e s ?0

Outros materiais