2012-03-23 22 views
1

通常のJavaとReal-Time Java仕様の間に低レベルの違いはありますか?リアルタイムJava仕様

まだJVMがあるので、リアルタイムでやっているように「ベアメタル」のように直接アクセスすることはできません

+0

実際の質問です(純粋なものですが) –

答えて

5

リアルタイムは「ベアメタルへのアクセス」とはまったく関係ありません。 「次の100ms以内にこのタスクを終了したい」と言って、システムが実際に実行されることを保証し、実行スレッドがスワップアウトされないようにする機能についてです。フルGCで、優先度の低いタスクが実行する前に必要なすべてのロックを取得します。

リアルタイムJava仕様はすべてこの要件に関するものであり、実際にはスレッドスケジューリング、GC、および同期で多くの低レベルの変更が必要です。

+2

リアルタイム性はさらに速い(しばしば遅い)という意味ではありませんが、時間要件の後に完了します。時間要件の前に完了するか、失敗します。 –

+1

私は、リアルタイムについて考えている別の方法は、何かが起こる実際の時計の時間があなたの重要なデータの1つであるということです。それはしばしば事態を迅速に行う必要があるが、必ずしもそうではない。あなたは本質的にリアルタイムであるが驚くほど速くないシステムを持つことができます。 「これを100msで完了しなければならない」という要件は、101msから始まり、処理しなければならないことがあるかもしれないという事実から来ている。処理を別の方法で処理できますが、信号が到着する時間が重要であるという事実は、リアルタイムソフトウェアの特徴です。 – arcy