A maior rede de estudos do Brasil

Grátis
22 pág.
Sistemas Operacionais e Programação Concorrente - Capítulo 12

Pré-visualização | Página 2 de 8

r e x e c u t a d o , u m d e l e s é e s c o l h i d o
a l e a t o D a m e n t e É e s t a c a r a c t e r í s t i c a de C SP q u e pe r m i t e r e a l i z a r c o m u n i c a ção n ão
d e t e r m i n fs t i c a
, p o i s p e r m i t e q u e u m p r o c e s s o e s pe c i f i qu e v ár i o s c o m a n d o s i n p u 1 (u m p o r gu a r d a )
c o m f o n ce s d i f e r e n t e s Se m a i s d e u m p r o c e s s o f o n t e e s t á e s p e r a n do p o r c o m u n i c a ç ão , e n t ão a
c o m u n i c a ç ão é f e i t a c o m u m d e l e s , e s c o l hi do a l e a t o r
i a m e n t e Se n e n h u m p r o c e s s o f o n t e e s t á
de s e j a n d o c o m 11n i c a ção , e n t ão o p r o c e s s o d e s t i n o f i c a b lo q u e a do n o c o m a n d o a l t e m a t i v o \ a
e s pe r a d e a l g u m p r o c e s s o f o n t e
U m c o m a n d o a l t e m a i i v o po de s e r r e pe t id o s u c e s s i v a m e n t e , a t q u e e l e f a l he (o
c o m a n d o f a l h a a pe n a s q u a n d o t o d a s a s s u a s g u a r
d a s f a l ha m ) Pa r a i s t o e x i s t e o c o n 1a n d o
r e p e t i 1i v o q u e t e m a s e g u i n t e s i n t a x e
* t G l + C l I G 2 > C 2 I I G n } C n ]
Qu a n d o t o d a s a s g u a r d a s f a l h a m , o c o m a n d o r e pe t i t i v o t e r m i n a (n o f a l ha ) e o c o n t r o
ûe d a
e x e c u ç ã o t r a n s fe Ddo p a r a o p r ó x i m o c o m a n d o
N o c a p í t u l o a n t e r i o r o p r o b l e m a d o p r o d u t o r c o n s u m
id o r c o m b rt ûir , I i 1n i t a d o Fo i
s o l u c i o n a d o c o m a s o pe r a çö e s s e n d e r e c e i v e t r a d i c io n a is A s e g u
i r o p r o c e s s o bBdr n 1a n a g e r 
r e a p r e s e n t a d o e m C SP
Scanned by CamScanner
15 0 S i s te m a s - n a i s e Pr o g r a 1n 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 W ssi , n j
P r o c e s s b u f f e r n 1a n a ge r
p /a c e : a m y t l 10 ] o f i n t e g e r
i11
, 
o l ¢t
, 
r e a d y i n t e ge r
i n : = 1 ; / * i n = o u t i n d i c a b 11j ìe r v a z i o * /
o u t : = 1 ; / * in = o u t + l o i n d i c a b1Bl ïe r c he io * /
i n < o u t + l o ; p r o d u c e r ? p ta c e [ i n m o d I O + l ]
+ i n : = i n + l
OU1«i n c o n s u m e r ? r e a dy
> c o n s u n ze r ! p l a c e [o u t m o d 10 + 1] ; o u t : = o u t + l
N e s t e e x e m p l o f i c a e v i d e n t e o m a i o r p o de r de r e p r e s e n t a ção d e C SP , e m c o m pa r a ção a
- l i n g u a g e m q u e u t i l i z e o p e r a çMe s s e n d e r e c e i v e t r a d i c i o n a i s E s t a s o l u ç ão p o d e r i a s e r a in da
m a i s s i m p l e s s e C SP p e r m i t i s s e o u s o d e c o m a n d o s d e s a íd a e m g u a r d a s N e s t e c a s o , a s e gu n da
al t er nat i va d o c o m a n d o r e pe ti t i v o p o d e r i a s e r " o u t < i n ; c o n s u m e r ! p ta c e [o u t m o d 10 + l ] >
o u t = o u t + 1" I n f e l i z m e n t e
, 
C SP n ão p e r m i t e o u s o d e o pe r a çõe s t ip o s e n d e m g u a r d a s
12
. 
2 A l i n g u a g e m A D A
A D A l RA F 9 7 ] é u m a l i n g u a g e m d e p r o g r a m a ção c o n c o r r e n t e m u i t o p o d e r o s a , v e n c e do r a de u m
e d i t a l 63 e m qu e c o m pe t i r a m v ár i a s p r o p o s t a s d e l i n g u a ge n s , n a b u s c a d e u m a qu e f o s s e adequ ada
p a r a o d e s e n v o l v i m e n t o d e s i s t e m a s c o n c o r r e n te s g r a n d e s e c o m p l e x o s E m A D A , o s pr o c e sso s
s ão de n o m i n a d o s t a s ks e u m p r o g r a m a e s pe c i f i c a v ár i a s t a s ks (p r o c e s s o s i n de pe n de n te s) Par a
s e r e m e x e c u t a da s e m p a r a l e l o
C a d a l a s k e s t a be le c e u m a l in ha (o u f lu x o ) de e x e c u ção , de n o m i n a da 1h r ¬ a d Qu alquer
t a s k p o de d e f i n i r o p e r a çðe s m u t u a m e n te e x c l u s i v a s pa r a s e r e m u s a da s p o r o u t r a s t a s ks 
Ma is do
q u e i s s o , u m a t a s k po d e de f i n i r t a m bém p r o c e d i m e n t o s r e e n t r áv e i s t r a d i c i o n a is pa r
a sere
m
c h - s l i v r e m n t e e e x e c u ta do s e m s i m u l t lin e o po r v ár i a s t a s ks
u m a o pe r a ção m u t u a m e n t e e x c lu s i v a é i m pl e m e n t a da po r u m t ipo e
spe c ia l 
d¢
p r o c e d i m e n t o , d e n o m i n a d o e n r r y p a r a e x e c u ta r u m a o pe r a qilo m u tu a m e n te e
x c l u s i v a , 
um
p r o c e s s o c h a m a a e n t r y a p r o p r i a d a d a ta s k , pa s s a n do o s pa r l lm e t r o s n e c e s s ár io s 
à e x e c u ç
o , 
e
a g u a r d a (blo q u e a d o ) a e x e c u çao d a o pe r a ç o Qu e m e x e c u ta a o pe r a ç o é o p r o c e s s o qu
e c o n
térl l
a e n t r y (n ão o q u e c h a m o u ) e p a r a i s s o e x i s te o c o m a n do a c c e p t , q u e s e r á e x p l i c ado a s
egu i r
1 1 O p r o je t o A D A fo i f i n a n c i a d o e c o o rd e n a do pe l o D e pa r t a m e n to d e D e fe sa do s E UA e s eu o b je t i
v o c ra 
c t iar k
ina
l i n i u a ge m qu e fa c i l i ta r l e a c o n s (r u çao e a pr o v a da c o r r e çao de pr o g r a m a s c o n c o r r e n t e s
Scanned by CamScanner
Ca p f t u lo 12 R e n d e z v o u s 15 1
12
. 
2 1 0 c o m a n d o a c c e p t e o r e n d e z v o u s
U m r e n d e z v o u s e n v o l v e e x a t a m e n t e du a s t a s ks : u m a c l i e n t e (c Ee n t o u c a l l e r ) e u m a s e r v id o r a
(s e r v e r ) N o q u e s e g u e , a s d e n o m i n a çõ e s c l ie n t e e s e r v i d o r s e r äo u t i l i z a d a s n o m a s c u l i n o , c o m o
é u s u a l O c l i e n t e c h a m a u m a e n t r a d a (e n t r y ) do s e r v id o r pa r a q u e e l e (o s e r v id o r ) e x e c u t e a
o pe r a ç ão c o n i e s p o n d e n t e a e s s a e n t r a d a O s e r v id o r , qu a n do d e s e j a , e x e c u t a u m c o m a n do a c c e p t
pa r a a e n t r y , p a r a a c e i t a r a c h a m a d a e e x e c u t a r a o pe r a ção
E n q u a n t o o s e r v i d o r n ão e x e c u t a o a c c e p t , o c l i e n t e f i c a à e s p e r a (b l o q u e a d o n a
c h a m a d a ) Se o s e r v i d o r e x e c u t a u m a c c e p t p a r a u m a e n t r a d a q u e a i n d a n ão f o i c h a m a da p o r u m
c l i e n t e
, 
e n t ão é o s e r v i d o r q u e e s pe r a (b l o q u e a d o n o a c c e p t ) , a t é qu e a l g u m a t a s k c h a m e e s s a
e n tr a d a É e s s e e n c o n t r o de d u a s t a s ks
, 
o n de a p r i m e i r a q u e c h e g a e s p e r a pe la s e g u n d q u e
c o n s t i t u i o r e n d e z v o u s
O c ó d i g o e x e c u t a d o p o r o c a s i ão d o r e n d e z v o u s é o c ód ig o i n c l u fd o n o c o m a n d o a c c e p t
d o s e r v i d o r p o r t a n t o
, 
d i f e r e n t e s a c c e p t s p a r a u m a m e s m a e n t r a d a , e m d i f e r e n t e s l o c a i s d o
s e r v i d o r
, p o d e m e x e c u t a r c ód i g o s d i s t i n t o s I s t o é o q u e s e d e n o m i n a p o Em o d ìs m o 
64 D e s s a
m a n e i r a
, 
a s e n t r i e s s ão m a i s g e r a i s q u e a s p r o c e d u r e s , p o i s p o d e m e x e c u t a r c ód i g o s d i f e r e n t e s ,
e m f u n ç ã o d o p o n t o e m q u e