前回の起動から今回の起動までにおけるハードウェアコンポーネントごとの実装状態についての変更の有無を示す変更情報を格納するコンポーネントテーブルを記憶するコンポーネントテーブル記憶部と、実装されているハードウェアコンポーネントの構成を示すハードウェア構成情報を作成または更新するハードウェア構成情報作成部と、作成または更新された前記ハードウェア構成情報が記憶されるハードウェア構成情報記憶部と、前記コンポーネントテーブルにおいて前記変更情報が変更有りを示しているハードウェアコンポーネントが無い場合、前記ハードウェア構成情報記憶部からハードウェア構成情報を読み込んで上位層に提供し、前記コンポーネントテーブルにおいて前記変更情報が変更有りを示しているハードウェアコンポーネントが有る場合、前記ハードウェア構成情報記憶部から読み出したハードウェア構成情報について、ハードウェアコンポーネントの実装状態の変更内容が反映されるように前記ハードウェア構成情報作成部に更新させ、当該更新されたハードウェア構成情報を上位層に提供するハードウェア構成情報設定部と、を備えることを特徴とする情報処理装置。前記コンポーネントテーブルは、ハードウェアコンポーネントごとに対応して現在の実装の有無を示す実装情報をさらに格納し、前記ハードウェア構成情報作成部は、前記ハードウェア構成情報記憶部から読み出したハードウェア構成情報について、前記コンポーネントテーブルにおいて前記変更情報が変更有りを示し、かつ、実装情報が実装無しを示しているハードウェアコンポーネントに対応する情報を削除し、前記コンポーネントテーブルにおいて前記変更情報が変更有りを示し、かつ、実装情報が実装有りを示しているハードウェアコンポーネントに対応する情報を追加するように更新することを特徴とする請求項1に記載の情報処理装置。実装されているハードウェアコンポーネントの構成を示すハードウェア構成情報を作成または更新し、ハードウェア構成情報記憶部に記憶させるハードウェア構成情報作成ステップと、前回の起動から今回の起動までにおけるハードウェアコンポーネントごとの実装状態についての変更の有無を示す変更情報を格納するコンポーネントテーブルをコンポーネントテーブル記憶部から読み出して取得するコンポーネントテーブル取得ステップと、取得された前記コンポーネントテーブルにおいて、前記変更情報が変更有りを示しているハードウェアコンポーネントが無い場合、前記ハードウェア構成情報記憶部からハードウェア構成情報を読み込んで上位層に提供し、前記コンポーネントテーブルにおいて前記変更情報が変更有りを示しているハードウェアコンポーネントが有る場合、前記ハードウェア構成情報記憶部から読み出したハードウェア構成情報について、ハードウェアコンポーネントの実装状態の変更内容が反映されるように前記ハードウェア構成情報作成部に更新させ、当該更新されたハードウェア構成情報を上位層に提供するハードウェア構成情報設定ステップと、を備えることを特徴とする情報処理装置の起動方法。コンピュータを、実装されているハードウェアコンポーネントの構成を示すハードウェア構成情報を作成または更新し、ハードウェア構成情報記憶部に記憶させるハードウェア構成情報作成手段、前回の起動から今回の起動までにおけるハードウェアコンポーネントごとの実装状態についての変更の有無を示す変更情報を格納するコンポーネントテーブルをコンポーネントテーブル記憶部から読み出して取得するコンポーネントテーブル取得手段、取得された前記コンポーネントテーブルにおいて、前記変更情報が変更有りを示しているハードウェアコンポーネントが無い場合、前記ハードウェア構成情報記憶部からハードウェア構成情報を読み込んで上位層に提供し、前記コンポーネントテーブルにおいて前記変更情報が変更有りを示しているハードウェアコンポーネントが有る場合、前記ハードウェア構成情報記憶部から読み出したハードウェア構成情報について、ハードウェアコンポーネントの実装状態の変更内容が反映されるようにハードウェア構成情報作成部に更新させ、当該更新されたハードウェア構成情報を上位層に提供するハードウェア構成情報設定手段として機能させるプログラム。しかし、上記特許文献1の構成では、1つのデバイスに変更がある場合であってもすべてのデバイスに対する診断が行われることになり、起動時間の短縮効果が得られなくなってしまう。つまり、特許文献1の構成では、起動時間短縮のための制御が単純であり、ハードウェアの変更状況に対して柔軟に対応しておらず、改善の余地があるといえる。そこでこの発明は、上述の課題を解決することのできる情報処理装置、起動方法、プログラムを提供することを目的とする。本発明は、上述の課題を解決すべくなされたもので、本発明の一態様の情報処理装置は、前回の起動から今回の起動までにおけるハードウェアコンポーネントごとの実装状態についての変更の有無を示す変更情報を格納するコンポーネントテーブルを記憶するコンポーネントテーブル記憶部と、実装されているハードウェアコンポーネントの構成を示すハードウェア構成情報を作成または更新するハードウェア構成情報作成部と、作成または更新された前記ハードウェア構成情報が記憶されるハードウェア構成情報記憶部と、前記コンポーネントテーブルにおいて前記変更情報が変更有りを示しているハードウェアコンポーネントが無い場合、前記ハードウェア構成情報記憶部からハードウェア構成情報を読み込んで上位層に提供し、前記コンポーネントテーブルにおいて前記変更情報が変更有りを示しているハードウェアコンポーネントが有る場合、前記ハードウェア構成情報記憶部から読み出したハードウェア構成情報について、ハードウェアコンポーネントの実装状態の変更内容が反映されるように前記ハードウェア構成情報作成部に更新させ、当該更新されたハードウェア構成情報を上位層に提供するハードウェア構成情報設定部とを備える。また、本発明の一態様による情報処理装置の起動方法は、実装されているハードウェアコンポーネントの構成を示すハードウェア構成情報を作成または更新し、ハードウェア構成情報記憶部に記憶させるハードウェア構成情報作成ステップと、前回の起動から今回の起動までにおけるハードウェアコンポーネントごとの実装状態についての変更の有無を示す変更情報を格納するコンポーネントテーブルをコンポーネントテーブル記憶部から読み出して取得するコンポーネントテーブル取得ステップと、取得された前記コンポーネントテーブルにおいて、前記変更情報が変更有りを示しているハードウェアコンポーネントが無い場合、前記ハードウェア構成情報記憶部からハードウェア構成情報を読み込んで上位層に提供し、前記コンポーネントテーブルにおいて前記変更情報が変更有りを示しているハードウェアコンポーネントが有る場合、前記ハードウェア構成情報記憶部から読み出したハードウェア構成情報について、ハードウェアコンポーネントの実装状態の変更内容が反映されるように前記ハードウェア構成情報作成部に更新させ、当該更新されたハードウェア構成情報を上位層に提供するハードウェア構成情報設定ステップとを備える。また、本発明の一態様としてのプログラムは、コンピュータを、実装されているハードウェアコンポーネントの構成を示すハードウェア構成情報を作成または更新し、ハードウェア構成情報記憶部に記憶させるハードウェア構成情報作成手段、前回の起動から今回の起動までにおけるハードウェアコンポーネントごとの実装状態についての変更の有無を示す変更情報を格納するコンポーネントテーブルをコンポーネントテーブル記憶部から読み出して取得するコンポーネントテーブル取得手段、取得された前記コンポーネントテーブルにおいて、前記変更情報が変更有りを示しているハードウェアコンポーネントが無い場合、前記ハードウェア構成情報記憶部からハードウェア構成情報を読み込んで上位層に提供し、前記コンポーネントテーブルにおいて前記変更情報が変更有りを示しているハードウェアコンポーネントが有る場合、前記ハードウェア構成情報記憶部から読み出したハードウェア構成情報について、ハードウェアコンポーネントの実装状態の変更内容が反映されるようにハードウェア構成情報作成部に更新させ、当該更新されたハードウェア構成情報を上位層に提供するハードウェア構成情報設定手段として機能させる。本発明によれば、ハードウェアの変更状況に柔軟に対応して起動時間を有効に短縮可能な起動制御が実現されるという効果が得られる。<第1の実施形態>[サーバの構成例]図1は。本実施形態の情報処理装置であるサーバ100の構成例を示している。この図に示すサーバ100は、ROMReadOnlyMemory110、不揮発性メモリ120、BMCBaseManagementController130、および、コンポーネント部140における複数のコンポーネント141141-1~141-4をバス170により接続して構成される。ROM110は、当該サーバ100の起動時に必要なプログラムや設定データをはじめとする所定の情報が格納される。同図では、ROM110に記憶される情報としてBIOSBasicInputOutputSystem200が示される。BIOS200はファームウェアの1つであり、サーバ100の起動時において、コンポーネント141などのハードウェアの初期化および認識処理などを実現するためのプログラムである。不揮発性メモリ120は、書き換え可能な所定の情報を記憶する。同図では、不揮発性メモリ120に記憶される情報としてハードウェア構成情報121が示される。このハードウェア構成情報121は、後述するように起動時においてBIOS200によって作成、更新され、例えばOSOperatingSystemやアプリケーションなどの上位層に提供される。これにより、OSやアプリケーションは、ハードウェアデバイスを利用することが可能になる。なお、不揮発性メモリ120は、特許請求の範囲に記載のハードウェア構成情報記憶部の一例に相当する。ハードウェア構成情報121は、通常、サーバ100の起動ごとに作成されてRAMRandomAccessMemoryに保持され、電源がオフとなってシステムが終了するのに応じて消去されるが、本実施形態では、このハードウェア構成情報121を不揮発性メモリ120に記憶することでシステムの終了後においても消去されないようにしている。これにより、後述するように起動時間を短縮させることが可能になる。BMC130は、当該サーバ100の管理を行う部位である。BMC130は、サーバ100を常時監視するために、サーバ100における他の部位とは異なる独立した電源により定常的に動作するようにされている。ただし、BMC130は、ファームウェアの更新などに対応して再起動が行われる。コンポーネント部140は、マザーボードMBに実装されるハードウェアコンポーネント以降、単にコンポーネントと称するを一括して示している。ここでの図示は省略するが、マザーボードMBには、CPUやメモリモジュールなどの所定のハードウェアを所定数換装可能なスロット換装部が備えられている。ハードウェアコンポーネントとは、上記換装部に対して装脱が可能なハードウェアデバイスをいう。同図では、コンポーネント141の具体例として、4つのコンポーネント141-1~141-4が実装された状態を示している。なお、ここでの図示は省略するが、これら4つのコンポーネント141-1~141-4が実装されているスロット以外に、例えばコンポーネントが実装されていないスロットがあるような状態を想定してよい。ここでのコンポーネント141-1はCPU1のスロットに実装されるCPUを想定している。CPUは、ROM110や、ここでは図示しない補助記憶装置などに記憶されるプログラムを実行することにより、サーバとしての所定の機能を実現する。また、コンポーネント141-2、141-3は、それぞれ、メモリモジュール1、2のスロットに実装されるメモリモジュールをそれぞれ想定している。この場合のメモリモジュールは、例えばDIMMDualInlineMemoryModuleなどとされて、サーバ100における主記憶装置RAM:RandomAccessMemoryとして機能する。また、コンポーネント141-4は、I/Oカード1のスロットに実装されるI/Oカードを想定している。I/Oカードは、所定のインターフェース規格にしたがって周辺機器などとデータの入出力を実行する機能を有する。なお、以降において、コンポーネントについて言及するにあたり、特に個々に区別する必要がない場合には、コンポーネント141と表記する。また、上記コンポーネント141の各々は、それぞれを一意に特定するコンポーネント識別子142を記憶している。また、マザーボードMBには、コンポーネント141のスロットごとに対応してセンサが備えられる。図においては、コンポーネント141-1~141-4ごとに対応するセンサ150-1~150-4が示される。なお、センサについても、個々に区別する必要のない場合にはセンサ150と表記する。センサ150は、対応のスロットにおいてコンポーネントが実装されているか否かに応じたセンサ信号を出力する。これらセンサ150の各々から出力されるセンサ信号S1は、BMC130に対して入力されるようになっている。[BMCの構成例]図2は、BMC130の構成例を示している。BMC130は、コンポーネント検出部131、コンポーネント識別子取得部132、テーブル作成部133、不揮発性記憶部134、BIOS対応通信部135を備える。コンポーネント検出部131は、センサ150図1の各々から出力されるセンサ信号S1を入力して、スロットごとにコンポーネント141が実装されているか否かについて検出する。コンポーネント識別子取得部132は、バス170経由でコンポーネント141にアクセスして、コンポーネント識別子142を取得する。テーブル作成部133は、コンポーネント部140におけるコンポーネント141の実装状態の変更に応じてコンポーネントテーブル300の作成と更新を行う部位である。コンポーネント部140におけるコンポーネント141の実装状態の変更については、コンポーネント検出部131の検出結果に基づいて認識することができる。また、テーブル作成部133は、コンポーネントテーブル300の更新にあたり、コンポーネント識別子取得部132により取得されたコンポーネント識別子142を利用する。不揮発性記憶部134は、BMC130における不揮発性の記憶領域であり、図示するように、コンポーネントテーブル300が記憶される。コンポーネントテーブル300は、現在におけるコンポーネント141の実装状態を反映した情報内容を有する。不揮発性記憶部134は、特許請求の範囲に記載のコンポーネントテーブルの一例に相当する。BIOS対応通信部135は、BIOS200と通信を行う部位である。具体的に、BIOS対応通信部135は、BIOS200としてのプログラムを実行する、CPU1としてのコンポーネント141-1と通信することになる。[コンポーネントテーブルの構造例]図3は、コンポーネントテーブル300の構造例を示している。コンポーネントテーブル300には、マザーボードMBに実装されたコンポーネントが登録される。そして、コンポーネントテーブル300は、コンポーネントごとについて、スロット310、コンポーネント識別子320、実装情報330および変更情報340を対応付けたレコードを備えた構造を有する。スロット310は、スロットを識別するためのスロット識別子が格納される。このスロット識別子によりマザーボードMB上におけるいずれのスロットであるのかを特定できる。コンポーネント識別子320は、対応のコンポーネント141を一意に特定する識別子であり、前述のようにコンポーネント141に記憶されているコンポーネント識別子142が格納される。実装情報330は、対応のコンポーネント141がスロットに実装されているか否かを示すフラグである。一具体例として、実装情報330は1ビットの情報とされ、0によりスロットに実装されている実装の状態であることを示し、1によりスロットに実装されていない非実装の状態であることを示すものとする。なお、この図に示す実装情報330は、図1に示したコンポーネント141-1~141-1の実装状態を反映した内容となっている。変更情報340は、対応のコンポーネント141の実装状況について、前回の起動時かから変更があったか否かを示すフラグである。一具体例として、変更情報340は1ビットの情報とされ、0により変更無しを示し、1により[変更有り]を示すものとする。[BIOSにより実現される機能構成例]図4は、BIOS200のプログラムにより実現される機能構成例を示している。なお、この図に示される機能部は、図1との対応では、コンポーネント141-1としてのCPU1がBIOS200のプログラムを実行することにより実現されるものとなる。BIOS200のプログラムにより実現される機能部として、同図には、コンポーネントテーブル取得部210、初期化処理部220、ハードウェア構成情報作成部230およびハードウェア構成情報設定部240が示される。コンポーネントテーブル取得部210は、データバス経由でBMC130にアクセスし、ここに記憶されるコンポーネントテーブル300のデータを読み込んで取得する。初期化処理部220は、サーバ100の起動に際して実装されているコンポーネント部140におけるコンポーネント141の初期化を実行する部位である。初期化を実行する際、初期化処理部220は、コンポーネントテーブル取得部210により取得されたコンポーネントテーブル300を参照する。そして、実装情報330が実装を示しているコンポーネントつまり、実装された状態のコンポーネント141のみを対象に初期化処理を実行する。ハードウェア構成情報作成部230は、ハードウェア構成情報121の作成、更新を実行する部位である。まず、ハードウェア構成情報作成部230は、ハードウェア構成情報121を作成することができる。このために、ハードウェア構成情報作成部230は、コンポーネント部140において実装されているコンポーネント141にアクセスしてハードウェア情報を取得する。一例として、コンポーネント141がCPUであれば、ハードウェア情報は、種類名称、識別子など、動作周波数、動作電圧などとなる。また、ハードディスクなどであれば、種類、容量、動作モードなどとなる。また、コンポーネント141の種類によっては、IRQInterruptReQuestやI/Oポートアドレスなどが含まれる。そして、ハードウェア構成情報作成部230は、上記のように取得したハードウェア情報を利用して、現在実装されているハードウェアの構成を示すハードウェア構成情報121を作成する。このように作成されたハードウェア構成情報121は、不揮発性メモリ120に記憶される。また、ハードウェア構成情報作成部230は、不揮発性メモリ120に記憶されているハードウェア構成情報121について、後述するように現在のコンポーネント141の実装状態に応じた内容に更新することも可能とされている。ハードウェア構成情報設定部240は、サーバ100の起動に際して、ハードウェア構成情報121を例えばOSなどの上位層に対して設定する。このために、例えばハードウェア構成情報設定部240は、主記憶装置RAMにおいて設定された所定のアドレス空間にハードウェア構成情報121を記憶させる。これにより、OSおよびOS上で動作するアプリケーションがコンポーネント141を利用することが可能になる。[BMCによるコンポーネントテーブルの作成処理例]図5のフローチャートは、BMC130において実行されるコンポーネントテーブル300の作成のための処理手順例を示している。この図に示す処理は、図2に示したBMC130における機能部が適宜実行するものとしてみることができる。また、この処理は、BMC130が再起動などにより起動された際に実行される。まず、コンポーネント検出部131は、コンポーネントテーブル300から処理対象として選択した1つのスロット310が示すスロットに対応するセンサ150から出力されるセンサ信号を入力しステップS101、そのスロットにおいてコンポーネント141が実装されているか否かの実装状態検出を行うステップS102。次に、コンポーネント検出部131は、上記ステップS102により検出された実装状態が実装と非実装のいずれであるかについて判定するステップS103。ここで、非実装であると判定された場合ステップS103-非実装、以下のステップS104~S109の処理をスキップして、ステップS110に進む。これに対して実装であると判定した場合ステップS103-実装、コンポーネント取得部132は、この実装であると判定されたコンポーネント141にバス170経由でアクセスして、そのコンポーネント141に記憶されているコンポーネント識別子142を取得するステップS104。次に、テーブル作成部133は、上記ステップS104によりコンポーネント141から取得したコンポーネント識別子142と、コンポーネントテーブル300において選択されたスロット310に対応付けられているコンポーネント識別子320を比較するステップS105。そして、その比較結果として、コンポーネント141から取得したコンポーネント識別子142と一致するか否かについて判定するステップS106。ここで、コンポーネント識別子320が一致しない判定した場合にはステップS106-NO、今回のBMC130が起動する前の段階において、処理対象のスロットに新たなコンポーネント141が実装されていることになる。そこで、テーブル作成部133は、ステップS104により取得したコンポーネント識別子142を、コンポーネントテーブル300に対してコンポーネント識別子320として新規に格納するステップS107。さらに、テーブル作成部133は、選択されているスロット310に対応付けられる実装情報330に実装を示す値を格納するステップS108。また、テーブル作成部133は、同じく選択されているスロット310に対応付けられる変更情報340に変更有りを示す値を格納するステップS109。そして、ステップS110に進む。また、コンポーネント識別子320が一致すると判定した場合ステップS106-YES、今回実装が検出されたコンポーネント141は、コンポーネントテーブル300に登録されていることになる。このとき、コンポーネント識別子320に対応付けられる実装情報330には実装を示す値が格納されている。また、変更情報340には変更無しを示す値が格納されている。変更情報340が変更無しとされているのは、コンポーネントテーブル300におけるすべての変更情報340は、サーバ100の起動時においてBIOS200により読み込まれた後に変更無しを示す値に変更するようになっていることによる。したがって、この場合には、このコンポーネント141についてのコンポーネントテーブル300の情報について書き換えを行う必要がない。そこで、この場合には、ステップS107~S109をスキップする。これまでの処理を実行した後、コンポーネント検出部131は、すべてのスロットについての処理が終了したか否かについて判定するステップS110。ここで、すべてのスロットについての処理が終了していないと判定した場合にはステップS110-NO、ステップS101に戻ることで、次の処理対象のスロット310に対応したテーブル作成処理が実行される。そして、上記の処理を繰り返すことにより、或る段階で、すべてのスロットに対応する情報の作成処理を終了したことが判定されるとステップS110-YES、これまでのコンポーネントテーブル300の作成処理を終了する。この段階では、BMC130の起動時におけるコンポーネント141の実装状態が反映された内容のコンポーネントテーブル300が作成されていることになる。[BMCによるコンポーネントテーブルの更新処理例]次に、図6のフローチャートを参照してBMC130によるコンポーネントテーブルの更新処理例について説明する。この処理は、サーバ100の電源のオン/オフに係わらず、BMC130に電源が供給されて動作している状態において定常的に実行される。まず、コンポーネント検出部131は、コンポーネント141のスロットごとのセンサ150からセンサ信号S1を入力して監視しているステップS201。そして、コンポーネント検出部131は、監視しているセンサ信号に基づいて、コンポーネントの取り外しが行われるのを待機するステップS202-NO。また、コンポーネント141が新たに装着されるのを待機するステップS205-NO。コンポーネント141の取り外しが行われたことを検出するとステップS202-YES、テーブル作成部133は、コンポーネントテーブル300において、今回取り外しが行われたスロット310に対応付けられた実装情報330に非実装を示す値を格納するステップS203。さらに、同じスロット310に対応付けられた変更情報340には変更有りを示す値を格納するステップS204。このように、取り外しが行われたコンポーネント141に応じてコンポーネントテーブル300の更新が行われる。また、コンポーネント141が新たに実装されたことを検出した場合ステップS205-YES、コンポーネント識別子取得部132は、この装着が検出されたコンポーネント141が記憶するコンポーネント識別子142を取得するステップS206。そして、テーブル作成部133は、この取得したコンポーネント識別子142を、コンポーネント141が新規実装されたスロット310に対応するコンポーネント識別子320としてコンポーネントテーブル300に新たに格納するステップS207。次に、テーブル作成部133は、同じ新規実装されたスロット310に対応する実装情報330に実装を示す値を格納するステップS208。さらに、同じ新規実装されたスロット310に対応する変更情報340に変更有りを示す値を格納するステップS209。このように、新たに装着されたコンポーネント141に応じてコンポーネントテーブル300の更新が行われる。[BIOSによる起動制御のための処理手順例]図7は、BIOS200により実現されるサーバ100の起動制御のための処理手順例を示している。なお、この図に示す処理は、図4のBIOS200における機能部が適宜実行するものとしてみることができる。まず、コンポーネントテーブル取得部210は、バス170経由でBMC130にアクセスしてコンポーネントテーブル300を読み込んで取得するステップS301。なお、図示による説明は省略するが、このようにコンポーネントテーブル300がBIOS200により読み込まれたことに応じて、BMC130は、不揮発性記憶部134に記憶されるコンポーネントテーブル300の変更情報340のすべてについて変更無しを示す値に書き換える。次に、初期化処理部220は、取得されたコンポーネントテーブル300において、実装情報330が実装に対応付けられているコンポーネント識別子320を認識するステップS302。つまり、現在においてマザーボードMBに実装されているコンポーネント141を認識する。そして、初期化処理部220は、これらの認識したコンポーネント141を順次初期化するステップS303。上記の初期化処理が終了すると、ハードウェア構成情報作成部230は、変更有りを示す値を格納する変更情報340が有るか否かについて判定するステップS304。ここで、変更有りの変更情報340が有ると判定した場合ステップS304-YES、前回のサーバ100の終了から今回の起動までの間に、コンポーネント141の新たな実装と取り外しの少なくとも一方が1回以上行われていることになる。つまり、コンポーネント部140におけるコンポーネント141の構成ハードウェア構成が前回のサーバ100の終了時とは異なっていることになる。そこで、ハードウェア構成情報作成部230は、ハードウェア構成情報121を作成、または更新する処理を実行するステップS305。なお、このステップS305としてのハードウェア構成情報作成更新処理については後述する。そして、作成したハードウェア構成情報121を不揮発性メモリ120に保存するステップS306。この際、不揮発性メモリ120においてハードウェア構成情報121が記憶済みであれば、この記憶済みのハードウェア構成情報121に、今回作成したハードウェア構成情報121の上書きを行う。一方、変更有りの変更情報340が無いと判定した場合にはステップS304-NO、コンポーネント部140におけるコンポーネント141の構成に変更はなく、前回のサーバ100の終了時と同じであることになる。この場合、不揮発性メモリ120に記憶されるハードウェア構成情報121の内容も、前回のサーバ100の終了時から更新されていない。そこで、ハードウェア構成情報設定部240は、不揮発性メモリ120に記憶されているハードウェア構成情報121を読み込んで取得するステップS307。そして、ハードウェア構成情報設定部240は、先のステップS305により作成したハードウェア構成情報121、または、上記ステップS307により読み込んで取得したハードウェア構成情報121を上位層に対して設定するステップS308。このように、BIOS200は、起動処理に際して、前回のサーバ100の終了時からコンポーネント141の構成に変更がない場合には、不揮発性メモリ120から読み込んで取得し、これを上位層に提供する。つまり、コンポーネント141の構成に変更がない場合には、ハードウェア構成情報121の作成を行わないようにしている。このようにハードウェア構成情報121を作成する手順が省略されることにより、それだけ起動時間は短縮されることになる。特に、ハードウェア構成情報121の作成に際しては、コンポーネント141ごとのハードウェア情報を取得するために、実装されたコンポーネント141に順次アクセスする必要があり、相当の時間を要する。このようなハードウェア取得のための処理が省略されることで起動時間を大幅に短縮することが可能になる。次に、図8のフローチャートを参照して、上記ステップS305のハードウェア構成情報作成更新処理としての手順例について説明する。ここでは、図8aに示す処理と、図8bに示す処理の2例について説明する。まず、図8aに示すハードウェア構成情報の作成処理において、ハードウェア構成情報作成部230は、コンポーネントテーブル300における実装情報330が実装を示しているコンポーネント141の各々からハードウェア情報を取得するステップS401。つまり、ハードウェア構成情報作成部230は、現在実装されているすべてのコンポーネント141ごとにアクセスを行って、そのハードウェア情報を取得する。次に、ハードウェア構成情報作成部230は、上記ステップS401により取得したハードウェア情報を利用してハードウェア構成情報121を作成するステップS402。上記図8aの処理は、変更情報340が変更有りのコンポーネント141が少なくとも1つ有れば、変更の無いものも含めてすべてのコンポーネント141にアクセスしてハードウェア情報を収集し、ハードウェア構成情報121を作成し直すというものになる。このような処理の場合、実装されたすべてのコンポーネント141にアクセスしてハードウェア情報を読み込むことになる。このようなアクセスは比較的長い時間を要することから、実装されたコンポーネント141の数が増加するほどハードウェア構成情報121の作成に要する時間が長くなり、起動時間の短縮に不利となる。そこで、本実施形態では、例えば最初の起動時などに対応してハードウェア構成情報121が不揮発性メモリ120に記憶されていない場合や、コンポーネントテーブル300においてすべての変更情報340が変更有りとなっている場合にのみ、上記図8aに示すハードウェア構成情報作成処理を実行させることとする。そして、コンポーネントテーブル300において変更有りと変更無しの変更情報340が混在している場合には、以下の図8bに示す処理を実行する。図8bにおいて、まず、ハードウェア構成情報作成部230は、不揮発性メモリ120に記憶されているハードウェア構成情報121の読み込みを行うステップS501。次に、ハードウェア構成情報作成部230は、変更情報340が変更有りを示し、かつ、実装情報330が非実装を示しているコンポーネント識別子142をコンポーネントテーブル300から検索する。そして、この検索したコンポーネント識別子142が示すコンポーネント141の情報を、読み込みを行ったハードウェア構成情報121から削除するステップS502。つまり、サーバ100の最後の終了時から今回の起動までにおいて取り外しが行われたコンポーネント141についての情報をコンポーネントテーブル300から削除する。次に、ハードウェア構成情報作成部230は、変更情報340が変更有りを示し、かつ、実装情報330が実装を示しているコンポーネント識別子142をコンポーネントテーブル300から検索する。このように検索されたコンポーネント識別子142が示すコンポーネント141は、最後の終了時から今回の起動までの間に新たに実装されたものである。そこで、ハードウェア構成情報作成部230は、検索したコンポーネント識別子142が示すコンポーネント141にアクセスして、そのハードウェア情報を取得するステップS503。そして、この取得したハードウェア情報に対応する内容を、読み込みを行ったハードウェア構成情報121に追加するステップS504。このように、図8bに示す処理では、前回起動時のコンポーネント141の実装状態が反映されたハードウェア構成情報121に対して、コンポーネント141の変更が反映されるように更新内容の変更を行う。つまり、ハードウェア構成情報121について、取り外しが行われたコンポーネント141に関する情報は削除し、新たに実装されたコンポーネント141に関する情報を追加するというものである。つまり、図8bに示す処理は、ハードウェア構成情報121として、ハードウェア構成の変更に応じた差分の情報内容を生成している。上記図8bの処理によれば、ハードウェア情報の取得のためにアクセスするコンポーネント141は、サーバ100の最後の終了時から今回の起動までの間に新たに実装されたもののみとなる。これにより、図8aの場合と比較して、ハードウェア構成情報121に要する時間を短縮することが可能になる。<第2の実施形態>[サーバの構成例]図9は、第2の実施形態としてのサーバ100の構成例を示している。なお、この図において、図1と同一部分は同一符号を付して説明を省略する。この図に示すサーバ100においては、マザーボードMBにおいて、コンポーネント141ごとに対応するバス170に対してスイッチ160を挿入している。図においては、コンポーネント141-1~141-4ごとに対応するスイッチ160-1~160-4が示される。スイッチ160は、BMC130によりそのオン/オフが制御される。つまり、スイッチ160は、BMC130から出力されるスイッチ制御信号S2によってオン/オフの切り替えが行われる。このスイッチ160がオンの場合、対応のコンポーネント141はバス170を経由して他のハードウェアと通信を行うことができる。スイッチ160がオフの場合、対応のコンポーネント141は、サーバ100におけるシステムから切り離され、その機能や動作は無効になる。このスイッチ160は、例えばメンテナンスや障害の発生に対応してサーバ100としてのシステムを縮退させる場合に利用される。[BMCの構成例]図10は、第2の実施形態におけるBMC130の構成例を示している。この図において、図2と同一部分には同一符号を付して説明を省略する。この図に示すBMC130は、図2に示す構成に対してスイッチ制御部136をさらに備えて構成されている。スイッチ制御部136は、スイッチ160のオン/オフを制御する。また、スイッチ制御部136は、現在におけるスイッチ160ごとのオン/オフ状態を認識している。このスイッチ160ごとのオン/オフ状態の認識結果は、次に説明するようにコンポーネント検出部131が利用する。[BMCによるコンポーネントテーブルの作成処理例]図11のフローチャートは、上記図10に示すBMC130において実行されるコンポーネントテーブル300作成のための処理手順例を示している。コンポーネント検出部131は、1つのスロットに対応するセンサ150のセンサ信号を入力する。また、同じスロットに対応するスイッチ160のオン/オフ状態の認識情報をスイッチ制御部136から入力するステップS601。次に、コンポーネント検出部131は、上記のように入力したセンサ信号とスイッチ160の認識情報に基づいて、対応のスロットにおけるコンポーネント141の実装状態について検出するステップS602。具体的に、スイッチ160の認識情報がオンを示し、かつ、センサ信号が実装されている状態を示していれば、実装であると検出する。また、スイッチ160の認識情報がオンを示し、かつ、センサ信号が実装されていない状態を示していれば、非実装であると検出する。また、スイッチ160の認識情報がオフを示している場合、そのスロットに装着されたコンポーネント141は無効化されており、実装されていない状態であるとみなすことができる。そこで、スイッチ160の認識情報がオフを示している場合は、センサ信号の状態に係わらず、非実装であると判定する。なお、以降のステップS603~S610の処理については、図5のステップS103~S110と同様となる。[BMCによるコンポーネントテーブルの作成処理例]図12のフローチャートは、BMC130によるコンポーネントテーブルの更新処理例を示している。まず、コンポーネント検出部131は、コンポーネント141のスロットごとのセンサ150から順次センサ信号S1を入力して監視している。また、これとともに、スイッチ制御部136におけるスイッチ160ごとのオン/オフ状態の認識結果を監視しているステップS701。そして、コンポーネント検出部131は、監視しているセンサ信号およびスイッチ160ごとのオン/オフ状態の認識結果に基づいて、コンポーネント141の取り外し、または、無効化の発生スイッチ160のオフへの切り替えを待機するステップS702-NO。また、コンポーネント141の新たな装着、または、コンポーネント141の有効化の発生スイッチ160のオンへの切り替えを待機するステップS705-NO。なお、ステップS703、S704およびS706~S709の各処理は、図6のステップS203、S204およびS206~S209と同様となる。また、BIOS200による起動処理も、図7および図8と同様となる。このように、第2の実施形態においては、スロットにおけるコンポーネント141の実装状態とともに、スイッチ160のオン/オフ制御に応じたコンポーネント141の有効/無効の状態に応じても、コンポーネントテーブル300の作成および更新が行われる。これに伴い、BIOS200による起動制御に際しては、スロットにおけるコンポーネント141の実装状態だけではなく、コンポーネント141の有効/無効の状態も適切に反映されたハードウェア構成情報121の作成または更新を行うことが可能になる。なお、上記各実施形態では、情報処理装置としてサーバ100を例に挙げているが、これに限定されるものではなく、例えばパーソナルコンピュータやストレージ装置、さらには、AVAudioVisual機器などをはじめとする各種電子機器などにも適用できる。また、上述のサーバ100は、内部にコンピュータシステムを有している。そして、上述したコンポーネントテーブル300の作成/更新やBIOS200による起動制御の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD-ROM、DVD-ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしても良い。また、各図2、図4および図10などに示した機能部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりコンポーネントテーブル300の作成/更新やBIOS200による起動制御を行ってもよい。なお、ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含むものとする。また、コンピュータシステムは、ホームページ提供環境あるいは表示環境を備えたWWWシステムも含むものとする。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらにコンピュータ読み取り可能な記録媒体とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリRAMのように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する伝送媒体は、インターネット等のネットワーク通信網や電話回線等の通信回線通信線のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル差分プログラムであっても良い。