Buscar

Sistemas Operacionais e Programação Concorrente - Capítulo 9

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 20 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Scanned by CamScanner
C a p í t u l o 9
M O N I T O R E S
E1 m o r e n o M a r t f n F i e r r o
V e r e m o s s i a o t r a p r e g u n t a E s c u c há c o n a t e n c i ó n
d a u n a r e s pu e s t a c u m p l i d a : lo q u e e n m i i n o r a n c i a a r g u y o
e l s e r qu e h a c r i a d o la v i d a la m e d ida la i n v e n t ó
lo h a d e t e n e r e n s u a r c hi v o e l h o m b r e pa r a b i e n s u y o
m a s y o i n o r o q u é m o t i v o Y Ia r a z ö n n o t e a s o m b r e
t u v o a l f o r m a r la m e d id a pu e s e s fá c i l p r e s u m i r
D i o s n o t e n f a q u e m e d i r
s i n ó 1a v ida d e l ho m b r e
U m m o n i t o r é u m m e c a n i s m o d e a l t o n í v e l p a r a s i n c r o n i z a ção e c o m u n i c a ç ii o d e p r o c e s s o s
u m m e c a n i s m o e f i c i e n t e , d e f ác i l u t i l i z a ç ão e q u e i m pMe u m a bo a e s t r u t u r a ção p a r a o s p r o g r a m a s
c o n c o r r e n t e s O c o n c e i t o d e m o n i t o r fo i u t i l i z a d o pe l a p r i m e i r a v e z po r B r i n c h H a n se n n o
p r o je t o d e u m s i s t e m a o pe r a c i o n a l m u l t i p r o g r a m a d o .B R I 7 3 ] A pó s s e r fo r m a l i z a d o po r 
[H O A 74 ]
, 
o c o n c e i t o pa s s o u a s e r i n c l u íd o e m v ó i a s 
l in g u a ge n s de p r o g r a m a ç i lo Ta i s m m o
M ód u l a
, 
p a s c a l C o n c o r r e n te , E u c l id C o n c o r r e n t e e Ja v a
U m m o n i t o r p o de s e r v i s t o c o m o u m b l o c o q u e 
c o n t ém i nt er nament e d a do s pa r a s e ï tc m
c o m p a r t i l h a d o s e p r o c e d i m e n t o s p a r a m a n i pu la r e s
s e s d a do s O s d a d i d« la r a J o s de n t r o do
m o n i t o r s ã o c o m p a r t i l h a do s p o r t o d o s o s p r o c e s s o s (c o m o s e eo s s e m g
l o ba i s )
, 
m a s s ó po d e m se r
a c e s s a do s a t r a v é s d o s p r o c e d i m e n to s d o 1n o n i t o r
E e s s e s pn w c d i w w n m s s ùo e x e c u t a do s de
fo r m a m u t u a m e n te e x c l u s i v a , q u a n d o c ha m a d t »s pe lo t i pm c e s
s o s Po r t a n to i a _ de
i m p le m e n t a ç ão de u m m o n i t o r j á g a r a n t e a e x c l u s üo m ú 1u a n a m a n i pu l a ç o 
dc s e u s da do s
i nt er nos A lé m d i s s o
, 
u m m o n i t o r pe r m i te a s in c r o n i z a çüo d o t i po bl o c k w a
k e u p , a t r a v s d a s
v a r i á v e i s t i p o c o n d i t i o n , c o n fo r m e v e r e m o s a
d i a n te
Scanned by CamScanner
108 s i s te m a s pçr aci e pT o s r a m a çao C o n c o r r e n t e T o s c a n i R S d e Ol i v e i r a e Si n i
9
. 
1 F o r m a t o d e u m m o n i t o r
A s e gu i r a pn ese n t a do o e s qu e le to de u m m o n i t o r , dc a c o r do c o m a s i n t a x e de f i n ida po r Ho ar e
[H O A 74 ] 
m o n i t o r < n o m e >
! K# . d . s d a d ' ' " ' ' " c o m p a r t i 1h a d . s pe l ' ' " æe o s ;
X Y : i n t e ge r
C D c o n d i t io n
p r o c e d u r e P(a r g 1 : T t . , a r gp T p)
D e c l a r a ç ão d a s v a r i áv e i s l o c a i s d e P
w a i t (D )
p r o c e d u r e Q(a r g l : T I , a r gQ T Q)
D e c la r a ção d a s v a r iáv e i s lo c a i s d e Q
w a i 1(C )
p r o c e d u r e R (a r g i : T . a r gR : T R)
D e c la r a ç o d a s v a r i áv e i s l o c a i s d e R
si gnat { c1
in i t i a l ly (C o m a n do s } % pa r a in ic ia l iz a r o s d a do s (o pc io n a l )
E x e m p lo
i n i t ia l ly ( X : = l ; Y : = 10 }
e n d < n o m e >
Fig u r a e 1 Fo r m a t o d 1 u m m o n i t o r
v a r i áv e i s de c l a r a d a s de n t r o de c a da p r o c e d i m e n to v ao s e r a l o c a da s de f o n n a in
di v idu a 
I ¢
/ ff f
Scanned by CamScanner
-
9 M o n i t o r es 109
p r i v a t i v a pa r a c a d a p r o c e s s o E m c a d a c ha m a d a
, 
a p i l ha do p r o c e s so v a i s e f u s a da p a r a pa s s a r o s
e n de r e ço s d o s a r g u m e n t o s e a l o c a r a s v a r i áv e is lo c a i s do p r o c e d i m e n t o
D o q u e f o i d i t o , p o d e s e c o n c l u i r q u e o s p r o c e d i m e n t o s d o m o n i t o r s o r e e n t r áv c i s , po i s
c m c a da a t i v a ç ão s ão u t i l i z a d a s v a r i áv e i s lo c a i s d o p r o c e d i m e n t o e a r gu m e n t o s q u c s ão p r óp r io s
do p r o c e s s o q u e e s t á c ha m a n d o e s s e p r o c e d i m e n t o A pe s a r de s t a r e e n t r ân c i a pa r ec e r
de s n e c e s s á r i a
, j á qu e o s p r o c e d i m e n t o s s ão e x e c u t a d o s de f o r m a m u t u a m e n t e e x c l u s i v a , e l a 
r e a l m e n te n e c e s s ár i a E m bo r a n u n c a s e t e n ha m a i s d e u m p r o c e s s o d e n t r o d o m o n i t o r , p o de s e
t e r o s p r o c e d i m e n t o s e x e c u t a d o s de f o r m a p a r c i a l e in t e r c a l a d a p o r v ár i o s p r o c e s s o s ( i s t o s e r á
v i s t o n a p r ó x i m a s e ç ão )
U m m o n i t o r s e a s s e m e l h a a u m a e s tr u t u r a de d a do s a b s t r a t a e t a m b ém a u m o b j e t o 4 9
C o n t u d o
, 
a s e s t r u t u r a s a b s t r a t a s e o s o b j e t o s s iio c o n c e i to s i m p l e m e n t a d o s e m l i n g u a g e n s
s e q ü e n c i a i s e , c o m o t a l , n ã o i n c l u e m m e c a n i s m o s p a r a s i n c r o n i z a ç ão d e p r o c e s s o s
9
. 
2 V a r \ á v e \s c o n d i t i o n e o p e r a çõ e s w a i t e s ig n a i
A l ém d o s t i p o s d e d a d o s u s u a i s , o s m o n i t o r e s pe r m i te m u m n o v o t ip o , d e n o m i n a do c o n d i t i o n
V a r i áv e i s c o n d i t i o n s ó po d e m s e r de c l a r a d a s d e n t r o de m o n i t o r e s e s ó p o de m s e r u t i l i z a d a s
a t r a v és d e d u a s o p e r a ç Me s e s p e c i a i s de n o m i n a d a s w a i t e s ig n a t E s s a s o p e r a çMe s p e r m i t e m q u e
p r o c e s s o s p o s s a m e s p e r a r p o r c o n d i çMe s q u e v ão s e r s i n a l i z a d a s p o r o u t r o s p r o c e s s o s
A s o pe r a çõ e s w a i t e s ig n a t a p r e s e n t a m pe c u l a r i da de s im p o r t a n t e s A o p e r a ç o w a i t
b l o q u e i a i n c o n d i c i o n a l m e n te o p r o c e s s o q u e a e x e c u t a , c o l o c a n d o o p r o c e s s o n a f i l a
c o r r e s p o n d e n t e à v a r i áv e l c o n d i ção (o b l o q u e i o a c o n t e c e m e s m o q u e u m a o pe r a ç ão s i g n a i te n ha
s id o e x e c u t a d a i m e d i a t a m e n t e a n t e s d a o pe r a ção w a i t )
O pe r a çMe s s ig n a t e x e c u t a d a s e m c o n di çMe s c o m f i l a v a z
i a (s e m p r o c e s s o s b l o q u e a do s )
s ão pe r d id a s , n il o t e n d o q u a lq u e r e f e i t o s o b r e a v a r i áv e l c o n
d iç ão q u e e s t á a s e r s i n a l i z a d a
Qu a n d o e x i s t e m p r o c e s s o s à e s pe r a de s i n a l i z a ção e a v a r iáv e l c o n d iç ii o é s i n a l i z a d a . E n t ão u m
ú n i c o p r o c e s s o (o p r i m e i r o da ti la d a v a r i á v e l c o n d iç ii o ) é de s b lo q u e a do e p r o s s e g u e s u a
e x e c u ç ão i m e d i a t a m e n te , t o m a n do a UC P do p r o c e
s s o s i n a l i z a do r N e s te c a s o o p m c e s s o
s in a l i z a do r s ó v o lt a r á a s e r e x e c u t a d o , m a i s t a r de , a pó s o p r o c e s s o s in a
l i z a do l e r de i x a d o o
m o n i t o r
p a r a q u c e s s e s c o n c e i to s f iq u e m c l a r o s , 
 
i n t e r e s s a n te f a z e r u m a a n a lo g ia e n t n e u m
m o n i t o r e u m p e q u e n o c e r c a d o O c e r c a d o p r o te ge o s 
d a d o s c r í t ic o s (da d u s d o m o n i t o r ) . e
c o n t m u r r la e n t r a d a p a r a c a d a p r o c e d i m e n t o , u m a e n t r a
d a pa r a c a d a v a r iá v e l c o n d ição e u m a
e n u a d a p a r a o s p r o c e s s o s q u e s a e m do m o n i t o r po r s
i n a l i z a r e m c o n d içð e s n o v a z ia s
m Um a bB t r a c f d a t a ty p e e u m t 1b ie l a ( n a p r o 8 r a m a ça o o r ie n t a d a a o b je t o l ) s l o e s t r u t u r a s q u e c o n tem i nt er nament e
dado s e p - i m e n t o 1 pa r a m a n i pu l a r e l s e s da d o s
Scanned by CamScanner
1 10 s i s t e m a s O p e r a c i o n a i s e - c o n c o r r e n t e S S T o 1 c a n im d e O l i v e i r a e A s c ar i l 1i m i
A fi g u r a 9 2 r e p r e s e n t a o m o n i t o r c o n s ide r a d o a n te r i o r m e n t e , c o m p r o c e d i 1n m to s p Q
,
R e v a r i áv e i s c o n d iç o C , D N a s i t u a ç o m o s t r a d a , o p r o c e s s o P3 e s tá de n t r o do m «m i to r
,
a c e s s a n do o s d a do s c r f t i c o s a t r a v és d o p r o c e d i m e n to R O s p r o c e s s o s P l e P2 e s t a o blo q u e a do *
e s p e r a n d o q u e o m o n i t o r f i qu e l i v r e , p a r a e x e c u ta r e m o p r o c e d i m e n t o P O p r o c e s s o p4 e s tá
e s pe r a n d o pa r a e x e c u t a r o p r o c e di m e n t o R O s p r o c e s s o s P5 e P6 e x e c u ta r a m a n t e r i o r m e n te t1r ra
o p e r a ç o w a i t n a c o n d ição C N e n hu m p r o c e s s o e s tá e s pe r a n do pe l a c o n d ição D
Se o p r o c e s s o p 3 d e i x a r o m o n i t o r p o r c he g a r a o f i m d o p r o c e d i m e n t o R e n t ão e n t r aD
u m d o s p r o c e s s o s p 2 o u p 4
, q u e s ão o s pD m e i r o s de s u a s f i l a s Se o p r o c e s s o P3 e x e c u t a r u ma
o p e r a ção s i g n a l (C ) , e n t ão v o l t a r á p a r a o m o n i t o r o p r o c e s s o P5 e a s i t u a ção p a s s a r á a se r a
m o s t r a d a n a f i g u r a 9 3 I s t o s u p o n do q u e p 5 e s t i v e s s e e x e c u t a n do a n t e r i o r m e n t e o p r o c e d i m e n t o
Q (q u a n d o e x e c u t o u a o p e r a ç ão w a i l (C )) p 5 c o n t in u a r á s u a e x e c u ç ão n o c o m a n d o s e g u in t e a o
w a i t q u e o t i n h a b l o q u e a d o a n t e Do r m e n te C o m o a pe n a s u m p r o c e s s o de c a d a v e z po de e s ta r
d e n m » d o c e r c a d o
, 
P3 é o b r i g a d o a e s p e r a r d o l a do d e f o r a , n a f i l a do s s in a l i z a do r e s a té qu e o
m o n i t o r f i q u e l i v r e
CE R C A
回国 c ' " i t i 미 圆圆
p r o c e d Q C o n d i t i o n D I
回回 
I p r o c e d R s i n a l i z a d o r e s
F Ig u r a 9 2 R e p r e s e n t a ç o d e u m m o n it o r (s i t u a ç o 1)
C ERC A
® @ c o n d i t i . . C l ®
p r o c e d Q ® l C o n d i t io n D I
@ I p r o c e d R s in a l i z a d o r e s I ®
Fi g u r a 9 3 Re p r e 1 1 n t a ç1o d 1 u m m o n it o r (1 l t u 1 ç * o 2)
z a
Scanned by CamScanner
-
9 M o n i t o n e i I 1 1
Se P5
, 
a s e g u i r , s i n a l i z a r a c o n d iç o C , e n t o p 6 e n t r a r á n o c e r c a d o e p 5 1 a i r á f o r a i n do
s e j u n t a r a P3 Se u m p r o c e s s o s i n a l i z a r u m a c o n d iç o v a z i a , t a l c o m o D , n a da o
(e n t r e t a n t o , d e pe n d e n d o d a i m p l e m e n t a ção , o p r o c e s s o s i n a l i z a do r p o de r á s a i r te m po r a r i a m m te
do m o n i t o r
, pe r m i t i n d o q u e o u t r o s p r o c e s s o s e n t r e m n o m e s m o )
9
. 
3 0 u t r a s i m p l e m e n t a çõe s d e m o n i t o r e s
Po de s e s i m p l i f i c a r a i m p l e m e n t a ção de m o n i t o r e s s e m pe r d e r n o p o de r d e r e p r e s e n t a ç ão d «x i
m e s m o s U m a fo r m a d e i m B»l e m e n t a ção i n t e r e s s a n t e
, 
a do t a da n a l i n g u a g e m V 4 n ão u t i l i z a f i l a s
s e p a r a d a s p a r a o s p r o c e d i m e n t o s
, 
n e m f i l a e s p e c i a l p a r a o s p r o c e s s o s s i n a l i z a d o r e s É u t i l i z a d a
a pe n a s u m a f i l a d e e n t r a d a p a r a to d o s o s p r o c e d i m e n t o s e é n e s s a f i l a q u e t a m bém s ão c o l o c a d o s
o s p r o c e s s o s s i n a l i z a d o r e s d e c o n d içõ e s n i lo v a z i a s s o
A f i g u r a 9 4 i lu s t r a e s t a f o r m a d e i m p le m e n t a ção É r e t r a t a d a a m e s m a s i t u a ç ão
r e p r e s e n t a d a n a f i g u r a 9 3 , p o r ém c o m u m a ú n i c a f i l a d e e n t r a da p a r a o m o n i t o r V a l e o b s e r v a r
q u e , n e s t a i m p l e m e n t a ção s i m p l i f i c a d a , u m p r o c e s s o s i n a l i z a d o r d e c o n d i ção n ão v a z i a v a i p a r a a
f i l a d e e n t r a d a e f i c a a t r ás d o s p r o c e s s o s q u e j á l á e s t ão e s pe r a n d o Po r t a n t o o u t r o s p r o c e s s o s
p o d e m e x e c u t a r n o m o n i t o r a n t e s d o s i n a l i z a d o r v o l t a r a s e r e x e c u t a d o
CE RCA
p r o c e d P 1
e d ° @
. 
=X
,
_ n d i t io . ° l
Fig u r a 9 4 M o n i to r c o m u m a ú n i c a f i la d e e n t r a d a
O u t r a s i m p l i f i c a ç ão po s s f v e l c o n s is t e e m o b r ig a r a oper açi o s ig n a l a s e r s e m p r e a
úl t i m a u s a da e m u m p r o c e d i m e n t o I s t o é , a o pe r a ção s ig n a l pa s s a a s ig n i f i c u r t a m bém r e t u r n
U m a o u t r a s i m p l i fi c a ç ão u t i l i z a v a r i áv e i s c o n d i t i o n q u e a d m i te m a pe n a s u m p r o c ç s s o n a f i la de
e s pe r a ( f i l a s m a io r e s de v e m s e r a d m i n i s t r a d a s pe lo p r o g r a m a do r a t n Bv és de a r r a y s do t i po
c o n d i t
5o Qu a lq u e r q u e 1e ja a fo r m a de i m p le m e n ta c #o 1c m pr e s e r á n e c e s 1¢r i o u s a r u m a f i la pa r a c a da v u i v e l c o n d iç* o
Scanned by CamScanner
 1
 2 S i st ema s op er ac i on a i s- ç ao co n c o r r en t e- . , o s c a n i , R, , e Ol ive i ra e A. . a r i wi mi
; : i C o m o s e v e
, 
v ár i a s fo r m a s de i m p le m e n t a çao s ao po s s fv e i s C o n tu do , e m bo r a ha ja e l M
l ibe r d a de
, q u a lq u e r q u e s e ja a fo r m a de i m p l e m e n t a çao , e la de v e s a t i s f a z e r a s qu a t r o s e gu in tes
r e s t r içö e s de o ï 1de m s e m an t ic a
 o s pr oc e d i me n t os do mo n i tor dev e m se r ex e c u t ad os de f or ma mu t ua me n t e ex c l uB i rra
( i s t o é
, 
s ó u m p r o c e s s o po de e x e c u t a r de n t r o do m o n i t o r de c a da v e z )
* a o pe r a ç ão w a i t de v e bl o q u e a r i n c o n di c i o n a l m e n te (s e m p r e ) o p r o c e s so qu e a
e x e c u t a
* u m a o pe r a ção s ig n a l s o b r e u m a c o n dição c o m f i l a de e s p e r a n ão v a z i a , de v e faz e r
c o m q u e o c o n t r o l e d o m o n i t o r s e j a e nt r e g u e i m e d i a t a m e n t e p a r a o p r i m e i r o do s
p r o c e s s o s e m w a i t (o p r o c e s s o s in a l i z a do r d e v e p e r de r o c o n t r o l e da UC P e sa i r
t e m p o r a r i a m e n te d o m o n i t o r )
* u m a o pe r a ção s ign a l p a r a u m a c o n d i ção c o m f i l a v a z i a d e v e s e r i n ó c u a (o s i n a l de v e
s e r p e r d i d o , s e m s e r m e m o r i z a do )
9
. 
4 S i m u l a çã o d e m o n i t o r c o m s e m á f o r o s
N a i r n p l e m e n t a ç ão q u e s e g u e , t a l c o m o de s c r i to n a s e ção a n t e r i o r , e x i s te u m a ú n i c a f i l a de e spe r a
p a r a o m o n i t o r e é p a r a e s s a f i l a q u e v ão o s p r o c e s s o s s in a l i z a do r e s d e c o n d i çõ e s n ão v a z i a s
Pa r a i m p l e m e n ta r a f i l a de a c e s s o a o m o n i t o r , é u t i l i z a d a u m a v a r i áv e l s e m áf o r a X c o m
v a l o r in i c i a l 1 p a 】a c a d a v a r i áv e l c o n d ição C , s o u s a d a s u m a v a Dáv e l i n t e i r a n c e u m a v a r iáv e l
s e m á f o r a s c , a m b a s i n i c i a l i z a da s c o m z e r o (n c c o n t a o n úm e r o de p r o c e s s o s b l o qu e ado s n a
c o n d i ç ão e s c i m p l e m e n t a a f i l a de p r o c e s s o s b l o qu e a do s )
A s e n t r a d a s e s a fda s do s p r o c e d i m e n t o s do m o n i to r s ão s i m u l a d a s da s e gu in t e m a n e i ra
E n t r a da d e u m p r o c e d i m e n t o P0 0
Sa ida d e u m p r o c e d im e n t o V (X)
A s o pe r a çMe s w a i t e s ig n a t s o s i m u la da s c o m o s e gu e Ob s e r v e q u e e s s a s o pe r aç
õe s s*o
e x e c u t a d a s d e n t r o do s p r o c e di m e n t o s do m o n i to r
, j á c o m e x c l u s o m út u a ga r a n t ida pe
lo
s e m áfo r o X
w a i t (C) s ig n a l (C )
n c = n c + l ; l f n c > 0
V 0 0 t he n ( n c = n c I
P (T C) : V (s c ) : pm
) ; 4di 7 t > p n ' ci * 4c y B c
Scanned by CamScanner
Ca p f t u l o 9 M o n i t o r e s 1 1 3
9
. 
5 S i m u l a çã o d e semi f or o c o m m o n i t o r
A s e g u i r m o s t r a d o u m m o n i t o r q u e s i m u l a u m a v a r i áv e l s e m áf o r a i n ic i a l i z a d a c o m " d11a s
bo N a s "
m o n i t o r Se m a f
s i n t e ge r
C c o n d i t i o n
p r o c e d u r e p o
S = S l
i f S< O t h e n w a i t (C )
p r o c e du r e v o
S = S+ l
i f S = < O t h e n s ig n a l (C)
i n i t i a l l y S = 2
e n d
N e s t a i m p l e m e n t a ç ão , u m v a l o r n e g a t i v o d e S s i g n i f i c a q u e e x i s t e m p r o c e s s o s
b l o q u e a d o s n o s e m áf o r o M a i s do q u e i s s o , n e s s e c a s o , o v a l o r a b s o l u t o de S i n d i c a o n ú m e r o d e
p r o c e s s o s b l o q u e a d o s n a c o n d i ç ão C (c e r t i f i q u e s e d i s to )
n a s e çao a n t e r i o r f o i v i s t o c o m o i m p l e m e n t a r m o n i t o r e s c o m s e m af o r o s n e s t a . c o m
i m p l e m e n t a r s e m á f o r o s c o m m o n i t o r e s I s t o d e m o n s t r a q u e a m b o s o s c o n c e i t o s s ão e q u i v a l e n t e s
e m t e r m o s d e p o t e n c i a l i d a de de u s o ( i s t o é , o q u e s e f a z c o m m o n i t o r e s p o d e s e f a z e r c o m
s e m á f o r o s e v i c e v e r s a ) C a b e o b s e r v a r q u e a im p l e m e n t a ção de m o n i t o r e s a pa r t i r de s e m á fo r o s
p o de f a z e r s e n t i d o n a p r át i c a , m a s o c o n t r ár i o n ão , j á q u e o s m o n i t o r e s s o m e c a n i s m o s d e a l t o
n í v e l
, 
d e m a i s f ác i l u t i l i z a ç ão (q u e m d i s p u s e r de m o n i t o r e s n ão p r e c i s a r á de s e m á f o r o s )
9
. 
6 I m p l e m e n t a çã o d e m o n i t o r e s n o k e r n e l d o SO
A s e g u i n t e i m p l e m e n t a ção t a m bém u s a u m a ún ic a f i l a de e n t r a
d a po r m o n i t o r Pa r a c a d a - i l o t
M
, 
e x i s te n o k e r n e l u m a v a r i áv e l b o o l e a n a l i v r e M e u m a l i l a de e s pe r a ß I¢AM A v u i áv e l
bo o le a n a i n d i c a s e o m o n i t o r e s t á l i v r e o u n îi o e a tì 1a c n c a dc i a m pm o s s o s q u e c h - o
m o n i t o r q u a n d o o m e s m o e s tá o c u pa d o É u s a d a u m a f i la de e s pe r a ß l a ( pa r a c a d a v a r i úv e l
c o n d iç o C de c l a r a d a n o m o n i t o r
Scanned by CamScanner
1 14 s i s t e m a s Ope r a c i o n a is e pT o 8r a m a çao C o n c o r r e n t e S S T o s c a n i R S de o 1i v c i r a e A s
a r g u m e n t o s A l w A n , s e ja r e a l i z a d a a t r a v és do s e g u i n te c ód ig o 
5 1
s u pöe s e q u e a c ha m a da d e u m p r o c e d i r r re n t o P , Pe r t e n c e n te a u m m o n i to r M
, c lM
ent er moni t oKW l * t r a p * l
c a l l P(A J
. , 
An)
exi t moni ï oM ) I * t r a p * l
D e n t r o d o p r o c e d i m e n t o P s e r ão u s a do s t r a p s p a r a c ha m a r a s f u n çõe s w a i t e s ig n a l
C o n s id e r a n d o o ke r n e l de SO d e s c r i t o a n te r i o r m e n t e
, 
o s e g u i n te c o n ju n to de
p r o c e d i m e n t o s v a i pe r m i t i r a u t i l i z a ção d e m o n i t o r e s
e n l e r m o n i t o r (At ) e x i t m o n i t o r (M )
Sa l v a e s t a d o de a 1BBa t ; Sa l v a e s t a d o d e a t u a l
i f l i v r e M th e n L i v r e M = f a l s e i f 】ì la M v a z i a t he n l i v r e M = t r u e
e l s e ( i n s e r e a t u a l n a ß l a M e l s e { r e t i r a p d a ß ta M
r e t i r a a t u a l d a R L i f p r i o r (p ) > p r i o r (a t u a l )
} ; t he n { i n s e r e a t u a l n a RL
R e s t a u r a e s t a do d e a t u a l a t u a l : - p
e l s e i n s e r e p n a R L
R e s t a u r a e s t a do de a t u a l
w a i r (C) 
s i g n a 1(c )
Sa l v a e s t a do de a 1Bt a l ; Sa l v a e s t a do de a t u a l
I n s e r e a l u a 1 n a ß ta c i f ß l a c n ão v a z i a t he n
i f ß ta M v a z i a the n { i n s e r e a t u a l n a ß ta M
l i v r e M = t r u e ; 
r e m o v e a l u a t d a ß la c
r e t i r a a 1u a l d a R L
e l s e r e t i r a a t u a i d a j i l a M
R e s t a u r a e s ta d o de a t u a l
R e s t a u r a e s t a do a t u a l
C o m e s t a i m p le m e n [ a içäo , q u a n d o u m a c o n d içko c o m f i l a v a z i a é s i n a l
iz ada , "
s i n a l i z ad o r c o n t i n u a s u a e x e c u ç i1o n o m o n i t o r (e le n üo s a i [e m p o r u r i a n l c n l e pa r a 
da r I ug
o u t r o s )
U a du z id a pa r a o c ód igo a c i m a
l 1 N a i l in gu a ge n 1 de a l t o n í v e l n o r m a lm e n te u t i l iz a da a r i n t a x c r a i l M p {A 1 , A n ) a q u a l é 
f1 c i lm c o
t ¢
Scanned by CamScanner
C a p i t u lo 9 M o n i t o r e s 1 1 5
0 m o n i t o r
, 
c o n f o r m e f o i v i s t o
, 
é u m a c o n s t r u çao de a l t o n i v e l t a r e f a do c o m p i l a do r
d a l i n g u a ge m ge r a r o c ó d ig o n e c e s s ár i o (p a r a c ha m a r o s p r o c e d im e n t o s e n t e - i t a r e
e x i 1m o n i t o r , p o r e x e m p l o ) Se f o s s e de c i d i do pe r m i t i r q u e o s i s t e m a t r a ba l ha s s e c o m n o m áx i m o
50 m o n i t o r e s e 10 0 v a r i áv e i s c o n d i ç ão , e n t ão o ke r n e t d o SO t e r i a q u et 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 us do i s ga r f o s d e u m a s ó v e z (e m u ma
ún ic a c h a m a d a d o m o n i t o r ) E s t a s o l u ção é a p r e s e n t a d a a s e gu i r
So l u ç i i o l i v r e d e d e a d l o c k
0 m o n i t o r m a n t m pa r a c a d a fi ló s o fo u m c o n ta do r q u e i n d ic a o n úm e r o de Ba r fo s d ispo ï
1:v eis
pa r a e l e É u t i l i z a do o m e s m o v e to r g L i v r e [5 ] da v e r s o a n t e r i o r
, po r ém ago r a c o m 
ou uo
s i gn i fi c a d o O v e t o r pa s s a a s e r i n te i r o e c a d a e l e m e n to do v e t o r f i c a a s s o c i a do a u m f i lós o
fo (e
n ão a u m g a r fo ) O e le m e n to g L i v r e E] pa s s a a in d ic a r o n úm e r o de g a r fo s d is po n fv e is pa
ra o
f i ló s o fo i T o do s o s e le m e n t o s s ão in ic i a l i z a do s c o m 2
, po i s n o i n ic io c a da f i lós o lb te m 
2 Ba r fo a
à s u a d i s po s ição Qu a n do u m fi ló s o f o pe g a s e u s ga r fo s
, 
o m o n i to r de v e de c r e m e n tar 
dc 1 os
c o n t a do r e s do s d o i s v i z i n ho s s e u s pa r a b lo qu e a r o s p r o c e s s o s , é u t i l i z a do o v e to r 
co ndi t io 
n
o k [5 ] Qu a n do o fi ló s o fo I s e b lo q u e i a , e le f i c a a e s pe r a do s i n a l o k t i ] 
:
A 4 ' ?
Scanned by CamScanner
C a p f tu lo 9 M o n i t o r es 119
V 4p r o g r a m
m o n i t o r g a d o s
g L i v r e : a m y t5 ] o f i n te ge r i n i t 2 ; % g L i v r e E] é o n úm e r o de ga r fo l
% d is po n fv e i s pa r a o f i ló s o f o i
o k a m y [5 ] o f c o n d i t i o n
p r o c e d u re p e g a (i : i n t e ge r )
j i n t e ge r k i n t e ge r % e s t e s s ão o s v iz in h o s
j : = i 1 i f j = 0 t he n j : - 5 ; % d a e s q u e r d a
k : = i+ l i f k · 6 th e n k = l ; % e d a d i r e i t a
i f g L i v r e [ i ] < 2 t he n w a i t (o k t i ] ) : % a lg u m ga r fb e s t á o c u p a d o ?
g L i v r e [ì ] : - g L i v r e [ì] 1
g L i v r e [k ] : = g L i v r e [k ] 1
p r o c e d u r e l ib e r a ( i : i n t e g e r )
j i n t e g e r k i n t e g e r
j : = i l ; i f j = 0 t he n j - 5
k : = i + l ; i f k = 6 t h e n k = l
g L i v r e 【ì ] : = g L i v r e 【ì]+ l ; % l ib e r a g a r f o d a e s q u e rd a
g L i v r e [k ] : = g L i v r e [k ]+ 1 ; % l ibe r a ga r fo d a d i r e i t a
i f g L i v r e 【ì ] = 2 t he n s i g n a l (o k [ì])
i f g L i v r e [k ] = 2 t h e n s ig n a l (o k [k ])
e n d m o n i t o r
p r o c e s s j ì l o s ofo ( i : = 1 t o 5 ) ; / * c a d a f i ló s o fo f a z 10 r e f e içMe s * /
k i n t e g e r i n i t 10
w h u e k O d o
ga r fo s p e g a (\)
n l ; w r i [e ( ' f i l ' ) ; w r i te (i ) ; w r i t e ( ' c o m e c o u a c o m e r ' )
g a M l i b e r a w
n l ; w r i t e ( ' f i l ' ) ; w r i t e ( i ) : w r i [e ( pa r o u de c o m e r ' )
k = k l
e n d p r o g r a m
N e s ta s o l u ç ão , n o m áx i m o d o i s f i ló s o f o s po de r ìio c o m e r a u m e s m o t e m po (e le s
o c u p a r ão 4 d o s 5 g a r f o s d i s p o n í v e i s ) V a rn a s s u po r t l u e t ) s li ló s L} f o s 1 e 3 e s te j a m c o m e n do
T e o Dc a m e n te
, 
 p o s s f v e l i m a g i n a r u m a s e q tl ën c i a d e e x e c u çào e m q u e e s s e s do i s f i lós o f o s s e
a l t e m a m dc m o d o q u e n u n c a f iq u e m do i s g a r f o s d i s p o n : v e i s pa r a o f i l ó s o fo 2 N e s t a s i t u a çao , o
f i ló s o f o 2 f i c a r á e m s i t u a ç ão de po s t e rg a ç o i n de f i n id a (s l a r v a l i o n ) Po r t a n t o e s ta s o l u ç o e v i t a
d e a d l o c k
, 
m a s n ão i m pe de s i t u a çðe s de po s t e r g a çäo i n d e f i n ida
Scanned by CamScanner
120 Si s t e m as O pe r a c io n a i s e PT o 8 r a m a çao Co n c o r r e n t e S S T o s c a n i , R S de O I r a e A S
9 8
. 
5 R e a d e r s & w r i t e r s
0 m o n i t o r a s e g u i r é u m a s o l u ção p a r a o p r o b l e m a do s r e a d e r s e w r i te r s j á r e so l v ido c o ms e m áfo r o s n a s e ção 7 5 5 D i fe r e n t e m e n t e da s s o l u çõ e s c o m s e m áf o r o s
, q u e dão p r i o r idade oupa r a o s r e a d e r s o u p a r a o s w r i t e r s
, 
e s t a s o l u ção n ão dá p r i o r i d a de pa r a n e n hu m t i po de ac e sso Om o n i t o r al t er na a s p Do Dd a de s d a s e g u i n te m a n e i r a (a ) Qu a n d o a c a ba u m a o pe r a ção de escTi oc o n ju n t o de p r o c e s s o s r e a d e r s q l i e e s tão à e s pe r a t e m p r i o r i d a de s o b r e o s w r i t e r s q u e ta mbM
e s tão à e s p e r a n e s s e m o m e n t o (b ) Qu a n d o a c a b a o a c e s s o de s s e c o n j u n to d e r e a l l e r s " p r j m iro
w r i r e r d a f i l a de e s pe r a r e c e b e p r i o r i d a d e s o b r e o s r e a d e r s D e p o i s do a c e s s o de s se w r j j e r
,r e pe te s e o c a s o (a ) E s t a s o lu ção e v i t a o p r o b le m a da po s t e r ga ção i n d e f i n i d a e é m a i s j u s ta
Su põ e s e q u e o s p r o c e s s o s r e a d e r s c ha m e m o p r o c e d i m e n t o s t a r t Re a d a n te s da le i tu r a c
o p r o c e d i m e n t o e n d Re a d a pó s a l e i t u r a ; s i m i l a r m e n t e
, 
o s p r o c e s s o s w r i t e r s c ha m a m s t a r t w r ite
a n t e s d a e s c r i ta e e n d w r i t e a pó s a e s c r i t a
m o n i t o r Re a d e r s A n d w r i t e r s
# r e a d e r s : i n t e g e r i n i t i a l 0
a c l i v e w r i r e r b o o l e a n in i t i a l f a l s e
o k T o R e a d
, 
o k To W r i t e : c o n d i t i o n
p r o c e d u r e s t a r tRe a d o
i f a c t i v e Wr i t e r o r - e m p t y (o k To w r i te ) t he n w a i t (o k T o R e a d )
# r e a d e r s = # r e a d e r s + \
s i g n a l (o kTo Re a d)
p r o c e d u re endReado
# r e a de r s = # r e a d e r s 1
i f # r e a d e r s = O the n s ig n a l (o k To w r i l e )
p r o c e d u r e s i a r r w r i 1e o
i f # r e a d e r s > O o r a c t i v e w r i t e r t he n w a i t (o kTo w r i 1e )
a u i v e w r i t e r = t r u e
p r o c e d u r e t l 1d w r i r t j
a c t i v e W r i t e r e ih l s e
\f 1 e m p ty (o k To只e a d) t h e n s i gn a l (o kTo Re a d)
e l s e s ig n a l (o k To w r b e )
e n d Re a d e r s A n d w r i Be r s
) ;
Scanned by CamScanner
C 1 pf t u l o 9 M o n i t o 1\e l 12 1
N o p r o c e d i m e n t o s t a r t R e a d e r
, 
o p r i m e i r o p r o c e s s o a s a i r d a f i l a o kTo Re a d s i n a l i z a o
s e g u n do , o s e g u n d o s i n a l i z a o t e r c e i r o , e a s s i m po r d i a n te (o ú l t i m o p r o c e r s o a s a i r i M s i n a l i z a r
u m a c o n d i ção c o m f i l a v a z i a ) I s t o o r i g i n a u m a " c a s c a t a " de p r o c e s s o s r e a de r s q u e i r ão r e a l iz a r
s u a s o pe r a çõ e s de le i t u r a Qu a n d o o ú l t i m o de s s e s p r o c e s s o s t e r m i n a r a s u a le i t u r a , o a c e s s o
pa s s a r á p a r a u m w D te r
9 8 6 E s c a l o n a m e n t o d e o p e r a çõ e s e m d i s c o
O e x e m p l o a s e g u i r , a p r e s e n t a do o r i g i n a l m e n t e p o r H o a f e [H O A 74 ] , é u m m o n i t o r q u e c o n t r o l a
o a c e s s o a u m d i s c o de b r a ç o m ó v e l c o m 4 00 c i l i n d r o s
s 3 0 a lgo r i t m o f a z o b r a ço v a r r e r o s
c i l i n d r o s d o d is c o
, 
a t e n d e n d o o s p e d ido s n a o r de m e m q u e e l e s s o e n c o n t r a d o s O a l g o r i t m o é
c o n he c i d o c o m o s c a n (v a r r e d u r a ) o u a lg o r i t m o d o e te v a d o r
0 m o n i t o r u t i l i z a u m a v a r i áv e l p r i o r i ty c o n d i t i o n q u e é u m t ip o v á l i d o n a l i n g u a g e m V 4
P a r a u m a v a r i á v e l d e s t e t i p o , a o p e r a ç ão w a i l d e v e e s p e c i f ic a r u m s e g u n d o a r g u m e n t o , q u e é a
p r i o r i d a d e d e e s pe r a ( v a l o r i n t e i r o ) Qu a n t o m e n o r o v a l o r d o n ú m e r o , m a i o r é a p D o Dd a de
(u r gên c i a ) d o p r o c e s s o PD o r i da d e z e r o , c o l o c a o p r o c e s s o n a f r e n t e d a f i l a , l o g o a p ó s o s q u e j á
l á e s t ã o c o m e s t a p r i o Dd a d e
0 m o n i t o r t e m d u a s e n t r a d a s
* a c q u i r e (c i lN ) , p a r a a dq u i r i r o d i r e i t o de a c e s s a r o c i l i n d r o n ú m e r o c i l N q u e é c ha m a d a
po r u m p r o c e s s o a n t e s de u m a l e i t u r a o u g r a v a ção
 r e l ea s e o ,
 q u e é ch a ma d a po r um pr
