リアルタイムOS 【real-time operating system】 RTOS
概要
リアルタイムOS(real-time operating system)とは、オペレーティングシステム(OS)の種類の一つで、時間的な制約がある処理を実行するための機能や特性を備えたもの。輸送機械や産業用ロボットなど、いわゆる「リアルタイムシステム」の制御用としてよく用いられる。機械制御などの分野では、移動する機械を停止させる処理のように、処理の完了に期限が定められていることがある。そのような制約のある制御プログラムの実行に適した環境を提供するのがリアルタイムOSの役割である。
RTOSの特徴
組み込みシステムはパソコンやサーバなどに比べの非力なCPUやマイクロコントローラ、容量の少ないメインメモリで構成されることが多いため、リアルタイムOSもそれに合わせてプログラムサイズが極めてコンパクトに抑えられており、処理も高速で応答性に優れる。
一般的な汎用OSに見られない特徴として、最悪の場合の応答時間を保証し、一つ一つの処理の実行時間を予測可能にしている。複数のプログラムのマルチタスク(並行処理)は可能だが、優先度ベースのスケジューリング機構を備え、優先度が高く設定された処理を遅延なく実行できるよう制御する。
一方、汎用OSの多くに見られる仮想メモリなど実時間性を損なう機能は提供されない。パソコン向けOSなどでは標準的なネットワーク通信やグラフィック表示(GUI)などの基本的な機能も、オプションやモジュールとして取捨選択できるようになっており、ターゲット機器に不要であれば削除してその分軽量にすることができる。
RTOSの種類
リアルタイムシステムは機器の種類や内部の構成、必要な機能や要求事項が極めて多様であるため、リアルタイムOSもターゲットや得意分野によって多くの製品が提供されている。
よく知られる製品としてはVxWorks、eCos、LynxOS、QNX、μC/OS、FreeRTOS、ThreadX、Nucleus RTOSなどがある。日本ではTRONプロジェクトから派生したμITRON、T-Kernel、TOPPERS系統の製品も人気が高い。LinuxカーネルをRTOS化したRTLinuxやART-Linux、Windowsから派生したWindows CEやWindows Embeddedなど、汎用OSをベースとした製品もある。
組み込みシステムに導入されるOSは「組み込みOS」と総称されるが、リアルタイムOSはその一部であり、組み込み機器全体ではリアルタイム性のない組み込みOSの方が一般的である。Windows系やLinux系、Androidなどが該当し、店頭の注文端末やキオスク端末、ATM、デジタルサイネージ、デジタル家電などに採用されている。