(57)【特許請求の範囲】
【請求項１】
デバイスのバスへの接続位置を示す位置情報と、該デバイスに対応するデバイスドライバを示すドライバ情報との対応関係を示す情報を格納する格納部と、
前記格納部に格納された前記対応関係を示す情報に基づいて、前記デバイスの前記バスへの接続位置を特定し、特定した該接続位置に接続されたデバイスを前記格納部に格納された前記ドライバ情報が示すデバイスドライバに対応付ける制御を行う制御部と、
を備え情報処理装置。
【請求項２】
前記制御部は、
前記デバイスに前記デバイスドライバを対応付ける場合に、前記バスに接続されたデバイスの接続位置を示す情報が前記位置情報に含まれかつ、装置に予め登録されたデバイスドライバが前記ドライバ情報に含まれるときに、
前記バスに接続されたデバイスを前記予め登録されたデバイスドライバに対応付ける制御を行う登録部と、
前記バスに接続されたデバイスを前記予め登録されたデバイスドライバ以外のデバイスドライバに対応付ける制御を抑止する抑止部と、
を含む請求項１に記載の情報処理装置。
【請求項３】
前記位置情報及び前記ドライバ情報との対応関係を示す情報が識別情報として入力されかつ該入力された該識別情報を前記格納部に格納する格納処理部を含む、
請求項１または請求項２に記載の情報処理装置。
【請求項４】
デバイスのバスへの接続位置を示す位置情報と、該デバイスに対応するデバイスドライバを示すドライバ情報との対応関係を示す情報を格納し、
前記格納部に格納された前記対応関係を示す情報に基づいて、前記デバイスの前記バスへの接続位置を特定し、特定した該接続位置に接続されたデバイスを前記格納部に格納された前記ドライバ情報が示すデバイスドライバに対応付ける制御を行う、
情報処理方法。
【請求項５】
コンピュータに、
前記コンピュータを、デバイスのバスへの接続位置を示す位置情報と、該デバイスに対応するデバイスドライバを示すドライバ情報との対応関係を示す情報を格納し、
前記格納部に格納された前記対応関係を示す情報に基づいて、前記デバイスの前記バスへの接続位置を特定し、特定した該接続位置に接続されたデバイスを前記格納部に格納された前記ドライバ情報が示すデバイスドライバに対応付ける制御を行う、
処理を実行させるための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
コンピュータシステムは、コンピュータ内部の各デバイス間を接続するデータ伝送路としてバスを備えている。バスの一例としてＰＣＩバス（Peripheral Components Interconnect bus）が知られている。ＰＣＩバスに接続するＰＣＩデバイスには、ＰＣＩデバイスを制御するデバイスドライバが対応されている。コンピュータシステムにおけるオペレーティングシステムでは、ＰＣＩバスに接続されたＰＣＩデバイスを制御するために、定められた一種類のデバイスドライバを使用する。つまり、ＰＣＩデバイスを有するコンピュータシステムのオペレーティグシステムでは、１種類のＰＣＩデバイスに対して、一種類のデバイスドライバが登録され、ＰＣＩデバイスが制御されることが一般的である。
【０００３】
コンピュータシステムにおいて、デバイスドライバが担当するＰＣＩデバイスを特定するには、ＰＣＩデバイスに付与されるベンダＩＤとデバイスＩＤとを用いることが一般的である。すなわち、特定のベンダＩＤとデバイスＩＤの組み合わせによるＰＣＩデバイスに対して、一種類のデバイスドライバを登録する。次に、デバイスドライバを登録する場合の一例を説明する。
【０００４】
ＰＣＩデバイスは、ＰＣＩデバイスの種類毎に固有のベンダＩＤとデバイスＩＤを有している。ＰＣＩデバイスとして、固有のベンダＩＤとデバイスＩＤを有するＰＣＩカードを用いて、一例を説明する。コンピュータシステムでデバイスドライバを登録するとは、制御するＰＣＩカードのベンダＩＤとデバイスＩＤを、デバイスドライバに対応付けて、オペレーティングシステムであるカーネルに登録することである。カーネルには、ベンダＩＤ及びデバイスＩＤとデバイスドライバとを対応付けるテーブルを予め構築しておく。カーネルは、ＰＣＩカードを検出すると、予め構築されているテーブルを参照して、ベンダＩＤ及びデバイスＩＤに一致するデバイスドライバを呼び出す。
【０００５】
ところで、同一ベンダＩＤとデバイスＩＤを有するデバイスに対して、複数の種類のデバイスドライバをカーネルに登録することが可能である。ところが、複数の種類のデバイスドライバをカーネルに登録すると、複数の種類のデバイスドライバの各々に対してデバイスが対応付けられる状態が生じて、誤動作が発生する場合がある。
【０００６】
１つのデバイスで複数のデバイスを使用可能とする技術として、シングルファンクションのＰＣＩカードをマルチファンクションのＰＣＩカードとして動作させる技術が知られている。シングルファンクションのＰＣＩカードをマルチファンクションのＰＣＩカードとして動作させる技術は、複数のデバイスドライバとＰＣＩカードとの間にマルチファンクション対応ドライバを配置してハードウェア機能を独立して操作できるようにしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−２５７４１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、シングルファンクションのＰＣＩカードをマルチファンクションのＰＣＩカードとして動作させることで、独立操作は可能であるが、複数のＰＣＩカードを独立して操作することはできない。例えば、同一ベンダーＩＤとデバイスＩＤの組合せを有する、複数のＰＣＩデバイスに対して、独立してデバイスドライバを登録することはできない。
【０００９】
１つの側面では、複数の同種デバイスの少なくとも１つに対して、指定されたデバイスドライバの登録をも可能にすることを目的とする。
【課題を解決するための手段】
【００１０】
開示の技術は、デバイスのバスへの接続位置を示す位置情報と、該デバイスに対応するデバイスドライバを示すドライバ情報との対応関係を示す情報を、格納部に格納する。格納された対応関係を示す情報に基づいて、デバイスのバスへの接続位置を特定し、特定した該接続位置に接続されたデバイスを格納部に格納されたドライバ情報が示すデバイスドライバに対応付ける制御を行う。
【発明の効果】
【００１１】
１つの実施態様では、複数の同種デバイスの少なくとも１つに対して、指定されたデバイスドライバをも登録できる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係る情報処理装置の概略構成を示すブロック図である。
【図２】情報処理装置として機能するコンピュータシステムの概略ブロック図である。
【図３】デバイスドライバの初期化処理の流れを示すフローチャートである。
【図４】デバイスの検出処理の流れを示すフローチャートである。
【図５】仮想ファイル書込処理の流れを示すフローチャートである。
【図６】デバイスドライバの初期化処理の詳細な流れを示すフローチャートである。
【図７】デバイスドライバの初期化処理の過程の説明図である。
【図８】デバイスの検出処理の詳細な流れを示すフローチャートである。
【図９】デバイスの検出処理の過程の説明図である。
【図１０】ドライバ管理簿及びデバイス管理簿の模式図である。
【図１１】仮想ファイル書込処理の詳細な流れを示すフローチャートである。
【図１２】リンクリスト構造の特殊ドライバ管理簿を示す模式図である。
【図１３】情報処理装置における処理の流れを示すシーケンシャルフローである。
【図１４】変形例の情報処理装置の概略構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して開示の技術の実施形態の一例を詳細に説明する。
【００１４】
＜第１実施形態＞
図１には、本実施形態に係る情報処理装置１０が示されている。情報処理装置１０は、コンピュータシステム等で実現可能であり、ハードウェア資源及びソフトウェア資源を用いた概念構成として、ユーザ層１２、カーネル層１４，及び物理層１６を含んでいる。ユーザ層１２は、ユーザが情報処理装置１０を操作するときの情報処理装置１０内の作動部分である。カーネル層１４は、オペレーティングシステムによるカーネル部分である。物理層１６は、ＰＣＩデバイス等の物理的なデバイスを示す部分の一例である。
【００１５】
ユーザ層１２には、ユーザにより指定されたデバイスに、指定されたデバイスドライバを対応付けて、デバイスを一意に識別するための識別情報２０が入力領域１８に格納される。入力領域１８に格納された識別情報２０は、カーネル層１４の格納部３２に、識別情報３４として予め格納される。従って、カーネル層１４の格納部３２には、バスに接続しかつ予め指定したデバイスドライバを用いるデバイスを一意に識別するための識別情報３４が格納される。カーネル層１４は、デバイスドライバ２２（図１ではdriver_Aと表記している）及びデバイスドライバ２４（図１ではdriver_Bと表記している）と、ドライバ層２５とを含んでいる。ドライバ層２５は、制御部２６及び格納部３２を含んでいる。制御部２６は、抑止部２８及び登録部３０を含んでいる。物理層１６は、ＰＣＩデバイスなどの５つのデバイス３６−１〜３６−５を備えている。
【００１６】
なお、情報処理装置１０は開示の技術における情報処理装置の一例である。
【００１７】
ユーザは、指定するデバイスに、指定するデバイスドライバを対応付けるために、情報処理装置１０を操作する。ユーザの操作によって、情報処理装置１０のユーザ層１２には、ユーザが指定したデバイスドライバを用いるデバイスを一意に識別するための識別情報２０が入力領域１８に格納される。入力領域１８に格納された識別情報２０は、カーネル層１４の格納部３２に、識別情報３４として格納される。以下の説明を簡単にするために、物理層１６に５個のＰＣＩデバイスが含まれる一例を説明する。ユーザは、識別情報２０として、ＰＣＩデバイスの実装位置を示す情報とデバイスドライバの名称とを対応付けて登録する。ＰＣＩデバイスの実装位置を示す情報には、ＰＣＩデバイスのＰＣＩアドレス情報がある。ＰＣＩアドレス情報には、一例としてバス番号、デバイス番号、及びファンクション番号の各情報を対応付けた情報があり、ＰＣＩアドレス情報によりＰＣＩバス上におけるデバイスを識別することができる。
【００１８】
また、入力領域１８に格納された識別情報２０は、カーネル層１４の格納部３２に識別情報３４として格納される。カーネル層１４では、物理層１６のＰＣＩデバイス３６−１〜３６−５の各々と、デバイスドライバ２２（driver_A）またはデバイスドライバ２４（driver_B）とを対応付けるために、制御部２６により、ＰＣＩデバイスとデバイスドライバとの対応付けが行われる。なお、物理層１６のＰＣＩデバイス３６−１〜３６−５の各々は、同種のＰＣＩデバイスであり、デバイスＩＤとベンダＩＤとにより対応付けられる通常のデバイスドライバは、デバイスドライバ２２（driver_A）であるものとする。また、本実施形態では、ＰＣＩデバイス３６−１〜３６−５のうちのＰＣＩデバイス３６−４、及び３６−５の各々に、デバイスドライバ２４（driver_B）が対応付けられた識別情報３４が、カーネル層１４の格納部３２に格納されたものとする。
【００１９】
制御部２６は、ＰＣＩデバイス３６−１とデバイスドライバとを対応付けるために、抑止部２８で、格納部３２の識別情報３４を参照し、ＰＣＩデバイスの実装位置を示す情報（ＰＣＩアドレス情報）に、当該ＰＣＩデバイス３６−１が該当するか否かを判別する。ＰＣＩデバイス３６−１は、格納部３２の識別情報３４によるＰＣＩデバイスの実装位置を示す情報（ＰＣＩアドレス情報）に該当しないので、通常時に対応付けられるデバイスドライバ２２（driver_A）が登録される。同様に、ＰＣＩデバイス３６−２，３６−３も通常時に対応付けられるデバイスドライバ２２（driver_A）が登録される。
【００２０】
一方、制御部２６が、ＰＣＩデバイス３６−４とデバイスドライバとを対応付けようとするとき、ＰＣＩデバイス３６−４の実装位置は格納部３２の識別情報３４によるＰＣＩデバイスの実装位置に該当する。抑止部２８は、ＰＣＩデバイス３６−４と、通常時に対応付けられるデバイスドライバ２２（driver_A）との対応付けを抑止する。次に、制御部２６は、登録部３０において、格納部３２の識別情報３４を参照し、ＰＣＩアドレス情報に、当該ＰＣＩデバイス３６−４が該当するか否かを判別する。ＰＣＩデバイス３６−４は、格納部３２の識別情報３４によるＰＣＩアドレス情報に該当するため、登録部３０は、識別情報３４によるデバイスドライバの名称（ドライバ名）によるデバイスドライバとＰＣＩデバイス３６−４とを対応付けて登録する。つまり、登録部３０は、デバイスドライバ２４（driver_B）とＰＣＩデバイス３６−４を対応付けて登録する。同様に、登録部３０は、ＰＣＩデバイス３６−５とデバイスドライバとを対応付けようとするとき、ＰＣＩデバイス３６−５とデバイスドライバ２４（driver_B）とを対応付けて登録する。
【００２１】
以上のようにして、ユーザが指定するデバイスに、ユーザが指定するデバイスドライバを対応付けて登録することができる。
【００２２】
情報処理装置１０は、例えば図２に示すコンピュータシステム３８で実現することができる。コンピュータシステム３８はＣＰＵ４０、ディスプレイ４１、キーボード４２、マウス４３、メモリブリッジ４４、及び入出力ポートブリッジ（Ｉ／Ｏブリッジ）４６を備え、これらはバス４８を介して互いに接続されている。メモリブリッジ４４には、メモリ５０が接続されている。Ｉ／Ｏブリッジ４６には、ＰＣＩバス６８を介して、複数のＰＣＩカードが接続されている。以下の説明では、ＰＣＩデバイスとして、５個のＰＣＩカード８４〜８８が接続される一例を説明する。
【００２３】
また、Ｉ／Ｏブリッジ４６には、ＰＣＩバス６８を介して、不揮発性の記憶部７０が接続されている。なお、記憶部７０はＨＤＤ(Hard Disk Drive)やフラッシュメモリ等によって実現できる。記録媒体としての記憶部７０には、コンピュータシステム３８を情報処理装置１０として機能させるためのカーネルプログラム７２が記憶されている。また、記憶部７０には、特殊ドライバ管理ファイル８２を含む設定ファイル８０が記憶されている。特殊ドライバ管理ファイル８２は、ユーザが指定したデバイスドライバを用いるデバイスを一意に識別するための識別情報３４（図１も参照）に対応する。ＣＰＵ４０は、カーネルプログラム７２を記憶部７０から読み出してメモリ５０に展開し、カーネルプログラム７２が有するプロセスを順次実行する。すなわち、メモリ５０には、記憶部７０のカーネルプログラム７２が、実行可能なカーネルプログラム５２として展開され、ＣＰＵ４０は、展開されたカーネルプログラム５２に含まれるプロセスを順次実行する。
【００２４】
記憶部７０に格納されたカーネルプログラム７２は、ドライバ初期化プロセス７４、デバイス検出プロセス７６、及び仮想ファイル（例えば、sysfs）への書込プロセス７８を有する。ＣＰＵ４０は、ドライバ初期化プロセス７４、デバイス検出プロセス７６、仮想ファイル（例えば、sysfs）への書込プロセス７８を実行することで、図１に示す制御部２６として動作する。つまり、情報処理装置１０がコンピュータシステム３８で実現され、ドライバ初期化プロセス７４、デバイス検出プロセス７６、仮想ファイル書込プロセス７８を実行することでコンピュータシステム３８は制御部２６（図１）として動作する。
【００２５】
カーネルプログラム７２に含まれるドライバ初期化プロセス７４，デバイス検出プロセス７６，仮想ファイル書込プロセス７８は、メモリ５０に展開される。カーネルプログラム７２のメモリ５０への展開により、メモリ５０に、ドライバ初期化プロセス５４，デバイス検出プロセス５６，仮想ファイルへの書込プロセス５８が生成される。また、詳細は後述するが、メモリ５０の一部領域はカーネルプログラム７２（展開されたカーネルプログラム５２）の処理で得られた情報を格納する領域として用いられる。すなわち、ＣＰＵ４０はメモリ５０に展開されたドライバ初期化プロセス５４，デバイス検出プロセス５６，仮想ファイルへの書込プロセス５８を実行することにより、カーネル管理簿６０が生成される。カーネル管理簿６０には、ドライバ管理簿６２、デバイス管理簿６４、及び特殊ドライバ管理簿６６が含まれる。
【００２６】
なお、カーネルプログラム７２及び展開されたカーネルプログラム５２は開示の技術における情報処理プログラムの一例である。つまり、カーネルプログラム７２（展開されたカーネルプログラム５２）はコンピュータシステム３８を情報処理装置１０として機能させるための情報処理プログラムの一例である。
【００２７】
また、本実施形態のＰＣＩカード８４〜８８は、図１のＰＣＩデバイス３６−１〜３６−５に対応する。また、コンピュータシステム３８の記憶部７０に含まれる設定ファイル８０の格納領域は、図１の格納部３２に対応する。また、後述するメモリ５０のカーネル管理簿６０は、図１の制御部２６が実行するときに参照する識別情報３４に対応される場合がある。
【００２８】
本実施形態では、５個のＰＣＩカード８４〜８８をＰＣＩデバイスとする一例を説明するが、ＰＣＩカードの数は５個に限定されるものではなく、２つ以上であればよい。
【００２９】
次に本実施形態の作用を説明する。
まず、同一ベンダーＩＤとデバイスＩＤとを含む識別情報を有する複数のＰＣＩカードに対して、特定の実装位置に特別なデバイスドライバの登録が要求される場合がある。一例として、ファイバーチャネルのＨＢＡ(ホストバスアダプタ)において、プロトコルが階層化されている場合、上位層にマッピングする機能毎に、別のデバイスドライバの登録が要求される場合がある。また、他の例としては、デバイスドライバのバージョンアップによる機能低下（レベルダウン）の回避や抑制を目的として、試験的に別のデバイスドライバの登録が要求される場合がある。つまり、特定のＰＣＩカードにバージョンアップしたデバイスドライバを適用して、当該バージョンアップしたデバイスドライバの検証が要求される場合がある。
【００３０】
そこで、本実施形態では、ＰＣＩカードの実装位置とドライバ名を情報として与え、目的のＰＣＩカードに目的のデバイスドライバを登録する。具体的には、カーネルに対して、ＰＣＩカードの実装位置を指定し、またカーネルに対して、指定した実装位置のＰＣＩカードに登録するデバイスドライバを指定する。そして、指定した実装位置のＰＣＩカードに対して、通常登録するデバイスドライバの登録を抑止する。一方、指定した実装位置のＰＣＩカードに対して、指定したデバイスドライバを登録することによって、同種のＰＣＩカードであっても、実装位置毎に別のデバイスドライバを登録することができる。
【００３１】
次に、図３〜図１３を参照してコンピュータシステム３８で実現された情報処理装置１０の作動を詳細に説明する。本実施形態のコンピュータシステム３８における処理は、オペレーティングシステムに含まれて実行されるプログラムのうち、ＰＣＩバス６８に接続されるＰＣＩカードに関する、デバイスドライバの初期化処理及びＰＣＩカードの検出処理に関するものである。
【００３２】
まず、コンピュータシステム３８のＣＰＵ４０は、記憶部７０に記憶されているカーネルプログラム７２に含まれる各プロセスを実行する。すなわち、コンピュータシステム３８のＣＰＵ４０は、記憶部７０のカーネルプログラム７２に含まれるプロセスを、メモリ５０へ展開し、実行する。つまり、ＣＰＵ４０は、メモリ５０に展開されたドライバ初期化プロセス５４，デバイス検出プロセス５６，仮想ファイル書込プロセス５８を実行する。これにより、図３〜図５に示す各処理ルーチンが実行される。
【００３３】
図３は、ドライバ初期化プロセスに対応するドライバの初期化処理の流れを示すフローチャートである。情報処理装置１０がコンピュータシステム３８で実現され、メモリ５０に展開されたドライバ初期化プロセス５４をＣＰＵ４０が実行することでコンピュータシステム３８は、制御部２６（図１）の一部として動作する。また、図４は、デバイス検出プロセスに対応するデバイスの検出処理の流れを示すフローチャートである。情報処理装置１０がコンピュータシステム３８で実現され、メモリ５０に展開されたデバイス検出プロセス５６をＣＰＵ４０が実行することでコンピュータシステム３８は、制御部２６（図１）の一部として動作する。また、図５は、仮想ファイル書込プロセスに対応する仮想ファイル書込処理の流れを示すフローチャートである。情報処理装置１０がコンピュータシステム３８で実現され、メモリ５０に展開された仮想ファイル書込プロセス５８をＣＰＵ４０が実行することで、コンピュータシステム３８は、制御部２６（図１）の一部として動作する。
【００３４】
図３に示すように、ドライバの初期化処理では、ステップ１００において、ＰＣＩバス６８へのデバイスドライバの登録処理が実行される。また、図４に示すように、デバイスの検出処理では、ステップ２００において、ＰＣＩバス６８へのＰＣＩカードの登録処理が実行される。また、本実施形態では、ドライバの初期化処理及びデバイスの検出処理において、ユーザが指定したＰＣＩカードに、ユーザが指定したデバイスドライバを登録するため、仮想ファイルの書込処理も実行する。つまり、図５に示すように、ステップ３００において、仮想ファイル書込プロセスに対応する仮想ファイル書込処理が実行される。なお、本実施形態における仮想ファイル書込処理は、オペレーティングシステムに含まれて実行されるプログラムの１つである。
【００３５】
なお、ドライバの初期化処理（図３）、デバイスの検出処理（図４）、及び仮想ファイルの書込処理（図５）の各々は、オペレーティングシステムに含まれて実行される。また、各処理の実行順序は、コンピュータシステム３８への電源投入時やホットプラグなどデバイスが物理的に追加・削除される時に応じて定まる。すなわち、ドライバの初期化処理（図３）、デバイスの検出処理（図４）、及び仮想ファイルの書込処理（図５）の各々は、何れかの処理が最初に実行されてもよい。また、各処理の実行順序は、デバイスドライバとＰＣＩカードの対応付けが登録され、動作可能なように制御される。
【００３６】
ドライバの初期化処理（図３）では、ドライバ管理簿６２の登録が行われ、デバイスの検出処理（図４）では、デバイス検出プロセス５６の登録が行われる。
【００３７】
なお、詳細は後述するが、ドライバ管理簿６２およびデバイス管理簿６４の各々は、一要素(デバイスドライバ、およびデバイス)毎に一葉の管理簿が連結され、かつバスの種類毎にリンクリスト構造とされたデータ群である（図１０も参照）。バスの種類には、ＰＣＩバス、ＵＳＢバス、その他のバスが知られているが、本実施形態では、ＰＣＩバス６８の一例を説明する。リンクリスト構造とは、ポインタによって互いに連結されたノードの集合であり、各ノードにはデータと次のリンク（つまり次のノードの位置）を示すポインタが格納される。
【００３８】
次に、ドライバの初期化処理（図３）について詳細に説明する。図３のステップ１００では、図６に示す処理ルーチンが実行される。
【００３９】
まず、ステップ１０２では、ドライバ管理簿６２の登録処理が実行される。ドライバ管理簿６２の登録処理は、バスの種類毎にリンクリスト構造のデータ群のうちのドライバ管理簿６２のノード毎に実行される（図１０も参照）。本実施形態では、ＰＣＩバス６８について、リンクリスト構造のデータ群のうちのドライバ管理簿６２のノード毎に実行される。次のステップ１０４では、バスの種類毎のデバイス管理簿６４のノードの数を取得する。本実施形態では、ＰＣＩバス６８について、デバイス管理簿６４のノードの数Ｋを取得する。次のステップ１０６では、変数ｎを初期化（ｎ＝１を設定）し、ステップ１０８へ進む。ステップ１０８では、ステップ１０２で登録されたドライバ管理簿６２のノードのベンダＩＤ及びデバイスＩＤと、第ｎ番目のノードであるデバイス管理簿６４のベンダＩＤ及びデバイスＩＤとが一致するか否かを判断する。ステップ１０８で否定判断のときには、変数ｎを変化させて一致するまで否定判断を繰り返す。つまり、ステップ１０８で否定判断のときには、デバイス管理簿６４のノード数になるまで（ｎ≧Ｋとなるまで）、ステップ１１８で否定判断されて、ステップ１２０で変数ｎをインクリメントし（ｎ＝ｎ＋１）、ステップ１０８へ戻る。一方、ステップ１１８で肯定判断のとき、すなわちデバイス管理簿６４のノード数となったときには、本ルーチンを終了する。
【００４０】
ステップ１０８において、肯定判断のときには、ステップ１１０へ進み、後述する特殊ドライバ管理簿６６に、該当するＰＣＩアドレスが存在するか否かが判断される。ステップ１１０で否定判断のときには、ステップ１１２へ進み、特殊ドライバ管理簿６６に、該当するデバイスドライバが存在するか否かが判断される。ステップ１１２で肯定判断のときには、ステップ１１８へ進む。一方、ステップ１１２で否定判断のときには、ステップ１１４において、当該デバイスに当該ドライバが登録され、ステップ１１８へ進む。
【００４１】
また、ステップ１１０において、肯定判断のときには、ステップ１１６へ進み、ドライバ管理簿６２と特殊ドライバ管理簿６６のドライバ名が一致するか否かが判断される。ステップ１１６で否定判断のときには、ステップ１１８へ進む。一方、ステップ１１６で肯定判断のときには、ステップ１１４において、当該デバイスに当該ドライバが登録され、ステップ１１８へ進む。
【００４２】
図６の処理について、コンピュータシステム３８が備えたＰＣＩカード８４〜８８に対する処理の過程における判定結果及びデバイスドライバの登録の有無を、一覧表１３０として、図７に示した。
【００４３】
なお、図６に示すドライバの初期化処理において、ステップ１０８の否定判断、ステップ１１２の肯定判断、及びステップ１１６の否定判断により、デバイスドライバを登録せずにステップ１１８へ進む処理は、図１の抑止部２８の機能に対応する。また、ステップ１１２の否定判断、及びステップ１１６の肯定判断により、ステップ１１４でデバイスドライバを登録する処理は、図１の登録部３０の機能に対応する。
【００４４】
次に、デバイスの検出処理（図４）について詳細に説明する。図４のステップ２００では、図８に示す処理ルーチンが実行される。
【００４５】
まず、ステップ２０２では、デバイス管理簿６４の登録処理が実行される。デバイス管理簿６４の登録処理は、バスの種類毎にリンクリスト構造のデータ群のうちのデバイス管理簿６４のノード毎に実行される（図１０も参照）。本実施形態ではＰＣＩバス６８のリンクリスト構造のデータ群のうちのデバイス管理簿６４のノード毎に実行される。次のステップ２０４では、バスの種類毎のドライバ管理簿６２の数、すなわちノードの数Ｌを取得する。本実施形態ではＰＣＩバス６８のドライバ管理簿６２のノードの数Ｌを取得する。次のステップ２０６では、変数ｎを初期化（ｎ＝１を設定）し、ステップ２０８へ進む。ステップ２０８では、ステップ２０２で登録されたデバイス管理簿６４のノードのベンダＩＤ及びデバイスＩＤと、第ｎ番目のノードであるドライバ管理簿６２のベンダＩＤ及びデバイスＩＤとが一致するか否かが判断される。ステップ２０８で否定判断のときは、変数ｎを変化させて一致するまで否定判断を繰り返す。つまり、ステップ２０８で否定判断のときには、ドライバ管理簿６２のノード数になるまで（ｎ≧Ｌとなるまで）、ステップ２１８で否定判断されて、ステップ２２０で変数ｎをインクリメントし（ｎ＝ｎ＋１）、ステップ２０８へ戻る。一方、ステップ２１８で肯定判断のとき、すなわちドライバ管理簿６２のノード数になったときには、本ルーチンを終了する。
【００４６】
ステップ２０８において、肯定判断のときには、ステップ２１０へ進み、後述する特殊ドライバ管理簿６６に、該当するＰＣＩアドレスが存在するか否かが判断される。ステップ２１０で否定判断のときには、ステップ２１２へ進み、特殊ドライバ管理簿６６に、該当するデバイスドライバが存在するか否かが判断される。ステップ２１２で肯定判断のときには、ステップ２１８へ進む。一方、ステップ２１２で否定判断のときには、ステップ２１４において、当該デバイスに当該ドライバが登録され、ステップ２１８へ進む。
【００４７】
また、ステップ２１０において、肯定判断のときには、ステップ２１６へ進み、ドライバ管理簿６２と特殊ドライバ管理簿６６のドライバ名が一致するか否かが判断される。ステップ２１６で否定判断のときには、ステップ２１８へ進む。一方、ステップ２１６で肯定判断のときには、ステップ２１４において、当該デバイスに当該ドライバが登録され、ステップ２１８へ進む。
【００４８】
図８の処理について、コンピュータシステム３８が備えたＰＣＩカード８４〜８８に対する処理の過程における判定結果及びデバイスドライバの登録の有無を、一覧表２３０として、図９に示した。
【００４９】
なお、図８に示す処理において、ステップ２０８の否定判断、ステップ２１２の肯定判断、及びステップ２１６の否定判断により、デバイスドライバを登録せずにステップ２１８へ進む処理は、図１の抑止部２８の機能に対応する。また、ステップ２１２の否定判断、及びステップ２１６の肯定判断により、ステップ２１４でデバイスドライバを登録する処理は、図１の登録部３０の機能に対応する。
【００５０】
図１０は、ドライバ管理簿６２およびデバイス管理簿６４の各々を、模式的に示したものである。なお、図１０では、各ノードに含まれる次のリンクを示すポインタの表記を省略している。ドライバ管理簿６２は、始端となるノードのドライバ管理簿６２−１から順に、ドライバ管理簿６２−２，６２−３，６２−４，・・・，６２−Ｌ（Ｌはノードの数）の各ノードが連結される。本実施形態では、各ノードのドライバ管理簿６２は、データとして、デバイスＩＤ、ベンダＩＤ、及びデバイスドライバの名称を示すドライバ名を含んでいる。
【００５１】
また、デバイス管理簿６４は、始端となるノードのデバイス管理簿６４−１から順に、デバイス管理簿６４−２，６４−３，６４−４，６４−５，・・・，６４−Ｋ（Ｋはノードの数）の各ノードが連結される。本実施形態では、各ノードのデバイス管理簿６４は、データとして、デバイスＩＤ、ベンダＩＤ、ドライバとの関連づけを示すポインタ及びＰＣＩアドレスを示す情報を含んでいる。ドライバとの関連づけを示すポインタは、どのデバイスをどのデバイスドライバが制御するかの関連付けを示すデータである。ドライバとの関連づけを示すポインタの一例として、ドライバ管理簿６２のノードの位置を示すデータがある（図１０では関連づけを二点鎖線で示した）。
【００５２】
次に、仮想ファイル書込処理（図５）について詳細に説明する。図５のステップ３００では、図１１に示す処理ルーチンが実行される。
【００５３】
図１１のステップ３０２では、オペレーティングシステムによる仮想ファイルの生成処理が実行される。仮想ファイルの生成処理は、ユーザにより記憶部７０の設定ファイル８０として格納された特殊ドライバ管理ファイル８２から、仮想的な特殊ドライバ管理ファイルを生成する処理である。ステップ３０２では、特殊ドライバ管理ファイル８２が読み取られると共に、特殊ドライバ管理ファイル８２として記憶されているＰＣＩデバイスの位置及びドライバ名を含む識別情報３４のデータの数Ｍが取得される（図１２も参照）。なお、Ｍは特殊ドライバ管理ファイル８２の行数である。次のステップ３０４では、変数ｎが初期化（ｎ＝１を設定）され、ステップ３０６へ進む。ステップ３０６では、第ｎ番目のノードである特殊ドライバ管理簿６６が登録される。この第ｎ番目のノードである特殊ドライバ管理簿６６は、ＰＣＩデバイスの位置及びドライバ名を含む識別情報３４に対応する。次のステップ３０８では、特殊ドライバ管理簿６６のノード数になるまで（ｎ≧Ｍになるまで）、ステップ３０８で否定判断されて、ステップ３１０で変数ｎがインクリメントされ（ｎ＝ｎ＋１）、ステップ３０６へ戻る。一方、ステップ３０８で肯定判断のときは、本ルーチンを終了する。
【００５４】
図１２は、リンクリスト構造の特殊ドライバ管理簿６６を、模式的に示したものである。なお、図１２では、各ノードに含まれる次のリンクを示すポインタの表記を省略している。特殊ドライバ管理簿６６は、始端となるノードの特殊ドライバ管理簿６６−１から順に、特殊ドライバ管理簿６６−２，６６−３，６６−４，６６−５，・・・，６６−Ｍ（Ｍは自然数）の各ノードが連結される。本実施形態では、各ノードの特殊ドライバ管理簿６６は、データとして、ＰＣＩアドレス、及びデバイスドライバの名称を示すドライバ名を含んでいる。なお、本実施形態では、ＰＣＩアドレスは「バス番号:デバイス番号.ファンクション番号」の形式として、ＰＣＩバス６８上のデバイスを識別することを可能としている。
【００５５】
また、特殊ドライバ管理簿６６は、仮想ファイルシステムのデータに関連づけられている。すなわち、通常の実体のあるファイルシステムとして、登録された特殊ドライバ管理ファイル８２より、オペレーティングシステムによる例えばシェルスクリプトの実行によって、仮想ファイルシステムが生成される。次に、特殊ドライバ管理ファイル８２がファイルFILE_Bとして登録されているときのオペレーティングシステムによるシェルスクリプトの一例を示す。オペレーティングシステムがＬＩＮＵＸ（登録商標）のときは、仮想ファイルシステムとして、sysfsファイルシステムを用いることができる。
・電源投入時の自動実行スクリプト「/etc/rc.d/rc/local」
・対象となるスクリプトの宣言「#!/bin/sh」
・スクリプトの内容「cat FILE_B > /sys/kernel/FILE_A」
【００５６】
つまり、ＣＰＵ４０は、仮想ファイル書込プロセス７８をメモリ５０へ展開する。ＣＰＵ４０は、展開された仮想ファイル書込プロセス５８によるスクリプトを実行することで、仮想ファイルシステム（sysfsファイルシステム）に、仮想的な特殊ドライバ管理ファイル８３を生成する。特殊ドライバ管理ファイル８３に含まれるＰＣＩアドレス、及びドライバ名のデータにより、特殊ドライバ管理簿６６を生成することができる（図１２に二点鎖線で対応関係を示した）。
【００５７】
次に、コンピュータシステム３８で実現された情報処理装置１０の具体的な作動を、図１３を参照してさらに説明する。図１３は、情報処理装置１０をコンピュータシステム３８で実現したときの処理の流れをシーケンシャルフローとして示したものである。
【００５８】
まず、ユーザは、コンピュータシステム３８を操作して、目的のＰＣＩデバイスに目的のデバイスドライバを登録するために、ＰＣＩカードの実装位置とドライバ名を情報として入力する（図１３のステップSF01）。コンピュータシステム３８は、入力されたＰＣＩカードの実装位置とドライバ名を示す情報を、特殊ドライバ管理ファイル８２の情報として、記憶部７０に格納する（ステップSF02）。記憶部７０に特殊ドライバ管理ファイル８２の情報が格納される処理により、ユーザが要求した特定の実装位置に特別なデバイスドライバを登録するための設定ファイルのデータ（特殊ドライバ管理ファイル８２の情報）が記録される（ステップSF03）。
【００５９】
次に、設定を反映させるために、ユーザは、コンピュータシステム３８を操作して、コンピュータシステム３８の電源遮断を指示する（ステップSF04）。コンピュータシステム３８は、電源遮断指示を受けつけて、コンピュータシステム３８の稼働を停止させる命令（Shutdown）を実行する（ステップSF05）。コンピュータシステム３８の電源遮断後に、ユーザは、コンピュータシステム３８の電源を投入するために、電源投入を指示する（ステップSF06）。コンピュータシステム３８は、電源投入指示を受けつけて、コンピュータシステム３８の電源投入を実行する（ステップSF07）。次に、コンピュータシステム３８では、ハードウェア診断処理が実行され（ステップSF08）、次にオペレーティングシステムが起動される（OS_boot：オペレーティングシステムを立ち上げる処理（ステップSF09）が実行される）。
【００６０】
次に、コンピュータシステム３８は、ＰＣＩバスにＰＣＩカードを登録するために、デバイス検出処理を実行する（ステップSF10）。デバイス検出処理では、ＣＰＵ４０がデバイス検出プロセス７６をメモリ５０へ展開しデバイス検出プロセス５６が実行される。デバイス検出プロセス５６の実行時には、デバイス管理簿６４が作成される（ステップSF11）。なお、ステップSF11では、後述する特殊ドライバ管理簿６６が生成されていないので、通常のデバイス管理簿６４によるデバイスドライバが登録される。
【００６１】
次に、コンピュータシステム３８は、仮想ファイル書込処理を実行する（ステップSF12）。仮想ファイル書込処理は、オペレーティングシステムによりＣＰＵ４０が仮想ファイル書込プロセス７８を実行する処理である。すなわち、仮想ファイル書込処理では、ＣＰＵ４０が仮想ファイル書込プロセス７８をメモリ５０へ展開し、仮想ファイル書込プロセス５８を実行する。仮想ファイル書込プロセス５８の実行時には、特殊ドライバ管理簿６６が作成される（ステップSF13）。
【００６２】
次に、コンピュータシステム３８は、ドライバ初期化処理を実行する（ステップSF14）。ドライバ初期化処理は、オペレーティングシステムによりＣＰＵ４０がドライバ初期化プロセス７４を実行する処理である。すなわち、ドライバ初期化処理では、ＣＰＵ４０がドライバ初期化プロセス７４をメモリ５０へ展開し、展開されたドライバ初期化プロセス５４が実行される。ドライバ初期化プロセス５４が実行されるときには、ドライバ管理簿６２が作成される（ステップSF17）。ドライバ初期化処理では、特殊ドライバ管理簿６６を参照し、特殊ドライバ管理簿６６に登録されているデバイスに対して、通常のデバイスドライバの登録が抑止される（ステップSF15,ステップSF18）。また、ドライバ初期化処理では、特殊ドライバ管理簿６６に登録されているＰＣＩカードに対して、特殊ドライバ管理簿６６に登録されているデバイスドライバが登録される（ステップSF16,ステップSF19）。
【００６３】
以上の処理によって、ユーザが指定した、目的のＰＣＩカードに、目的のデバイスドライバが登録される。
【００６４】
以上説明したように、本実施形態では、ユーザによって指定された識別情報による特殊ドライバ管理ファイル８２を用いて、ＰＣＩデバイスに、ユーザによって指定されたデバイスドライバを対応付けることができる。従って、同一ベンダーＩＤとデバイスＩＤの組み合わせを有する複数のＰＣＩデバイス（本実施形態ではＰＣＩカード）に対して、特定の実装位置に特別なデバイスドライバを登録させることができる。また、本実施形態によれば、デバイスドライバのバージョンアップによる機能低下（レベルダウン）の回避や抑制を目的として、試験的に別のデバイスドライバを登録して、デバイスドライバを検証したり評価したりすることが可能になる。
【００６５】
＜第２実施形態＞
上記第１実施形態では、ＰＣＩカードの実装位置を示す情報に、ＰＣＩカードのＰＣＩアドレス情報を用いた場合を説明した。本第２実施形態では、ＰＣＩカードの実装位置を示す情報として、スロット番号を用いた変形例を、図１４を参照して、説明する。なお、本第２実施形態は、上記第１実施形態とほぼ同様の構成のため、同一部分には同一符号を付して詳細な説明は省略する。
【００６６】
本実施形態にかかるコンピュータシステムの一例として、サービスプロセッサがsnmpマネージャ機能を備える大型サーバなどでは、ＰＣＩアドレスをスロット番号に置き換えることができる。すなわち、ＰＣＩアドレスは、ＰＣＩカードの搭載数などで変化する場合があるため、ＰＣＩアドレスをユーザインターフェイスとして用いる場合、不具合が生じる可能性を含んでいる。そこで、本実施形態では、ＰＣＩアドレスを、スロット番号に置き換えることにより、ＰＣＩカードの搭載数などで変化する可能性を含むＰＣＩアドレスに対する対処を可能にしたもである。
【００６７】
図１４に一例を示すように、本実施形態では、図１のユーザ層１２に代えて、ＰＣＩカードの物理的な実装位置とＰＣＩアドレスとの相互変換を実行する変換部９２を含むユーザ層１３を用いる。具体的には、ユーザ層１３には、指定領域９０と入力領域１８が含まれる。指定領域９０には、ユーザにより指定されたＰＣＩカードの実装位置としてのスロット番号と、指定されたデバイスドライバのドライバ名を対応付けた識別情報９１が格納される。また、ユーザ層１３は、snmpエージェント９３を含んでいる。snmpエージェント９３は、snmpマネージャ９４に対して、ＰＣＩアドレスとスロット番号との対応関係を示すデータを授受する。snmpマネージャ９４は、ＰＣＩアドレスとスロット番号との対応関係を示すデータが格納されたテーブル９５から該当する対応関係を示すデータを、snmpエージェント９３へ出力する。変換部９２は、指定領域９０の識別情報９１を、入力領域１８の識別情報２０に変換する機能を有している。
【００６８】
従って、ユーザは、ＰＣＩカードの実装位置としてのスロット番号と、デバイスドライバのドライバ名を指定するのみで、ＰＣＩカードの搭載数などに無関係に、ＰＣＩアドレスを得ることができる。本実施形態では、ＰＣＩカードの搭載数などで変化する可能性を有するＰＣＩアドレスに関して、ＰＣＩカードの実装位置としてのスロット番号を用いることにより、ＰＣＩカードの搭載数などに無関係に、ＰＣＩアドレスを得ることができる。
【００６９】
なお、上記では情報処理装置１０をコンピュータシステム３８により実現する一例を説明した。しかし、これらの構成に限定されるものではなく、上記説明した要旨を逸脱しない範囲において、各種の改良及び変更を行っても良いのはもちろんである。
【００７０】
また、上記ではプログラムが記憶部に予め記憶（インストール）されている態様を説明したが、プログラムを記憶部に予め記憶することに限定されるものではない。なお、開示の技術におけるプログラムは、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体に記録されている形態で提供することも可能である。
【００７１】
本明細書に記載された全ての文献、特許出願及び技術規格は、個々の文献、特許出願及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
【００７２】
以上の実施形態に関し、更に以下の付記を開示する。
【００７３】
（付記１）
デバイスのバスへの接続位置を示す位置情報と、該デバイスに対応するデバイスドライバを示すドライバ情報との対応関係を示す情報を格納する格納部と、
前記格納部に格納された前記対応関係を示す情報に基づいて、前記デバイスの前記バスへの接続位置を特定し、特定した該接続位置に接続されたデバイスを前記格納部に格納された前記ドライバ情報が示すデバイスドライバに対応付ける制御を行う制御部と、
を備え情報処理装置。
（付記２）
前記制御部は、
前記デバイスに前記デバイスドライバを対応付ける場合に、前記バスに接続されたデバイスの接続位置を示す情報が前記位置情報に含まれかつ、装置に予め登録されたデバイスドライバが前記ドライバ情報に含まれるときに、
前記バスに接続されたデバイスを前記予め登録されたデバイスドライバに対応付ける制御を行う登録部と、
前記バスに接続されたデバイスを前記予め登録されたデバイスドライバ以外のデバイスドライバに対応付ける制御を抑止する抑止部と、
を含む付記１に記載の情報処理装置。
（付記３）
前記位置情報及び前記ドライバ情報との対応関係を示す情報が識別情報として入力されかつ該入力された該識別情報を前記格納部に格納する格納処理部を含む、
付記１または付記２に記載の情報処理装置。
（付記４）
前記制御部は、デバイスの種類を識別するためのデバイスＩＤと、デバイスの供給元を識別するためのベンダＩＤとを含むデバイス固有情報、及び前記ドライバ情報を含むドライバ管理簿と、前記デバイス固有情報、及び前記バスへの接続位置を示す位置情報を含むデバイス管理簿とを、前記デバイス毎に作成し、かつ前記位置情報と及び前記ドライバ情報との対応関係を示す特殊ドライバ管理簿を前記格納部に格納された前記位置情報及びドライバ情報の対応関係を示す情報毎に作成し、
前記デバイス管理簿及び前記特殊ドライバ管理簿に基づいてデバイスとデバイスドライバを対応付ける
付記１〜付記３の何れか１項に記載の情報処理装置。
（付記５）
前記制御部は、前記格納部に格納された前記位置情報及びドライバ情報の対応関係を示す情報毎に作成する前記特殊ドライバ管理簿として、仮想的なファイル情報を作成し、作成した仮想的なファイル情報を前記特殊ドライバ管理簿として用いる
付記４に記載の情報処理装置。
（付記６）
前記バスは、ＰＣＩバスである、
付記１〜付記５の何れか１項に記載の情報処理装置。
（付記７）
デバイスのバスへの接続位置を示す位置情報と、該デバイスに対応するデバイスドライバを示すドライバ情報との対応関係を示す情報を格納し、
前記格納部に格納された前記対応関係を示す情報に基づいて、前記デバイスの前記バスへの接続位置を特定し、特定した該接続位置に接続されたデバイスを前記格納部に格納された前記ドライバ情報が示すデバイスドライバに対応付ける制御を行う、
情報処理方法。
（付記８）
前記デバイスを前記デバイスドライバに対応付ける制御を行うとき、前記バスに接続されたデバイスの接続位置を示す情報が前記位置情報に含まれかつ、装置に予め登録されたデバイスドライバが前記ドライバ情報に含まれるときに、
前記バスに接続されたデバイスを前記予め登録されたデバイスドライバに対応付ける制御を行い、
前記バスに接続されたデバイスを前記予め登録されたデバイスドライバ以外のデバイスドライバに対応付ける制御を抑止する、
付記７に記載の情報処理方法。
（付記９）
前記デバイスを前記デバイスドライバに対応付ける制御を行うとき、
前記識別情報が入力されかつ該入力された該識別情報を前記格納部に格納し、
前記位置情報及び前記ドライバ情報との対応関係を示す情報が識別情報として入力されかつ該入力された該識別情報を前記格納部に格納する、
付記７または付記８に記載の情報処理方法。
（付記１０）
前記デバイスを前記デバイスドライバに対応付ける制御を行うとき、
デバイスの種類を識別するためのデバイスＩＤと、デバイスの供給元を識別するためのベンダＩＤとを含むデバイス固有情報、及び前記ドライバ情報を含むドライバ管理簿と、前記デバイス固有情報、及び前記バスへの接続位置を示す位置情報を含むデバイス管理簿とを、前記デバイス毎に作成し、かつ前記位置情報と及び前記ドライバ情報との対応関係を示す特殊ドライバ管理簿を前記格納部に格納された前記位置情報及びドライバ情報の対応関係を示す情報毎に作成し、
前記デバイス管理簿及び前記特殊ドライバ管理簿に基づいてデバイスとデバイスドライバを対応付ける
付記７〜付記９の何れか１項に記載の情報処理方法。
（付記１１）
前記デバイスを前記デバイスドライバに対応付ける制御を行うとき、
前記格納部に格納された前記位置情報及びドライバ情報の対応関係を示す情報毎に作成する前記特殊ドライバ管理簿として、仮想的なファイル情報を作成し、作成した仮想的なファイル情報を前記特殊ドライバ管理簿として用いる
付記１０に記載の情報処理方法。
（付記１２）
前記バスは、ＰＣＩバスである、
付記７〜付記１１の何れか１項に記載の情報処理方法。
（付記１３）
コンピュータに、
前記コンピュータを、デバイスのバスへの接続位置を示す位置情報と、該デバイスに対応するデバイスドライバを示すドライバ情報との対応関係を示す情報を格納し、
前記格納部に格納された前記対応関係を示す情報に基づいて、前記デバイスの前記バスへの接続位置を特定し、特定した該接続位置に接続されたデバイスを前記格納部に格納された前記ドライバ情報が示すデバイスドライバに対応付ける制御を行う、
処理を実行させるための情報処理プログラム。
（付記１４）
コンピュータに、前記コンピュータを、付記７〜付記１２の何れか１項記載の情報処理方法に係る処理を実行させるための情報処理プログラム。
（付記１５）
コンピュータに、前記コンピュータを、付記７〜付記１２の何れか１項記載の情報処理方法に係る処理を実行させるための情報処理プログラムを記録した記録媒体。
【符号の説明】
【００７４】
１０    情報処理装置
１２    ユーザ層
１４    カーネル層
１６    物理層
２０    識別情報
２２    デバイスドライバ
２４    デバイスドライバ
２５    ドライバ層
２６    制御部
２８    抑止部
３０    登録部
３２    格納部
３４    識別情報
３６    ＰＣＩデバイス
３８    コンピュータシステム
４０    ＣＰＵ
５０    メモリ
５２    カーネルプログラム
５４    ドライバ初期化プロセス
５６    デバイス検出プロセス
５８    仮想ファイル書込プロセス
６０    カーネル管理簿
６２    ドライバ管理簿
６４    デバイス管理簿
６６    特殊ドライバ管理簿
６８    ＰＣＩバス
７０    記憶部
８４    ＰＣＩカード
【図１】
0005846016.tif 000002
【図２】
0005846016.tif 000003
【図３】
0005846016.tif 000004
【図４】
0005846016.tif 000005
【図５】
0005846016.tif 000006
【図６】
0005846016.tif 000007
【図７】
0005846016.tif 000008
【図８】
0005846016.tif 000009
【図９】
0005846016.tif 000010
【図１０】
0005846016.tif 000011
【図１１】
0005846016.tif 000012
【図１２】
0005846016.tif 000013
【図１３】
0005846016.tif 000014
【図１４】
0005846016.tif 000015