SlideShare una empresa de Scribd logo
Concurrencia:
interbloqueo e
inanición
Jhon Fredy Garcia Cumaco
Sistemas Operativos
Escuela Colombiana de Carreras Industriales
PRINCIPIOS DEL INTERBLOQUEO
El interbloqueo se puede definir como el
bloqueo permanente de un conjunto de
procesos que compiten por los recursos del
sistema o bien se comunican unos con
otros. A diferencia de otros problemas de la
gestión concurrente de procesos, no existe
una solución eficiente para el caso general.
Todos
los
interbloqueos
suponen
necesidades contradictorias de recursos
por parte de dos o más procesos.
Concurrencia: interbloqueo e
inanición
Se define como el bloqueo permanente de
un conjunto de procesos que compiten por
los recursos del sistema o bien se
comunican unos con otros.
RECURSOS
Un sistema se compone de un numero finito de recursos que se
distribuyen entre varios tipos:
- Físicos: Ciclo de cpu, espacio en memoria, dispositivos de e/s
(impresoras, unidades de cinta, etc.)
- Lógicos: Ficheros, tablas del sistemas, semáforos.
Por lo general, una computadora tiene distintos recursos que
pueden ser otorgados. Algunos recursos podrán tener varias
instancias idénticas, como es el caso de tres unidades de cinta.
Si se tienen disponibles varias copias de un recurso, cualquiera
de ellas se pude utilizar para satisfacer cualquier solicitud del
recurso. Un recurso es cualquier cosa que solo puede ser
utilizada por un único proceso en un instante dado.
Los recursos son de dos tipos:
- Apropiable
- No apropiables
RECURSOS
Si el recurso no esta disponible cuando se le solicita, el proceso
solicitante debe esperar. En algunos sistemas operativos, el
proceso se bloquea de manera automática al fallar una solicitud
de un recurso y se despierta cuando dicho recurso esta
disponible. En otros sistemas la solicitud falla con un código de
error y el proceso solicitante debe esperar un poco e intentar de
nuevo.
Un proceso cuya solicitud de un recurso ha sido denegada entra
por lo general en un ciclo, en el cual solicita el recurso, duerme e
intenta de nuevo.
Aunque este proceso no esta bloqueado, para todos los efectos
esta como bloqueado, puesto que no puede hacer ninguna labor
útil.
CONDICIONES PARA PRODUCIR
INTERBLOQUEO
En la política del sistema operativo, deben darse tres
condiciones para que pueda producirse un interbloqueo:
1- Condición de exclusión mutua: Cada recurso esta asignado
a un único proceso o esta disponible.
2Condición de posesión y espera: Los procesos que tienen,
en un momento dado, recursos asignados con anterioridad,
pueden solicitar nuevos recursos.
3Condición de no apropiación: Los recursos otorgados con
anterioridad no pueden ser forzados a dejar un proceso. El
proceso que los posee debe liberarlos en forma explicita.
CONDICIONES PARA PRODUCIR
INTERBLOQUEO
En la mayoría de los casos, estas condiciones son bastantes
necesarias. La exclusión mutua hace falta para asegurar la
consistencia de resultados y la integridad de la base de datos.
De forma similar, la apropiación no se puede aplicar
arbitrariamente y, cuando se encuentran involucrados recursos
de datos, debe estar acompañada de un mecanismo de
recuperación y reanulación, que devuelva un proceso y sus
recursos a un estado previo adecuado, desde el que el proceso
puede finalmente repetir sus acciones.
Puede no existir interbloqueo con solo estas tres condiciones.
Para que se produzca interbloqueo, se necesita una cuarta
condición:
CONDICIONES PARA PRODUCIR
INTERBLOQUEO
4Condición de espera circular (o circulo vicioso de espera):
Debe existir una cadena circular de dos o mas procesos, cada
uno de los cuales espera un recurso poseído por el siguiente
miembro de la cadena.
EJEMPLO
Interbloqueo de tráfico
Cuatro coches llegan aproximadamente en el mismo instante a
un cruce de cuatro caminos. Los cuatro cuadrantes de la
intersección son los recursos compartidos sobre los que se
demanda control; por tanto, si los coches desean atravesar el
cruce, las necesidades de recursos son las siguientes:
EJEMPLO
El coche que va hacia el norte necesita los cuadrantes 1 y 2.
El coche que va hacia el oeste necesita los cuadrantes 2 y 3.
El coche que va hacia el sur necesita los cuadrantes 3 y 4.
El coche que va hacia el este necesita los cuadrantes 4 y 1.
EJEMPLO
La norma mas habitual en la carretera es que un coche en un
cruce de cuatro caminos debe ceder el paso al coche que
está a su derecha. Esta norma funciona si solo hay dos o tres
coches en el cruce.
Por ejemplo, si solo llegan al cruce los coches del norte y del
oeste, el coche del norte esperará hasta que el del oeste
pase. Sin embargo, si los cuatro coches llegan al mismo
tiempo cada uno se abstendrá de entrar en el cruce,
provocando interbloqueo.
Si todos los coches ignoran las normas y entran (con
cuidado) en el cruce, cada coche obtendrá un recurso (un
cuadrante) pero no podrá continuar porque el segundo
recurso que necesita ya ha sido invadido por otro coche. De
nuevo, se tiene interbloqueo.

