リアルタイムJava – ウィキペディア

before-content-x4

リアルタイムのJava ハードリアルタイム機能を備えたJavaテクノロジーを含むプログラミングインターフェイスのコレクションです。これ Javaのリアルタイム仕様 (RTSJ)は、Javaコミュニティプロセスの一部としてJava仕様要求1として開発され、2001年11月に標準として採用されました。 RTSJの拡張バージョンは現在、JSR 282の一部として取り組んでいます。 [初め]

after-content-x4

不可分なゴミコレクションやスレッドや側面の自由のネイティブサポートなど、通常Javaの強みと見なされるプロパティの一部は、ハードリアルタイムシステムでJavaを使用することを不可能にしました。

  • Javaは、Javaが提供されているほとんどのオペレーティングシステムと同様に、優先順位に基づいて厳格なスレッドモデルをサポートしていません。 Javaのロックメカニズムは、優先順位の制限や優先順位継承などのバージョンの優先度を回避するメカニズムをサポートしていません。
  • 特定のJava Garbage Collectorsの動作は、計算に無制限の休憩を引き起こす可能性があり、したがって、Javaプログラムのすべての実際の保証を損なう可能性があります。

これらの困難を習得するために、 Javaのリアルタイム仕様 (RTSJ)Java仕様リクエストとして開発されました。 Javaでは、対応するスレッドモデルを導入することで上記の障害を回避し、Java仮想マシンが他のスレッドモデルで拡張できるようにします。さらに、従来のクッキングベージコレクションによって調整されるのではなく、Garbageコレクションで一時停止することはできないReal -Time -CompRehingスレッドによって調整される特別なメモリ領域を定義します。

RTSJの現在の実装により、Javaでハードでソフトリアルタイムアプリケーションを開発することが可能になります。最もよく知られている実装の1つは、Timesysの参照実装、IBMS WebSphereリアルタイム、Sun Microsystems Java SEリアルタイムシステム、Aonix Perc、およびAICASのJamaIcavmです。

デフォルトでサーバーで使用されている「ガベージファーストガベージコレクター」(G1GC)には、ブレークの最大長のターゲットがあり、まれな例外を除いて達成しています。これにより、Javaでソフトリアルタイムアプリケーションが可能になります。 [2]

また、ガベージコレクターは、時間の動作が予測可能であるため、Javaでハードリアルタイムアプリケーションを可能にするアルゴリズムを使用する長い間存在していました。 [3] [4] [5] [6]

  • エリック・J・ブルーノ、グレッグ・ボレッラ: リアルタイムのJava Java RTSを使用したプログラミング 。 Prentice Hall、2009、ISBN 978-0-13-714298-9(英語、 bvdep.com [2011年12月6日にアクセス])。
  • ピーター・C・ディブル: リアルタイムJavaプラットフォームプログラミング 。 Prentice Hall、2002、ISBN 978-0-13-028261-3(英語)。
  • アンドリューウェリングス: Javaでの同時およびリアルタイムプログラミング 。 John Wiley&Sons、2004、ISBN 978-0-470-84437-3(英語)。
  • ベンジャミン・ブロスゴル、ジェームズ・ゴスリング、ピーター・ディブル、スティーブ・ファー、デビッド・ハーディン、マーク・ターンブル: Javaのリアルタイム仕様 。編:グレゴリー・ボレラ。 Addison-Wesley Longman、2000、ISBN 0-201-70323-8(英語)。
  1. https://jcp.org/en/jsr/detail?id=282
  2. [初め] ゴミの最初のゴミコレクターチューニング、モニカベックウィズ、2013年8月
  3. メトロノーム-GCアルゴリズム ハードリアルタイムJavaアプリケーションの場合。 IBM; 2014年6月12日にアクセス
  4. [2] WebSphereリアルタイムWebSphereアプリケーションサーバー
  5. https://www.azul.com/products/components/pgc/
  6. [3] Zガベージコレクター – サブミリ秒の最大時間の一時停止時間

after-content-x4