A maior rede de estudos do Brasil

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

Pré-visualização | Página 1 de 5

Scanned by CamScanner
C a p f t u l o 7
SE M Á F O R O S
E l m o r e n o
L a le y e s t e l a d e a r a ñ a
e n m i i n o r a n c i a l o e s p l i c o
n o la l e m a e l h o m b r e Dc o
n u n c a Ia t e m a e l q u e m a n d e
pu e s la r u e m pe e l b i c h o g r a n d e
y s ó l o e r1r i e d a a 1o s c h i c o s
E s la le y c o m o Ia l l u v i a
n u n c 1 p u e d e se r pa r e ja
e l qu e l a a gu a n t a s e q u e j a
pe r o e l a s u n t o e s s e n c i l l o
l a le y e s c o m o e l c u c h i l lo
n o o t i e n d e a q u i e n lo 11m e ja
A s v a r i á v e i s ser nd/o r a s s ão v a r i áv e i s e s pe c i a i s q u e po de m s e r m a n i p u l a d a s a pe n a s a tr a v és de
d u a s o pe r a çö e s , d e n o m i n a da s P e V [D IJ 6 5a ] Es t a s v a r i áv e i s lb r a m d e lì n id a s po r D ij k s m » Ä
m a i s de 30 a n o s e , a o q u e t u do i n d i c a , c o n t i n u a r o s e n
d o u s a d a s po r m u i t o s a n o s A s
dc n o m i n a çö e s p c V s ão a s i n ic ia i s d a s pa la v r a s ho
l a n de s a s P r o be r e n e Ve r ho g e r 1, q u e
s i g n i f i c a m t e s t a r e in c r e m e n t a r , r e s pe c t i v a m e n t e
Se n do S é u m a v a r i áv e l s e m áfo r a , a s o pe r a çõ e s P e V te m a s e g u i n te s e
i n 1 n t ic a
 p
 (s) : e s pe r a a; é s se r ma i or qu e o e en t üo su b t rai I de S ; \ . ' (
' ° '
 V
 (S) : i nc r eme n t a S de 1 . n, 1
