コラム 仮想的にストレージを実現する方法

 ファイルシステムを実現するには,何らかのストレージデバイスが必要かというと,そうでもありません.デバッガとコンパイラが連携した統合開発環境では,次のようなことも技術的には可能です.

 組み込みターゲット上にはファイルシステムを実現するハードウェアは存在していませんが,ユーザープログラム上でfopen()などを実行すると,デバッガの内部処理ルーチンが呼び出され,デバッガとホストとの通信インターフェースを使って,ホスト側のファイルをアクセスするというものです.OSやファイルシステムを実装していない,もしくは開発途中の組み込みターゲット上で,即座にファイルアクセス関数を使うことも可能です.

 この手法では,OS移植グループとアプリケーション開発グループが,同時並行してプログラムを開発できるようになるという利点があります.まだ完全にOSが動いていないハードウェア上で,ファイルアクセスをともなうアプリケーション開発をいきなり開始できるわけで,開発期間の短縮に大きく効いてきます.

 この例は開発中に暫定的にファイルアクセスを実現する例ですが,完成されたシステムとして始めからこれと同じようなシステム構成をとる方法も考えられます.つまり,デバッガとホスト間の通信経路ではなく,組み込みターゲット上にEthernetやUSBといったインターフェースを用意して,それを使ってホストと接続することで,組み込みターゲット上からホストに通信をし,ホスト側ではそれを受けてホスト上のファイルに対してアクセスをする方法です.

 組み込み機器単独ではなく,常にホストと通信しながら動作するシステムの場合は,ハードウェアとしては通信用のインターフェースだけを実装して,ストレージ機能をそのインターフェースを経由して仮想的に実現するわけです.


Prologue

1.組み込み機器でファイルシステムが必要な場面
2.組み込み機器におけるファイルシステム実装のいろいろ
コラム 仮想的にストレージを実現する方法

第1章  ディスクの構造とパーティション情報の基礎知識

1.ディスク装置の基礎知識
2.PCのパーティションテーブル


7月号特集トップページへ戻る


Copyright 2001 岸 哲夫