(57)【特許請求の範囲】
【請求項１】
ルートファイルシステムと一つ以上のファイルシステムとが木構造形式に構成されるファイルシステムの管理方式であって、
前記ルートファイルシステムに書き込まれた定義ファイルから前記ファイルシステムのアドレスを取得する手段と、取得したアドレスのファイルシステムから該ファイルシステムが接続されるマウントポイント情報を取得する手段と、取得したマウントポイント情報に基いて前記ファイルシステムを当該マウントポイントにマウントする手段とからなり、
前記マウントポイントにマウントすることで、前記ファイルシステムを前記ルートファイルシステムにマウントすることを特徴とするファイルシステム管理方式。
【請求項２】
請求項１記載のファイルシステム管理方式において、前記マウントポイント情報を取得する手段は、ファイルシステムが存在する可能性のあるアドレス範囲のファイルシステムからマウントポイント情報を取得することを特徴とするファイルシステム管理方式。
【請求項３】
請求項１又は２記載のファイルシステム管理方式において、前記マウントする手段は、前記取得したマウントポイントが前記ルートファイルシステムに存在しない場合、該マウントポイント情報を含む疑似マウントポイントを作成し、前記ルートファイルシステムを前記擬似マウントポイントにマウントすると共に、前記取得したマウントポイント情報のファイルシステムを前記疑似マウントポイントにマウントすることを特徴とするファイルシステム管理方式。
【請求項４】
ルートファイルシステムと一つ以上のファイルシステムとが木構造形式に構成されるファイルシステムの管理方法であって、
前記ルートファイルシステムに書き込まれた定義ファイルから前記ファイルシステムのアドレスを取得し、取得したアドレスのファイルシステムから該ファイルシステムが接続されるマウントポイント情報を取得し、取得したマウントポイント情報に基いて前記ファイルシステムを当該マウントポイントにマウントし、前記マウントポイントにマウントすることで、前記ファイルシステムを前記ルートファイルシステムにマウントする各工程を有することを特徴とするファイルシステム管理方法。
【請求項５】
請求項４記載のファイル管理方法を実行するためのコンピュータ読取可能なプログラム。
【請求項６】
請求項５記載のプログラムを記憶したコンピュータ読取可能な記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ファイルシステム管理方式、管理方法及び管理プログラム並びに記憶媒体に関し、特に、機器制御用の組み込み型計算機システムにおいて木構造を持つファイルシステムをＲＯＭ上に実現する場合のファイルシステム管理方式、管理方法及び管理プログラム並びに記憶媒体に関する。
【０００２】
【従来の技術】
一般に、計算機システム上で動作するプログラムや、プログラムが処理するデータを格納するために、ファイルという単位を用いる。複数のファイルから目的のファイルを識別するために、ファイルは木構造を持つディレクトリを利用して計算機システム内で一意になる名前が付けられており、これをファイルシステムと呼ぶ。  計算機システム上においては、ファイルシステムの木構造の起点として、あるファイルシステムがあらかじめ設定されており、このファイルシステムを特にルートファイルシステムと呼ぶ。
通常、ファイルシステムは磁気ディスク装置（ＨＤＤ）などの外部記憶装置に格納されている。一台の磁気ディスク装置の容量には限界があるため、計算機システム上は、ファイルシステム中のディレクトリに、他のファイルシステムを接続する機能を提供する。
この接続処理をマウントと呼び、ファイルシステムを接続する先のディレクトリを、マウントポイントと呼ぶ。マウントを繰り返すことにより、計算機システムのファイルシステムは、木構造を保持したまま拡張することが可能である。計算機システムの中で、前述のマウントを実行するプログラムを、マウントプログラムと呼ぶ。
マウントプログラムは、通常計算機システムの起動手順の中で実行され、計算機システムが利用するファイルをすべて含む、ファイルシステム全体を構築する。
ファイルシステム全体を構築する際に、複数のファイルシステムをマウントする場合、各ファイルシステムをルートファイルシステムのどのディレクトリにマウントするのかを、マウントプログラムに指示する必要がある。
計算機システムの起動処理の途中で、ユーザが手入力でマウントポイントを指定することは不可能なので、あらかじめファイルシステムとそのマウントポイントとを記述した定義ファイルを用意しておき、その定義ファイルをルートファイルシステムに格納しておく。
マウントプログラムが起動すると、ルートファイルシステムに定義ファイルが格納されていれば、当該定義ファイルの内容を読みだして、どのファイルシステムをどのマウントポイントにマウントするかの一覧情報を取得して、必要なすべてのファイルシステムをマウントする一方、組み込み型の計算機システムにおいては、ファイルシステムを格納する装置として、読みだし専用メモリＲＯＭが利用される場合がある。
ＨＤＤは衝撃により破壊され易く、消費電力が大きく、外形寸法も大きい等、組み込み型の計算機システムには不向きな特性を持つため、ファイルの書き換えが発生しないファイルシステムは、ＲＯＭに格納する場合がある。
例えば、計算機システムで動作する複数のプログラムを機能毎に独立したＲＯＭファイルシステムに格納しておき、特定の機能プログラムをバージョンアップする際には、当該プログラムが格納されているＲＯＭファイルシステムだけを書き換えることにより、ＲＯＭ全体を書き換える必要はなく、効率的にバージョンアップ作業を行うことができる。
また、組み込み型の計算機システムにおいても、読みだし専用のファイルはＲＯＭファイルシステムに、読み書きを行うファイルはＨＤＤファイルシステムに、それぞれ格納するように複数の種類の装置を使い分ける方式も存在する。
さらに、組み込み型の計算機システムでは、信頼性確保の目的で、必要最小限のプログラムをルートファイルシステムに格納し、当該ルートファイルシステムをＲＯＭに格納する場合がある。
ルートファイルシステムをＲＯＭに格納するのは、ＨＤＤの故障等でルートファイルシステムが失われた場合、システムがまったく起動しなくなることを避けるためである。
【０００３】
図４は、従来技術によるＲＯＭファイルシステムの構成図であり、図中、ＲＯＭ1000には、３個の独立したファイルシステム1101,1102,1103が格納されており、そのうちの一つがルートファイルシステム1101、その他がファイルシステム1102,1103である。
ルートファイルシステム1101には、定義ファイル1100が格納され、定義ファイル1100には、ファイルシステム1102,1103のアドレスＡ，Ｂと、ファイルシステム1102,1103をそれぞれマウントするマウントポイントａ，ｂが記述されている。
【０００４】
以上の構成のＲＯＭファイルシステムにおいて、コンピュータが起動すると、マウントプログラムは、まず定義ファイル1100の内容を読み出し、ファイルシステムのアドレスＡ，Ｂを取得し、次にアドレスＡ，Ｂのファイルシステム1102,1103のマウントポイントａ，ｂを取得する。そして最後にマウントポイントａによりルートファイルシステム1101にファイルシステム1102をリンク（マウント）し、またマウントポイントｂによりルートファイルシステム1101にファイルシステム1103をリンク（マウント）し、ファイルシステム全体を構成する。これらはコンピュータのＣＰＵにより実行される。
【０００５】
前記定義ファイルは、マウントプログラムの作動時に他のファイルシステムのマウント前でも必ず参照することができるよう、ルートファイルシステム内に格納されている必要がある。したがって、計算機システムに新しいファイルシステムを追加したい場合や、ファイルシステム内の機能プログラムを修正した結果、マウントポイントを変更したい場合に、当該ファイルシステムだけではなく、ルートファイルシステムの内容も更新する必要が生じる。
【０００６】
【発明が解決しようとする課題】
しかしながら、ファイル組込型の計算機システムにおいて、ファイルシステム内の機能プログラムを修正するなど機能変更を行った場合、当該ファイルシステムのみならず、ルートファイルシステムまで同時に更新しなければならないことになると、更新の手順、手間が増えるとともに、作業ミスにより、定義ファイルとファイルシステムとの整合が取れなくなる等の危険が生じるという問題点があった。
本発明は、このような実情からされたもので、その目的は、計算機システム内のファイルシステムが変更になった場合、ルートファイルシステムの内容を変更することなくマウントポイントを変更でき、バージョンアップ等の作業が効率化できるファイルシステム管理方式、管理方法及び管理プログラム並びに記憶媒体を提供することである。
【０００７】
【課題を解決するための手段】
請求項１の発明は、ルートファイルシステムと一つ以上のファイルシステムとが木構造形式に構成されるファイルシステムの管理方式であって、前記ルートファイルシステムに書き込まれた定義ファイルから前記ファイルシステムのアドレスを取得する手段と、取得したアドレスのファイルシステムから該ファイルシステムが接続されるマウントポイント情報を取得する手段と、取得したマウントポイント情報に基いて前記ファイルシステムを当該マウントポイントにマウントする手段とからなり、前記マウントポイントにマウントすることで、前記ファイルシステムを前記ルートファイルシステムにマウントすることを特徴とするファイルシステム管理方式である。
請求項２の発明は、請求項１記載のファイルシステム管理方式において、前記マウントポイント情報を取得する手段は、ファイルシステムが存在する可能性のあるアドレス範囲のファイルシステムからマウントポイント情報を取得することを特徴とするファイルシステム管理方式である。
請求項３の発明は、請求項１又は２記載のファイルシステム管理方式において、前記マウントする手段は、前記取得したマウントポイントが前記ルートファイルシステムに存在しない場合、該マウントポイント情報を含む疑似マウントポイントを作成し、前記ルートファイルシステムを前記擬似マウントポイントにマウントすると共に、前記取得したマウントポイント情報のファイルシステムを前記疑似マウントポイントにマウントすることを特徴とするファイルシステム管理方式である。
請求項４の発明は、ルートファイルシステムと一つ以上のファイルシステムとが木構造形式に構成されるファイルシステムの管理方法であって、前記ルートファイルシステムに書き込まれた定義ファイルから前記ファイルシステムのアドレスを取得し、取得したアドレスのファイルシステムから該ファイルシステムが接続されるマウントポイント情報を取得し、取得したマウントポイント情報に基いて前記ファイルシステムを当該マウントポイントにマウントし、前記マウントポイントにマウントすることで、前記ファイルシステムを前記ルートファイルシステムにマウントする各工程を有することを特徴とするファイルシステム管理方法である。
請求項５の発明は、請求項４記載のファイル管理方法を実行するためのコンピュータ読取可能なプログラムである。
請求項６の発明は、請求項５記載のプログラムを記憶したコンピュータ読取可能な記憶媒体である。
【００１３】
【発明の実施の形態】
図１は、本発明の一実施形態に係るファイルシステムの構成図で、図中、ＲＯＭ100内にルートファイルシステム101を含む全てのファイルシステムが格納されている。つまりＲＯＭ100は、ルートファイルシステム101、ファイルシステム102、ファイルシステム103を格納している。
ルートファイルシステム101は、定義ファイル110を格納し、定義ファイル110は、ファイルシステム102,103の先頭アドレスＡ，Ｂを記述している。
ファイルシステム102,103には、当該ファイルシステムのマウントポイントを指定するためのマウントポイント情報112、113が格納されている。
【００１４】
このような構成のファイルシステムにおいて、マウントプログラムは、まず定義ファイル110の内容を読み出すことにより、ファイルシステム102、103の アドレスＡ，Ｂを取得し、次にファイルシステム102,103に格納されているマウントポイント情報112、113を読み出す。最後に、ファイルシステム102,103を、マウントポイント情報112、113で指定されたマウントポイントにマウントすることにより、ファイルシステム全体を構築する。この構築作業は、コンピュータを構成するＣＰＵにより実行される。
【００１５】
マウントポイント情報112、113は、ファイルシステム102、103の中で、特定のファイル名を持つファイル中に記述してもよいし、ファイルシステムの先頭アドレスから特定のオフセット量の位置に記述してあってもよい。つまり、ファイルシステムの先頭アドレスが判明すれば、何らかの手順にしたがって一意に取得可能な場所に格納されていればよい。
また、マウントポイント情報112、113の形式は、マウントプログラムがマウントポイントを一意に判別可能であれば、どのような形式でも構わない。例えば、ルートファイルシステム中のマウントポイントのファイル番号をバイナリデータで格納する形式や、マウントポイントのファイル番号を文字列で格納する形式や、マウントポイントのディレクトリ名を文字列で格納する形式等がある。これらの中で最も適しているのはマウントポイントのディレクトリ名を文字列で格納する形式である。
【００１６】
図２は、本発明の他の実施形態に係るファイルシステムの構成図で、基本的には図１のファイルシステムの構成と同じである。
図２において、定義ファイル210は、ファイルシステムが存在する可能性があるアドレス範囲０〜Ｃを記述している。
マウントプログラムは、まず定義ファイル210の内容を読み出すことにより、ファイルシステムが存在する可能性のある領域の範囲を知り、次に当該領域内を検索してファイルシステムを捜す。
前記領域内においてファイルシステム202,203を見つけると、当該ファイルシステム中に格納されているマウントポイント情報212,213の内容を読み出す。
最後に、ファイルシステム202,203をマウントポイント情報で指定されたマウントポイントにマウントすることによりファイルシステム全体を構築する。
【００１７】
図３は、本発明の更に他の実施形態に係るファイルシステムの構成図で、マウントポイント情報で指定されたマウントポイントがルートファイルシステムに存在しなかった場合の例を示す。図中、ＲＡＭはコンピュータ内のＲＡＭ（非図示）に疑似的に作成されるファイルシステムである。その他のファイルシステムの構成は図２と基本的に同じである。
図３において、マウントプログラムは、まず定義ファイル310の内容を読み出すことにより、ファイルシステムが存在する可能性のある領域の範囲アドレス０〜アドレスＣを知り、次に当該アドレスの領域内を検索して、ファイルシステムを検索する。
ファイルシステム302、303を見つけると、当該ファイルシステム中に格納されているマウントポイント情報312、313からマウントポイントａ，ｂを取得する。マウントポイントａにより、ファイルシステム302をルートファイルシステム301にリンク（マウント）する。またマウントポイント情報313で指定されたマウントポイントｂでマウントしようとしたとき、マウントポイントｂが前記領域内システムに存在しない場合、ＲＡＭ上にマウントポイントｂの疑似マウントポイント320を作成して、ルートファイルシステム301を、ＲＡＭのマウントポイントｂにマウントし、このマウントポイントｂでファイルシステム303をマウントすることにより、ファイルシステム全体を構築する。
【００１８】
なお、以上の実施形態では、マウントポイントがルートファイルシステム上に指定されている場合だけを挙げたが、ルートファイルシステム以外のファイルシステム上のマウントポイントが指定された場合でも、本発明が適用可能であることは明らかである。
【００１９】
本発明の更に他の実施形態は、ファイルシステムに書き込まれた定義ファイルからファイルシステムのアドレスを取得し、取得したアドレスのファイルシステムから該ファイルシステムが接続されるマウントポイント情報を取得し、取得したマウントポイント情報に基いて前記ファイルシステムを当該マウントポイントのファイルシステムにマウントする手順を実行するプログラムを生成する。
【００２０】
本発明の更に他の実施形態は、前記プログラムを実行するためにコンピュータ読み取り可能なＣＤ−ＲＯＭ等の記憶装置に記憶する。そして、このプログラムをコンピュータにダウンロードすることにより容易に前記の処理の手順を実行することができるようにする。
【００２１】
【発明の効果】
請求項１，４に対応する効果：ルートファイルシステム中の定義ファイルを修正することなく、ファイルシステムのマウントポイントを、ファイルシステム上のマウントポイント情報で指定することができるので、いずれかのファイルシステムを更新しても、ルートファイルシステムの内容に影響を与える可能性がないため、ソフトウエア設計の自由度が高くなるとともに、バージョンアップ作業の対象となるソフトウエアモジュールが少なくなり、作業の効率化、作業ミスの減少、製品の品質向上が図れる。
請求項２に対応する効果：ファイルシステムの先頭アドレスを厳密に指定する必要がないので、ＲＯＭ領域内に複数のファイルシステムを格納する場合に、配置の自由度が高くなり、ファイルシステム毎にあらかじめ規定された領域に納めるようなサイズ調整作業が不要になるため、ソフトウエアの開発効率が向上する。
請求項３に対応する効果：存在しないマウントポイントが、ファイルシステムの追加にともなって自動的に追加されていくため、ファイルシステム追加によるソフトウエア機能拡張が容易になる。さらに、ルートファイルシステムを設計する際に、あらかじめ将来の拡張を見越してマウントポイントを用意しておく必要が無くなり、ソフトウエアのオブジェクトサイズが必要最小限で済むため、製品のコストダウンにつながる。
請求項５，６に対応する効果：ファイルシステムを管理するプログラムを容易に実行することができ、又、該プログラムを流通させることができる。
【図面の簡単な説明】
【図１】本発明の実施形態に係るＲＯＭファイルシステムの構成図である。
【図２】本発明の実施形態に係るＲＯＭファイルシステムの構成図である。
【図３】本発明の実施形態に係るＲＯＭファイルシステムの構成図である。
【図４】従来技術によるＲＯＭファイルシステムの構成図である。
【符号の説明】
１００・・ＲＯＭ、１０１・・ルートファイルシステム、１０２・・ファイルシステム、１０３・・ファイルシステム、１１２・・マウントポイント情報、１１３・・マウントポイント情報、１１０・・定義ファイル
【図１】
0004066406.tif 000002
【図２】
0004066406.tif 000003
【図３】
0004066406.tif 000004
【図４】
0004066406.tif 000005