sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · estado de asignación...

29
Sistemas operativos Sistemas operativos Tema 6: Interbloqueo ( Tema 6: Interbloqueo ( deadlock deadlock ) )

Upload: others

Post on 10-Aug-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Sistemas operativosSistemas operativosTema 6: Interbloqueo (Tema 6: Interbloqueo (deadlockdeadlock))

Page 2: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Concurrencia de procesosConcurrencia de procesos

►►Conceptos de concurrencia y exclusiConceptos de concurrencia y exclusióón n mutua.mutua.

►►Herramientas de sincronizaciHerramientas de sincronizacióón.n.►►ComunicaciComunicacióón entre procesos.n entre procesos.►►Interbloqueo.Interbloqueo.

Page 3: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

InterbloqueoInterbloqueo

►► Procesos acceden a recursos compartidos segProcesos acceden a recursos compartidos segúún n un protocolo de un protocolo de solicitud, uso y liberacisolicitud, uso y liberacióónn..

►► Quienquiera que gestione los recursos decide si las Quienquiera que gestione los recursos decide si las solicitudes se conceden o, por el contrario, los solicitudes se conceden o, por el contrario, los procesos han de procesos han de esperaresperar..

►► Un conjunto de procesos estUn conjunto de procesos estáá en en interbloqueointerbloqueo si si cada uno estcada uno estáá esperando por recursos que sesperando por recursos que sóólo lo pueden liberar otros procesos del conjunto.pueden liberar otros procesos del conjunto.

SituaciSituacióón indeseable:n indeseable: los procesos no avanzan y los los procesos no avanzan y los recursos permanecen retenidos.recursos permanecen retenidos.

Page 4: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Estado de asignaciEstado de asignacióón de recursosn de recursos

►► El gestor de los recursos registra si estEl gestor de los recursos registra si estáán libres, o n libres, o asignados a un proceso concreto. asignados a un proceso concreto.

►► Dicha informaciDicha informacióón se puede representar en un n se puede representar en un grafo de asignacigrafo de asignacióón de recursosn de recursos..

{P{P11, P, P22, , ……, , PPnn} denota el conjunto de procesos } denota el conjunto de procesos (c(cíírculos).rculos).{R{R11, R, R22, , ……, , RRmm} denota el conjunto de recursos } denota el conjunto de recursos (rect(rectáángulos), con uno o varios ejemplares (puntos).ngulos), con uno o varios ejemplares (puntos).AsignaciAsignacióón: n: PPii RRjj..Solicitud (espera): Solicitud (espera): PPii RRjj..

Page 5: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Grafo de asignaciGrafo de asignacióón de recursosn de recursos

►► El grafo permite El grafo permite identificar situaciones identificar situaciones de interbloqueo.de interbloqueo.

►► La La preguntapregunta es:es:¿¿PodrPodríían concederse las an concederse las solicitudes actuales con solicitudes actuales con los recursos disponibles los recursos disponibles mmáás los que liberars los que liberaríían an los procesos que no los procesos que no estestáán esperando?n esperando?

R2P1

P2

P3

R1

R3

Page 6: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Grafos e interbloqueoGrafos e interbloqueo

►►Interbloqueo Interbloqueo ciclos en el grafo.ciclos en el grafo.

R2

P1

P2

P3

R1

R3

R2

P1

P2

P3

R1

R3

Hay interbloqueo No hay interbloqueo

Page 7: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Condiciones de interbloqueoCondiciones de interbloqueo

►► 4 condiciones necesarias, en conjunto suficientes:4 condiciones necesarias, en conjunto suficientes:ExclusiExclusióón mutua n mutua en el acceso a los recursos.en el acceso a los recursos.RetenciRetencióón y espera:n y espera: los procesos retienen los recursos que tienen los procesos retienen los recursos que tienen asignados mientras esperan a que se les asignen otros. asignados mientras esperan a que se les asignen otros. No expropiaciNo expropiacióón:n: los recursos se liberan slos recursos se liberan sóólo cuando los procesos lo cuando los procesos han terminado de usarlos. han terminado de usarlos. Espera circular:Espera circular: existe una secuencia de procesos existe una secuencia de procesos ((pp00, p, p11, , ……, , ppjj, , pp00) tal que cada uno est) tal que cada uno estáá esperando por recursos esperando por recursos que que ssóólo pueden liberarlo pueden liberar los siguientes.los siguientes.