Más contenido relacionado

La actualidad más candente

Interfaces De Entrada Y Salida
Interfaces De Entrada Y SalidaInterfaces De Entrada Y Salida
Interfaces De Entrada Y SalidaBigbossH
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
Jose Guadalupe Couoh Dzul
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
Manzelot
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoriaguestca1de2e
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un proceso
i92almaa
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
YESENIA CETINA
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
Luis Igoodbad
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
Fabian Rojas
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
José Antonio Sandoval Acosta
 
Algoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONAlgoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSON
PANAFMX
 
Algoritmos de gestión de memoria
Algoritmos de gestión de memoriaAlgoritmos de gestión de memoria
Algoritmos de gestión de memoria
adolfoahumada94
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoTecnologico de pinotepa
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuenciales
Wilfred Garcia Diomeda
 
4.4 Acceso a sistema de archivos
4.4 Acceso a sistema de archivos4.4 Acceso a sistema de archivos
4.4 Acceso a sistema de archivos
Jesus Garcia
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
David Martinez
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesosAbimael hernandez
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
Emmanuel Fortuna
 
Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)
Rodrigo Saraguro
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativos
Daniel Vargas
 

La actualidad más candente (20)

Interfaces De Entrada Y Salida
Interfaces De Entrada Y SalidaInterfaces De Entrada Y Salida
Interfaces De Entrada Y Salida
 
control de concurrencia
control de concurrenciacontrol de concurrencia
control de concurrencia
 
Von neumann vs harvard
Von neumann vs harvardVon neumann vs harvard
Von neumann vs harvard
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoria
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un proceso
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
Colas en programacion
Colas en programacionColas en programacion
Colas en programacion
 
REGISTRO DE BANDERAS
REGISTRO DE BANDERASREGISTRO DE BANDERAS
REGISTRO DE BANDERAS
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Algoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSONAlgoritmos DEKKER y PETERSON
Algoritmos DEKKER y PETERSON
 
Algoritmos de gestión de memoria
Algoritmos de gestión de memoriaAlgoritmos de gestión de memoria
Algoritmos de gestión de memoria
 
Deteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un InterbloqueoDeteccion Y Recuperacion De Un Interbloqueo
Deteccion Y Recuperacion De Un Interbloqueo
 
Diferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuencialesDiferencias entre circuitos combinacionales y secuenciales
Diferencias entre circuitos combinacionales y secuenciales
 
4.4 Acceso a sistema de archivos
4.4 Acceso a sistema de archivos4.4 Acceso a sistema de archivos
4.4 Acceso a sistema de archivos
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
 
Problemas de sincronizacion de procesos
Problemas de sincronizacion de procesosProblemas de sincronizacion de procesos
Problemas de sincronizacion de procesos
 
Procesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas OperativosProcesos e Hilos en los Sistemas Operativos
Procesos e Hilos en los Sistemas Operativos
 
Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)Planificacion de CPU FCFS (First Come, First Served)
Planificacion de CPU FCFS (First Come, First Served)
 
Monitores-sistemas operativos
Monitores-sistemas operativosMonitores-sistemas operativos
Monitores-sistemas operativos
 

