0% encontró este documento útil (0 votos)
85 vistas31 páginas

Gestión de Bloqueos en SO

Los bloqueos mutuos ocurren cuando dos o más procesos intentan acceder a recursos compartidos al mismo tiempo y cada proceso posee al menos un recurso necesitado por el otro proceso. Esto causa un interbloqueo donde ningún proceso puede continuar hasta que se liberen los recursos. La sesión explica cómo funcionan los bloqueos mutuos a través de ejemplos prácticos y algoritmos como el algoritmo del banquero, el cual asigna recursos a procesos de manera segura para prevenir interbloqueos.
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
85 vistas31 páginas

Gestión de Bloqueos en SO

Los bloqueos mutuos ocurren cuando dos o más procesos intentan acceder a recursos compartidos al mismo tiempo y cada proceso posee al menos un recurso necesitado por el otro proceso. Esto causa un interbloqueo donde ningún proceso puede continuar hasta que se liberen los recursos. La sesión explica cómo funcionan los bloqueos mutuos a través de ejemplos prácticos y algoritmos como el algoritmo del banquero, el cual asigna recursos a procesos de manera segura para prevenir interbloqueos.
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 PDF, TXT o lee en línea desde Scribd

Universidad

Tecnológica
Del Perú

Ingeniería de Sistemas e Informática


Ingeniería de Sistemas e Informática
SISTEMAS OPERATIVOS

Mg. Roberto Celis Osores


Recordando la sesión anterior

1. ¿Cuáles son los recursos físicos y lógicos que usan las entidades
activas en un interbloqueo?
2. Mencionar un ejemplo de entidad activa
SESION N° 6 – Bloqueos Mutuos
Conocimientos previos

❖ ¿Qué entienden por bloqueo de


procesos?
❖ ¿Qué entienden por recursos y
procesos relacionados a sistemas
operativos?
Logro de aprendizaje

Al finalizar la sesión, el estudiante


comprenderá como funcionan los bloqueos
mutuos mediante la aplicación de casos
prácticos de ejercicios de bloqueos.
Utilidad

Conocer como se lleva a


cabo el proceso de
interbloqueos en los
sistemas
Contenido de la sesión:
1. Exclusión mutua, retener y esperar.
2. Terminación de procesos.
3. Apropiación de recursos.
4. Interpretación de algoritmos de prevención de bloqueos
5. Practica de bloqueos
6. Práctica Grupal
1. Exclusión mutua, retener y esperar.

Son dos de las condiciones para que se produzca interbloqueo.

Exclusión mutua: No es posible eliminar esta condición, los recursos no se pueden compartir

Retener y esperar: Para deshacer esta condición, se debe obligar a los procesos a :
1. Utilizar los recursos de uno en uno, liberando cada recurso antes de solicitar el siguiente.
2. Solicitar todos sus recursos de una vez, al principio de su ejecución.
• Estas aproximaciones tienen dos problemas:
➢ Baja utilización de los recursos, puesto que estarán retenidos desde el principio de la
ejecución de los procesos, pero no se estarán utilizando en todo momento.
➢ Inanición de los procesos que necesiten muchos recursos solicitados muy
frecuentemente por los demás procesos
2. Terminación de procesos.

Es una alternativa para recuperación de interbloqueos.

➢ Terminación de todos los procesos interbloqueados.


➢ Terminación iterativa de procesos, hasta que el interbloqueo desaparece.
2. Terminación de procesos.
✓ La forma más simple de romper un interbloqueo es eliminar uno o más procesos. Una posibilidad es
eliminar a uno de los procesos en el ciclo. De ser satisfactorio, los demás procesos podrán continuar.
✓ También se puede elegir como proceso a eliminar, a un proceso que no esté en el ciclo, para poder
liberar sus recursos.
✓ En este método, el proceso a eliminar se elige con cuidado, debido a que está conteniendo recursos
que necesita cierto proceso en el ciclo. Por ej., un proceso podría contener una impresora y querer un
plotter, en donde otro proceso podría contener un plotter y querer una impresora. Estos dos procesos
están en interbloqueo. Un tercer proceso podría contener otra impresora idéntica y otro plotter
idéntico, y está ejecutándose. Al eliminar el tercer proceso se liberarán estos recursos y se romperá el
interbloqueo que involucra a los primeros dos.
2. Terminación de procesos.
✓ Es mejor eliminar un proceso que se pueda volver a ejecutar desde el principio sin efectos
dañinos.
✓ Por ej., una compilación siempre podrá volver a ejecutarse, ya que todo lo que hace es leer un
archivo de código fuente y producir un archivo de código objeto. Si se elimina a mitad del
proceso, la primera ejecución no tiene influencia sobre la segunda.
✓ Por otra parte, un proceso que actualiza una base de datos no siempre se puede ejecutar una
segunda vez en forma segura. Si el proceso agrega 1 a algún campo de una tabla en la base de
datos, al ejecutarlo una vez, después eliminarlo y volverlo a ejecutar de nuevo, se agregará 2
al campo, lo cual es incorrecto.
3. Apropiación de recursos.

