2012-03-23 4 views
1

Существуют ли различия на уровне низкого уровня между обычной Java и спецификацией Java в реальном времени?Спецификация Java в реальном времени

Я просто критически настроен, потому что у него все еще есть JVM, и поэтому вы не можете получить прямой доступ к «голой металлике», как это делали в режиме реального времени ???

+0

Для того, чтобы быть ближе, это реальный вопрос (хотя и наивный) –

ответ

5

В реальном времени не имеет ничего общего с «доступом к голым металлам». Речь идет о способности сказать «Я хочу, чтобы эта задача была завершена в течение следующих 100 мс», и убедитесь, что система действительно будет, и что исполняемый поток не будет заменен, ему не придется ждать полный GC, и он получит все блокировки, в которых он нуждается, прежде чем выполнят более низкоприоритетные задачи.

Спецификация Java в реальном времени относится к этому требованию, и на самом деле это требует много изменений низкого уровня в планировании потоков, GC и синхронизации.

+2

Еще одна вещь, о которой нужно помнить, в реальном времени даже не означает, что быстрее (часто это медленнее), но есть _no chance_ it будет завершено после требования времени. Он либо завершается до требования времени, либо терпит неудачу. –

+1

Я думаю, что другой способ мышления о реальном времени состоит в том, что фактическое время часов, которое что-то происходит, является одной из ваших критических частей данных; это часто приводит к необходимости делать что-то быстро, но не обязательно. У вас могут быть системы реального времени, но не невероятно быстрые. Требование вроде «довести это до 100 мс» происходит из-за того, что, начиная с 101 мс, у вас может быть что-то еще, что вам нужно обработать; вы можете обрабатывать обработку по-другому, но тот факт, что время поступления сигнала является значительным, характерно для программного обеспечения реального времени. – arcy

Смежные вопросы