要求が発生するたびに即座に処理して応答を返す方式。
リアルタイム処理とは、要求が発生するたびに、その場で即座に処理して応答を返す方式のことです。データをためずに、来たものをすぐにさばくのが特徴です。
身近な例で考えると、レジでの会計に似ています。お客さんが商品を出したら、その場で金額を計算してすぐにお釣りを返します。「他のお客さんもたまってから、まとめて後で計算します」では困りますね。来たらすぐ応答するのがリアルタイム処理です。
上の図解のように、要求 → 即処理 → 即応答 という流れが、要求が来るたびに繰り返されます。データをためる「バッチ処理」とは正反対の考え方です。
リアルタイム処理の最大のポイントは、決められた制限時間(デッドライン)内に必ず応答を返さなければならないという制約です。単に「速い」だけでなく、「決められた時間を守る」ことが重要です。
この制約の厳しさによって、リアルタイム処理は2種類に分けられます。
・ハードリアルタイム:締切を厳守し、超過すると致命的になる(例:自動車のブレーキ制御。0.1秒遅れたら事故につながる)
・ソフトリアルタイム:多少の遅れは許容される(例:動画再生。たまに少しカクついても許される)
上の図解のように、締切(デッドライン)までに応答できれば成功、超過すると(特にハードリアルタイムでは)失敗とみなされます。だから「とにかく速いほど良い」のではなく、「決められた時間内に確実に返す」ことが求められるのです。
リアルタイム処理は、応答が遅れると困る・危険な場面で使われます。代表的な用途には次のようなものがあります。
・機械・プラントの制御:センサーの値に応じて装置をすぐ動かす(工場の生産ライン制御など)
・自動運転:周囲の状況を常に読み取り、ブレーキやハンドルを瞬時に操作する
・オンライン取引:銀行ATMや証券取引で、要求にその場で応答する
・予約システム:座席や宿の空き状況をその場で確認・確保する
これらに共通するのは、「あとでまとめて処理」では役に立たない点です。ブレーキを「夜にまとめてかける」わけにはいきませんし、ATMで「明日まとめて引き出します」では困ります。だからこそ、要求のたびに即応答するリアルタイム処理が選ばれます。
Q1. リアルタイム処理の説明として最も適切なものはどれか。
Q2. ハードリアルタイムシステムの説明として最も適切なものはどれか。
Q3. リアルタイム処理が適している用途はどれか。