ネットワーク経由で組み込みソフトのバグを修正する ――後からモジュールを追加できるITRON仕様OSの開発
●ロード・モジュールと保護ドメインは一致させない
本開発のベースとなっているμITRON4.0/PX仕様OSは,保護機能を備えた仕様です.保護機能拡張仕様では保護ドメイン(メモリやカーネル資源などのオブジェクトに対するアクセス保護の単位)を任意に設定できるため,ロード・モジュールと保護ドメインの関係をどうするか検討しました.
一つには,ロード・モジュールと保護ドメインを一致させる方法が考えられます(図9(a)).このモデルでは,LinuxやWindowsの実行モジュール(プロセス)と本開発のロード・モジュールが近い概念となります.
しかし,ITRONを利用する組み込みシステムへの導入を考えた場合,「ロード・モジュールは抽象的な機能単位であるかもしれないが,保護される単位ではない」という立場を採ったほうが柔軟性があると考えました(図9(b)).開発者責任で保護ドメインを設定できるようにすれば,ロード・モジュール単位で保護設定を行うことも可能となります.
以上の検討により,ロード・モジュールの単位で保護ドメインの自動設定を行わない(開発者によるモジュール構成編集作業によって保護ドメインを設定する)仕様としました.
〔図9〕ロード・モジュールと保護ドメインの関係
WindowsやLinuxのような汎用OSでは,(a)のように実行モジュール(プロセス)ごとにメモリ・アクセスの壁が設定される(本開発では,保護ドメイン設定がこれにあたる).この場合,ユーザが個別に保護設定を行う必要がない反面,保護設定に要するメモリ消費はかなりのものになることが予想される.ITRONを利用する組み込みシステムでは,(b)のようにロード・モジュールと保護ドメインを別の単位としたほうが,柔軟性があると考えた.例えば,ロード・モジュールを機能単位で作成しているが,保護ドメインとしては実行特権別にまとめたい,という要望もあると考えられる.また,もしロード・モジュールと保護ドメインを一致させたければ,開発者がそのように設定することもできる.