(57)【要約】【課題】サスペンド処理前とレジューム処理後のデバイス管理情報の不整合を解消して、システムの安定性を向上させることのできる情報処理装置を提供する。【解決手段】ＣＰＵは、インタフェース部に接続された１以上の拡張デバイスの検出結果をもとに、１以上の拡張デバイスをアクセスするために必要な１以上のデバイス識別情報が登録されたデバイス管理テーブルを作成して不揮発性メモリに格納する。システムの終了前にＣＰＵは、少なくとも、プログラムがロードされたメインメモリの内容をサスペンドデータとして不揮発性メモリに退避させ、システムの起動時に不揮発性メモリに退避されたサスペンドデータをメインメモリに復帰させるとともに、インタフェース部に接続された１以上の拡張デバイスを検出し、検出結果とデバイス管理テーブルとを比較し、デバイス管理テーブルにのみ存在する拡張デバイスのデバイス識別情報をデバイス管理テーブルから削除する。【選択図】図３
2012174031.tif 000002
【特許請求の範囲】
【請求項１】
１以上のプログラムがロードされるメインメモリと、
前記メインメモリにロードされた１以上のプログラムを実行可能なＣＰＵと、
１以上の拡張デバイスを着脱自在に接続するインタフェース部と、
前記インタフェース部に接続された１以上の拡張デバイスをアクセスするために必要な１以上のデバイス識別情報を登録可能なテーブルが格納されるテーブル格納部と、
システムの終了前に少なくとも、前記プログラムがロードされた前記メインメモリの内容をサスペンドデータとして不揮発性メモリに退避させるサスペンド処理部と、
システムの起動時に前記不揮発性メモリに退避されたサスペンドデータを前記メインメモリに復帰させるとともに、前記インタフェース部に接続された１以上の拡張デバイスを検出し、検出結果と前記テーブル格納部に格納されたテーブルとを比較し、前記テーブルにのみ存在する拡張デバイスのデバイス識別情報を前記テーブルから削除するレジューム処理部と
を具備する情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
システムの起動手順を、前記インタフェース部に接続された１以上の拡張デバイスを検出して、検出された１以上の拡張デバイスの１以上のドライバを前記メインメモリにロードし、前記検出結果により前記テーブルを作成する第１の起動手順と、前記レジューム処理部を用いた第２の起動手順との間でユーザに選択させる選択部をさらに具備する
情報処理装置。
【請求項３】
インタフェース部に接続された１以上の拡張デバイスを検出し、
検出された１以上の拡張デバイスの１以上のドライバをメインメモリにロードし、
前記検出結果をもとに、前記インタフェース部に接続された１以上の拡張デバイスをアクセスするために必要な１以上のデバイス識別情報が登録されたテーブルを作成して不揮発性メモリに格納し、
システムの終了前に少なくとも、前記プログラムがロードされた前記メインメモリの内容をサスペンドデータとして前記不揮発性メモリに退避させ、
システムの起動時に前記不揮発性メモリに退避されたサスペンドデータを前記メインメモリに復帰させるとともに、前記インタフェース部に接続された１以上の拡張デバイスを検出し、検出結果と前記テーブルとを比較し、前記テーブルにのみ存在する拡張デバイスのデバイス識別情報を前記テーブルから削除する
情報処理装置の起動方法。
【請求項４】
請求項３に記載の情報処理装置の起動方法であって、
システムの起動手順を、前記インタフェース部に接続された１以上の拡張デバイスを検出して、検出された１以上の拡張デバイスの１以上のドライバを前記メインメモリにロードし、前記検出結果により前記テーブルを作成する第１の起動手順と、システムの起動時に前記不揮発性メモリに退避されたサスペンドデータを前記メインメモリに復帰させる第２の起動手順とをユーザからの選択に従って切り替える
情報処理装置の起動方法。
【請求項５】
１以上のプログラムがロードされるメインメモリと、
前記メインメモリにロードされた１以上のプログラムを実行可能なＣＰＵと、
１以上の拡張デバイスを着脱自在に接続するインタフェース部と、
不揮発性メモリとを具備するコンピュータを、
前記インタフェース部に接続された１以上の拡張デバイスをアクセスするために必要な１以上のデバイス識別情報を登録可能なテーブルが格納されるテーブル格納部と、
システムの終了前に少なくとも、前記プログラムがロードされた前記メインメモリの内容をサスペンドデータとして不揮発性メモリに退避させるサスペンド処理部と、
システムの起動時に前記不揮発性メモリに退避されたサスペンドデータを前記メインメモリに復帰させるとともに、前記インタフェース部に接続された１以上の拡張デバイスを検出し、検出結果と前記テーブル格納部に格納されたテーブルとを比較し、前記テーブルにのみ存在する拡張デバイスのデバイス識別情報を前記テーブルから削除するレジューム処理部として機能させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、ＯＳ（オペレーティングシステム）を用いて動作する情報処理装置、情報処理装置の起動方法、プログラムに関する。
【背景技術】
【０００２】
近年、Ｗｉｎｄｏｗｓ（登録商標）、Ｌｉｎｕｘ（登録商標）をはじめとする様々なＯＳ（オペレーティングシステム）によって動作する情報処理装置が存在する。一般に、このようにＯＳを用いた情報処理装置が起動されるまでには、ＯＳのカーネルによって複雑なブート処理が行われる。ここで、Ｌｉｎｕｘ（登録商標）を例として、情報処理装置の起動処理を説明する。
【０００３】
１．ＣＰＵはＢＩＯＳに格納されている起動用プログラムに基づいて、特定のハードウェアからブートローダと呼ばれる、ＯＳ起動処理のためのプログラムをメインメモリに呼び込む。
２．ブートローダがカーネルのロードなどのＯＳの初期化処理を行う。
３．カーネルがメインメモリの初期化、情報処理装置に接続されているハードウェア検出を行う。
４．カーネルがカーネルがシステムの起動に必要なドライバをロードする。
５．起動設定に従ってカーネルが必要なアプリケーションプログラムを起動する。
【０００４】
上記のように情報処理装置の起動処理は複雑であるため、起動に時間がかかる。そこで、サスペンドと呼ばれる機能が用いられる。サスペンド機能とは、
１．電源スイッチのＯＦＦの操作が検出されたとき、ＣＰＵの汎用レジスタの内容およびメインメモリの内容などが不揮発性のメモリに格納された後、システムの電源がＯＦＦ状態になる。
２．電源がＯＮになると、不揮発性のメモリに格納された情報をＣＰＵの汎用レジスタおよびメインメモリに復元する。これにより、前回の電源ＯＦＦの直前のシステム状態が復元される。この復元する動作は「レジューム」と呼ばれる。
【０００５】
このサスペンド機能によって、電源がＯＮになった直後から情報処理装置を使用できるとともに、前回電源がＯＦＦにされた直前の状態から作業を続けて行うことができるようになる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平４−３６２７１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、典型的なサスペンド機能においては、システムに接続されたハードウェアの構成がシステム状態の復元の前後で整合がとれている必要がある。例えば、サスペンド状態にある情報処理装置の一部の拡張デバイスが外された場合、リジューム処理によって復元されたシステムでは、未だその拡張デバイスが存在しているかの如く扱われてしまうことから、その削除された拡張デバイスに対するアクセスが発生したとき、システムが停止状態に陥る可能性がある。
【０００８】
以上のような事情に鑑み、本技術の目的は、サスペンド処理前とレジューム処理後のデバイス管理情報の不整合を解消して、システムの安定性を向上させることのできる情報処理装置、情報処理装置の起動方法、プログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本技術の一形態である情報処理装置は、１以上のプログラムがロードされるメインメモリと、前記メインメモリにロードされた１以上のプログラムを実行可能なＣＰＵと、１以上の拡張デバイスを着脱自在に接続するインタフェース部と、前記インタフェース部に接続された１以上の拡張デバイスをアクセスするために必要な１以上のデバイス識別情報を登録可能なテーブルが格納されるテーブル格納部と、システムの終了前に少なくとも、前記プログラムがロードされた前記メインメモリの内容をサスペンドデータとして不揮発性メモリに退避させるサスペンド処理部と、システムの起動時に前記不揮発性メモリに退避されたサスペンドデータを前記メインメモリに復帰させるとともに、前記インタフェース部に接続された１以上の拡張デバイスを検出し、検出結果と前記テーブル格納部に格納されたテーブルとを比較し、前記テーブルにのみ存在する拡張デバイスのデバイス識別情報を前記テーブルから削除するレジューム処理部とを具備する。
【００１０】
本技術によれば、レジューム処理部がレジューム処理に伴い、サスペンド状態において取り外された拡張デバイスのデバイス識別情報をテーブルから削除することによって、存在しない拡張デバイスに対するアクセスによってシステムが停止状態に陥ることを防止することができる。また、一旦外した拡張デバイスを再び接続して利用することも可能になる。
【００１１】
また、本技術の情報処理装置は、システムの起動手順を、前記インタフェース部に接続された１以上の拡張デバイスを検出して、検出された１以上の拡張デバイスの１以上のドライバを前記メインメモリにロードし、前記検出結果により前記テーブルを作成する第１の起動手順と、前記レジューム処理部を用いた第２の起動手順との間でユーザに選択させる選択部をさらに具備したものであってもよい。これにより、製造工程時に接続されていなかった新規の拡張デバイスを接続して利用する場合には、第１の起動手順を選択することで、その新規の拡張デバイスのデバイス識別情報を含めたテーブルを再構築することができる。これにより、レジューム処理を含む第２の起動手順によるシステムの起動後に、新規の拡張デバイスに対するアクセスを行うことが可能になる。
【００１２】
本技術の別の形態である情報処理装置の起動方法は、インタフェース部に接続された１以上の拡張デバイスを検出し、検出された１以上の拡張デバイスの１以上のドライバをメインメモリにロードし、前記検出結果をもとに、前記インタフェース部に接続された１以上の拡張デバイスをアクセスするために必要な１以上のデバイス識別情報が登録されたテーブルを作成して前記不揮発性メモリに格納し、システムの終了前に少なくとも、前記プログラムがロードされた前記メインメモリの内容をサスペンドデータとして不揮発性メモリに退避させ、システムの起動時に前記不揮発性メモリに退避されたサスペンドデータを前記メインメモリに復帰させるとともに、前記インタフェース部に接続された１以上の拡張デバイスを検出し、検出結果と前記テーブルとを比較し、前記テーブルにのみ存在する拡張デバイスのデバイス識別情報を前記テーブルから削除することを特徴とする。
【００１３】
また、この起動方法において、システムの起動手順を、前記インタフェース部に接続された１以上の拡張デバイスを検出して、検出された１以上の拡張デバイスの１以上のドライバを前記メインメモリにロードし、前記検出結果により前記テーブルを作成する第１の起動手順と、システムの起動時に前記不揮発性メモリに退避されたサスペンドデータを前記メインメモリに復帰させる第２の起動手順とをユーザからの選択に従って切り替えるようにしてもよい。
【００１４】
さらに、本技術の別の形態であるプログラムは、１以上のプログラムがロードされるメインメモリと、前記メインメモリにロードされた１以上のプログラムを実行可能なＣＰＵと、１以上の拡張デバイスを着脱自在に接続するインタフェース部と、不揮発性メモリとを具備するコンピュータを、前記インタフェース部に接続された１以上の拡張デバイスをアクセスするために必要な１以上のデバイス識別情報を登録可能なテーブルが格納されるテーブル格納部と、システムの終了前に少なくとも、前記プログラムがロードされた前記メインメモリの内容をサスペンドデータとして不揮発性メモリに退避させるサスペンド処理部と、システムの起動時に前記不揮発性メモリに退避されたサスペンドデータを前記メインメモリに復帰させるとともに、前記インタフェース部に接続された１以上の拡張デバイスを検出し、検出結果と前記テーブル格納部に格納されたテーブルとを比較し、前記テーブルにのみ存在する拡張デバイスのデバイス識別情報を前記テーブルから削除するレジューム処理部として機能させるプログラムである。
【発明の効果】
【００１５】
以上のように、本技術によれば、サスペンド処理前とレジューム処理後のデバイス管理情報の不整合を解消して、システムの安定性を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】本技術の第１の実施形態に係る情報処理装置のハードウェアおよびソフトウェアの構成を示す図である。
【図２】図１の情報処理装置の通常起動の手順を示すフローチャートである。
【図３】図１の情報処理装置の高速起動の手順を示すフローチャートである。
【図４】拡張デバイス管理テーブルの構成を示す図である。
【図５】拡張デバイス管理テーブルの更新を示す図である。
【発明を実施するための形態】
【００１７】
以下、本技術に係る実施形態を、図面を参照しながら説明する。
＜第１の実施形態＞
［情報処理装置ハードウェア構成］
図１は、本技術の第１の実施形態に係る情報処理装置１００のハードウェアおよびソフトウェアの構成を示す図である。
同図に示すように、情報処理装置１００は、ハードウェアとして、ＣＰＵ（Central Processing Unit）１１、メインメモリ１２、不揮発性メモリ１３、インタフェース部１５、１以上の拡張デバイス１６（１６−１，１６−２，１６−３，１６−４）、ユーザインタフェース部１７、およびバス１８を含む。
【００１８】
なお、本実施形態の情報処理装置１００は、例えば、パーソナルコンピュータ、記録装置、再生装置、テレビジョン装置、ディスプレイ装置、プロジェクタ装置、ゲーム機、通信用機器、デコーダ機器、エンコーダ機器など、ＯＳを用いて動作する機器であれば、製品形態を問わない。
【００１９】
不揮発性メモリ１３には、本情報処理装置１００のソフトウェア構成として、ブートローダプログラム１３１、ＯＳ（オペレーティングシステム）１３２、デバイスドライバ１３３、サスペンド処理プログラム１３４、レジューム処理プログラム１３５、デバイス管理テーブル１３６、アプリケーションプログラム１３７、図示しないユーザデータ（映像、音声、文書などのファイル）などが格納される。これらのプログラムは、適宜メインメモリ１２にロードされて、ＣＰＵ１１によって解釈されて実行される。また、不揮発性メモリ１３には、サスペンド処理およびレジューム処理のためのサスペンドデータ退避領域１３８が設けられている。不揮発性メモリ１３は、より具体的には、ハードディスクドライブ、ソリッドステートドライブ（ＳＳＤ）など、高速で大容量の不揮発型のランダムアクセス記憶装置である。ここで、デバイス管理テーブル１３６は、通常起動時のデバイス検出によって検出された拡張デバイスのデバイス識別情報が登録されるテーブルである。
【００２０】
メインメモリ１２は、ＣＰＵ１１によって読み込まれて実行される各種プログラムがロードされたり、作業中のユーザデータなどが一時的に記憶されるメモリである。
【００２１】
ＣＰＵ１１は、メインメモリ１２にロードされたプログラムを読み込み、演算処理を実行する。
【００２２】
インタフェース部１５は、ＣＰＵ１１と１以上の拡張デバイス１６を互いに接続するインタフェースである。インタフェース部１５は、例えば、ＰＣＩ（Peripheral Component Interconnect）、ＰＣＩ Expressなどの汎用的なインタフェースである。インタフェース部１５には、１以上の拡張デバイス１６（１６−１，１６−２，１６−３，１６−４）がスロットを通じて着脱自在とされている。拡張デバイス１６（１６−１，１６−２，１６−３，１６−４）は、例えばネットワークカード、ビデオカードなど、情報処理装置１００の機能を拡張する目的で追加されるデバイスである。図２の例では、４機の拡張デバイスが接続されている状態を示している。
【００２３】
ユーザインタフェース部１７は、表示部と入力操作部を有する。表示部は、例えば、システムの起動手順を通常起動と高速起動との間でユーザに選択させる選択画面などを表示することが可能である。表示部は、情報処理装置１００の外部に接続されたモニタであってもよいし、情報処理装置１００に組み込まれたモニタであってもよい。入力操作部は、例えば、システムの起動手順を通常起動と高速起動との間でユーザに選択させるための操作入力を受け付けるためなどに用いられる。入力操作部は、情報処理装置１００の外部に接続されたキーボード、マウスなどの機器であってもよいし、情報処理装置１００に組み込まれたものであってもよい。
【００２４】
すなわち、本実施形態の情報処理装置１００は、１以上のプログラムがロードされるメインメモリ１２と、メインメモリ１２にロードされた１以上のプログラムを実行可能なＣＰＵ１１と、１以上の拡張デバイス１６を着脱自在に接続するインタフェース部１５と、インタフェース部１５に接続された１以上の拡張デバイス１６をアクセスするために必要な１以上のデバイス識別情報を登録可能なデバイス管理テーブル１３６が格納される不揮発性メモリ１３と、システムの終了前に少なくとも、プログラムがロードされたメインメモリ１２の内容をサスペンドデータとして不揮発性メモリ１３に退避させるサスペンド処理部であるサスペンド処理プログラム１３４と、システムの起動時に不揮発性メモリ１３に退避されたサスペンドデータをメインメモリ１２に復帰させるとともに、インタフェース部１５に接続された１以上の拡張デバイス１６を検出し、検出結果とデバイス管理テーブル１３６とを比較し、デバイス管理テーブル１３６にのみ存在する拡張デバイス１６のデバイス識別情報をデバイス管理テーブル１３６から削除するレジューム処理プログラム１３５とを具備する。
【００２５】
［情報処理装置１００の起動処理］
本実施形態の情報処理装置１００は、製造時に例えば従来の技術で説明したような典型的な手順（通常起動の手順）でシステムを起動させ、起動後のシステムの状態をサスペンド処理によって不揮発性メモリ１３のサスペンドデータ退避領域１３８に退避させた状態で出荷される。購入したユーザ側では、電源ＯＮの操作によってシステムの起動手順を選択する画面が表示される。この選択画面でユーザは高速起動と通常起動を任意に選択することができる。高速起動が選択された場合には、レジューム処理によって不揮発性メモリ１３のサスペンドデータ退避領域１３８に退避されたデータの復帰処理を含む高速起動の手順でシステムが立ち上げられる。
【００２６】
まず、図２のフローチャートを用いて情報処理装置１００の通常起動の手順を説明する。
【００２７】
情報処理装置１００の電源がＯＮになると、ＣＰＵ１１はＢＩＯＳ（Basic Input Output System）に格納されている起動用プログラムに基づいて不揮発性メモリ１３からブートローダプログラム１３１をロードする（ステップＳ１０１）。
【００２８】
ブートローダプログラム１３１には、２種類の起動手順を選択する画面をユーザに提示し、ユーザにより選択された起動手順を設定するプログラムが含まれている。２種類の起動手順のうち第１の起動手順は通常起動のための手順であり、第２の起動手順は高速起動のための手順である。ブートローダプログラム１３１が起動されると、２種類の起動手順の中から１つの起動手順を選択させるための画面がユーザインタフェース部１７の表示部に表示される。製造工程では通常起動の手順である第１の起動手順がユーザインタフェース部１７の入力操作部を使って選択される（ステップＳ１０２）。
【００２９】
ＣＰＵ１１はブートローダプログラム１３１に従って不揮発性メモリ１３からカーネルをロードするなど、ＯＳ１３２の初期化処理を行う（ステップＳ１０３）。
【００３０】
カーネルはインタフェース部１５に接続されている拡張デバイス１６の検出をＣＰＵ１１に実行させる。カーネルはこの拡張デバイス１６の検出結果をもとにデバイス管理テーブル１３６の作成をＣＰＵ１１に実行させる。作成されたデバイス管理テーブル１３６は不揮発性メモリ１３に格納される（ステップＳ１０４）。
【００３１】
図４はデバイス管理テーブル１３６の構成を示す図である。
デバイス管理テーブル１３６には、インタフェースのバス番号、デバイス（スロット）番号、ファンクション番号などで構成されるデバイス識別情報が登録される。バス番号は、バスを識別する情報である。デバイス（スロット）番号は、１つのバス内の拡張デバイス（スロット）を識別する情報である。ファンクション番号は１つの拡張デバイスが複数の機能（ファンクション）を選択的に利用可能な場合にそれらの機能を識別情報である。これらバス番号、デバイス（スロット）番号、ファンクション番号の組み合わせで構成されるデバイス識別情報が、プロセスが拡張デバイスをアクセスするために必要なデバイスアドレスとして利用される。
【００３２】
なお、図４はＰＣＩインタフェースの場合を示しており、その他の種類のインタフェースの場合には、拡張デバイスを指定するアドレスの構造が異なる場合がある。
【００３３】
続いてカーネルは、１以上の拡張デバイス１６を動作させるために必要な１以上のドライバを不揮発性メモリ１３からメインメモリ１２へのロードをＣＰＵ１１に実行させる（ステップＳ１０５）。以上でＯＳ１３２の起動が完了となる。
【００３４】
次に、予め設定されたアプリケーションプログラム１３７がマニュアル操作あるいは設定ファイルに従って起動されることで、メインメモリ１２にそのアプリケーションプログラム１３７がロードされた状態にする（ステップＳ１０６）。
【００３５】
必要なアプリケーションプログラム１３７を起動させた後、不揮発性メモリ１３からメインメモリ１２にサスペンド処理プログラム１３４がロードされる。ＣＰＵ１１は、このサスペンド処理プログラム１３４に従ってサスペンド処理を実行する（ステップＳ１０７）。このサスペンド処理により、ＣＰＵ１１の汎用レジスタの内容およびメインメモリ１２の内容などがサスペンドデータとして不揮発性メモリ１３のサスペンドデータ退避領域１３８に退避された後、システムの電源がＯＦＦ状態になる。このようにサスペンドデータ退避領域１３８にサスペンドデータが保持された状態でシステムの電源がＯＦＦになった状態は「サスペンド状態」と呼ばれる。情報処理装置１００は、このサスペンド状態のまま出荷される。
【００３６】
次に、図３のフローチャートを用いて情報処理装置１００の高速起動の手順を説明する。
情報処理装置１００の電源がＯＮになると、ＣＰＵ１１はＢＩＯＳ（Basic Input Output System）に格納されている起動用プログラムに基づいて不揮発性メモリ１３からブートローダプログラム１３１をロードする（ステップＳ２０１）。
【００３７】
ブートローダプログラム１３１が起動されると、２種類の起動手順の中から１つの起動手順を選択させるための画面がユーザインタフェース部１７の表示部に表示される。ユーザ使用工程では高速起動の手順である第２の起動手順がユーザインタフェース部１７の入力操作部を使って選択される（ステップＳ２０２）。したがって、起動手順の選択操作は、マニュアルでも良いが、優先的かつスムースに第２の起動手順が選択されるように、選択画面の表示後、キーボードのエンターキーなどの操作によって第２の起動手順が選択されるように、選択画面において第２の起動手順がデフォルトの選択対象として設定されていることが望ましい。また、第１の起動手順が誤って選択実行されるのを防止するために、第１の起動手順の選択実行の操作に対して、選択操作の確認画面を表示し、この画面に対してユーザからの応答を入力してはじめて第１の起動手順が実行されるといった何らかの制約を設けてもよい。
【００３８】
ＣＰＵ１１はブートローダプログラム１３１に従って不揮発性メモリ１３からカーネルをロードするなど、ＯＳ１３２の初期化処理を行う（ステップＳ２０３）。
【００３９】
通常起動時は、この後、拡張デバイス１６の検出、ドライバのロード、アプリケーションプログラム１３７のロードが順に行われたが、高速起動である第２の起動手順が選択されている場合、これらの処理はスキップされる。すなわち、ＯＳ１３２の初期化処理の後、レジューム処理プログラム１３５がメインメモリ１２にロードされる。ＣＰＵ１１は、レジューム処理プログラム１３５に従って、不揮発性メモリ１３に退避されたサスペンドデータをＣＰＵ１１内の汎用レジスタ及びメインメモリ１２に復帰させてレジューム処理を行う（ステップＳ２０４）。
【００４０】
続いてレジューム処理プログラム１３５は、インタフェース部１５に接続されている拡張デバイス１６の検出をＣＰＵ１１に実行させる（ステップＳ２０５）。レジューム処理プログラム１３５は、拡張デバイス１６の検出結果と不揮発性メモリ１３に格納されたデバイス管理テーブル１３６との比較をＣＰＵ１１に実行させる（ステップＳ２０６）。この比較で、拡張デバイス１６の検出結果と不揮発性メモリ１３に格納されたデバイス管理テーブル１３６とが一致している場合には（ステップＳ２７のＮＯ）、そのまま起動処理は終了となり、情報処理装置１００をユーザが使用できる状態になる。
【００４１】
ここで、サスペンド処理前に接続されていた拡張デバイス１６が、その後のサスペンド状態においてユーザによって外されている場合が考えられる。この場合、拡張デバイス１６の検出結果に存在しない拡張デバイスがデバイス管理テーブル１３６に存在するという不整合が発生する（ステップＳ２０７のＹＥＳ）。そこでこの場合、レジューム処理プログラム１３５は、デバイス管理テーブル１３６から拡張デバイス１６の検出結果に存在しない拡張デバイスのデバイス識別情報の削除をＣＰＵ１１に実行させる（ステップＳ２０８）。これによりデバイス管理テーブル１３６と実際に接続されている拡張デバイス１６との整合化がとられる。したがって、削除された拡張デバイスに対するアクセスが発生するような事態は発生しなくなる。
【００４２】
例えば、図１において、例えば、バス番号＝０、デバイス（スロット）番号＝１、ファンクション番号＝０の拡張デバイス１６−２が外されていた場合には、図５に示すように、デバイス管理テーブル１３６から該当する拡張デバイス１６−２のデバイス識別情報が削除される。その他の拡張デバイス１６−１，１６−３，１６−４が外された場合も同様である。
【００４３】
また、不揮発性メモリ１３には製造工程時に検出されたすべての拡張デバイス１６のデバイス識別情報が登録されたデバイス管理テーブル１３６が格納されていることから、一旦外された拡張デバイスが再度接続された場合には、レジューム処理に続いて行われる拡張デバイスの検出結果とデバイス管理テーブル１３６との比較（ステップＳ２０６）によって一致が判定される。したがって、一旦外した拡張デバイスを再び接続して利用することが可能である。
【００４４】
［新しい拡張デバイスが接続された場合の動作］
情報処理装置１００に製造工程時に接続されていなかった新規の拡張デバイスが接続された場合には、高速起動を行うと、レジューム処理に続くデバイス検出によって新規な拡張デバイスが検出される。しかし、高速起動時はその新規な拡張デバイスのドライバをロードするステップＳ１０５（図２参照）がスキップされるため、その拡張デバイスをアクセスすることができない。
【００４５】
この場合には、電源がＯＮになった直後に表示される起動手順の選択画面においてユーザが通常起動の手順である第１の起動手順を選択すればよい。第１の起動手順では、新規な拡張デバイスの検出に続いてその拡張デバイスのドライバをロードする処理が行われ、その新規な拡張デバイスのデバイス識別情報を含めたデバイス管理テーブル１３６が再構築される。したがって、次回の高速起動後には、その新規の拡張デバイスのアクセスを行うことが可能になる。
【００４６】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【００４７】
１１…ＣＰＵ
１２…メインメモリ
１３…不揮発性メモリ
１５…インタフェース部
１６…拡張デバイス
１７…ユーザインタフェース部
１００…情報処理装置
１３１…ブートローダプログラム
１３２…ＯＳ
１３３…デバイスドライバ
１３４…サスペンド処理プログラム
１３５…レジューム処理プログラム
１３６…デバイス管理テーブル
１３７…アプリケーションプログラム
１３８…サスペンドデータ退避領域
【図１】
2012174031.tif 000003
【図２】
2012174031.tif 000004
【図３】
2012174031.tif 000005
【図４】
2012174031.tif 000006
【図５】
2012174031.tif 000007