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 ()

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

> щас будет очередной холивор. постов 150

Ждём дебилов.

ero-sennin ★★
()

>Рассмотрены такие пути преодоления типичных узких мест

зачем их преодолевать? может просто не заходить в них? люблю жабу, но RT перебор: давайте создадим себе проблему и возьмемся ее дружно решать разнвми методами: Deterministic garbage collection, Native code compilation for RT, загрузчик классов, управление потоками.

:)))

AcidumIrae ★★★★★
()

-Но у нас есть песчаные пляжи.
-Ну и нахуй они кому нужны
(С)

r_asian ★☆☆
()
Ответ на: комментарий от AcidumIrae

А зачем вообще приносить технологию A в нишу B, где ее раньше не было?

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

svu ★★★★★
()
Ответ на: комментарий от svu

> Почему б не попробовать притащить эти достоинства в рилтаймовые системы?

Потому что то, что туда притащат, уже не будет той Java, к которой все привыкли. Это как Java для смарт-карт: от Java только синтаксис и название.

tailgunner ★★★★★
()
Ответ на: комментарий от svu

>А зачем вообще приносить технологию A в нишу B, где ее раньше не было?

не надо обобщать ;)

иначе получается, что надо все технологии засунуть во все ниши? фи ;)))

>Почему б не попробовать притащить эти достоинства в рилтаймовые системы?

чтобы создать новые проблемы, которых там не было?

AcidumIrae ★★★★★
()
Ответ на: комментарий от tailgunner

>Потому что то, что туда притащат, уже не будет той Java, к которой все привыкли. Это как Java для смарт-карт: от Java только синтаксис и название.

так главное TM.

wieker ★★
() автор топика
Ответ на: комментарий от tailgunner

> Это как Java для смарт-карт: от Java только синтаксис и название.

Синтакс - это уже немало. А еще жабка для смарт карт хороша стандартизацией интерфейсов - приложение перестает (в идеале) зависеть от того, кто и как сделал смарт карту. Разве это не прекрасно? Идея WORA - хотя бы с точностью до класса задач (разумеется, никто на смарт карту не запихает eclipse или tomcat).

svu ★★★★★
()
Ответ на: комментарий от svu

>> Это как Java для смарт-карт: от Java только синтаксис и название.

> Синтакс - это уже немало.

Он только в заблуждение вводит - хочется писать, как на нормальной Java, ан нет...

> А еще жабка для смарт карт хороша стандартизацией интерфейсов

Стандартизация интерфейсов - это ни разу не монополия Java. Этого можно достичь и без нее.

tailgunner ★★★★★
()
Ответ на: комментарий от AcidumIrae

> иначе получается, что надо все технологии засунуть во все ниши? фи ;)))

Я не знаю, что такое "надо" в данном случае. В идеале - да, каждая технология хотела бы занять все ниши. Но когда технология пытается сунуться туда, где ей делать нечего - ее быстро оттуда выкидывают. Естественный эволюционный процесс. Обычно технологии просто не лезут туда, где совершенно точно им делать нечего - просто чтоб не тратить время разработчиков впустую. В данном же случае, очевидно, авторы считают, что для жабки есть место в мире рилтайма. Их право так считать. Никаких фундаментальных причин, почему бы им не попробовать - нет (лично я не вижу). Если получится - рилтаймеры получат еще один инструмент (ну и жабщики получат еще одну нишу).

> чтобы создать новые проблемы, которых там не было?

А вот это как раз вопрос, который решится со временем. Если достоинства жабки не смогут окупить те проблемы, которые могут при этом возникнуть (и эти проблемы не смогут быть решены) - тады просто технология умрет. В этой нише, я имею в виду.

svu ★★★★★
()
Ответ на: комментарий от svu

ты не веришь в силу маркетинга?

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

wieker ★★
() автор топика
Ответ на: комментарий от tailgunner

> Он только в заблуждение вводит - хочется писать, как на нормальной Java, ан нет...

Дык и пишите, как на нормальной. Просто набор библиотек другой, не j2seшный. Ну и про жизненный цикл объектов надо думать другим способом..

> Стандартизация интерфейсов - это ни разу не монополия Java. Этого можно достичь и без нее

