Está en la página 1de 12

Asignatura:

Sistemas Operativos

Capitulo #6
Tema:
Bloqueos

Participante:
Matricula:

Facilitador:
José Doñe
INDICE
Introducción...........................................................................................................................................3
Bloqueos................................................................................................................................................4
Condiciones para un bloqueo:................................................................................................................4
Métodos para resolver Bloqueos:..........................................................................................................4
Prevención de bloqueos:........................................................................................................................5
Detección de Bloqueos...........................................................................................................................5
Detección del bloqueo:.......................................................................................................................5
Recuperación de Bloqueos.....................................................................................................................6
Recuperación Mediante la Apropiación..............................................................................................7
Recuperación Mediante Rollback.......................................................................................................7
Recuperación Mediante la Eliminación de Procesos...........................................................................8
Administración de memoria...................................................................................................................8
Administración de Memoria...............................................................................................................8
Memoria Virtual.....................................................................................................................................9
Ventajas de utilizar memoria virtual...................................................................................................9
Implicaciones de la memoria virtual...................................................................................................9
Conclusión:...........................................................................................................................................10
Bibliografía...........................................................................................................................................11
Introducción
En este trabajo mostraremos cuales son las condiciones para un bloqueo tales como, Exclusión
Mutua, Posesión y Espera, No apropiación, Espera Circular. Se muestran también algunos
métodos para resolver bloqueos, cuales son las prevenciones para un bloqueo, métodos de
recuperaciones, como administrar la memoria y el uso de la memoria virtual.
Bloqueos
Llamamos como recurso a un dispositivo
o elemento que tiene que ser asignado a
un proceso para que este pueda seguir
procesando.
Existen dos tipos de recursos:
 Apropiables que son aquellos que
se pueden tomar sin causar daños como la memoria.
 No Apropiables que si se le quita al proceso este puede fallar como la impresora.
Un bloqueo se presenta cuando dos o más procesos se esperan entre sí para continuar y ninguno
libera el recurso que el otro necesita.

Condiciones para un bloqueo:


Para que se cumpla un bloqueo es necesario que se cumplan al menos 4 condiciones:
 Exclusión Mutua: recurso asignado a un proceso o no disponible.
 Posesión y Espera: procesos que ya tienen un recurso pueden solicitar otro.
 No apropiación: procesos que no pueden ser obligados a liberar un recurso.
 Espera Circular: cadena circular de procesos, donde cada uno espera por un recurso en
otra cadena.
Para evitar un bloqueo se debe tratar de eliminar cualquiera de las 4 condiciones, pero por lo
general estos procesos no son efectivos.

Métodos para resolver Bloqueos:


En la prevención del interbloqueo interesa ajustar el sistema para eliminar toda posibilidad de
que ocurra un bloqueo mutuo. La prevención suele funcionar, pero sus métodos ocasionan, en
general, un aprovechamiento pobre de los recursos. No obstante, estos métodos se utilizan con
frecuencia.
Las técnicas que tienen como objetivo evitar el
interbloqueo imponen condiciones menos atractivas que
en la prevención, para tratar de obtener un
aprovechamiento de los recursos. No elimina como las
técnicas de prevención todas las posibilidades de que se
produzca un bloqueo mutuo, pero se esquiva cuanto está
a punto de suceder.
En la figura del ejemplo, podemos ver dos procesos diferentes (A y B), cada uno con un recurso
diferente asignado (R1 y R2). En este ejemplo clásico de bloqueo mutuo, es fácilmente visible la
condición de espera circular en la que los procesos se encuentran, donde cada uno solicita un
recurso que está asignado a otro proceso.

Prevención de bloqueos:
La estrategia empleada con más frecuencia por los diseñadores para
tratar el bloqueo mutuo es la prevención. En esta sección se
examinan los métodos de prevención, junto con los efectos que
tienen sobre los usuarios y los sistemas, sobre todo desde la
perspectiva del rendimiento.
Cada proceso deberá pedir todos sus recursos al mismo tiempo y no
podrá seguir la ejecución hasta haberlos recibido todos.
Si a un proceso que tiene recursos se le niegan los demás, ese
proceso deberá liberar sus recursos y, en caso necesario, pedirlos de
nuevo junto con los recursos adicionales.
Se impondrá un ordenamiento lineal de los tipos de recursos en todos los procesos; es decir, si a
un proceso le han sido asignados recursos de un tipo específico, en lo sucesivo sólo podrá pedir
aquellos recursos que siguen en el ordenamiento.

