A maior rede de estudos do Brasil

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

Pré-visualização | Página 4 de 7

t e r o s s e g u i n te s a r r a y s
l i v r e M t50】
, ß l a M t50 ] e j ì ta c t 100 ] Se r i a t a r e f a do c o m p i l a d o r a s s o c i a r c a d a m o n i t o r d e f i n i do e
c a d a v a r i áv e l c o n d i ção u t i l i z a d a
, 
a o s e l e m e n t o s de s s e s v e to r e s
9
. 
7 M o n i t o r e s n a l i n g u a g e m V 4
A l i n gu a g e m W i m p l e m e n t a o c o n c e i t o de m o n i t o r c o m a s i n t a x e d e H o a r e (s e ç ão 9 I ) A
s e m ân t i c a é e x a t a m e n t e a m e s m a de f i n i d a n a s e ção a n t e Do r , p a r a a i m p le m e n t a ç ão n o ke r n e l d e
u m SO A d i c i o n a l m e n t e
, 
V 4 p e r m i t e o u s o d e v a r i áv e i s t i p o p r i o r i ty c o n d i t io n , a s q u a i s s ão
a p r e s e n t a d a s n o e x e m p l o d a s e ção 9 8 6
A c l áu s u l a d e i n i c i a l i z a ç ão d e u m m o n i t o r é o p c i o n a l A s v a r i áv e i s p o d e m s e r
i n i c i a l i z a d a s n a s s u a s p r ó p r i a s de c l a r a çõ e s
D e n t r o d e u m p r o c e s s o , p a r a c h a m a r u m p r o c e d i m e n t o p r o c e d d e u m m o n i t o r m o n c o m
a r g u m e n t o s a 1 , a 2 . , a n , é u t i l i z a d a a s e g u i n t e s i n t a x e
m o n p r o c e d {a +, a 2 . a n)
9
. 
8 E x e m p l o s d e m o n i t o r e s
T o do s o s p r o g r a m a s e x e m p l o s qu e s e r ão a p r e s e n
t a do s a s e gu i r u t i l i z a m a s i n t a x e d e V 4 e
,
po r t a n t o , po d e m s e r c o m p i l a d o s e e x e c u
t a do s n o a m b ie n te V 4
9 8 1 A l o c a ção d e u m r e c u r s o
0 m o n i t o r a s e g u i r c o n t r o l a a a l o c a ção d e u m 
r e c u r s o c o m I O u n ida de s S o u s a do s o s m e s n n o s
a l g o D t m o s j á v i s t o s n a s s o l u çöe s a n t e Do r e s de s t e p r o b le m a
m o n i t o r r e c u r s o
R a r r a y [ l 이 o f i n t e ge r
T i n t e g e r
C c o n d i t io n
p r o c e d u r e r e q u e s l ( U i n te ge r )
i f T = O t he n w a i t (C )
U « R t 71
T = T 1
Scanned by CamScanner
i g5' Ìï
116 S i s t e m as Ope r a c io n a is e Pr o 8r a m a ® 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 ive i r a y
: 9 e , . ï t / c p r o c edu r e r e le a s e (U in te ge r )
? = T+ l
R171: = U
si gnaKC
i n M a u y
T : = O
lo o p
T = 7 + l
R tTt : = T
e x i t w he n T- 10
e n d l o o p
e n d r e c u r s o
9 8
. 
2 P r o d u t o r c o n s u m i d o r
0 m o n i t o r a s e g u i r p e r m i t e a c o m u n ic a ção e n t r e p r o c e s s o s p r o d u t o r e s e c o n s u m i do r e s a t r a v s de
u m b u ûe r de 10 p o s içõ e s
m o n i t o r b u Be r
p ta c e a m y [ 10 ] o f i n te ge r
c o u n t i n t e ge r i n i t i a l 0
i n
, 
o u t i n t e ge r i n i t i a l l
c o u n t G n J
, 
c o u n 1L T 10 c o n d i t i o n ; / * r e p r e s e n t a m a s c o n d içõ e s c o u n t> o e c o u n k l o
* /
p r o c e d u r e p u t (n 1sg i n te g e r )
i f C O u n 1= l O the n w a i t (c o u n tL T I O)
p la c e l in l : - n u g
i n - (in m o d 10 )+ l
c o u n t = c o u n 1+ l
s ign a l (c o u n l G 70 )
p r o c e du r e g e 1(m s g : i n te ge r )
i f CQ u n 1= O the n w a i t (c o u n t G TO)
m s g : eptacel out ì
o u t a to u t 心比心 10 )+ l
c o u n t : = c o u n t 1
s \ gn a \ [c o u n tLT } 0)
e n d b B r
i l8 O s pr o c e s s o s pr o d u t o r e c o n s u m i d o r s e r i a m c o m o se g u e
t i
: aå ? ;
3 : ·
) :
)
Scanned by CamScanner
Ca p lh 1lo 9 M o n i t o n e i 1 1 7
p r o c e s s p r o d u c e r p r o c e s s c o n s u m e r
n 1sg : i n t e g e n m s g : i n te g e r
lo o p lo o p
/ * p r o d u z m e n s a g e m n m g * / bu l le r Ge l (m g )
b r p u 吖 m s g ) / · c o n s o m e m e n s a g e m n u g * /
e n d l o o p e n d l o o p
e n d p r o d u c e r e n d c o n s u m e r
9 8 3 C a i x a s p o s t a i s t i p o s i n g l e s l o t
O e x e m p l o a s e g u i r é u m m o n i t o r q u e i m p le m e n t a I o c a i x a s p o s t a i s d e u m ú n i c o e s c a n i n h o
52 A s
m e n s a g e n s s ão n ú m e r o s i n t e i r o s e a s o pe r a çõ e s q u e o s p r o c e s s o s e x e c u t a m p a r a e n v i a r l r e c e be r
u m a m e n s a g e m n ï s g p a r a / d e u m a c a i x a p o s t a l c x p s i o , r e s p e c t i v a m e n t e , s e n d (c x p , rm g ) e
r e c e i v e ( c x p , t m g ) , o n d e l [ c x p [ 10
m o n i t o r 1n a i l b o x
p l a c e a m y [ l o ] o f i n t e g e r
ß U a m y [ 10 ] o f b o o l e a n i n i t i a l f a l s e
p l a c e F u u , p l a c e E m p ty : a r r a y t 10 ] o f c o n d i t i o n
p r o c e d u r e s e n d u in t e ge r ; M in t e g e r )
i f j h u l /】 t h e n w a i t (p l a c e E m p 1y [0】)
p ta c e [1】 : - M
C U M t r ue
s i g n a Kp l a c e F u u u D
p r o c e d u r e r e c e i v e ( l i n t e g e r M i n te g e r )
i f u t1u 】 the n w a i t (p ta c e F u t l [l 】)
M · pl aceM
Ju l l u ] : - f a l s e
s i g n a l WaceEmpyM
e n d m a u b o x
9 名
. 
4 J a n t a r d o s N ós o f o s
O p r o b l e m a d o s f i ló s o f o r j & f o i a p r e ae n t a d o n a a e qüo 7 5 3 E s t a s e çao d is c u te du a s s o l u çðe s c o m
m o n i t o r e s
s a C r d a c a i x a po 1 t a l n d o i m p l c m e n u u m a ñ la d c m ¢m 1a 1
e n 1 M a i s in i u m 1u 吕 a r pa r a a - e n a m e n t o de u m a ü n i c a
- a ge m
Scanned by CamScanner
118 s i s te m a s o o n a is e FT o gr a m a ® o C o n c o n e n te S S T o s c a n i , R S de Ol i v e i r a e A
. 
s c a1/ 蹦蹦
p r i m e i r a s o 1u ç o
N e s t a s o lu ção , c a da f i ló s o fo pe g a p r i m e i r o o g a r fo da e s q u e r d a , de po i s o ga r f o da dir eik o
m o n i t o r te m du a s e n t r a da s " p e g a (g )" e " l i be r a (g y ' , o n de " g
" é u m n ú m e r o de ga r fo ( ] s gs 5) o
c ód ig o e x e c u t a do pe lo i és i m o f i l ó s o f o é o s e g u in te
l o o p
% pe n s a
p e ga uh
p e g a u m o d 5 r L
% c o m e
1i bera( i »
Hbe r a u m o d 5 l
e n d l o o p
o n de i 9 5 5 1 i de n M c a o f M s o f o
C o m o s e v e
, 
c a d a p r o c e s s o c h a m a 4 v e z e s o m o n i t o r (d u a s v e z e s o p r o c e d i m e n to pega e
d u a s v e z e s o p r o c e d i m e n t o l ibe r a ) N a p r o g r a m a ç ão d e s s e m o n i t o r d e v e m s e r de c l a r a do s u m
v e t o r b o o le a n o g L i v r e [5 ] , p a r a r e p r e s e n t a r a s i t u a ç o d e c a d a g a r f o , e u m v e t o r c o n d i t i o n c o n d【5]
p a r a b l o q u e a r o s f i l ó s o f o s O e le m e n t o c o n d t i ] b l o q u e i a q u e m d e v e e s p e r a r p e l o g a r fo i (is to t , o
f i l ó s o f o i o u o f i l ó s o fo E l ) m o d 5 + l ) A p r o g r a m a ç o f i c a a c a r go d o l e i t o r
C o m e s t a s o l u ção , i n fe l i z m e n t e
, p o d e a c o n t e c e r u m a o r d e m d e e x e c u ção n a qu al c ada
f 1l ó s o fo c o n s e g u e p e g a r o s e u g a r f o d a e s qu e r d a N e s t e c a s o
, 
c e r t a m e n t e
, 
c a d a p r o c e sso se
b l o q u e a r á q u a n d o f o r p e g a r o g a r f o d a d i r e i t a e t e r e m o s u m a s i t u a ção d e de a dto c k N o hav eDa
p o s s i b i l ida de de d e a d lo c k s e c a da p r o c e s s o p e g a s s e s e u

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