Места о стандартизации интерфейсов намного древнее жабы, это точно. Но почему-то мало у кого это получалось. Иначе Шлюмбержеры не стали бы работать над переносом жабки на смарт карты. "Можно достичь" не есть "достигли".

svu ★★★★★
()

>_певая_ часть серии статей

Попивая? Выпивая? Напевая?

manntes ★★
()
Ответ на: комментарий от wieker

Да, я верю в силу маркетинга! В хорошем смысле. А еще я верю в то, что раскрученная платформа лучше нераскрученной - а чисто технологическое преимущество мало чего стоит, если платформой пользуются два человека.

Если реалтаймовую жабку как следует раскрутят - давиться и плакать придется очень недолго, пока соотв. средства разработки, библиотеки и пр. и пр. не достигнут состояния зрелости. Нынешние разработчики j2se & j2ee совсем не давятся и не плачут. Точнее, делают это не слишком часто, в пределах разумного...

svu ★★★★★
()
Ответ на: комментарий от svu

> про жизненный цикл объектов надо думать другим способом..

ИМХО почти полное отсуствие головной боли в выделении/освобождении памяти - главный плюс Java. А тут об этом придется думать.

> Иначе Шлюмбержеры не стали бы работать над переносом жабки на смарт карты.

Маркетинг...

> "Можно достичь" не есть "достигли".

POSIX для realtime - существует и работает. Это не WORAS, правда.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

> А тут об этом придется думать.

Насколько я знаю, в смарткартовской жабке вообще рекомендуется все объекты создавать (и память выделять) на этапе инициализации. А потом об этом можно не думать;)

> Маркетинг...

Лошадь позади телеги, мне кажется. Сначала смарткартовскую жабку сделали (С. и Ш.), а потом начали продвигать. Вряд ли Ш. такой дурак, что купился на маркетинг обычной жабки и сломя голову начал делать смарткартовскую - только из-за маркетинга.

svu ★★★★★
()
Ответ на: комментарий от svu

>Если реалтаймовую жабку как следует раскрутят - давиться и плакать придется очень недолго,

ага, придется вешаться.

>Нынешние разработчики j2se & j2ee совсем не давятся и не плачут. Точнее, делают это не слишком часто, в пределах разумного...

вот-вот... я так и думал...

wieker ★★
() автор топика
Ответ на: комментарий от svu

>Да, я верю в силу маркетинга! В хорошем смысле. А еще я верю в то, что раскрученная платформа лучше нераскрученной - а чисто технологическое преимущество мало чего стоит, если платформой пользуются два человека.

речь была слегка не о том. правильный маркетинг может победить эволюцию и тогда слова "Но когда технология пытается сунуться туда, где ей делать нечего - ее быстро оттуда выкидывают. Естественный эволюционный процесс." - not true with Travelocity (c) curious gnome ;)

>Нынешние разработчики j2se & j2ee совсем не давятся и не плачут.

а они и не должны - чего там плохо?

AcidumIrae ★★★★★
()
Ответ на: комментарий от wieker

> ага, придется вешаться.

Как же обычные-то жабщики не вешаются?

> вот-вот... я так и думал...

А кто не давится и не плачет? Идеальных технологий не бывает;)

svu ★★★★★
()
Ответ на: комментарий от svu

>Как же обычные-то жабщики не вешаются?

обычные жабщики не знают слова реалтайм.

>А кто не давится и не плачет? Идеальных технологий не бывает;)

а как же Лисп? правда насчет реалтайма в нем я не знаю.

wieker ★★
() автор топика
Ответ на: комментарий от AcidumIrae

> правильный маркетинг может победить эволюцию

Нет, правильный маркетинг может СУЩЕСТВЕННО ПОВЛИЯТЬ на эволюцию.

svu ★★★★★
()
Ответ на: комментарий от wieker

> обычные жабщики не знают слова реалтайм.

Узнают. Делов-то!;)

> а как же Лисп?

А он разве идеальный? Который из них?;)

svu ★★★★★
()

> расматривется, применяеы

wieker, ты пользуешься браузером, написанным на java? Тебе рассказать, как перейти на что-то, к чему прикручивается спеллчекер?

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

Зато "предъявляемые" - с твердым знаком! :-Р