Detección de Bloqueos
El S. O. no intenta evitar los bloqueos:
Intenta detectar cuando han ocurrido.
Acciona para recuperarse después del hecho.
La detección del bloqueo es el proceso de:
Determinar si de hecho existe o no un bloqueo.
Identificar cuáles son los procesos y recursos implicados en el bloqueo.
Los algoritmos de detección de bloqueos implican cierta sobrecarga en tiempo de ejecución, por
lo cual surge el siguiente interrogante: ¿compensa la sobrecarga implícita en los algoritmos de
detección de bloqueos, el ahorro potencial de localizarlos y romperlos?
Detección del bloqueo:
Se utiliza en sistemas que permiten que éstos ocurran, ya sea voluntaria o involuntariamente.
La meta es determinar si ha ocurrido un bloqueo:
Se debe detectar con precisión los procesos y recursos implicados en el bloqueo.
Se puede eliminar el bloqueo detectado.
Recuperación de Bloqueos
Para romper el bloqueo de un sistema hay que anular una o más de las condiciones necesarias
para el bloqueo.
Normalmente, varios procesos perderán algo o todo lo realizado hasta el momento.
Los principales factores que dificultan la recuperación del bloqueo son los siguientes:
 Puede no estar claro si el sistema se ha bloqueado o no.
 Muchos sistemas tienen limitaciones para suspender un proceso por tiempo indefinido y
reanudarlo más tarde:
 Ej.: Los procesos de tiempo real, que deben funcionar continuamente, no son fáciles de
suspender y reanudar.
 Los procedimientos de suspensión / reanudación implican una sobrecarga considerable.
 La sobrecarga de recuperación está en función de la magnitud del bloqueo (algunos,
decenas o centenas de procesos involucrados).
Generalmente la recuperación suele realizarse:
 Retirando forzosamente (cancelando) a un proceso.
 Reclamando sus recursos.
 Permitiendo que los procesos restantes puedan finalizar.
Los procesos pueden ser retirados (cancelados) de acuerdo a un orden de prioridades, existiendo
las siguientes dificultades:
 Pueden no existir las prioridades de los procesos bloqueados.
 Las prioridades instantáneas (en un momento dado), pueden ser incorrectas o confusas
debido a consideraciones especiales, por ej.: procesos de baja prioridad que tienen
prioridad alta momentáneamente debido a un tiempo tope inminente.
 La decisión óptima puede requerir un gran esfuerzo.
Algunas formas de recuperación ante bloqueos son:
 Recuperación mediante la apropiación.
 Recuperación mediante rollback.
 Recuperación mediante la eliminación de procesos.
Recuperación Mediante la Apropiación
En ciertos casos podría ser posible tomar un recurso temporalmente de su poseedor y dárselo a
otro proceso, por ej.:
Retirar una impresora de un proceso para dedicarla a otro proceso.
Retomar luego el primer proceso reasignándola al mismo.
La recuperación de recursos de esta forma depende en gran medida de la naturaleza del recurso.
La elección del proceso a suspender depende mucho:
De cuáles procesos poseen recursos que pueden ser tomados con facilidad.
De las posibilidades de recuperación luego de la apropiación.
Recuperación Mediante Rollback
En los S. O. donde es posible que ocurran bloqueos se puede hacer que los procesos sean
verificados periódicamente:

Su estado se graba en un archivo de modo que pueda volver a iniciar más tarde.
El punto de verificación o de control contiene:
La imagen de la memoria.
El estado de los recursos, es decir, el detalle de los recursos asignados al proceso en ese instante.
Los puntos de verificación grabados durante un proceso se mantienen sin ser regrabados.
Al detectarse un bloqueo es fácil ver cuáles son los recursos necesarios.
Para la recuperación, un proceso que posee un recurso necesario regresa hasta cierto instante en
el tiempo anterior a la adquisición:

Inicializa alguno de sus anteriores puntos de verificación.


