(57)【要約】      （修正有）【課題】ＰＩＯ割当可能数を上回る数の拡張装置を情報処理装置に搭載する場合においても、拡張ＢＩＯＳによる設定を各拡張装置に対して行う。【解決手段】本情報処理装置は、情報処理装置に搭載される複数の拡張装置の数が、Ｉ／Ｏ空間にマップすることができる拡張装置の数の上限より大きい場合、複数の拡張装置を、各グループに含まれる拡張装置の数が上限以下になるようにグループ分けするグルーピング部と、グループ毎に、当該グループに含まれる拡張装置の記憶装置をＩ／Ｏ空間にマップする第１の処理と、当該グループに含まれる拡張装置に対して拡張ＢＩＯＳによる設定を記憶装置を使用して行う第２の処理と、第２の処理の完了後に記憶装置をＩ／Ｏ空間からアンマップする第３の処理とを実行する第１実行部とを有する。【選択図】図４
2018151890.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置に搭載される複数の拡張装置の数が、Ｉ／Ｏ（Input/Output）空間にマップすることができる拡張装置の数の上限より大きい場合、前記複数の拡張装置を、各グループに含まれる拡張装置の数が前記上限以下になるようにグループ分けするグルーピング部と、
グループ毎に、当該グループに含まれる拡張装置の記憶装置を前記Ｉ／Ｏ空間にマップする第１の処理と、当該グループに含まれる拡張装置に対して拡張ＢＩＯＳ（Basic Input/Output System）による設定を前記記憶装置を使用して行う第２の処理と、前記第２の処理の完了後に前記記憶装置を前記Ｉ／Ｏ空間からアンマップする第３の処理とを実行する第１実行部と、
を有する情報処理装置。
【請求項２】
前記情報処理装置が、
前記第１実行部の処理が完了した場合、前記複数の拡張装置のうち、オペレーティングシステムのプログラムが格納された外部記憶装置に接続された拡張装置を含む第１のグループを特定し、特定した当該第１のグループに含まれる拡張装置の記憶装置を前記Ｉ／Ｏ空間にマップする第２実行部と、
前記第２実行部により前記Ｉ／Ｏ空間にマップされた記憶装置を使用して、前記外部記憶装置に格納された、前記オペレーティングシステムのプログラムを起動する起動部と、
をさらに有する請求項１記載の情報処理装置。
【請求項３】
前記第１実行部は、
前記第１の処理と前記第２の処理とを特定のグループに実行している間、前記特定のグループ以外のグループに含まれる拡張装置を隠蔽する、
請求項１又は２記載の情報処理装置。
【請求項４】
前記グルーピング部は、
前記複数の拡張装置を、各グループに含まれる拡張装置の数が前記上限以下になり且つ各グループに含まれる拡張装置の種類が単一になるようにグループ分けする、
請求項１乃至３のいずれか１つ記載の情報処理装置。
【請求項５】
プロセッサが、
情報処理装置に搭載される複数の拡張装置の数が、Ｉ／Ｏ（Input/Output）空間にマップすることができる拡張装置の数の上限より大きい場合、前記複数の拡張装置を、各グループに含まれる拡張装置の数が前記上限以下になるようにグループ分けし、
グループ毎に、当該グループに含まれる拡張装置の記憶装置を前記Ｉ／Ｏ空間にマップする第１の処理と、当該グループに含まれる拡張装置に対して拡張ＢＩＯＳ（Basic Input/Output System）による設定を前記記憶装置を使用して行う第２の処理と、前記第２の処理の完了後に前記記憶装置を前記Ｉ／Ｏ空間からアンマップする第３の処理とを実行する、
処理を実行する拡張装置設定方法。
【請求項６】
プロセッサに、
情報処理装置に搭載される複数の拡張装置の数が、Ｉ／Ｏ（Input/Output）空間にマップすることができる拡張装置の数の上限より大きい場合、前記複数の拡張装置を、各グループに含まれる拡張装置の数が前記上限以下になるようにグループ分けし、
グループ毎に、当該グループに含まれる拡張装置の記憶装置を前記Ｉ／Ｏ空間にマップする第１の処理と、当該グループに含まれる拡張装置に対して拡張ＢＩＯＳ（Basic Input/Output System）による設定を前記記憶装置を使用して行う第２の処理と、前記第２の処理の完了後に前記記憶装置を前記Ｉ／Ｏ空間からアンマップする第３の処理とを実行する、
処理を実行させる拡張装置設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、拡張装置の設定技術に関する。
【背景技術】
【０００２】
一般的な情報処理装置は、情報処理装置の機能を拡張するために搭載される拡張装置（例えば、拡張カード）を接続可能な汎用の拡張バスを有する。拡張バスの規格としては、例えば、ＵＳＢ（Universal Serial Bus）、ＩＥＥＥ（Institute of Electrical and Electronic Engineers）１３９４、ＰＣＩ（Peripheral Component Interconnect）、ＰＣＩ Ｅｘｐｒｅｓｓ等が有る。
【０００３】
情報処理装置の電源が投入されると、まずＢＩＯＳ（Basic Input/Output System）が実行される。ＢＩＯＳは、ハードウエアの初期化等を実行する。
【０００４】
ＢＩＯＳによる初期化においては、情報処理装置に搭載された拡張装置のレジスタがメモリ空間またはＩ／Ｏ（Input/Output）空間にマップされ、これによりＣＰＵ（Central Processing Unit）が拡張装置のレジスタにアクセスできるようになる。拡張装置のレジスタをメモリ空間にマップすることはメモリマップドＩ／Ｏ（ＭＭＩＯ：Memory-Mapped Input/Output）と呼ばれ、拡張装置のレジスタをＩ／Ｏ空間にマップすることはポートマップドＩ／Ｏ（ＰＩＯ：Port-mapped Input/Output）と呼ばれる。ＰＩＯは、Ｉ／ＯマップドＩ／Ｏとも呼ばれる。
【０００５】
マッピングが終了した後、ＢＩＯＳは拡張ＢＩＯＳを実行する。拡張ＢＩＯＳは、拡張装置の機能をサポートするために拡張装置上のＲＯＭ（Read Only Memory）に内蔵されたソフトウエアであり、拡張装置に固有の初期化を実行する。拡張ＢＩＯＳは特定のメモリ空間にしかアクセスすることができないため、拡張ＢＩＯＳによる初期化においては、ＰＩＯでマップされたＩ／Ｏ空間が使用される。
【０００６】
例えば拡張装置がＰＣＩ Ｅｘｐｒｅｓｓカードである場合、拡張ＢＩＯＳによる初期化においては、拡張スロットに予め割り当てられたＩ／Ｏ空間のアドレス（０ｘ１０００（すなわち４ＫｉＢ（キビバイト）））が使用される。一方で、情報処理装置が使用可能なＩ／Ｏ空間のアドレスの範囲は限られており、例えば情報処理装置がＰＣ（Personal Computer）サーバである場合、Ｉ／Ｏ空間のアドレス範囲は０ｘ００００から０ｘＦＦＦＦ（すなわち６４ＫｉＢ）である。従って、ＰＣサーバにＰＣＩ Ｅｘｐｒｅｓｓカードを搭載する場合には、図１に示すように、多くとも１６個の拡張装置しかＩ／Ｏ空間にマップすることができない。以下では、Ｉ／Ｏ空間にマップすることができる拡張装置の数の上限のことを、ＰＩＯ割当可能数と呼ぶ。
【０００７】
ＰＩＯ割当可能数の制約があるため、情報処理装置に搭載される拡張装置の数が多くなると、全ての拡張装置のレジスタをＩ／Ｏ空間にマップすることができないことがある。この場合、拡張ＢＩＯＳが設定を適切に行うことができず、さらに、拡張ＢＩＯＳの実装によっては、リトライ処理等が原因で失敗までに分単位の時間がかかることがある。結果として、外部記憶装置からＯＳ（Operating System）を起動することができないという問題あるいはウォッチドッグタイマ等の死活監視がタイムアウトするという問題等が発生する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１０−２６９１６２号公報
【特許文献２】特開平１１−８５６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本発明の目的は、１つの側面では、ＰＩＯ割当可能数を上回る数の拡張装置を情報処理装置に搭載する場合においても、拡張ＢＩＯＳによる設定を各拡張装置に対して行うための技術を提供することである。
【課題を解決するための手段】
【００１０】
一態様に係る情報処理装置は、情報処理装置に搭載される複数の拡張装置の数が、Ｉ／Ｏ（Input/Output）空間にマップすることができる拡張装置の数の上限より大きい場合、複数の拡張装置を、各グループに含まれる拡張装置の数が上限以下になるようにグループ分けするグルーピング部と、グループ毎に、当該グループに含まれる拡張装置の記憶装置をＩ／Ｏ空間にマップする第１の処理と、当該グループに含まれる拡張装置に対して拡張ＢＩＯＳ（Basic Input/Output System）による設定を記憶装置を使用して行う第２の処理と、第２の処理の完了後に記憶装置をＩ／Ｏ空間からアンマップする第３の処理とを実行する第１実行部とを有する。
【発明の効果】
【００１１】
１つの側面では、ＰＩＯ割当可能数を上回る数の拡張装置を情報処理装置に搭載する場合においても、拡張ＢＩＯＳによる設定を各拡張装置に対して行えるようになる。
【図面の簡単な説明】
【００１２】
【図１】図１は、ＰＩＯ割当可能数について説明するための図である。
【図２】図２は、第１の実施の形態の情報処理装置のハードウエア構成図である。
【図３】図３は、アドレス空間について説明するための図である。
【図４】図４は、ＢＩＯＳの機能ブロック図である。
【図５】図５は、拡張装置のレジスタ構成について説明するための図である。
【図６】図６は、拡張装置のレジスタ構成について説明するための図である。
【図７】図７は、拡張スロットのレジスタ構成について説明するための図である。
【図８】図８は、メインの処理フローを示す図である。
【図９】図９は、メインの処理フローを示す図である。
【図１０】図１０は、Ｉ／Ｏ空間の割当の処理フローを示す図である。
【図１１】図１１は、ＰＩＯ割当データ格納部に格納されるＰＩＯ割当データの一例を示す図である。
【図１２】図１２は、隠蔽処理の処理フローを示す図である。
【図１３】図１３は、拡張装置の隠蔽について説明するための図である。
【図１４】図１４は、第１設定処理の処理フローを示す図である。
【図１５】図１５は、隠蔽解除処理の処理フローを示す図である。
【図１６】図１６は、割当解除処理の処理フローを示す図である。
【図１７】図１７は、メインの処理フローを示す図である。
【図１８】図１８は、Ｉ／Ｏ空間の再割当の処理フローを示す図である。
【図１９】図１９は、第２設定処理の処理フローを示す図である。
【図２０】図２０は、本実施の形態における処理を説明するための図である。
【図２１】図２１は、本実施の形態における処理を説明するための図である。
【図２２】図２２は、本実施の形態における処理を説明するための図である。
【図２３】図２３は、本実施の形態における処理を説明するための図である。
【図２４】図２４は、本実施の形態における処理を説明するための図である。
【図２５】図２５は、各拡張装置に対するＩ／Ｏ空間アドレスの割当の状態の遷移について説明するための図である。
【図２６】図２６は、第２の実施の形態の情報処理装置のハードウエア構成図である。
【図２７】図２７は、第２の実施の形態のＰＩＯ割当データ格納部に格納されるＰＩＯ割当データの一例を示す図である。
【図２８】図２８は、Ｉ／Ｏ空間の再割当について説明するための図である。
【図２９】図２９は、Ｉ／Ｏ空間の再割当について説明するための図である。
【発明を実施するための形態】
【００１３】
［実施の形態１］
図２に、第１の実施の形態の情報処理装置１のハードウエア構成を示す。例えばＰＣサーバである情報処理装置１は、ＣＰＵ１０１と、メモリ１０２と、ＢＩＯＳイメージ１０３０を格納する不揮発性メモリであるＲＯＭ１０３と、拡張スロット１０４ａ乃至１０４ｃとを有する。ＣＰＵ１０１と、メモリ１０２と、ＢＩＯＳイメージ１０３０を格納するＲＯＭ１０３と、拡張スロット１０４ａ乃至１０４ｃとは、バスを介して互いに接続される。
【００１４】
拡張スロット１０４ａには、拡張ＢＩＯＳイメージ１０５０ａをＲＯＭに格納する拡張装置１０５ａが搭載される。拡張スロット１０４ｂには、拡張ＢＩＯＳイメージ１０５０ｂをＲＯＭに格納する拡張装置１０５ｂが搭載される。拡張スロット１０４ｃには、拡張ＢＩＯＳイメージ１０５０ｃをＲＯＭに格納する拡張装置１０５ｃが搭載される。拡張装置１０５ｂには、例えばＨＤＤ（Hard Disk Drive）であり且つＯＳイメージ１０６０を格納する外部記憶装置１０６が接続される。拡張装置１０５ａ乃至１０５ｃは、例えば、ＦＣ（Fibre Channel）カード、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）カード及びＬＡＮ（Local Area Network）カード等である。
【００１５】
なお、拡張スロットの数および拡張装置の数は３であるが、数に限定は無い。
【００１６】
図３を用いて、アドレス空間について説明する。本実施の形態のアドレス空間には、メモリ空間と、Ｉ／Ｏ空間とが含まれる。図３の例では、ＢＩＯＳと、ＯＳと、複数の拡張ＢＩＯＳと、複数の拡張装置（より厳密には、拡張装置上の装置のうちメモリ空間にマップされる装置）とがメモリ空間に割り当てられる。また、複数の拡張装置（より厳密には、拡張装置上の装置のうちＩ／Ｏ空間にマップされる装置（例えば、拡張ＢＩＯＳによる初期化に使用されるレジスタ））がＩ／Ｏ空間にマップされる。
【００１７】
ＢＩＯＳイメージ１０３０は、ＣＰＵ１０１によりメモリ１０２に読み出されて実行されることで、ＢＩＯＳの機能を実現する。図４に、ＢＩＯＳの機能ブロック図を示す。ＢＩＯＳは、初期化部１１１と、第１マッピング部１１２と、グルーピング部１１３と、第２マッピング部１１４と、第３マッピング部１１５と、起動処理部１１６と、ＰＩＯ割当データ格納部１１７とを含む。
【００１８】
初期化部１１１は、情報処理装置１のハードウエア（例えば、ＣＰＵ１０１及びメモリ１０２）の初期化を実行する。第１マッピング部１１２は、メモリ空間へのマッピングを実行する。グルーピング部１１３は、複数の拡張装置をグループ分けする。第２マッピング部１１４は、Ｉ／Ｏ空間へのマッピングを実行し、実行結果に基づきＰＩＯ割当データ格納部１１７に格納されているＰＩＯ割当データを更新する。第３マッピング部１１５は、外部記憶装置１０６に接続されている拡張装置１０５ｂと、拡張装置１０５ｂと同じグループに属する拡張装置とについて、ＰＩＯ割当データに基づきＩ／Ｏ空間への再マッピングを実行する。起動処理部１１６は、外部記憶装置１０６に格納されているＯＳイメージ１０６０を用いたＯＳ起動を実行する。
【００１９】
図５乃至図７を用いて、拡張装置及び拡張スロットのレジスタ構成について説明する。例えばＰＣＩ Ｅｘｐｒｅｓｓにおいては、拡張装置が有する機能毎に「ファンクション」と呼ばれるデバイス単位が存在する。例えばマルチポートのネットワークの場合、物理ポート毎にファンクションが存在する。ファンクションは、ＰＣＩ Ｅｘｐｒｅｓｓの標準仕様で規定されたＰＣＩ Ｅｘｐｒｅｓｓコンフィグレーション空間、デバイス固有のレジスタ、および拡張ＢＩＯＳイメージが格納されたＲＯＭを有する。コンフィグレーション空間には、図５に示すように、デバイスＩＤ（IDentifier）と、ベンダＩＤと、ベースアドレスレジスタの値と、サブシステムＩＤと、サブシステムベンダＩＤと、拡張ＲＯＭベースアドレスとが設定される。
【００２０】
ファンクションは、ＰＣＩ Ｅｘｐｒｅｓｓの仕様で規定された特定の番地を有し、この番地を使用すればファンクションのコンフィグレーション空間にアクセスすることができる。レジスタおよび拡張ＢＩＯＳは、メモリ空間或いはＩ／Ｏ空間にマップされる。より具体的には、図５におけるベースアドレスレジスタ或いは拡張ＲＯＭベースアドレスのレジスタに、マッピングの位置が設定される。図６の例においては、ファンクション１ｆのレジスタのマップ先が、コンフィグレーション空間のベースアドレスレジスタ０に設定されている。
【００２１】
コンフィグレーション空間のベースアドレスレジスタ数は最大で６である。ベースアドレスレジスタとレジスタとの対応関係およびレジスタのマップ先は、ＰＣＩ Ｅｘｐｒｅｓｓカード毎に設定される。
【００２２】
なお、拡張装置が拡張スロットに搭載されている場合、ベースアドレスレジスタの値は、スロットに設定されたメモリ空間及びＩ／Ｏ空間の範囲に制限される。メモリ空間及びＩ／Ｏ空間の範囲は、例えば図７に示すように、拡張スロットのコンフィグレーション空間におけるＩ／Ｏリミット、Ｉ／Ｏベース、メモリリミット及びメモリベース等に設定される。
【００２３】
次に、図８乃至図１９を用いて、本実施の形態の情報処理装置１の起動時に実行される処理について説明する。
【００２４】
情報処理装置１の電源が投入されると、ＢＩＯＳの実行が開始される。ＢＩＯＳの初期化部１１１は、ＣＰＵ１０１およびメモリ１０２等のハードウエアを初期化する（図８：ステップＳ１）。
【００２５】
第１マッピング部１１２は、情報処理装置１に搭載された拡張装置のうち未処理の拡張装置を１台特定する（ステップＳ３）。
【００２６】
第１マッピング部１１２は、ステップＳ３において特定した拡張装置のコンフィグレーション空間に設定された値に従って、メモリ空間にマップされるべき装置をメモリ空間にマップする（ステップＳ５）。
【００２７】
第１マッピング部１１２は、ステップＳ３において特定した拡張装置の拡張ＢＩＯＳイメージを、その拡張装置のＲＯＭから読み出してメモリ１０２に展開する（ステップＳ７）。
【００２８】
第１マッピング部１１２は、未処理の拡張装置が有るか判定する（ステップＳ９）。未処理の拡張装置が有る場合（ステップＳ９：Ｙｅｓルート）、処理はステップＳ３に戻る。一方、未処理の拡張装置が無い場合（ステップＳ９：Ｎｏルート）、処理は端子Ａを介して図９のステップＳ１１に移行する。
【００２９】
図９の説明に移行し、第２マッピング部１１４は、情報処理装置１に搭載された拡張装置のうち未処理の拡張装置を１台特定する（図９：ステップＳ１１）。
【００３０】
第２マッピング部１１４は、ステップＳ１１において特定した拡張装置について拡張ＢＩＯＳを実行済みであるか判定する（ステップＳ１３）。拡張ＢＩＯＳを実行済みであるか否かは、例えば、ＰＩＯ割当データに、ステップＳ１１において特定した拡張装置についてのデータが含まれるか否かによって判定される。
【００３１】
ステップＳ１１において特定した拡張装置について拡張ＢＩＯＳを実行済みである場合（ステップＳ１３：Ｙｅｓルート）、処理はステップＳ２９に移行する。一方、ステップＳ１１において特定した拡張装置について拡張ＢＩＯＳを実行済みではない場合（ステップＳ１３：Ｎｏルート）、第２マッピング部１１４は、グルーピング部１１３を呼び出す。そして、グルーピング部１１３は、ステップＳ１１において特定した拡張装置について拡張装置識別子を生成する（ステップＳ１５）。拡張装置識別子は、拡張ＢＩＯＳの実行対象である拡張装置をグループ化するために使用される識別子であり、拡張装置のベンダＩＤ、デバイスＩＤ、サブシステムベンダＩＤ、或いはサブシステムＩＤ等を用いて生成される。
【００３２】
グルーピング部１１３は、ステップＳ１１において特定した拡張装置と同じ種類の拡張装置を複数の拡張装置から探索し、ステップＳ１１において特定した拡張装置と探索により特定された拡張装置とを含むグループを生成する（ステップＳ１７）。但し、ステップＳ１７においては、グループに属する拡張装置の数がＰＩＯ割当可能数を超えないようにグループが生成される。同じ種類の拡張装置であるか否かは、例えば、拡張装置のベンダＩＤ、デバイスＩＤ、サブシステムベンダＩＤ、或いはサブシステムＩＤ等を用いて判定される。ステップＳ１７において生成されたグループに属する各拡張装置には、ステップＳ１５において生成された拡張装置識別子が付与される。
【００３３】
そして、第２マッピング部１１４は、ステップＳ１７において生成されたグループに対して、Ｉ／Ｏ空間の割当を実行する（ステップＳ１９）。Ｉ／Ｏ空間の割当については、図１０及び図１１を用いて説明する。
【００３４】
まず、第２マッピング部１１４は、ステップＳ１７において生成されたグループから未処理の拡張装置を１台特定する（図１０：ステップＳ５１）。
【００３５】
第２マッピング部１１４は、ステップＳ５１において特定した拡張装置のレジスタ（具体的には、拡張ＢＩＯＳによる初期化に使用されるレジスタ）を、Ｉ／Ｏ空間へマップする（ステップＳ５３）。
【００３６】
第２マッピング部１１４は、ステップＳ１７において生成されたグループの中に未処理の拡張装置が有るか判定する（ステップＳ５５）。
【００３７】
未処理の拡張装置が有る場合（ステップＳ５５：Ｙｅｓルート）、処理はステップＳ５１に戻る。一方、未処理の拡張装置が無い場合（ステップＳ５５：Ｎｏルート）、第２マッピング部１１４は、以下の処理を実行する。具体的には、第２マッピング部１１４は、ステップＳ１７において生成されたグループのグループＩＤ、拡張装置の拡張装置識別子、拡張装置の搭載位置の情報、及び各拡張装置に割り当てられるアドレスの範囲の情報をＰＩＯ割当データ格納部１１７に格納する（ステップＳ５７）。そして処理は呼び出し元に戻る。
【００３８】
図１１に、ＰＩＯ割当データ格納部１１７に格納されるＰＩＯ割当データの一例を示す。図１１の例では、拡張装置識別子と、グループＩＤと、拡張装置の搭載位置の情報と、拡張装置に割り当てられるアドレスの範囲の情報とが格納される。
【００３９】
図９の説明に戻り、第２マッピング部１１４は、ステップＳ１７において生成されたグループに属さない拡張装置（すなわち、他のグループに属する拡張装置）について、隠蔽処理を実行する（ステップＳ２１）。隠蔽処理については、図１２及び図１３を用いて説明する。
【００４０】
まず、第２マッピング部１１４は、ＰＩＯ割当データ格納部１１７に格納されているＰＩＯ割当データに基づき、ステップＳ１７において生成されたグループに属さない拡張装置を特定する（図１２：ステップＳ６１）。ステップＳ６１においては、ステップＳ１５において生成された拡張装置識別子を有するが異なるグループに属する拡張装置、ステップＳ１５において生成された拡張装置識別子以外の拡張装置識別子を有する拡張装置、または拡張装置識別子が付与されていない拡張装置が特定される。
【００４１】
第２マッピング部１１４は、ステップＳ６１において特定した拡張装置のうち未処理の拡張装置を１つ特定する（ステップＳ６３）。
【００４２】
第２マッピング部１１４は、ステップＳ６３において特定した拡張装置と、その拡張装置が搭載された拡張スロットとの間の接続を無効化する（ステップＳ６５）。この処理により、グループに属さない拡張装置に対して設定が行われることを防ぐことができる。
【００４３】
図１３を用いて、ステップＳ６５の処理について説明する。図１３に示すように、拡張スロットのコンフィグレーション空間におけるレジスタ（例えば、リンク制御レジスタ）の特定のビットを操作することで、拡張スロットの配下にＰＣＩバスの割当が無い状態を作り出し、拡張スロットと拡張装置との間の接続を一時的に切断することができる。その他の方法として、スロット制御レジスタにおける特定のビットを操作することで、拡張スロットの電源をオフにしてもよい。
【００４４】
第２マッピング部１１４は、ステップＳ６１において特定した拡張装置のうち未処理の拡張装置が有るか判定する（ステップＳ６７）。未処理の拡張装置が有る場合（ステップＳ６７：Ｙｅｓルート）、処理はステップＳ６３に戻る。一方、未処理の拡張装置が無い場合（ステップＳ６７：Ｎｏルート）、処理は呼び出し元に戻る。
【００４５】
図９の説明に戻り、第２マッピング部１１４は、ステップＳ１１において特定された拡張装置の拡張ＢＩＯＳを呼び出し、第１設定処理を実行させる（ステップＳ２３）。第１設定処理については、図１４を用いて説明する。なお、第１設定処理は拡張ＢＩＯＳによる設定処理の一例である。
【００４６】
まず、拡張ＢＩＯＳは、ステップＳ１７において生成されたグループから未処理の拡張装置を１台特定する（図１４：ステップＳ７１）。
【００４７】
拡張ＢＩＯＳは、Ｉ／Ｏ空間のアドレスを使用して、ステップＳ７１において特定した拡張装置を設定する（ステップＳ７３）。ステップＳ７３における設定とは、例えば、レジスタ等のハードウエアの設定（例えば初期化）である。
【００４８】
拡張ＢＩＯＳは、未処理の拡張装置が有るか判定する（ステップＳ７５）。未処理の拡張装置が有る場合（ステップＳ７５：Ｙｅｓルート）、処理はステップＳ７１に戻る。一方、未処理の拡張装置が無い場合（ステップＳ７５：Ｎｏルート）、処理は呼び出し元に戻る。
【００４９】
図９の説明に戻り、第２マッピング部１１４は、隠蔽解除処理を実行する（ステップＳ２５）。隠蔽解除処理については、図１５を用いて説明する。
【００５０】
まず、第２マッピング部１１４は、ステップＳ１７において生成したグループに属さない拡張装置のうち未処理の拡張装置を１台特定する（図１５：ステップＳ８１）。
【００５１】
第２マッピング部１１４は、ステップＳ８１において特定された拡張装置と、その拡張装置が搭載された拡張スロットとの間の接続を有効化する（ステップＳ８３）。本処理は、ステップＳ６５の処理の逆の処理である。
【００５２】
第２マッピング部１１４は、未処理の拡張装置が有るか判定する（ステップＳ８５）。未処理の拡張装置が有る場合（ステップＳ８５：Ｙｅｓルート）、処理はステップＳ８１に戻る。一方、未処理の拡張装置が無い場合（ステップＳ８５：Ｎｏルート）、処理は呼び出し元に戻る。
【００５３】
図９の説明に戻り、第２マッピング部１１４は、割当解除処理を実行する（ステップＳ２７）。割当解除処理については、図１６を用いて説明する。
【００５４】
まず、第２マッピング部１１４は、ステップＳ１７において生成したグループから未処理の拡張装置を１台特定する（図１６：ステップＳ９１）。
【００５５】
第２マッピング部１１４は、ステップＳ９１において特定した拡張装置のレジスタ（具体的には、拡張ＢＩＯＳによる初期化に使用されたレジスタ）を、Ｉ／Ｏ空間からアンマップする（ステップＳ９３）。ステップＳ９３においては、拡張装置のベースアドレスレジスタに初期値（例えば０）が書き込まれる。
【００５６】
第２マッピング部１１４は、未処理の拡張装置が有るか判定する（ステップＳ９５）。未処理の拡張装置が有る場合（ステップＳ９５：Ｙｅｓルート）、処理はステップＳ９１に戻る。一方、未処理の拡張装置が無い場合（ステップＳ９５：Ｎｏルート）、処理は呼び出し元に戻る。
【００５７】
図９の説明に戻り、第２マッピング部１１４は、情報処理装置１に搭載された拡張装置のうち未処理の拡張装置が有るか判定する（ステップＳ２９）。未処理の拡張装置が有る場合（ステップＳ２９：Ｙｅｓルート）、処理はステップＳ１１に戻る。一方、未処理の拡張装置が無い場合（ステップＳ２９：Ｎｏルート）、処理は端子Ｂを介して図１７のステップＳ３１に移行する。
【００５８】
図１７の説明に移行し、第３マッピング部１１５は、起動対象のＯＳのイメージを格納した外部記憶装置（本実施の形態においては、外部記憶装置１０６）に接続された拡張装置を特定する（図１７：ステップＳ３１）。ステップＳ３１においては、例えば、ＢＩＯＳの設定メニューを介して登録された起動優先度の情報或いはユーザからの指定等を基に特定される。
【００５９】
第３マッピング部１１５は、ＰＩＯ割当データ格納部１１７に格納されているＰＩＯ割当データに基づき、ステップＳ３１において特定した拡張装置の拡張装置識別子を特定する（ステップＳ３３）。
【００６０】
第３マッピング部１１５は、ＰＩＯ割当データ格納部１１７に格納されているＰＩＯ割当データに基づき、ステップＳ３１において特定した拡張装置と同じ種類の（すなわち、同一の拡張装置識別子を有する）拡張装置が属するグループを特定する（ステップＳ３５）。なお、外部記憶装置１０６に接続された拡張装置１０５ｂだけではなく、同じグループに属する拡張装置についても、後述するＩ／Ｏ空間の再割当を実行することでＯＳを正常に起動することができるようになる。
【００６１】
第３マッピング部１１５は、Ｉ／Ｏ空間の再割当を実行する（ステップＳ３７）。Ｉ／Ｏ空間の再割当については、図１８を用いて説明する。
【００６２】
まず、第３マッピング部１１５は、ステップＳ３５において特定されたグループから未処理の拡張装置を１つ特定する（図１８：ステップＳ１０１）。
【００６３】
第３マッピング部１１５は、ステップＳ１０１において特定した拡張装置のレジスタを、Ｉ／Ｏ空間へマップする（ステップＳ１０３）。
【００６４】
第３マッピング部１１５は、ステップＳ３５において特定されたグループに未処理の拡張装置が有るか判定する（ステップＳ１０５）。未処理の拡張装置が有る場合（ステップＳ１０５：Ｙｅｓルート）、処理はステップＳ１０１に戻る。一方、未処理の拡張装置が無い場合（ステップＳ１０５：Ｎｏルート）、処理は呼び出し元に戻る。
【００６５】
図１７の説明に戻り、起動処理部１１６は、外部記憶装置１０６に格納されたブートローダを実行してＯＳを起動する（ステップＳ３９）。ステップＳ３９においては、ステップＳ１０３において設定された、Ｉ／Ｏ空間のアドレスが使用される。
【００６６】
そして、起動が完了したＯＳのドライバは、第２設定処理を実行する（ステップＳ４１）。第２設定処理については、図１９を用いて説明する。
【００６７】
まず、ＯＳのドライバは、ステップＳ３５において特定したグループから未処理の拡張装置を１台特定する（図１９：ステップＳ１１１）。
【００６８】
ＯＳのドライバは、メモリ空間のアドレスを使用して、ステップＳ１１１において特定した拡張装置を設定する（ステップＳ１１３）。ステップＳ１１３においては、Ｉ／Ｏ空間のアドレスは使用されない。よって、ＯＳの起動後はＩ／Ｏ空間の割当が行われていなくても問題が無い。
【００６９】
ＯＳのドライバは、ステップＳ３５において特定したグループに未処理の拡張装置が有るか判定する（ステップＳ１１５）。未処理の拡張装置が有る場合（ステップＳ１１５：Ｙｅｓルート）、処理はステップＳ１１１に戻る。一方、未処理の拡張装置が無い場合（ステップＳ１１５：Ｎｏルート）、処理は呼び出し元に戻り終了する。
【００７０】
図２０乃至図２４を用いて、本実施の形態における処理をより具体的に説明する。
【００７１】
まず、本実施の形態においては情報処理装置１に搭載された複数の拡張装置がグループ分けされる。例えば図２０に示すように、グループＧＡ１とグループＧＢ１とにグループ分けされたとする。グループＧＡ１に属する拡張装置の数およびグループＧＢ１に属する拡張装置の数は１６である。グループＧＢ１に属する拡張装置Ｂ−１に、ＯＳイメージを格納する外部記憶装置が接続されているとする。図２０の時点では、Ｉ／Ｏ空間の割当は行われていない。
【００７２】
図２１に示すように、グループＧＡ１に属する拡張装置のレジスタがＩ／Ｏ空間へマッピングされたとする。マッピングが行われると、ＰＩＯ割当データ格納部１１７に格納されているＰＩＯ割当データに、グループＧＡ１についてのデータが追加される。
【００７３】
図２２に示すように、グループＧＡ１についてマッピングが完了すると、グループＧＡ１以外のグループであるグループＧＢ１に属する拡張装置について隠蔽処理が実行される。
【００７４】
図２３に示すように、拡張ＢＩＯＳは、Ｉ／Ｏ空間のアドレスを使用してグループＧＡ１に属する拡張装置にアクセスし且つ拡張装置に固有の設定を行う。グループＧＢ１に属する拡張装置は隠蔽されているため、グループＧＢ１に属する拡張装置に対しては設定は行われない。
【００７５】
同様にして、グループＧＢ１に属する拡張装置についても拡張ＢＩＯＳによる設定が行われる。すると、グループＧＢ１についての割当は解除され、いずれのグループについてもＩ／Ｏ空間にマッピングされていない状態になる。但し、図２４に示すように、グループＧＢ１については、拡張装置Ｂ−１に起動対象のＯＳのイメージを格納する外部記憶装置が接続されているため、ＰＩＯ割当データ格納部１１７に格納されているＰＩＯ割当データに従って、Ｉ／Ｏ空間に再度マッピングされる。これにより、外部記憶装置からＯＳを起動することができるようになる。
【００７６】
図２５を用いて、各拡張装置に対するＩ／Ｏ空間アドレスの割当の状態の遷移について説明する。ここでは、グループＧＡ１に拡張装置Ａ−１が属し、グループＧＢ１に拡張装置Ｂ−１乃至Ｂ−１６が属し、グループＧＢ２に拡張装置Ｂ−１７が属するとする。
【００７７】
初期状態においては、いずれの拡張装置に対しても割当は行われていない。
【００７８】
次の段階においては、グループＧＡ１に属する拡張装置Ａ−１に対して０ｘ００００から０ｘ０ＦＦＦまでのアドレスが割り当てられており、その他のグループに属する拡張装置に対してはＩ／Ｏ空間のアドレスが割り当てられていない。
【００７９】
次の段階においては、グループＧＢ１に属する拡張装置およびグループＧＢ２に属する拡張装置について隠蔽処理が行われる。
【００８０】
次の段階においては、グループＧＡ１に属する拡張装置Ａ−１に対して、拡張ＢＩＯＳによる設定が行われる。ここで、グループＧＡ１以外のグループに属する拡張装置に対しては、隠蔽処理が行われているので、拡張ＢＩＯＳによる設定は行われない。
【００８１】
次の段階においては、グループＧＢ１に属する拡張装置およびグループＧＢ２に属する拡張装置について隠蔽が解除される。
【００８２】
次の段階においては、グループＧＡ１に属する拡張装置Ａ−１へのＩ／Ｏ空間のアドレスの割当が解除される。
【００８３】
次の段階においては、グループＧＢ１に属する拡張装置Ｂ−１乃至Ｂ−１６に対して０ｘ００００から０ｘＦＦＦＦまでのアドレスが割り当てられており、その他のグループに属する拡張装置に対してはＩ／Ｏ空間のアドレスが割り当てられていない。
【００８４】
次の段階においては、グループＧＡ１に属する拡張装置およびグループＧＢ２に属する拡張装置について隠蔽処理が行われる。
【００８５】
次の段階においては、グループＧＢ１に属する拡張装置に対して、拡張ＢＩＯＳによる設定が行われる。ここで、グループＧＢ１以外のグループに属する拡張装置に対しては、隠蔽処理が行われているので、拡張ＢＩＯＳによる設定は行われない。
【００８６】
同様にして以降の処理が行われることで、各拡張装置に対して、拡張ＢＩＯＳによる設定が行われる。
【００８７】
以上のように、本実施の形態によれば、ＰＩＯ割当可能数を上回る数の拡張装置を情報処理装置に搭載する場合においても、拡張ＢＩＯＳによる設定を各拡張装置に対して行えるようになる。
【００８８】
また、拡張ＢＩＯＳが実行される拡張装置と同種の拡張装置が搭載されている場合、同種の拡張装置に対してもＩ／Ｏ空間のアドレスを割り当てて拡張ＢＩＯＳを実行した方がよい。しかし、ＯＳの起動に使用する拡張装置を見極め且つ拡張装置の構成を考慮してＢＩＯＳ設定を行うことは、ユーザの負担が大きい。本実施の形態の方法であれば、ユーザが拡張装置と外部装置との接続関係を把握すること、及び、どの拡張装置からＯＳを起動するかを考慮して種々の設定を行うことが不要であるので、ユーザの負担を軽減するとともに、設定の誤りを無くすことができるようになる。
【００８９】
［実施の形態２］
第１の実施の形態においては、ＯＳイメージ１０６０を格納する外部記憶装置１０６の数が１であるが、２以上の外部記憶装置にＯＳイメージが格納され、ＯＳを起動する外部記憶装置を切り替えることができるようにしてもよい。
【００９０】
図２６に、第２の実施の形態の情報処理装置１のハードウエア構成を示す。例えばＰＣサーバである情報処理装置１は、ＣＰＵ１０１と、メモリ１０２と、ＢＩＯＳイメージ１０３０を格納するＲＯＭ１０３と、拡張スロット１０４ａ乃至１０４ｃとを有する。ＣＰＵ１０１と、メモリ１０２と、ＢＩＯＳイメージ１０３０を格納するＲＯＭ１０３と、拡張スロット１０４ａ乃至１０４ｃとは、バスを介して互いに接続される。
【００９１】
拡張スロット１０４ａには、拡張ＢＩＯＳイメージ１０８０ａをＲＯＭに格納するＲＡＩＤカード１０８ａが搭載される。拡張スロット１０４ｂには、拡張ＢＩＯＳイメージ１０８０ｂをＲＯＭに格納するＦＣカード１０８ｂが搭載される。拡張スロット１０４ｃには、拡張ＢＩＯＳイメージ１０８０ｃをＲＯＭに格納するＦＣカード１０８ｃが搭載される。
【００９２】
ＲＡＩＤカード１０８ａには、ＨＤＤ１０９ａが接続されており、ＨＤＤ１０９ａにはＯＳイメージ１０９０ａが格納されている。ＦＣカード１０８ｂには、ＦＣストレージ１０９ｂが接続されており、ＦＣストレージ１０９ｂにはＯＳイメージ１０９０ｂが格納されている。
【００９３】
第２の実施の形態では、各拡張装置が要求するアドレス範囲は４ＫｉＢであり、割当可能なアドレスの範囲は６４ＫｉＢであるので、ＰＩＯ割当可能数が１６であるとする。
【００９４】
図２７に、第２の実施の形態におけるＰＩＯ割当データ格納部１１７に格納されるＰＩＯ割当可能データの一例を示す。図２７の例では、ＲＡＩＤカードが属するグループの名前はＧＲで与えられており、ＦＣカードが属するグループの名前はＧＦで与えられている。従って、グループＧＲ１に属する拡張装置の数は１であり、グループＧＦ１に属する拡張装置の数は１６であり、グループＧＦ２に属する拡張装置の数は１以上である。
【００９５】
第２の実施の形態において、ＯＳを起動する外部記憶装置としてＨＤＤ１０９ａがユーザに指定された場合、図２８に示すように、ＰＩＯ割当データに基づき、ＲＡＩＤカード１０８ａについてＩ／Ｏ空間の割当が復元される。一方、ＯＳを起動する外部記憶装置としてＦＣストレージ１０９ｂがユーザに指定された場合、図２９に示すように、ＰＩＯ割当データに基づき、ＦＣカード１０８ｂについてＩ／Ｏ空間の割当が復元される。
【００９６】
このように、ＯＳを起動する外部記憶装置を切り替えることができるようにすることで、利便性が向上する。
【００９７】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したＢＩＯＳの機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００９８】
また、上で説明したデータ構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００９９】
また、上で述べた例では、各拡張装置が要求するアドレス範囲のサイズが一定であるが、各拡張装置が要求するアドレス範囲のサイズが一定でなくてもよい。その場合には、ＰＩＯ割当可能数ではなく、グループに属する拡張装置に割り当てたアドレス範囲のサイズの合計が、割当可能なアドレス範囲のサイズより小さくなるようにグループ分けをしてもよい。
【０１００】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１０１】
本実施の形態の第１の態様に係る情報処理装置は、（Ａ）情報処理装置に搭載される複数の拡張装置の数が、Ｉ／Ｏ（Input/Output）空間にマップすることができる拡張装置の数の上限より大きい場合、複数の拡張装置を、各グループに含まれる拡張装置の数が上限以下になるようにグループ分けするグルーピング部（例えば、グルーピング部１１３）と、（Ｂ）グループ毎に、当該グループに含まれる拡張装置の記憶装置をＩ／Ｏ空間にマップする第１の処理と、当該グループに含まれる拡張装置に対して拡張ＢＩＯＳ（Basic Input/Output System）による設定を記憶装置を使用して行う第２の処理と、第２の処理の完了後に記憶装置をＩ／Ｏ空間からアンマップする第３の処理とを実行する第１実行部（例えば、第２マッピング部１１４）とを有する。
【０１０２】
上記上限を上回る数の拡張装置が情報処理装置に搭載される場合においても、各拡張装置に対して設定を行うことができるようになる。
【０１０３】
また、情報処理装置が、（Ｃ）第１実行部の処理が完了した場合、複数の拡張装置のうち、オペレーティングシステムのプログラムが格納された外部記憶装置に接続された拡張装置を含む第１のグループを特定し、特定した当該第１のグループに含まれる拡張装置の記憶装置をＩ／Ｏ空間にマップする第２実行部（例えば、第３マッピング部１１５）と、（Ｄ）第２実行部によりＩ／Ｏ空間にマップされた記憶装置を使用して、外部記憶装置に格納された、オペレーティングシステムのプログラムを起動する起動部（例えば、起動処理部１１６）とをさらに有してもよい。
【０１０４】
ＰＩＯを利用しなければオペレーティングシステムを起動できない場合にも対処できるようになる。
【０１０５】
また、第１実行部は、（ｂ１）第１の処理と第２の処理とを特定のグループに実行している間、特定のグループ以外のグループに含まれる拡張装置を隠蔽してもよい。
【０１０６】
特定のグループ以外のグループに含まれる拡張装置に対して設定が行われないようにすることができるようになる。
【０１０７】
また、グルーピング部は、（ａ１）複数の拡張装置を、各グループに含まれる拡張装置の数が上限以下になり且つ各グループに含まれる拡張装置の種類が単一になるようにグループ分けしてもよい。
【０１０８】
同じグループに含まれる拡張装置に対する設定を簡単に行えるようになる。
【０１０９】
また、第１実行部は、（ｂ２）各グループについて行われたマッピングの情報をデータ格納部に格納してもよい。さらに、第２実行部は、（ｃ１）データ格納部に格納されている、第１のグループについて行われたマッピングの情報に基づき、第１のグループに含まれる拡張装置の記憶装置をＩ／Ｏ空間にマップしてもよい。
【０１１０】
第１のグループについて同一のマッピングを復元できるようになる。
【０１１１】
本実施の形態の第２の態様に係る拡張装置設定方法は、（Ｅ）情報処理装置に搭載される複数の拡張装置の数が、Ｉ／Ｏ（Input/Output）空間にマップすることができる拡張装置の数の上限より大きい場合、複数の拡張装置を、各グループに含まれる拡張装置の数が上限以下になるようにグループ分けし、（Ｆ）グループ毎に、当該グループに含まれる拡張装置の記憶装置をＩ／Ｏ空間にマップする第１の処理と、当該グループに含まれる拡張装置に対して拡張ＢＩＯＳ（Basic Input/Output System）による設定を記憶装置を使用して行う第２の処理と、第２の処理の完了後に記憶装置をＩ／Ｏ空間からアンマップする第３の処理とを実行する処理を含む。
【０１１２】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１１３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１１４】
（付記１）
情報処理装置であって、
前記情報処理装置に搭載される複数の拡張装置の数が、Ｉ／Ｏ（Input/Output）空間にマップすることができる拡張装置の数の上限より大きい場合、前記複数の拡張装置を、各グループに含まれる拡張装置の数が前記上限以下になるようにグループ分けするグルーピング部と、
グループ毎に、当該グループに含まれる拡張装置の記憶装置を前記Ｉ／Ｏ空間にマップする第１の処理と、当該グループに含まれる拡張装置に対して拡張ＢＩＯＳ（Basic Input/Output System）による設定を前記記憶装置を使用して行う第２の処理と、前記第２の処理の完了後に前記記憶装置を前記Ｉ／Ｏ空間からアンマップする第３の処理とを実行する第１実行部と、
を有する情報処理装置。
【０１１５】
（付記２）
前記情報処理装置が、
前記第１実行部の処理が完了した場合、前記複数の拡張装置のうち、オペレーティングシステムのプログラムが格納された外部記憶装置に接続された拡張装置を含む第１のグループを特定し、特定した当該第１のグループに含まれる拡張装置の記憶装置を前記Ｉ／Ｏ空間にマップする第２実行部と、
前記第２実行部により前記Ｉ／Ｏ空間にマップされた記憶装置を使用して、前記外部記憶装置に格納された、前記オペレーティングシステムのプログラムを起動する起動部と、
をさらに有する付記１記載の情報処理装置。
【０１１６】
（付記３）
前記第１実行部は、
前記第１の処理と前記第２の処理とを特定のグループに実行している間、前記特定のグループ以外のグループに含まれる拡張装置を隠蔽する、
付記１又は２記載の情報処理装置。
【０１１７】
（付記４）
前記グルーピング部は、
前記複数の拡張装置を、各グループに含まれる拡張装置の数が前記上限以下になり且つ各グループに含まれる拡張装置の種類が単一になるようにグループ分けする、
付記１乃至３のいずれか１つ記載の情報処理装置。
【０１１８】
（付記５）
前記第１実行部は、
各グループについて行われたマッピングの情報をデータ格納部に格納し、
前記第２実行部は、
前記データ格納部に格納されている、前記第１のグループについて行われたマッピングの情報に基づき、前記第１のグループに含まれる拡張装置の記憶装置を前記Ｉ／Ｏ空間にマップする、
付記２記載の情報処理装置。
【０１１９】
（付記６）
プロセッサが、
情報処理装置に搭載される複数の拡張装置の数が、Ｉ／Ｏ（Input/Output）空間にマップすることができる拡張装置の数の上限より大きい場合、前記複数の拡張装置を、各グループに含まれる拡張装置の数が前記上限以下になるようにグループ分けし、
グループ毎に、当該グループに含まれる拡張装置の記憶装置を前記Ｉ／Ｏ空間にマップする第１の処理と、当該グループに含まれる拡張装置に対して拡張ＢＩＯＳ（Basic Input/Output System）による設定を前記記憶装置を使用して行う第２の処理と、前記第２の処理の完了後に前記記憶装置を前記Ｉ／Ｏ空間からアンマップする第３の処理とを実行する、
処理を実行する拡張装置設定方法。
【０１２０】
（付記７）
プロセッサに、
情報処理装置に搭載される複数の拡張装置の数が、Ｉ／Ｏ（Input/Output）空間にマップすることができる拡張装置の数の上限より大きい場合、前記複数の拡張装置を、各グループに含まれる拡張装置の数が前記上限以下になるようにグループ分けし、
グループ毎に、当該グループに含まれる拡張装置の記憶装置を前記Ｉ／Ｏ空間にマップする第１の処理と、当該グループに含まれる拡張装置に対して拡張ＢＩＯＳ（Basic Input/Output System）による設定を前記記憶装置を使用して行う第２の処理と、前記第２の処理の完了後に前記記憶装置を前記Ｉ／Ｏ空間からアンマップする第３の処理とを実行する、
処理を実行させる拡張装置設定プログラム。
【符号の説明】
【０１２１】
１  情報処理装置    １０１  ＣＰＵ
１０２  メモリ    １０３  ＲＯＭ
１０３０  ＢＩＯＳイメージ    １０４ａ，１０４ｂ，１０４ｃ  拡張スロット
１０５ａ，１０５ｂ，１０５ｃ  拡張装置
１０５０ａ，１０５０ｂ，１０５０ｃ  拡張ＢＩＯＳイメージ
１０６  外部記憶装置    １０６０  ＯＳイメージ
１０８ａ  ＲＡＩＤカード    １０８ｂ，１０８ｃ  ＦＣカード
１０８０ａ，１０８０ｂ，１０８０ｃ  拡張ＢＩＯＳイメージ
１０９ａ  ＨＤＤ    １０９ｂ  ＦＣストレージ
１０９０ａ，１０９０ｂ  ＯＳイメージ
１１１  初期化部    １１２  第１マッピング部
１１３  グルーピング部    １１４  第２マッピング部
１１５  第３マッピング部    １１６  起動処理部
１１７  ＰＩＯ割当データ格納部
【図１】
2018151890.tif 000003
【図２】
2018151890.tif 000004
【図３】
2018151890.tif 000005
【図４】
2018151890.tif 000006
【図５】
2018151890.tif 000007
【図６】
2018151890.tif 000008
【図７】
2018151890.tif 000009
【図８】
2018151890.tif 000010
【図９】
2018151890.tif 000011
【図１０】
2018151890.tif 000012
【図１１】
2018151890.tif 000013
【図１２】
2018151890.tif 000014
【図１３】
2018151890.tif 000015
【図１４】
2018151890.tif 000016
【図１５】
2018151890.tif 000017
【図１６】
2018151890.tif 000018
【図１７】
2018151890.tif 000019
【図１８】
2018151890.tif 000020
【図１９】
2018151890.tif 000021
【図２０】
2018151890.tif 000022
【図２１】
2018151890.tif 000023
【図２２】
2018151890.tif 000024
【図２３】
2018151890.tif 000025
【図２４】
2018151890.tif 000026
【図２５】
2018151890.tif 000027
【図２６】
2018151890.tif 000028
【図２７】
2018151890.tif 000029
【図２８】
2018151890.tif 000030
【図２９】
2018151890.tif 000031