java - ¿Qué JVM en tiempo real(RTSJ) es la más preferida?
real-time (5)
A pesar de que Azul Zing no es una implementación RTSJ (sino una implementación J2SE), afirman que esta JVM es capaz de ejecutar aplicaciones en tiempo real debido al recolector de basura C4 sin pausas.
Más sobre C4 :
Parece que solo hay un puñado de JVM que son implementaciones de la Especificación en Tiempo Real para Java (RTSJ) . El sistema de tiempo real Java de Sun / Oracle está por encima de los $ 6000 y el WebSphere en tiempo real de IBM está por encima de los $ 7000, por lo que muchos desarrolladores de Java nunca tendrán la oportunidad de usar ninguno de ellos. JRockit de Oracle parece ser una implementación gratuita de Java en tiempo real con un comportamiento predecible y determinista, aunque no estoy seguro, ya que su documentación es bastante pesada para el lenguaje de marketing. Otras JVM en tiempo real más pequeñas parecen arriesgadas en virtud de ser desarrolladas por pequeñas organizaciones y tener bases de usuarios más pequeñas.
¿Qué JVM en tiempo real se prefieren? ¿Cuáles son los más utilizados, confiados y queridos por los desarrolladores?
Aonix es la aplicación RTSJ más utilizada. Tienen una amplia gama de soluciones java en tiempo real desde CDC hasta el nivel de Java SE.
Es cierto que solo hay unas pocas máquinas virtuales que implementan el RTSJ . JavaRT de Oracle, WebSpere en tiempo real de IBM y JamaicaVM aicas, pero PERC de Atego no es una de ellas, ni siquiera remotamente. PERC tiene algunas extensiones propietarias para la programación en tiempo real en su lugar. JRocket de Oracle tampoco es una máquina virtual en tiempo real.
Tanto PERC como JamaicaVM, aunque son de compañías más pequeñas que IBM u Oracle, tienen bases de usuarios sustanciales. La mayoría de los desarrolladores están menos familiarizados con PERC y JamaicaVM porque se usan principalmente para aplicaciones integradas, no para aplicaciones de escritorio o servidor. JamaicaVM está siendo utilizada por grandes corporaciones como Boeing, Siemens, Zeiss y Lockheed Martin y ha estado en el mercado por más de diez años.
Si desea probar la especificación en tiempo real para Java, puede descargar JamaicaVM Personal Addition. Se puede utilizar en cualquier plataforma Linux que esté en la red. Está disponible en " http://www.aicas.com/jamaica-pe.html " de forma gratuita.
JamaicaVM no solo es compatible con RTSJ
, sino que también tiene un recolector de basura totalmente preventivo. Esto significa que uno puede escribir código en tiempo real sin tener que recurrir al uso de áreas de memoria inmortal y con ámbito. JamaicaVM también tiene un compilador estático o adelantado (AoT), por lo que el compilador JIT no inhibe el rendimiento en tiempo real. Uno todavía puede usar RealtimeThreads
, RawMemoryAccess
, AsyncEventHandlers
y otras características de RTSJ que promueven la programación en tiempo real.
Si desea probar el RTSJ, JamaicaVM se ofrece en una versión no comercial de forma gratuita. Está disponible para Linux en x86. Puede encontrar una referencia a esto en la página web de aicas: www.aicas.com.
Actualización (marzo de 2012): Oracle parece haber desmontado silenciosamente su equipo de desarrollo de JavaRTS.
No hay una buena respuesta a esta pregunta. Ciertamente no hay suficiente masa crítica para decir que hay una RT JVM más popular en la actualidad.
Los sistemas de US Defense que conozco utilizan JavaRTS, WebSphere RT de IBM y PERC. Las plataformas de aviación utilizan aicas JamaicaVM. La mayoría de esas personas no se han preocupado demasiado por los costos de las licencias hasta la fecha. Están preocupados por los riesgos del programa mucho más altos. He trabajado con varios de estos programas, y encuentro que los productos son de alta calidad, y hay un soporte (a veces extraordinario) de parte de los proveedores.
- El radar AN / FPS-85 utiliza JavaRTS , y aunque este es un conteo relativamente bajo, es una aplicación de alta criticidad.
- El sistema de armas Aegis de la Marina de EE. UU. Utiliza PERC
- El DDG-1000 de la US Navy usa IBM WebSphere RT
- JamaicaVM de aicas se usa en plataformas de aviónica , pero son comprensiblemente tímidos acerca de los detalles
Muchos de los proveedores se han centrado en clientes o dominios específicos, y sus diseños e infraestructura de soporte tienden a coincidir con eso. Si tiene en mente un perfil de aplicación específico, tal vez podamos darle una mejor respuesta.
Los altos costos de licencia que usted cita reflejan las altas expectativas que tienen los usuarios de estos productos y la densidad relativamente baja de la demanda. La comunidad de desarrolladores (tal como es) también es más fragmentaria porque los sistemas con restricciones en tiempo real o críticas para la seguridad suelen ser de mayor sensibilidad (defensa, aviación, SCADA) o valor protegido de propiedad (automotriz) o ambos. Un foro excelente para la teoría y práctica de Java en tiempo real es la conferencia anual de JTRES , que es un grupo muy unido de académicos y proveedores con conocimientos técnicos.
Relacionado con SO: Primitivas solo en Java , que usa RTSJ .