Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto ("...

23
Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso solicita lo que comienza cuando 2 + los empleos son puestos el asimiento. Cada trabajo espera un recurso vital de hacerse disponible. Recursos necesarios son sostenidos por otros empleos también que esperan para correr pero no puede porque ellos esperan otros recursos no disponibles. Los empleos vienen a una parada. El punto muerto es completo si el resto de sistema viene a una parada también. Resuelto vía intervención externa.

Transcript of Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto ("...

Page 1: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Una Carencia de Punto muerto de Causas de Sincronización de Proceso

• El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso solicita lo que comienza cuando 2 + los empleos son puestos el asimiento.

• Cada trabajo espera un recurso vital de hacerse disponible. Recursos necesarios son sostenidos por otros empleos también que esperan para correr pero no puede porque ellos esperan otros recursos no disponibles. Los empleos vienen a una parada. El punto muerto es completo si el resto de sistema viene a una parada también.

• Resuelto vía intervención externa.

Page 2: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Punto muerto• El punto muerto es más serio

que el aplazamiento indefinido o el hambre porque esto afecta más que un trabajo.

• Como los recursos están siendo amarrados, el sistema entero (no solamente(justo) unos programas) son afectados.

• Requiere la intervención exterior (por ejemplo, operadores o los usuarios terminan un trabajo).

Page 3: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Siete Casos de Puntos muertos

• 1. Los puntos muertos sobre el archivo solicitan

• 2. Puntos muertos en bases de datos • 3. Puntos muertos en asignación de dispositivo

dedicada • 4. Puntos muertos en múltiple asignación de

dispositivo• 5. Puntos muertos en embobinamiento • 6. Puntos muertos en disco que comparte • 7. Puntos muertos en una red

Page 4: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Caso 1: Puntos muertos por Peticiones de Archivo

• Si los empleos pueden solicitar y sostener archivos para la duración de su ejecución, el punto muerto puede ocurrir.

• Cualquier otro programa que requiere F1 o F2 es puesto el asimiento mientras esta situación sigue.

• Los restos de punto muerto hasta los programas son retirados o enérgicamente quitados y su archivo es liberado.

Page 5: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Caso 2: Puntos muertos en Bases de datos

• 1. P1 tiene acceso a R1 y lo cierra.

• 2. P2 tiene acceso a R2 y lo cierra.

• 3. P1 solicita R2, que es cerrado por P2.

• 4. P2 solicita R1, que es cerrado por P1.

• El punto muerto puede ocurrir si 2 acceso de procesos y cierra registros en la base de datos.

• 3 niveles diferentes de cierre: la base de datos entera para la duración de petición una subdivisión del registro de individuo de base de datos hasta el proceso es completada.

• Si no usan cerraduras(esclusas), puede conducir a una condición de raza(carrera).

Page 6: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Caso 3: Puntos muertos en

Asignación de Dispositivo Dedicada • 1. P1 solicita la unidad

de cinta magnética 1 y lo consigue.

• 2. P2 solicita la unidad de cinta magnética 2 y lo consigue.

• 3. P1 solicita la unidad de cinta magnética 2, pero es bloqueado.

• 4. P2 solicita la unidad de cinta magnética 1, pero es bloqueado.

• El punto muerto puede ocurrir cuando hay un número limitado de dispositivos dedicados.

• Por ejemplo, impresoras, trazadores o unidades de cinta magnética

Page 7: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Caso 4: Puntos muertos en Múltiple Asignación de Dispositivo

• Los puntos muertos pueden pasar cuando varia petición de procesos, y se agarra a, dispositivos dedicados mientras otros procesos actúan en una manera similar.

Page 8: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Caso 5: Puntos muertos en Embobinamiento.

• La mayor parte de sistemas han transformado dispositivos dedicados como una impresora en un dispositivo compartible por instalando un dispositivo de alta velocidad, un disco, entre ello y la CPU.

• El disco acepta la salida de varios usuarios y actúa como un área de almacenaje temporal para toda la salida hasta que la impresora esté lista a aceptarlo (el embobinamiento).

• Si la impresora necesita la salida de todo el trabajo antes de que comience a imprimir, pero el sistema de embobinamiento llena el espacio de disco disponible de sólo la salida parcialmente completada, entonces un punto muerto puede ocurrir.

Page 9: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Caso 6: Puntos muertos en Disco Compartiendo.

• Disks are designed to be shared, so it’s not uncommon for 2 processes access different areas of same disk.

• Without controls to regulate use of disk drive, competing processes could send conflicting commands and deadlock the system.

P1 Read records at cylinder 20

P2 Write to file at cylinder 310

I/O Channel

Disk control unit

Page 10: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Caso 7: Puntos muertos en una Red

• Una red esto ha atascado (o se ha llenado el % grande de su espacio de parachoques de entrada - salida) puede hacerse estancado si esto no tiene protocolos para controlar el flujo de mensajes por la red.

Page 11: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Cuatro Condiciones para Punto muerto

• El punto muerto precedido por la presencia(el acontecimiento) simultánea de cuatro condiciones que el sistema de operaciones podría haber reconocido:

• Exclusión mutua Recurso no que sostiene Ninguna prioridad Circular espera

Page 12: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

• Exclusión mutua - el acto de permitir sólo un proceso para tener acceso a un recurso dedicado.

• Propiedad de recurso - el acto de sostener un recurso y no liberarlo; espera de otro trabajo para retirarse.

• Ninguna prioridad - la carencia de reasignación temporal de recursos; una vez que un trabajo consigue un recurso esto puede agarrarse a ello para mientras esto necesita.

• La circular espera - cada proceso complicado en el callejón sin salida espera el otro para voluntariamente liberar el recurso de modo que al menos uno sea capaz de seguir.

Page 13: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Modelando Puntos muertos que Usan Gráficos Dirigidos (Holt, 1972)

• Procesos representados por círculos.• Recursos representados por cuadrados(plazas).

La línea sólida de un recurso a un proceso significa(piensa) que el proceso sostiene aquel recurso. La línea sólida de un proceso a un recurso significa(piensa) que el proceso espera aquel recurso. La dirección de flecha indica el flujo.

• Si hay un ciclo en el gráfico entonces hay un punto muerto que implica los procesos y los recursos en el ciclo.

Page 14: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Ejemplos de Gráfico Dirigidos

R1

R2

P1P2

R1 P1

R1 P1

Figure 5.7 (a)

Figure 5.7 (b)Figure 5.7 (c)

Page 15: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

R1

P1

R1

P1

R3R2

P3P2

R2

P2

R3

P3

R1

P1

R2

P2

R3

P3

R1

P1

R2

P2

R3

P3

Figure 5.8

Figure 5.9

Page 16: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

P1

P2

P3

P1

P2

P3

Figure 5.11 (a)

Figure 5.11 (b)

Page 17: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Estrategias para Manejar Puntos muertos

• Prevenga una de las cuatro condiciones del ocurrir.

• Evite el punto muerto si se hace probable.

• Descubra el punto muerto cuando esto ocurre y reponerse de ello con gracia.

Page 18: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Prevención de Punto muerto

• Prevenir un punto muerto OS debe eliminar 1 de 4 condiciones necesarias.

• La misma condición no puede ser eliminada de cada recurso.

• La exclusión mutua es necesaria en cualquier sistema informático porque algunos recursos (la memoria, la CPU, dispositivos dedicados) exclusivamente deben ser asignados a 1 usuario a la vez. Podría ser capaz de usar el embobinamiento para algunos dispositivos.

• Puede negociar 1 tipo de punto muerto (el Caso 3) para otro (el Caso 5).

Page 19: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Prevención de Propiedad de Recurso o Ninguna Prioridad

• La propiedad de recurso puede ser evitada por forzando cada trabajo a solicitar(rogar), en el tiempo de creación, cada recurso que esto tendrá que controlar a la terminación. Considerablemente grado de disminuciones de multiprograma. Dispositivos periféricos serían ociosos porque asignado a un trabajo aun cuando ellos no fueran usados(estuvieran acostumbrados) todo el tiempo.

• No podrían evitar ninguna prioridad permitiendo OS para desasignar recursos de empleos. ¡Vale! si el estado de trabajo fácilmente puede ser salvado(ahorrado) y restaurado.

• Mal si apropian(acaparan) el dispositivo de entrada - salida dedicado o archivos durante la modificación.

Page 20: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Prevención de Circular Espera

• La circular espera puede evitar si OS previene la formación de un círculo. La solución (1968) de Havender está basada en un sistema de enumeración para recursos como: la impresora = 1, el disco = 2, graba = 3.

• Fuerza cada trabajo a solicitar(rogar) sus recursos en orden ascendente.

• Cualquier dispositivo "número uno" requerido por el trabajo solicitó(rogó) primero; cualquier dispositivo "número dos" solicitado(rogado) después …

• Requiera que los empleos esperen(prevean) la orden(el pedido) en la cual ellos solicitarán(rogarán) recursos.

• El una mejor orden(pedido) es difícil de determinar.

Page 21: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Anulación• Incluso si OS no puede quitar 1 condiciones para el punto

muerto, esto puede evitar el que si el sistema sabe(conoce) antes de tiempo la secuencia de solicita(ruega) asociado con cada uno de los procesos activos.

• El Algoritmo de Banqueros de Dijkstra (1965) solía regular la asignación de recursos para evitar el punto muerto.

• El estado salvo(seguro) - si allí existe una secuencia salva(segura) de todos los procesos donde ellos todos pueden conseguir los recursos necesarios.

• El estado inseguro - no necesariamente conduce a estancarse, pero esto realmente indica que el sistema es un candidato excelente por uno

Page 22: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

El Algoritmo del Banquero• Basado en un banco(una orilla) con una cantidad fija de capital

que funciona sobre los principios siguientes:• No concederán a ningún cliente un banco(una orilla) de

exceder de préstamo la capital total.• Darán a todos los clientes un límite de crédito máximo

abriendo una cuenta.• No permitirán a ningún cliente para tomar prestado sobre el

límite.• La suma de todos los préstamos no excederá la capital total del

banco(de la orilla).

• OS (el banco(la orilla)) debe estar seguro para nunca no satisfacer una petición que lo mueve de un estado salvo(seguro) a uno inseguro.

• Trabajo con el número más pequeño de recursos restantes <= número de recursos disponibles

Page 23: Una Carencia de Punto muerto de Causas de Sincronización de Proceso El punto muerto (" terriblemente el abrazo ") - un enredo por todo el sistema de recurso.

Los Estados salvos(seguros) e Inseguros de un Banco(una Orilla)

Customer Loan amount Maximum credit Remaining creditC1 0 4,000 4,000C2 2,000 5,000 3,000C3 4,000 8,000 4,000Total loaned: $6,000Total capital fund: $10,000

Inseguro

Seguro

Customer Loan amount Maximum credit Remaining creditC1 2,000 4,000 2,000C2 3,000 5,000 2,000C3 4,000 8,000 4,000Total loaned: $9,000Total capital fund: $10,000