Aspectos de diseño. Sistemas activados por eventos vs. Sistemas activados por el tiempo.
En un STR activado por eventos, cuando ocurre un evento significativo en el mundo exterior, es detectado por algún sensor, lo que entonces provoca que el CPU conectado tenga una interrupción.
Los sistemas activados por eventos están controlados por las interrupciones.
La mayor parte de los STR funcionan de esta manera.
Aspectos de diseño.
El principal problema con los sistemas activados por eventos es que pueden fallar bajo condiciones de carga pesada.
Es decir, cuando muchos eventos ocurren a la vez.
Por ejemplo, consideremos lo que ocurre cuando un tubo se rompe en un reactor nuclear controlado por una computadora.
Aspectos de diseño.
Las alarmas de temperatura, de presión, de radioactividad y demás alarmas se activarán al mismo tiempo, lo que provoca una interrupción masiva.
Esta lluvia de eventos puede sobrecargar el sistema de cómputo y hacer que falle.
Lo que potencialmente causaría problemas mucho más serios que la ruptura de un solo tubo.
Aspectos de diseño.
Un diseño alternativo, es el STR activado por el tiempo.
En este tipo de sistema, ocurre una interrupción de reloj cada ?T milisegundos.
En cada marca de reloj (ciertos) sensores se muestrean y (ciertos) actores se controlan.
No hay más interrupciones que las marcas de reloj.
Aspectos de diseño.
En el ejemplo anterior del tubo roto, el sistema sería consciente del problema en la primera marca del reloj posterior al evento.
Pero la carga de interrupciones no modificaría ni contaría para el problema, de modo que el sistema no se sobrecargaría.
Operar normalmente en tiempos de crisis aumenta la posibilidad de tratar con éxito dicha crisis.
Aspectos de diseño.
No hay que decir que ?T debe elegirse con mucho cuidado. Si es muy pequeño, el sistema tendrá muchas interrupciones de reloj y desperdiciará mucho tiempo durante las revisiones. Si es muy grande, los eventos serios no serían notados hasta que fuese muy tarde. Decidir qué sensores deben verificarse en cada marca de reloj, y cuáles verificar en otra marca de reloj, etc., son críticas.
Aspectos de diseño.
Por último, algunos eventos podrían ser más cortos que una marca de reloj, por lo que deberán guardarse para no ser omitidos.
Se pueden preservar eléctricamente mediante ciertos circuitos o mediante microprocesadores integrados a los dispositivos externos.
Aspectos de diseño.
Como ejemplo de la diferencia entre estos dos métodos, consideremos el diseño de un controlador de elevador en un edificio de 100 pisos.
Supongamos que el elevador está en el piso 60, esperando clientes.
Entonces alguien oprime el botón de llamada en el primer piso.
Justo 100 milisegundos después, alguien más oprime el botón de llamada en el piso 100.
Aspectos de diseño.
En un sistema activado por eventos, la primera llamada genera una interrupción, lo que provoca el descenso del elevador.
La segunda llamada llega después de tomar la decisión de bajar, por lo que se anota como referencia futura, pero el elevador continúa descendiendo.
Aspectos de diseño.
Consideremos ahora un controlador de elevador, activado por el tiempo.
Que muestrea cada 500 milisegundos.
Si ambas llamadas caen dentro de un período de muestreo, el controlador deberá tomar una decisión.
Por ejemplo, utilizar la regla de atender primero al cliente más cercano, en cuyo caso irá hacia arriba.
Aspectos de diseño.
En resumen:
Los diseños activados por eventos dan respuesta rápida con carga baja, pero tienen mayor costo y probabilidad de fallar con carga alta.
Los diseños activados por el tiempo tienen las propiedades opuestas y sólo son adecuados en un ambiente relativamente estático en donde se conozca mucho y de antemano acerca del comportamiento del sistema.
Cuál de ellos será el mejor, dependerá de la aplicación.
Aspectos de diseño.
Predictibilidad
Una de las propiedades más importantes de cualquier STR es que su comportamiento sea predecible.
De manera ideal, debe ser claro en el momento del diseño que el sistema cumple con todos sus tiempos límite, incluso con carga pico.
Aspectos de diseño.
Tolerancia de fallas En un sistema donde la seguridad es crítica, es de particular importancia que el sistema pueda controlar el peor de los escenarios.
No basta decir que la probabilidad de que tres componentes fallen al mismo tiempo es tan baja que puede ignorarse.
Las fallas no siempre son independientes.
En consecuencia, los STR tolerantes de fallas deben poder enfrentar el número máximo de fallas y la carga máxima al mismo tiempo.
Aspectos de diseño.
Comunicación en tiempo real La comunicación en los SD de tiempo real es diferente a la comunicación en los demás.
Lograr la predictibilidad en un SD significa que la comunicación entre los procesadores también debe ser predecible.
Los protocolos LAN que son inherentemente estocásticos, como Ethernet, son inaceptables.
Una máquina que desea enviar un paquete en Ethernet puede chocar con una o más máquinas, y en otro intento puede volver a chocar.
Aspectos de diseño.
Comunicación en tiempo real Consideremos una LAN con un anillo de fichas.
Siempre que un procesador tenga un paquete por enviar, espera que le pasen la ficha en circulación.
Captura la ficha, envía su paquete y coloca de nuevo la ficha en el anillo, de modo que la siguiente máquina en el flujo tenga la oportunidad de recuperarla.
Los anillos de fichas también pueden controlar el tráfico consistente en varias clases de prioridades.
Aspectos de diseño.
Comunicación en tiempo real
El objetivo en este caso es garantizar que si un paquete de alta prioridad espera ser transmitido, será enviado antes que todos los paquetes de menor prioridad de sus vecinos.
Todos estos puntos son observaciones o recomendaciones sobre el diseño de un STR, que abarca incluso el diseño de SDTR.
Página siguiente |