Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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.
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:
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