Buscar

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

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 10 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 10 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 10 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

Scanned by CamScanner
C a p í t u l o 1 1
C O M U N I C A Ç O
V I A T R O C A D E M E N SA G E N S
M a r t :n F i e r r o
Y a t e he d a d o m i s r e s pu e s t a s
m a s n o g u l a q u i e n d e s pu m a
s i t e n és o t r a p r e g u n ¢a
o d e a l g o t e ha s o l v i da o
s i e m p r e e s t o y a t u - da o
p a r a s a c a r t e dc d u
N o p r o c e d o po r - i a
n i t a m po c o po t j a ta n c i a;
m a s n o h a d e fa l t a r c oanc i a
c u a n d o e s p r e c i s o h1c h a r
y t c c o n v ido a c a n 1a r
s o b r e c o s a s de 1a e s t a n c i a
A n s f p t e p
c u a n t o \ u s a be r e n c ie m e
y s i n qu e ru le n gu a W 
m e has dc d e c i r lo qu e c m p r i e n d e
Æ q u e dc l 1ie 11p o W n dc
c n lo s 1\1e s e s qu e t r a in e r t e
E s te c a p : t u l o q u e b r a u m p o u c o a s e q üên c i a d e a p r e s e n l a q o , pa r a a p
r e s e n t a r u m i n w r t a n tc
m e c a n i s m o de c o m u n i c a ç&o e s i n c r o n i z a ç o , q u e é i m p le m e n t a
do t r a d ic io n a l 1n e n te a t r a v s d a s
o pe r a ç ö e s s e n d e r e c e i v e E s t a q u e b r a s e j u s t i f ic a pe l a c o n v e n iën c i a de s e e n te n de r o c o n c e i t o de
"
c o m u n i c a ç o s ín c r o n a n ao d e t e r m i n fs t i c a
"
a n te s d e s e e s t u d a r o m e c a n i s m o d o r e n d e z v o u s
A e x e c u ção c o n c o r r e n t e s u r g i u , j u n t a m e n te c o m a m u l t i p r o g r a m a « o , n o s s i s te m a s
o p e r a c i o n a i s d e m áq u i n a s c o n v e n c i o n a i s , c o m m e m ó r i a c o m p a r t i l h a d a ( i s t o , e m a r qu
i te t u r a s
Scanned by CamScanner
138 Si s t e m a s O pe r a c io n a i s e PT o g r a m a çüo C o 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 S Car iss i11rj
c e n t r a l i z a d a s ) N e s s a s m áq u in a s , to d a a m e m ó r ia é c o m p a r t i l ha da e n t r e o s p r o c e s s o s d o s i s te m aA n e c e s s id a d e de d i s c i p l i n a r o a c e s s o a o s da do s c o m pa r t i l ha do s fe z s u r g i r o s m e c a n i sm o s des i n c r o n i z a çäo T o d o s o s m e c a n i s m o s c o n s ide r a do s a té aq u i s u pðe m q u e ha ja u m a m e rr b5r i ac o m p a r t i l ha d a e n t r e o s p r o c e s s o s N a v e rda de
, 
a p r óp r i a im p le m e n ta ção do s m e c an is rno se n v o l v e c o m p a r t i l ha m e n t o Po r e x e n 1p l o , a i m p le m e n t a ção de u m s e m áf o r o r e qu e r u m a e s tr u tu rag lo ba l (c o m p a r t i l ha d a )
, 
fo r m a da po r u m a v a r i áv e l i n te i r a ( " c o n t a do r de bo l i t a s " do s e m áfo r o ) eu m a f i l a d e e s pe r a S i m i 1a r m e n te
, 
o s da do s e o s p r o c e d i m e n t o s de u m m o n i t o r de v e m se r g lo ba isa o s p r o c e s s o s q u e o s u t i l i z m T o da v i a
, 
m u i t a s v e z e s o c o m pa r t i lha m e n t o d e m e m ó r i a n ão éd e s e jáv e l o u
. 
A té m e s m o
, 
n ão é po s s ív e l p o r e x e m p l o , p o r m o t i v o s de s e g u r a n ça , po de se rn e c e s s ár i o q u e o s p r o c e s s o s e x e c u te m de fo r m a c o m ple t a m e n te i s o l a da
, 
c a da u m n o s e u pr ópr ioe s p a ç o d e e n d e r e ç a m e n t o In de pe n de n te m e n te de q u e s tõe s d e s e g u r a n ça , s e o s i s te m a de
c o m p u t a ção é d i s t r i b u ído (s e m m e m ó r i a c o m pa r t i l ha d a )
, 
e n tão o u s o de o u t r a s fo r m as de
c o m u n i c a ç ão (e s i n c r o n i z a ção ) pa s s a a s e r o bDg a tóDo
1 1
. 
1 0 p e r a çõ e s s e i 1d e r e c e i v e
A s o p e r a çõ e s p a r a t r o c a de m e n s a g e n s s ão t r a d i c i o n a l m e n t e de n o m i n a d a s s e n d (e n v i a ) e r e c e iv e(r e c e b e ) E s t a s o pe r a çõ e s p o d e m s e r u s a d a s t a n to e m a m b i e n t e s c e n t r a l i z a d o s c o m o e m
a m b i e n te s d i s t D b u :d o 5 E l a s p e r m i t e m q u e o s p r o c e s s o s e n v i e m e r e c e ba m m e n s a g e n s , e po de m
s e r i m p l e m e n t a d a s d e d i fe r e n t e s m a n e i r a s ; i s to é
, 
d i fe r e n te s s i s te m a s po d e m i m p l e m e n tá l a s c o md i f e r e n te s s e m ân t i c a s A f o r m a g e r a l d e s t a s p Dm i t i v a s é a s e g u in t e
s e n d {p , m s g) e r e c e iv e (q , m s g)
A f u n ç ão s e n d f a z c o m q u e a m e n s a ge m m s g , a qu a l p o de s e r de t ipo a r b i t r ár i o
, 
s e j a e n v i ada ao
p r o c e s s o c u j o n o m e é p A f u n ç o r e c e i v e f a z c o m q u e u m a m e n s a ge m s e j a (e spe r a d a e ) r ec eb idaI ' do p r o c e s s o q e s e j a de po s i ta da n a v a r i áv e l m s g
C o n s i de r a n do o ke r n e l de SO de s c r i to n o c a p í t u l o a n t e r i o r
, 
u m m e c a n i s m o pa r a tr o c a de
m e n s a g e n s po de r i a s e r i m p le m e n ta do a s s o c ia n do a c a da p r o c e s s o u m a f i l a pa r a r ec e pção de
m e n s a g e n s P a r a i s s o , ba s t a r i a p r o v e r o s r e g i s t r o s de s c D t o r e s de u m c a m p o e x t r a De s t i n ado a
e n c a d e a r a s m e n s a g e n s r e m e t ida s a o p r o c e s s o
A s po s s : v e i s s e m ân [ i c a s d a s o pe r a çõe s s e n d e r e c e i v e po d e m s e r c a r a c te r i z a da s a u a v s
de q u a o q u c s tð e s
1) E m u m a o pe r a çao b e n d , o r e m e te n te de v e f i c a r b lo q u e a do a t a m e n s age m s e r a c e i ta
p e l o de s t i n a t f i o o u o r e m e t e n t e po de c o n t i n u a r s u a e x e c u çao ?
2 ) E m u m a o p e r a ç ão r e c e i v e
, 
o r e c e p to r de v e f i c a r blo q u e a do s e n ilo há m e n s as e m p
a r i
s e r r e c e b id a ?
Scanned by CamScanner
C a p í t u lo 11 C o m u n i Ø m v i a t r o c a d e - 139
3 ) E m u m a o p e r a ç ão s e n d , o r e m e te n t e t e m q u e i n d i c a r u m de s t i n a t á r i o e s p e c í f i c o , o u a
m e n s a g e m p o d e s e r e n t r e g u e a q u a l q u e r u m d e u m g r u p o d e p r o c e s s o s ?
4 ) E m u m a o p e r a ção r e c e i v e , de v e s e r i n d i c a do u m p r o c e s s o e s pe c í f i c o (s ó u m
r e m e t e n t e i n t e r e s s a )
, 
o u a m e n s a ge m p o de s e r r e c e b i d a d e q u a l q u e r p r o c e s s o ?
A s r e s p o s t a s p a r a e s t a s q u e s tö e s pe r m i te m d i s t i n g u i r v ár i a s c la s s e s de e s q u e r n a s de
c o m u n i c a ç ão E n q u a n t o a s d u a s p r i m e i r a s q u e s tõ e s t e m a v e r c o m s i n c r o n i s m o e a s s in c r o n i s m o ,
a s d u a s ú l t i m a s t e m a v e r c o m n o m e a çã o e x p l i c i ta e n o m e a çã o i m p u c i t a 
56 A s o pç õe s e n t r e e s t a s
c l a s s e s e s u a s p o s s : v e i s c o m b i n a çõ e s s o c o n s id e r a d a s a s e g u i r
E x i s t e m d u a s r e s p o s t a s p a r a a p D m e i r a q u e s t ão s e o p r o c e s s o r e m e t e n t e é b l o q u e a d o
a t é a m e n s a g e m s e r a c e i t a , a pD m i t i v a s e n d é d i t a b to q u e a n l e Se , a o c o n t r ár i o , o p r o c e s s o po de
p r o s s e g u i r s u a e x e c u ç ão e n q u a n t o a m e n s a ge mé t r a n s fe r i d a p a r a o d e s t i n a t ár i o , a o pe r a ç ão s e n d
é d i t a n â o b l o q u e a n t e S i m i l a r m e n t e , a q u e s t ão 2 d i s t i n g u e d o i s t i p o s d e o pe r a ção r e c e i v e : s e o
p r o c e s s o é b l o q u e a d o a o t e n t a r r e c e b e r u m a m e n s a ge m a i n d a n ão d i s p o n f v e l , d i z s e q u e a
o p e r a ç ão é b to q u e a n t e Se , a o c o n t r ár i o , o p r o c e s s o po d e p r o s s e g u i r s e m t e r r e c e b i d o a
m e n s a g e m a o p e r a ç ão r e c e i v e é d i t a n ã o b to q u e a n l e (n e s te s e g u n do c a s o , a f u n ç ão r e t o m a u m
v a l o r p a r a i n d i c a 】' " u e n ão f o i r e c e b id a m e n s a ge m )
A s q u e s t Me s 3 e 4 d e f i n e m o m o d o d e n o m e a r ( i n d i c a r ) o p r o c e s s o c o m o q u a l s e d e s e j a
i n t e r a g i r N o c a s o d a o p e r a ç ão s e n d (q u e s t ão 3 ) , o p r o c e s s o p o d e de s e j a r e n v i a r a m e n s a g e m p a r a
u m p r o c e s s o e s p e c i f i c o o u e n v i a r a m e n s a g e m p a r a q u
a lq u e r u m de u m g r u p o d e p r o c e s s o s q u e
p o s s a m t e r i n t e r e s s e e m r e c e b ê 1a N o p
Dm e i r o c a s o te m s e n o m e a çã o e x p l fc i t a N o s e g u n do
c a s o
, 
t e m s e n o m e a çã o i m p t i c i t a e a o pe r a ção é r e f e r
i d a c o m o d ij iBs ä o (o u b r o a d c a s t i n g )
Si m i l a r m e n t e , a o p e r a çã o r e c e i v e (q u e s tão 4 ) p o d e e s pe c i f i c a r u m ún i c o e be m d e t e r m i n a d o
p r o c e s s o (n o n 1e a çã o e x p t fc i l a ) , o u e n t ão e s pe c i f i c a r q u e a m e n s a g e m p o
d e s e r r e c e b i d a d e
q u a l q u e r p r o c e s s o d e u m g r u p o d e p o
s s ív e i s r e m e t e n t e s (n o m e a ç i 1o im p l l c i 1a ) N o s e g u n d o c a s o ,
te m s e e s p e r a n â o d e 1e r m i n i s 1i c a , se n
do r e c e b id a a p r i m e i r a m e n s a ge m q u e c he g a r d e s s e g r u p o
d e r e m e t e n t e s
A s s e m ân t ic a s po s s í v e i s pa r a a s p r i m i t i v a s s e n
d l r e c e i v e s ão r e s u m id a s n o s d o i s q u a d r o s
a p r e s e n t a d o s n a f i g u r a 1 1 I [SH A 84 ] E s t a s f o r m a s d e i m p
le m e n t a r a s o p e r a çõe s s t 11d e r r c r i w
po de m s e r c o m b i n a d a s d e d i f e r e n t e s m a n
e i r a s ( 16 a o t o d o ) , o r i g i n a n d o v r i o s t i po s dc
m e c a n i s m o s C o n t u d o , a lg u m a s d e s s a s c o m b i n a ç
ö e s n ão f a z e m m u i t o s e n t id o Po r e x e m p k p a r a
a o pe r a ção s e n d c o m n o m e a ç ã o i m p l :c i t a ( i s t o , d i f u s ão de m e n
s a g e m ) n üo f a z s e n t ido o u s o d a
o pç äo b l o q u e a n te ( s e ñ a m u i t o d i f ic i l i m p le m e n t a r a s i n c r o n
i z a qüo d a o pc r a qào c o m t o d o s o s
p o s s ív e i s r e c e p t o r e s d a m e n s a g e m )
Qu a n d o a m l »a s a s o p e r a ç ö e s s e n d e r e c t i v ¬ s mo b lo q u c
a n t e s
, 
o e s q u e m a d e c o m u n i c a ção
é d i t o s fn c r o n o n e s t e c a s o o s p r o c e s s o s p r e c i s a m a t
in g i r po n t o s be m d e f i n id o s (a s r e s pe c t i v a s
n o m e a çao i m p l í c i t a i m p l i c a n äo d e t e r m
i n is m o m a s a n o m e a ç l o e x p l ic i t a n üo 
i m p l i c a n e c e s s ar ia m e n t e
d e t e r m i n i s m o c o n f o r m e s e r a v i r t o a d i a n t e
Scanned by CamScanner
14o s i s te m as o pe r a c io n a
i s e p r o 8 r a m a çao 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 W g in i
o pe r a çõ e s s e n d e r e c e i v e ) p a r a de po
i s p r o s s e g u i r e m e m c o n j u n t o Qu a n d o p e l o m e n o s u rr】a das
o pe r a çð e s é n ão b lo q u e a n t e , 
o e s q u e m a de c o m u n i c a çño é d i t o a s s tn c r o n o ; o p r o c e sso que
e x e c u t a a o pe r a çäo n o bl o q u e a n te po
de p r o s s e g u i r , s e m e s pe r a r po r o u t r o s p r o c e s so s
SEN D B l o qu e a n t e N i l o b1o q u e a n te
e s pe r a a té a m e n s a ge m s e r a c e i t a p r o s s e g u e a e x e c u ção
N o m e a çâ o D i f u n de m s g e D i f u n d e m s g
im p l fc i t a e spe r a a té a m e n s a ge m s e r a c e i t a
RE CE I VE B to qu e a n l e N ão bl o q u e a n t e
:
W E s pe r a m e n s a ge m d o r e m e t e n t e " , " c a s o c o n tár i o p r o s s e g u e a e x e c u çãoSe te m m s g do r e m e t e n t e " r " , e n tão r e c e be
. Jl 1e 
p t 
a c 
fc i 
° 
l a 
° ge m de q u a ' " u e r r e m e t e n t e X X e X + eb"
F Ig u r a 1 1 1 Po s s fv e ls ïm p le m e n t a ç ð e s d a s o p e r a ç õ e s s e n d e r e c e iv e
Qu a n do a m ba s a s o pe r a çõe s s e n d e r e c e i v e s ão n ão b l o q u e a n t e s e l a s de i x a m de se r u m
m e c a n i s m o d e s i n c r o n i z a ç o (p o i s de i x a m d e b l o qu e a r p r o c e s s o s ) e pa s s a m a s e r u m r n e c an i sm o
de c o m u n i c a ção ge r a l , d o t i p o s e r v iço de c o r r e i o c o m u m (n ão r e g i s t r a do ) Es te tipo de
c o m u n i c a ção é i m p o r t a n te e m r e de s de c o m p u ta d o r e s e s i s t e m a s d i s t r i b u ído s C o n v ém o bse r v ar
q u e a i m»l ement ação d e o pe ra çõe s n ão b l o qu e a n t e s s e m p r e e n v o l v e a u t i l i z a ção de b rt ûe r s par a
a r m a z e n a m e n t o te m l»o r ár i o d e m e n s a ge n s C o m o o e s p a ço é s e m p r e l i m i t a d o , c e r ta m e n te ai m p le m e n ta ção t e r á de l a n ça r m f io de a l gu m a s o l u ção pa r a o p r o b le m a d o " bu ße r l i rTri tado
" (c
e s s a s o l u ção b l o q u e a r á pr o c e s s o s q u a n do i s to se f i z e r n e c e s s ár io )
N o r m a l m e n te
, 
a o pe r a ção r e c e i v e é im p le m e n ta da de f o r m a b lo q u e a n te de v ido à m a
iar
Pr a t ic id a de de s s a o pção Co m r e spe i to à n o m e a ção , a l gu lT ia s im ple m e n t açõe s de r t ct
ivt
Pe r m i te m a m ba s a s fo r m a s
, 
s e n do u s a da a se gu i n te c o n v e n ção r e c e i v e (p , m s g ) b lo quc ia 
o
Pr o c e s so a t q u e c he g u e u m a m e n s a ge m do p r o c e s s o p (n o m e a ç o e x pl fc i ta ) e r ec e i v r ( * 1t u 8
)
b lo q l Be i a o p r o c e s s o a té q u e c he g u e u m a m e n s a ge m de qu a lqu e r p r o c e s s o (n o m e a çao i m pl :c
i ta) 
N o s e g u n do c a s o
, 
a ide n t i fì c a çao do r e m e te n te é a n Tlia z e n a d a n a v a r i áv e l lo c a l U w '
57
N a f a l t a de o pe r a çõ e s r e c e i v e c o m n o m e a çüo i m p l íc i t a (p a r a e s pe r a n äo de te r m in fs
[ica),
u m p r o c e s s o f i c a à e s pe r a de u m ún i c o r e m e te n te de c a d a v e z s e a o pc r a çüo r ec e i
v e é näob lo q u e a n t e
, 
O r e c e p to r po de s i m t 1la r a n o m e a ç o i m p l :c i t a (n il o de te r m i n i s m o ), u s an do u rn 
busy
37 N a l i n gu a ge m v 4 a o in v es do " w e u t i l i z a da a pa la v r a r e s e r v a d a a n y " e t u do s e pa s s a c o m o se c
ada pro c
es so
Scanned by CamScanner
C a p f t u lo 1 1 C o m u n i c a ção v i a t ro c a d e
- 14 1
l o o p q u e t e s t a e x p l i c i t a m e n te o s p o s s ív e i s r e m e t c n te s
, 
u m a u m
, 
a t q u e u m a m e n s a g e m s e j a
r e c e b i d a I n f e l i z m e n t e e s t a s o l u ç o m u i t o i n e f i c i e n t e
11
. 
2 C a i x a s p o s t a i s
U m m e i o t e r m o e n t r e n o m e a ção e x p l fc i t a e i m p l íc i t a po de s e r c o n s e g u ido u t i l i z a n do
c o n 1u n i c a çâ o i n d i r e t a
, 
v i a c a i x a s p o s t a i s N e s te c a s o
, 
o p r o c e s s o r e c e p t o r i n d i c a e x p l ic i t a m e n te
u m a c a i x t 1 p o s t a l (n o m e a ção e x p l íc i t a d e c a i x a po s t a l ) n a qu a l e le v a i r e c e be r m e n s a g e m de
qu a l q u e r p r o c e s s o (n o m e a ção i m pl :c i t a do p r o c e s s o r e m e t e n t e )
O q u e a s c a i x a s po s t a i s f a z e m é to m a r v i s í v e i s a s f i l a s de m e n s a ge n s q u e s
e n t r e o s r e m e t e n t e s e o s r e c e p t o r e s A go r a , a o pe r a ção s e n d d e i x a de e s pe c i f i c a r u m p r o c e s s o
d e s t i n a t ár i o e p a s s a a e s p e c i f i c a r u m a f i l a de m e n s a ge n s , o n de a m e n s a g e m de v e s e r e n c a de a ó
D e f o r m a s e m e l h a n t e
, 
a o pe r a ção r e c e i v e p a s s a a e s pe c i f i c a r a f i l a d a q u a l u m a m e n s a g e m d e v e
s e r r e t i r a d a
U m a m e s m a c a i x a po s t a l p o d e s e r a c e s s a d a p o r v ár i o s r e m e t e n t e s e v ár i o s r e c e p t o r e s
E m b o r a s e ja g e r a l , e s t e e s q u e m a é i n e f i c ie n t e pa r a a m bi e n t e s d i s t r ib u íd o s N e s t e s a m b i e n t e s , é
m a i s e f i c i e n t e u t i l i z a r u m ún i c o p r o c e s s o r e c e p t o r p o r c a i x a p o s t a l (a c a i x a p o s t a l e o r e c e p t o r
d e v e m r e s i d i r n a m e s m a m áq u i n a , e v ide n t e m e n t e ) N e s t e c a s o a f i l a d e m e n s a g e n s c o s t u m a s e r
d e n o m i n a d a p o r t o e d e i x a m de o c o r r e r o pe r a çõ e s r e c e i v e e m m áq u i n a s r e m o t a s
1 1
. 
3 C o m u n i c a çã o s ín c r o n a
Po r s e t r a t a r d e u m a f o r m a d e c o m u n i c a ção i m p o r t a n t e e e f i c i e n t e , a c o m u n i c a çã o s fn c r o n a é
m e l h o r d i s c u t i d a a s e g u i r T e m s e e s t e t i po de c o m u n i c a ç ão q u a n do a m b a s a s o pe r a çMe s s e n d e
r e c e i v e s ão b l o q u e a n t e s A v a n t a g e m de s t e e s qu e m a é q u e e le d i s p e n s a o u s o de f i l a s e d e bußr s
n a c o m u n ic a ção
A s e g u i r , é n o v a m e n t e c o n s ide r a do o p r o b le m a d o b u ße r l i m i t a d o A go r a e s t e p r o b l e m a
s e r á r e s o l v id o c o m o pe r a çõe s s e n d e r e c e i v e b l o q u e a n t e s , s e m c o m p a r t i l ha m e n t o de v a r i áv e i s
c o m o s e o s i s t e m a fo s s e d i s t r i b u fd o V e re m o s qu e a o pe r a ção r e c e i v e c o m n o m e a qão i m p 1:ç i ta
t i po r e c e i v e (a n y , m s g ) , s i m p l i f i c a a s o l u ção do p r o bl e m a
Pa r a f i x a r id é i a s
, 
v a m o s c o n s id e r a r d o is p r o c e s s o s , de n o m i n a d o s p r o d u c e r e c o n su n 1e r ,
q u e s e c o m u n i c a m a t r a v s de u m b u o e r de I O e le m e n t o s
58 C o m o n ão e x i s te c o m pa r t i lha m e n t o
o bw · de v e pe m n c e r (s e r l o c a l ) a u m t e r c e i r o p r o c e s s o , q u e de n o m i n a r e m o s b t t pir r n 1a n a g e r
E s te p r o c e s s o ge r e n c i a d o r d e v e a r m a z e n a r a s m e n s a ge n s p r o d u z ida s pe l o p r o d u t o r e e n t r e g i l l a s
q u a n d o e l a s f o r e m r e q u e r i d a s pe lo c o n s u m id o r V a m o s s u po r q u o o ge r e n c i a do r u s e a v a Dáv e 1
c o BBn t p a r a i n d i c a r o n ú m e r o d e po s i çö e s o c u pa d a s n o b rt ûe r Pa r a a s o l u çüo s e r c o n s i de r a d a
c o r r e t a (j u s t a )
, 
e la d e v e s e r t a l q u e , q u a n d o O< c o u n t < l o ( i s t o , q u a n d o o b u ßir r e s tá
w t r e m o r i m p l e m e n t a r u m a c o m u n i c a çao v ia b lø e r a t r a v 1 de u m m e c a n i s m o qu e n äo u s a b l {Be r s
Scanned by CamScanner
«d
142 s i s te m a s o pe e c /o n a i s e Pr ogr amaço C o 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 y sg issj1n i
pa r c i a l m e n te c he io ), o s p r o c e s s o s p r o du c e r e c o l 1s u
m e r s e ja m a t e n d ido s ig u a l m e n te
, sem
fa v o r i t i s m o s , pe l o bBw L n 1a n a g e r
o p r o d u c e r p r o du z u m a m e n s a ge m e a e n
v i a p a r a o b u w L m a n a g e r O c o n s u m e r
r e c e b e u m a m e n s a ge m d o b td e r m a n a g e r e a c o n s o m e Po r t a n t o , o bu ße w a n a ge r r ece be
m e n s a ge n s d o p r o d u c e r (o pe r a ção r e c e i v e ) e e n v ia m e n s a ge n s p a r a o c o n s u m e r (o pe r a ção s en d)
A q u e s tão qu e s e p õe é a s e gu in t e : qu a n do a m ba s a s o pe r a çõ e s s ão po s s ív e i s (i s t o é, qu an do o
b u uûir r e s t á pa r c i a l m e n t e c he i o ) , o b u Be r m a n a g e r de v e u s a r u m a o pe r a ção r e c e i v e p a r a r e c eb«T
u m a m e n s a ge m d o p r o du to r o u u s a r u m a o pe r a gão s e n d p a r a e n v i a r u m a m e n s a ge m ao
c o n s u m i d o r ? O b s e r v e qu e q u a n do o t m 1n a g e r o p t a p o r u m a d e s s a s o p e r a çõ e s (po r e x e m plo
s e n d )
, 
e l e s e b l o q u e i a a t é qu e o o u t r o p r o c e s s o e n v o l v ido (n o c a s o o c o n s u m e r ) e x e c u te a
o p e r a ç ão c o m p l e t a r (n o c a s o r e c e i v e )
A o pe r a ção r e c e i v e c o m n o m e a ção i m p l f c i t a p e r m i t e r e s o l v e r e s s e i m p a s s e a t r a v és de
u m a r t i f >c i o s i m p l e s qu e r e s u l t a e m o bw e r m a n a g e r e s p e r a r s e m p r e n u m a o pe r a ção r e c e iv e O
a r t i & c i o c o n s i s t e e m o b r i g a r o c o n s u m i d o r a e n v i a r u m a m e n s a g e m p a r a o beLmanager ,
q u a n do e l e q u i s e r r e c e be r u m a m e n s a ge m 
59 D e s s a m a n e i r a
, 
a m b o s o s p r o c e s s o s p r o du c e r e
c o n s u m e r s e c o m u n i c a m v i a o pe r a ç ão s e n d c o m o be1?Zanager e e s te s e b l o qu e i a s e m pr e e m
u m a o pe r a ção r e c e i v e O p r o g r a m a a s e g u i r u s a e s s a s o l u ção
O e x e m p l o d o p r o d u t o r c o n s u m i d o r
O p r o g r a m a a s e g u i r i m p le m e n t a u m s i s t e m a p r o d u to r c o n s u m i do r a t r a v és d e o pe r a çMe s s en d e
r e c e i v e b lo q u e a n te s A n o m e a ção i m p l fc i t a é i n d ic a d a a t r a v és d a e s p e c i f i c a ç ão a n y Ob s e r v e que
o c o n s u m i d o r e n v i a a m e n s a ge m r e a d y p a r a i n d i c a r s e u de s e j o de r e c e be r m e n s a ge m
p r o c e s s p r o d u c e r
m s g : i n te g e r:
'
Io o p
/ * p r o d u z m e n s a ge m n zs g * /
s e n d [b u jûe r m a n a g e r , m s g)
e n d l o o p
p r o c e s s c o n s u m e r
m s g , r e a dy in t e ge r
lo o p
Send{buj $erana8er, 
r e a dy)
r e c e Yv e 9b u ße r u m
/ * c o n s o m e m e n s a g e m m s g * /
e n d l o o p
19 D e v e s e d i z e r qu e 0 c o n s u m ido r fa z is 1o " m e io c o n t r a r i a do "
, po i l s e u in t e r e s s e e a pe n a s r e c e be r m e n s
agen s
Scanned by CamScanner
C a pf t u lo 1 1 C o m u n i c a çao v i a t r o c a d e - 14 3
pt o c e s s b u ßFe r n 1a n a g e r
p la c e : a m y t l 10 ] o f i n te g e r
i n
, 
o u t : i n t e g e r i n i t i a l 1
c o u n t : i n te g e r i n i t i a l 0
t m g : i n t e ge r
lo o p
i f c o u n t > O a n d c o u n t < 10 / * bM e r p a r c i a l m e n t e c he i o /
t he n { r e c e i v e (a n y , n zsg ) ; / * r e c e be de qq p r o c e s s o * /
\î a n y = p r o du c e r
the n { p la c e [ in ] : - m sg ; / * r e c e be m s g * /
in : = ( in m o d 10) + 1
c o u n t = c o u n t +
e l s e { 1?1sg : = p ta c e [o u l ] ; / * a n y - c o n s u m e r * /
s e n d(c o n s u m e r , m sg ) ; / * e n v i a n zsg * /
o u t : = (o u t m o d 10 ) + 1
c o u n t : = c o u n t 1
e l s e i f c o u n i = O / * bu ße r v a z i o · /
t h e n { r e c e i v e (p r o d u c e r , m s g )
p la c e [ i n ] : = 1?1sg
i n : = ( in m o d 10) + 1
c o u n 1 = c o u n t +
e l s e { r e c e i v e (c o n s u m e r , n zsg ) ; / * bm r c he i o * /
m s g : = p la c e [o u t ]
s e n d(c o n s u m e r , m s g )
o u t : = (o u 1 m o d 10 ) + 1
c o u n B = c o u
e n d l o o p
E s t e p r o g r a m a e s t á e s c r i to de a c o r do c o m a s
in t a x e da l i n gu a ge m V a l e 4
11
. 
4 Se n d e r e c e i v e n a l i n g u a ge m W
A l i n g u a ge m V a le 4 i m p le m e n t a a s o pe r a çõe s s e n d 
e r e c e i v e b l o q u e a n te s , pe r m i t i n d o t a m b m a
fo r m a r e c e i v e (a n y , M s g ) A l m d i s s o , a l i n 吕 u a go m a dm i te o e n v i o n äo 
bl o q u o a n te a t r a v s d a
o pe r a qä o n b j e n d
p a r a i m p l e m e n t a r a o pe r a çao n ao b l o q u e a n t e n
b s e n d , c a da p r o c e s s o o u th r e a d do
s i s t e m a do t ad o de u m a c a i x a p o s t a l p r l v a t l v a ( i s to 6 , u m a f i l a p a r a r e c e pçäo de m e n s a ge
n s ) A
s e m ân t i c a da s o p e r a çö e s s e n d , n b j e n d e r e c e i v e a p r e s e n
t a d a i n f o r m a l m e n te a s e g u i r
Scanned by CamScanner
144 s is t e m a s o pg c i o e 
p r o g r 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 d e O l i v e A s c a r i r r im i
A o pe r a ç o s e n dEd , M sg ) b l o qu e i a o e x e c u
to r a té qu e o p r o c e s s o (o u th r e a d) id r e so lv a
r e c e be r a m e n s a g e m M s g o p r i m e i r o a rg
u m e n t o (i dent i í i caçi o d o r e c e p t o r ) po d e s e r u m n o me
d e p r o c e s s o 
j O 
o u u m v a lo r n u m ér i c o (c o n s t a n te o u v a r i áv e l i n te i r a ) qu e é i n te r pr e t ado c o m o 0
n ú m e r o ún i c o (p id ) de u m p r o c e s s o o u t ìzr e a d A m e n s a g e m 
M s g p o de s e r fo r m a da po r v ár ios
v a l o r e s i n t e i r o s o u b o o le a n o s (t a m a n ho v a r i áv e l ) , s e pa r a do s po r v írg u
l a
, 
s e n do qu e o s n o c e sso s
e n d e r e r e c e i ve r d e v e m c o n c o r da r n o s t ama
n h os d as m e n s a g e n s e n o s t i pos d os v a l or es
t r a n s m i t id o s
A o pe r a ção n bL s e n d (id , M sg ) e n v i a a m e n s a g e m M s g p a r a o p r o c e s s o o u t hr e a d U de
f o r m a a s s fn c r o n a A m e i r s a g e m M sg é s i m p l e s m e n t e e n c a d e a d a n a c
a i x a po s t a l d o r e c e p to r , sem
q u e h a j a b l o qu e i o do r e m e t e n te V a l e m a s m e s m a s o b s e r v a çõe s s o b r e a s fo r m a s de e s pe c i fi c ar id
e M s g fe i t a s n o p a r ág r a fo a n te r i o r
A o p e r a ção r e c e ïv e (id , M s g ) b l o q u e i a o p r o c e s s o e x e c u t o r a t é q u e c he gu e u m a
m e n s a ge m d o p r o c e s s o id O p r i m e i r o a r g u m e n t o , a l ém de n o m e d e p r o c e s s o o u v a
l o r n u m ér i c o
,
p o d e s e r t a m b ém a p a l a v r a a n y , qu e s i g n i f i c a o d e s e j o de f e c e b e r m e n s a g e m de qu a lqu e r
p r o c e s s o (e s p e r a n ã o d e t e n ?1i n ts 1ic a ) N e s t e c a s o , a pó s a r e c e pç ão da m e n s a g e ó o v a l o r da
v a r i áv e l l o c a l a n y 
6 1 i d e n t i f i c a o p r o c e s s o q u e e n v i o u e s s a m e n s a g e m A m e n s a ge m M sg é
fo r m a d a p o r v a r i áv e i s i n t e i r a s o u b o o l e a n a s , a s q u a i s i r o r e c e b e r o s v a l o r e s tr a n s m i t i do s pe la
o p e r a ç ão s e n d
1 1
. 
5 E X E R C I C l O S
E x e r c :c i o 11 1 I m a g i n e u m p a r p r o du t o r c o n s u m i d o r s e c o m u n i c a n d o d i r e t a m e n t e a tr a v és de
o pe r a çõe s s e n d e r e c e i v e b lo q u e a n te s I s to é , o p r o d u t o r (c i c l i c a m e n t e ) p r o du z u m a m e n s a ge m e
l i
a e n v i a pa r a o c o n s u m i do r , e e s te (c i c l ic a m e n t e ) r e c e be u m a m e n s a ge m e a c o n s o m e COnvença
! : : s e q u e a v e l o c i da de do s i s t e m a é de t e r m i n a da pe l a v e l o c i da de do m a i s l e n t o d o s do is p r o c e sso s
E x e r c fc i o 11 2 I m a g i n e u m pa r p r o du to r c o n s u m ido r s e c o m u n i c a n do a t r a v s de u m b id e r de
ta m a n ho n e qu e a v e l o c i da de de u m de l e s (t a n to fa z s e r o p r o du t o r c o m o o c o n s u n l i do r) 
é
s e m p r e m a i o r q u e a do o u t r o Co n v e n ça s e qu e ta m bém n e s te c a s o a v e l o c ida de do s i s ten
ra é
de te r m i n a da pe l a v e l o c ida de do m a i s le n t o D ic a s e o p r o d u t o r é m a i s le n t o , e n tao ba s
ta uma
po s IçÃo n o b u Ñe r s e o c o n s u m i do r é m a is le n to
, 
a pó s o b id e r e n c he r , o s i s te m a v a i a v a nç
ar na
v e lo c id a de d o c o n s u m ido r ( I s to m o s t r a q u e a u t i l i z a ç i<o de b rt ûir r s só 6 e f ic a z q u a n do a r e
laç8o
e n t r e a s v e lo c id a d e s do s p r o c e s s o s c o m u n ic a n te s v a r i a n o te m po )
P 1
, 
o n de 1 ë u m a c o n s t a n te in te i r a C lo n e s de p r o c e ss o s (c r i a do s a par t i r de u m m o de lo ) e t jj r ea d ï só po
u * '
r e fe Ddo s po r s e u s n i1n 1e r o s ún i c o s
6 1 A v a r i áv e l a n y (a i s i m c o m o o c o r r e c o m m y s e (ñ u m a v a r iáv e l in te i r a qu e t o do p r o c e s s o (o u t h r ea d) po s
su i e 11l
o
pr e c i s a se r de c la r a da A v ar i áv e l u n y t a m b m po de ae r u sa da n a o pe r a çäo Jo 1n d a l i n s u a gc m V 4
e :
Scanned by CamScanner
C a p f t u lo 1 1 C o m u n i c a çäo v i a t r o c a d e - 14 5
E x e r c f c i o 1 1 3 C o n s i d e r a n d o o ke r n e l de SO d i s c u t i d o n o c a p í t u l o 5 e s u po n d o q u e o s r e g i s t r o s
de s c r i t o r e s p o s s u a m u m c a m p o Jì ta M sg p a r a e n c a d e a m e n t o d e m e n s a g e n s , e s p e c i f i q u e c o m o
po d e r i a s e r f e i t a a i m p l e m e n t a ç ão d a s o p e r a çõ e s n b s e n d (p , m s g ) e r e c e i v e (q , m s g ) ne s s e ker nel
Po r q u ê , p a r a i m p l e m e n t a r n b s e n d , c a d a p r o c e s s o de v e te r u m a f i l a de m e n s a ge n s ?
E x e r c f c i o 1 1 4 C o l o q u e o p r o g r a m a d a s e ção 11 3 p a r a f u n c i o n a r e r e s po n d a a s pe r g u n t a s
a b a i x o U s e o c ód i g o a s e g u i r , n o q u a l o p r o d u t o r g e r a a s e q üên c i a do s ím p a r e s (d e l a 9 9 ) e o
c o n s u m i d o r u s a e s s a s e qü ên c i a p a 】a g e r a r e i m p D m i r a s éDe d o s q u a d r a do s O b s e r v e qu e n ão M
v a r i áv e i s g l o b a i s , i s t o é , o s p r o c e s s o s s ó s e c o m u n i c a m a t r a v és d a s m e n s a g e n s q u e e le s t r o c a m L
V 4 p r o g r a m
p r o c e s s p r o d n e e r
1m g i n t e g e r i n i t 1
l o o p / * p r o d u z a s ér i e d o s i m pa r e s 
* /
s e n d (b u ße r m a n a g e r , m s g)
n ?s g = m sg + 2
e x i t w h e n m s g > 100
e n d l o o p
p r o c e s s c o n s u m e r
m s g , r e a dy , q i n t e ge n
l o o p
s e n d {b u j$e r w n a g e r , r eadyì
r e c e i v e (b u uûe r . N 1a n a g e r , m s g ) ; / * a p a r t i r d o s ím p a r e s , * /
q = q + m sg ; /
* ge r a o s q u a d r a d o s * /
n l ; w r i t e (q )
e n d l o o p
p r o c e s s b幼le r 一 m a n a g e 门
l o o p
e n d l o o p
e n dp r o g r a m
(a ) A t r o c a de t o da o c o r r ên c i a d e s e n d po r n b s e n d o c a s io n a a l gu m p r o
b l e m a ? V a i ha v e r
a l g u m a d i fe r e n ça n o f u n c io n a m e n to 
do s i s te m a T
(b ) I m a g i n e o p r o d u t o r m a n d a n do m e n s a ge m a t r a v s de n b send(bt (ûr m a n a g
e r
. 
N u g ) c o
c o n s u m id o r m a n d a n do o a v i s o r e a dy a t r a v és de s e n
d (b rd t r n Ba n a g e r , r e a ø ) É c e r t o
d i z e r q u e , a pó s u m c e r t o te m po , o s i s te m a 
i r á f u n c i o n a r c o m o bu f f e r s e m pr e c he io ?
E x e r c fc i o 1 1 5 D ê u m e x e m p l o ( i n v e n te u m ) n o q u a l o u s o dc o pe r a ç
i)e s s e n d , n b s e n d e
r e c e i v e (a n y , m sg ) o c a s i o n e a po s t e rg a çao i n de f i n ida de a l 吕 u m p r o c
e s s o do p r o g r a m a
Scanned by CamScanner
叼
> $
146 s i s t e 1n a s o pe r a c io n a i s e Pr ogr amüRconcor r ent e s s r o s c a n i R s d e W u S S
ß r i
4ì h l E , H M '
B/ , 
i §
飞
1
: V q »
1i (
, 
f nd1Bb
Æ m o r e n o
D e l a i n o r a n c ia de n a ide s
n i n gu n o d e be a bu sn
y a u n qu e m e pu e de do b l a r
t o d o e l q u e t e n s a m ás a r t e ,
n o v o y a n i n gu n a pa r t e
a de ja n n e m a c he t ia r
* B
¬
r H e r e c l a r a o qu e e n 1e [u r a s âH i . V ? ; ' . ' . " ,
s o y r e do n do c o m o j o t a
n o a v c r g tl c n c e m i r c d o ta
,
* p u e s c o n c 1a r i dá le d igo A J
n o m e g u s t a qu e c o n m igo% f %· 
n a i de s j u e gu c a 1a pe lo t a 4 Fi , > . ° ' ' 
de be pe r de r la c a r r e r a] A n s f Ie pa s a a c u a lqu ie r a ,
c u a n do e n c o m pe t e n c ia * e ha l la Bî n ¡ ! .
u n c a n t o r de m e d i a t a l la
. \ 1 <
c o n o t r o de t a l la e n t e r a
i !
. ' , y y ' i 1 í î , / F ì : ! :
\
i

Outros materiais