A maior rede de estudos do Brasil

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

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

t h e x p r e s s i o n
p a th (a lb ) e n d
i n d i c a q u e b s ó po de s e r e x e c u t a do a pó s u m n ú m e r o ím p a r de e x e c u çõe s de a
A p a t h e x p r e s s io n
p m h a , bl { CD e n d
e s pe c i f ic a q u e u m a e x e c u ção d o p r o c e d i m e n t o a po de s e r s e g u ida po r u m a c x e c u ç äo de b o u 
de
c
, 
s e n do q u e c po de s e r e x e c u t a do s i m u l t a n e a m e n te p o r v ár i o s p r o c e s s o s O u t r a e x c c u ç
1o da
e x p r e s aão po s 1 f v e l a pó s b te r s ido c o m p le t ado o u a pós c tc r s ido c o m p l e t a do po r 
t o do s o s
P« x * * 1 o 1 q u e o e s ta v a m e x e c u t a n do O a u tð m a to q u e t r a o c o m po r t a m e n t o 
de s t a p a l A
e x p r e r* io n m o s t r a d o n a f i g u r a 10 3 0 a r c o t r ac e j a do n o e s t a do 3 e s pe c i f i c a q u e n o v a s
e x e c u çõe s de c n ao p r e c i s a m e spe r a r pe lo t r m i n o d a 1 e x e c u çöe s a n te r i o r e s
A a v a l i a ç o d a p a l A e x p r e Bs l o n p a r a e s c o l he r o p rö x i m o p r o c e d i m e n t o a s e r e x e c u t a
do é
r e a l i z a d a de f o r m a i n d i v i a :v e l e o s p r o c e d i r r re n t o s s l o e x e c u t a d o s de - m u t u a m e n t e
e x c l u s i v a
, 
a m e n o s q u e s e j a i n d i c a d a e x p l ic i t a m e n t e a po s s i b i l ida de de e x e c u çao s i m u l tän e a
b
b
Scanned by CamScanner
130 s i s t e m a s
-
o n a i s e Pr o g r a m a çi1o 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 1 i vei ras 
sjini
b C
1 8
Fig u r a 10 3 A u t ö m a t o c o r r e s p o n d e n t e à e x p r e s s ão p a t h a
, 
(b l{c )) e n d
A p a t h e x p r e s s io n
p a th { r e a d } lw r i t e e n d
é u m a e s p e c i f i c a ção q u e r e s o l v e o p r o b le m a do s r e a d e r s & w r i1e r s
, 
d a n do p r i o r idade pa r a os
r e a de r s
P r o d u t o r c o n s u m i d o r c o m b u f f e r s i m p l e s
O e x e m p l o a s e gu i r m o s t r a u m p r o g r a m a c o n c o r r e n t e c o m p l e to , fo r m a do po r u m par de
Pr o c e s s o s ( o p r o d u t o r e o c o n s u m i d o r ) e u m m o n i t o r e s t e n d ido c o m p a th e x p r e s s i o n s
p a t hm o n i t o r b u ße r
p ta c e : i n t e g e r
p a t h p u I , g e t e n d
p r o c e du r e p u t (m sg : i n t e ge r )
p .a c e - ms g
p r o c e d u r e g e t (m s g i n te ge r )
m s g = Pl ace
e n d pa thm o n i t o r
pr o c e s s pr oducer
m i n t e ge r
l o o p
/ * p r o du z m e n s a ge m m · /
b u ße r p u t{m )
e n d l o o p
p r o c e s s c o n s u m e r
m i n t e ge r
l o o p
bu jde r Ge t (n i)
/ * c o n s o m e m e n s a ge m m * /
e n d lo o p
飞
0 o p e r a d o r 【a b】n 多 r
斥
o e x e m p l o a n te Do r s e r i a m a i s c o m p le x o s e fo s s e u t i l i z a do u m b rt ûir r c o m m a i s de u
m a posiç
M
Po r e x e m p l o , Be ho u v e s s e m 10 po s içö e s n o v e to r p l a c e , e n tao a r e s t r iç l o qu e de v e
r i a hav er 
e nae
p1rr
a s o pe r a çõe s p u 1 e g e ¢ s e ñ a " #pu t #ge t 5 10 "
, 
o n de # s is n i f 1c a n úm e r o de e x
ec u «
s
: j
a
Scanned by CamScanner
C a pí t u l o I O M o n i t o r e s c o m Pa t h E x p r e s s i o n s 13 1
s i m p l i f i c a r a s o l u ç ão d e s t e t i p o d e p r o b le m a , a s p a th e x p r e s s i o n s fo r a m e s te n di da s e p a s s a r a m a
a dm i t i r o u t r o o pe r a d o r , r e p r e s e n t a do p o r [a b ] " E s te n o v o e l e m e n to
, 
de n o m i n a d o " n u m e Dc
pa t h e l e m e n t " , s ig n i f i c a qu e o n ú m e r o de e x e c u çMe s de a t e m qu e s e r m a i o r o u i g u a l a o n ú m e r o
de e x e c u çö e s d e b , m a s a d i fe r e n ç a n u n c a de v e e x c e d e r n
P r o d u t o r c o n s u m i d o r c o m b u f f e r l i m i t a o
O p r o g r a m a a n te r i o r p o de s e r g e n e r a l i z a do p a r a pe r m i t i r qu e o p r o c e s s o p r o du t o r p o s s a a n da r a t
I O m e n s a ge n s n a f r e n t e do c o n s u m id o r
p a t h m o n i t o r ber pool
p l a c e : a r r a y t 10 ] o f in t e ge r
i n
, 
o u t i n t e ge r i n i t i a l 1
, 
l
p a t h 【p u t g e t ] " e n d
p r o c e du r e p u t (m s g : i n t e g e r )
p la c e [ in ] : - m sg
in : = (in m o d 10) + 1
p r o c e d u r e g e t (m s g : in t e g e r )
m s g : = p la c e [o u t ]
o u t = (o u t m o d 10 ) + 1
e n d
pr o c e s s p r o d u t o r
m i n t e g e r
l o o p
/ * p r o d u z m e n s a ge m m « /
b u ße r p o o t p Æ (m )
e n d l o o p
pr o c e s s c o n s u m ido r
m i n t e g e r
l o o p
b u jï e rp o o l Bet tni »
/ * c o n s o m e m e n s ag e m m * /
e n d l o o p
A l o c a ç£to d e u m r e c u r s o r e u s ¢iv e l , 1
0 m o n i to r p a r a c o n t r o l a r a a lo c aç1o de u m r e c u r s o fo r m a do po r I O u n i da de s , c o n s i de r a do n a
s e ç o 9 8 1 , p o de r i a s e r t r a n s fo r m a d o n u m p a l hm o n l l o r c o m a s e 吕 u i n te e x p r e s s ao de c a m i n ho
p a t h [r e q u e s t r e l e a s e ] l o e n d
Scanned by CamScanner
132 s i s te m a s o pe ® o n a is e p r o gr am Co n c o r r e n t e - R S de O I a 
mi
10
. 
3 I m p l e m e n t a ç o d e p a l l 1 e x p r e s s i o n s c o m s e m áf o r o s
0 a lgo Dt m o a s e gu i r e x a m i n a u m a p a t /1 ex p r e s s i o n e i n s e r e o pe r a çöe s de s i n e r o n iz ação à
e s q u e r d a e à d i r e i t a de c a d a u m do s s e u s o pe r a n do s O s n o m e s o s e e o s d s ão u sado s par a
r e p r e s e n t a 】 : a s o pe r a çMe s de s in c r o n i z a ção da e squ e r da e da d i r e i ta , r e s pe c t i v a m e n te
A l g o r i t m o
In i c i a l i z a ção Se l e c i o n a r u m ún ic o s e m áfo r o S 1 in i c i a l i z a do c o m 1 e s u bs t i tu i r
" p a t h < pa th e x p r e s s io n > e n d 
" po r
" P (S r ) < p a th e x p r e s s io n > V (S r>"
 D e c o mp o r suc e s s i va me n t e <p a t h ex p r es s i on > e, d ep en d en d o dos co mp o n e n t es
