Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Interbloqueos SO

Prevencion de interbloqueos Evasion de interbloqueos Deteccion de interbloqueos Recuperacion de un interbloqueos.
by

Andres H

on 17 September 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Interbloqueos SO

SISTEMAS OPERATIVOS INTERBLOQUEOS PREVENCIÓN INTERBLOQUEOS Para que se produzca un interbloqueo deben cumplirse las cuatro condiciones. Asegurando que una de estas cuatro no se cumplan podemos prevenir la aparición de interbloqueos.

Exclusión mutua.- Al menos un recurso debe estar en modo no compartido, es decir, solo un proceso puede usarlo cada vez. Si otro proceso solicita el recurso, el proceso solicitante tendrá que esperar hasta que el recurso sea liberado.

Retención y espera.- Un proceso debe estar reteniendo al menos un recurso y esperando para adquirir otros recursos adicionales que actualmente estén retenidos por otro proceso.

Sin desalojo.- Los recursos no pueden ser desalojados, es decir un recurso solo puede ser liberado voluntariamente por el proceso que le retiene, después de que dicho proceso haya completado su tarea.

Espera circular.- debe existir un conjunto de procesos en espera, tal que este proceso esté esperando a un recurso retenido por P1, P1 esté esperando a un recurso retenido por P2, …,Pn-1 esté esperando a un recurso retenido por Pn, y Pn esté esperando a un recurso retenido por P0. EVASIÓN INTERBLOQUEOS Los algoritmos de prevención de interbloqueos impiden los interbloqueos restringiendo el modo en que pueden hacerse las solicitudes, estas restricciones aseguran que al menos una de las condiciones necesarias para que haya interbloqueo no se produzca y, por tanto no pueda aparecer interbloqueos.

Sin embargo, esta técnica de prevención de interbloqueos tiene algún posible efecto colateral, como son una baja tasa de utilización de los dispositivos y un menor rendimiento del sistema. Un posible método para evitar los interbloqueos consiste en requerir información adicional sobre cómo van a hacer solicitados los recursos. DETECCIÓN INTERBLOQUEOS Si un sistema no emplea ni algoritmos de prevención ni de evasión de interbloqueos, entonces puede producirse una situación de interbloqueo en el sistema. En este caso el sistema debe proporcionar:
Un algoritmo que Examine el estado del sistema para determinar si se ha producido un interbloqueo.
Un algoritmo para recuperarse del interbloqueo. RECUPERACIÓN DE
INTERBLOQUEOS Cuando el algoritmo de detección determina que existe un interbloqueo, tenemos varias alternativas. Una posibilidad es informar al operador de que se ha producido un interbloqueo y dejar que lo trate de forma manual. Otra forma es dejar que el sistema sea el que haga la recuperación del interbloqueo de forma automática. Existen dos opciones para romper un interbloqueo una de ellas consiste en interrumpir uno o más procesos para romper la cadena de espera circular, La otra consiste en desalojar recursos de uno o más de los procesos bloqueados. ANDRÉS HOLGUÍN 2012 La estrategia básica de la prevención del interbloqueo consiste, a grandes rasgos, en diseñar su sistema de manera que esté excluida, a priori, la posibilidad de interbloqueo.

Los métodos para prevenir el interbloqueo son de dos tipos:

- Los métodos indirectos que consisten en impedir la aparición de alguna de las tres condiciones necesarias para que se de el interbloqueo.

- Los métodos directos que consisten en evitar la aparición del circulo vicioso de espera. Una forma de resolver el problema del interbloqueo, que se diferencia sutilmente de la prevención, es la predicción del interbloqueo. En la prevención de interbloqueo, se obligaba a las solicitudes de recursos a impedir que sucediera , por lo menos, alguna de las cuatro condiciones de interbloqueo. Esto se hace indirectamente, impidiendo la aparición de una de las tres condiciones necesarias (exclusión mutua, retención y espera, no apropiación) o directamente, impidiendo la aparición de un circulo viciosos de espera. Se llega así a un uso ineficiente de los recursos y una ejecución ineficiente de los procesos. Con predicción del interbloqueo, por otro lado, se pueden alcanzar las tres condiciones necesarias, pero se realizan elecciones acertadas para asegurar que nunca se llega al punto de interbloqueo. La predicción, por lo tanto, permite más concurrencia que la prevención.

Con predicción del interbloqueo, se decide dinámicamente si la petición actual de asignación de un recurso podría, de concederse, llevar potencialmente a un interbloqueo. La predicción del interbloqueo necesita, por lo tanto, conocer las peticiones futuras de recursos.

Enfoques para la predicción del interbloqueo:

-No iniciar un proceso si sus demandas pueden llevar a interbloqueo.

-No conceder una solicitud de incrementar los recursos de un proceso si esta asignación puede llevar a interbloqueo. Existen varios algoritmos para evitar bloqueos mutuos:
Algoritmo del banquero Eliminando la exclusión mutua: ningún proceso puede tener acceso exclusivo a un recurso. Esto es imposible para procesos que no pueden ser encolados (puestos en un spool), e incluso con colas también pueden ocurrir interbloqueos.

La condición de posesión y espera puede ser eliminada haciendo que los procesos pidan todos los recursos que van a necesitar antes de empezar. Este conocimiento por adelantado muchas veces es imposible nuevamente. Otra forma es requerir a los procesos liberar todos sus recursos antes de pedir todos los recursos que necesitan. Esto también es poco práctico en general.

La condición de no expropiación puede ser también imposible de eliminar dado que un proceso debe poder tener un recurso por un cierto tiempo o el procesamiento puede quedar inconsistente.

La condición de espera circular es la más fácil de atacar. Se le permite a un proceso poseer sólo un recurso en un determinado momento, o una jerarquía puede ser impuesta de modo tal que los ciclos de espera no sean posibles. Necesitamos saber qué recursos están asignados y también necesitamos mantener información sobre todas las solicitudes. Hay una serie de algoritmos para la detección de interbloqueos:
- Primer tipo: se basa en la detección de ciclos o nudos en el grafo.
- Segundo tipo. Usará una matriz de recursos asignados, un vector de recursos disponibles y una matriz de solicitudes.
Full transcript