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

t 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 e

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