2010-03-21 32 views

Respuesta

18

Se podía mirarlo como:

evitar: No compartir recursos a través de procesos/hilos Mulitple

impedir: Cuando accsessing recursos compartidos, utilice un semáforo. Si bloquea múltiples semáforos, asegúrese de desbloquearlos en el orden inverso al de bloqueo. Siempre asegúrese de manejar los errores dentro de las secciones críticas para que el semáforo se libere bajo todas las condiciones.

3

evitación punto muerto: medios, cada vez que se hace una petición para un recurso determinado por un proceso particular, se centrará en los recursos disponibles, si el recurso futuro necesita para el proceso de los recursos que ya están en uso determinan la posibilidad de un punto muerto en caso de que se otorgue el recurso. Si es posible, no conceda el recurso, si no es posible, conceda el recurso.

Prevención de interbloqueo: asegúrese de que al menos una de las condiciones para que se produzca un interbloqueo no se cumple en ningún momento. Esto se puede lograr de la forma en que se solicitan y otorgan los recursos en el sistema.

20

punto muerto:

un interbloqueo es una situación en la que dos o más acciones que compiten son cada uno esperando que la otra a fin, y por lo tanto no lo hace. También se puede definir como un conjunto de procesos bloqueados que contienen cada uno un recurso y que esperan para adquirir un recurso en poder de otro proceso en el conjunto.

Por ejemplo, si hay un sistema con dos unidades de disco. Si hay dos procesos P1 y P2, cada uno contiene una unidad de disco y cada uno necesita la otra, entonces ocurre la situación de punto muerto. Las siguientes condiciones se llevarán a cabo simultáneamente en caso de bloqueo:

• La exclusión mutua: sólo un proceso a la vez puede utilizar un recurso

• Retener y esperar: un proceso que mantiene al menos un recurso está a la espera de adquirir recursos adicionales en poder de otros procesos

• Sin preferencia: un recurso puede ser liberado solamente voluntariamente por el proceso que mantiene, después de que el proceso ha completado su tarea

• espera circular: existe un conjunto {P0, P1, ..., Pn} de los procesos de espera suc h que P0 está esperando un recurso que está en manos de P1, P1 está esperando un recurso que está en manos de P2, ..., Pn-1 está esperando un recurso que está en manos de Pn, y Pn está esperando un recurso que está en manos de P0.

Las diferencias entre la prevención punto muerto, la evasión y la detección son los siguientes:

Prevención:

• El objetivo es asegurar que al menos una de las condiciones necesarias para el estancamiento no pueden sostener.

• La prevención de interbloqueos a menudo es imposible de implementar.

• El sistema no requiere información adicional previa sobre el uso potencial general de cada recurso para cada proceso.

• Para que el sistema evite la condición de punto muerto, no necesita conocer todos los detalles de todos los recursos existentes, disponibles y solicitados.

• técnicas de prevención de interbloqueo incluyen no bloqueante algoritmos de sincronización, la serialización de fichas, etc. Dijkstras algoritmo

• estrategia de asignación de recursos para la prevención del estancamiento es conservador, bajo compromete a los recursos.

• Todos los recursos se solicitan a la vez.

• En algunos casos se adelantan más veces de lo necesario.

Evasión:

• El objetivo para evitar estancamiento es que el sistema no debe entrar en un estado inseguro.

• La evitación de interbloqueo es a menudo imposible de implementar.

• El sistema requiere información adicional a priori sobre el uso potencial general de cada recurso para cada proceso.

• Para que el sistema pueda determinar si el próximo estado será seguro o inseguro, debe saber de antemano en cualquier momento el número y tipo de todos los recursos existentes, disponibles y solicitados.

• técnicas de evasión de interbloqueo incluyen el algoritmo de Banker, Espera/Die, Herida/Espere etc.

• Recurso estrategia de asignación para evitar estancamiento selecciona a medio camino entre la de la detección y la prevención.

• Necesita ser manipulado hasta que se encuentre al menos un camino seguro.

• No hay preferencia.

Detección:

• El objetivo es detectar el punto muerto después de que ocurra o antes de que ocurra.

• Detectar la posibilidad de un punto muerto antes de que ocurra es mucho más difícil y, de hecho, generalmente indecidible. Sin embargo, en entornos específicos, utilizando medios específicos de bloqueo de recursos, la detección de punto muerto puede decidirse.

• El sistema no requiere información adicional a priori con respecto al uso potencial general de cada recurso para cada proceso en todos los casos.

• Para que el sistema detecte la condición de punto muerto, no necesita conocer todos los detalles de todos los recursos existentes, disponibles y solicitados.

• Una técnica de detección de punto muerto incluye, pero no se limita a, verificación de modelo. Este enfoque construye un modelo de estado finito en el que realiza un análisis de progreso y encuentra todos los conjuntos de terminales posibles en el modelo.

• La estrategia de asignación de recursos para la detección de interbloqueos es muy liberal. Los recursos se otorgan según lo solicitado.

• Debe invocarse periódicamente para comprobar el punto muerto.

• Se observa preferencia.

0

La diferencia entre Prevención punto muerto y el punto muerto evitación

punto muerto Prevención: La prevención de
puntos muertos al restringir la forma en las solicitudes de recursos se pueden hacer en el sistema y la forma en que se manejan (diseño del sistema). El objetivo es garantizar que al menos una de las condiciones necesarias para el interbloqueo no se pueda mantener.

Deadlock Avoidance:
el sistema considera dinámicamente cada petición y decide si es seguro para conceder en este punto, El sistema requiere información a priori adicional sobre el uso potencial global de cada recurso para cada proceso. Permite más concurrencia. Similar a la diferencia entre un semáforo y un oficial de policía que dirige el tráfico.

Cuestiones relacionadas