Next: Implementación
Up: Aplicación
Previous: Recursos
Existen ejemplos de problemas que por su naturaleza deben diseñarse
como programas concurrentes:
- sistemas operativos
- soportar operaciones casi-paralelas
- proveer servicios a varios usuarios a la vez
(sistemas multi-usuario, sin largos tiempos de espera)
- gestionar recursos compartidos (p.e., sistemas de ficheros)
- reaccionar a eventos no predeterminados
- sistemas de tiempo real
- necesidad de cumplir restricciones temporales
- reaccionar a eventos no predeterminados
- sistemas de simulación
- el sistema por simular ya dispone de modulos que funcionan
en forma concurrente
- el flujo del control no sigue un patrón secuencial
- sistema de reservas y compra (``booking systems'')
- las aplicaciones se ejecutan en diferentes lugares
- sistemas de transacciones
- se tiene que esperar la terminación de una transacción
antes de poner en marcha la siguiente
- varias transacciones en espera pueden compartir por ser
ejecutado con diferentes prioridades
- controladores de tráfico aéreo
- el sistema tiene que estimar el futuro próximo sin perder
la capacidad de reaccionar rápidamente a cambios bruscos
- sistemas de comunicación
- la interfaz al usuario requiere un alto nivel de disponibilidad
y controlabilidad
- en la época de la comunicación digital, todos queremos
usar la red (o bién alámbrica o bién inalámbrica) al mismo
tiempo sin notar que habrá más gente con las mismas
ambiciones
- sistemas tolerantes a fallos
- se vigila de forma concurrente el funcionamiento correcto
de otra aplicación
- juegos distribuidos
En particular, resultará escencial el desarrollo de un programa
concurrente cuando la concurrencia de activades es un aspecto interno
del problema a resolver.
Programadores modernos tienen que saber cómo escribir programas
que manejan multiples procesos.
Next: Implementación
Up: Aplicación
Previous: Recursos
© 2002, Dr. Arno Formella, Universidad de Vigo, Departamento de Informática