(57)【特許請求の範囲】
【請求項１】
複数のメモリ領域を有し、第１の処理と情報処理装置の再起動処理と第２の処理とを含む処理を実行する情報処理装置の制御プログラムであって、
前記情報処理装置に、
前記複数のメモリ領域のうち、前記第１の処理の実行に使用される第１のメモリ領域を初期化する処理と、
前記複数のメモリ領域のうちいずれかのメモリ領域の初期化が完了すると、前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す情報を記憶する記憶部に、初期化が完了したメモリ領域を示す情報を記憶する処理と、
前記第１のメモリ領域を使用して前記第１の処理を実行する処理と、
前記情報処理装置の前記再起動処理において、前記記憶部が記憶する情報を参照して初期化済みでない第２のメモリ領域を選択する処理と、
前記第２のメモリ領域を前記第２の処理の実行に使用されるメモリ領域として初期化する処理と
を実行させる情報処理装置の制御プログラム。
【請求項２】
前記情報処理装置に、
前記第２のメモリ領域を使用して前記第２の処理を実行する処理をさらに実行させる請求項１に記載の情報処理装置の制御プログラム。
【請求項３】
前記情報処理装置に、
前記第２の処理が完了したか否かを示す第２の情報を前記記憶部に記憶する処理と、
前記情報処理装置の起動時に、前記第２の情報が前記第２の処理が完了したことを示す場合に、前記記憶部が記憶する情報が示す初期化済みでないメモリ領域の初期化を実行する処理と
をさらに実行させる請求項１または２に記載の情報処理装置の制御プログラム。
【請求項４】
複数のメモリ領域を有し、第１の処理と情報処理装置の再起動処理と第２の処理とを含む処理を実行する情報処理装置であって、
前記複数のメモリ領域のうち、前記第１の処理の実行に使用される第１のメモリ領域を
初期化する初期化部と、
前記複数のメモリ領域のうちいずれかのメモリ領域の初期化が完了すると、前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す情報を記憶する記憶部に、初期化が完了したメモリ領域を示す情報を記憶させる制御部と、
前記第１のメモリ領域を使用して前記第１の処理を実行する実行部と、
を有し、
前記初期化部は、前記情報処理装置の前記再起動処理において、前記記憶部が記憶する情報を参照して初期化済みでない第２のメモリ領域を選択し、前記第２のメモリ領域を前記第２の処理の実行に使用されるメモリ領域として初期化する
情報処理装置。
【請求項５】
複数のメモリ領域を有し、第１の処理と情報処理装置の再起動処理と第２の処理とを含む処理を実行する情報処理装置の制御方法であって、
前記複数のメモリ領域のうち、前記第１の処理の実行に使用される第１のメモリ領域を初期化し、
前記複数のメモリ領域のうちいずれかのメモリ領域の初期化が完了すると、前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す情報を記憶する記憶部に、初期化が完了したメモリ領域を示す情報を記憶し、
前記第１のメモリ領域を使用して前記第１の処理を実行し、
前記情報処理装置の前記再起動処理において、前記記憶部が記憶する情報を参照して初期化済みでない第２のメモリ領域を選択する処理と、
前記第２のメモリ領域を前記第２の処理の実行に使用されるメモリ領域として初期化する
情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本件開示の技術は、情報処理装置の制御プログラム、情報処理装置および情報処理装置の制御方法に関する。
【背景技術】
【０００２】
多数のCentral Processing Unit（ＣＰＵ）およびメモリが搭載された情報処理装置で
あるサーバなどにおいては、サーバの起動時に、メモリインタフェースに対する伝送パラメータの設定および調整、メモリの初期化などが行われる。これらの処理は、サーバに実装されるＣＰＵとメモリとの間の信号伝送の高速化を実現し、ＣＰＵとメモリとの間で伝送される信号の品質を確保するために実行される。
【０００３】
また、これらの処理は、サーバのBasic Input/Output System Firmware（ＢＩＯＳ  ＦＷ）により行われている。ここで、ＢＩＯＳとは、サーバのファームウェアの１つであり、サーバで実行されるプログラムのうち、ハードウェアとの最も低レベルの入出力を行うためのプログラムである。サーバに多数のＣＰＵおよびメモリが実装されていると、ＢＩＯＳによる各メモリの初期化に時間がかかるため、サーバの起動時間が長くなることが懸念される。
【０００４】
そこで、サーバの起動時間を短縮するための技術が提案されている。例えば、Operating System（ＯＳ）がインストールされているサーバにおいて、ＯＳの起動処理と並行して、起動処理に使用されていないメモリの初期化を行う技術が提案されている（例えば特許文献１参照）。また、例えば、サーバに搭載された複数のメモリの初期化を異なるＣＰＵあるいはＣＰＵコアにより実行することで、メモリ初期化の時間短縮を図ることも提案されている（例えば特許文献２）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２７７２２３号公報
【特許文献２】国際公開第２０１０／０５８４４０号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
情報処理装置の一例であるサーバにおいて、ＯＳをインストールする場合、インストール中にサーバが再起動される場合がある。また、サーバのInput/Output（Ｉ／Ｏ）などのハードウェア構成の変更、レジストリや設定ファイルの変更など、サーバのシステムパラメータの変更およびＯＳの起動をシーケンシャルに実行する処理においても、サーバが再起動されることが想定される。このため、再起動時に、再起動前に使用されたメモリを含むメモリの初期化などの処理が実行される。したがって、再起動前に使用されたメモリが再度初期化される結果、上記の処理中におけるサーバの再起動に伴う起動時間がインストールの処理時間の長期化につながる可能性がある。これに対して、上記の従来の技術を用いてサーバの再起動に伴う起動時間の短縮を図っても、サーバの再起動時に発生するメモリの初期化などの処理に伴う時間を短縮することは難しい。
【０００７】
本件開示の技術は、上記の事情に鑑み、情報処理装置の再起動を含む処理の処理時間を短縮することができる情報処理装置の制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本件開示の情報処理装置の制御プログラムは、１つの側面では、複数のメモリ領域を有し、第１の処理と情報処理装置の再起動処理と第２の処理とを含む処理を実行する情報処理装置の制御プログラムであって、情報処理装置に、複数のメモリ領域のうち、第１の処理の実行に使用されるメモリ領域を初期化する処理と、複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第１の情報を記憶部に記憶する処理と、初期化したメモリ領域を使用して第１の処理を実行する処理と、情報処理装置の再起動処理において、第１の情報に基づいて、初期化済みでないメモリ領域を第２の処理の実行に使用されるメモリ領域として初期化する処理とを実行させる。
【発明の効果】
【０００９】
本件開示の技術によれば、情報処理装置の再起動を含む処理の処理時間を短縮することができる情報処理装置の制御プログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、一実施形態に係るサーバの構成を例示する概略構成図である。
【図２】図２は、一実施形態に係るサーバにおいて実行される処理のフローチャートである。
【図３】図３は、一実施形態に係るサーバにおいて実行される処理のフローチャートである。
【図４】図４は、一実施形態において、ＯＳインストールにおける時間短縮モードを有効にするフラグを例示する表である。
【図５】図５は、一実施形態において、サーバ１内の各メモリの初期化状態を管理するためのフラグを例示する表である。
【図６】図６は、一実施形態に係るサーバにおいて実行される処理のフローチャートである。
【図７】図７は、一実施形態に係るサーバにおけるメモリ初期化に伴う処理時間を例示するグラフである。
【図８】図８は、一実施形態において、ＯＳインストールが完了したか否かを示すフラグを例示する表である。
【図９】図９は、一変形例に係るサーバにおいて実行される処理のフローチャートである。
【図１０】図１０は、一変形例に係るサーバにおいて実行される処理のフローチャートである。
【図１１】図１１は、一実施形態に係るサーバにおいて実行される処理の一例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本件開示の技術に係る実施形態について図面を参照しながら説明する。なお、以下の詳細な説明は例示的なものであり、実施形態の構成を限定するものではない。
【００１２】
（第１の実施形態）
図１に、第１の実施形態における情報処理装置の一例であるサーバ１の概略構成図を示す。図１に示すように、サーバ１は一例として４つのＣＰＵ１０１〜１０４を有する。各ＣＰＵ１０１〜１０４は、QuickPath Interconnect（ＱＰＩ）インターフェイスによって互いに接続されている。ＣＰＵ１０１には、一例として８つのメモリ１０１ａ〜１０１ｈが接続されている。メモリ１０１ａ〜１０１ｈは、Double-Data-Rate4（ＤＤＲ４）イン
ターフェイス（図示せず）によってＣＰＵ１０１と接続されている。なお、ＣＰＵ１０２〜１０４についても、ＣＰＵ１０１と同様にメモリが接続されている。本実施形態においては、サーバ１におけるＯＳなどのプログラムのインストールの実行において、ＣＰＵ１
０１が他のＣＰＵ１０２〜１０４の動作を制御する主導的な役割を果たす。また、サーバ１において、例えばNon-Uniform Memory Access（ＮＵＭＡ）のように、各ＣＰＵ１０１
〜１０４に接続されるメモリは単一の物理アドレス空間で管理されている。このため、ＣＰＵ１０１は、他のＣＰＵ１０２〜１０４に接続されている各メモリにアクセスして、メモリの初期化、データの書き込みおよび読み取りなどを実行することができる。
【００１３】
また、サーバ１において、ＣＰＵ１０１はＱＰＩインターフェイスによってチップセット１０５と接続されている。また、チップセット１０５は、Serial AT Attachment（ＳＡＴＡ）インターフェイスによってDigital Versatile Disc（DVD）ドライブ１０６と接続
されている。さらに、チップセット１０５は、Serial Peripheral Interface（ＳＰＩ）
インターフェイスによって不揮発性メモリ１０７と接続されている。チップセット１０５は、ＤＶＤドライブ１０６および不揮発性メモリ１０７とＣＰＵ１０１との間のデータのやり取りを管理する。
【００１４】
本実施形態では、サーバ１のユーザが、ＯＳインストールを実行するためのセットアップ支援ツールが格納されたメディアをＤＶＤドライブ１０６にセットする。そして、ＣＰＵ１０１がメディアに格納されたセットアップ支援ツールを使用してＯＳインストールを実行する。また、不揮発性メモリ１０７には、ＤＶＤドライブ１０６にセットされたメディアから取り込んだセットアップ支援ツールが格納される。さらに、不揮発性メモリ１０７には、ＣＰＵ１０１により実行されるＢＩＯＳコードが格納されている。後述するように、不揮発性メモリ１０７には、ＣＰＵ１０１〜１０４に接続されている各メモリが初期化済みであるか否かを示すフラグも格納されている。
【００１５】
ＣＰＵ１０１は、ＰＣＩ  ＥｘｐｒｅｓｓバスインターフェイスによってＲＡＩＤ  ＰＣＩカード１０８と接続されている。また、ＲＡＩＤ  ＰＣＩカード１０８は、Serial Attached SCSI（ＳＡＳ）／ＳＡＴＡインターフェイスによってHard Disk Drive（ＨＤＤ
）１０９、１１０と接続されている。ＲＡＩＤ  ＰＣＩカード１０８は、ＨＤＤ１０９、１１０により構成されたＲＡＩＤに基づいて、ＨＤＤ１０９、１１０とＣＰＵ１０１との間のデータのやり取りを制御する。
【００１６】
図３に、本実施形態においてＣＰＵ１０１が実行する処理のフローチャートを示す。ＣＰＵ１０１は、サーバ１の電源が投入されると、図３のフローチャートの処理を開始する。ＯＰ１０１において、ＣＰＵ１０１は、不揮発性メモリ１０７に格納されているＢＩＯＳコードをＣＰＵ１０１に展開して実行する。次いで、処理はＯＰ１０２に進められる。
【００１７】
ＯＰ１０２において、ＣＰＵ１０１は、ＯＰ１０１で起動したＢＩＯＳの処理に従って、ＣＰＵ１０１〜１０４に接続されているメモリのＤＤＲ４インターフェイスの初期化を実行する。これにより、各メモリのＤＤＲ４インターフェイスの動作スピード、レイテンシ、アクセスタイミングなどが設定される。次いで、処理はＯＰ１０３に進められる。
【００１８】
ＯＰ１０３において、サーバ１のユーザが、セットアップ支援ツールが格納されているメディアをＤＶＤドライブ１０６にセットする。そして、ＣＰＵ１０１は、ＤＶＤドライブ１０６にセットされたメディアからセットアップ支援ツールを取り込み、不揮発性メモリ１０７に格納する。ＣＰＵ１０１は、不揮発性メモリ１０７に格納したセットアップ支援ツールをＣＰＵ１０１に展開して実行する。本実施形態において、セットアップ支援ツールとは、サーバ１にインストールするＯＳの種類の選択などＯＳインストールを実行するための各種処理、ＯＳインストールにおける時間短縮モードを有効にするフラグの定義、サーバ１内の各メモリの初期化状態を管理するためのフラグの定義などの処理を行うためのツールである。なお、時間短縮モードとは、以下に説明するように、サーバ１におけるＯＳインストール中の再起動時に、各メモリに対して初期化が重複して実行されないよ
うにして、再起動時のメモリ初期化に伴う処理時間を短縮するモードを意味する。次いで、処理はＯＰ１０４に進められる。
【００１９】
ＯＰ１０４において、ＣＰＵ１０１は、ＯＰ１０３において実行したセットアップ支援ツールの処理に従って、インストールするＯＳの選択などを実行する。これにより、ＯＳインストールを実行するための各種設定が完了する。そして、ＯＰ１０５において、ＣＰＵ１０１は、ＯＳインストールの時間短縮モードを有効にするためのフラグを不揮発性メモリ１０７に定義し、当該フラグの設定を行う。図４に、不揮発性メモリ１０７に作成されるＯＳインストールの時間短縮モードを有効にするためのフラグの一例を示す。なお、不揮発性メモリ１０７が、記憶部の一例に相当する。図４に示すように、時間短縮モードを有効にするためのフラグMODE_FLAGは１ビットで表現され、フラグの値が「０」のとき
は時間短縮モードが無効であり、「１」のときは時間短縮モードが有効であることを示す。ＣＰＵ１０１は、フラグMODE_FLAGの値を「１」に設定し、処理をＯＰ１０６に進める
。
【００２０】
ＯＰ１０６において、サーバ１のユーザが、ＤＶＤドライブ１０６にセットされているメディアをＯＳインストール用のインストーラが格納されているメディアに差し替える。そして、ＣＰＵ１０１は、ＤＶＤドライブ１０６にセットされているメディアに格納されているＯＳインストール用のインストーラを例えばＨＤＤ１０９に展開して起動し、ＯＳインストールの処理を開始する。そして、ＯＰ１０７において、ＣＰＵ１０１は、サーバ１を再起動する。次いで、処理はＯＰ１０８に進められる。
【００２１】
ＯＰ１０８において、ＣＰＵ１０１は、不揮発性メモリ１０７に格納されているＢＩＯＳコードをＣＰＵ１０１に展開して実行し、ＢＩＯＳを起動する。本実施形態において、ＢＩＯＳコードには、不揮発性メモリ１０７に定義されている時間短縮モードを有効にするためのフラグを参照する処理が記述されている。したがって、ＢＩＯＳの起動後、ＢＩＯＳは、不揮発性メモリ１０７の時間短縮モードを有効にするためのフラグMODE_FLAGを
参照し、フラグの値が「１」に設定されているか否かを判定する（ＯＰ１０９）。フラグMODE_FLAGの値が「１」である場合は（ＯＰ１０９：Ｙｅｓ）、ＣＰＵ１０１は、処理を
ＯＰ１１０に進める。一方、フラグMODE_FLAGの値が「０」である場合は（ＯＰ１０９：
Ｎｏ）、ＣＰＵ１０１は本フローチャートの処理を終了する。
【００２２】
ＯＰ１１０において、ＣＰＵ１０１がＢＩＯＳとセットアップ支援ツールとの通信を行い、ＢＩＯＳがセットアップ支援ツールから時間短縮モードの設定を取り込む。次いで、処理は、ＯＰ１１１に進められる。
【００２３】
ＯＰ１１１において、ＣＰＵ１０１は、不揮発性メモリ１０７に定義されている、サーバ１内の各メモリの初期化状態を管理するためのフラグを参照する。そして、ＣＰＵ１０１は、選択部として機能し、当該フラグの値に基づいてＯＳインストールの処理に使用するメモリを選択し、初期化部として機能し、選択したメモリの初期化を実行する。なお、サーバ１内の各メモリの初期化状態を管理するためのフラグが、第１の情報の一例に相当する。
【００２４】
以下の説明において、サーバ１内で処理されるデータの記憶領域がメモリモジュール単位で管理される。１つのメモリモジュールは、例えば複数のメモリチップを搭載する１枚の基板に対応する。メモリモジュールは、Dual In-line Memory Module（ＤＩＭＭ）とも呼ばれる。以下、メモリモジュールを単にメモリと称する。
【００２５】
図５に、本実施形態における、サーバ１内のメモリの初期化状態を管理するためのフラグの一例を示す。一例として、サーバ１に搭載されているメモリは１９６枚であるとする
。この場合、不揮発性メモリ１０７には、メモリの枚数分に対応するビット数、すなわち１９６個のビットが並べられたビット列が作成される。作成されたビット列の各ビットがサーバ１に搭載されている各メモリに対応する。また、ビットの値が「０」のときは、当該ビットに対応するメモリの初期化済みでないことを示し、ビットの値が「１」のときは、当該ビットに対応するメモリの初期化済みであることを示す。
【００２６】
ＣＰＵ１０１は、当該ビット列の各ビットの値を参照し、値が「０」であるビットに対応するメモリを初期化対象として選択する。また、ＣＰＵ１０１は、ＯＳインストールの処理に使用する枚数分のメモリを初期化対象として選択する。図５に示すビット列の例では、ビット１、２の値が「１」であり、ビット３〜５（中略）１９４〜１９６の値が「０」である。また、本実施形態において、一例としてＯＳインストールの処理を実行するために使用されるメモリは２枚であるとする。この場合、ＯＰ１１１において、ＣＰＵ１０１は、ビット３、４に対応する２枚のメモリを初期化対象として選択する。
【００２７】
次いで、ＯＰ１１２において、ＣＰＵ１０１は、ＯＰ１１１において選択したメモリの初期化を実行する。そして、ＣＰＵ１０１は、選択したメモリの初期化が完了すると、上記のビット列のメモリに対応するビット、上記の例ではビット３、４の値を「１」に設定する。このように、本実施形態では、サーバ１内の各メモリが初期化済みであるか否かを示すフラグが定義されることで、ＯＳインストール中にサーバ１が再起動された場合に、一度初期化したメモリが重複して初期化されないようにすることができる。ＣＰＵ１０１は、ＯＰ１１２の処理を完了すると、処理をＯＰ１１３に進める。
【００２８】
ＯＰ１１３において、ＣＰＵ１０１は、実行部として機能し、ＯＰ１１２において初期化したメモリを使用してＯＳインストールの処理を実行する。本実施形態では、ＣＰＵ１０１は、ＯＳインストールの処理中にサーバ１の再起動を実行する。そこで、ＣＰＵ１０１は、ＯＰ１１４において、ＯＳインストールを継続するか否かを判定する。そして、ＣＰＵ１０１は、ＯＳインストールを継続する場合に（ＯＰ１１４：Ｙｅｓ）、処理をＯＰ１０７に処理を戻す。一方、ＣＰＵ１０１は、ＯＳインストールを完了した場合は（ＯＰ１１４：Ｎｏ）、本フローチャートの処理を終了する。なお、ＯＳインストールが完了した後、ユーザがＤＶＤドライブ１０６にセットされているメディアを取り出す。
【００２９】
以上より、ＣＰＵ１０１は、図２、３に示すフローチャートの処理を実行することで、ＯＳインストール中にサーバ１を再起動する場合に、初期化済みのメモリに対しては再度初期化を実行しない。これにより、サーバ１を再起動したときにサーバ１内の各メモリを再度初期化する場合に比べてメモリの初期化に伴う処理時間が短縮される。
【００３０】
次に、図６に、ＣＰＵ１０１が図３、４に示すフローチャートの処理を実行した後に実行する、ＯＳ起動処理のフローチャートを示す。ＣＰＵ１０１は、例えば、図３、４に示すフローチャートの処理を実行した後に、サーバ１の電源が投入されたときに、図６に示すフローチャートの処理を開始する。
【００３１】
ＯＰ２０１において、ＣＰＵ１０１は、不揮発性メモリ１０７に格納されているＢＩＯＳコードをＣＰＵ１０１に展開して実行する。次いで、処理はＯＰ２０２に進められる。ＯＰ２０２において、ＣＰＵ１０１は、ＯＰ２０１において起動したＢＩＯＳの処理に従って、ＤＶＤドライブ１０６にＯＳインストール用のメディアがセットされていないことを検知する。次いで、処理はＯＰ２０３に進められる。
【００３２】
ＯＰ２０３において、ＢＩＯＳの処理によって、不揮発性メモリ１０７に格納されている、時間短縮モードを有効にするためのフラグMODE_FLAGの値が「０」に設定される。こ
の結果、ＣＰＵ１０１は、上記のＯＰ１１０、ＯＰ１１１の処理を実行する代わりに以下
に説明するＯＰ２０４の処理を実行する。
【００３３】
ＯＰ２０４において、ＣＰＵ１０１は、不揮発性メモリ１０７に格納されている、サーバ１内の各メモリの初期化状態を管理するためのフラグを参照し、初期化が実行されていないメモリを特定する。具体的には、ＣＰＵ１０１は、当該フラグのビット列において値が「０」であるビットに対応するメモリを特定する。そして、ＣＰＵ１０１は、特定したメモリの初期化を実行する。したがって、本実施形態によれば、サーバ１においてＯＳインストールの完了後にＯＳを起動する場合に、ＯＳインストール中に初期化されたメモリに対しては再度初期化が実行されず、初期化済みでない残りのメモリを対象に初期化が実行される。これにより、ＯＳインストール後のＯＳ起動時にサーバ１内の各メモリを再度初期化する場合に比べて、メモリの初期化に伴う処理時間が短縮される。次いで、処理はＯＰ２０５に進められる。
【００３４】
ＯＰ２０５において、ＣＰＵ１０１は、サーバ１内の各メモリの初期化状態を管理するためのフラグをクリアし、各ビットの値を「０」に設定する。これにより、次回サーバ１において別のＯＳインストールを実行する場合に、当該フラグを使用して、サーバ１の再起動の際に、初期化済みのメモリが重複して初期化されないようにすることができる。次いで、処理はＯＰ２０６に進められる。ＯＰ２０６において、ＣＰＵ１０１は、ＯＳがインストールされているＨＤＤ、例えばＨＤＤ１０９からＯＳを起動する処理を実行する。ＯＰ２０６におけるＣＰＵ１０１によるＯＳの起動処理は、周知の技術を用いて実行されるため、ここでは詳細な説明は省略する。ＣＰＵ１０１は、ＯＳの起動処理が完了すると、本フローチャートの処理を終了する。
【００３５】
図７に、上記のように構成されたサーバ１のＯＳインストールにおいて、一例として初回起動後に３回の再起動が実行され、ＯＳインストール後にＯＳが起動（通常起動）される場合の、メモリ初期化に伴う処理時間（図中「本実施形態」）をグラフで示す。なお、図７に示すグラフの横軸は所定単位の時間を示す。なお、横軸の時間単位は一例にすぎない。また、図７には、比較のため、サーバ１の構成を従来のサーバ構成にした場合に、初回起動後に３回の再起動が実行され、ＯＳインストール後にＯＳが起動（通常起動）される場合の、メモリ初期化に伴う処理時間（図中「従来」）を示す。
【００３６】
図７に示すように、サーバ１の構成を従来のサーバ構成にした場合、起動のたびに、サーバ１内の各メモリが初期化される。このため、各起動時のメモリ初期化に伴う処理時間は略同じ時間となる。一方、サーバ１の構成を本実施形態の上記の構成にした場合、初回起動時のメモリ初期化に伴う処理時間は従来のサーバ構成と同じであるが、ＯＳインストール開始後の各再起動時のメモリ初期化に伴う処理時間が短縮される。これは、各再起動時にＯＳインストールに使用されるメモリが初期化される一方、ＯＳインストールに使用されないメモリおよび初期化済みのメモリに対しては初期化が省略されるためである。
【００３７】
さらに、本実施形態のサーバ１の構成では、ＯＳインストールの完了後の通常起動時のメモリ初期化に伴う処理時間も従来のサーバ構成よりも短縮される。これは、ＯＳインストール完了後の通常起動時が、初回起動時およびＯＳインストールに伴う再起動時に初期化されたメモリの初期化が省略されるためである。
【００３８】
以上が本実施形態に関する説明であるが、上記のサーバなどの構成や処理は、上記の実施形態に限定されるものではなく、本発明の技術的思想と同一性を失わない範囲内において種々の変更が可能である。以下に、上記の実施形態の変形例について説明する。上記の実施形態では、ＯＳインストールのためのセットアップ支援ツールやＯＳインストールのインストーラなどのプログラムが格納されたメディアを、ユーザがＤＶＤドライブ１０６にセットし、ＣＰＵ１０１がメディアに格納された各種プログラムを実行することで、Ｏ
Ｓインストールが進められる。しかし、本変形例において、ＯＳインストール用のプログラムを、ネットワークを経由してダウンロードする構成としてもよい。
【００３９】
この場合は、不揮発性メモリ１０７に、ＯＳインストールが完了したか否かを示すフラグが定義される。なお、ＯＳインストールが完了したか否かを示すフラグが、第２の情報の一例に相当する。図８に、ＯＳインストールが完了したか否かを示すフラグの一例を示す。図８に示すように、ＯＳインストールが完了したか否かを示すフラグOS_INSTALLEDは１ビットで表現され、フラグの値が「０」のときはＯＳインストールが完了していないことを示し、「１」のときはＯＳインストールが完了していることを示す。
【００４０】
図９、１０に、サーバ１のＯＳインストールを実行するためのプログラムを、ネットワークからダウンロードする場合に、ＣＰＵ１０１が実行する処理のフローチャートを示す。なお、上記の実施形態と同様の処理については、同一の符号を付し、詳細な説明は省略する。本変形例では、ＯＰ１１３において、ＣＰＵ１０１は、ＯＳインストールが完了したと判定すると（ＯＰ１１３：Ｙｅｓ）、処理をＯＰ３０１に進め、上記のフラグOS_INSTALLEDの値を「１」に設定する。
【００４１】
その後、ＣＰＵ１０１が図１０に示すフローチャートの処理を実行して、サーバ１にインストールされたＯＳを起動する処理を開始する。この場合、ＣＰＵ１０１は、ＯＰ２０１においてＢＩＯＳを起動した後、ＯＰ３０２においてＯＰ３０１において設定したフラグOS_INSTALLEDの値が「１」であることを確認する。これにより、ＣＰＵ１０１は、サーバ１にＯＳがインストール済みであることを認識し、処理をＯＰ２０３に進める。そして、ＣＰＵ１０１はＯＰ２０４においてサーバ１内の初期化されていないメモリを初期化する。ＣＰＵ１０１は、初期化されていないメモリの初期化が完了すると、ＯＰ２０５において、フラグMODE_FLAG、OS_INSTALLEDおよびサーバ１内の各メモリの初期化状態を管理
するためのフラグをクリアし、値を「０」に設定する。次いで、ＯＰ２０６において、ＣＰＵ１０１は、ＣＰＵ１０１は、ＯＳがインストールされているＨＤＤ、例えばＨＤＤ１０９からＯＳを起動する処理を実行し、本フローチャートの処理を終了する。
【００４２】
以上より、本変形例においても、ネットワーク経由でダウンロードしたＯＳインストール用のプログラムを実行する際に、初期化済みのメモリに対しては再度初期化が実行されず、初期化済みでないメモリを対象に初期化が実行される。これにより、ＯＳインストールの完了後のＯＳ起動時にサーバ１内の各メモリを再度初期化する場合に比べて、メモリの初期化に伴う処理時間が短縮される。
【００４３】
また、上記では、ＯＳインストールを実行する際にサーバ１が繰り返し再起動される場合を想定しているが、ＯＳインストールに限らずその他の処理を実行する際にサーバ１が繰り返し再起動される場合にも上記のサーバ１の構成を適用できる。例えば、サーバ１のInput/Output（Ｉ／Ｏ）などのハードウェア構成の変更、レジストリや設定ファイルの変更など、サーバ１のシステムパラメータの変更およびＯＳの起動処理をシーケンシャルに実行する処理において、サーバ１の再起動が実行されることが想定される。このような場合も、本実施形態によれば、処理に使用されるメモリが初期化された後のサーバ１の再起動時に初期化済みのメモリは初期化されず、残りのメモリが初期化される。
【００４４】
図１１に、サーバ１のシステムパラメータの変更およびＯＳの起動処理をシーケンシャルに実行する処理の一例として、ＯＳの起動中にＢＩＯＳのモード設定またはパラメータ設定を変更してからＯＳを起動する処理を示す。図中、横軸を時間軸とし、電源オフ（「Ｐｏｗｅｒ−Ｏｆｆ」）、ＢＩＯＳの処理（「ＢＩＯＳ」）、ＯＳの起動処理（「ＯＳ」）の３つの処理が実行されることを想定する。
【００４５】
図に示すように、まずサーバ１の電源が投入されてＢＩＯＳが起動される（図中、「Ｐｏｗｅｒ−Ｏｆｆ」から「ＢＩＯＳ」に遷移）。このとき、ＢＩＯＳの処理においてサーバ１の初回起動時におけるサーバ１内のメモリの初期化が実行される。ＢＩＯＳの処理が完了すると、ＯＳの起動処理が実行される（図中、「ＢＩＯＳ」から「ＯＳ」に遷移）。そして、ＯＳの起動処理中に、ＢＩＯＳのモード設定またはパラメータ設定が変更される。この結果、サーバ１において設定変更を行うため、サーバ１が再起動される（図中「ＯＳ」から「Ｐｏｗｅｒ−Ｏｆｆ」に遷移）。
【００４６】
サーバ１が再起動（２回目の起動）されてＢＩＯＳが起動されるときに（図中、「Ｐｏｗｅｒ−Ｏｆｆ」から「ＢＩＯＳ」に遷移）、サーバ１のメモリのうち、ＢＩＯＳの実行に使用されるメモリが選択および初期化される。そして、初期化されたメモリが使用されてＢＩＯＳが起動され、ＢＩＯＳの処理においてＥＦＩシェルが実行される。そして、ＥＦＩシェル上で、初回起動時におけるＢＩＯＳのモード設定またはパラメータ設定の変更に従って、ＢＩＯＳ設定が変更される。次いで、ＢＩＯＳ設定の変更を有効にするため、サーバ１が再起動される（図中「ＢＩＯＳ」から「Ｐｏｗｅｒ−Ｏｆｆ」に遷移）。
【００４７】
サーバ１が再起動（３回目の起動）されたＢＩＯＳが起動され（図中、「Ｐｏｗｅｒ−Ｏｆｆ」から「ＢＩＯＳ」に遷移）、ＥＦＩシェルの実行に使用された初期化済みのメモリ以外のメモリが初期化される。この結果、サーバ１においてＯＳを起動する際に（図中、「ＯＳ」から「ＯＳ」に遷移）、ＥＦＩシェルの実行に使用されたメモリの初期化を省略できるため、メモリの初期化時間が短縮される。
【００４８】
以上より、サーバ１において上記の構成が適用されることで、サーバ１の再起動時に初期化済みのメモリが再度初期化される現象を回避することができる。したがって、上記の説明において、サーバ１のＯＳインストール処理やサーバ１のシステムパラメータの変更をシーケンシャルに実行する処理が、第１の処理と情報処理装置の再起動処理と第２の処理と含む処理の一例に相当する。
【００４９】
また、上記の実施形態において、ＣＰＵは、単一のソケットで接続される単一のＣＰＵがマルチコア構成を有していてもよい。上記の少なくとも一部の処理は、ＣＰＵ以外のプロセッサ、例えば、Digital Signal Processor(DSP)、Graphics Processing Unit（GPU）、数値演算プロセッサ、ベクトルプロセッサ、画像処理プロセッサ等の専用プロセッサで行われてもよい。また、上記の少なくとも一部の処理は、集積回路（ＩＣ）、その他のディジタル回路であってもよい。また、上記各部の少なくとも一部にアナログ回路が含まれてもよい。集積回路は、ＬＳＩ、Application Specific Integrated Circuit（ＡＳＩＣ
）、プログラマブルロジックデバイス（ＰＬＤ）を含む。ＰＬＤは、例えば、Field-Programmable Gate Array(ＦＰＧＡ)を含む。上記各部は、プロセッサと集積回路との組み合
わせであってもよい。組み合わせは、例えば、マイクロコントローラ（ＭＣＵ）、System-on-a-Chip（ＳｏＣ）、システムＬＳＩ、チップセットなどと呼ばれる。
【００５０】
＜コンピュータが読み取り可能な記録媒体＞
コンピュータその他の機械、装置（以下、コンピュータ等）に上記情報処理装置の設定を行うための管理ツール、ＯＳその他を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【００５１】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−
ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリ等のメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスクやＲＯＭ等がある。
【００５２】
以上の実施形態に関し、さらに以下の付記を開示する。
【００５３】
（付記１）
複数のメモリ領域を有し、第１の処理と情報処理装置の再起動処理と第２の処理とを含む処理を実行する情報処理装置の制御プログラムであって、
前記情報処理装置に、
前記複数のメモリ領域のうち、前記第１の処理の実行に使用されるメモリ領域を初期化する処理と、
前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第１の情報を記憶部に記憶する処理と、
前記初期化したメモリ領域を使用して前記第１の処理を実行する処理と、
前記情報処理装置の前記再起動処理において、前記第１の情報に基づいて、初期化済みでないメモリ領域を前記第２の処理の実行に使用されるメモリ領域として初期化する処理と
を実行させる情報処理装置の制御プログラム。
【００５４】
（付記２）
前記情報処理装置に、
前記第２の処理の実行に使用されるメモリ領域を選択する処理と、
前記選択されたメモリ領域を初期化する処理と、
前記選択されたメモリ領域を使用して前記第２の処理を実行する処理と
をさらに実行させる付記１に記載の情報処理装置の制御プログラム。
【００５５】
（付記３）
前記情報処理装置に、
前記第２の処理が完了したか否かを示す第２の情報を前記記憶部に記憶する処理と、
前記情報処理装置の起動時に、前記第２の情報が前記第２の処理が完了したことを示す場合に、前記第１の情報が示す初期化済みでないメモリ領域の初期化を実行する処理と
をさらに実行させる付記１または２に記載の情報処理装置の制御プログラム。
【００５６】
（付記４）
複数のメモリ領域を有し、第１の処理と情報処理装置の再起動処理と第２の処理とを含む処理を実行する情報処理装置であって、
前記複数のメモリ領域のうち、前記第１の処理の実行に使用されるメモリ領域を初期化する初期化部と、
前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第１の情報を記憶する記憶部と、
前記初期化したメモリ領域を使用して前記第１の処理を実行する処理を実行する実行部と、
を有し、
前記初期化部は、前記情報処理装置の前記再起動処理において、前記第１の情報に基づいて、初期化済みでないメモリ領域を前記第２の処理の実行に使用されるメモリ領域として初期化する
情報処理装置。
【００５７】
（付記５）
前記情報処理装置は、
前記第２の処理の実行に使用されるメモリ領域を選択する選択部
を有し、
前記初期化部は、前記選択されたメモリ領域を初期化し、
前記実行部は、前記選択されたメモリ領域を使用して前記第２の処理を実行する
付記４に記載の情報処理装置。
【００５８】
（付記６）
前記記憶部は、前記第２の処理が完了したか否かを示す第２の情報を記憶し、
前記初期化部は、前記情報処理装置の起動時に、前記第２の情報が前記第２の処理が完了したことを示す場合に、前記第１の情報が示す初期化済みでないメモリ領域の初期化を実行する
付記４または５に記載の情報処理装置。
【００５９】
（付記７）
複数のメモリ領域を有し、第１の処理と情報処理装置の再起動処理と第２の処理とを含む処理を実行する情報処理装置の制御方法であって、
前記複数のメモリ領域のうち、前記第１の処理の実行に使用されるメモリ領域を初期化し、
前記複数のメモリ領域の各メモリ領域が初期化済みであるか否かを示す第１の情報を記憶部に記憶し、
前記初期化したメモリ領域を使用して前記第１の処理を実行し、
前記情報処理装置の前記再起動処理において、前記第１の情報に基づいて、初期化済みでないメモリ領域を前記第２の処理の実行に使用されるメモリ領域として初期化する
情報処理装置の制御方法。
【００６０】
（付記８）
前記第２の処理の実行に使用されるメモリ領域を選択し、
前記選択されたメモリ領域を初期化し、
前記選択されたメモリ領域を使用して前記第２の処理を実行する
付記７に記載の情報処理装置の制御方法。
【００６１】
（付記９）
前記第２の処理が完了したか否かを示す第２の情報を前記記憶部に記憶し、
前記情報処理装置の起動時に、前記第２の情報が前記第２の処理が完了したことを示す場合に、前記第１の情報が示す初期化済みでないメモリ領域の初期化を実行する
付記７または付記８に記載の情報処理装置の制御方法。
【符号の説明】
【００６２】
１００    サーバ
１０１〜１０４    ＣＰＵ
１０１ａ〜１０１ｈ    メモリ
１０６    ＤＶＤドライブ
１０７    不揮発性メモリ
１０９、１１０    ＨＤＤ
【図１】
0006686614.tif 000002
【図２】
0006686614.tif 000003
【図３】
0006686614.tif 000004
【図４】
0006686614.tif 000005
【図５】
0006686614.tif 000006
【図６】
0006686614.tif 000007
【図７】
0006686614.tif 000008
【図８】
0006686614.tif 000009
【図９】
0006686614.tif 000010
【図１０】
0006686614.tif 000011
【図１１】
0006686614.tif 000012