Unidad 03- II Parte20151
-
Upload
aimara-rosa-del-valle-vargas -
Category
Documents
-
view
222 -
download
0
Transcript of Unidad 03- II Parte20151
-
7/23/2019 Unidad 03- II Parte20151
1/35
UNIVERSIDAD CENTROCCIDENTAL
LISANDRO ALVARADO
DECANATO DE CIENCIAS Y TECNOLOGA
DEPARTAMENTO DE SISTEMAS
Unidad III: ( 2da. Parte)
INTERBLOQUEOS
(DEADLOCK)Ea!"rad" #"r: Pr"$. (a) Ai%ar& 'ara
Re*ii+n , a#"rte de " #r"$e"re:
R"!ir" A-a/e
0*an 1tierre-
Sistemas Operativos. Unidad III - Mayo 2015
-
7/23/2019 Unidad 03- II Parte20151
2/35
Interbloqueos
Contenido1.Introduccin!
" Caracterizacin
" Tipos de recursos
2.Interbloqueo #$eadloc%&" Concepto
" Modela'e
" Condiciones necesarias para que ocurra un interbloqueo.
" (ratamiento para interbloqueos.
).M*todos de tratamiento de interbloqueo!" +revencin
" ,vitacin
" $eteccin y recuperacin
" Inorar el problema
+roblemas de concurrencia libres de interbloqueo
Sistemas Operativos. Unidad III - Mayo 2015
-
7/23/2019 Unidad 03- II Parte20151
3/35
Las necesidades de algunos procesospueden entrar en conficto entre s,
causando que stos se bloqueen.
Ejemplos:Carretera de 2 sentidos con puente
donde slo cabe un automvilos personas llam!ndose por tel"ono
mutuamente
Introduccin
Sistemas Operativos. Unidad III - Mayo 2015
-
7/23/2019 Unidad 03- II Parte20151
4/35
Inter!"e" e 3ara3teri-a #"r a e4iten3ia
de n 3"n/nt" de entidade a3ti*a ean n 3"n/nt" de re3r":
Entidade a3ti*aPr"3e" , threads
Re3r"56i3": CPU7 %e%"ria7 di#"iti*".
L+i3": ar38i*"7 e%&$"r"7 %te47 %ena/e7 e9ae7 et3.
Sistemas Operativos. Unidad III - Mayo 2015
Caracteriacin
-
7/23/2019 Unidad 03- II Parte20151
5/35
Sistemas Operativos. Unidad III - Mayo 2015
(ipos de recursos
-
7/23/2019 Unidad 03- II Parte20151
6/35
Un interbloqueo supone un
bloqueo permanente de un conjuntode procesos que compiten por recursos
o bien se comunican o sincronizan
entre s. (Carretero y otros)
Sistemas Operativos. Unidad III - Mayo 2015
Interbloqueo #$eadloc%&
Los sucesos tienen que ver con la adquisicin y
liberacin de los recursos. En los bloqueos mutuos, pueden involucrarse uno o
varios tipos de recursos.
-
7/23/2019 Unidad 03- II Parte20151
7/35
(A)
P R
P pide un recurso de tipo R.
(B)
RP
Un recurso de tipo R a sido
asinado al proceso P.
Sistemas Operativos. Unidad III - Mayo 2015
Modela'e de Interbloqueos
-
7/23/2019 Unidad 03- II Parte20151
8/35
Recurso !
PR"#E$" P%
El recurso Aest&asinado alprocesoP'
El proceso P%pide el recursoA.
El proceso P'pide el recurso!
El recurso !est&asinado alproceso
P%.
Este sistema est bloqueado porque cada proceso tiene
un recurso solicitado por el otro proceso y ninguno de
ellos est dispuesto a liberar el recurso que tiene.
/ecurso
PR"#E$"P'
Sistemas Operativos. Unidad III - Mayo 2015
loqueo Mutuo
-
7/23/2019 Unidad 03- II Parte20151
9/35Sistemas Operativos. Unidad III - Mayo 2015
Modela'e de Interbloqueos
-
7/23/2019 Unidad 03- II Parte20151
10/35
E#CL$%&'( )$*$+:L" re3r" i%#i3ad" de!en areen e43i+n %ta7 " ea7 de!e tratare de re3r" de "e43i*".
E*E(C&'( - E%E+:Cand" n" e #ede ati$a3er a#eti3i+n de n #r"3e"7 te e !"ea %anteniend" "re3r" e ten6a #re*ia%ente ainad".
(/ +/&+C&'(: L" re3r" n" e #eden itar7 ede3ir7 n re3r" +" #ede er i!erad" *"ntaria%ente#"r e #r"3e" e " retiene7 de# e 8a,a 3%#id"
tarea. E%E+ C&C$L+: De!e e4itir na 3adena 3ir3ar de
#r"3e" ta e 3ada #r"3e" en a ita et e#erand" #"rn" " %& re3r" e tiene ainad" e iiente #r"3e".
Sistemas Operativos. Unidad III - Mayo 2015
Condiciones necesarias para que ocurra un
$eadloc% # sen Co33man&
-
7/23/2019 Unidad 03- II Parte20151
11/35
Pre*en3i+n. Aera e n""3rre ;/and" rea #ara #edirre3r"
< In$ratii-a3i+n de re3r": ede!en #edir ante dene3eitar"
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
Predi33i+n " e*ita3i+n. Aerae n" "3rre !a&nd"e en
3"n"3i%ient" de ne3eidade$tra de " #r"3e"
< Di;3tad de 3"n"3er e $tr"
+revios al Interbloqueo
-
7/23/2019 Unidad 03- II Parte20151
12/35
Dete33i+n , re3#era3i+n. De/ar e e#r"d-3a7 dete3tar" , re3#erare de %i%".
< C"te de a"rit%" = #rdida de tra!a/"
reai-ad"< C"te de a"rit%" = In$ratii-a3i+n de
re3r"
In"rar e #r"!e%a:Utii-ada #"r a %a,"r6a de" S.O. Dada a !a/a #r"!a!iidad de e "3rra, e 3"t" e 3"ne*a e*itar" (in$ratii-a3i+n
,>" 3"te de a"rit%").
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+osteriores al Interbloqueo
-
7/23/2019 Unidad 03- II Parte20151
13/35
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+revencin
-
7/23/2019 Unidad 03- II Parte20151
14/35
E0clusin )utua: L" re3r" i%#i3ad" de!enare en e43i+n %ta7 " ea7 de!e tratare de
re3r" de " e43i*".
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+revencin
La 3"ndi3i+n de E?CLUSION@UTUA de!e 3"ner*are #ara
ae" re3r" e #"rnatrae-a #r"#ia " $n3i+n n"#eden 3"%#artire.
-
7/23/2019 Unidad 03- II Parte20151
15/35
etencin 1 espera: Cand" n" e #edeati$a3er a #eti3i+n de n #r"3e"7 te ebloquea %anteniend" " re3r" e ten6a
#re*ia%ente ainad".
(E+C&'( E L+ C/(&C&'( E E*E(C&'(- E%E+: rincipio de *odo o (ada
Cada #r"3e" de!er& #edir TODOS re3r"a %i%" tie%#" , n" #"dr& 3"%en-ar
e/e33i+n 8ata 8a!er" re3i!id" #"r 3"%#et".
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+revencin!
-
7/23/2019 Unidad 03- II Parte20151
16/35
(o +propiacin: L" re3r" n" e #edenitar7 e de3ir7 n re3r" +" #ede eri!erad" *"ntaria%ente #"r e #r"3e" e "retiene7 de# e 8a,a 3%#id" tarea.
NEGACIN DE LA CONDICIN DE NO
APROPIACION
Si n #r"3e" e retiene an re3r"7 "i3ita"tr" re3r" e n" e e #ede ainar dein%ediat"7 ent"n3e t"d" " re3r" eretiene e e e4#r"#ian.
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+revencin
-
7/23/2019 Unidad 03- II Parte20151
17/35
Espera Circular: De!e e4itir na 3adena 3ir3ar de#r"3e" ta e 3ada #r"3e" en a ita ete#erand" #"r n" " %& re3r" e
tiene ainad" e iiente #r"3e".
NEGACIN DE LA CONDICIN DE ESPERA CIRCULAR:
MTODO DE PETICIONES ORDENADAS
I%#"ner na "rdena3i+n t"ta de t"d" " ti#" de
re3r" ,reerir e 3ada #r"3e" "i3ite " re3r"iiend" n "rden de n%era3i+n a3endente.
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+revencin
-
7/23/2019 Unidad 03- II Parte20151
18/35
Nea3i+n de a E#era 3ir3ar
tii-and" e @t"d" de a
Peti3i"ne Ordenada:
Se retrine a e n #r"3e" de!e#edir " re3r" e ne3eita en
$"r%a 3re3iente , anti3i#ada.
E "rden de " re3r" e aina
de %anera e 3"rre#"nda 3"n e
"rden de " %a #r"!a!e #"r
#arte de a %a,"r6a de "
#r"ra%a.
LISTA DE RECURSOS
NI'EL RECURSO Ter%ina
2 I%#re"ra P"tter Unidad CD Di3" Dr"
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+revencin
-
7/23/2019 Unidad 03- II Parte20151
19/35
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+rediccin ,vitacinSi e #reentan a 3"ndi3i"ne ne3earia #ara n!"e" %t"7 t"da*6a e #"i!e #rede3ir "3rren3ia%ediante na 3idad"a aina3i+n de re3r".
Se 3"n3ede ni3a%ente a #eti3i"ne de re3r"di#"ni!e e n" 3"nd-3an a etad" #r"#en" ainter!"e".
-
7/23/2019 Unidad 03- II Parte20151
20/35
ALGORITMO DEL BANQUERO. (Condiciones Iniciales)
1.El sistema operativo administra un nmero fijo de unidades porrecurso entre un nmero fijo de usuarios (procesos).
2. Cada usuario (proceso) especifica por adelantado el nmero mximo
de unidades de los recursos que necesitar durante la ejecucin de los
trabajos.
.El sistema operativo aceptar la peticin de un usuario (proceso) si la
necesidad mxima de ese usuario no es ma!or al nmero fijo de
unidades del recurso.
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+rediccin ,vitacin
-
7/23/2019 Unidad 03- II Parte20151
21/35
ALGORITMO DEL BANQUERO. (Condiciones Iniciales)
"# $n usuario (proceso) puede obtener o liberar unidades del recurso
una a una. %os recursos asi&nados no podrn ser ma!ores a las
necesidades mximas declaradas por dic'o usuario.
# i el sistema operativo es capa* de satisfacer la necesidad mxima del
usuario (proceso)+ entonces este proceso debe &aranti*ar al sistema
operativo que las unidades del recurso sern utili*adas ! liberadas en
un tiempo finito.
,# -eterminar la situacin del sistema /0E3 E4 E3-5
E6$758 ! /0E3 E4 E3-5 04E6$758.
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+rediccin ,vitacin
-
7/23/2019 Unidad 03- II Parte20151
22/35
e dice que el sistema se encuentra en estado E6$75+ si el sistemaoperativo puede permitir que todos los procesos actuales terminen sustrabajos en un tiempo finito. En otro caso+ el estado del sistema es04E6$75.
Ejemplo 19r:stamo 4ecesidad
9rocesos 3ctual xima
$suario 1 1 "
$suario 2 " ,
$suario ;
$nidades disponibles2
%a clave para que un sistema sea se&uro es que exista al menos unaforma adecuada de que terminen todos los procesos.
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+rediccin ,vitacin
-
7/23/2019 Unidad 03- II Parte20151
23/35
Ejemplo2
9r:stamo 4ecesidad
9rocesos 3ctual xima
$suario 1 ; 1< $suario 2 2
$suario 1
$nidades disponibles1
$n sistema inse&uro indica que al&una secuencia desafortunada en laasi&nacin de recursos+ podr=a llevar al bloqueo mutuo.
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+rediccin ,vitacin
-
7/23/2019 Unidad 03- II Parte20151
24/35
Estructuras de datos para el +lgoritmo del3anquero:n: n%er" de #r"3e"7 %:ti#" de re3r"
F Di#"ni!e:Un vector de lonitud m que indica el nmero de recursosdisponibles de cada tipo. $i isponible*+-, entonces /ay e+emplares
disponibles del tipo de recurso R+.F @&4. Una matri0 de n1m que de2ine la demanda m&3ima de cada proceso porcada clase de recurso. $i m&3*i,+-, entonces el proceso Pi puede solicitarcomo m&3imo e+emplares del tipo de recurso R+.
F Aina3i+n: Una matri0 de n1m que de2ine el nmero de recursos de cadatipo asinados en ese momento a cada proceso. $i asinacin*i,+-, entonces el
proceso pitiene actualmente asinados e+emplares del tipo de recurso R+.F Ne3eidad:Una matri0 de n1m que indica los recursos que le /acen 2alta a
cada proceso. $i necesidad*i,+-, entonces el proceso p i puede necesitar e+emplares m&s del tipo de recurso R+ para completar su tarea. "bserve que
4ecesidad*i,+-5&3*i,+6Asinacion*i,+.
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+rediccin ,vitacin
-
7/23/2019 Unidad 03- II Parte20151
25/35
&)LE)E(*+C&/( EL +L/&*)/ EL 3+(4$E/
$ea $olicitudiel vector de solicitudes para el proceso Pi. $i $olicitudi*+-, entonces elproceso Piquiere e+emplares del tipo de recurso R+. #uando el proceso Pie2ecta
una solicitud de recursos, se emprenden las siuientes acciones7 '6 $i solicitudi8-4ecesidadi, continuar en el paso %. e lo contrario, presentar unacondicin de error, ya que el proceso se /a e3cedido de su demanda m&3ima.
%6 $i $olicitudi8-isponiblei , continuar en el paso 9. e lo contrario, Pi deber&esperar, pues los recursos no est&n disponibles.
96 El sistema simula /aber asinado todos los recursos solicitados al proceso pimodi2icando el estado de la manera siuiente7
isponible7isponible6$olicitudi:
Asinacioni7-Asinacion;$olicitudi:
4ecesidadi7-4ecesidad6$olicitudi:
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
+rediccin ,vitacin
-
7/23/2019 Unidad 03- II Parte20151
26/35
4AR EL E$!A" E U4$>$!E5A.
?. $i el estado de asinacin de recursos resultante es seuro,entonces see2ecta la transaccin y los recursos se asinan al proceso p i. $in embaro,si el nuevo estado no es seuro, entonces Pi, deber& esperar y se restablece
el anterior estado de asinacin de recursos.
Sistemas Operativos. Unidad III - Mayo 2015
&mplementacin del +lgoritmo del 3anquero
(ratamientos para un Interbloqueo
+rediccin ,vitacin
-
7/23/2019 Unidad 03- II Parte20151
27/35
'. $ean !raba+o y @in vectores de lonitud m y n, respectivamente. Asnese!raba+o7-isponible y @in*i7-2also para toda i-',%,...,n.
%6 Encontrar una i (proceso) tal que se cumplan ambas proposiciones7 a) @in*i-2also
b) 4ecesidadi8-!raba+o.
$i no e3iste tal i, continuar en el paso
-
7/23/2019 Unidad 03- II Parte20151
28/35
Sistemas Operativos. Unidad III - Mayo 2015
Ejercicio:Sea n ite%a 3"n 3in3" #r"3e" P a P. , tre re3r" A7 B, C7 de " e e4iten G7 , H e/e%#are re#e3ti*a%ente.S#"na%" e en e intante a3ta tene%" a iiente
ita3i+n de ite%a:
(ratamientos para un Interbloqueo
+rediccin ,vitacin
-
7/23/2019 Unidad 03- II Parte20151
29/35
$i un sistema no emplea un aloritmo de prevencino prediccin de bloqueo mutuo, entonces deber&7
'. eterminar si /a ocurrido un bloqueo mutuo.
(@A$E E E!E##>4)
'. Recuperarse del bloqueo mutuo. (@A$E E RE#UPERA#>4)
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
$eteccin y /ecuperacin
-
7/23/2019 Unidad 03- II Parte20151
30/35
. 5ae de Dete33i+n:De!e e/e3tare na"rit%" e
deter%ine i eetad" a3ta deite%a et i!rede !"e" , e7en 3a" de e n"
" et7 identi;e #r"3e" et&ni%#i3ad" en einter!"e".
2.5ae deRe3#era3i+n:
Una *e- dete3tad" e!"e" %t"7 ede!e a#i3ar naa33i+n e " ei%ine
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
$eteccin y /ecuperacin
-
7/23/2019 Unidad 03- II Parte20151
31/35
5.6 7ase deeteccin
$e reali0a mediante la aplicacin del concepto de reduccin a
partir de una representacin del sistema (procesos y recursos)mediante un ra2o.
$e basa en el siuiente principio7 Se dice que el estado del
sistema se puede reducir por un proceso P si se puedensatisfacer las necesidades del proceso con los recursos
disponibles . Esto sini2ica que el proceso se encuentradesbloqueado.
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
$eteccin y /ecuperacin
-
7/23/2019 Unidad 03- II Parte20151
32/35
Sea N =Conjunto que contiene los nodos del grafo
( formado por los recurso y los procesos)
Sea A=#on+unto de las aristas que conectan a los nodos del ra2o
Estado inicial
S=4 #Conjunto de la secuencia de reduccin&
D=#on+unto de procesos desbloqueados que 4" est&n en el con+unto $.5ientras 46 se puede reducir cualquier proceso del con+unto y aCadirlo a $$i - 4 y S 7 +6 onde Pes el con+unto de todos los procesos
Entonces 4o e3iste >4!ERBL"DUE"
$ino los procesos del con+unto resultanteP6$ est&n en >4!ERBL"DUE"
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
$eteccin y /ecuperacin
-
7/23/2019 Unidad 03- II Parte20151
33/35
2.6 7ase de ecuperacin
Permitir al sistema operativo recuperarse despus de la
ocurrencia de un deadloc, sin intervencin directa deloperador. Alternativas7 i) Abortar uno o m&s procesos. ii) Arrebatar recursos a uno o m&s procesos que se
encuentran en deadloc.
Sistemas Operativos. Unidad III - Mayo 2015
(ratamientos para un Interbloqueo
$eteccin y /ecuperacin
-
7/23/2019 Unidad 03- II Parte20151
34/35
i. A!"rtar " #r"3e"A!"rtar :todos 6 Abortar todos los procesos en deadloc7
" #osto alto." Prdida total del traba+o reali0ado.
6 Abortar un proceso a la ve0, /asta que el deadloc /aya sidoeliminado7
@A#!"RE$ PARA LA E$#"=E4#>A EL PR"#E$".
'6 Prioridad de los procesos.%6 #u&ntos y qu tipos de recursos tiene asinado el proceso.96#u&ntos recursos m&s necesita el proceso para culminar.
-
7/23/2019 Unidad 03- II Parte20151
35/35
A#e3t" a 3"niderar:
$ELE##>4 E U4 PR"#E$" FG>#!>5AH.
eterminar a cu&les procesos y cu&les recursos les ser&n arrebatados. Par&metros7
" 4mero de recursos que tiene asinado un procesos en deadloc." #antidad de tiempo consumida por el proceso en su e+ecucin.
a, e tener #reente e e n" "3rra e $en+%en"de$!ARGA!>"4 (APLAIA5>E4!" >4E@>4>")7
=aranti0ar que los recursos no siempre sean arrebatados a los mismosprocesos FGctimasF, ya que esto apla0ara su culminacin.
i. Arre!atar " re3r" a n" " %& #r"3e"
(ratamientos para un Interbloqueo
$eteccin y /ecuperacin2.6 7ase de ecuperacin