リアルタイムとは
コンピューティングでは、リアルタイムとは非常に短い時間枠を指し、即時に見える。 コンピューターがこの速度でデータを処理すると、受信したデータを読み取って処理し、遅延なく結果を生成します。 たとえば、リアルタイムで更新されるWebサイトでは、後日更新が表示されるのを待たずに、視聴者が変更をすぐに確認できます。
非リアルタイムのコンピュータープロセスには期限がありません。 一方、リアルタイムシステムは、迅速に応答するだけでなく、予測可能な期間内に応答することが期待されます。 良い例は、車のアンチロックブレークシステムです。 アンチロックブレーキシステムは、予測可能な短い時間枠で、車両のブレーキを解除し、危険なホイールロックを防止することが期待されています。
残念ながら、リアルタイムシステムが希望どおりに応答しない場合があります。 そのようなプロセスは、期限前にタスクが完了しないと失敗します。 コンピューティングでは、システムに対する他の要求のために猶予期間はありません。 締め切りは、他の要因に関係なく守らなければなりません。 それらはミッションクリティカルと見なされます。
プロセスがハードリアルタイムと見なされる場合、特定の時間までに処理を完了する必要があります。 期限に間に合わない場合、その操作には価値がなく、コンポーネントであるシステムは障害に直面する可能性があります。 ただし、システムがソフトリアルタイムと見なされる場合、遅延の余地があります。 たとえば、そのようなシステムでは、遅延したプロセスがシステム全体に障害を引き起こすことはありません。 代わりに、プロセスまたはシステムの通常の品質が低下する可能性があります。
ハードリアルタイムシステムは、組み込みシステムでよく使用されます。 たとえば、自動車のエンジン制御システムについて考えてみましょう。 このようなシステムは、プロセスが遅れるとエンジンが故障する可能性があるため、難しいと見なされます。 これらのシステムは、タスクまたはイベントが厳密な期限までに処理されることが重要な場合に採用されます。 これは通常、システム障害の結果として損傷または生命の損失が発生する可能性がある場合に必要です。
通常、ソフトリアルタイムシステムは、複数の接続されたシステムがあり、イベントや状況が変化しても維持する必要がある場合に採用されます。 これらのシステムは、同時アクセス要件が存在する場合にも使用されます。 たとえば、主要な運送会社の旅行スケジュールを維持するために使用されるソフトウェアは、多くの場合ソフトリアルタイムです。 そのようなソフトウェアは、ほとんど遅延なくスケジュールを更新する必要があります。 ただし、数秒の遅延が混乱を引き起こす可能性はありません。