El proceso regresa a un momento anterior en el que no poseía el recurso.
El recurso se asigna ahora a uno de los procesos bloqueados.
Si el proceso que volvió a iniciar intenta adquirir de nuevo el recurso, tendrá que esperar hasta
que esté disponible.
Recuperación Mediante la Eliminación de Procesos
Es la forma más sencilla de romper un bloqueo.
Una posibilidad es eliminar un proceso del ciclo: si el bloqueo no se rompe, se puede intentar
con otro proceso del ciclo, hasta romper dicho ciclo.
Otra posibilidad es eliminar un proceso que no esté en el ciclo, para poder liberar sus recursos:
debe elegirse un proceso que posea recursos necesarios por algún proceso del ciclo.
Siempre que sea posible, es mejor eliminar un proceso que pueda volver a iniciar su ejecución
sin efectos dañinos:
Es preferible eliminar un proceso de compilación que un proceso de actualización de una base de
datos:
La compilación se puede repetir sin problemas.
La actualización de una base de datos no siempre se puede repetir directamente.

Administración de memoria
Se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima utilidad
de la memoria, organizando los procesos y programas que se ejecutan de manera tal que se
aproveche de la mejor manera posible el espacio disponible.
Las técnicas que existen para la carga de programas en la memoria son: partición fija, que es la
división de la memoria libre en varias partes (de igual o distinto tamaño).
Administración de Memoria
Es la reubicación, que consiste en trasladar procesos activos dentro y fuera e la memoria
principal para maximizar la utilización del procesador; la protección, mecanismos que protegen
los procesos que se ejecutan de interferencias de otros procesos; uso compartido de códigos y
datos, con lo que el mecanismo de protección permite que ciertos procesos de un mismo
programa que comparten una tarea tengan memoria en común.
Particiones dinámicas, son las particiones de la memoria en tamaños que pueden ser variables,
según la cantidad de memoria que necesita cada proceso.
En esta las particiones se crean dinámicamente, de forma que cada proceso se carga en una
partición de exactamente el mismo tamaño que el proceso.
Memoria Virtual
La memoria virtual es una técnica para que consiste en proporcionar la simulación de un espacio
de memoria mucho mayor que la memoria física de una máquina. Esta "ilusión" permite que los
programas se hagan sin tener en cuenta el tamaño exacto de la memoria física.
La ilusión de la memoria virtual está soportada por el mecanismo de traducción de memoria,
junto con una gran cantidad de almacenamiento rápido en disco duro.
La memoria virtual es una técnica para proporcionar la simulación de un espacio de memoria
mucho mayor que la memoria física de una máquina. Esta "ilusión" permite que los programas se
hagan sin tener en cuenta el tamaño exacto de la memoria física.
Ventajas de utilizar memoria virtual
Es que Permite un alto grado de multiprogramación muy efectiva, un gran espacio virtual para el
proceso y releva al usuario de las rígidas e innecesarias restricciones de la memoria principal.
Implicaciones de la memoria virtual
La segmentación permite al programador contemplar la memoria como si constara de varios
espacios de direcciones o segmentos.
Conclusión:
En este trabajo vimos todo sobre los bloqueos, los métodos para resolverlos, como prevenir los
bloqueos, métodos para detectar los bloqueos etc.
Vimos los métodos de recuperación de los bloqueos tales como, Recuperación mediante la
apropiación, Recuperación mediante rollback, Recuperación mediante la eliminación de
procesos. La administración de memoria se refiere a los distintos métodos y operaciones que se
encargan de obtener la máxima utilidad de la memoria, organizando los procesos y programas
que se ejecutan de manera tal que se aproveche de la mejor manera posible el espacio disponible.
Bibliografía
https://lsi.vc.ehu.eus/pablogn/docencia/manuales/SO/TemasSOuJaen/INTERBLOQUEOS/3y4Condicion
esNecesariasyEstrategiasdeinterbloqueo.htm
https://sites.google.com/site/sistemasoperativosjmgarro/clases
https://docs.google.com/presentation/d/1krTos3VIV35GpcPFVnRomOTH5Fs4qE5yZmuweQsm0gk/edit
#slide=id.i53
http://exa.unne.edu.ar/informatica/SO/SO6.htm#DBl

También podría gustarte