►► Las 3 primeras son condiciones Las 3 primeras son condiciones estestááticasticas (caracter(caracteríísticas de sticas de los recursos y pollos recursos y políítica de asignacitica de asignacióón).n).

►► La cuarta condiciLa cuarta condicióón va ligada a la n va ligada a la dindináámicamica de ejecucide ejecucióón de n de los procesos.los procesos.

Page 8: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

GestiGestióón del interbloqueon del interbloqueo

►► Tres opciones:Tres opciones:Garantizar que nunca se llega a situaciGarantizar que nunca se llega a situacióón de n de interbloqueo.interbloqueo.►►PrevenciPrevencióón:n: negar al menos una de las condiciones necesarias.negar al menos una de las condiciones necesarias.►►EvasiEvasióón (evitacin (evitacióón):n): denegar solicitudes adenegar solicitudes aúún con recursos n con recursos

disponibles, para tener controlado el riesgo de interbloqueo.disponibles, para tener controlado el riesgo de interbloqueo.Conceder todas las solicitudes mientras haya recursos Conceder todas las solicitudes mientras haya recursos suficientes, y tomar medidas si se llega a interbloqueo.suficientes, y tomar medidas si se llega a interbloqueo.►►DetecciDeteccióón y recuperacin y recuperacióónn..

No hacer No hacer nadanada..►►Muchas veces, el interbloqueo afecta a procesos que forman Muchas veces, el interbloqueo afecta a procesos que forman

parte de una misma aplicaciparte de una misma aplicacióón.n.►►La responsabilidad se deja en manos del programador.La responsabilidad se deja en manos del programador.

Page 9: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

PrevenciPrevencióón de n de interbloqueosinterbloqueos

Page 10: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

PrevenciPrevencióón de interbloqueosn de interbloqueos

►► Hacer imposible el interbloqueo, negando alguna Hacer imposible el interbloqueo, negando alguna de las condiciones necesarias.de las condiciones necesarias.

Negar la Negar la exclusiexclusióón mutuan mutua..►► Imposible con recursos no compartibles (Imposible con recursos no compartibles (e.ge.g. impresoras).. impresoras).

Negar la Negar la no expropiacino expropiacióónn..►►SSóólo para recursos que pueden recuperar su estado (lo para recursos que pueden recuperar su estado (e.ge.g. .

memoria o CPU).memoria o CPU).►►Un proceso que tiene que esperar pierde los recursos que le Un proceso que tiene que esperar pierde los recursos que le

fueron asignados, y pasa a esperar tambifueron asignados, y pasa a esperar tambiéén por ellos.n por ellos.►►Alternativamente, se demora la expropiaciAlternativamente, se demora la expropiacióón hasta que algn hasta que algúún n

otro proceso necesite dichos recursos.otro proceso necesite dichos recursos.►►Riesgo de Riesgo de inaniciinanicióónn..

Page 11: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

PrevenciPrevencióón de interbloqueosn de interbloqueos

►► Las demLas demáás posibilidades pasan por limitar las s posibilidades pasan por limitar las solicitudes.solicitudes.

Negar la Negar la retenciretencióón y esperan y espera..►►Obligar a solicitar todos los recursos que vaya a necesitar cadaObligar a solicitar todos los recursos que vaya a necesitar cada

proceso al inicio de su ejecuciproceso al inicio de su ejecucióón. n. Problema: un proceso puede no conocer por adelantado todos los Problema: un proceso puede no conocer por adelantado todos los recursos que va a necesitar (recursos que va a necesitar (e.ge.g. trabajos interactivos).. trabajos interactivos).

