(57)【要約】【課題】本発明は、オペレーティングシステムなどのプログラムの起動の高速化を実現することが可能な情報処理装置およびプログラム制御方法を提供することを目的とする。【解決手段】本発明の情報処理装置１０は、ＨＤＤ１４からＲＡＭ１３にプログラムをロードするロード手段と、ＲＡＭ１３からＨＤＤ１４にデータをセーブするセーブ手段とを兼ねるブートローダを備え、ブートローダは、セーブを行うデータのクラスタチェーン情報２０をＨＤＤ１４にセーブし、このクラスタチェーン情報２０を参照してプログラムのロードを実行する。また、プログラムの更新の有無やフラグメントの状態に応じてファイルアロケーションテーブルを参照したロード処理との切り換えを行う。【選択図】      図２
2004246787.tif 000002
【特許請求の範囲】
【請求項１】
各種のプログラムを記憶するハードディスクドライブと、
前記プログラムの実行時に展開されるデータを記憶する揮発性記憶手段と、を備え、
ファイルアロケーションテーブルを参照して、前記ハードディスクドライブに記憶された前記プログラムを前記揮発性記憶手段にロードすることが可能な情報処理装置であって、
前記揮発性記憶手段に記憶されている前記データと、前記データの各クラスタチェーンが前記ハードディスクドライブに記憶される位置を示すクラスタチェーン情報と、を前記ハードディスクドライブにセーブするセーブ手段と、
前記セーブ手段によりセーブされた前記クラスタチェーン情報を参照して、前記ハードディスクドライブに記憶されている前記プログラムを前記揮発性記憶手段にロードするロード手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記ハードディスクドライブには、オペレーティングシステムを形成するプログラムが記憶されており、
前記セーブ手段は、
前記ロード手段により前記オペレーティングシステムを形成するプログラムがロードされる前記揮発性記憶手段の第１の記憶領域に記憶されているデータを、第１のファイルとして前記ハードディスクドライブにセーブし、
前記第１の記憶領域を除く前記揮発性記憶手段の記憶領域からなる第２の記憶領域に記憶されているデータを、第２のファイルとして前記ハードディスクドライブにセーブするとともに、
前記第１のファイルの前記クラスタチェーン情報と、前記第２のファイルの前記クラスタチェーン情報とを、前記第２のファイルに含んで前記ハードディスクドライブにセーブし、
前記ロード手段は、
前記第１のファイルの前記クラスタチェーン情報と、前記第２のファイルの前記クラスタチェーン情報とを参照して、前記オペレーティングシステムを形成するプログラムを前記揮発性記憶手段にロードする、
ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記ロード手段は、前記プログラムを、前記クラスタチェーン情報を参照して前記揮発性記憶手段にロードするか、または、前記ファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードするかを切り換える切換手段を有していることを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記データの前記クラスタチェーン情報は、前記データが前記ハードディスクドライブに記憶される位置を示す第１の位置情報と、前記第１の位置情報に対応するファイルアロケーションテーブルに関する第２の位置情報と、を含み、
前記ロード手段は、
前記第２の位置情報と、前記データが前記ハードディスクドライブに実際に記憶されている位置を示すファイルアロケーションテーブルとが同一であるか否かを、前記データの前記クラスタチェーンごとに判断する第１の判断手段を含み、
前記第１の判断手段により、前記第２の位置情報と、前記実際に記憶されている位置を示すファイルアロケーションテーブルとは同一であると判断された前記クラスタチェーンについては、前記第１の位置情報を参照して前記揮発性記憶手段にロードし、
前記第１の判断手段により、前記第２の位置情報と、前記実際に記憶されている位置を示すファイルアロケーションテーブルとは相違すると判断された前記クラスタチェーンについては、前記実際に記憶されている位置を示すファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードする、
ことを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記セーブ手段は、
前記揮発性記憶手段に記憶されている前記データの各クラスタチェーンの容量が所定の容量より大きいか否かを判断する第２の判断手段を含み、
前記第２の判断手段によって前記所定の容量より大きな容量を有すると判断された前記クラスタチェーンに対しては、所定の情報を前記ハードディスクドライブにセーブし、
前記第２の判断手段によって前記所定の容量を超えない容量を有すると判断された前記クラスタチェーンに対しては、前記クラスタチェーン情報を前記ハードディスクドライブにセーブし、
前記ロード手段は、
前記セーブ手段により前記所定の情報がセーブされた前記クラスタチェーンについては、前記ファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードし、
前記セーブ手段により前記クラスタチェーン情報がセーブされた前記クラスタチェーンについては、前記クラスタチェーン情報を参照して前記揮発性記憶手段にロードする、
ことを特徴とする請求項３記載の情報処理装置。
【請求項６】
各種のプログラムをハードディスクドライブに記憶し、
前記プログラムの実行時に展開されるデータを揮発性記憶手段に記憶させるステップを備える情報処理装置によるプログラム制御方法であって、
前記揮発性記憶手段に記憶されている前記データと、前記データの各クラスタチェーンが前記ハードディスクドライブに記憶される位置を示すクラスタチェーン情報と、を前記ハードディスクドライブにセーブするセーブステップと、
前記セーブステップでセーブされた前記クラスタチェーン情報を参照して、前記ハードディスクドライブに記憶されている前記プログラムを前記揮発性記憶手段にロードするロードステップと、
を含むことを特徴とするプログラム制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オペレーティングシステム等のプログラムに基づいて各種情報処理を行う情報処理装置、および、このような情報処理装置によるプログラム制御方法に関する。
【０００２】
【従来の技術】
現在普及しているコンピュータには、例えばＷｉｎｄｏｗｓ（登録商標）  ＣＥ（Ｗｉｎｄｏｗｓ（登録商標）は、マイクロソフト社の登録商標）などのオペレーティングシステム（以下、単にＯＳと呼ぶこともある。）と称される基本的なプログラムが搭載されており、各種のソフトウェア（プログラム）は、このＯＳに対応し動作するよう形成されているのが通常である。このようなコンピュータを立ち上げると、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）がブートローダをＲＡＭにコピーして起動させ、このブートローダがハードディスクに記憶されたＯＳイメージファイルをＲＡＭにロードすることで、ＯＳは起動され動作可能となる。
【０００３】
従来のブートローダによるＯＳイメージのロード処理は、ファイルアロケーションテーブル（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ；単にＦＡＴと呼ぶ。）を終始参照することで実行されている。しかしながら、ＦＡＴを参照したロード処理は、参照するデータ量の関係上、さほど高速に実行できるものではなく、そのため、ＯＳの起動時間の短縮を妨げる一要因となっていた。
【０００４】
このような状況を改善するための発明には、例えば、下記の特許文献１に開示されたプログラム制御方法がある。当該プログラム制御方法は、通常は起動処理しか行わない（ブート）ローダにＯＳの終了処理も行わせるように構成されたものである。より詳しくは、ＯＳの起動中に、コンピュータ各部のパラメータ、ＯＳのエントリーアドレス、ＯＳイメージファイルのクラスタチェーン情報など、次回の起動に必要なデータを含んだファイル（同文献では、コンテキストと呼ばれている。）を作成しておき、次回の起動時に当該ファイルを参照してロード処理を行うように構成されている。
【０００５】
また、特許文献２に開示された情報処理装置は、電源をオフにして処理を終了する時に、ＲＡＭの内容をＯＳが管理できる形式のファイル（同文献では、スナップショット（ファイル）と呼ばれている。）として保存しておき、ＯＳの起動時にこのスナップショットをＲＡＭにロードする構成を有する。
【０００６】
【特許文献１】
特開２００２−８２８０８号公報（段落〔００３０〕、〔００３５〕および〔００３６〕、第２図）
【特許文献２】
特再ＷＯ００／５４１３３号公報（第１８−１９頁、第２図）
【０００７】
【発明が解決しようとする課題】
しかしながら、これら従来の発明においては、ＯＳのクラスタチェーン情報を取得する際には常にＦＡＴを参照しなければならないため、ＯＳの起動の高速化をテーマとする上での根本的な解決には至っていないと言わざるを得ない。
【０００８】
本発明は、このような現状を打破すべく考案されたもので、ＦＡＴへのアクセスを軽減させることによって、ＯＳなどのプログラムの起動の高速化を実現することが可能な情報処理装置およびプログラム制御方法を提供することをその目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載の発明は、各種のプログラムを記憶するハードディスクドライブと、前記プログラムの実行時に展開されるデータを記憶する揮発性記憶手段と、を備え、ファイルアロケーションテーブルを参照して、前記ハードディスクドライブに記憶された前記プログラムを前記揮発性記憶手段にロードすることが可能な情報処理装置であって、前記揮発性記憶手段に記憶されている前記データと、前記データの各クラスタチェーンが前記ハードディスクドライブに記憶される位置を示すクラスタチェーン情報と、を前記ハードディスクドライブにセーブするセーブ手段と、前記セーブ手段によりセーブされた前記クラスタチェーン情報を参照して、前記ハードディスクドライブに記憶されている前記プログラムを前記揮発性記憶手段にロードするロード手段と、を備えることを特徴とする。
【００１０】
上記目的を達成するために、請求項２に記載の発明は、請求項１記載の情報処理装置であって、前記ハードディスクドライブには、オペレーティングシステムを形成するプログラムが記憶されており、前記セーブ手段は、前記ロード手段により前記オペレーティングシステムを形成するプログラムがロードされる前記揮発性記憶手段の第１の記憶領域に記憶されているデータを、第１のファイルとして前記ハードディスクドライブにセーブし、前記第１の記憶領域を除く前記揮発性記憶手段の記憶領域からなる第２の記憶領域に記憶されているデータを、第２のファイルとして前記ハードディスクドライブにセーブするとともに、前記第１のファイルの前記クラスタチェーン情報と、前記第２のファイルの前記クラスタチェーン情報とを、前記第２のファイルに含んで前記ハードディスクドライブにセーブし、前記ロード手段は、前記第１のファイルの前記クラスタチェーン情報と、前記第２のファイルの前記クラスタチェーン情報とを参照して、前記オペレーティングシステムを形成するプログラムを前記揮発性記憶手段にロードする、ことを特徴とする。
【００１１】
上記目的を達成するために、請求項３に記載の発明は、請求項１または請求項２に記載の情報処理装置であって、前記ロード手段は、前記プログラムを、前記クラスタチェーン情報を参照して前記揮発性記憶手段にロードするか、または、前記ファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードするかを切り換える切換手段を有していることを特徴とする。
【００１２】
上記目的を達成するために、請求項４に記載の発明は、請求項３記載の情報処理装置であって、前記データの前記クラスタチェーン情報は、前記データが前記ハードディスクドライブに記憶される位置を示す第１の位置情報と、前記第１の位置情報に対応するファイルアロケーションテーブルに関する第２の位置情報と、を含み、前記ロード手段は、前記第２の位置情報と、前記データが前記ハードディスクドライブに実際に記憶されている位置を示すファイルアロケーションテーブルとが同一であるか否かを、前記データの前記クラスタチェーンごとに判断する第１の判断手段を含み、前記第１の判断手段により、前記第２の位置情報と、前記実際に記憶されている位置を示すファイルアロケーションテーブルとは同一であると判断された前記クラスタチェーンについては、前記第１の位置情報を参照して前記揮発性記憶手段にロードし、前記第１の判断手段により、前記第２の位置情報と、前記実際に記憶されている位置を示すファイルアロケーションテーブルとは相違すると判断された前記クラスタチェーンについては、前記実際に記憶されている位置を示すファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードする、ことを特徴とする。
【００１３】
上記目的を達成するために、請求項５に記載の発明は、請求項３記載の情報処理装置であって、前記セーブ手段は、前記揮発性記憶手段に記憶されている前記データの各クラスタチェーンの容量が所定の容量より大きいか否かを判断する第２の判断手段を含み、前記第２の判断手段によって前記所定の容量より大きな容量を有すると判断された前記クラスタチェーンに対しては、所定の情報を前記ハードディスクドライブにセーブし、前記第２の判断手段によって前記所定の容量を超えない容量を有すると判断された前記クラスタチェーンに対しては、前記クラスタチェーン情報を前記ハードディスクドライブにセーブし、前記ロード手段は、前記セーブ手段により前記所定の情報がセーブされた前記クラスタチェーンについては、前記ファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードし、前記セーブ手段により前記クラスタチェーン情報がセーブされた前記クラスタチェーンについては、前記クラスタチェーン情報を参照して前記揮発性記憶手段にロードする、ことを特徴とする。
【００１４】
上記目的を達成するために、請求項６に記載の発明は、各種のプログラムをハードディスクドライブに記憶し、前記プログラムの実行時に展開されるデータを揮発性記憶手段に記憶させるステップを備える情報処理装置によるプログラム制御方法であって、前記揮発性記憶手段に記憶されている前記データと、前記データの各クラスタチェーンが前記ハードディスクドライブに記憶される位置を示すクラスタチェーン情報と、を前記ハードディスクドライブにセーブするセーブステップと、前記セーブステップでセーブされた前記クラスタチェーン情報を参照して、前記ハードディスクドライブに記憶されている前記プログラムを前記揮発性記憶手段にロードするロードステップと、を含むことを特徴とする。
【００１５】
【発明の実施の形態】
【００１６】
以下、図面を参照しながら、本発明の実施の形態の一例について詳細に説明する。
【００１７】
〔第１の実施の形態〕
図１は、本発明に係る情報処理装置（コンピュータ）１０のハードウェア構成の概略を示すブロック図である。情報処理装置１０は、当該装置の全体制御を司るＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１を中心として構成されている。
【００１８】
情報処理装置１０には、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ハードディスクドライブ（以下、単にＨＤＤと記載する）１４などの記憶装置が設けられている。ＲＯＭ１２には、ＯＳ起動を行うためのブートローダなどのＣＰＵ１１が各種処理を実行するためのデータが記憶されている。また、ＲＡＭ１３は、情報処理装置１０の主記憶装置で、プログラムの実行時に展開されるデータを記憶する。また、ＨＤＤ１４には、ＯＳイメージファイルやアプリケーションファイルなど、各種のプログラム（ファイル）が格納されている。
【００１９】
ＨＤＤ１４のアクセス単位はクラスタと呼ばれ、クラスタは所定数の連続したセクタから構成される。ファイルは複数のクラスタに分かれて記憶されており、ファイルアロケーションテーブル（ＦＡＴ）と通常呼ばれている、各クラスタの位置情報を提供するマップを参照することで、当該ファイルにアクセスすることができる。
【００２０】
ＦＡＴと同様にクラスタの位置情報を示す情報に、本発明の特徴を成すクラスタチェーン情報がある（詳細は後述する）。このクラスタチェーン情報は、ファイルが記憶されているクラスタの連続部分を単位として作成され、各クラスタチェーンに含まれる各クラスタの位置を示す情報を含んでいる。クラスタチェーン情報を参照する場合、複数のクラスタからなるクラスタチェーンを一度に読み込むことが可能であるので、クラスタをひとつひとつ読み込む必要のあるＦＡＴよりも高速で読み込みを行うことができる。
【００２１】
さらに、情報処理装置１０には、画像を表示するための表示手段やユーザーが操作等の入力を行うための入力手段などのユーザーインターフェイスが設けられている。上記表示手段は、画像データの出力制御を行うビデオコントローラ１５と、このビデオコントローラ１５から出力される画像データを基に画像を表示するディスプレイ１６とを含んで構成されている。また、上記入力手段としては、キーボードやマウス等からなる入力装置１７が接続されている。
【００２２】
次に、以上のようなハードウェア構成を有する情報処理装置１０の使用形態について説明する。
【００２３】
情報処理装置１０の電源スイッチ（不図示）をオンにして電源を投入すると、ＢＩＯＳが起動し、ＲＯＭ１２に記憶されているブートローダ（単にローダともいう。）をＲＡＭ１３にコピーして、ブートローダを起動する。以下、ブートローダによるＯＳイメージのロード処理（ローダ処理）について、図２に示すフローチャートを参照して説明する。なお、ブートローダおよびＣＰＵ１１（以下、ブートローダ等とも言う。）は、本発明で言う「ロード手段」、「セーブ手段」、「切換手段」および「第１の判断手段」をそれぞれ構成する。
【００２４】
また、以下に登場する「スナップショットファイル」の詳細事項については後述するが、このスナップショットファイルの先頭部分にはクラスタチェーン情報記憶領域が形成されており、当該領域にはクラスタチェーン情報が記憶されているものとして使用状態の説明を続ける。ここで言うクラスタチェーン情報は、ＯＳイメージファイルのクラスタチェーン情報と、スナップショットファイルのクラスタチェーン情報とを含むものとする。
【００２５】
ブートローダ等は、先ず、ＦＡＴファイルをＨＤＤ１４からＲＡＭに転送し（Ｓ１）、スナップショットファイルがＨＤＤ１４に格納されているか否かを判断する（Ｓ２）。スナップショットファイルが存在する場合（Ｓ２；Ｙ）、ブートローダ等は、スナップショットファイルのクラスタチェーン情報記憶領域にアクセスし、当該領域の内容の有無を認識することで、クラスタチェーン情報が記録されているか否かを判断する（Ｓ３）。なお、（Ｓ２；Ｙ）は、Ｓ２において「Ｙ」が選択されたことを意味する（以下同様である。）。
【００２６】
クラスタチェーン情報が記録されている場合（Ｓ３；Ｙ）は、ＦＡＴファイルのアクセスルールに従って、つまりＦＡＴを参照して、クラスタチェーン情報をＲＡＭ１３に転送する（Ｓ４）。そして、ブートローダ等は、ＲＡＭ１３に転送されたクラスタチェーン情報とＦＡＴとを照合して、ＦＡＴが更新されているか否か、即ち、ロード対象となるファイル（ＯＳイメージファイル）が更新されているか否か判断を行う（Ｓ５）。この照合処理の詳細については後述する。
【００２７】
ブートローダ等によってＦＡＴが更新されていないと判断されたとき（Ｓ５；Ｎ）は、ＲＡＭ１３上のＯＳイメージファイルのクラスタチェーン情報を参照して、ＯＳイメージをＨＤＤ１４からＲＡＭ１３に転送し（Ｓ６）、同様にスナップショットファイルのクラスタチェーン情報を参照してスナップショットファイルをＨＤＤ１４からＲＡＭ１３に転送する（Ｓ７）。そして、ＯＳのエントリポイントにジャンプして（Ｓ１１）ＯＳを起動し（Ｓ１２）、ローダ処理を終了する。以上のフローを第１のプロセスと呼ぶこととする。
【００２８】
次に第２のプロセスとして、クラスタチェーン情報とＦＡＴとの比較判断を行うステップにおいて、ブートローダ等によりＦＡＴが更新されていると判断された場合（Ｓ５；Ｙ）におけるローダ処理について説明する。
【００２９】
ＦＡＴが更新されていると判断されたら（Ｓ５；Ｙ）、更新されたＦＡＴを新たなクラスタチェーン情報としてクラスタチェーン情報記憶領域に上書きするとともに（Ｓ８）、ＦＡＴファイルのアクセスルールに従って、ＯＳイメージをＲＡＭ１３に転送し（Ｓ１０）、ＯＳのエントリポイントにジャンプして（Ｓ１１）ＯＳを起動し（Ｓ１２）、ローダ処理を終了する。
【００３０】
また、第３のプロセスとして、ブートローダ等により、スナップショットファイルのクラスタチェーン情報記憶領域にクラスタチェーン情報が記録されていないものと判断された場合（Ｓ３；Ｎ）のローダ処理を説明する。
【００３１】
クラスタチェーン情報記憶領域にクラスタチェーン情報が記録されていないと判断されると（Ｓ３；Ｎ）、ＦＡＴファイルのアクセスルールに従って、スナップショットファイルをＲＡＭ１３に転送し（Ｓ９）、ＯＳイメージをＲＡＭ１３に転送する（Ｓ１０）。そして、ＯＳのエントリポイントにジャンプし（Ｓ１１）ＯＳを起動して（Ｓ１２）、ローダ処理を終了する。
【００３２】
最後に、第４のプロセスを説明する。第４のプロセスは、例えば第１回目の起動時のように、ＨＤＤ１４にスナップショットファイルが存在しないケース（Ｓ２；Ｎ）に対応する。この場合、ブートローダ等は、ＦＡＴファイルのアクセスルールに従ってＯＳイメージをＲＡＭ１３へ転送し（Ｓ１０）、ＯＳのエントリポイントにジャンプして（Ｓ１１）ＯＳを起動し（Ｓ１２）、ローダ処理を終了する。
【００３３】
（スナップショットファイル）
ここで、図３および図４を参照しながら、情報処理装置１０の上記使用形態において重要な位置を占めるスナップショットファイルの詳細について説明する。スナップショットファイルは、ＯＳによって管理可能な形式の「スナップショット」と呼ばれるデータを含むファイルである。
【００３４】
図３は、スナップショットファイルの作成プロセスを示すフローチャートである。なお、以下の説明では、スナップショットファイルはＯＳの終了処理において作成されるものとなっているが、例えばＯＳイメージがＲＡＭ１３に展開している任意の時点など、その他のタイミングで作成処理を実行してもよい。
【００３５】
ＯＳの終了を選択する終了ボタン（不図示）をクリックするなどして、ＯＳの終了要求があると（Ｓ２１）、ブートローダは、スナップショットすべきＲＡＭ１３の領域（スナップショット対象領域）を調査する（Ｓ２２）。
【００３６】
このとき、ＲＡＭ１３上のデータの構造を、ＯＳイメージを記憶する領域（第１の記憶領域）と、ＯＳイメージ以外のデータを記憶する領域（第２の記憶領域）とに分割すると、上記スナップショット対象領域は、上記第２の記憶領域に相当する。よって、ここでは、ＯＳイメージ以外のデータをスナップショット対象データと呼称する。スナップショット対象データには、ＲＡＭ１３やＨＤＤ１４などのパラメータ、ＯＳのエントリアドレス、ＯＳに渡すパラメータ、ＯＳイメージファイルのクラスタチェーン情報など、次回のＯＳの起動に必要なデータが含まれている。
【００３７】
以下、ＲＡＭ１３に記憶されているＯＳイメージとスナップショット対象データとをまとめてＲＡＭデータと呼ぶこととする。
【００３８】
なお、Ｗｉｎｄｏｗｓ（登録商標）  ＣＥでは、ＲＡＭ１３上のＯＳイメージは、単一の領域を形成して展開されるので、スナップショット対象領域の特定は容易である。
【００３９】
スナップショット対象領域が調査により特定されると、ブートローダは、ＲＡＭデータのクラスタチェーン情報を作成して記憶するとともに（Ｓ２３）、ＲＡＭデータをＨＤＤ１４にセーブする（Ｓ２４）。このとき、ＯＳイメージは、ＯＳイメージファイル（第１のファイル）としてセーブされ、スナップショット対象データは、スナップショットファイル（第２のファイル）としてセーブされる。また、スナップショットファイルの先頭部分には、所定の空き領域が形成されている。
【００４０】
ＲＡＭデータのセーブが終了すると、ブートローダは、Ｓ２３で作成したＲＡＭデータのクラスタチェーン情報を、Ｓ２４で形成された上記空き領域に書き込む（Ｓ２５）。以上で、スナップショットファイルの作成処理は完了し、通常のＯＳの終了処理を経て、ＯＳは終了される。
【００４１】
このようなプロセスで生成されるスナップショットファイルは、その先頭に、ＲＡＭデータのクラスタチェーン情報、即ち、ＯＳイメージファイルのクラスタチェーン情報およびスナップショットファイルのクラスタチェーン情報が記憶されている。なお、クラスタチェーン情報は、連続したクラスタチェーンごとに作成される。また、上記空き領域は、図２の説明中におけるクラスタチェーン情報記憶領域に相当する。
【００４２】
次に、クラスタチェーン情報の構成内容について説明する。クラスタチェーン情報は、一つの連続したクラスタチェーンを示すデータと、ＦＡＴにおけるこのクラスタチェーンに対応するデータとの関係を示す１つのデータエントリからなる。
【００４３】
図４には、ＲＡＭデータの或るクラスタチェーンのクラスタチェーン情報２０が示されている。クラスタチェーン情報２０は、当該クラスタチェーンに関するデータ（第１の位置情報）として、先頭セクタアドレス２１および連続セクタ数２２を含み、また、当該ＦＡＴに関するデータ（第２の位置情報）として、ＦＡＴベリファイ用セクタアドレス２３、ＦＡＴの連続セクタ数２４およびＦＡＴの先頭ワードのオフセット２５、サイズ情報２６およびチェックサム情報２７を含んでいる。
【００４４】
先頭セクタアドレス２１には、当該クラスタチェーンの先頭のセクタアドレスが記憶されている。また、連続セクタ数２２には、当該クラスタチェーンの連続するセクタ数が記憶されている。
【００４５】
ＦＡＴベリファイ用セクタアドレス２３には、当該クラスタチェーンの先頭のＦＡＴにおけるセクタアドレスが記憶されている。また、ＦＡＴの連続セクタ数２４には、当該ＦＡＴにおける連続するセクタ数が記憶されている。また、ＦＡＴの先頭ワードのオフセット２５には、当該ＦＡＴのベリファイ先頭からのオフセット（距離）が記憶されている。ここで、「ベリファイ」とは、当該クラスタチェーンと当該ＦＡＴとの照合処理を意味する。
【００４６】
また、サイズ情報２６には、クラスタチェーン情報２０に含まれる上記ＦＡＴに関するデータと、ＯＳイメージファイルの実際の位置情報を示すＦＡＴファイルに含まれる当該クラスタチェーンに関するデータとを比較してそれらの同一性を判断するための（図２のＳ５参照）チェックサム演算に係るワード数が記憶されている。また、チェックサム情報２７には、チェックサム演算の結果が記憶されている。なお、本実施形態では、クラスタチェーンとＦＡＴとの照合にチェックサムを用いているが、一般に、巡回符号積和演算を使用して当該照合処理を実行することができる。
【００４７】
チェックサムによるクラスタチェーン情報とＦＡＴファイルとの照合処理は、チェックサム情報２７と、ＦＡＴファイル内の当該クラスタチェーンに対応するデータをワード単位で巡回符号積和演算した結果とを比較して行われる。比較の結果、両者が一致していれば、先頭セクタアドレス２１および連続セクタ数２２は有効とされ、クラスタチェーン情報２０を参照した読み込みを実行する（図２のＳ５のＮを選択する場合に対応する）。一方、不一致との結果を得た場合は、更新されたＦＡＴを新たなクラスタチェーン情報として上書きし（図２のＳ８）、ＦＡＴを参照して読み込みを実行する（図２のＳ５のＹを選択する場合に対応する）。
【００４８】
この照合処理は、あらかじめ読み込んでおいたＦＡＴファイル内のデータをメモリとして見て、所定のオフセット（距離）に配置されたクラスタチェーンの内容を高速で比較することで実行される。このような高速処理により、ＦＡＴの内容が更新されている場合の不安定な動作が回避される。
【００４９】
また、図３のＳ２４にあるように、スナップショットファイルを作成する際には、その先頭部分に空き領域が形成される。この空き領域は、ある所定の容量を有している。本実施形態においては、上記空き領域にクラスタチェーン情報２０を所望の個数配列し、前記クラスタチェーン情報２０の配列を参照することで対象ファイルの読み書きを行う際のハードディスクドライブ１４に記録されている実体としてのデータの先頭位置、長さ及び読み込み順序を決定するための演算処理の簡略化、高速化を実現した。具体的には、各クラスタチェーン情報２０は２８バイトの容量を有し、先頭セクタアドレス２１に８バイト、連続セクタ数２２に２バイト、ＦＡＴベリファイ用セクタアドレス２３に８バイト、ＦＡＴの連続セクタ数２４に２バイト、ＦＡＴの先頭ワードのオフセット２５に２バイト、サイズ情報２６に２バイト、そしてチェックサム情報２７に４バイトがそれぞれ割り振られている。上記空き領域の容量は、各クラスタチェーン情報の容量とともに、セーブされるＲＡＭデータのフラグメント状態などを考慮して適宜設定する。なお、当然ながら、各クラスタチェーン情報の容量は２８バイトである必要はなく、また、クラスタチェーン情報を構成する各情報の容量も上記のものである必要もない。
【００５０】
（作用）
以下、情報処理装置１０の奏する作用について説明する。
【００５１】
図２の説明中にある第１のプロセスでは、ＦＡＴの参照は極力抑えられており、特にＯＳイメージおよびスナップショットファイルのロード処理はクラスタチェーン情報を参照して行われるので、ローダ処理の高速化が実現される。（Ｗｉｎｄｏｗｓ（登録商標）  ＣＥを使用したテストでは、ＦＡＴ参照では１０秒程度、第１のプロセスでは８秒程度と、ローダ処理時間は約２秒短縮された。）
【００５２】
第２のプロセス、第３のプロセスおよび第４のプロセスでは、従来のようにＦＡＴファイルのアクセスルールにのみ従ってＯＳイメージをロードするので、ローダ処理時間の短縮は実現できない。
【００５３】
したがって、可能な限り上記第１のプロセスを経由するように構成することが好ましい。例えば、（購入直後などの）第１回目のＯＳ終了時に、図３に示すクラスタチェーン情報が書き込まれたスナップショットファイルの作成処理を実行し、第２回目の起動はこのクラスタチェーン情報を参照して行う。それ以後は、図２のＳ８に示すクラスタチェーン情報の上書きを行い、かつ、各終了時に図３に示す処理を実行する。
【００５４】
したがって、従来はＦＡＴを参照してＯＳイメージをロードしていた区間のほぼ全てにおいて、クラスタチェーン情報を参照した直接のディスクアクセスを実行することが可能となるので、ＯＳの高速起動を実現することが可能である。また、ＯＳの起動に必要なデータを含んでいるスナップショットファイルのロードについても同様にクラスタチェーン情報を参照して行うことができ、起動の更なる高速化が図られる。
【００５５】
特に、ＯＳとしてＷｉｎｄｏｗｓ（登録商標）  ＣＥを使用する場合、ＯＳイメージファイルのＨＤＤ１４内での配置は固定されており、また、スナップショットファイルについても固定ファイルの使用が推奨されているので、恒常的なＯＳの起動の高速化を達成することが可能となる。
【００５６】
また、スナップショットファイルを固定ファイルとしておけば、図２のＳ８でクラスタ情報を上書きする場合にも、ＦＡＴを参照せずに、直接のディスクアクセスによるデータの更新処理を行うことができるので、処理の高速化を図ることが可能となる。
【００５７】
さらに、本実施形態の情報処理装置１０によれば、クラスタチェーン情報を参照した高速処理と、ＦＡＴを参照した通常の処理とをクラスタチェーンごとに切り換えて行うことが可能である。スナップショットファイルの有無（図２のＳ２）やクラスタチェーン情報の有無（同図のＳ３）に対応する切り換えは当然であるが、図２のＳ５に示すように、更新されたクラスタチェーンのみをＦＡＴ参照した処理に切り換えることができるので、ローダ処理の短時間化および安定化を達成することが可能となる。
【００５８】
〔第２の実施の形態〕
次に説明する本発明の第２の実施形態は、上記第１の実施形態の情報処理装置１０に一つの機能を付加したものである。したがって、付加する機能の要点についてのみ説明する。
【００５９】
情報処理装置１０は、ＯＳ終了時に、先頭部分には所定容量の空き領域を有するスナップショットファイルを作成するよう構成されている。しかし、ＲＡＭデータにフラグメントの大きな箇所があるときには、対応するクラスタチェーン情報が上記所定容量を超えてしまうこともあり得る。本実施形態は、このようなケースに対処するための機能を提供するものである。
【００６０】
図５は、上記機能を実現するためのＯＳ終了時における、ブートローダ及びＣＰＵ１１（ブートローダ等とも言う。）によるローダ処理を示すフローチャートである。同図に示すローダ処理は、図３に示すローダ処理に代替するものであり、図３に示すローダ処理と同一のステップには同一の符号が付されている。なお、本実施形態のブートローダ等は、本発明の「第２の判断手段」を構成するものでもある。
【００６１】
ＯＳの終了要求があると（Ｓ２１）、ブートローダ等は、スナップショット対象領域を調査する（Ｓ２２）。スナップショット対象領域の調査が終了すると、ブートローダ等は、セーブされるＲＡＭデータのフラグメント状態の調査を行い、部分的にまたは全体的にフラグメントが大きな箇所があるか否かを判断する（Ｓ３１）。
【００６２】
フラグメントが大きな箇所がない場合（Ｓ３１；Ｎ）、ブートローダ等は、第１の実施形態のケースと同様に、ＲＡＭデータのクラスタチェーン情報を作成、記憶し（Ｓ２３）、ＲＡＭデータをＨＤＤ１４にセーブし（スナップショットファイルの先頭部分には所定容量の空き領域が形成されている）（Ｓ２４）、当該空き領域にクラスタチェーン情報を書き込み（Ｓ４０）、通常のＯＳの終了処理を経て、ＯＳは終了される。
【００６３】
一方、フラグメントが大きな箇所が存在するとき（Ｓ３１；Ｙ）、フラグメントが大きな箇所については、クラスタチェーン情報の代わりに、クラスタチェーン情報は無効である旨を示す無効情報と、当該箇所のクラスタ数とを記憶しておく（Ｓ３２）。同時に、フラグメントが大きいと判断されなかった箇所については、クラスタチェーン情報を作成して記憶しておく（Ｓ３３）。なお、上記無効情報とクラスタ数とは、本発明の「所定の情報」を定義している。
【００６４】
ブートローダ等は、フラグメントが大と判断された箇所の無効情報およびクラスタ数（以下、無効情報等ともいう。）と、フラグメントが大とは判断されなかった箇所のクラスタチェーン情報とを記憶したら、ＲＡＭデータをセーブし（Ｓ２４）、最後に、スナップショットファイルの先頭の空き領域に上記無効情報等およびクラスタチェーン情報を書き込み（Ｓ４０）、通常のＯＳの終了処理を経て、ＯＳは終了される。
【００６５】
なお、Ｓ３１においてフラグメントが大きいか否か判断するときの判断基準は、任意に設定することが可能である。例えば、第１の実施形態でのクラスタチェーン情報２０に包含されているＦＡＴの連続セクタ数２４が矮小であるクラスタチェーン情報２０が一定数以上連続して出現する区間を「フラグメントが大きい箇所である」と判断し、無効情報と無効なクラスタ数に置き換えて記録することで、高速化に寄与するクラスタチェーン情報２０だけを効率よく記録するといった構成が可能になる。
【００６６】
このような構成のスナップショットファイルを作成することで、図２のＳ３に示すクラスタチェーン情報の有無の判断を容易に行うことが可能となる。詳しくは、クラスタチェーン情報が書き込まれている場合（Ｓ３；Ｙ）には、そのデータを参照して読み込みを実行し、一方、無効情報およびクラスタ数が書き込まれている場合（Ｓ３；Ｎ）には、クラスタチェーン情報を参照した高速処理を無効としてＦＡＴを参照した処理を実行するように切換処理を行うことができる。
【００６７】
また、クラスタチェーン情報を参照した高速処理を行う中で、フラグメントが大きな箇所に限ってＦＡＴを参照した処理に切り換えて行うことが可能となるので、処理の高速化と安定化の双方の向上を図ることが可能となる。
【００６８】
以上、詳細に説明した実施形態は、本発明を実施するための具体的構成の一例を開示したに過ぎないものであり、本発明の主旨を限定して解するための要件を提供するものではない。
【００６９】
【発明の効果】
本発明によれば、クラスタチェーン情報を参照した直接のディスクアクセスによりＯＳ等のプログラムの起動処理を実行することで、上記プログラムの起動の高速化を図ることができるので、起動時間を短縮することが可能となる。
【００７０】
また、上記プログラムのＦＡＴの更新の有無やフラグメント状態に対応して、クラスタチェーン情報およびＦＡＴを切り換えて参照することができるので、起動処理の安定性を担保した上での高速化を図ることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態の情報処理装置のハードウェア構成の概略を示すブロック図である。
【図２】第１の実施の形態の情報処理装置のオペレーティングシステムの起動時における処理を示すフローチャートである。
【図３】第１の実施の形態の情報処理装置のオペレーティングシステムの終了時における処理を示すフローチャートである。
【図４】第１の実施の形態の情報処理装置により作成されるクラスタチェーン情報のデータ構成を示す模式図である。
【図５】本発明の第２の実施の形態の情報処理装置のオペレーティングシステムの終了時における処理を示すフローチャートである。
【符号の説明】
１０  情報処理装置
１１  ＣＰＵ
１２  ＲＯＭ
１３  ＲＡＭ
１４  ハードディスクドライブ
２０  クラスタチェーン情報
【図１】
2004246787.tif 000003
【図２】
2004246787.tif 000004
【図３】
2004246787.tif 000005
【図４】
2004246787.tif 000006
【図５】
2004246787.tif 000007