Bloques so

Solo disponible en BuenasTareas
  • Páginas : 6 (1255 palabras )
  • Descarga(s) : 0
  • Publicado : 29 de noviembre de 2011
Leer documento completo
Vista previa del texto
|
Bloqueos |
Sistemas Operativos |


Recuperación mediante el 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 losrecursos, 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 laforma 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.
* Siempreque 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.

Estados seguros einseguros
Un estado actual está conformado por “E”, “A”, “C” y “R”:
* “E”: vector de recursos en existencia.
* “A”: vector de recursos disponibles.
* “C”: matriz de asignación actual.
* “R”: matriz de solicitudes.
Un estado es seguro si:
* No está bloqueado.
* Existe una forma de satisfacer todas las solicitudes pendientes, mediante la ejecución de los procesos encierto orden.
Ejemplo con un recurso para demostrar que el estado en (a) es seguro:
El estado es seguro ya que existe una sucesión de asignaciones que permiten terminar a todos los procesos; dicha sucesión de asignaciones es la siguiente (ver Tabla 6.1)

Ejemplo con un recurso para mostrar un estado inseguro (ver Tabla 6.2):

* No se puede garantizar que terminen los tres procesos.
*Si el proceso “A” pide y se le otorga una unidad, puede producirse un bloqueo de tres vías si cada uno de los procesos necesita al menos otra unidad del recurso antes de liberar ninguna.
Un estado inseguro:
* No implica la existencia, ni siquiera eventual, de bloqueo.
* Sí implica que alguna secuencia infortunada de eventos dé como resultado un bloqueo.
La diferencia entre estadoseguro e inseguro es que:
* A partir de un estado seguro, el sistema puede garantizar la conclusión de todos los procesos.
* A partir de un estado inseguro, no existe tal garantía.
Ejemplo de una transición de estado seguro ha estado inseguro (ver Tabla 6.3).

* Dado un estado actual seguro, ello no implica que vayan a ser seguros todos los estados futuros.
El algoritmo delbanquero para un solo recurso
Un algoritmo de planificación que puede evitar el bloqueo mutuo se debe a Dijkstra (1965) y se conoce como algoritmo del banquero. Este algoritmo toma como modelo la forma en que un banquero de una ciudad pequeña podría tratar con un grupo de clientes a los que ha concedido líneas de crédito. En la Fig. 3-li(a) vemos cuatro clientes, a cada uno de los cuales se ha...
tracking img