►►Como alternativa, sComo alternativa, sóólo permitir solicitudes si los procesos no lo permitir solicitudes si los procesos no tienen ningtienen ningúún recurso asignado.n recurso asignado.

►►PolPolíítica conservadora:tica conservadora:Restringe escenarios sin riesgo de interbloqueo.Restringe escenarios sin riesgo de interbloqueo.InfrautilizaciInfrautilizacióón: recursos asignados que no se utilizan. n: recursos asignados que no se utilizan.

►►Riesgo de Riesgo de inaniciinanicióónn..

Page 12: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

PrevenciPrevencióón de interbloqueosn de interbloqueos

►►TambiTambiéén limitando las solicitudes:n limitando las solicitudes:Negar la Negar la espera circularespera circular..►►Ordenar los recursos y exigir que se soliciten en Ordenar los recursos y exigir que se soliciten en

orden creciente.orden creciente.►►Alternativamente, siendo Alternativamente, siendo ii≤≤jj, exigir que un proceso , exigir que un proceso

libere los ejemplares que tenga asignados de libere los ejemplares que tenga asignados de RRjjantes de solicitar ejemplares de antes de solicitar ejemplares de RRii..

►►PolPolíítica conservadora:tica conservadora:Restringe escenarios sin riesgo de interbloqueo.Restringe escenarios sin riesgo de interbloqueo.InfrautilizaciInfrautilizacióón: recursos asignados que no se utilizan. n: recursos asignados que no se utilizan. ►►La ordenaciLa ordenacióón de los recursos es crucial para las n de los recursos es crucial para las

prestaciones.prestaciones.

Page 13: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

EvasiEvasióón de interbloqueosn de interbloqueos

Page 14: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

EvasiEvasióón de interbloqueosn de interbloqueos

►► Impedir que se llegue a interbloqueo, explotando Impedir que se llegue a interbloqueo, explotando informaciinformacióón n a prioria priori sobre las necesidades de los procesos.sobre las necesidades de los procesos.

El mecanismo mEl mecanismo máás sencillo requiere conocer las s sencillo requiere conocer las necesidades necesidades mmááximasximas de los procesos.de los procesos.Tal informaciTal informacióón no estn no estáá disponible en un caso general.disponible en un caso general.

►► Denegar solicitudes que se podrDenegar solicitudes que se podríían conceder, para an conceder, para no no depender de la dindepender de la dináámica de ejecucimica de ejecucióón de los procesosn de los procesos..

Se evitan las condiciones de Se evitan las condiciones de retenciretencióón y esperan y espera y/o y/o espera circularespera circular..

►► PolPolíítica tica ligeramenteligeramente menos conservadora que la menos conservadora que la prevenciprevencióón.n.

Page 15: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Estados segurosEstados seguros

►► Para un sistema dado, existirPara un sistema dado, existiráán un conjunto de estados en n un conjunto de estados en los que el sistema estlos que el sistema estáá en situacien situacióón de interbloqueo.n de interbloqueo.

►► Para evitar llegar a ellos, se fuerza la evoluciPara evitar llegar a ellos, se fuerza la evolucióón por n por estados estados segurosseguros..

AnAnáálisis de caso peor:lisis de caso peor: un estado es seguro si es posible encontrar un estado es seguro si es posible encontrar un orden para satisfacer las necesidades un orden para satisfacer las necesidades mmááximasximas de todos los de todos los procesos.procesos.Para un estado dado, una secuencia de procesosPara un estado dado, una secuencia de procesos(p(p11, p, p22, , ……, , ppnn) es una ) es una secuencia segurasecuencia segura si las necesidades msi las necesidades mááximas ximas de de ppjj en ese momento pueden satisfacerse con los recursos libres en ese momento pueden satisfacerse con los recursos libres mmáás los que tienen asignados los procesos s los que tienen asignados los procesos ppii, con , con i<ji<j..Un estado es seguro si existe para Un estado es seguro si existe para éél una secuencia segura.l una secuencia segura.

