ネットワーク経由で組み込みソフトのバグを修正する ――後からモジュールを追加できるITRON仕様OSの開発
3)単一物理アドレス空間+実行位置依存
上記の選択肢を除いた結果,本プロジェクトでは,以下のようなしくみを開発して,多くのプロセッサに対応させる方針を立てました注3.
- すべてのプログラムで単一物理アドレス空間を共有する
- 実行位置に依存したプログラムを動的にロード実行する
このような単一アドレス空間に実行位置依存のプログラムをロードし実行するための古典的な手法として,機器側でプログラム実行時にモジュールのアドレス解決を行いながらメモリにローディングする方法があります(図6).
注3;メモリ保護を実現するためにMMUを使用しているが,アドレス変換を行わない単一アドレス空間モデルで実装している.
〔図6〕リンク・ローダ機能を機器側に持つ
ロード・モジュールを実行位置に依存する形でメモリにローディングする.その際に,機器側でリンク機能とローダ機能をこなす方法も考えられるが,そのぶん実装メモリを多く持たなければならない.