Similar a Concurrencia interbloqueo e inanición

Interbloqueo
InterbloqueoInterbloqueo
Interbloqueo
Rey JOaquin
 
Bloqueos _
Bloqueos _Bloqueos _
Bloqueos _
Ichinose 11
 
Bloqueo muto
Bloqueo mutoBloqueo muto
Bloqueo muto
mirian
 
Sistoper Bloqueos Mutuos
Sistoper Bloqueos MutuosSistoper Bloqueos Mutuos
Sistoper Bloqueos Mutuos
César Montalván
 
Interbloqueosproyect ofinal
Interbloqueosproyect ofinalInterbloqueosproyect ofinal
Interbloqueosproyect ofinal
fhavilap
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
Joel Bohorquez
 
Interbloqueosproyect ofinall
Interbloqueosproyect ofinallInterbloqueosproyect ofinall
Interbloqueosproyect ofinallfhavilap
 
Taller interbloqueo
Taller interbloqueo Taller interbloqueo
Taller interbloqueo Vero Mateus
 
deadlok- interbloqueos
deadlok- interbloqueosdeadlok- interbloqueos
deadlok- interbloqueos
mariavictoria0000
 
Abrazo Mortal - UCC Leon
Abrazo Mortal - UCC LeonAbrazo Mortal - UCC Leon
Abrazo Mortal - UCC Leon
UCC
 
Capitulo2
Capitulo2Capitulo2
Capitulo2
Santiago
 
Interbloqueos
InterbloqueosInterbloqueos
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
Cristhian Rosales
 

Similar a Concurrencia interbloqueo e inanición (20)

Presentación2
Presentación2Presentación2
Presentación2
 
Presentación2
Presentación2Presentación2
Presentación2
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueos
 
Interbloqueo
InterbloqueoInterbloqueo
Interbloqueo
 
Bloqueos _
Bloqueos _Bloqueos _
Bloqueos _
 
Bloqueo muto
Bloqueo mutoBloqueo muto
Bloqueo muto
 
1modulo2seccion5
1modulo2seccion51modulo2seccion5
1modulo2seccion5
 
Sistoper Bloqueos Mutuos
Sistoper Bloqueos MutuosSistoper Bloqueos Mutuos
Sistoper Bloqueos Mutuos
 
Interbloqueosproyect ofinal
Interbloqueosproyect ofinalInterbloqueosproyect ofinal
Interbloqueosproyect ofinal
 
Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Interbloqueosproyect ofinall
Interbloqueosproyect ofinallInterbloqueosproyect ofinall
Interbloqueosproyect ofinall
 
Taller interbloqueo
Taller interbloqueo Taller interbloqueo
Taller interbloqueo
 
sistema operativo
sistema operativosistema operativo
sistema operativo
 
Windows
WindowsWindows
Windows
 
deadlok- interbloqueos
deadlok- interbloqueosdeadlok- interbloqueos
deadlok- interbloqueos
 
Abrazo Mortal - UCC Leon
Abrazo Mortal - UCC LeonAbrazo Mortal - UCC Leon
Abrazo Mortal - UCC Leon
 
Capitulo2
Capitulo2Capitulo2
Capitulo2
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Interbloqueos
InterbloqueosInterbloqueos
Interbloqueos
 
Sincronización de Procesos
Sincronización de Procesos Sincronización de Procesos
Sincronización de Procesos
 