A s o pe r a ç öe s " te s t a r S e s u b t r a i r 1 ( s e S > O)
"
e
" i n c r e m e n ta r S de 1
"
s üo e x e c u t a da s de
f o r m a m u t u a m e n te e x c l u s i v a , n o k e r n e l d o SO Se S 
= 1 e do i s p r o c e s s o s e x e c u t a m P (S)
"
s i m u l t a n e a m e n <e
"
, 
u m d o s p r o c e s ao s v a i f i c a r b lo qu e a d o
Scanned by CamScanner
90 s i s t e m a s o pe r a c io n a
i s e pr o s ra m a ® Co n c o n e n te S
S T o s c a n i
, 
R S de O1i v e i 1a c A
. 
s
. 
c a r j11i1ni
p o de se fa z e r a n a lo g ia e n t r e u
m a v a r iáv e l s e m áfo r a e u m v a so c o n te n do bo l itaB
(bo l i n ha s de Bu de ) o v a lo r n u m r ic o do s
e m á fo r o c o r r e s po n de a o n ú m e r o de bo l i t as den t r o do
-
u m a o pe r a ç o v conesponde a pô r u m a 
bo l i ta n o v a s o C a da o pe r a ção P te n ta r em o v er
u m a bo l i t a se n e n hu m a e s tá d i s po n
:v e l
, 
e n tão a o pe r a ção b l o qu e i a 0 p r o c e s s o e 0 Co lo c a no n a
f i l a de e s pe r a Qu a n do u m a bo l i t a é c o lo c a da n o 
v a s o (o pe r a ção V ) , e l a é r e m o v ida pe lo primei ro
p r o c e s s o d a f i l a de e s pe n O qu a
l p r o s s e gu e s u a e x e c u ção
7
. 
1 I m p l e m e n t a çã o d e s e m áf o r o s n o 
k e n ze t d o SO
p a r a i m p le m e n t a r u m a v a r iáv e l s e m áfo r a é n e c e s
s áDo u t i l i z a r u m a v a r i áv e l i n t e i r a e u m a f i la de
e s pe r a Se ja m c o u n t s e ß ta s , r e s pe c t i v a m e n t e , a v a r i áv e l i n te i r a e a 
f i l a de e s pe r a as s o c iada s a
u m s e m á fo r o S U m a i m p l e m e n t a ção po s s ív e l p a r a a s o p e r a ç
õ e s P e V , c o n s i de r a n do o ke m t 1 de
SO d e s c r i t o n o c a p ít u l o 4 , s e r i a a s e g u i n t e
Sa l v a e s t a do de a t u a l Sa l v a e s t a do d e a t u a
l
i f c o u n t s = o t he n i f ß ta s v a z i a t he n c o u n ts = c o u n 1
s + l
i n s e r e a t u a l n a ß ta s e l s e { r e t i r a p d a j ì la s
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 R L
e l s e c o u n 1s = c o u n t s l at uat : P
R e s t a u r a e s t a do d e a t u a l
A T u 4 L / H e l s e i n s e r e p n a R L
R e s ta u r a e s t a d o d e a t u a l
7
. 
2 I m p l e m e n t a çã o d e s e m áf o r o s f o r a d o k e r n e l
u m a s i m u l a ção d a s o pe r a çõ e s p e v u t i l i z a n do a s o pe r a çõe s b ás ic a s n Bu te x
beg in " en d 
e
bto c k / w a k ¬ u p é m o s t r a da a s e g u i r A v a r i áv e l s e m át o r a é i m p l e m e n t a d a pe l a s v a r
i áv e i s g loba l s
c o u n t s Do [ i po in t e g e r , e ß la s , do t i po qu e u e c a d a p r o c e s s o po s s u i u m a v a r i
áv e l loc a
l
de n o m in a da b l o qu e a r , pa r a i n d ic a r s e o p r o c e s s o de v e s e b lo q u e a r o u n o
P(S)
bl o q u e a r = f a l s e
m u t e x b t g in ,
i f c o u n l s = O t he n
b l o q u e a r = t r u e
in s e 饩 Am y s e /f , Jì la s )
V (S)
m u l e x b eg i
i r e m p l y w l a s ) t he n c o u n l s s c
(i . =
e l s e { p - nrst w1as)
w a k ¬ u p (P )
m u t e x e n d
e l s e c o u n ¢S e c o u n l s l
m u ¢e x e n d
i f b l o q u e a r the n bl o c k
团团 知心
凫
Scanned by CamScanner
C 1p f t u lo 7 Se m áfo r o s 9 1
7
. 
3 S l n c r o n i z a çõ e s b á s i c a s c o m o p e r a çõ e s P e V
E s ta s e ç ão m o s t r a c o m o i m p le m e n t a r a s t rês s i n c r o n i z a çöe s bás i c a s u s a n do v a r i áv e i s s e m áfo r a s
A p D m e i r a d e l a s , e x l u s ão m ú t u a , i m p l e m e n t a d a a t r a v és de u m semi f or o X c o m v a l o r i n i c i a l
1 O a c e s s o e x c l u s i v o a n r e g i ö e s c r í t i c a s s e ñ a i m p l e m e n t a do c o m o s e g u e
X : s e m a p ho r e i n i t i a l 1
P l 丝
P(X ) P (X ) ; P(X )
R E G I O C R ÍT IC A R E G IÃO C R ÍT IC A ; R EG IÃO C R FT I C A
O s e g u n d o t i p o d e s i n c r o n i z a ção , c a r a c t e r i z a d o p e l a o p e r a çõ e s b l o c k e w a k e u p (p ) é
i w l e m e n t a d o a t r a v é s d e u m s e m áf o r o Y c o m v a l o r i n i c i a l z e r o Se a o p e r a ç îi o A d o p r o c e s s o P l
d e v e s e r e x e c u t a d a a pó s a o p e r a ç ão B do p r o c e s s o P2 , e n t ão f a z s e o s e g u i n t e
Y : s e m a p ho r e i n i t i a l 0
P (Y )
A B
V (Y )
C o m o s e v ê , u m s e m á f o r o c o m v a l o r i n ic i a l z e r o po
de s i m u l a r a s o pe r a çö e s b l o c k e
w a k e u p (p ) D e f a to , po d e s e v e r a o pe r i1ção b l o c k c o m o s e fo s s e u m a o pe r a ç ão P s o b r e u m
s e m áfo r o p r i v a t i v o d o p r o c e s s o , o q u a l é 
i n ic i a l i z a do c o m z e r o O s e m áf o r o p r i v a t i v o po t q u e
s ó o p r o p Do p r o c e s s o po de e x e c u t a r o pe r a ç
ão P (i s to é , b lo c k ) n e le Es s e s e n ü f o r o n ào p t e c i s a
f i la de e s p e r a , & »i s a pe n a s s e u d o n o po de e s pe
r a r n e le Su a i m p lc m ie n t a qüo , c o m o v i s t a n o
e s t u do do k emet
, 
 
f e i t a a t r a v s d e u m c o n t a do r (c a m p o s e m M n o r e 吕 i s i r o dc s c D t o r do W s s o
A o pe r a ção w a k e u p (p ) é u m a o pe r a ç o V n o s e m á lb r o p r i v a r i v o do p m e c s s o 
c u j o n o m e p 
O t e r c e i r o t ipo de s i n c r o n i z a ç o , pa r a o c a s
o dF do i l p r o c e s s o s , Ó i m p le m e n ta do a t r a v s
de do i s s e m á f o r o s Y e Z
, 
a m b o s i n i c i a l i z a do l c o m z e r o , c o n fo r m e 
6 m o s t r a do a s e g u i r O c a s o de
u m a ba r r e i r a p a r a

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