リアルタイムシステム: Real-time system)は、数値計算制御などを命令された際、その処理を設定された期限通りに遂行するシステムである。

概要 編集

システムが想定された目的を達成するために行う数値計算や制御はタスクと呼ばれる。これらのタスクには多くの場合、処理を完了させなければならない期限(デッドライン)が想定されている。このタスクを期限内に遂行し、目的を達成する用途で設計またはそれに特化させたシステムがリアルタイムシステムである。例えば、自動車のエアバッグは、車両の激突時に即座に展開しなければ乗員の命が危険に晒される。この場合、激突時に「乗員がダッシュボードに衝突するまでの時間」という期限内に「エアバッグを発動する」というタスクを行うよう設計されているため、エアバッグはリアルタイムシステムといえる。

分類 編集

リアルタイムシステムは次にあげるいくつかの種類に分けることができる。

ハードリアルタイムシステム 編集

システムに与えられたタスクがデッドラインまでに終了しなかったとき(デッドラインミス)、故障するか致命的な結果へ導かれるシステム[1]。従って、この種類のシステムではデッドラインミスをなるべく起こさないよう設計の段階から時間的制約の厳守が努められる。
例: エアバッグフライ・バイ・ワイヤミサイル迎撃システムなど

ソフトリアルタイムシステム 編集

デッドラインミスが起こっても、即座にシステムへダメージを与えることはなく、その処理自体の価値が終了時間によって徐々に落ちていくシステム[1]
例: ATMオンラインゲーム気象観測システムなど

ファームリアルタイムシステム 編集

デッドラインミスが起こったとき、即座にシステムへダメージを与えることはないが、その処理自体の価値は無となるシステム。または、複数のデッドラインミスが致命的な結果へ導かれるシステムのこと[2]
例: 生産ラインガイガーカウンター株価予測システムなど

スケジューリング 編集

リアルタイム性を高めるために、どのような順番でタスクを処理するか(スケジューリング)が重要となる。ハードリアルタイムシステムの場合、スケジューリングアルゴリズムの選定は特に重要である。これらのアルゴリズムには各タスクの優先順位がスケジューリングの基準になることが多く、順位が時間と共に変化する動的スケジューリング(Earliest Deadline FirstLeast Laxity Firstなど)と、変化しない静的スケジューリング(レートモノトニックスケジューリングなど)に大別される。

脚注 編集

  1. ^ a b Laplante 2004, pp. 5–6.
  2. ^ Laplante 2004, p. 6.

参考文献 編集

  • Laplante, Philip A. (2004). Real-Time Systems Design and Analysis (3 ed.). IEEE Press. ISBN 0-471-22855-9 
  • Stankovic, J.A. (1988). “Misconceptions About Real-Time Computing: A Serious Problem For Next-Generation Systems”. Computer (IEEE) 21 (10): 10-19. doi:10.1109/2.7053. ISSN 0018-9162. 

関連項目 編集