Es una alternativa para recuperación de interbloqueos.

➢ El sistema expropia de recursos de los procesos interbloqueados, hasta que desaparece el


interbloqueo.
3. Apropiación de recursos.
✓ En algunos casos puede ser posible quitar temporalmente un recurso a su propietario actual y otorgarlo
a otro proceso.
✓ En muchos casos se puede requerir intervención manual, en especial en los sistemas operativos de
procesamiento por lotes que se ejecutan en mainframes.
➢ Por ej., para quitar una impresora láser a su propietario, el operador puede recolectar todas las
hojas ya impresas y colocarlas en una pila. Después se puede suspender el proceso (se marca como
no ejecutable). En este punto, la impresora se puede asignar a otro proceso. Cuando ese proceso
termina, la pila de hojas impresas se puede colocar de vuelta en la bandeja de salida de la impresora
y se puede reiniciar el proceso original.
✓ La habilidad de quitar un recurso a un proceso, hacer que otro proceso lo utilice y después regresarlo sin
que el proceso lo note, depende en gran parte de la naturaleza del recurso. Con frecuencia es difícil o
imposible recuperarse de esta manera. Elegir el proceso a suspender depende en gran parte de cuáles
procesos tienen recursos que se pueden quitar con facilidad.
4. Interpretación de algoritmos de prevención de
bloqueos
Algoritmo del banquero

En el contexto de los S.O. , es una forma de evitar el interbloqueo


4. Interpretación de algoritmos de prevención de
bloqueos
Algoritmo del banquero
4. Interpretación de algoritmos de prevención de
bloqueos
Algoritmo del banquero
4. Interpretación de algoritmos de prevención de
bloqueos
Algoritmo del banquero
4. Interpretación de algoritmos de prevención de
bloqueos
Pasos del Algoritmo del banquero:

1. Buscar una fila “P” (Proceso), cuyas necesidades de recursos sean menores o iguales a
los recursos disponibles, si no existe, se llega a una bloqueo irreversible.
2. El proceso de la fila escogida, solicitará todos los recursos necesarios, y al terminar el
proceso entrega todos los recursos.
3. Repetir pasos 1 y 2 hasta que todos los Procesos hayan terminado , lo que quiere decir
que el estado es seguro.
4. Interpretación de algoritmos de prevención de
bloqueos
Notación del Algoritmo :
4. Interpretación de algoritmos de prevención de
bloqueos
Notación del Algoritmo :

(Recursos del S.O. ) – Suma de cada recurso ind.


5. Practica de bloqueos

E: Recursos del S.O. (Recursos iniciales)


Ejemplo 1 del Algoritmo : A: Recursos disponibles
En uso: Asignaciones Actuales

Si el Proceso 2 solicita que se le dé un recursos de Q= (1,0,1)


¿Se debe otorgar dicha solicitud?
5. Practica de bloqueos

Ejemplo 1 del Algoritmo :


5. Practica de bloqueos

Ejemplo 1 del Algoritmo :

¿Se puede terminar algún proceso?


5. Practica de bloqueos

Ejemplo 1 del Algoritmo :


5. Practica de bloqueos

Ejemplo 1 del Algoritmo :


5. Practica de bloqueos

E: Recursos del S.O. (Recursos iniciales)


Ejemplo 2 del Algoritmo : A: Recursos disponibles
En uso: Asignaciones Actuales

Si el Proceso 1 solicita que se le dé un recursos de Q= (1,0,1)


¿Se debe otorgar dicha solicitud?
5. Practica de bloqueos

Ejemplo 2 del Algoritmo :


5. Practica de bloqueos

Ejemplo 2 del Algoritmo :


5. Practica grupal de bloqueos
Ejercicio grupal 1 :
Tenemos tres procesos y cuatro clases de recursos, que hemos etiquetado en forma arbitraria como
unidades de cinta, trazadores, escáner y unidad de CD-ROM. El proceso 1 tiene un escáner. El proceso 2
tiene dos unidades de cinta y una unidad de CD-ROM. El proceso 3 tiene un trazador y dos escáneres.
Cada proceso necesita recursos adicionales, como se muestra con base en la matriz R

E: Recursos del S.O.


A: Recursos disponibles

Desarrollar:
• ¿Qué proceso cubre inicialmente?
• ¿Se produce interbloqueo?
5. Practica grupal de bloqueos
Ejercicio grupal 2 :
Resumen de la sesión

1. ¿Qué entienden por interbloqueos o bloqueos mutuos?


2. ¿Cuál es la diferencia entre un Proceso y un recurso en la elaboración de los
algoritmos?

También podría gustarte