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

a e n t r y é a c e i t a
" pe l a t a s k
0 f o r m a t o g e r a l d e u m c o m a n d o a c c e p t é o s e gu i n t e
a c c e p t e n t r y n a m e (p l , p 2 . , p n ) d o
c o m a n d o s
e n d
Qu a n d o u m a c h a m a d a é a c e i t a , i n i c i a o r e n d e z v o u s N e s s e m o m e n t o , o s d a do s s i lo
p a s s a d o s d o c l i e n t e p a r a o s e r v id o r , 
a t r a v és do s p a r âm e t r o s da e n t r y E m s e g u i d a , o c ód i g o
(c o m a n d o s c o n t i d o s n o a c c e p t ) é e x e c u t a d o F in a l m e n t e , o s r e s u l t a d o s , s e e x i s te n t s ão
de v o l v i d o s a o c l i e n t e , t a m bém a t r a v és do s p a r âm e t r o s 
d a e n t 1y E n q u a n t o o s e r v id o r e x e c u t a o
c ód i g o c o r r e s p o n d e n t e a o a c c e p t e c a
l c u l a o s r e s u l t a do s , o c l i e n te e s pe r a Qu a n do a e x e c u çäo
d e s s e c ód i g o t e r m i n a , o s p a r âm e t r o s de s a
fda s ão p a s s a do s pa r a o c l ie n t e , o r e n de z v o u s a c a ba e
o s p r o c e s s o s c l i e n t e e s e r v i d o r p r o s s e g u e m s u a
s e x e c u çõe s de f o r m a i n de pe n de n t e
O s c l i e n te s de v e m c o n he c e r a s ide n t i d a de s d o s s e r v
ido r e s e de s u a s e n t r i e s (e o s t i po s
d o s p a r âm e t r o s d a s m e s m a s ) , m a s o s s e r v id o r e s po de m a c e i t a r c ha m a d a s 
do q u a lq u e r c l ie n t e
(n o m e a ç ão i r n p l fc i t a ) A e x c l u s ão m ú t u a d a s e n t r i e s g a r a n t id a pe l a i m p
le m e n t a qäo s u b j a c e n t e
So m e n t e u m c l i e n te de c a d a v e z r e a l i z a r e n de z v o u s c o m o s e r v ido r
O u t r a s c ha m a da s po r v e n t u r a
e x i s t e n t e s f i c a m b l o q u e a d a s , e o a t e n d i m e n t o d e s s a s c
h a m a d a s é r e a l iz a d o n a o r d e m FC FS
A l i n g u a g e m A D A p e r m i te u s a r a e x p r e s s
ão e n ¢1y n a m e ( o u n t q u e de n o t a o n úm ¢ r o de
p r o c e s s o s q u e e s t ão n a f i l a de e s pe r a d a e n t r a
d a e n 1r r n a n 1e ( i s to é . p r o c e s s o s à e s pe r a d e
p o l i m o r f i s m o s i g n i f i c a s i m p le s m e n t e a o b t e n çao de r e
s po s t a s d i fe r e n t e s pa r a u m a m e n sa ge m De pe n de n d o 
de
q u e m r e c e b e a m e n s a ge m (o u do po n t o e m q u e a m e n s age m ë r e c e b id a ) 
Scanned by CamScanner
152 s i s t e m a s
-
o n a i s e P r o g r a m a çi1o 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 r a e A 9 m i
r e n d e z v o u s n e s s a e m r y ) Po r e x e m p l o , - s t a r t w r i te ' c o u n t " é o n ú m e r o de p r o c e ssos
c o r r e n t e m e n t e (n o m o 1n e n t o e m q u e a e x p r e s s ão é u s a d a e m a lg u m c o m a n do ) à e spe r a de
r e n d e z v o u s n a e n t r y s t a r t w D te "
U m a t a s k po s s u I d o i s c o m po n e n te s : u 1n c a be ça th o , o n d e s ão e s pe c i f i c a da s as e n r r i e r e
p r o c e d u r e s de s t a t a s k q u e po de m s e r c h a m a da s po r o u t r a s t a s ks (i s to é , q u e po d e m se r charnadas
d o " a m b i e n t e ex t er no " )
, 
e u n ï c o rp o , q u e c o n tém o c ód ig o da l a s k A s e gu i r é a p r e s e n tada a
e s t r u t u r a d e u m a t a s k
t a s k n o m e i s
De c la ra çäo do s n o m e s e pa râm e tro s da s e n tr ie s e p r oce du re s qu e po de m s e r c ha m a da s do a m b ie n te ext er no Ex e m plo
e n tr y E 1(a r g l
. , 
a r g E l )
p r o c e d u r e P I (a r g ]
.
a r g p 1 )
e n d
t a s k b o d y n o m e i s
1 De c la ra çäo da s tas ks c u ja s e n tn tes e /o u pro c edu re s são u s a da s po r e s ta tas k Ex e m plo
u s e ra s kA
, 
t a s k B
De c la ra ç o da s v a r iáv e is i nternas e da s p ro c e du re s de s ta tas lc Ex e m plo
c o u n t i n t e g e r
d e c l a r a çõ e s l o c a i s d e p l 
/ * c o m o e s te pro c e dim e n to fo i de c la r ado n o c a beça lho , e le * /
b e g i n 
/ * Po de s e r e x e c u tado po r o u t ra s ta s ks * /
e n d P 1
1 l q u l m bém pode m s e r decl aradas o u t ras e n lDe s e o u tra s pr oc e du re s pa ra u so in te r n o de sta la s k Ex e m p lo
I ; , 1 e n t r y E2 {a r g l . , a rg E 2)
p r o c e d u r e P2(a r g 1
. , 
a r g P2 )
de c l a r a ç õe s lo c a i s de P2
be g i n
e n d P2
Fh a lm e n te
, 
v e m o c ödigo da tas lc o n de cada c o m an do ac cept o r lgin a u m rende zv o u s
b e g i n
a c c e p t E l (a r g J
.
.
, 
a r g E B) do c o m a n d o s e n d
a c c e p t : E 2{a r g 1
. , 
a r g E2 ) do c o m a n do s e n d
e n d n o m e
Scanned by CamScanner
C a p f t u l o 12 R e n d e z v o u s 153
N a v e r d a d e
, 
n a s d e c l a r a ç ð e s d a s e n t r i e s e p r o c e d u r e s d e v e s e d e c l a r a r o s t ip o s d o s
a r g u m e n t o s e , a lé m d i s s o , i n f o r m a r s e o s m e s m o s s ão d e e n t r a d a o u d e s a :d a O s e x e m p l o s a
s e g u i r d e i x a r ão i s t o c l a r o
12
. 
2
. 
2 I m p l e m e n t a çã o d e m u t e x b e g i n e m u t e x e n d
A t a s k a s e g u i r , d e n o m i n a d a n zu t e
, 
i m p l e m e n t a d u a s e n t r ie s d e n o m i n a d a s x be g i n e x e n d , q u e
s i m u l a m a s o p e r a ç Me s m u t e x b e g i n e m u t e x e n d A t a s k f i c a n u m l o o p i n f i n i t o a c e i t a n do ,
al t er nadament e
, 
a s c h a m a d a s p a r a e s s a s d u a s e n t r a d a s
t a s k m u t e i s
e n t r y ×begi n
e n t r y x e n d
e n d
t a s k b o d y m u l e i s
b e g i n
l o o p
a c c e p t × b e g i n
a c c e p t x e n d
e n d l o o p
e n d m u r e
A s d e m a i s t a s k s d o p r o g r a m a u s a m a e n t r y × b e g i n p a r a r e q u i s i t a r a c e s s o e x c l u s i v o e a
e n t r y x e n d p a r a l i b e r a r e s s e a c e s s o A t a s k t a s e g u i r u t i l i z a e s s e e s qu e m a p a r a g a r a n t i r a c e s s o
e x c l u s i v o a u m r e c u r s o c o m p a r t i l h a d o
t a s k t
t a s k b Ä y I i s
u s e m u t e
b e g i n
m u t e x be g i n
/ * u s a o r e c u r s o de f o r m a e x c l u s i v a * /
m u re x e n d
e n d 1
Su p ö e s e q u e o s t r e c h o s a s e r e m e x e c u t a d o s de 
f o r m a m u t u a m e n te e x c lu s i v a e s te j a m
s e m p r e de n t r o d e u m " p a r d e p a r ê n t e s e s
"
m u l e x be g in e m u t e x e 1Bd
12 2 3 0 c o m a n d o s e l e c t
A s c h a m a d a s d a s e n t r a d a s de u m a t a s k n ao p r e c i s a m s e r a c e i t a s n e c e s s a r
i a m e n t e e m u m a o r de m
r i g id a , p r é e s t a b e l e c id a E x i s te o c o m a n d o s ¬ l e e t q u e pe r m
i t e a c e i t a r a s c ha m a d a s d e f o r m a m a i s
f l e x f v e l O c o m a n d o s e te c 1 t e m a s e g u i n t e fo r m a
Scanned by CamScanner
154 S i s t e 1n a s O pe r a c i o n a i s e p r o g r a 1n a ç1o 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 im i
s e l e c t
l w h e n c o n d / = > ] a c c e p t e n t r y ] ( ) d o < c o m a n do s 0> e n d
o r
[w h e n c o n d 2 = > ] a c c e p t e n t r y 2

Crie agora seu perfil grátis para visualizar sem restrições.