(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0007】
組み込み装置の開発は、汎用OSではなく、TRON,LINUX(登録商標)といった利便性の良く拡張に優れたリアルタイム・マルチタスク管理が可能なOSが多く利用される。その反面、OSの中核となるカーネル以外では、ファイルシステムや通信プロトコルスタックといったものを含め、必要となる対象機器毎に準備する必要がある。
【0008】
また、組み込み装置でハードウェアを制御するプログラムについては明確に規格化されておらず、個々のデバイスを制御するプログラムを管理するような汎用OSが持つ、デバイスドライバの規定に相当するものは存在しない。
【0009】
このため、個々のハードウェアへの合わせ込みは実装依存が実情であり、OS及びハードウェア双方のバランスを意識した難易度の高い開発が求められる。
【0010】
一方、短期開発が要求されるサービスを実現させるアプリケーション開発においても、ハードウェア制御や、OS、ファイルシステム、通信プロトコルスタックといった個々の要素を意識して組み込み装置毎の開発を行わざるを得ず、ますます大規模化する組み込みシステムに対して、迅速な対応と開発サイクルの維持が困難となっている。
【0011】
これらへの対応として、例えば前記特許文献1では、ドライバ制御の共通化を図るための標準化規則が記載されている。しかし、特許文献1の場合では、ドライバ(デバイスドライバ)とアプリケーションとの間の関係に対応したものとなり、ファイルシステムや通信プロトコルスタックといった、組み込み装置の開発で必要な要素技術への適応まではできていない。
【0012】
以上を鑑み、本発明の主な目的は、組み込みシステム(組み込み装置)の技術に関して、アプリケーション、デバイスドライバ及びファイルシステム等の要素の汎用性(独立性)・再利用性を高める(言い換えれば各々固有(異種)の要素を並用可能とする)ことができる技術を提供することである。
【課題を解決するための手段】
【0013】
上記目的を達成するため、本発明のうち代表的な形態は、組み込み装置(組み込み装置におけるファイルシステム及びデバイスドライバの管理と制御の方式)などであって、以下に示す構成を有することを特徴とする。
【0014】
本形態の組み込み装置(管理方式)は、第1に、複数(異種)のデバイスドライバにおけるそれぞれの固有デバイスドライバを共通で管理する手段を備え、第2に、固有のデバイスドライバが具備する機能を固有機能として提供する手段を備え、第3に、複数(多種)のファイルシステムへの共通なアクセス手段を備え、更に第4に、ファイルシステムとデバイスドライバとの関係を管理する手段を備える。
【0015】
第1に、本形態の組み込み装置(管理方式)は、上位アプリケーションと複数のファイルシステムとの間に、複数のファイルシステムを共通管理(差異の吸収など)する処理を行う上位管理部(上位レイヤ)を有し、上位アプリケーションに対して汎用性の高いインタフェースを提供する。
【0016】
第2に、本形態の組み込み装置(デバイスドライバ管理方式)は、複数のファイルシステムと複数のデバイスドライバの間に、複数のデバイスドライバを共通管理する処理を行う下位管理部(下位レイヤ)を有し、上位(アプリケーション及びファイルシステム)に対して、汎用性の高いインタフェースを提供する。
【0017】
第3に、本形態の組み込み装置(ファイルシステム及びデバイスドライバの管理方式)は、上記インタフェース、複数のファイルシステムの共通管理、複数のデバイスドライバの共通管理を統合管理するレイヤ管理部を備える。
【0018】
本形態の組み込み装置は、例えば、プログラム処理で実現される、複数のファイルシステム及び複数のデバイスドライバを管理及び制御する共通管理部を有し、前記共通管理部は、(1)前記アプリケーションと前記複数のファイルシステムとの間に、前記複数のファイルシステムを共通管理してそれらの差異を吸収し前記アプリケーションに対して汎用性の高いインタフェースを提供する処理を行う上位管理部と、(2)前記複数のファイルシステムと前記複数のデバイスドライバとの間に、前記複数のデバイスドライバを共通管理してそれらの差異を吸収し前記アプリケーション及びファイルシステムに対して汎用性の高いインタフェースを提供する処理を行う下位管理部と、(3)前記上位管理部とのインタフェース及び前記下位管理部とのインタフェースを有し、前記上位管理部の複数のファイルシステムの共通管理と前記下位管理部の複数のデバイスドライバの共通管理とを管理情報を用いて総合管理する処理を行う、レイヤ管理部と、を有する。
【発明の効果】
【0019】
本発明のうち代表的な形態によれば、組み込みシステム(組み込み装置)の技術に関して、アプリケーション、デバイスドライバ及びファイルシステム等の要素の汎用性(独立性)・再利用性を高める(言い換えれば各々固有(異種)の要素を並用可能とする)ことができる。
【0020】
特に、各々のファイルシステムやデバイスドライバが変更された場合でも、共通管理部が差異を吸収するので、アプリケーションからは既存の仕組み(インタフェース)のまま利用可能となる。また同様に、アプリケーションに変更がある場合でも、上記共通管理部があるため、ファイルシステムやデバイスドライバへその影響の波及を避けることができる。上記のように共通化(カプセル化)により、アプリケーション、ファイルシステム及びデバイスドライバのそれぞれの独立性を高めることにより、開発変更の影響度を抑えることができ、新規開発時の部分転用が容易となり(流用性を確保でき)、システム(組み込み装置)の開発の短期化が可能となる効果が期待できる。
【発明を実施するための形態】
【0022】
以下、
図1〜
図6を用いて、本発明の一実施の形態のシステム(組み込み装置、ファイルシステム及びデバイスドライバの管理方式など)について詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一符号を付し、その繰り返しの説明は省略する。
【0023】
本方式では、組み込み装置において、サービスを実施するアプリケーションと、ファイルシステムの使用を前提とする複数の異種のデバイスドライバとの間に、これらファイルシステム及びデバイスドライバの差異を吸収する共通の管理部(ファイルシステム・デバイスドライバ管理部)を設け、アプリケーションに対して共通の操作手段(インタフェース)により、ファイルシステムと連動してデバイスの持つ機能を提供する。上記共通の管理部による、ファイルシステムとデバイスドライバとの双方の共通管理と、個々(固有)のデバイスドライバの差異の吸収(カプセル化)により、アプリケーション、ファイルシステム及びデバイスドライバ等を含む要素の汎用性(独立性)を高め、再利用可能とする。
【0024】
本形態は、新たに設けた共通管理部により複数のファイルシステムと複数のデバイスドライバの管理・制御を行う方式である。各々のファイルシステムやデバイスドライバが変更された場合でも、共通管理部が差異を吸収し、アプリケーションからは既存の仕組み(インタフェース)のまま利用可能となる。また、アプリケーションに変更がある場合でも、上記共通管理部があるため、ファイルシステムやデバイスドライバへその影響の波及を避けることができる。
【0025】
[システム構成]
図1に、本実施の形態のシステム(組み込み装置)の全体構成として、ファイルシステム及びデバイスドライバの管理・制御方式の機能ブロック構成を示している。本システム(組み込み装置)は、組み込みアプリケーション101(APと略す)と、複数のファイルシステム103(FSと略す)と、複数のデバイスドライバ104(DDと略す)と、FS・DD管理部(共通管理部、レイヤ管理部)102とを有する構成である。なお本システム(組み込み装置)は、その他図示しないが、一般的に組み込み装置に具備されるOS(カーネル)や、DD104からアクセスされる内部/外部のハードウェア(デバイス)等を備える。デバイスの一例は、ディスプレイ、USBモジュールなどがある。102を含む各部は、組み込み装置における一般的なプロセッサ及びメモリ等による本実施の形態のプログラムの処理(実装された論理回路の処理など)で実現できる。
【0026】
AP101は、組み込みで使用するアプリケーション(サービスを実施するプログラム)であり、1つ以上を有する。
【0027】
FS103は、AP101が利用するファイルシステムであり、
図1では異種で各々固有の2つ(#1、#2)を有する場合である。
【0028】
DD104は、FS103の使用を前提とするデバイスドライバであり、AP101がFS103を通じて利用するデバイス(ハードウェア)を制御するデバイスドライバであり、
図1では異種で各々固有の2つ(#1、#2)を有する場合である。
【0029】
そして本システムは、これらAP101とFS103とDD104との間に、共通管理部(レイヤ管理部)であるFS・DD管理部102を備え、このFS・DD管理部102は、上位管理部21(上位レイヤ)と、下位管理部22(下位レイヤ)と、それら(21,22)を管理するレイヤ管理部20とから構成される。
【0030】
FS・DD管理部102では、上位管理部21でAP101に対する103の個別FSの差異を吸収し、デバイス操作を共通で提供する。
【0031】
またFS・DD管理部102は、デバイス固有の機能(即ち固有のDD104の機能)については、個別に提供可能とする拡張機能を具備する(オプション)。
【0032】
レイヤ管理部20では、個別のDD104(対応する個別デバイス)毎の情報を一元管理すると共に、FS103とDD104との関係を管理する。
【0033】
下位管理部22では、DD104とFS103との間の調整(差異の吸収)を行い、及び個々のDD104同士の差異を吸収し、FS103に対する機能の共通化を図る。
【0034】
上記AP101とFS103とDD104との間に、21,22のように、機能を共通化した抽象階層のインタフェース(レイヤ)を持つ構成により、AP101とFS103とDD104の独立性(汎用性)が保たれる。更に、レイヤ管理部20により上記抽象階層のインタフェース(21,22)を管理する構成により、FS103やDD104が複数管理可能となる。即ち、FS103やDD104は複数の異種のものを並列使用可能であり、AP101は共通の操作手段(インタフェース)でそれらFS103やDD104の機能を利用可能である。
【0035】
次に、
図2〜
図4を用いて、共通管理部102の手段(構成要素)について説明する。
【0036】
[上位管理部]
図2は、上位管理部21の構成例を示す。上位管理部21は、上位管理部共通IF(FS・DD操作IF)201と、FS共通制御部202と、FS固有制御部203と、FS吸収制御IF204と、DD共通制御部205と、DD固有制御部206と、レイヤ管理部IF207とを有する。なおIFはインタフェースの略である。
【0037】
上位管理部共通IF(FS・DD操作IF)201では、(AP101に対し)FS103経由でDD104操作を行うための共通インタフェースを提供する。ここでは、個別のFS103に対する共通操作を行う汎用性のあるファイル操作インタフェースを具備する(例えば「ファイルオープン」「データリード」といった操作(命令受付)を可能とする)。
【0038】
また上記(インタフェース)とは別に、DD共通制御部205が管理するドライバ(DD)管理情報(それに対応するレイヤ管理部20の管理情報209)を提供するインタフェースと、DD固有制御部206が持つDD104(デバイス)固有操作に必要なインタフェースとを、自由度を持たせたプラグインのインタフェースとして具備する。
【0039】
FS共通制御部202は、上記ファイル操作インタフェースからの要求により、FS固有制御部203経由でFS吸収制御IF204へと制御を渡す。この時に使用するFS固有制御部203は、共通操作に対するFS103毎の機能や使用方法、シーケンスの差異などを吸収する役目を行う。
【0040】
FS吸収制御IF204では、個別FS103が提供するインタフェースレベルの調整(差異の吸収)を行う。
【0041】
DD共通制御部205は、FS共通制御部202が必要とする上記のドライバ(DD)情報の管理を行う。ここでのドライバ(DD)情報の管理は、FS103が認識するデバイス(DD)識別の単位に行われる。
【0042】
DD固有制御部206は、上記プラグインのインタフェースで要求のあった情報を固有DD104へ渡すための制御とインタフェースの調整を行う。
【0043】
[レイヤ管理部]
図3は、レイヤ管理部20の構成例を示す。レイヤ管理部20は、レイヤ管理部IF207と、FS・DD管理部208と、管理情報209と、FS・DD制御部210と、下位管理部共通IF(DD制御IF)211とを有する。なお管理情報209は、本組み込み装置内のいずれかの記憶装置内に格納すればよい。
【0044】
レイヤ管理部20では、AP101から発生する要求を、個々のDD104に伝えるための役割と、複数のFS103と複数のDD104との関係を管理し(管理情報209)、AP101経由でFS103がファイル操作を行う対象を認識させるための管理とを行う。
【0045】
上記個々のDD104に伝えるための役割について、レイヤ管理部IF207では、上位管理部21からのDD操作要求を受付け、下位管理部22経由で固有DD104に対するアクセスを行う。
【0046】
下位管理部共通IF211(DD制御IF)は、DD104の登録や初期化、終了といった共通のインタフェースと、DD104が提供する固有機能単位のインタフェースとを備える。
【0047】
FS103とDD104との関係の管理については、FS・DD管理部208において、(DD104からアクセスする)デバイス識別のためのディスクリプタ情報管理と、FS103に認識させる処理で使用するインスタンス情報管理とを含む情報を、管理情報209(FS・DD管理情報)により一元管理する。管理情報209のテーブルで管理する情報の例としては、FS103とDD104との関係(組)を識別する管理IDと、FS103を識別するFS識別子、及びインスタンス情報と、DD104(対応するデバイス)を識別するDD識別子、及びディスクリプタ情報とを有する。
【0048】
FS・DD制御部210は、対象とするFS103とデバイス(対応するDD104)とを組み付ける(関連付ける)処理を行い、その組み付け(関連)をドライバ(DD)情報として、上位管理部共通IF201経由でAP101がファイル操作要求時に利用する。
【0049】
[下位管理部]
図4は、下位管理部22の構成例を示す。下位管理部22は、下位管理部共通IF214と、DD共通制御部212と、DD固有制御部213とを有する。
【0050】
下位管理部共通IF214は
図3の211と対応している共通IFである。
【0051】
下位管理部22では、FS103からの要求に従い、またはレイヤ管理部20からのDD操作要求に従い、デバイス(対応するDD104)に対する直接処理を行う。
【0052】
DD共通制御部212は、DD104の初期化/終了、デバイス初期化、ファイル操作に必要な情報取得・設定で使用する送受信、といった共通機能(個々の固有のDD104に依らない機能)を実現する。
【0053】
DD固有制御部213は、DD104に対応するデバイス(ハードウェア)が持つ固有機能に対して直接操作を行う。
【0054】
[レイヤ管理部の処理例]
次に
図5を用いて、上記共通管理部102のレイヤ管理部20の実行する処理例(情報管理例)について説明する。なお
図5の構成例と
図6の構成例とは概ね対応した内容となっている。
【0055】
レイヤ管理部20では、FS・DD管理部208とFS・DD制御部210とで管理情報209を中心に各FS103とDD104との関係を構築する。
【0056】
FS・DD管理部208では、AP101から利用登録(
図6のbと対応する。例えばシステム初期化時の利用登録)がある場合、指定のFS103とDD104に対して利用準備(
図6のcに対応する)を行い、当該FS103に関するインスタンス情報を管理情報209に登録する。なお208内の「利用準備」は各回実行時の利用準備を示し、
図6のaと対応している。
【0057】
上位管理部21からDD操作要求がある場合には、管理情報209内に持つ(FS103の)インスタンス情報を決定し、FS・DD制御部210へ対応する要求を行う。
【0058】
一方、FS・DD制御部210では、FS・DD管理部208から渡されたインスタンス情報と、上位IF情報・下位IF情報とをもとに、決定済みのFS103とDD104へアクセスするために必要な情報を生成する。
【0059】
これらの情報のもととなる管理情報209では、FS103とDD104の組み合わせを管理IDにより一意に識別・管理する。
【0060】
図5の構成例では、T1,T2,T3で示す3つのFS・DD管理情報(レコード)を生成・管理している。本構成例では少なくともこのような3種類の管理情報が必要である。
【0061】
T1で示す、上位IFカテゴリ、下位IFカテゴリは、FS識別子と利用DD識別子のそれぞれに対応した固有のインタフェース形式の識別に用いる情報である。FS識別子は、FS103の種別を含めて一意に認識するための識別番号である。利用DD識別子は、ドライバ(DD104)の種別を含めて一意に認識するための識別番号である。T2,T3で示す、インスタンス情報は、実際のFS103とDD104へアクセスを行う際に必要となる固有のインスタンス情報を扱う。
【0062】
これらの固有の管理情報(T1〜T3)は、システム初期化時などに予め準備しておき、AP101からの利用登録が発生した際に、指定のFS103とDD104に対して利用準備を行った結果のインスタンスを登録・管理させる手段を用いる。
【0063】
[動作例]
次に
図6を用いて、本管理・制御方式における動作例を説明する(s1等は処理ステップを示す)。
【0064】
AP101から利用する場合、前述の上位管理部21で提供するIFを使用し、FS103の識別子及びDD104の識別子の情報により、利用準備の要求を行う(s1)。レイヤ管理部20では、s1の情報をもとに、管理情報209を確認して登録IDを公開する(s2)。AP101は登録IDを取得する(s3)。なお登録IDと前述の管理IDとは別の概念である(登録IDから管理IDを取得して用いる)。
【0065】
次に、AP101からの利用登録の要求(登録IDを用いる)(s4)により、上位管理部21経由でレイヤ管理部20で、対象の登録IDへの利用登録を受け付ける(s5)。利用登録を受け付けると、レイヤ管理部20では、利用準備(s6)として、管理情報209をもとに、指定のDD104への初期化及びアクセス準備を下位管理部22経由で行い、同様に、指定のFS103へ利用登録(利用準備)を行う(s7)。上記処理(s6,s7)では、指定のFS103とDD104とを組み付け(関連付け)、当該組合せを管理IDとして管理する。
【0066】
上記処理(s7)の際、管理情報209内の利用DD識別子と下位IFカテゴリの情報から、下位管理部22で提供するIFをFS103に登録する。また、これら初期化や利用登録で実際に使用したインスタンス情報(ないしディスクリプタ情報)を管理情報209内に登録した後、利用許可として管理IDをAP101へ返却する(s8)。
【0067】
AP101では、上記管理IDを受け取って利用許可を得た後(s9)、FS103及びDD104に対して利用開始する(s10)。即ち、AP101は、管理IDを用いて、上位管理部21が提供するIF経由で、FS103に対する例えばデータのリード/ライト要求などを行う。この要求(s10)の際、上位管理部21では、提供するIFにより、共通処理(s11)を行うものについては、FS103から下位管理部22へ直接アクセスさせ、固有処理(s12)を行うもの(固有DD操作要求)については、レイヤ管理部20経由で下位管理部22へアクセスさせるように、振り分けを行う。
【0068】
上記のような動作・構成により、AP101では、上位管理部21経由で、個々のFS103を意識する事なく、FS103と関係を持つ個々のDD104へ、ファイル操作によるアクセスが可能である。
【0069】
また、複数のFS103及びDD104に対する操作の差異を下位管理部22で吸収し、これらの関係をレイヤ管理部20(共通管理部102)で管理する構成により、FS103とDD104の双方に対して明確な独立性を保つことができる。即ち、FS103やDD104の流用や追加といった場合への対応を容易化させることができる。
【0070】
[効果等]
以上説明したように、本実施の形態によれば、組み込み装置における、アプリケーション101、ファイルシステム103及びデバイスドライバ104等の要素の汎用性(独立性)・再利用性を高める(言い換えれば各々固有(異種)の要素を並用可能とする)ことができる。特に、組み込み装置の開発において、各々のFS103やDD104が変更された場合でも、共通管理部102が差異を吸収するので、AP101からは既存の仕組み(インタフェース)のまま利用可能となる。また同様に、AP101に変更がある場合でも、上記共通管理部102があるため、FS103やDD104へその影響の波及を避けることができる。複数のFS103及びDD104の操作への汎用的なインタフェースをAP101に対して提供し、個々のFS103及びDD104を意識しない共通インタフェースによる利用を可能とする。また、個々のFS103及びDD104の間でレイヤ管理を行う方式により、AP101、FS103、DD104のそれぞれの独立性を高める。
【0071】
上記のように複数のFS103及びDD104に関する共通化(カプセル化)により、AP101、FS103及びDD104のそれぞれの独立性を高めることにより、開発変更の影響度を抑えることができ、新規開発時の部分転用が容易となり(流用性を確保でき、移植性を上げることができ)、システム(組み込み装置)の開発の短期化が可能となる効果が期待できる。
【0072】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。例えばファイルシステムに限らず、通信プロトコルスタック等を対象として同様に管理する方式なども可能である。