Page 16: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Estados seguros e insegurosEstados seguros e inseguros

►►En un En un estado seguroestado seguro::No hay interbloqueo.No hay interbloqueo.Se puede encontrar un orden para satisfacer las Se puede encontrar un orden para satisfacer las necesidades mnecesidades mááximas de todos los procesos.ximas de todos los procesos.

►►En un En un estado no seguroestado no seguro (inseguro)(inseguro)::Puede haber interbloqueo o no.Puede haber interbloqueo o no.De no haberlo ya, el que se llegue o no a De no haberlo ya, el que se llegue o no a interbloqueo depende de cinterbloqueo depende de cóómo se sucedan las mo se sucedan las solicitudes de recursos.solicitudes de recursos.

Page 17: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

EjemploEjemplo

►► Un Un úúnico recurso con 12 ejemplares.nico recurso con 12 ejemplares.►► 3 procesos:3 procesos:

►► El sistema se encuentra en un estado seguro.El sistema se encuentra en un estado seguro.Secuencia segura: Secuencia segura: (P(P22,P,P11,P,P33))..

29P3

24P2

510P1

Asignación actualNecesidad máxima

Page 18: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Estados seguros e insegurosEstados seguros e inseguros

Solicitudes, asignacionesy liberaciones

Estados inseguros

Estados de interbloqueo

Asignaciones

Liberaciones

Solicitudes, asignacionesy liberaciones

Estados seguros

Estadoinicial

Page 19: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Algoritmos para evitar interbloqueosAlgoritmos para evitar interbloqueos

►► Demorar las asignaciones que, aDemorar las asignaciones que, aúún pudiendo n pudiendo efectuarse por haber recursos disponibles, efectuarse por haber recursos disponibles, llevarllevaríían al sistema a un estado inseguro.an al sistema a un estado inseguro.

►► Para cada asignaciPara cada asignacióón que se plantee:n que se plantee:¿¿Existen recursos libres para efectuarla?Existen recursos libres para efectuarla?►►NO: el proceso espera.NO: el proceso espera.►►SSÍÍ: simular que se realiza la asignaci: simular que se realiza la asignacióón.n.

¿¿El estado resultante es seguro?El estado resultante es seguro?►► NO: el proceso espera.NO: el proceso espera.►► SSÍÍ: el proceso obtiene los recursos.: el proceso obtiene los recursos.

►► Se necesita un algoritmo para determinar si un Se necesita un algoritmo para determinar si un estado es seguro estado es seguro (algoritmo de seguridad)(algoritmo de seguridad)..

Page 20: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Ejemplo (continEjemplo (continúúa)a)

►► ¿¿QuQuéé pasa si Ppasa si P33 solicita un nuevo ejemplar?solicita un nuevo ejemplar?Aunque hay ejemplares libres, antes de asignar hay que Aunque hay ejemplares libres, antes de asignar hay que verificar el estado al que se llegarverificar el estado al que se llegaríía:a:

SerSeríía un estado inseguro, desde el que Pa un estado inseguro, desde el que P11 y Py P33 podrpodríían an llegar a bloquearse mutuamente.llegar a bloquearse mutuamente.Por tanto, Por tanto, PP33 tiene que esperartiene que esperar..

39P3

24P2

510P1

Asignación actualNecesidad máxima

Page 21: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Algoritmos de seguridadAlgoritmos de seguridad

►► Se trata de ver si existe una secuencia segura Se trata de ver si existe una secuencia segura para un estado determinado.para un estado determinado.

►► Si sSi sóólo existe 1 ejemplar de cada recurso:lo existe 1 ejemplar de cada recurso:DetecciDeteccióón de ciclosn de ciclos sobre grafos de asignacisobre grafos de asignacióón con n con flechas de reserva flechas de reserva (de puntos), que indican que un (de puntos), que indican que un proceso proceso puedepuede solicitar un determinado recurso.solicitar un determinado recurso.►►Para simular que se atiende una solicitud, se cambian las Para simular que se atiende una solicitud, se cambian las