Concurrencia interbloqueo e inanición

  • 1. Concurrencia: interbloqueo e inanición Jhon Fredy Garcia Cumaco Sistemas Operativos Escuela Colombiana de Carreras Industriales
  • 2. PRINCIPIOS DEL INTERBLOQUEO El interbloqueo se puede definir como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros. A diferencia de otros problemas de la gestión concurrente de procesos, no existe una solución eficiente para el caso general. Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o más procesos.
  • 3. Concurrencia: interbloqueo e inanición Se define como el bloqueo permanente de un conjunto de procesos que compiten por los recursos del sistema o bien se comunican unos con otros.
  • 4. RECURSOS Un sistema se compone de un numero finito de recursos que se distribuyen entre varios tipos: - Físicos: Ciclo de cpu, espacio en memoria, dispositivos de e/s (impresoras, unidades de cinta, etc.) - Lógicos: Ficheros, tablas del sistemas, semáforos. Por lo general, una computadora tiene distintos recursos que pueden ser otorgados. Algunos recursos podrán tener varias instancias idénticas, como es el caso de tres unidades de cinta. Si se tienen disponibles varias copias de un recurso, cualquiera de ellas se pude utilizar para satisfacer cualquier solicitud del recurso. Un recurso es cualquier cosa que solo puede ser utilizada por un único proceso en un instante dado. Los recursos son de dos tipos: - Apropiable - No apropiables
  • 5. RECURSOS Si el recurso no esta disponible cuando se le solicita, el proceso solicitante debe esperar. En algunos sistemas operativos, el proceso se bloquea de manera automática al fallar una solicitud de un recurso y se despierta cuando dicho recurso esta disponible. En otros sistemas la solicitud falla con un código de error y el proceso solicitante debe esperar un poco e intentar de nuevo. Un proceso cuya solicitud de un recurso ha sido denegada entra por lo general en un ciclo, en el cual solicita el recurso, duerme e intenta de nuevo. Aunque este proceso no esta bloqueado, para todos los efectos esta como bloqueado, puesto que no puede hacer ninguna labor útil.
  • 6. CONDICIONES PARA PRODUCIR INTERBLOQUEO En la política del sistema operativo, deben darse tres condiciones para que pueda producirse un interbloqueo: 1- Condición de exclusión mutua: Cada recurso esta asignado a un único proceso o esta disponible. 2Condición de posesión y espera: Los procesos que tienen, en un momento dado, recursos asignados con anterioridad, pueden solicitar nuevos recursos. 3Condición de no apropiación: Los recursos otorgados con anterioridad no pueden ser forzados a dejar un proceso. El proceso que los posee debe liberarlos en forma explicita.
  • 7. CONDICIONES PARA PRODUCIR INTERBLOQUEO En la mayoría de los casos, estas condiciones son bastantes necesarias. La exclusión mutua hace falta para asegurar la consistencia de resultados y la integridad de la base de datos. De forma similar, la apropiación no se puede aplicar arbitrariamente y, cuando se encuentran involucrados recursos de datos, debe estar acompañada de un mecanismo de recuperación y reanulación, que devuelva un proceso y sus recursos a un estado previo adecuado, desde el que el proceso puede finalmente repetir sus acciones. Puede no existir interbloqueo con solo estas tres condiciones. Para que se produzca interbloqueo, se necesita una cuarta condición:
  • 8. CONDICIONES PARA PRODUCIR INTERBLOQUEO 4Condición de espera circular (o circulo vicioso de espera): Debe existir una cadena circular de dos o mas procesos, cada uno de los cuales espera un recurso poseído por el siguiente miembro de la cadena.
  • 9. EJEMPLO Interbloqueo de tráfico Cuatro coches llegan aproximadamente en el mismo instante a un cruce de cuatro caminos. Los cuatro cuadrantes de la intersección son los recursos compartidos sobre los que se demanda control; por tanto, si los coches desean atravesar el cruce, las necesidades de recursos son las siguientes:
  • 10. EJEMPLO El coche que va hacia el norte necesita los cuadrantes 1 y 2. El coche que va hacia el oeste necesita los cuadrantes 2 y 3. El coche que va hacia el sur necesita los cuadrantes 3 y 4. El coche que va hacia el este necesita los cuadrantes 4 y 1.
  • 11. EJEMPLO La norma mas habitual en la carretera es que un coche en un cruce de cuatro caminos debe ceder el paso al coche que está a su derecha. Esta norma funciona si solo hay dos o tres coches en el cruce. Por ejemplo, si solo llegan al cruce los coches del norte y del oeste, el coche del norte esperará hasta que el del oeste pase. Sin embargo, si los cuatro coches llegan al mismo tiempo cada uno se abstendrá de entrar en el cruce, provocando interbloqueo. Si todos los coches ignoran las normas y entran (con cuidado) en el cruce, cada coche obtendrá un recurso (un cuadrante) pero no podrá continuar porque el segundo recurso que necesita ya ha sido invadido por otro coche. De nuevo, se tiene interbloqueo.