A maior rede de estudos do Brasil

Grátis
35 pág.
Sistemas Operacionais e Programação Concorrente - Anexos

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

o c po d e m i n c l u i r a s o pe r a çöe s w a i t e s ig n a i
A c láu s u la i n i t i a l l y C
 o pc i o n a l
 0
 for ma t o de um a las k 
t a s k I d 1s D D p r o c t h r e a d m a i n 1s C e n d t a s k
E m u m a t a s k
, 
a l i s t a de p r o c e d i m e n t o s D p r o c po de i n c l u i r p r o c e
d i m e n t o s d o t i po e n t r y
U m p r o c e d i m e n t o t ip o e n t r y t e m a pe n a s o 
s e u c a be ça lho de c l a r a do (u s a n do a m s m a
Scanned by CamScanner
2 18 s i s t e m a s Ope r a c io n a i s e pTo g r a m a çao c o n c o r r
e n t e S S T O R S de O l i v e i r a e A S Ca r i ss i m i
s in t a x e de u m c a b e ça l ho de p r o c e d im e n t o , m a s 
t r o c a n d o a p a la v r a
" Pr o c e d u r e " po r
"
e n t r y
" ) O c o r p o d a e n t r y v a i s e r e s pe c i f i c a do n o c o m a n
do a c c e p t q u e r e f e r i r e s s a
e n t r y I s t o s ig n i f i c a qu e e s te t i po de p r o c e d i m e n
t o p o de e x e c u t a r d i fe r e n t e s c ó«l i go s e m
f u n ção do po n t o e m q u e o a c c e p t é e x e c u t a do (i s t o é o q u e s e de n o m
i n a p o l i m o d ìs m o ) O
c o m a n d o C d a t h r e a d m a i n po de s e r u m b l o c o e in c l u i r c o m
a n do s f o r k , j o i n e q u i t pa r a
m a n i pu l a r i h r e a da
É i n t e r e s s a n t e n o t a r qu e u m a t a s k qu e n ão po s s u a p r o c e d i m e n to s n e m e n t r ie s e q u e t e n ha
a pe n a s a t h r e a d m a i n (i s t o é
, qu e n ão c De o u t ï a s t h r e a d s ) v a i s e r , e m t u d o , e q u i v a le n te a
u m p r o c e s s o
 0
 for ma t o de
 um bl oc o
 i nl i ne é
i n l i n e I d ; L i
o n d e L i é u m a l i s t a d e i n s t r u çõ e s d e m áqu i n a , n o f o r m a t o d o c ód ig o q u e é g e r a do pe lo
c o m p i l a d o r (v e r e x e m p l o a d i a n te ) O b l o c o i n l i n e pe r m i te a i n t r o d u ção d e c ód ig o de
m áq u i n a e m q u a l q u e r l u g a r d o p r o g r a m a E s t e b l o c o p o d e s e r u s a d o n o n í v e l g l o ba l
(m e s m o n í v e l d o s p r o c e d i m e n t o s , p r o c e s s o s , m o n i t o r e s e t a s ks ) o u d e n t r o de u m
p r o c e d i m e n t o , p r o c e s s o , m o n i t o r o u t a s k O " N o f i n a l d a l i s t a d e i n s t r u çõ e s L i é
o bDg a tó r i o
A 1 5 0 u t r a s f o r m a s d e e s p e c i f i c a r p r o c e s s o s
E x i s t e m d u a s o u t r a s m a n e i r a s de e s pe c i f i c a r pr o c e s s o s : de c l a r a ção de a r r a y d e p r o c e s s o s e
de c l a r a ç ão de m o d e l o (l e m p 1a l e ) de p r o c e s s o
 0
 for ma t o de um ar r qy de p r o c e s s o s é
p r o c e s s I d ( v a r = k 1 t o k z ) ; D ; C
o n de k 1 e k z s ão c o n s t a n te s i n t e i r a s
C o m i s s o
, 
s ão c r i a do s k 1 k t + l e x e m p l a r e s ( i n s t ân c ia s
, 
c lo n e s ) d e s s e p r o c e s s o C a d a c lo n e
po s s u i u m a v a r i áv e l lo c a l i n te i r a
, 
de n o m in a d a v a r
, q u e é i n ic i a l i z a da c o m u m v a l o r
d i s t i n to e n t r e k 1 e k z T o da s a s i n s t ân c i a s s ão c r i a d a s e s t a t i c a m e n t e
, 
a n te s do in fc io da
e x e c u ção d o p r o g r a m a c o n c o r r e n t e
O B S a ún i c a d i fe r e n ça e m r e 1a ç o à fo r m a s i m p le s de d e c la r a r p r o c e s s o é a
e s pe c i f i c a çäo i v a r = k 1 t o k 1) , lo g o a pös o n o m e d o p r o c e s s o
Scanned by CamScanner
A n e x o A A L i n g u a g e m V a le 4 2 19
 0 for ma t o de um mo d e l o de pr o c e s s o 
p r o c e s s t y p e I d ( D ) ; D i C
A s i n s t ân c i a s d e s s e m o d e l o v i o s e r c r i a d a s d in a m i c a m e n t e , d u r a n te a e x e c u ç ão , a t r a v s
d e c o m a n d o s n e w
O B S a s i n t a x e é e x a t a m e n t e a m e s m a d e u m p r o c e d i m e n t o d o t i p o s u b r o t i n a , po r é m
t r o c a n d o a e s pe c i f i c a ç ão " p r o c e d u r e " po r " p r o c e s s t y p e
"
A 1 6 C o m a n d o s
, 
o p e r a d o r e s e f u n çõe s p r é d e f i n i d a s
O s c o m a n d o s d e u m p r o g r a m a s ão s e p a r a d o s p o r
"
;
" (v e r o b s e r v a ção s o b r e o m a u u s o de
"
;
"
n a
s e ção A 8 ) A l i s t a d e c o m a n d o s V 4 é m o s t r a d a n a f+g u r a A 1
1 V a r = E A · P ( Se m )
* i f th e n C
, 
e l s e C 2 · V ( Se m )
1 w h i l e E L d o C 
· y i e ld
1 d o f o r e v e r C 
· h o ld ( T i m e )
1 lo o p C 1 C ; ; C . e n d 1o o p 
· w a i t ( C o n d )
 {
 C1
 ; Cz ;. C. . } ·
 w a i t (
 Co n d ,
 P
r i or )
 r ea d ( Va r ) ·
 s i gna l ( Co n d )
 w r i t e ( Va r ) ·
 s e n d ( Pr oc e s s l d, s g )
 n l ·
 n b _ en d (
 Pr o c e s s l d,
 M
s g
 )
* ta b ( K ) 
· r e c e i v e ( Pr o c e s s l d M s g )
 n o t hi ng
 ·
 i d :
 = f or k7
7
 m u t ex b eg i n ·
 i d :
 =n e w P n a me ( ar g1 . r gz . a r gw)
1 m u t e x e n d 
· j o i n ( id )
* lo c k 
· q u i t 
78
1 u n lo c k 
· d e b u g l
 i ns er t ( i d,
 Q ) ·
 d e b u g 2
 i ns er t ( i d,
 Q, P
r i or ) '
n o d eb u g
 i d :
 = f i rs t ( Q )'
P au s e
 b l oc k 1
 e x e c ( No me )
1 w a k e u p ( id )
1 a c c e p t E t ( a r g i : T 1 : a r g z : T r ; : a r g N : T N ) r e
t u r n s T w he n E L d o C
F Ig u r a A 1 c o m a n d o 1 d 1 
l in g u a g e m V 4
7 7 T a m b m po de se r u s a d a a fo r m a fo r
k o
?B O pc i o n a l r11e n t c o q u i t po de e s pe c i f
i c a r u m a r 吕 u m e n t o
Scanned by CamScanner
22 0 S i s t e m a s O pe r a c io n a i s e p r o g r a m a ç1o C o n c o r r e w
S S T o s c a n i , R S de O l i v e i r a e A S C a r i s s i m i
N a f i g u r a A 1, C é q u a l q u e r u m do s c o m a n d o s 
1á c o n t i d o s , Va r é u m a v a r i áv e l (p o de s e r
u m e l e m e n t o d e a r r a y ) , EA é u m a e x p r e s s ão a r i t m ét i c a , EL u m a e x p r e s s
ão ló g i c a , K é u m a
c o n s t a n t e o u v a r i áv e l i n t e i r a , id é u m id e n t i f ic a do r d e p r o c e
s s o o u de t h r e a d , Q é u m a v a r i áv e l
d o t i p o q u e u e , Se n i é u m a v a r i á v e l do t i p o s e m áfo r o , 
Tim e é u m a c o n s t a n t e o u v a r i áv e l i n te i r a ,
c o n d é u m a v a r i áv e l d o t ip o c o n d i t i o n e p r io r é u m a c o n s
ta n te o u v a Dáv e l i n te i r a N o s
c o m a n d o s s e n d l r e c e í v e
, 
p r o c e s s l d é u m a i de n t i f i c a ção d e p r o c e s s o 
79 
e M s g é u m a m e n s a ge m
N o c o m a n d o n e w
, 
p n a m e é u m n o m e d e l e m p ta l e de p r o c e s s o N o c o
m a n d o a c e e p l , E r é u m a
e n t r y d e c l a r a d a n a t a s k e m q u e o c o m a n d o a c c ep t é e x e c u t a d o
O s o p e r a d o r e s d a l in g u a g e m s ão o s s e g u i n te s
 O p e r a d o r e s ar i tmé 1 i co s + , - * , 1 e mo
 O p e r a d o r e s l óg i co s : an d , o r e no t ( qu e t amb ém po d e m se r es c r i tos co m o &
,
 e
-
)
* O p e r a d o r e s r e 1a c i o n a i s > , - , < > = , = < e Ç
N ão e x