trabajo de investigación
DESCRIPTION
Trabajo de Investigación. Aplicación de Java y C++ en Sistemas de Tiempo Real Estricto Sergio Roldán Alfredo Luque Junio de 2008. Publicación de base analizada. “Hard Real-Time: C++ vs. RTS-Java” Daniel L. Dvorak and William K. Reinholtz Jet Propulsion Laboratory, 2004. - PowerPoint PPT PresentationTRANSCRIPT
Trabajo de Investigación
Aplicación de Java y C++ en Sistemas de Tiempo Real Estricto
Sergio RoldánAlfredo Luque
Junio de 2008
Publicación de base analizada
“Hard Real-Time: C++ vs. RTS-Java”Daniel L. Dvorak and William K. Reinholtz
Jet Propulsion Laboratory, 2004
Planificación y Ejecución de Procesos Atención de Eventos Asincrónicos Precisión en Eventos Sincrónicos Sincronización entre procesos
Manejo de recursos compartidos Memoria Operativa Dispositivos de Entrada-Salida Acceso al Hardware en Bajo Nivel
Requerimientos Generales
Sistemas en Tiempo Real Estricto
Ejemplos de Aplicación
Controlador Industrial al nivel de un PLC Microprocesador: strongARM, Intel x86 Sistema Operativo RTOS: QNX, RTAI-Linux Aplicaciones en C++ y/o en Java Interfase de usuario completa
Controlador embebido: ej: Sensor con Field-Bus Microcontrolador: Atmel AVR, PIC-16 Sin RTOS: una sóla aplicación principal Sin interfase de usuario
Tabla Comparativa, en Sistemas con RTOS
JAVA C++
Ventajas
Facilidad de desarrollo Velocidad de procesamiento
Procesos POSIX.
Procesos POSIX.
Desventajas
Deshabilitar el GC
Sistema con RTOS
Portabilidad en sistemas heterogéneos y/o distribuidos
Tiene soporte en la mayoría de los RTOS
La maquina virtual afecta la rapidez del sistema.
La portabilidad de las aplicaciones depende fuertemente del modo de programación y de la disponibilidad
de compiladores.
Tabla Comparativa, en sistemas sin RTOS
JAVA C++
Ventajas
Facilidad de desarrollo Velocidad de procesamiento
Desventajas
Desaparece el manejo de procesos
Sistema sin RTOS
Portabilidad en sistemas heterogéneos y/o distribuidos
Control de bajo nivel sobre el Hardware
La JVM permite manejar la concurrencia de procesos
Manejo de memoria controlado por la aplicación.
La JVM ocupa RAM y tiempo de procesador generalmente muy
limitados
C++ no provee ningún Scheduler nativo del lenguaje.
sin un GC, se hace difícil el manejo de memoria
Referencias
1. “Hard Real-Time: C++ vs RTSJava” Dvorak-Reinholtz, 20042. “Real-Time Java” Mathias Johnson, 20023. “OS Platforms for RTSJ” Peter Dibble, 20054. “Java vs. C++ shootout – Benchmark” Lasse Kärkkäinen, 2008
http://zi.fi/shootout/5. Referencias a RTOS:
http://en.wikipedia.org/wiki/Real-time_operating_system6. Especificaciones de la RTS-Java:
http://www.rtsj.org