QNX-punto4

Anuncio
Sistemas RTO QNX
QNX en un diskette: DEMO
Es posible ejecutar QNX desde un diskette de 1,44 megas, el cual contiene el sistema
operativo, interfaz gráfica de usuario, PPP o una red, navegador Web, explorador de
archivos y varias aplicaciones de demostración.
Existen dos versiones del disco demo:


una versión de red que utiliza una tarjeta de interfaz de red conectada a una
red. El inconveniente es que red sólo admite un par de antiguas tarjetas de red,
por lo que no funciona en los ordenadores más recientes.
una versión de módem que utiliza PPP a un proveedor de servicios de
Internet.
Los requisitos mínimos de hardware:






386 o superior.
8 megas de ram.
Hardware / RS232 del módem o NE1000/2000, diciembre 21x4x o 3com 509
tarjeta de red basada.
De serie o el ratón PS / 2.
VGA o tarjeta compatible VESA 2.0.
No se requiere disco duro
Además la versión moderna no reconoce el lobotomizado "winmodems" que mayoría
de la gente, lamentablemente, tienen en estos días (winmodems carecen de los
procesadores hardware que los antiguos módems tienen y por lo tanto requieren el
software propietario del fabricante de emular este hardware).
Los pasos para la instalación son los siguientes:
1. Colocar el disquete de arranque QNX en la unidad de disquete y reiniciar el
equipo. Aparecerán una flecha una serie de puntos en la esquina superior
izquierda de la pantalla, el logo de QNX, un mensaje de bienvenida y el
intérprete de comandos.
2. Luego se deben transferir el software contenido en el disquete al disco duro,
para ello se debe escribir el comando “install” en el intérprete de comandos.
3. A continuación seguir las instrucciones para configurar el disco por lo que se
iniciará QNX.
4. Por último reiniciar desde el disco duro e iniciar QNX como “root”.
Una vez que QNX esté funcionando se podrá instalar software adicional, personalizar
la instalación y configurar la red entre otras cosas. Se iniciará el navegador web
Voyager, compatible con HTML 3.2 y con JavaScript:
Ejemplo de área de trabajo y barra de tareas. El explorador de archivos permite
buscar en los archivos cargados en memoria RAM:
Ejemplo de la interfaz de usuario y controles típicos utilizados por el sistema:
Ejemplo de la función para configuración de pantalla:
Ejemplo de la aplicación de bloc de notas incluida:
Ejemplo del demo de Las Torres de Hanoi. Una aplicación de muestra de Javascript
que se ejecuta dentro del navegador web de la Voyager:
Ejemplo del otro navegador Slashdot:
Fuentes:
http://toastytech.com/guis/qnxdemo.html
http://qdn.qnx.com/developers/docs/qnx_4.25_docs/qnx4/user_guide/install.html
QNX Neutrino RTOS
La última versión del sistema operativo en tiempo real QNX, llamada QNX Neutrino
RTOS es un completo y robusto sistema operativo que permite satisfacer las necesidades de
recursos limitados en tiempo real de sistemas embebidos. Su diseño microkernel y su
arquitectura modular permite a los clientes crear sistemas altamente fiables y optimizados,
con bajo coste de propiedad.
Ya sea que se trate de pequeños o grandes, simples o distribuidos, estos sistemas son
conocidos por su capacidad de operar las 24 horas al día, los 365 días al año, sin parar. Se
diferencia de otros productos por la fiabilidad, tolerancia a fallas y escalabilidad. Además,
ofrece grandes ventajas a nivel técnico, económico y alto rendimiento, incluso en hardware
barato, gracias a sus principales características:



tiempos de respuesta predecibles y muy rápida interrupción de latencias y cambios
de contexto (tiempo real);
la arquitectura Microkernel;
la partición adaptativa.
Tiempo real
La característica de microkernel preventiva y el planificador basado en prioridades,
permite que QNX Neutrino RTOS proporcione tiempos de respuesta rápidos y predecibles,
deterministas tanto a nivel de aplicaciones como de todos los subsistemas.
Esto es posible mediante:




La rápida interrupción de latencias y cambios de contexto que ayudan a exprimir el
más rápido tiempo de respuesta posible de hardware integrado.
Prioridad para eliminar la herencia de la inversión de prioridades.
Simplificación de modelado en tiempo real a través de las actividades de mensaje
síncrono.
Interrupciones anidadas y una determinada cota superior de la latencia de
interrupción, asegurando que las interrupciones de alta prioridad se atiendan
primero, en un plazo previsible, permitiendo que se cumplan sus plazos aún en
condiciones de carga pesada.
Arquitectura Microkernel
Su arquitectura microkernel lo posiciona como un sistema robusto, facilitando la
identificación y resolución de errores, y permitiendo actualizaciones de componentes en
forma segura y rápida, sin tiempos de inactividad costosos o cortes en el sistema; y autoreparable, posibilitando que ante la falla de cualquier componente el sistema se reinicie
automáticamente sin afectar al núcleo u otros componentes; ofreciendo así un alto nivel de
contención y recuperación ante fallos.
El microkernel incluye sólo los servicios esenciales, como la señalización,
temporizadores y programadores. Todos los demás componentes, como ser sistemas de
archivos, drivers, pilas de protocolos y aplicaciones, se ejecutan en la seguridad del espacio
de usuario en memoria protegida.
QNX Neutrino RTOS microkernel
Además, ayuda a crear tolerancia a fallos y sistemas auto-reparables mediante:




Ciclos de CPU para la detección de errores y recuperación del sistema que aseguran
la recuperación rápida del mismo.
Posibilidad de poder determinar siempre el estado del sistema, independientemente
de la carga del procesador (mediante interfaz de usuario o consola).
Reinicio automático de procesos fracasados, sin un reinicio del sistema.
Recuperación automática de las comunicaciones entre procesos tras fallos del
proceso.
Ante la falla de cualquier componente, el sistema operativo lo denuncia y reclama los
recursos que estaba utilizando, sin necesidad de reiniciar el sistema y sin perjudicar al
núcleo ni a los demás componentes. La falla se limita únicamente a ese componente,
reduciendo al mínimo el tiempo medio de reparación.
Las características de autoreparación y particionado, además de servicio redundante, es
decir, procesamiento distribuido transparente (arquitectura de redes) que permite la
construcción rápida de los servicios redundantes, aseguran la alta disponibilidad de los
servicios.
Partición adaptativa
La partición (conjunto de procesos o hilos) QNX adaptativa permite el uso óptimo
de toda la capacidad disponible de la CPU, sobretodo en sistemas de uso intensivo de
procesador, asegurando que los procesos críticos nunca tengan carencia de recursos y
puedan cumplir con los plazos de tiempo real.
En condiciones normales, las particiones pueden usar cualquier cantidad ciclos de CPU
disponibles. Sin embargo, durante una sobrecarga, es decir, cuando se requiere más cálculo
del que el sistema puede sostener en el tiempo, el programador de partición QNX impone
límites a los ciclos de CPU que se le pueden asignar a cada partición, garantizando que el
mínimo requerido de recursos de la CPU esté siempre disponible para los procesos
especificados (se asegura que cada una de las aplicaciones reciba una fracción de los
recursos que requiere).
Cuando existen ciclos de procesamiento disponibles, las particiones pueden superar sus
presupuestos de tiempo de uso de CPU. Los ciclos disponibles se asignan dinámicamente a
aquellas particiones que se puedan beneficiar de tiempo adicional de CPU, eligiendo
siempre a aquellas de mayor prioridad de ejecución, o a aquellas que fueron designadas
como críticas independientemente de la carga del sistema y el presupuesto de partición.
Manteniéndose de esta manera el determinismo en tiempo real.
Es decir, que tanto en condiciones de disponibilidad de recursos como de limitación de
los mismos, las aplicaciones cuentan con recursos para poder operar.
Diseños de partición fija



Son ineficientes.
La capacidad sobrante de CPU no
puede ser utilizada.
Los requerimientos de CPU se fijan
de antemano para prever la demanda
máxima.
Partición QNX adaptativa



Ofrece las garantías mínimas de
tiempo de CPU a las particiones.
La capacidad sobrante CPU se
utiliza cuando está disponible.
Los procesos pueden superar sus
límites de presupuesto cuando hay
ciclos disponibles.
Otras de las características de QNX Neutrino RTOS que pueden mencionarse son:
Procesamiento transparente distribuido
El procesamiento transparente distribuido (TDP) permite que los recursos tengan una
independencia de su localización en la red. El software en cualquier nodo de la red puede
acceder a cualquier recurso publicado.
Para lograr la interconexión dinámica de recursos, TDP envía un mensajes estándar a
través de cualquier tecnología de interconexión de redes, permitiendo así que los recursos,
tanto hardware como software, que se encuentran en los extremos puedan compartirse.
TDP se caracteriza por el empleo de redundancia y balanceo de carga. Esta cualidad
permite evitar la pérdida de servicio, ya que si un eslabón falla los datos son reenrutados a
través de los demás eslabones. Si ocurre un error en un nodo/enlace, los datos se cargan en
forma equilibrada sobre los nodos/enlaces restantes.
Todos los componentes del sistema operativo se comunican a través de una sola capa,
mediante mensajes bien definidos. Este mensaje forma una capa de "bus" que permite la
inserción y la eliminación de componentes de software en cualquier momento. El flujo de
mensajes de forma transparente a través del procesador, brinda un acceso también
transparente a cualquier recurso, en cualquier parte de la red.
El procesamiento transparente distribuido, permite a los desarrolladores crear sistemas
robustos y tolerantes a fallos que ofrezcan acceso on-demand a recursos en múltiples
terminales. Si una no está disponible, un recurso similar se puede acceder de forma
transparente en otra.
Arranque rápido
QNX Neutrino RTOS ofrece varias estrategias de arranque rápido:



