LINUX.ORG.RU

Real-time Java, первая часть серии статей IBM developerWorks, описывающая реализацию систем реального времени средствами Java.


0

0

В статье рассматривается как разрабатывать приложения, к которым предъявляются требования по скорости реакции на события, происходящие в реальном времени, на примере RTSJ IBM WebSphere Real Time, работающей под управлением RT Linux.

В статье дано введение в технологии, применяемые в ядре для поддержки РВ - вытесняемое ядро, преобразующиеся в потоки ядра прерывания, высокочастотные таймеры и много другого.

Рассмотрены такие пути преодоления типичных узких мест в производительности Java как сборщик мусора на примере Deterministic garbage collection, Native code compilation for RT, загрузчик классов, управление потоками.

http://www-128.ibm.com/developerworks...

http://lwn.net/Articles/229884/

★★

Проверено: svu ()

Ответ на: комментарий от anonymous

Извините, может я offtop, но тем не менее. Тема довольно актуальная. До сегодняшнего момента разработка систем реального времени представляла сбой крайне сложную задачу. Да вобщем-то с появлением Java в этой области все не сильно изменилось. Если посмотреть на JSR-01 внимательно, то можно понять, для того чтобы разрабатывать real-time приложения на Java необходимо отказаться от массы преимуществ Java таких как автоматический сборщик мусора, динамичекая загрузка классов и др. Фактически вам предлагается другая концепция программирования, которая не очень то вписывается в концепцию Java.

На данный момент существует два два вида пользователей real-time Java 1. Те которым нужна предсказуемая среда без гарантий (soft real-time) и эти пользователи уже получили то что хотели. Java с подхаченым сборщиком мусора может быть настолько предсказуемой, насколько вы даже не можете себе представить. 2. И те кому нужна гарантированно предсказуемая среда (hard real-time). Никто пока не смог обеспечить нужды таких пользователей. Вобщем-то Java тут не сильно причем. Все дело в отсутствии Java на hard real-time OS.

Чтобы не быть голословным, скажу что я занимаюсь качеством Sun Java Real-Time и в области soft-realtime Sun на голову выше IBM. И чтобы быть объективным, скажу, hard real-time делают пока все не очень! Sun Java Real-Time сейчас работает на Solaris. IBM на Linux!

Но так как все вы линуксоиды и не мне вам рассказывать, что делается в ядре линукса сейчас для того, чтобы ядро стало более предсказуемым, я могу сказать, что линукс активно движется в этом направлении, но еще же достиг нужной точки! Солярис, не знаю, наверное даже не движется.

Вобщем-то мое резюме в том, что Java может иcпользоваться? как для soft real-time систем, так и для hard real-time систем. Важно понимать что это будет не такая уж Java, но все не сильно усложненная (почитайте про "Region inference" управление памятью).

Надеюсь Sun в скором будущем перейдет и на Linux и усилия Инга Молнер не пропадут даром :)

Oleg.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.