Fundamentos de Sistemas Empotrados: Tolerancia a Fallos, Redundancia y Lenguajes de Programación

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,25 KB

Definición y Propiedades Generales de los Sistemas Empotrados

Un sistema empotrado es un sistema informático que está físicamente incluido dentro de otros sistemas. Su presencia es menos obvia que en los computadores convencionales, pero más numerosa.

Características de los Sistemas Empotrados

  • Recursos limitados.
  • Dispositivos de E/S especiales para cada sistema.
  • Interactúa, controla o supervisa al sistema de ingeniería y debe reaccionar a tiempo ante los cambios.
  • Gran tamaño y complejidad.
  • Concurrencia.
  • Seguridad y fiabilidad.
  • Determinismo temporal.

Sistemas Empotrados en Ascensores: Características Clave

Las características específicas del sistema empotrado de un ascensor son:

  • Los elementos de entrada/salida son especiales para el ascensor.
  • El sistema empotrado debe reaccionar a tiempo si hay un fallo.
  • Gran tamaño y complejidad.
  • Seguridad y fiabilidad.
  • Determinismo temporal.

Tolerancia a Fallos y Redundancia en Sistemas Críticos

Grado de Tolerancia a Fallos de un Ascensor y Tipos de Redundancia

Existen 3 tipos de tolerancia a fallos:

  1. Tolerancia completa (Fail Operational): El sistema sigue funcionando, al menos durante un tiempo, sin perder prestaciones.
  2. Tolerancia aceptable (Fail Soft): El sistema sigue funcionando con una pérdida parcial de la funcionalidad.
  3. Pérdida segura (Fail Safe): El sistema se detiene en un estado que asegura la integridad del entorno.

Justificación de la Tolerancia a Fallos en Ascensores

En el caso del ascensor, el tipo de tolerancia a fallos es la parada segura (Fail Safe), porque debe asegurar la integridad del entorno, ya que transporta personas en su interior.

Tipo de Redundancia

Para un ascensor, la redundancia es dinámica, ya que los componentes se activan cuando detectan fallos, pero no están activados en todo momento, como es el caso de la redundancia estática.

Comparativa de Lenguajes: Secuenciales frente a Concurrentes

1. Lenguajes Secuenciales (Fortran, C, C++)

Necesitan un Sistema Operativo (S.O.) para la concurrencia y el tiempo real.

  • No se recomienda usar C en Sistemas Empotrados (S.E.) críticos por problemas de fiabilidad.
  • C es un lenguaje estructurado con tipado fuerte y muy flexible, por lo que es poco seguro. No facilita la descomposición en módulos ni la programación orientada a objetos (C++).

2. Lenguajes Concurrentes (ADA, Java)

La concurrencia y el tiempo real están incluidas en el lenguaje.

ADA

Está diseñado para Sistemas Empotrados en tiempo real.

  • Permite acceder al hardware (HW) e instrucciones.
  • Está estructurado en bloques y fuertemente tipado.

Java

No es adecuado del todo, excepto en versiones de Tiempo Real (RTS).

  • Está pensado para construir sistemas distribuidos, basado en objetos dinámicos, incluye bibliotecas de clases (APIs) y el código es portátil.
  • Inconvenientes:
    • La planificación de actividades concurrentes no está bien definida.
    • La gestión dinámica de la memoria introduce indeterminismo.
    • La medida del tiempo carece de precisión.
    • Presenta problemas con excepciones y concurrencia.

Memoria FLASH: Características y Tecnologías (NOR vs. NAND)

La memoria FLASH deriva de las siglas EEPROM. Permite la lectura y escritura de múltiples posiciones de memoria en una sola operación. Es muy utilizada en sistemas empotrados móviles.

Características de la Memoria FLASH

  • Velocidad de acceso uniforme.
  • Resistente a golpes.
  • Consume menos.
  • Menor ruido.
  • Posee un número máximo de escrituras a partir del cual deja de funcionar.

Tipos de Tecnologías FLASH y Usos

Existen dos tipos de tecnologías:

  • NOR: Se utiliza para operaciones de acceso a memoria (ej. BIOS/Bootloader).
  • NAND: Se utiliza para operaciones de E/S (ej. discos extraíbles).

Entradas relacionadas: