ネットワーク経由で組み込みソフトのバグを修正する ――後からモジュールを追加できるITRON仕様OSの開発
1.技術検討の経緯
●サーバと協調してローディングを実現
組み込み機器ごとの空きメモリの状態に合わせてプログラムをローディングし実行するしくみは,ロード・モジュールのアドレス・モデルに依存します.ローディングの基本スキームを検討するにあたり,まずはこのアドレス・モデルの検討を行いました.
1)多重アドレス空間モデル
まず考えられるのが,実行位置に依存しない再配置可能なロード・モジュールでローディング機能を実現することでした.LinuxやWindowsのような汎用OSでは,実行モジュール(プロセス)ごとに独立したアドレス空間を持たせる方式を採っています(図4).このモデルでは,プログラムの論理アドレスとロードした実行物理アドレスを分離しています.論理-物理アドレス変換テーブルを作成することにより,任意の物理メモリ・アドレスに論理アドレスを再配置できます.しかし,多重アドレス空間モデルを実現するためにはプロセッサにMMU(memory management unit;メモリ管理ユニット)が必要となります.これでは本開発成果の適用範囲が高機能なプロセッサに限定されてしまいます.よって,この方法は採用しませんでした.
〔図4〕多重アドレス空間モデル
多重アドレス空間モデルでは,実行モジュールごとに0番地から始まる論理アドレス空間を持つ.この論理アドレスはMMUを利用して物理アドレスに変換される.OSは論理-物理アドレス変換テーブルを用意することで,物理アドレス空間のどこにでもロード可能となる.