Estilos de control del
sistema

Tipos de control

Centralizado

En donde un subsistema es el encargado de iniciar y
detener otros subsistemas.

Control basado en eventos

En donde cada subsistema puede
responder a eventos generados por otros subsistemas o por el
entorno del sistema.

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.

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

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.

Arquitecturas de llamada de procedimiento remoto

Los componentes de la arquitectura de programa principal están distribuidos entre varias computadoras en una red.

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.

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.

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.

• 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.

• 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.

permite dar respuestas rápidas a los 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.