e n c o n t r a do s
, 
e x e c u t a r u m do s s e gu i n t e s pa s s o s
(a ) E n c o n t r a s e qü e n c i a ção
< p a th e x p r e s s io n l > , < p a th e x p r e s s i o n 2 >
e n t ão s e l e c i o n a u m ú n i c o s e m áf o r o 5 2 i n i c i a l i z a do c o m z e r o e s u b s t i t u i o
o pe r a d o r " ,
" po r " V (5 2) P(SzY" I s t o r e s u l t a e m
< p a th e x p r e s s io n l > V (Sz ) P (Sz) < pa th e x p r e s s i o n 2>
(b ) E n c o n t r a s e le ção
o s e « p a th e x p r e s s i o n l > 1 < p a th e x p r e s s i o n 2> o s d
e n t ão s u b s t i tu i o o pe r a do r de s e l e ção " l" p o r " o s d o s e " I s t o r e s u l t a e m
o s e < pa th e x p r e s s i o n l > o s d o s e < p a th e x p r e s s io n 2> o s d
(c ) E n c o n t r a e x e c u ção s i m u l tân e a
P (S i) {< pa th e x p r e s s io n > } V (Sj )
e n tão s e l e c i o n a u m c o n t a do r C , in i c i a l i z a do c o m z e r o e u m s e m áf o r o 5 3} in ic i a l i z a do c o m 1 e s u bs t i t u i " P (Si) { " p o r " PP(C . . 5 3 , SlY" e " } V (Sjy" po r
" W( C
. . 
53 , Sjy
" I s to r e s u l t a e m
PP(C
. . 
53 , Su < pa th e x p r e s s io n > W( C