BIOS- less boot: se reemplaza la BIOS estándar por inicialización personalizada de
los periféricos, gracias a que los conductores de estos dispositivos están fuera de la
BIOS. Esto permite seleccionar qué se inicia y cuándo, eliminar inicializaciones no
necesarias y posponer otras hasta después del arranque.
Microkernel: permite modificar la secuencia de arranque para sacar provecho del
tiempo de inactividad, siendo posible determinar qué arranca cuándo.
Activación instantánea de dispositivo (IDA): utiliza minicontroladores, que se
ejecutan antes de que el núcleo del sistema operativo se inicie, para iniciar las
aplicaciones necesarias a fin cumplir con los requisitos de disposición temprana.
Fuente:
http://www.qnx.com/products/neutrino-rtos/neutrino-rtos.html#technology
Photon microGUI
Photon microGUI es un sistema de ventanas, para QNX que se entrega con QNX
Software Development Platform (SDP).
Dentro de sus características cabe destacar:








Configuración de pantallas múltiples: soporta visualización individual a varios
monitores (presenta toda la Photon microGUI en una serie de monitores) y para
múltiples pantallas en múltiples monitores con una sola CPU.
Rápida creación de prototipos sin extensa codificación, gracias a Photon widgets
fáciles de usar, la reducción del tamaño de bibliotecas compartidas y la reutilización
de código en nuevos componentes.
Dispone del constructor de aplicaciones (Application Builder) para probar las
mismas.
Personalizar la GUI (ventanas, botones, menús) es muy sencillo ya sea en forma
individual o global, al igual que los widgets.
Compatibilidad con lenguajes asiáticos y fuentes escalables, como fuentes True
Type y mapa de bits.
Cualquier parte de la interfaz gráfica de usuario puede actualizarse, modificarse,
recibir adiciones y sustituciones sin necesidad de reiniciar el sistema.
El enfoque de desarrollo HMI (Human Machine Interface) simplifica y acelera el
trabajo necesario para crear interfaces de usuario sofisticadas.
Permite crear interfaces de usuario libres de distracciones y parpadeo, reduciendo el
consumo de CPU y optimizando el rendimiento mediante la eliminación de cálculos
redundantes.
Existen componentes opcionales que incluyen bibliotecas con más de 80 widgets,
controladores de gráficos, datos de entrada (ratón, teclado, pantalla táctil) y utilidades de
Photon, tales como terminales, gestor de archivos, gestor de escritorio multipantalla,
editores y lectores de HTML y código fuente para servicios públicos y el programa de
ejemplo.
Phindows
Para lograr la interacción con aplicaciones Photon desde un escritorio Windows, ya sea
a través de una red IP o conexión serie, se utiliza la herramienta de conexión a distancia
Phindows. Esta herramienta permite:




Reducir los costos de hardware: dispositivos embebidos no requieren una pantalla o
un teclado físico dedicado.
Aumentar la productividad del desarrollador: las aplicaciones Photon pueden ser
construidas y probadas desde un escritorio Windows, reduciendo así la necesidad de
simuladores.
Portabilidad: una aplicación Photon puede ejecutarse tanto en un entorno QNX,
como en un escritorio de Windows sin necesidad de recodificar o recompilar.
Usuarios remotos: los desarrolladores no necesitan estar en el lugar para depurar
aplicaciones.
El rendimiento de Phindows se puede ajustar para obtener un rendimiento óptimo con la
velocidad de conexión disponible, la memoria RAM, recursos de disco y los requisitos de
seguridad.
Brinda soporte para:




Compresión de datos en la transferencia de datos.
RAM configurable y cachés de disco: imágenes caché en la máquina Windows que
se transfieran sólo una vez y persisten en los reinicios.
Fuentes de la ventana local: las fuentes pueden ser representadas como mapas de
bits y enviadas al escritorio Windows o representadas en Windows utilizando
archivos de fuentes locales, para mantener la apariencia de la fuente deseada
mientras se minimiza la carga de transmisión de datos.
Seguridad: los desarrolladores pueden especificar una clave de cifrado para el final
de Windows remoto que debe coincidir con la clave en el host QNX. Se requieren
una identificación de usuario y contraseña en la conexión.
Requisitos del sistema


QNX 6,3 o más reciente
Windows 2000 o Windows XP
Fuentes:
http://www.qnx.com/products/hmi/photon.html
http://www.utvikling.com/photon.asp
Descargar