8.リアルタイムOS

組込み

 ある程度規模が大きく複雑な「組込み制御ソフトウェア」では、リアルタイムOSを活用すると良いでしょう。私もいくつかのソフト開発に、リアルタイムOSを利用したことがありますが、新しいシステムを開発する際は、特にありがたみを強く感じました。この章では、「組込み制御ソフトウェア」開発の参考情報として、リアルタイムOSを利用する嬉しさについて、説明します。

 まず最初の利点としては、切り分けが容易になることです。リアルタイムOSは、一般的な組込み用のプロセッサに対応しています。サンプリング用の一定周期で処理を実行するためのスケジューラを作成が容易になります。またそのスケジューラを使って、入出力デバイスドライバの独立したテストが可能です。組込みハードウェアの作成者は、リアルタイムOSで実現する一定周期処理から呼び出す、デバイス入出力処理が正しく動作することを確認してから、そのハードウェア依存の処理と、事前にテストしたアプリケーション処理を統合して、組込みハードウェアで動作させることになります。このようにテストの早期実施により、その後の開発プロセスでの「不具合」の発生を抑制しやすくなり、助かります。

 次の利点ですが、主なリアルタイムOSは、ある程度大規模で、複雑な「組込み制御ソフトウェア」で長年利用されてきたことから、見える化のための便利な機能が提供されていることです。グローバル変数に設定した重要なデータをモニターするための仕組みを、OSの開発環境として提供しています。

 さらに、サンプリングによるデータモニターの前提となる、規定の処理時間内に処理が終わっていることの確認、つまり周期処理の実行時間を求める機能の提供もあるのです。

 これは私の個人的な思いですが、組込み制御システムを開発する担当の一人として、ソフトウェアの開発を担当していても、やはり、アルゴリズムを実現するための、アプリケーション処理の開発に集中したいものです。ハードウェア依存処理については、余程特別なものでない限り、わざわざ自分で開発するよりは、既存の動作実績のあるものを使いたいものです。一方で、量産製品の単価を下げるためには、できるだけソフトウェアの単価も下げたいでしょう。その場合は、公開されているリアルタイムOSから、自社用のOSを作成することもあるでしょう。ただ、その場合でも、問題の切り分けが容易になるよう、アプリケーション処理開発と混在させずに、独立して動作確認できるように、開発すべきです。