Unidad 03- II Parte20151

download Unidad 03- II Parte20151

of 35

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