リアルタイムオペレーティングシステム
読み:リアルタイム-オペレーティングシステム
外語:RTOS: Realtime Operating System
リアルタイムシステムで使われるオペレーティングシステム(OS)。リアルタイムOS、RTOSとも。
概要
様々ある資源の中でも時間資源を特に重視し、処理のリアルタイム性を提供することを主たる目的としたOSである。それまでであればOS無しで処理が書かれていたような、時間制約が厳しい環境/用途でも利用することができる。
この目的のため、OSの提供するサービスの処理に要する時間が予め分かっていることを特徴とする。
リアルタイムOSと呼ぶためには、少なくとも次のような機能が必要である。
- タスクに優先度を持たせ、優先度に応じたスケジューリングが可能である
- 割り込み期間中の有無に関わらずタスク起動/終了/レディキュー回転等が可能で、リアルタイム性のあるタスク制御が実現できる
- カーネル処理時間の予測が可能である
パーソナルコンピューターでよく使われているMicrosoft Windowsなどは、これらの要件を満たさないため、リアルタイムOSではない。
特徴
種類
組み込み用途に特化したリアルタイムカーネル型と、汎用OSから派生した汎用OS型とに分けられる。
- リアルタイムカーネル型 小型軽量、高速を特徴とする。
過剰な機能を持たず、必要なら後から追加する方針。
- 汎用OS型 Windows CEやリアルタイムLinuxなど。
実装方法にもよるが、多機能である代わりに応答性が悪い。
制約が厳しい環境ではリアルタイムカーネル型、制約が緩やかで機能が求められる分野では汎用OS型が普及し、今後も共存すると見込まれている。
優先度
マルチタスク機能を有し、時分割での処理が可能だが、汎用的なマルチタスクオペレーティングシステムとは違い時分割だけで処理をするわけではない。
処理はその「優先度」に応じて処理され、より優先度の高い処理が発生した時に、そのタスクに即座に制御が切り替わる。こういった機構をプリエンプションという。
制御は、例えカーネルにある場合であっても、クリティカルセクション以外であればプリエンプションの対象である。
用途
その用途は多様である。
計測機器、工作機械や乗用車、携帯電話機、人工衛星や惑星などの宇宙探査機の制御装置など、様々な組み込み分野で利用されている。
リアルタイムオペレーティングシステム(以下、リアルタイムOS)は様々にあるが、日本ではTRONプロジェクトのμITRONが最も有名であり、最も普及している。
主な製品
知られる範囲では、次のようなものがある(アルファベット順)。
- μITRON: 国産のリアルタイムOSとして最も普及しているもの
- T-Kernel: T-Engineプロジェクトの標準OS
- eCos: Cygnusが開発し、現在はRed Hatが提供するリアルタイムOS
その他、μITRONの実装は無数に存在する。
- Apertos: ソニーのリアルタイムOS。AIBO(アイボ)でも採用
- INtime
- Cisco IOS: Cisco Systemsのネットワーク機器で採用される
- iRMX: オリジナルをIntelが開発した
- L4
- LynxOS: LynuxWorks社のリアルタイムOS
- OS-9
- Prex
- pSOS: Integrated Systems(ISI、当時)が開発した、組み込み向けRTOS
- QNX
- QNX Neutrino: QNXをPOSIX準拠にしたもの
- Real-Time Mach
- REX OS: QUALCOMMのリアルタイムOS (L4ベース)
- RSX-11
- RT-11
- Smalight OS: ルネサス社のリアルタイムOS
- VRTX: 米Mentor社のリアルタイムOS
- VxWorks
- リアルタイムLinux
Windows CEもカーネルが完全に書き直された3.0あたりからリアルタイム性を重視したOSとなっており、考え方によってはRTOSに分類される。
再検索