Los sistemas de control pueden estructurarse de diversas maneras para optimizar su capacidad de respuesta y coordinación. Un enfoque centralizado emplea un subsistema que inicia y detiene otros subsistemas, facilitando respuestas rápidas a eventos.
• Complejo de programar y difícil de validar.
• Si el número de interrupciones está limitado por el hardware,
cuando se alcanza el límite no se pueden gestionar más tipos de
eventos (se pueden asignar distintos tipos de eventos a una
interrupción, dejando que el controlador detecte qué evento ha
ocurrido, pero disminuye el rendimiento.
permite dar respuestas rápidas a los eventos.
• Los subsistemas no saben si los eventos se manejarán ni cuando lo harán.
• Cuando un subsistema genera un evento no conoce qué otros subsistemas han registrado un interés en ese evento.
• La evolución es relativamente sencilla pues se pueden integrar
nuevos subsistemas registrando sus eventos en el controlador de
eventos.
• Cualquier subsistema puede activar otros subsistemas sin conocer
su nombre o ubicación.
• Los subsistemas se pueden incrementar en máquinas distribuidas,
de forma transparente para otros subsistemas.
Modelo de transmisión
*Efectivo para integrar subsistema en diferentes computadores en una red.
*Los subsistemas deciden qué eventos requieren y el
controlador asegura que estos eventos sean enviados a dichos subsistemas.
Modelos dirigidos por interrupciones
Usados en sistemas de tiempo real donde las interrupciones externas son detectadas por un manejador y enviadas a otros componentes para ser procesadas.
Modelos de transmisión (broadcast).
Un evento se transmite a todos los subsistemas. El evento puede ser procesado por cualquier subsistema que esté en capacidad de hacerlo.
Arquitecturas de llamada de procedimiento remoto
Los componentes de la arquitectura de programa principal están distribuidos entre varias computadoras en una red.
Arquitectura de programacion principal/subprograma
Descompone las funciones en una jerarquía de control donde un programa «principal» llama a un número de componentes del programa, los cuales, en respuesta, pueden también llamar a otros componentes.
Modelo de administrador
Aplicable a sistemas
concurrentes. Un componente del sistema controla la parada,
arranque y coordinación de otros procesos del sistema. Puede ser
implementado en sistemas secuenciales
Modelo de llamada-retorno
Modelo de subrutina top-down donde el control comienza en el tope de una jerarquía de subrutinas y se mueve hacia abajo. Aplicable a sistemas secuenciales.
• Permite al diseñador del software construir una estructura de programa relativamente fácil de modificar y ajustar a escala.
• Es relativamente sencillo analizar los flujos de control y
conocer cómo responderá el sistema a cierto tipo de entradas.
Control basado en eventos
En donde cada subsistema puede
responder a eventos generados por otros subsistemas o por el
entorno del sistema.
Centralizado
En donde un subsistema es el encargado de iniciar y
detener otros subsistemas.