flechas de reserva correspondientes por flechas de asignaciflechas de reserva correspondientes por flechas de asignacióón.n.►►Si aparecen ciclos, el estado es inseguro.Si aparecen ciclos, el estado es inseguro.►►Complejidad Complejidad O(nO(n22), con n el n), con n el núúmero de procesos.mero de procesos.

Page 22: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

EjemploEjemplo

P1 P2

R1

R2

P1 P2

R1

R2

P1 P2

R1

R2

P1 P2

R1

R2

P1 y P2 pueden solicitar R1 y R2P1 solicita R1

No aparecen ciclos R1 se asigna a P1

P2 solicita R2Aparece un ciclo P2 espera

P2 esperaSe le asignará R2 cuando P1 libere R1

Page 23: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Algoritmos de seguridadAlgoritmos de seguridad

►►Si existe mSi existe máás de 1 ejemplar de algs de 1 ejemplar de algúún n recurso: recurso: algoritmo del banqueroalgoritmo del banquero..

AnalogAnalogíía: a: nunca asignar efectivo disponible si nunca asignar efectivo disponible si hay riesgo de no poder satisfacer las hay riesgo de no poder satisfacer las necesidades de todos los clientes.necesidades de todos los clientes.Esencialmente el mismo procedimiento que en Esencialmente el mismo procedimiento que en la deteccila deteccióón de ciclos, pero sobre una n de ciclos, pero sobre una representacirepresentacióón matricialn matricial..Complejidad Complejidad O(mO(m··nn22), con m el n), con m el núúmero de mero de recursos y n el nrecursos y n el núúmero de procesos.mero de procesos.

Page 24: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Algoritmo del banqueroAlgoritmo del banquero

►► Vectores de longitud m:Vectores de longitud m:Libres[jLibres[j]] = n= núúmero de ejemplares no asignados del mero de ejemplares no asignados del recurso recurso RRjj..MMááximaximakk[j[j]] = n= núúmero mmero mááximo de ejemplares del ximo de ejemplares del recurso recurso RRjj que puede necesitar simultque puede necesitar simultááneamente el neamente el proceso proceso PPkk..AsignaciAsignacióónnkk[j[j]] = n= núúmero de ejemplares del recurso mero de ejemplares del recurso RRjjque tiene asignados el proceso que tiene asignados el proceso PPkk..SolicitudSolicitudkk[j[j]] = n= núúmero de ejemplares del recurso mero de ejemplares del recurso RRjj que que solicita el proceso solicita el proceso PPkk..

►► Conceder una solicitud implica:Conceder una solicitud implica:Libres = Libres = LibresLibres –– SolicitudSolicitudkk

AsignaciAsignacióónnkk = = AsignaciAsignacióónnkk + + SolicitudSolicitudkk

Page 25: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

Algoritmo del banqueroAlgoritmo del banquero►► La verificaciLa verificacióón del estado trata de construir una secuencia segura.n del estado trata de construir una secuencia segura.

En evasiEn evasióón simulamos el caso peor n simulamos el caso peor SolicitudSolicitudkk = = MMááximaximakk –– AsignaciAsignacióónnkk. . El vector El vector DisponiblesDisponibles, de longitud m, acumular, de longitud m, acumularáá los recursos libres y los los recursos libres y los asignados a los procesos anteriores en la secuencia segura.asignados a los procesos anteriores en la secuencia segura.El vector El vector IncluidoIncluido, de n componentes , de n componentes booleanasbooleanas, indicar, indicaráá si los distintos si los distintos procesos ya se han incluido en la secuencia segura.procesos ya se han incluido en la secuencia segura.Procedimiento:Procedimiento:►► Disponibles = LibresDisponibles = Libres►► Incluido = {falso, Incluido = {falso, falsofalso, , ……, falso}, falso}►► Repetir por siempre:Repetir por siempre:

Buscar k tal que Buscar k tal que ►► ((Incluido[kIncluido[k] = falso) Y] = falso) Y►► ((SolicitudSolicitudkk[j[j] ] ≤≤ Disponibles[jDisponibles[j], 1], 1≤≤jj≤≤m)m)

Si existe ese k, entoncesSi existe ese k, entonces►► Incluido[kIncluido[k] = verdadero] = verdadero►► Disponibles = Disponibles = DisponiblesDisponibles + + AsignaciAsignacióónnkk

Si no, salir del bucleSi no, salir del bucle►► Si existe k tal que Si existe k tal que Incluido[kIncluido[k] = falso, el estado es inseguro.] = falso, el estado es inseguro.►► En caso contrario, es seguro.En caso contrario, es seguro.

Page 26: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

DetecciDeteccióón de n de interbloqueosinterbloqueos

Page 27: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

DetecciDeteccióón de interbloqueosn de interbloqueos►► Conceder todas las solicitudes mientras haya recursos para atendConceder todas las solicitudes mientras haya recursos para atenderlas, erlas,

y tomar medidas si se detecta interbloqueo.y tomar medidas si se detecta interbloqueo.No se restringen escenarios sin riesgo de interbloqueo.No se restringen escenarios sin riesgo de interbloqueo.No hay infrautilizaciNo hay infrautilizacióón de recursos.n de recursos.

►► Para la detecciPara la deteccióón se usan los mismos algoritmos de seguridad que en n se usan los mismos algoritmos de seguridad que en la evasila evasióón, n, teniendo en cuenta las solicitudes realesteniendo en cuenta las solicitudes reales (no el caso peor).(no el caso peor).

►► ¿¿CuCuáándo ejecutar el algoritmo de deteccindo ejecutar el algoritmo de deteccióón?n?Con cada solicitud que no se puede satisfacer inmediatamente.Con cada solicitud que no se puede satisfacer inmediatamente.►► La detecciLa deteccióón mn máás rs ráápida.pida.►► Permite identificar al proceso que Permite identificar al proceso que causa causa el interbloqueo.el interbloqueo.►► Puede suponer un coste excesivo.Puede suponer un coste excesivo.

PeriPerióódicamente.dicamente.►► Dificultad de elegir el periodo mDificultad de elegir el periodo máás adecuado.s adecuado.

Cuando se detecte una degradaciCuando se detecte una degradacióón de las prestaciones del sistema (n de las prestaciones del sistema (e.ge.g. . un factor de utilizaciun factor de utilizacióón de la CPU bajo).n de la CPU bajo).

Page 28: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

RecuperaciRecuperacióónn

►► Abortar procesosAbortar procesos, dejando libres los recursos que retienen., dejando libres los recursos que retienen.TodosTodos los procesos que participan en el interbloqueo (drlos procesos que participan en el interbloqueo (dráástico).stico).Un proceso tras otroUn proceso tras otro, comprobando si se resuelve el problema., comprobando si se resuelve el problema.►► SelecciSeleccióón en base a prioridades, nn en base a prioridades, núúmero y tipo de recursos mero y tipo de recursos

consumidos, etc.consumidos, etc.

►► Expropiar recursos:Expropiar recursos:SelecciSeleccióón de procesos vn de procesos vííctima (como arriba).ctima (como arriba).SelecciSeleccióón de recursos.n de recursos.►► No todos se pueden expropiar.No todos se pueden expropiar.

Retroceso:Retroceso: devolver los procesos a un punto anterior de su devolver los procesos a un punto anterior de su ejecuciejecucióón.n.►► SoluciSolucióón mn máás drs dráástica y simple: abortar y reiniciar.stica y simple: abortar y reiniciar.

Hay que considerar los procesos afectados en el pasado para no Hay que considerar los procesos afectados en el pasado para no causar causar inaniciinanicióónn..

Page 29: Sistemas operativos - idtv.det.uvigo.esidtv.det.uvigo.es/~mlnores/6w.pdf · Estado de asignación de recursos El gestor de los recursos registra si están libres, o asignados a un

FinFin