ЗЫ thanks fixed.

svu ★★★★★
()
Ответ на: комментарий от AcidumIrae

> вопрос в другом зачем java в обработке RT?

А что в RT прогах отсутствуют проблемы которую призвана решать жаба?

r ★★★★★
()
Ответ на: комментарий от r

> А что в RT прогах отсутствуют проблемы которую призвана решать жаба?

А какие проблемы призвана решать Java (кроме привлечения к программированию широких масс неквалифицированных рабочих)? o_O

tailgunner ★★★★★
()
Ответ на: комментарий от wieker

>что-то мне подсказывает что будут через N лет реалтаймщики давитя, плакать но кодить на жаве.

Только не говори что при этом они будут мечтать о C (и не дай бог с крестами).

r ★★★★★
()
Ответ на: комментарий от r

>> Этого можно достичь и без нее.

> Ключевой саунд этой фразы - потенциальность.

"POSIX для realtime - существует и работает. Это не WORAS, правда.

tailgunner * (*) (11.04.2007 13:41:07)"

tailgunner ★★★★★
()
Ответ на: комментарий от wieker

> обычные жабщики не знают слова реалтайм.

"обычные" жабщики и про писание под спецжелезо раньше не знали - например телефоны. А теперь это индустрия. И дальше что? Народ вон на блю-реи хочет менюхи переделать на жабу. Еще одна отрасль появится.

Вы не туда смотрите. Если там не будет жабы - там будет .NET. Без других вариантов.

r ★★★★★
()
Ответ на: комментарий от tailgunner

>А какие проблемы призвана решать Java (кроме привлечения к программированию широких масс неквалифицированных рабочих)? o_O

Избавление квалифицированных рабочих от изобретения велосипедов и предоставления им большой горы стандартизированного кода. Например безопасное исполнение кода.

r ★★★★★
()
Ответ на: комментарий от DemonZLa

>мню пожалста тоже самое, тока для питона!

Вам льдинку или клубничку сверху? :)

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

> предоставления им большой горы стандартизированного кода.

М-да... как представлю разбор XML или JDBC/ORM в реальном времени - так просто не знаю, плакать или смеятся.

Скажи, ты по жизни с задачами РВ сталкивался? Назвови, пожалуйста, библиотеки Java, полезные при работе в РВ.

tailgunner ★★★★★
()

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

Bozz_Bishop
()
Ответ на: комментарий от Bozz_Bishop

По ссылкам не ходим? Там как раз про сборщики мусора. И насчет скорости - там явно говорят про компиляцию в нативный код.

svu ★★★★★
()
Ответ на: комментарий от wieker

> что-то мне подсказывает что будут через N лет реалтаймщики давитя, плакать но кодить на жаве.

C РТ непосредственно не сталкивался, но за процессом разработки наблюдал - не будет там явы.

iBliss
()
Ответ на: комментарий от r

> Вы не туда смотрите. Если там не будет жабы - там будет .NET. Без других вариантов.

А почему не PHP ? 8O Почему не питон, удав или ипонские паровозы на рельсах ?

iBliss
()
Ответ на: комментарий от tailgunner

>POSIX для realtime - существует и работает.

ну пусть работает. Тут встает то, что он на C и умеет достаточно мало.

Опять же POSIX - это интерфейс к операционке, изменяется и развивается трудно - сильно много народу надо дружить, которые друг-друга не любят. Сан поступает проще - его стратегия в том, что они не пытаются подружить вендоров операционок - они пытаются выйти на рынок с инструментом, который предоставит все те возможности, о которых вендоры железа и осок договорится не могут. Если инструмент покажется рынку привлектаельным - он его захватит, а остальные, пользуясь старым армейским выражением, "проебали" свой шанс. Игрухи для мобилок тоже можно было и на нативе писать - только рынок этот был в зачаточном состоянии. И рынок выбрал J2ME и .NET Compact, вместо того, чтобы жать пока вендоры родят "MOSIX". И привет. Не расшевелятся стандартизирующие комитеты с развитием POSIX с просто околосяшого стандарта до Modern Industrial Development Platform - и останется POSIX в качестве backend для различного рода виртуальных машин - перейдет в страну ассемблера.

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