多くの組込みシステムではリアルタイム性が要求されます。リアルタイム性を実現するシステムは「リアルタイムシステム」と呼ばれます。
本記事ではリアルタイム性について紹介します。
eForce社が開発しているリアルタイムOSはこちらからチェクできます。
▶︎リアルタイムOSを見る
リアルタイム性とは
リアルタイム性とは要求される期限までに処理が実行できる性質です。
リアルアルタイム性が要求される場面
ロボット掃除機、洗濯機、ゲーム機、インターホンといった家電機器や、医療機器、自動改札機、発電機器、監視カメラなどの産業機器の組込み分野では、それぞれの要求ごとに処理を完了させる期限が設定されます。
例えば、自動車に使用されている組込みシステムを具体例として考えみましょう。自動車には、自動車を制御するためのCPUが多く使用されています。そしてこれらのCPUは、エンジンの回転や、噴出するガソリンの量をコントロールします。
この時、仮に自動車のエンジン制御が期限内に処理されなければ、エンジンが停止して事故に繋がるリスクがあり、大きな問題につながります。
このように、多くの組込み機器ではリアルタイム性が要求されますが、要求される期限は機器によって異なるため、処理時間は各機能ごとに厳密に定義することが重要です。
リアルタイム性と合わせて学ぶ
マルチタスク機能
リアルタイム性を実現するためにはいくつか方法がありますが、その一つに複数の作業を同時並行的に行う「マルチタスク」という機能があります。
下記記事ではマルチタスクについて紹介しています。ぜひこちらもご覧ください。
リアルタイムOS(RTOS)
また、リアルタイムシステムを構築する際は「リアルタイムOS(RTOS)」というOSを使うことでアプリケーションのリアルタイム性を向上させることができます。
下記の記事ではリアルタイムOS(RTOS) について紹介しています。
また、【開発者から学ぶウェビナー】RTOS基礎編 ではアプリケーション構築時にどのようにリアルタイム処理させるかを、動画と資料で分かりやすく紹介しています。ぜひご覧ください。
許容範囲が異なる ハードリアルタイムと ソフトリアルタイム
リアルタイム性は、「ハードリアルタイム」と「ソフトリアルタイム」という2種類に大別されます。
ハードリアルタイムとソフトリアルタイムは、具体的な時間を境に分けられるものではありません。ハードかソフトかは、もしもその期限内に処理を行えなかった場合に許容されるかどうかで決まります。
仮に、他と比べて期限が長めに設計されていたとしても、必ずその時間内に処理が完了していれば、リアルタイム性があると言えます。
ハードリアルタイムの特長
「ハードリアルタイム」は、定められた期限内に確実に処理を完了しなければならないものを指します。もしもその期限内に処理が完了しなかった場合、致命的な事故が発生したり、壊滅的な結果となるリスクがあります。
ハードリアルタイムは、その即時性が守られなかった瞬間に、その処理やシステム、機器の価値がゼロになってしまいます。
例えば、先程紹介した自動車のエンジンの事例は、ハードリアルタイム性を必要とします。このほか、自動車のエアバッグ機能や航空機の航法システムなどもハードリアルタイムと言えます。
ハードリアルタイムの主な用途・最終製品例
ソフトリアルタイムの特長
ハードリアルタイムに対し、比較的期限の制約が緩く、利用者が許容できる範囲で処理が完了すれば良いものや、やり直すことで機能を修復できるものを「ソフトリアルタイム」と言います。
ハードリアルタイムでは、即時性が守られなかった瞬間に機器やシステムの価値がゼロになるのに対し、ソフトリアルタイムは、遅れた時間によって徐々に価値が減少していく性質があります。
例えば、銀行のATMはソフトリアルタイムです。期限内に処理が完了しなかった場合、時間がかかるにつれてシステムや機能の価値は低下しますが、ゼロになるわけではありません。
ただし、 ソフトリアルタイムであっても、 基本的には期限内で処理が完了できるように設計する必要があります。
また、ソフトリアルタイムシステムのプログラムの構成によっては、処理の遅延が累積してしまうと正常に動作できなくなるリスクもあるため注意してください。
ソフトリアルタイムの主な用途・最終製品例
これからのシステム開発ではリアルタイム性が鍵
自動運転、ヘルスケア、スマートファクトリーなど、さまざまな業界で技術が進歩する中で、リアルタイム性が高いシステムが求められ、利用されています。
近年はIoTも普及し、IoT端末側で収集した大量のビッグデータを素早く処理しようとするケースも多くみられます。その際にも、リアルタイムシステムは活躍します。
普段の便利で安全な生活の背景には、リアルタイム性を実現する数多くのシステムが存在しているのです。
今後も、各業界で技術が進歩するなかで、リアルタイム性を実現するシステムの利用場面は増えるでしょう。そして、人々がリアルタイムシステムから受ける恩恵も大きくなると予想できます。