oc e s s o de p o i s de l e c o mp l et ar a su a t ran s f er ên c i a de
da d o s
0 m o n i t o r v a i m a n t e r a s s e g u i n t e s i n f o r m a çõ e s s o b r e o 
d i s c o
p o s c o r r e n 1e : i n d i c a a po s
ição c o r r e n t e do c a be ço te d e l e i t u r a / g r a v a ç o (o v a l o r v a r i a
de O a té 39 9 )
s e n t id o : i n d i c a o s e n t i d o c o r r e n t e d e m o v i m e n t a ç
ão d o b r a ç o (u p o u d o w n )
e m ( l s o : i n d i c a s e o d i s c o e s t á o c u p a d o o u n äo (Var i i vel b o o l e a n a )
O s e n t id o u p c o r r e s p o n d e a o s e n t i d o c r e s c e n
te d o s ci l i ndms Pa r a u s a r o d i s m u m
p r o c e s so e x e c u t a o s s e g u i n t e s c o m a n d o s
a m o 1o 1 i1 a t u a l , u m d i l e o r fg i d o d e m
i c m c o m pu t a do r po 1 s u i t ipi c a m e n te : 2000 c i l i n d r o s 6 3 s e t o r e s po r
c i 1i n d n o v e l o c id ad e de 8000 r p m 1e m po m d io d e 1a t en c i a de 
4 m s
Scanned by CamScanner
卧
l ;
122
杜 雀
Si s t e m a s o pe r a c i o n a i s W Co n c o r r e n te - c a n i , R S O l ig r a e A S t oi
s c a n A c q u i r e (c i l in d r «»D e s t in o )
P t t o u e s c r e v e n o d i s c o * /
s c a n r e le a s e o
0 m o n i t o r é c o m o s e gu e
m o n i t o r s c a n
P o s c o r r e n t e : i n te g e r i n i t i a l 0
e m U s o : b o o l e a n i n i t i a l f a l s e
u P i n te ge r i n i t 1
d o w n : i n te g e r i n i t O
s e n t id o : i n t e ge r i n i t I
s e n t id o Up , s e n t ido D o w n : p r i o r i ty c o n d i t i o n
p r o c e du r e a c q u i r e (c i w i n te g e r )
i f e m u s o
th e n i f p o s c o r r e n t e < c i lN o r (p o s c o r r e n t e - c i lN a n d s e n t id o = d o w n )
t h e n w a \ t [ s e n +id o u p , c i l N )
e l s e w a i t (s e n t id o D o w n
, 
399 c i tN )
e n 1 U s o = 山田 e
Po s c o r r e n t e = c i l N
p r o c e d u r e r e 1e a s e o
e m l j s o = f a l s e
i f s e n t id o - u p
che n i f e m p [y (s e n t ido Up )
the n { s e n t ido = do w n
s ign a l (s e n 1ido D o w n )
e l s e s ign a l (s e n t ido u p)
e l s e i f e m p ty (s e n 1ido D o w n )
t he n ( s e n t id o : = u p
s i gn a \ (s e n t ido u p)
Æ s e s ig n a l (s e n t ld o D o w n )
c n d s c a n
; B ! / "
Scanned by CamScanner
W n 11o 9 M o n i t a r e s 123
N a e n t r a d a a c q u i r e , s e o d i s c o e s t á l i v r e
, 
a po s iç o c o r r e n t e to m a da i gu a l a o c i l i n d r o a
s e r a c e s s a do e o p r o c e s s o r e t o m a d o m o n i t o r C a s o c o n t r ár i o
, 
o p r o c e s s o s e b lo q u e i a
i n t e r e s s a n te n o t a r q u e , s e a po s ição c o r r e n t e é m e n o r q u e o c i l in d r o a s e r a c e s s a d o , m o
p r o c e s s o e s p e r a n a f i l a senr i dop i n de pe n de n t e m e n te do s e n t i do de m o v i m e n t a ç lio d o b r a ç o Se
a po s ição c o m n t e é m a i o r q u e c i tN , e n t ão o p r o c e s s o e s pe r a n a f i l a s m ¢id o D o w n
i n de pe n d e n t e m e n t e do s e n t i d o d e m o v i m e n t a ção d o b r a ço A p e n a s qu a n d o a po s i ção c o r r e n te 
i gu a l a c i l N é q u e v a i i n t e r e s s a r o s e n t i do de m o v i m e n t a ç ão N e s s e c a s o , o p r o c e s s o v a i e s pe r a r
n a f i l a c o r r e s p o n d e n t e a o c o n t r ár i o d o s e n t id o a t u a l (p o r q u ê?)
9
. 
9 E X E R C I C l O S
E x e r c í c i o 9 1 C o n s i de r a n d o a s i m u l a ç ão d e u m s e m á f o r o c o m m o n i t o r (s e ção 9 5 ) , r e s po n ó
( a ) N a o p e r a ç ão V é n e c e s s á r i o t e s t a r o v a l o r d e S a n t e s d a o p e r a ç ão s ig n a t ?
(b ) A r e a l i z a ç ão d o t e s t e t o m a a p r o c e d u r e V m a i s e f ic i e n t e ?
E x e r c íc i o 9 2 E s c r e v a u m m o n i t o r q u e s i m u l e u m a b a r r e i r a d e v a l o r N O m o n i t o r d e v e p o s s u i r
u m ún i c o p r o c e d i m e n t o d e n o m i n a d o g a t /1e r , s e m a r g u m e n t o s O v a l o r d e N é d e f i n i d o de n t r o d o
m o n i t o r
E x e r c : c i o 9 3 E s c r e v a u m m o n i t o r p a r a s i m u l a r o f u n c io n a m e n t o da b a r b e a r i a d o b a r b e i r o
d o r m i n h o c o
E x e r c íc i o 9 4 E s c r e v a u m m o n i t o r p a r a i m p l e m e n t a r u m s e m á f o r o S l i m i t a d o a u m v a l o r
i n te i r o S- A s o p e r a çö e s P e V s ão de f i n i d a s d a s e g u in t e m a n e i r a
p (S) : w a i t u n t i l S> O, t he n de c r e m e n t S b y 1
V (S) : w a i t u n t i l S< S. , t he n i n c r e m e n t S b y 1
U s e u m a ún i c a v a r i áv e l c o n d i ção p a r a i m p le m e n t a r a s d u a s f i l a s d e e s pe r a ( i s to po s s í v e l v i s t o
q u e s ó u m a d a s f i l a s e x i s t i r á d e c a d a v e z )
E x e r c íc i o 9 5 U m a r q u i v o é c o m pa r t i l h a d o p o r d i v e r s o s p r o c e s s o s , c a d a u m id e n t i f i c a do pu r
m n ú m e r o ún i c o O a r q u i v o p o de s e r a c e s s a do s i m u l t a n e a m e n te pu r v ó i o s pm c e s s o s , «l e s de q u e
a s o m a d o s n ú m e r o s ú n i c o s a s s o c i a d o s a e s s e s p r o c e s s o s s e j a m e n o r o u i 吕 u a l a N (u m a
c o n s t a n t e ) E s c r e v a u m m o n i t o r pa r a c o n t r o l a r o s a c e s s o s a o l ° {Bu i v o
p a r a p a d r o n i z a r a s s o l u çõ e s , d e n o m i n e o s pmcedi ment os d o m o n i t o r de s t a r t a c c e s s u ) c
e n d ¢ï c c e s s (1) o n d e / o n k m e r o d e ide n t i f i c a ç ão d o p r o c e s s o
Scanned by CamScanner
124
-
o p er a c io n a i 1 e p r o s- Concor r ent es T o 1c a n i R S d e O l i ve i r a e A
. 
s c a t i 11i1n i
E x e r c fc 1o 9
. 
6 Es c re v a u m m o n i t o r pa in i m p le rn e n ta r a s o pe r a ç i )e s P P (N ) e W (N ) qu e
ge n e r a l i - a s o pe r a çõe s p e V s o b r e u m s e m áfo r o , pe r m i t i n d o , r e s pe c t i v a m e n te
, 
de c r e rr re n ta r e
i n c r e m en ta r s e u v a lo r de N u n id a d e s
E x e r c f c io 9 7 C o 呷 a r e o s (s e u s ) m o n i t o r e s do s e x e r c íc i o s 9 5 e 9 6 N a s u a o p i n ião
, qu a l dai
s e g u i n t e s o pçõ e s r e fl e te m e l ho r a v e r da de s o b r e o s d o i s m o n i to r e s : (a ) T r a t a m se de du al
s o l u ç õ e s d i fe n e n t e s p a r a u m m e s m o p r o b l e m a (b ) T r a t a m s e de d u a s s o l u çõ e s e q u i v a le n te s par a
u m m e s m o p r o b l e m a (c ) T r a t a m s e de d u a s s o lu çõ e s d i fe r e n te s p a r a d o i s p r o b le m a s d i s t in tos
( D I C A : N o e x e r c :c i o 9 5
, 
o a r g u m e n t o I po de s e r in te r p r e t a d o c o m o o n ú m e r o d e bo l i t a s a se r em
Pe g a s e a c o n s t a n t e N po d e s e r v i s t a c o m o o n ú m e r o i n i c i a l de b o l i t a s )
E x e r c íc i o 9 8 C o n s id e r a n d o a s u a s o l u ção p a r a o e x e r c íc i o 9 6
(a ) O s e u m o n i t o r a t e n d e a s o p e r a çõ e s PP n a o r d e m e m q u e e la s o c o r r e m ( i s t o é , n a o r de m
F I F O )?
(b ) É po s s í v e l a p o s t e r g a ção i n de f i n i d a d e a lg u m p r o c e s s o ?
(C ) M o d i f i q u e a s u a s o l u ção (s e fo r o c a s o ) p a r a q u e a s o p e r a çõ e s p p s e j a m a te n di da s n a
o r d e m F I F O
E x e r c íc i o 9 9 E s c r e v a u m m o n i t o r p a r a i m p le m e n t a r u m s e r v iç o d e c a i x a p o s t a l O m o n i to r
d e v e o k r e c e r I O c a i x a s p o s t a i s , c a d a u m a c o m 5 e s c a n i n ho s A s m e n s a g e n s s ão n ú m e r o s in te i r o s
e a s o pe r a çõ e s q l i 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 m s g p a r a/de u m a
c a i x a p o s t a l c x p s ão , r e s pe c t i v a m e n te
, 
s e n d (c x p , m s g ) e r e c e i v e (c 5cp , m s g ) , o n de l [ c x p 10
E x e r c i c i o 9 10 N o p r o b le m a do s f i l ó s o fo s
, 
d i s c u t a o e f e i t o d e s e a l t e r a r a e n t r a da l i be r a pa r a
q u e e l a t e n h a a s e g u i n t e fo r m a : i n c r e m e n t a g L i v r e do v i z in ho d a e s q u e r d a , s e r e s u l ta 2 ga r fo %
e n t ão s i n a l i z a o v i z i n ho d a e s q u e r da ; i n c r e m e n t a g L i v r e do v i z i n ho d a d i r e i t a
, 
s e r e s u l ta 2 garf ü
e n tã o s i n a l i z a o v i z i n ho d a d i r e i t a
E x e r c í c :o 9 1 1 I m p l e m e n t e u m a s o l u ç ão pa r a o p r o b le m a d o s f i l ó s o fo s q u e s e j a , a o n l e sn 1 )
te m l»o , l i v r e de d e a d lo c k e de po s t e rg a ção i n d e f i n id a Su g e s tão u s E u m a v a r i áv e l pri ori
c o n d i t i o n c u j o a r g u m e n t o s e j a o n úm e r o dc r e f e içö e s do f i l ó s o f o
E x e r c fc 1o 9 12 C o n s i de r a n d o o m o n i t o r s c a n q u e i m p le m e n t a o e s c a lo n a m e n to de o pe r aç
õe s e rt l
d i s c o
, 
c o m p a r e o de s e m pe n h o d o ITI e a m o c o m
(a ) u m q u c i m p le m e n te u m a p o l ít ic a de a t e n d i 1n e n t o p I p O
(b ) o u tr o q u c i m p le m e n te u m a p o l : t ic a SST P (Sho r l e s l s e e k T im r F i r s t ) 
Scanned by CamScanner
C a E?t u lo 9 M o n i t o r e s 125
E x e r c fc i o 9 13 C o n s i de r a n d o o m o n i t o r s c a n
, p r o v e q u e
1 (p o s C o r r e n t e < c i l N o r p o s c o r r e n t e - c i [N a n d s e n l ido = do w n D
é e q u i v a le n t e a
p o s c o r r e n t e > c i .N o r poscor r ent e- c i l N a n d s e n t ido - u p)
E x e r c íc i o 9 14 I m p l e m e n t e u m m o n i t o r
, 
d e n o m i n a d o c s c a n (c i r c u l a r s c a n ) , q u e s ó a t e n da
p e d i d o s q u a n d o o b r a ç o s e m o v i m e n t a de f o r a p a r a d e n t r o (i s t o é , a pe n a s n o s e n t id o u p ) Is t o
s i g n i f i c a q u e q u a n d o a v a r r e d u r a a t i n g e o c i l i n d r o m a i s i nt er no , o c a b e ç o t e d e le i t u r a e g r a v a ç ão
é r e po s i c i o n a d o n o c i l i n d r o z e r o (m a i s ex t er n o ) o n d e a v a r r e du r a é r e i n i c i a d a
O B S o a l g o r i t m o s c a n é m a i s g e r a l m a s a p r e s e n t a o s e g u i n te i n c o n v e n i e n t e (q u e é e l i m i n a d o
p e l o c s c a n ) : a p ó s a i n v e r s ão d o s e n t i d o d a v a r r e du r a , s o a t e n d i d o s i m e d i a t a m e n t e o s c i l i n d r o s
r e c m s e r v i d o s
, p e n a l i z a n do o s p e d id o s d o o u t r o e x t r e m o , f e i t o s a n t e D o r m e n t e
E x e r c í c i o 9 15 (0 p r o b l e m a d o s f u m a n t e s [PA T 7 1] ) C o n s i d e r e u m s i s t e m a f o r m a d o p o r t r ês
p r o c e s s o s f u m a n t e s e u m f o m e c e d o e C a d a f u m a n t e , c o n t in u a m e n t e , p r e p a r a u m c ig a r r o e f u m a
M a s p a r a p r e p a r a r o c i g a r r o o f u m a n t e p r e c i s a d e 3 i n g r e d i e n t e s : f u m o , p a l h a e f ó s f o r o U m d o s
f u m a n t e s t e m f u m o
, 
o u t r o t e m p a l h a e o t e r c e i r o t e m f ó s f o r o s O f or necedor t e m u m s u p D m e n t o
i n f i n i t o d e s s e s t r ês i n g r e d i e n t e s e p r o c e de d a s e g u i n t e m a n e i r a E l e p õ e d o i s i n g r e d i e n t e s n a
m e s a e e s p e r a O f u m a n t e q u e t e m o i n g r e d i e n t e r e s t a n t e , f a z u m c i g a r r o e f u m a A pó s f u m a r o
f u m a n t e s i n a l i z a o f or necedor E s t e e n t ão põ e m a i s d o i s i n g r e d i e n t e s n a m e s a e o c i c l o s e r e p e t e
E s c r e v a u m m o n i t o r p a r a s i n c r o n i z a r o f or necedor e o s f u m a n t e s
E x e r c íc i o 9 16 C o n s i de r a n do a l i n g u a g e m V 4 e n c o n t r e o s e r r o s de s i n t a x e e d e s e m ân t i c a d o
m o n i t o r a s e g u i r O q u e f a z e s s e m o n i t o r (o u o q u e d e v e r i a f a z e r )?
m o n i t o r n 1a g a z i n e
m a r r a y [5 ] o f i n t e ge r
c h e i o , v a z i o c o n d i t io n
i : i n t e g e r
p r o c e d u r e i n s e r e El e n ï : i n te g e r )
m M W m
i : = i + 1
i f i = 5 t he n
s i g n a l (c h e i o ) ; w a i t ( v a z i o )
p r o c e d u r e r e t i r a o r e t u r n s i n t e g e r
i f i - O t h e n
s i g n a l ( v a z i o ) ; w a i t (c l1e i o )
i : = i 1
) ;
Scanned by CamScanner
126 Si s t e m a Ope r * c i o n 1 i s e PT o 吕 r 1 m a ç1o Co n c o r r e n te S S T o s c a n i , R S de O l U s
. 
c a r in im i
i t e m = 用【i】
i n i t ia l l y ¡ : = l
e n d n 1a g a z i n e
D i c a s s o b r e o s e r r o s d e s i n t a x e : e x i s te m 3 m a u s u s o s de " " (f a l ta u m e s o br a m 2 ) e há u mPr o b le m a n a e s pe c i f i c a ç o do v a lo r de r et or no da f u n ção r e t i r a
E x e r c íc i o 9 17 C o n s ide r a n do o p r o b le m a do s r e a de r s & w r i t e r s e m a m b i e n te de b a n c o de dado s(e x e n c íc i o 7 14 )
, 
e s c r e v a u m m o n i t o r qu e i m p le m e n t e o s p r o c e d i m e n t o s L I
, 
LS
, 
L x
, 
R/
, 
RS e Rx

Outros materiais