Reseña Histórica – Hitos a lo largo del tiempo:
1980: Primer núcleo de un sistema operativo en tiempo real básico
1982: Primera versión de QNX
1990: Rediseño de QNX + Salida de versiones comerciales
Introducción a los Sistemas Operativos en tiempo real
Un Sistema Operativo en tiempo real es un sistema operativo diseñado para aplicaciones de tiempo real.
Debe garantizar un alto grado de determinismo y dar la respuesta sin errores en un lapso de tiempo corto.
Determinismo
Sensibilidad
Control de usuario
Fiabilidad
Tolerancia a los fallos
Tipos de Sistemas Operativos en tiempo real:
Características fundamentales:
SISTEMAS CRÍTICOS
SISTEMAS NO CRÍTICOS
Características de diseño y soporte del Sistema Operativo en tiempo real:
Procesador.
Planificación y Procesos.
Comunicación entre procesos y sincronización.
Interrupciones.
Memoria.
Comunicaciones.
PROCESADOR
Problemas con la capacidad de procesamiento.
Cuesta cumplir con el reloj interno del procesador.
Tasa de interrupciones elevada.
TIPOS DE DISEÑO DE LOS SISTEMAS OPERATIVOS EN CUANTO AL MANEJO DE EVENTOS:
Diseño guidado por eventos.
Diseño de compartición.
PLANIFICACIÓN Y PROCESOS
ESTADOS: Ejecución, preparado y bloqueado. Cola de procesos corta. Asignación y ordenamiento de la cola de procesos por prioridades.
COMUNICACIÓN ENTRE PROCESOS Y SINCRONIZACIÓN
Semáforos. Problemas: inversión de prioridades y punto muerto.
Envío de mensajes.
MEMORIA
Velocidad de acceso. Fragmentación. Paginación.
COMUNICACIONES
Lan bus o puertos serie.
ARQUITECTURA DE SISTEMAS OPERATIVOS EN TIEMPO REAL
La Memoria física se divide en dos regiones: USER SPACE y KERNEL SPACE.
El HW interactúa con el Kernel y el Kernel con el usuario.
Se quiere minimizar la latencia y el Jitter.
Clases de tiempo real:
TIEMPO REAL ESTRICTO
TIEMPO REAL FLEXIBLE
TIEMPO REAL FIRME
ARQUITECTURA BASICA
Alternativas de modificación del Kernel para reducir la latencia y el jitter:
ATENCIÓN PRIORITARIA EN EL KERNEL ESTÁNDAR (PREEMPTABLE KERNEL)
MODIFICACIONES SOBRE EL KERNEL ESTÁNDAR (PATCH)
ATENCIÓN PRIORITARIA EN EL KERNEL ESTÁNDAR (PREEMPTABLE KERNEL)
ATENCION PRIORITARIA EN EL KERNEL ESTANDAR
MODIFICACIONES SOBRE EL KERNEL ESTÁNDAR (PATCH)
Microkernel
Nanokernel
Recurso Kernel
Extensiones POSIX de tiempo real añadidas al Kernel
MODIFICACIONES EN EL KERNEL ESTANDAR (PATCH):
MICROKERNEL
MODIFICACIONES EN EL KERNEL ESTANDAR (PATCH):
NANOKERNEL
MODIFICACIONES EN EL KERNEL ESTANDAR (PATCH):
RECURSO KERNEL
MODIFICACIONES EN EL KERNEL ESTANDAR (PATCH):
EXTENSIONES POSIX DE TIEMPO REAL AÑADIDAS AL KERNEL
Consiste en modificar directamente al kernel del sistema operativo agregando librerías que den soporte a relojes, señales, semáforos, memoria compartida, etc.
Arquitectura de QNX
Microkernel
Arquitectura de QNX
Responsabilidades:
IPC (Comunicación entre procesos)
Mensajes
Proxies
Señales
La comunicación de la red a bajo nivel.
Planificador de procesos.
Manejo de interrupciones del primer nivel.
Microkernel
Arquitectura Interna
Microkernel
Procesos de un sistema QNX
Administrador de procesos (Proc)
Administrador del sistema de archivos (Fsys)
Administrador de dispositivos (Dev)
Administrador de red (Net)
Administrador de Procesos
Fases del ciclo de vida de un proceso: creación, carga, ejecución y terminación.
QNX soporta tres primitivas de la creación de procesos:
Fork ()
Exec ()
Spawn ()
Administrador del sistema de archivos
QNX implementa seis tipos de archivos:
Archivos regulares
Directorios
Accesos directos
Pipes y FIFOs
Archivos de bloques especiales
Archivo especial de carácter
Administrador de dispositivos
Administrador de red
Ofrece tres rasgos avanzados:
Un mayor rendimiento a través de equilibrio de carga
Tolerancia a fallos a través de conectividad redundante
Puente entre las redes de QNX
Diferencias con otros SO
Comparación de QNX con la familia UNIX, Windows.
Instalación de QNX
Instalación típica de QNX
Inserte el CD o el disquete en la unidad de lectura.
Reinicie su computadora.
Cuando arranca el sistema, simplemente siga las instrucciones que aparecen en pantalla.
Necesitara conocer la configuración de su Hardware ya que el instalador lo solicitara.
Luego, puede instalar cualquier software para QNX, el sistema ya estará listo para su uso.
Pasos para instalar QNX
QNX Neutrino RTOCaracteristicas
Tiempo real
Arquitectura Microkernel
Partición adaptativa
Procesamiento Transparente Distribuido
Arranque Rápido
Proporciona tiempos de respuesta rápidos y predecibles, gracias a:
Planificador basado en prioridades
Interrupción de latencias
Atención de interrupciones en un plazo previsible
Tiempo real
Arquitectura Microkernel
Sistemas robustos
Facilita la identificación y corrección de errores
Actualización segura y rápida de componentes
Sistemas auto-reparables
La falla se limita al componente
Recuperación rápida del sistema
Arq. Microkernel – Beneficios
Asegura que los procesos críticos cuenten siempre con los recursos necesarios y cumplan los plazos de tiempo real.
CASOS:
Condiciones normales
Sobrecarga
Ciclos de procesamiento disponibles
Partición adaptativa
Partición adaptativa
Procesamiento transparente distribuido
Independencia de los recursos de su localización física en la red.
Comunicación mediante una sola capa.
Redundancia y balanceo de carga.
Procesamiento transparente distribuido
OBJETIVO: cumplir requisitos de disposición temprana.
ESTRATEGIAS:
BIOS less boot
Microkernel
Activación instantánea de dispositivo
Arranque rápido
Photon microGUI
Configuración de pantallas múltiples.
Application Builder.
Compatibilidad con lenguajes asiáticos.
Rápida creación de prototipos.
Actualización de la interfaz de usuario sin reiniciar el sistema.
HMI (Human Machine Interface).
Phindows.
Características
Es una herramienta de conexión a distancia.
Permite la interacción de aplicaciones Photon en Windows.
CARACTERÍSTICAS:
Brinda portabilidad y productividad.
Rendimiento ajustable a recursos disponibles.
Fuentes de ventana local.
Seguridad.
Phindows
REQUERIMIENTOS:
QNX 6.3 o superior
Windows 2000, Windows XP
Phindows
SOFTWARE SOBRE QNX: REALFLEX
Características
Beneficios
Sus características principales son:
Soporte de tiempo real, para seguimiento y control
Configuración STAND BY
Alto rendimiento y diseño eficaz para grandes bases de datos
Procesa datos en tiempo real
Guarda un histórico de las bases de datos
Dispone de alarmas, procesadores de eventos, de cálculos
Tiene capacidad de control
Tiene CSL- Lenguaje de comandos de secuencia
Soporta una amplia gama de protocolos estándares
Migración automática de sistemas heredados RealFlex 4
Dispone de API del servidor de aplicaciones para interactuar con consolas QNX
Dispone de un kit de desarrollo de personal
Sus beneficios son:
Alta velocidad
Redundancia en el procesamiento para recuperación ante fallos
Los usuarios tienen acceso a la interfaz del operador, bases de datos SQL, páginas web
Compatibilidad con un gran número de RTOS
Permite efectuar captura de eventos del sistema
Se pueden desarrollar aplicaciones
Interface Gráfica de Usuario