Académique Documents
Professionnel Documents
Culture Documents
i
s
t
e
m
a
s
O
p
e
r
a
c
i
o
n
a
i
s
Sincronizao entre tarefas
(MULTIPROGRAMAO)
S
i
s
t
e
m
a
s
O
p
e
r
a
c
i
o
n
a
i
s
S
i
n
c
r
o
n
i
z
a
o
e
n
t
r
e
t
a
r
e
f
a
s
Objetios
Condies de disputa;
Excluso mtua;
Regio crtica;
Semforos;
Monitores;
Deadloc!
Captulo " Ma#ieiro
Captulo $ %rancis &erenger
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
Intro!"o#Motiao
A$%icao
Rec"rso co&$arti%'a!o
Sincronizao
C'(D)*+' DE D)S,-./
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
(on!io !e !is$"ta
!!! 0uando duas ou mais tarefas acessam
simultaneamente o mesmo recurso
compartil1ado2 causando assim2 inconsist3ncia
nos dados!
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
)a&os a $rob%e&*tica+++
4ual ser o resultado final do sa%!o caso
algumas das tarefas se5a interrompida antes de
finali#ar o dep6sito7
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
,-e&$%o $ro.ra&a (onta/(orrente
(r0!ito 12
.1read 8/9 : ;< ; = >?
(r0!ito 13
.1read 8&9 : ;< ; = @???
T'rea! Instr"o
Me&4ria
Re.istra!ores
T'rea!s
5 R(A) R(6)
& A'/D ;2 R8&9 @? B @?
& /DD @???2 R8&9 @? B @?@?
/ A'/D ;2 R8&9 @? @? B
/ /DD >?2 R8&9 @? C? B
& S.'RE R8/92 ; @?@? B @?@?
/ S.'RE R8&92 ; C? C? B
Sa%!o at"a%
5 7 21
Processo A Processo 6
A'/D ;2R8/9 A'/D ;2R8&9
/DD >?2R8/9 /DD @???2R8&9
S.'RE R8/92; S.'RE R8&92;
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
8 9 necess*rio :"e 'aja "&a sincronizao
$ara contro%e !este rec"rso co&$arti%'a!o
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
/ mel1or forma de impedir esse proDlema2 E eFitar
0ue dois t1read acessem o mesmo recurso
simultaneamente!
/ssim2 en0uanto um t1read estiFer acessando um
determinado recurso2 os outros esperam pelo tErmino
do t1read corrente
Isso se c'a&a ,5(LUSO M;TUA
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
,arte do c6digo onde E feito o controle
do acesso ao recurso compartil1ado E
denominado de re.io cr<tica!
6,GI=
+
+
,ntra/Re.iao/(ritica> (? Protoco%o !e entra!a ?)
Re.io (ritica>
Sai/Re.iao/(ritica (? Protoco%o !e sai!a ?)
+
+
,=@
)ndica se 5 existe
algum acesso G
regio crtica
)nforma 0ue
deixou de acessar
a regio crtica
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
Antes !e contin"arA a%."&as
ref%e-Bes+++
Semforos
Monitores
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
So%"o co& es$era oc"$a!a
Modelo de algoritmo
)nstrues testLandLset
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
,s$era oc"$a!a
(Mo!e%o !e a%.orit&o)
import time
import t1reading
Fe# < ?@
def t1readM?@8 9N
gloDal Fe#
K1ile Fe# << ?JN
OO(o fa# nada
A(,SSA/R,GIAO/(RITI(A
Fe#<?J
def t1readM?J8 9N
gloDal Fe#
K1ile Fe# << ?@N
OO(o fa# nada
A(,SSA/R,GIAO/(RITI(A
Fe#<?@
t@ < t1reading!.1read8target<t1readM?@9
t@!start 8 9
tJ < t1reading!.1read8target<t1readM?J9
tJ!start 8 9
.1read )nstruo Pe#
?J gloDal Fe# ?@
?J K1ile Fe# << ?@ ?@
?@ gloDal Fe# ?@
?@ K1ile Fe# << ?J ?@
?@ R,GIO (RITI(A ?@
?J K1ile Fe# << ?@ ?@
?@ R,GIO (RITI(A ?@
?@ Fe# < ?J ?J
?J K1ile Fe# << ?@ ?J
?J R,GIO (RITI(A ?J
Exemplo com tempo de 0uantum para
executar no mximo Q instrues
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
,s$era oc"$a!a
(A%.orit&o !e Petersen)
ResolFe alguns proDlemas de excluso mtua
existentes em outros algoritmos!
(o E preciso indicar 0ual t1read Fai iniciar2 isto E
feito automaticamente!
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
,s$era oc"$a!a
(A%.orit&o !e Petersen)
Prof. Pedro Batsta de Carvalho Filho
Sistemas Operacionais
Inibio $or interr"$o
(o&o f"ncionaF