概要 †
RTOSの定義 †
- 応答時間が一定の範囲内にあることが保証されているOS
応答時間の分類 †
- ハードリアルタイム ... 数十マイクロ秒の応答
- ソフトリアルタイム ... 数十ミリ秒の応答
- スループット... 数秒から数分以内
RTOSの特徴 †
- 同期・通信・時間待ちに関する仕組みが豊富に用意されているため、リアルタイム性が求められる機能を実現する方法が複数存在する
- 複数の実装方法から最適な方法を選択できるようになるには、RTOSのカーネルが提供する同期・通信・時間待ちの仕組みを良く理解し、使いこなせるようになっている必要がある
イベント駆動型のタスクスケジューリング †
- イベントに割り当てた処理をすばやく起動して処理が終わるまでCPUを占有し、処理が終わったら RUNNING(実行状態)になることを待っている最も優先順位の高いタスクに主導権を移す
- RTOSでは、優先度の高い処理を他に先駆けて実行することができるためハードリアルタイムを実現することが可能
RTOSの同期・通信 †
イベントフラグ †
セマフォ †
メッセージ †
時間待ち †
RTOSの例 †
- AWSがFreeRTOSの資産一式をReal Time Engineersから丸ごと買収し、しかもMITライセンスで無償公開
- MITライセンスの場合、「著作権及びMITライセンスの全文を表示」さえすれば改変・再配布・商用利用・有償提供など何でも可能になっている
- つまり製品のパッケージに、License.txtというファイルを追加してここに著作権表示とライセンスだけ掲載すればOK
- Real Time Engineersが開発
- 無償でソースコードまで入手可能で、製品にも利用可能
- 但し、ライセンスがGPL V2のため、カスタマイズして製品化を行った場合は公開する義務が発生する