0% encontró este documento útil (0 votos)
42 vistas7 páginas

Lect

resumen de sistemas operativos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Temas abordados

  • bloqueo de procesos,
  • bloqueo permanente,
  • estado seguro,
  • preempción de recursos,
  • monitores,
  • espera circular,
  • recursos reutilizables,
  • detección de deadlock,
  • memoria,
  • interbloqueo
0% encontró este documento útil (0 votos)
42 vistas7 páginas

Lect

resumen de sistemas operativos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Temas abordados

  • bloqueo de procesos,
  • bloqueo permanente,
  • estado seguro,
  • preempción de recursos,
  • monitores,
  • espera circular,
  • recursos reutilizables,
  • detección de deadlock,
  • memoria,
  • interbloqueo

Principios

Punto muerto: es el bloqueo permanente de un conjunto de porsesos que están compitiendo por
los recuersos del sistema o por comunicarse entre si

Deadlocked

El interbloqueo (deadlock) es una situación en la que un conjunto de procesos se bloquea de


manera permanente porque cada uno espera un recurso o evento que solo otro proceso
bloqueado puede liberar. Esto crea un ciclo de dependencia en el que ninguno de los procesos
puede avanzar, haciendo que el sistema se detenga de forma indefinida. No existe una solución
eficiente en términos generales para resolver este problema.

Este diagrama demuestra visualmente el concepto de interbloqueo al mostrar cómo las rutas de
dos procesos pueden cruzarse cuando ambos compiten por los mismos recursos. Si ambos
procesos adquieren los recursos en el orden incorrecto, pueden entrar en una situación de
interbloqueo donde ninguno puede liberar los recursos necesarios, lo que lleva a una falla en el
sistema.
Glosario

straight through

defer
Resumen Completo sobre Deadlock

1. Definición de Deadlock

El interbloqueo (deadlock) es una situación en la que un conjunto de procesos se bloquea de


manera permanente porque cada uno espera un evento que solo otro proceso bloqueado puede
liberar. Esto crea un ciclo de dependencia en el que ninguno de los procesos puede avanzar,
haciendo que el sistema se detenga de forma indefinida.

Es importante tener claro que el interbloqueo es permanente porque todos los procesos
involucrados están en una situación donde ninguno puede continuar debido a que están
esperando que otro libere un recurso que ellos necesitan

Existen dos conceptos más relacionados a esto:

El potencial interbloqueo: Este sucede cuando un sistema esta en riesgo a entrar en un estado de
interbloqueo, en otras palabras, se puede decir que los recursos están disponibles para que
cualquiera de los procesos lo utilicen. En el ejemplo en la intersección de tracito, un potencial
interbloqueo es cuando los carros están detenidos, ahí todos tienen la posibilidad de avanzar.

Un interbloqueo real: este se da cuando todos los procesos de brincan las reglas (no se detienen) y
avanzan.

región fatal" o "zona fatal"

Es un área donde el riesgo de que ocurra un interbloqueo es inminente (Zona peligrosa), es donde
las condiciones para que un interbloqueo ocurra ya se cumplieron y donde la situación se vuelve
irremediable sin intervención externa.

Este diagrama demuestra visualmente el concepto de interbloqueo al mostrar cómo las rutas de
dos procesos pueden cruzarse cuando ambos compiten por los mismos recursos. Si ambos
procesos adquieren los recursos en el orden incorrecto, pueden entrar en una situación de
interbloqueo donde ninguno puede liberar los recursos necesarios, lo que lleva a una falla en el
sistema.

Categorías generales de recursos


Recurso Reutilizable: Este recurso de caracteriza porque este solo puede ser usado por un
proceso a la vez y no es agotable. Basicamente los procesos conforme van optieniendo recursos
los va liberando para que otros procesos los reutilicen.

Ejemplos de recursos reutilizables incluyen:

 Procesadores
 Canales de entrada/salida (I/O)
 Memoria principal y secundaria
 Dispositivos
 Estructuras de datos como archivos, bases de datos y semáforos

. El interbloqueo ocurre si cada proceso retiene un recurso y solicita el otro.

Los interbloqueos como este ocurren y la causa está en la lógica del programa, lo que hace que su
detección sea difícil. Una estrategia para lidiar con tales interbloqueos es imponer restricciones en
el diseño del sistema sobre el orden en el que se pueden solicitar los recursos.

 Recursos Consumibles: Recursos que se crean (producen) y destruyen (consumen)


Cuando un recurso es adquirido por un proceso consumidor, el recurso deja de existir.

Ejemplos de recursos consumibles incluyen:

 Interrupciones
 Señales
 Mensajes
 Información en los búferes de entrada/salida (I/O)

………………………………………..

Gráficos de Asignación de Recursos:

