Este documento describe el interbloqueo y la inanición en sistemas concurrentes. Define el interbloqueo como el bloqueo permanente de un conjunto de procesos que compiten por recursos o se comunican entre sí. Explica que para que ocurra el interbloqueo se deben cumplir cuatro condiciones: exclusión mutua, posesión y espera, no apropiación, y espera circular. También incluye un ejemplo de interbloqueo en un cruce de cuatro caminos donde cuatro coches llegan al mismo tiempo y ninguno puede avanzar porque cada
En este material podrás encontrar información acerca de los tipos, caracteristicas, ejemplos de arquitecturas de computadoras. Nota: Esta es la actualización de mi material # 3
En este material podrás encontrar información acerca de los tipos, caracteristicas, ejemplos de arquitecturas de computadoras. Nota: Esta es la actualización de mi material # 3
Este material didáctico fue desarrollado para la asignatura de Tópicos Avanzados de Programación, del plan SCD-1027 2016 de Ing. En Sistemas Computacionales
Los sistemas combinacionales están formados por un conjunto de compuertas interconectadas cuya salida, en un momento dado, esta únicamente en función de la entrada, en ese mismo instante. Por esto se dice que los sistemas combinacionales no cuentan con memoria
En cambio los sistemas secuenciales, son capaces de tener salidas no solo en función a través de sus estados internos. Esto se debe a que los sistemas secuenciales tienen memoria y son capaces de almacenar información a través de sus estados internos.
En esta presentación se presentan los siguientes temas:
Información, estado y formación de un proceso.
Concepto de hilo y su constitución.
Planificación de servicios POXIS.
Problemas clásicos en la comunicación de procesos.
Este material didáctico fue desarrollado para la asignatura de Tópicos Avanzados de Programación, del plan SCD-1027 2016 de Ing. En Sistemas Computacionales
Los sistemas combinacionales están formados por un conjunto de compuertas interconectadas cuya salida, en un momento dado, esta únicamente en función de la entrada, en ese mismo instante. Por esto se dice que los sistemas combinacionales no cuentan con memoria
En cambio los sistemas secuenciales, son capaces de tener salidas no solo en función a través de sus estados internos. Esto se debe a que los sistemas secuenciales tienen memoria y son capaces de almacenar información a través de sus estados internos.
En esta presentación se presentan los siguientes temas:
Información, estado y formación de un proceso.
Concepto de hilo y su constitución.
Planificación de servicios POXIS.
Problemas clásicos en la comunicación de procesos.
En los sistemas multiprogramados se define el proceso como entidad representante de la ejecución de un programa en un determinado contexto; En general, un proceso es un flujo de ejecución, representado básicamente por un contador de programa, y su contexto de ejecución, que puede ser más o menos amplio.
Similar a Concurrencia interbloqueo e inanición (20)
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.