Java в реальном времени - Real time Java
В режиме реального времени Java является всеохватывающий термин для сочетания технологий , что позволяет программистам писать программы , которые отвечают требованиям реального времени систем на языке программирования Java .
Сложное управление памятью в Java , встроенная поддержка потоковой передачи и параллелизма, безопасность типов и относительная простота создали потребность в ее использовании во многих областях. Его возможности были расширены для поддержки вычислительных потребностей в реальном времени:
- Java в реальном времени поддерживает модель потоковой передачи со строгим приоритетом ,
- поскольку потоки Java поддерживают приоритеты, механизмы блокировки Java поддерживают методы предотвращения инверсии приоритета , такие как наследование приоритета или протокол верхнего предела приоритета , и
- обработка событий.
Первоначальное предложение по открытому стандарту для Java реального времени было выдвинуто Кельвином Нильсеном, который тогда работал научным сотрудником в Университете штата Айова. Последующий обзорный документ был опубликован в CACM . Чрезвычайно положительный отклик на эти ранние предложения привел к серии встреч, организованных Национальным институтом стандартов и технологий с целью создания открытого стандарта для Java реального времени. В конечном итоге NIST сказали, что они не являются подходящим органом для установления стандартов, связанных с языком Java, поскольку Java была торговой маркой, а технологии принадлежали Sun Microsystems. Таким образом, NIST завершил свои усилия публикацией согласованных требований, которые могут быть учтены в будущих усилиях по стандартизации, которые будут проводиться Sun Microsystems.
Когда было сформировано сообщество Java , самой первой попыткой была спецификация для Java реального времени, JSR001. Появился ряд реализаций результирующей спецификации реального времени для Java ( RTSJ ), включая эталонную реализацию от Timesys , IBM WebSphere Real Time, Sun Microsystems Java SE Real-Time Systems, PTC Perc от PTC, Inc. . , или JamaicaVM от aicas .
RTSJ решил критические проблемы, установив минимальную спецификацию для модели потоковой передачи (и позволив другим моделям подключаться к виртуальной машине ) и предоставив области памяти , которые не подлежат сборке мусора, а также потоки, которые не могут быть вытеснены с помощью сборщик мусора. Вместо этого управление этими областями осуществляется с помощью управления памятью на основе регионов . Последняя спецификация 2.0 также поддерживает прямой доступ к устройствам и детерминированную сборку мусора.
Спецификация реального времени для Java
Спецификация реального времени для Java (RTSJ) - это набор интерфейсов и улучшений поведения, которые позволяют программировать компьютер в реальном времени на языке программирования Java . RTSJ 1.0 был разработан как JSR 1 в рамках процесса сообщества Java , который утвердил новый стандарт в ноябре 2001 года. RTSJ 2.0 разрабатывается под JSR 282. Черновая версия доступна на странице JSR 282 JCP . Более подробную информацию можно найти на RTSJ 2.0
Смотрите также
- Функциональная спецификация
- Javolution - совместимая с RTSJ библиотека Java
Ссылки
внешние ссылки
- Проблемы разработки и реализации Java в реальном времени
- Добавление возможностей реального времени в Java
- Требования к расширениям реального времени для платформы Java
- Спецификация реального времени для Java 2.0 (RTSJ 2.0)
- JSR-282
- Спецификация реального времени для Java (RTSJ)
- JSR-1
- IBM WebSphere Real Time - полностью соответствующая виртуальная машина RTSJ SE
- JamaicaVM реализация RTSJ SE с детерминированным сбора мусора
- PTC Perc - виртуальная машина реального времени на основе Java Standard Edition, но с запатентованной технологией детерминированного сбора мусора, а не с RTSJ.
- Система реального времени Sun Java SE
- Java в реальном времени Apogee с GC в реальном времени (снято с производства)
- Набор инструментов для реализации и тестирования Timesys RTSJ
- jRate (Java Real-Time Extension) - расширение с открытым исходным кодом для интерфейса компилятора GNU GCJ и системы времени выполнения, которое добавляет поддержку большинства функций, требуемых RTSJ.
- Международный семинар по технологиям Java для систем реального времени и встроенных систем (JTRES 2005) JTRES 2006 JTRES 2007 JTRES 2008 JTRES 2009 JTRES 2010 JTRES 2011 JTRES 2012 JTRES 2013 JTRES 2014 JTRES 2015
- LJRT Lund Java с открытым исходным кодом в реальном времени
- Овм
- Fiji VM Java в реальном времени
- Виртуальные машины Java в реальном времени