next up previous contents
Next: Detección de terminación Up: 92 Concurrencia y Distribución Previous: Prioridades   Índice General

Terminación de programas

¿Cuáles pueden ser las causas por qué se termina o no se termina un programa?

terminar con éxito
terminar con excepción
terminar con suicidio
terminar por assesinato
terminar por redundancia
terminar nunca a propósito
terminar nunca por fallo

Un programa secuencial termina cuando su ha ejecutado su última instrucción. El sistema operativa suele saber cuando eso ocurre.

Sin embargo puede ser difícil detectar cuando un programa concurrente ha terminado, sobre todo cuando también el sistema operativo esté distribuido.

Un programa concurrente termina cuando todos sus partes secuenciales hayan terminado.

Si el sistema distribuido contiene un procesador central que siempre está monitorizando los demás, se puede implementar la terminación igual como en un sistema secuencial.

Si el sistema no dispone de tal procesador central es más difícil porque no se puede observar fácilmente el estado exacto del sistema dado que sobre todos los canales de comunicación se resisten a inspección y pueden contener todavía mensajes no recibidas.



Subsecciones
next up previous contents
Next: Detección de terminación Up: 92 Concurrencia y Distribución Previous: Prioridades   Índice General
© 2001, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática