• 締切済み

リアルタイムOS

リアルタイムOSの「リアルタイム」の意味が今ひとつ分かりません。Message CueやTaskによる並列動作はリアルタイムOSの大きな利点ですが、このリアルタイムの意味自身が昔から疑問です。何かの本に「あるタスクを完了する時間が保証されている」とありましたが、タスクの負荷が重い部分や、割り込みが重なったりする最悪の事態などが生じると、このような保証をするのは難しいような気がします。このリアルタイム性について分かりやすい説明をお願いします。

みんなの回答

  • epkakpe
  • ベストアンサー率43% (113/260)
回答No.1

はじめまして。  非リアルタイム系のOSでは、イベント・キューが発生した場合、他のタスク、たとえばファイル入出力や画面描画処理が走っていると、その処理が終わるまでイベントは待たされることがあります。  一方リアルタイムOSでは、ある決められた時間以内に(数10μsec~数10msec以内)確実にイベントハンドラが起動されることを保証するの機能があります。(タイマー割り込み処理プログラム)  また必要な処理時間の予測を行なう機能や、複数の処理要求が同時に発生した場合でも目的の時間内に完了させるための機構を備えています。  これは許容される時間内に、処理を確実に完了するのを目的にしています。 >タスクの負荷が重い部分や、割り込みが重なったりする最悪の事態などが生じると、このような保証をするのは難しいような気がします。  一般のOSを使用している場面を想定するとそういう疑問が出て当然です。しかし、リアルタイムOSは、ゲームや計測機器や工作機械の制御装置などの組み込み分野で利用されているものです。  つまり、ある程度のタスク発生の予想と処理速度がわかっている分野で使用されています。  逆にいうと、リアルタイムに(非常に高速に)イベントの処理を行なわなければならないような用途に向いているOSだといえます。

zuntac
質問者

お礼

回答ありがとうございます。(お礼が遅くなり申し訳ありません。)概念的には分かったように思います。あとは実際に使ってみて試してみたいと思ってます。 あと、この辺の技術を詳細に解説したような資料、書籍などを紹介していただくと助かります。

関連するQ&A

専門家に質問してみよう