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 6 de 8

o p r o b l e m a d a s c o n d içö e s de c o r r i d a (pa s s a a s e r n e c e s s ár i o o u s o d e m e c a n i s m o s d e
s i n c r o n i z a ção , t i po s e m áfo r o s , a n í v e l i nt er no , n a s t a s
ks ) 
0 o v e r he a d do SO d i m i n u fdo v i s t o q u e u m a th r e a d é m a i s f i ic i l d e a 山村 n i s t r a r 
d o q u e
u m a t a s k T o d a s a s t h r e a d s d e u l r 1a t a s k e x e c u t a m o m e s m o c ód i g o (c ód ig o d a t a s k ) . u s a m a s
m e s m a s v a r i áv e i s ( v a r i áv e i s da t a s k ) e c o m pa r t i l ha m o s m e s m o s a r q u i v o s O c u s to de
a d m i n i s t r a ção s e r e s u m e , p r a t i c a m e n te , i\ m a n u t e n ção d a s c óp
i a s d o s r e g i s t r a do r e s d a U C P p a r a
Scanned by CamScanner
: d
] 6o s i s t e m a s o pe r a c i o n a i s e P r o g r 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 CaDss i m i
c a d a 1/Br e a d
kö U m a rg u r 1ì e n t o f i n a l e de f i n i t
i v o s e r i a o s e g u i n t e : é m u i t o m a i s e c o n ôm i c o e
e f i c i e n t e i m p le m e n t a r u m c o n j u n t o d e N s e r v i ç o s a t r a v
és d e u m a ú n i c a l a s k c o m N t h r e a ds do
q u e a t r a v és d e N ta s ks i n d e p e n de n te s
12
. 
3 R e 11d e z v o u s n a l i n g u a g e m V 4
A l i n g u a g e m W i m p l e m e n t a t a s k s e r e n de z v o u z u t
i l i z a n d o u m a s i n t a x e s e m e l h a n t e à u t i l i z a da n a
l i n g u a ge m A D A A s d i fe r e n ç a s e n t r e a s t a s ks A D A e 
W s ão a p r e s e n t a d a s n e s t a s e ção
E m V 4
, 
o c o m a n d o a c c e p t é u m p o u c o m a i s ge r a l , t a n
t o n o a s p e c to s in tát i c o c o m o n o
s e m ân t i c o N a v e r d a d e , o c o m a n d o a c c e p t d e V 4 s e a p r o x
i m a d o c o m a n d o s e l e c t de A D A ,
c o n fo r m e é e x p l i c a d o a s e g u i r A fo r m a g e r a l de u m c o m a n
d o a c c e p t V 4 é a s e g u i n te
a c c e p t e n t l y n a n 1e (p l : t i p o l ; ; p N t i p o N ) [ r e t u r n s t i p o R ]
[ w h e n c o n d i t i o n ] d o c o m a n d o
s e n d o q u e o s c o m p o n e n te s e n t r e c o l c h e te s s ão o p c i o n a i s
I n f o r m a l m e n t e
, 
a s e m ân t i c a do c o m a n d o a c c ep t é a s e g u i n t e C o m o s a be m o s , u m
r e n d e z v o u s e n v o l v e d u a s 1/ t r e a d s , u m a q u e e x e c u t a u m c a t t p a r a u m a e n t r y X (de n o m in ada
c a l l e r ) e o u t r a q u e e x e c u ta u m a c c p l pa r a e s s a m e s m a e n t r y x (d e n o m i n a d a a c c ep1o r ) A
p Dm e i r a d a s t h r e a d s q u e c he g a a o s e u c o m a n d o (c a l l o u a c c ep t ) s e b l o q u e i a a t é q u e a s e gu n da
t h r e a d c he g u e a o c o m a n d o c o m p l e m e n t a r (a c c e p t o u c a l l ) c o r r e s p o n de n t e Qu a n d o a s e gu n da
1fr r e a d c he g a a o c o m a n d o c o m p l e m e n t a r , t u d o e s tá p r o n t o p a r a o r e n d e z v o u s N e s s e m o m e n to , 
a
c o n d i ção e s pe c i f i c a da n a c l áu s u l a w h e n d o a c c e p t é a v a l i a da Se e s s a c o n d ição é v e r da de i r a , 
o
r e n z v o u s é r e a l i z a do (d e f o r m a m u t u a m e n t e e x c l u s i v a )
, 
o u s e j a o c o m a n d o e s pe c i f ic a do n o
a c c e p t é e x e c u ta do Se a c o n d ição n ão é v e rd ade i r a , a U C p p a s s a p a 】n o u t r a t h r e a d d a r e a dy l ij t
A i m p l e m e n t a ção de s s a s e m ân t ic a e n v o l v e a u t i l i z a ção de u m a f i l a de e s pe r a e spe c
i a l
p o r l a s k , d e n o m i n a da ß ta d o r e n d e z v o u s E s s a f i l a é f o r m a da pe l o s pa r e s de 1h r e a d s c a l
l t p
a c c e p 1o t " q u e e s tão e s pe r a n do pa r a r e a l i z a r r e n d e z v o u s n e s s a t a s k L e m b r e q u e o s r e ï Bde > o
u s de
u m a l a s k , m e s m o q u e e n v o l v a m e n t r i e s i n de pe n de n te s
, 
de v e m s e r m u t u a m e n te e x c l u s iv o s
Is to
é
, 
n o m áx i m o , po de s e t e r u m r e n de z v o u s e m a n d a m e n to e m c a da t a s k c o m p le m e n t a n
d o o
p a r ág r a fo a n te Do r , q u a n do a c o n d iç o d a c l áu s u l a w he n é fa ls a
, 
o pa r de i h r ¬ a ds q
u e t in ha
c he g a do a o p o n t o de e n c o n t r o v a i p a r a o f i m d a Jì la d o r e n d e z v o u s da l a s k c o rr e s po n de n
t e ao
a c c e p 1o r
66 c o n fo r m e v i m o s , a c ada thr e a d de v e c o r r e i po n de r u m m i n i r e 吕 is t r o dc s c r i to r
, pa r a a r m a z e n ar o s 
v a lo res 
dos
r e g i1 t r a do r e 1 da U CP , e u m a p i lha pa r a a i c ha m a da s e r et or nos de p r o c e d i m e n t o s
Scanned by CamScanner
C a p f t u l o 12 R e n d e z v o u s 
1ó l
12 3 1 F o r m a t o d e u n i a t a s k V 4
B a s i c a m e n t e
, 
u m a t a s k V 4 t e m o s e g u i n t e f o r m a t o
t a s k n o m e i s
D e c la r a ç i ìo d e v a r iá v e i s
, 
e n t r i e s e p r o c e d u r e s
t h r e a d m a i n is
C o m a n d o
e n d n o n 1e
C o m o s e v ê
, 
t o d a t a s k W p o s s u i u m a t h r e a d de n o m i n a d a m a i n E s t a t h r e a d p o d e c r i a r
t h r e a d s f i l h a s a t r a v é s d e c o m a n do s Jo r k E s t a p o s s i b i l id a de de p r o g r a m a ç i io m u t1i t h r e a d m a i s a
d i s p o n i b i l i d a d e d o c o m a n d o a c c ep t p e r m i t e p r o g r a m a r e s p e r a s n ão de te r m i n :s t i c a s e m u m a t a s k ,
t o m a n d o d e s n e c e s s ár i a a e x i s t ên c i a de c o m a n d o s t i po s e l e c t C o m o t a l , a l i n g u a g e m V 4 n ão
i n 1p l e m e n t a o c o m a n d o s e l e c t
12 " 2 E x e m p l o s d e t a s k s V 4
N o q u e s e g u e s ão a p r e s e n t a d o s q u a t r o p r o g r a m a s e x e m p l o s c o m p l e t o s , q u e i l u s t r a m a
p r o g r a m a ção e n v o l v e n d o t a s k s , t h r e a d s e r e n d e z v o u s n a l i n g u a g e m V 4
I m p l e m e n t a ção d e m u t e x b e g i n / e n d
E s t e e x e m p l o é o m e s m o j á a p r e s e n t a d o n a s e ção 12 2 2 , a g o r a e s c r i t o d e a c o r d o c o m a s i n t a x e
d e V 4 0 e x e m p l o m o s t r a q u e é p o s s f v e l u t i l i z a r t a s k s e p r o c e s s o s e m u m m e s m o p r o g r a m a
V 4 p r o g r a m
t a s k m u l e i s
e n t r y × be g i n o e n tTy x endo
t h r e a d m a i n i s
l o o p
a c c e p t x b e g in o do n o th i n g
a c c e p t x e n do d o n o t hin g
e n d lo o p
e n d m u l e
p r o c e s s p ( i : = l t o 3 )
k : i n t e ge r
w hu e k 5 d o
m u t e x b e g in o
n l ; w r i t e ( ' p ' ) ; w D t e ( i ) : w r i te ( ' e s t á c o m o r e c u r s o
' )
m u re Xendo
k : = k + 1
e n d p r o g r a m
Scanned by CamScanner
162 s i s t e m a s o pe r a c io n a i s e p r o g r a i 
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 l im i
O p r o b 1e n 1a d o p r o d u t o r c o n s u 111i
d o r
E s t e é o v e l ho p r o b le m a d o p a r p r o d u t o r c o n s u m
i do r
, qu e te m s i d o u s a d o p a r a i l u s t r a r c