Какой JVM в реальном времени (RTSJ) является наиболее предпочтительным?



Похоже, что существует только несколько JVM, которые являются реализациями спецификации реального времени для Java (RTSJ). Система реального времени Sun/Oracle Java стоит более 6000 долларов, а WebSphere IBM-более 7000 долларов, поэтому многие разработчики Java могут никогда не иметь возможности использовать ни один из них. JRockit Oracle, похоже, представляет собой свободную реализацию Java в реальном времени с предсказуемым, детерминированным поведением, хотя я не уверен, поскольку их документация довольно тяжела для маркетинга язык. Другие более мелкие СП реального времени кажутся рискованными в силу того, что разрабатываются небольшими организациями и имеют меньшие базы пользователей.



Какие СП в реальном времени предпочтительнее? Какие из них наиболее часто используются, пользуются доверием и любовью разработчиков?

715   5  

5 ответов:

Обновление (март 2012): Oracle, похоже, спокойно разобрала свою команду разработчиков JavaRTS.

На этот вопрос нет хорошего ответа. Конечно, нет достаточной критической массы, чтобы сказать, что есть самый популярный в настоящее время RT JVM.

Системы обороны США я знаю об использовании JavaRTS, IBM WebSphere RT и PERC. Авиационные платформы используют aicas JamaicaVM. Большинство из этих людей до сих пор не слишком беспокоились о стоимости лицензирования. Они обеспокоены тем, что гораздо более высокие программные риски. Я работал со многими из этих программ, и я нахожу, что продукты имеют высокое качество, и есть (иногда экстраординарная) поддержка от поставщиков.

Многие поставщики сосредоточились на конкретных клиентах или доменах, и их дизайн и инфраструктура поддержки, как правило, соответствуют этому. Если у вас есть конкретный профиль приложения в виду, возможно, мы можем получить лучший ответ.

Высокие затраты на лицензирование, о которых вы говорите, отражают высокие ожидания пользователей этих продуктов и относительно низкую плотность спроса. Сообщество разработчиков (как оно есть) также более фрагментарно, потому что системы с ограничениями реального времени или критическими для безопасности ограничениями, как правило, имеют большую чувствительность (защита, авиация, SCADA) или защищенную проприетарную ценность (автомобильная промышленность) или и то, и другое. Одним из отличных форумов для теории и практики Java в реальном времени является ежегодная конференция JTRES , которая представляет собой сплоченную группу ученых и технически подкованных поставщиков.

Связано на SO: примитивы-только в Java, кто использует RTSJ .

Верно, что существует только несколько виртуальных машин, которые реализуютRTSJ . Oracle JavaRT, IBM real-time WebSpere и aicas JamaicaVM, но PERC из Atego не является одним из них, даже отдаленно. Вместо этого PERC имеет некоторые собственные расширения для программирования в реальном времени. Jrocket Oracle также не является виртуальной машиной реального времени.

Как PERC, так и JamaicaVM, хотя они оба из более мелких компаний, чем IBM или Oracle, имеют значительную пользовательскую базу. Большинство разработчиков меньше знаком с PERC и JamaicaVM, потому что они используются в основном для встроенных приложений, а не для настольных или серверных. JamaicaVM используется такими крупными корпорациями, как Boeing, Siemens, Zeiss и Lockheed Martin, и существует на рынке уже более десяти лет.

Если вы хотите попробовать спецификацию Java в реальном времени, то вы можете скачать личное дополнение JamaicaVM. Он может быть использован на любой платформе Linux, которая находится в сети. Он доступен от "http://www.aicas.com/jamaica-pe.html " бесплатно.

JamaicaVM не только поддерживает RTSJ, но и имеет полностью упреждающий сборщик мусора. Это означает, что можно писать код в реальном времени, не прибегая к использованию ограниченных и бессмертных областей памяти. JamaicaVM также имеет статический илиопережающий компилятор (AoT), так что производительность в реальном времени не тормозится JIT-компилятором. Можно еще использовать RealtimeThreads, RawMemoryAccess, AsyncEventHandlers, и другие особенности RTSJ , которые способствуют программированию в реальном времени.

Если вы хотите попробовать использовать RTSJ, JamaicaVM предлагается в некоммерческой версии бесплатно. Он доступен для linux на x86. Вы можете найти ссылку на это на веб-странице aicas: www.aicas.com.

Несмотря Азул Зинг это не реализация RTSJ (а скорее реализация J2SE), они утверждают, что эта JVM способна запускать приложения реального времени из-за беспаузного сборщика мусора C4.

Подробнее о C4:

Aonix и популярная реализация спецификации. Они имеют широкий спектр java-решений в реальном времени от CDC до Java SE уровня.

Comments

    Ничего не найдено.