Esta herrramientoa de Holt de 1972, es un grafo que representa el estado del sistema en relación
a los resusrso y procesos.

Los nodos: representan cada proceso y recurso

Los bordes o arcos se dividen en:

- Borde dirigido de un proceso a un recurso (borde invisible)


El proceso ha solicitado un recurso, pero el recurso aún no ha sido concedido.
- Borde dirigido de un recurso reutilizable a un proceso
Si una instancia del recurso ha sido concedida a un proceso, el borde se dirige desde un
punto en el nodo del recurso hacia el proceso que lo está utilizando

Estos gráficos ayudan a visualizar cómo los recursos están siendo asignados o solicitados por los
procesos, lo que es útil para identificar posibles situaciones de interbloqueo en el sistema.

2. Condiciones Necesarias para Deadlock

Para que ocurra un deadlock, deben cumplirse las siguientes cuatro condiciones
simultáneamente:

1. Exclusión Mutua: Solo un proceso puede usar un recurso a la vez. Si un recurso


está siendo usado por un proceso, otros procesos deben esperar hasta que el recurso
sea liberado.
2. Espera y Retención: Un proceso que ya tiene asignado al menos un recurso puede
solicitar recursos adicionales y retener los que ya posee mientras espera que se le
concedan los nuevos recursos.
3. No Preempción: No se puede forzar a un proceso a liberar un recurso que ya tiene;
el recurso solo se libera voluntariamente por el proceso que lo posee.
4. Espera Circular: Debe existir una cadena cerrada de procesos, donde cada proceso
en la cadena está esperando un recurso que está siendo retenido por el siguiente
proceso en la cadena.

3. Estrategias para Manejar Deadlock

Existen tres enfoques principales para manejar el deadlock:

1. Prevención de Deadlock:
o Objetivo: Eliminar al menos una de las condiciones necesarias para el
deadlock.
o Estrategias:
 Solicitud Completa: Un proceso solicita todos los recursos que
necesita al inicio, evitando la espera y retención.
 Preempción: Implementar mecanismos para retirar recursos de
procesos si es necesario, permitiendo que otros procesos puedan
continuar.
 Ordenación de Recursos: Asignar un orden a los recursos y hacer
que los procesos soliciten los recursos en un orden específico para
evitar ciclos de espera circular.
2. Evitación de Deadlock:
o Objetivo: Garantizar que el sistema siempre se mantenga en un estado
seguro mediante decisiones dinámicas.
o Estrategias:
 Algoritmo del Banco (Banker’s Algorithm): Evalúa si una
solicitud de recursos puede llevar al sistema a un estado seguro,
donde todos los procesos puedan finalizar.
 Enfoques Dinámicos: Utilizar técnicas de manejo dinámico para
asegurar que los recursos se asignen de manera que eviten estados
peligrosos.
3. Detección de Deadlock:
o Objetivo: Detectar la presencia de deadlock cuando ocurre y tomar medidas
para recuperarse.
o Estrategias:
 Pruebas Periódicas: Implementar algoritmos para detectar deadlock
en intervalos regulares.
 Gráficos de Asignación de Recursos: Utilizar gráficos dirigidos
para representar la asignación de recursos y los procesos,
identificando ciclos que indiquen deadlock.

4. Ejemplos Clásicos de Deadlock

 Intersección de Tráfico: Un ejemplo clásico de deadlock en la vida real donde


varios coches llegan a una intersección al mismo tiempo y no pueden avanzar
porque cada uno está esperando a que otro se mueva.
 Diagrama de Progreso Conjunto: Muestra cómo dos procesos que compiten por
recursos pueden llevar a un deadlock, dependiendo de la secuencia de solicitudes y
liberaciones de recursos.

5. Recursos Reutilizables vs. Consumibles

 Recursos Reutilizables: Recursos que pueden ser usados por un proceso a la vez y
luego liberados, como CPU, memoria y dispositivos de I/O.
 Recursos Consumibles: Recursos que se crean y destruyen, como mensajes y
señales.

6. Implementación en Sistemas Operativos

 Métodos en UNIX, Linux, Solaris y Windows 7: Cada sistema operativo utiliza


diferentes mecanismos para manejar la concurrencia y la sincronización, como
semáforos, mutexes y monitores, adaptados a sus propios modelos de recursos y
procesos.

Conclusión

Para manejar el deadlock, los sistemas operativos pueden elegir entre prevenir, evitar o
detectar y recuperar de situaciones de deadlock. Cada enfoque tiene sus ventajas y
desventajas, y la elección de la estrategia depende de los requisitos específicos del sistema
y de las características de los procesos que se ejecutan en él.
4o mini
¿Es útil esta conversación hasta ahora?

También podría gustarte