JP2004246787A - Information processor and method for controlling program - Google Patents

Information processor and method for controlling program Download PDF

Info

Publication number
JP2004246787A
JP2004246787A JP2003038278A JP2003038278A JP2004246787A JP 2004246787 A JP2004246787 A JP 2004246787A JP 2003038278 A JP2003038278 A JP 2003038278A JP 2003038278 A JP2003038278 A JP 2003038278A JP 2004246787 A JP2004246787 A JP 2004246787A
Authority
JP
Japan
Prior art keywords
cluster chain
information
hard disk
disk drive
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003038278A
Other languages
Japanese (ja)
Other versions
JP4122998B2 (en
Inventor
Eiji Nakatani
英司 中谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003038278A priority Critical patent/JP4122998B2/en
Publication of JP2004246787A publication Critical patent/JP2004246787A/en
Application granted granted Critical
Publication of JP4122998B2 publication Critical patent/JP4122998B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processor capable of accelerating the start of a program for an operating system or the like and to provide a method for controlling the program. <P>SOLUTION: The information processor 10 is provided with a loading means for loading a program from an HDD 14 to a RAM 13 and boot loader used also as a saving means for saving data from the RAM 13 to the HDD 14. The boot loader saves the cluster chain information of data to be saved in the HDD 14 and executes the loading of the program by referring to the cluster chain information 20. The boot loader switches the loading processing to loading processing referring to a file allocation table in accordance with the presence or absence of updating of the program or a fragment state. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、オペレーティングシステム等のプログラムに基づいて各種情報処理を行う情報処理装置、および、このような情報処理装置によるプログラム制御方法に関する。
【0002】
【従来の技術】
現在普及しているコンピュータには、例えばWindows(登録商標) CE(Windows(登録商標)は、マイクロソフト社の登録商標)などのオペレーティングシステム(以下、単にOSと呼ぶこともある。)と称される基本的なプログラムが搭載されており、各種のソフトウェア(プログラム)は、このOSに対応し動作するよう形成されているのが通常である。このようなコンピュータを立ち上げると、BIOS(Basic Input Output System)がブートローダをRAMにコピーして起動させ、このブートローダがハードディスクに記憶されたOSイメージファイルをRAMにロードすることで、OSは起動され動作可能となる。
【0003】
従来のブートローダによるOSイメージのロード処理は、ファイルアロケーションテーブル(File Allocation Table;単にFATと呼ぶ。)を終始参照することで実行されている。しかしながら、FATを参照したロード処理は、参照するデータ量の関係上、さほど高速に実行できるものではなく、そのため、OSの起動時間の短縮を妨げる一要因となっていた。
【0004】
このような状況を改善するための発明には、例えば、下記の特許文献1に開示されたプログラム制御方法がある。当該プログラム制御方法は、通常は起動処理しか行わない(ブート)ローダにOSの終了処理も行わせるように構成されたものである。より詳しくは、OSの起動中に、コンピュータ各部のパラメータ、OSのエントリーアドレス、OSイメージファイルのクラスタチェーン情報など、次回の起動に必要なデータを含んだファイル(同文献では、コンテキストと呼ばれている。)を作成しておき、次回の起動時に当該ファイルを参照してロード処理を行うように構成されている。
【0005】
また、特許文献2に開示された情報処理装置は、電源をオフにして処理を終了する時に、RAMの内容をOSが管理できる形式のファイル(同文献では、スナップショット(ファイル)と呼ばれている。)として保存しておき、OSの起動時にこのスナップショットをRAMにロードする構成を有する。
【0006】
【特許文献1】
特開2002−82808号公報(段落〔0030〕、〔0035〕および〔0036〕、第2図)
【特許文献2】
特再WO00/54133号公報(第18−19頁、第2図)
【0007】
【発明が解決しようとする課題】
しかしながら、これら従来の発明においては、OSのクラスタチェーン情報を取得する際には常にFATを参照しなければならないため、OSの起動の高速化をテーマとする上での根本的な解決には至っていないと言わざるを得ない。
【0008】
本発明は、このような現状を打破すべく考案されたもので、FATへのアクセスを軽減させることによって、OSなどのプログラムの起動の高速化を実現することが可能な情報処理装置およびプログラム制御方法を提供することをその目的とする。
【0009】
【課題を解決するための手段】
上記目的を達成するために、請求項1に記載の発明は、各種のプログラムを記憶するハードディスクドライブと、前記プログラムの実行時に展開されるデータを記憶する揮発性記憶手段と、を備え、ファイルアロケーションテーブルを参照して、前記ハードディスクドライブに記憶された前記プログラムを前記揮発性記憶手段にロードすることが可能な情報処理装置であって、前記揮発性記憶手段に記憶されている前記データと、前記データの各クラスタチェーンが前記ハードディスクドライブに記憶される位置を示すクラスタチェーン情報と、を前記ハードディスクドライブにセーブするセーブ手段と、前記セーブ手段によりセーブされた前記クラスタチェーン情報を参照して、前記ハードディスクドライブに記憶されている前記プログラムを前記揮発性記憶手段にロードするロード手段と、を備えることを特徴とする。
【0010】
上記目的を達成するために、請求項2に記載の発明は、請求項1記載の情報処理装置であって、前記ハードディスクドライブには、オペレーティングシステムを形成するプログラムが記憶されており、前記セーブ手段は、前記ロード手段により前記オペレーティングシステムを形成するプログラムがロードされる前記揮発性記憶手段の第1の記憶領域に記憶されているデータを、第1のファイルとして前記ハードディスクドライブにセーブし、前記第1の記憶領域を除く前記揮発性記憶手段の記憶領域からなる第2の記憶領域に記憶されているデータを、第2のファイルとして前記ハードディスクドライブにセーブするとともに、前記第1のファイルの前記クラスタチェーン情報と、前記第2のファイルの前記クラスタチェーン情報とを、前記第2のファイルに含んで前記ハードディスクドライブにセーブし、前記ロード手段は、前記第1のファイルの前記クラスタチェーン情報と、前記第2のファイルの前記クラスタチェーン情報とを参照して、前記オペレーティングシステムを形成するプログラムを前記揮発性記憶手段にロードする、ことを特徴とする。
【0011】
上記目的を達成するために、請求項3に記載の発明は、請求項1または請求項2に記載の情報処理装置であって、前記ロード手段は、前記プログラムを、前記クラスタチェーン情報を参照して前記揮発性記憶手段にロードするか、または、前記ファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードするかを切り換える切換手段を有していることを特徴とする。
【0012】
上記目的を達成するために、請求項4に記載の発明は、請求項3記載の情報処理装置であって、前記データの前記クラスタチェーン情報は、前記データが前記ハードディスクドライブに記憶される位置を示す第1の位置情報と、前記第1の位置情報に対応するファイルアロケーションテーブルに関する第2の位置情報と、を含み、前記ロード手段は、前記第2の位置情報と、前記データが前記ハードディスクドライブに実際に記憶されている位置を示すファイルアロケーションテーブルとが同一であるか否かを、前記データの前記クラスタチェーンごとに判断する第1の判断手段を含み、前記第1の判断手段により、前記第2の位置情報と、前記実際に記憶されている位置を示すファイルアロケーションテーブルとは同一であると判断された前記クラスタチェーンについては、前記第1の位置情報を参照して前記揮発性記憶手段にロードし、前記第1の判断手段により、前記第2の位置情報と、前記実際に記憶されている位置を示すファイルアロケーションテーブルとは相違すると判断された前記クラスタチェーンについては、前記実際に記憶されている位置を示すファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードする、ことを特徴とする。
【0013】
上記目的を達成するために、請求項5に記載の発明は、請求項3記載の情報処理装置であって、前記セーブ手段は、前記揮発性記憶手段に記憶されている前記データの各クラスタチェーンの容量が所定の容量より大きいか否かを判断する第2の判断手段を含み、前記第2の判断手段によって前記所定の容量より大きな容量を有すると判断された前記クラスタチェーンに対しては、所定の情報を前記ハードディスクドライブにセーブし、前記第2の判断手段によって前記所定の容量を超えない容量を有すると判断された前記クラスタチェーンに対しては、前記クラスタチェーン情報を前記ハードディスクドライブにセーブし、前記ロード手段は、前記セーブ手段により前記所定の情報がセーブされた前記クラスタチェーンについては、前記ファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードし、前記セーブ手段により前記クラスタチェーン情報がセーブされた前記クラスタチェーンについては、前記クラスタチェーン情報を参照して前記揮発性記憶手段にロードする、ことを特徴とする。
【0014】
上記目的を達成するために、請求項6に記載の発明は、各種のプログラムをハードディスクドライブに記憶し、前記プログラムの実行時に展開されるデータを揮発性記憶手段に記憶させるステップを備える情報処理装置によるプログラム制御方法であって、前記揮発性記憶手段に記憶されている前記データと、前記データの各クラスタチェーンが前記ハードディスクドライブに記憶される位置を示すクラスタチェーン情報と、を前記ハードディスクドライブにセーブするセーブステップと、前記セーブステップでセーブされた前記クラスタチェーン情報を参照して、前記ハードディスクドライブに記憶されている前記プログラムを前記揮発性記憶手段にロードするロードステップと、を含むことを特徴とする。
【0015】
【発明の実施の形態】
【0016】
以下、図面を参照しながら、本発明の実施の形態の一例について詳細に説明する。
【0017】
〔第1の実施の形態〕
図1は、本発明に係る情報処理装置(コンピュータ)10のハードウェア構成の概略を示すブロック図である。情報処理装置10は、当該装置の全体制御を司るCPU(Central Processing Unit)11を中心として構成されている。
【0018】
情報処理装置10には、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ハードディスクドライブ(以下、単にHDDと記載する)14などの記憶装置が設けられている。ROM12には、OS起動を行うためのブートローダなどのCPU11が各種処理を実行するためのデータが記憶されている。また、RAM13は、情報処理装置10の主記憶装置で、プログラムの実行時に展開されるデータを記憶する。また、HDD14には、OSイメージファイルやアプリケーションファイルなど、各種のプログラム(ファイル)が格納されている。
【0019】
HDD14のアクセス単位はクラスタと呼ばれ、クラスタは所定数の連続したセクタから構成される。ファイルは複数のクラスタに分かれて記憶されており、ファイルアロケーションテーブル(FAT)と通常呼ばれている、各クラスタの位置情報を提供するマップを参照することで、当該ファイルにアクセスすることができる。
【0020】
FATと同様にクラスタの位置情報を示す情報に、本発明の特徴を成すクラスタチェーン情報がある(詳細は後述する)。このクラスタチェーン情報は、ファイルが記憶されているクラスタの連続部分を単位として作成され、各クラスタチェーンに含まれる各クラスタの位置を示す情報を含んでいる。クラスタチェーン情報を参照する場合、複数のクラスタからなるクラスタチェーンを一度に読み込むことが可能であるので、クラスタをひとつひとつ読み込む必要のあるFATよりも高速で読み込みを行うことができる。
【0021】
さらに、情報処理装置10には、画像を表示するための表示手段やユーザーが操作等の入力を行うための入力手段などのユーザーインターフェイスが設けられている。上記表示手段は、画像データの出力制御を行うビデオコントローラ15と、このビデオコントローラ15から出力される画像データを基に画像を表示するディスプレイ16とを含んで構成されている。また、上記入力手段としては、キーボードやマウス等からなる入力装置17が接続されている。
【0022】
次に、以上のようなハードウェア構成を有する情報処理装置10の使用形態について説明する。
【0023】
情報処理装置10の電源スイッチ(不図示)をオンにして電源を投入すると、BIOSが起動し、ROM12に記憶されているブートローダ(単にローダともいう。)をRAM13にコピーして、ブートローダを起動する。以下、ブートローダによるOSイメージのロード処理(ローダ処理)について、図2に示すフローチャートを参照して説明する。なお、ブートローダおよびCPU11(以下、ブートローダ等とも言う。)は、本発明で言う「ロード手段」、「セーブ手段」、「切換手段」および「第1の判断手段」をそれぞれ構成する。
【0024】
また、以下に登場する「スナップショットファイル」の詳細事項については後述するが、このスナップショットファイルの先頭部分にはクラスタチェーン情報記憶領域が形成されており、当該領域にはクラスタチェーン情報が記憶されているものとして使用状態の説明を続ける。ここで言うクラスタチェーン情報は、OSイメージファイルのクラスタチェーン情報と、スナップショットファイルのクラスタチェーン情報とを含むものとする。
【0025】
ブートローダ等は、先ず、FATファイルをHDD14からRAMに転送し(S1)、スナップショットファイルがHDD14に格納されているか否かを判断する(S2)。スナップショットファイルが存在する場合(S2;Y)、ブートローダ等は、スナップショットファイルのクラスタチェーン情報記憶領域にアクセスし、当該領域の内容の有無を認識することで、クラスタチェーン情報が記録されているか否かを判断する(S3)。なお、(S2;Y)は、S2において「Y」が選択されたことを意味する(以下同様である。)。
【0026】
クラスタチェーン情報が記録されている場合(S3;Y)は、FATファイルのアクセスルールに従って、つまりFATを参照して、クラスタチェーン情報をRAM13に転送する(S4)。そして、ブートローダ等は、RAM13に転送されたクラスタチェーン情報とFATとを照合して、FATが更新されているか否か、即ち、ロード対象となるファイル(OSイメージファイル)が更新されているか否か判断を行う(S5)。この照合処理の詳細については後述する。
【0027】
ブートローダ等によってFATが更新されていないと判断されたとき(S5;N)は、RAM13上のOSイメージファイルのクラスタチェーン情報を参照して、OSイメージをHDD14からRAM13に転送し(S6)、同様にスナップショットファイルのクラスタチェーン情報を参照してスナップショットファイルをHDD14からRAM13に転送する(S7)。そして、OSのエントリポイントにジャンプして(S11)OSを起動し(S12)、ローダ処理を終了する。以上のフローを第1のプロセスと呼ぶこととする。
【0028】
次に第2のプロセスとして、クラスタチェーン情報とFATとの比較判断を行うステップにおいて、ブートローダ等によりFATが更新されていると判断された場合(S5;Y)におけるローダ処理について説明する。
【0029】
FATが更新されていると判断されたら(S5;Y)、更新されたFATを新たなクラスタチェーン情報としてクラスタチェーン情報記憶領域に上書きするとともに(S8)、FATファイルのアクセスルールに従って、OSイメージをRAM13に転送し(S10)、OSのエントリポイントにジャンプして(S11)OSを起動し(S12)、ローダ処理を終了する。
【0030】
また、第3のプロセスとして、ブートローダ等により、スナップショットファイルのクラスタチェーン情報記憶領域にクラスタチェーン情報が記録されていないものと判断された場合(S3;N)のローダ処理を説明する。
【0031】
クラスタチェーン情報記憶領域にクラスタチェーン情報が記録されていないと判断されると(S3;N)、FATファイルのアクセスルールに従って、スナップショットファイルをRAM13に転送し(S9)、OSイメージをRAM13に転送する(S10)。そして、OSのエントリポイントにジャンプし(S11)OSを起動して(S12)、ローダ処理を終了する。
【0032】
最後に、第4のプロセスを説明する。第4のプロセスは、例えば第1回目の起動時のように、HDD14にスナップショットファイルが存在しないケース(S2;N)に対応する。この場合、ブートローダ等は、FATファイルのアクセスルールに従ってOSイメージをRAM13へ転送し(S10)、OSのエントリポイントにジャンプして(S11)OSを起動し(S12)、ローダ処理を終了する。
【0033】
(スナップショットファイル)
ここで、図3および図4を参照しながら、情報処理装置10の上記使用形態において重要な位置を占めるスナップショットファイルの詳細について説明する。スナップショットファイルは、OSによって管理可能な形式の「スナップショット」と呼ばれるデータを含むファイルである。
【0034】
図3は、スナップショットファイルの作成プロセスを示すフローチャートである。なお、以下の説明では、スナップショットファイルはOSの終了処理において作成されるものとなっているが、例えばOSイメージがRAM13に展開している任意の時点など、その他のタイミングで作成処理を実行してもよい。
【0035】
OSの終了を選択する終了ボタン(不図示)をクリックするなどして、OSの終了要求があると(S21)、ブートローダは、スナップショットすべきRAM13の領域(スナップショット対象領域)を調査する(S22)。
【0036】
このとき、RAM13上のデータの構造を、OSイメージを記憶する領域(第1の記憶領域)と、OSイメージ以外のデータを記憶する領域(第2の記憶領域)とに分割すると、上記スナップショット対象領域は、上記第2の記憶領域に相当する。よって、ここでは、OSイメージ以外のデータをスナップショット対象データと呼称する。スナップショット対象データには、RAM13やHDD14などのパラメータ、OSのエントリアドレス、OSに渡すパラメータ、OSイメージファイルのクラスタチェーン情報など、次回のOSの起動に必要なデータが含まれている。
【0037】
以下、RAM13に記憶されているOSイメージとスナップショット対象データとをまとめてRAMデータと呼ぶこととする。
【0038】
なお、Windows(登録商標) CEでは、RAM13上のOSイメージは、単一の領域を形成して展開されるので、スナップショット対象領域の特定は容易である。
【0039】
スナップショット対象領域が調査により特定されると、ブートローダは、RAMデータのクラスタチェーン情報を作成して記憶するとともに(S23)、RAMデータをHDD14にセーブする(S24)。このとき、OSイメージは、OSイメージファイル(第1のファイル)としてセーブされ、スナップショット対象データは、スナップショットファイル(第2のファイル)としてセーブされる。また、スナップショットファイルの先頭部分には、所定の空き領域が形成されている。
【0040】
RAMデータのセーブが終了すると、ブートローダは、S23で作成したRAMデータのクラスタチェーン情報を、S24で形成された上記空き領域に書き込む(S25)。以上で、スナップショットファイルの作成処理は完了し、通常のOSの終了処理を経て、OSは終了される。
【0041】
このようなプロセスで生成されるスナップショットファイルは、その先頭に、RAMデータのクラスタチェーン情報、即ち、OSイメージファイルのクラスタチェーン情報およびスナップショットファイルのクラスタチェーン情報が記憶されている。なお、クラスタチェーン情報は、連続したクラスタチェーンごとに作成される。また、上記空き領域は、図2の説明中におけるクラスタチェーン情報記憶領域に相当する。
【0042】
次に、クラスタチェーン情報の構成内容について説明する。クラスタチェーン情報は、一つの連続したクラスタチェーンを示すデータと、FATにおけるこのクラスタチェーンに対応するデータとの関係を示す1つのデータエントリからなる。
【0043】
図4には、RAMデータの或るクラスタチェーンのクラスタチェーン情報20が示されている。クラスタチェーン情報20は、当該クラスタチェーンに関するデータ(第1の位置情報)として、先頭セクタアドレス21および連続セクタ数22を含み、また、当該FATに関するデータ(第2の位置情報)として、FATベリファイ用セクタアドレス23、FATの連続セクタ数24およびFATの先頭ワードのオフセット25、サイズ情報26およびチェックサム情報27を含んでいる。
【0044】
先頭セクタアドレス21には、当該クラスタチェーンの先頭のセクタアドレスが記憶されている。また、連続セクタ数22には、当該クラスタチェーンの連続するセクタ数が記憶されている。
【0045】
FATベリファイ用セクタアドレス23には、当該クラスタチェーンの先頭のFATにおけるセクタアドレスが記憶されている。また、FATの連続セクタ数24には、当該FATにおける連続するセクタ数が記憶されている。また、FATの先頭ワードのオフセット25には、当該FATのベリファイ先頭からのオフセット(距離)が記憶されている。ここで、「ベリファイ」とは、当該クラスタチェーンと当該FATとの照合処理を意味する。
【0046】
また、サイズ情報26には、クラスタチェーン情報20に含まれる上記FATに関するデータと、OSイメージファイルの実際の位置情報を示すFATファイルに含まれる当該クラスタチェーンに関するデータとを比較してそれらの同一性を判断するための(図2のS5参照)チェックサム演算に係るワード数が記憶されている。また、チェックサム情報27には、チェックサム演算の結果が記憶されている。なお、本実施形態では、クラスタチェーンとFATとの照合にチェックサムを用いているが、一般に、巡回符号積和演算を使用して当該照合処理を実行することができる。
【0047】
チェックサムによるクラスタチェーン情報とFATファイルとの照合処理は、チェックサム情報27と、FATファイル内の当該クラスタチェーンに対応するデータをワード単位で巡回符号積和演算した結果とを比較して行われる。比較の結果、両者が一致していれば、先頭セクタアドレス21および連続セクタ数22は有効とされ、クラスタチェーン情報20を参照した読み込みを実行する(図2のS5のNを選択する場合に対応する)。一方、不一致との結果を得た場合は、更新されたFATを新たなクラスタチェーン情報として上書きし(図2のS8)、FATを参照して読み込みを実行する(図2のS5のYを選択する場合に対応する)。
【0048】
この照合処理は、あらかじめ読み込んでおいたFATファイル内のデータをメモリとして見て、所定のオフセット(距離)に配置されたクラスタチェーンの内容を高速で比較することで実行される。このような高速処理により、FATの内容が更新されている場合の不安定な動作が回避される。
【0049】
また、図3のS24にあるように、スナップショットファイルを作成する際には、その先頭部分に空き領域が形成される。この空き領域は、ある所定の容量を有している。本実施形態においては、上記空き領域にクラスタチェーン情報20を所望の個数配列し、前記クラスタチェーン情報20の配列を参照することで対象ファイルの読み書きを行う際のハードディスクドライブ14に記録されている実体としてのデータの先頭位置、長さ及び読み込み順序を決定するための演算処理の簡略化、高速化を実現した。具体的には、各クラスタチェーン情報20は28バイトの容量を有し、先頭セクタアドレス21に8バイト、連続セクタ数22に2バイト、FATベリファイ用セクタアドレス23に8バイト、FATの連続セクタ数24に2バイト、FATの先頭ワードのオフセット25に2バイト、サイズ情報26に2バイト、そしてチェックサム情報27に4バイトがそれぞれ割り振られている。上記空き領域の容量は、各クラスタチェーン情報の容量とともに、セーブされるRAMデータのフラグメント状態などを考慮して適宜設定する。なお、当然ながら、各クラスタチェーン情報の容量は28バイトである必要はなく、また、クラスタチェーン情報を構成する各情報の容量も上記のものである必要もない。
【0050】
(作用)
以下、情報処理装置10の奏する作用について説明する。
【0051】
図2の説明中にある第1のプロセスでは、FATの参照は極力抑えられており、特にOSイメージおよびスナップショットファイルのロード処理はクラスタチェーン情報を参照して行われるので、ローダ処理の高速化が実現される。(Windows(登録商標) CEを使用したテストでは、FAT参照では10秒程度、第1のプロセスでは8秒程度と、ローダ処理時間は約2秒短縮された。)
【0052】
第2のプロセス、第3のプロセスおよび第4のプロセスでは、従来のようにFATファイルのアクセスルールにのみ従ってOSイメージをロードするので、ローダ処理時間の短縮は実現できない。
【0053】
したがって、可能な限り上記第1のプロセスを経由するように構成することが好ましい。例えば、(購入直後などの)第1回目のOS終了時に、図3に示すクラスタチェーン情報が書き込まれたスナップショットファイルの作成処理を実行し、第2回目の起動はこのクラスタチェーン情報を参照して行う。それ以後は、図2のS8に示すクラスタチェーン情報の上書きを行い、かつ、各終了時に図3に示す処理を実行する。
【0054】
したがって、従来はFATを参照してOSイメージをロードしていた区間のほぼ全てにおいて、クラスタチェーン情報を参照した直接のディスクアクセスを実行することが可能となるので、OSの高速起動を実現することが可能である。また、OSの起動に必要なデータを含んでいるスナップショットファイルのロードについても同様にクラスタチェーン情報を参照して行うことができ、起動の更なる高速化が図られる。
【0055】
特に、OSとしてWindows(登録商標) CEを使用する場合、OSイメージファイルのHDD14内での配置は固定されており、また、スナップショットファイルについても固定ファイルの使用が推奨されているので、恒常的なOSの起動の高速化を達成することが可能となる。
【0056】
また、スナップショットファイルを固定ファイルとしておけば、図2のS8でクラスタ情報を上書きする場合にも、FATを参照せずに、直接のディスクアクセスによるデータの更新処理を行うことができるので、処理の高速化を図ることが可能となる。
【0057】
さらに、本実施形態の情報処理装置10によれば、クラスタチェーン情報を参照した高速処理と、FATを参照した通常の処理とをクラスタチェーンごとに切り換えて行うことが可能である。スナップショットファイルの有無(図2のS2)やクラスタチェーン情報の有無(同図のS3)に対応する切り換えは当然であるが、図2のS5に示すように、更新されたクラスタチェーンのみをFAT参照した処理に切り換えることができるので、ローダ処理の短時間化および安定化を達成することが可能となる。
【0058】
〔第2の実施の形態〕
次に説明する本発明の第2の実施形態は、上記第1の実施形態の情報処理装置10に一つの機能を付加したものである。したがって、付加する機能の要点についてのみ説明する。
【0059】
情報処理装置10は、OS終了時に、先頭部分には所定容量の空き領域を有するスナップショットファイルを作成するよう構成されている。しかし、RAMデータにフラグメントの大きな箇所があるときには、対応するクラスタチェーン情報が上記所定容量を超えてしまうこともあり得る。本実施形態は、このようなケースに対処するための機能を提供するものである。
【0060】
図5は、上記機能を実現するためのOS終了時における、ブートローダ及びCPU11(ブートローダ等とも言う。)によるローダ処理を示すフローチャートである。同図に示すローダ処理は、図3に示すローダ処理に代替するものであり、図3に示すローダ処理と同一のステップには同一の符号が付されている。なお、本実施形態のブートローダ等は、本発明の「第2の判断手段」を構成するものでもある。
【0061】
OSの終了要求があると(S21)、ブートローダ等は、スナップショット対象領域を調査する(S22)。スナップショット対象領域の調査が終了すると、ブートローダ等は、セーブされるRAMデータのフラグメント状態の調査を行い、部分的にまたは全体的にフラグメントが大きな箇所があるか否かを判断する(S31)。
【0062】
フラグメントが大きな箇所がない場合(S31;N)、ブートローダ等は、第1の実施形態のケースと同様に、RAMデータのクラスタチェーン情報を作成、記憶し(S23)、RAMデータをHDD14にセーブし(スナップショットファイルの先頭部分には所定容量の空き領域が形成されている)(S24)、当該空き領域にクラスタチェーン情報を書き込み(S40)、通常のOSの終了処理を経て、OSは終了される。
【0063】
一方、フラグメントが大きな箇所が存在するとき(S31;Y)、フラグメントが大きな箇所については、クラスタチェーン情報の代わりに、クラスタチェーン情報は無効である旨を示す無効情報と、当該箇所のクラスタ数とを記憶しておく(S32)。同時に、フラグメントが大きいと判断されなかった箇所については、クラスタチェーン情報を作成して記憶しておく(S33)。なお、上記無効情報とクラスタ数とは、本発明の「所定の情報」を定義している。
【0064】
ブートローダ等は、フラグメントが大と判断された箇所の無効情報およびクラスタ数(以下、無効情報等ともいう。)と、フラグメントが大とは判断されなかった箇所のクラスタチェーン情報とを記憶したら、RAMデータをセーブし(S24)、最後に、スナップショットファイルの先頭の空き領域に上記無効情報等およびクラスタチェーン情報を書き込み(S40)、通常のOSの終了処理を経て、OSは終了される。
【0065】
なお、S31においてフラグメントが大きいか否か判断するときの判断基準は、任意に設定することが可能である。例えば、第1の実施形態でのクラスタチェーン情報20に包含されているFATの連続セクタ数24が矮小であるクラスタチェーン情報20が一定数以上連続して出現する区間を「フラグメントが大きい箇所である」と判断し、無効情報と無効なクラスタ数に置き換えて記録することで、高速化に寄与するクラスタチェーン情報20だけを効率よく記録するといった構成が可能になる。
【0066】
このような構成のスナップショットファイルを作成することで、図2のS3に示すクラスタチェーン情報の有無の判断を容易に行うことが可能となる。詳しくは、クラスタチェーン情報が書き込まれている場合(S3;Y)には、そのデータを参照して読み込みを実行し、一方、無効情報およびクラスタ数が書き込まれている場合(S3;N)には、クラスタチェーン情報を参照した高速処理を無効としてFATを参照した処理を実行するように切換処理を行うことができる。
【0067】
また、クラスタチェーン情報を参照した高速処理を行う中で、フラグメントが大きな箇所に限ってFATを参照した処理に切り換えて行うことが可能となるので、処理の高速化と安定化の双方の向上を図ることが可能となる。
【0068】
以上、詳細に説明した実施形態は、本発明を実施するための具体的構成の一例を開示したに過ぎないものであり、本発明の主旨を限定して解するための要件を提供するものではない。
【0069】
【発明の効果】
本発明によれば、クラスタチェーン情報を参照した直接のディスクアクセスによりOS等のプログラムの起動処理を実行することで、上記プログラムの起動の高速化を図ることができるので、起動時間を短縮することが可能となる。
【0070】
また、上記プログラムのFATの更新の有無やフラグメント状態に対応して、クラスタチェーン情報およびFATを切り換えて参照することができるので、起動処理の安定性を担保した上での高速化を図ることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態の情報処理装置のハードウェア構成の概略を示すブロック図である。
【図2】第1の実施の形態の情報処理装置のオペレーティングシステムの起動時における処理を示すフローチャートである。
【図3】第1の実施の形態の情報処理装置のオペレーティングシステムの終了時における処理を示すフローチャートである。
【図4】第1の実施の形態の情報処理装置により作成されるクラスタチェーン情報のデータ構成を示す模式図である。
【図5】本発明の第2の実施の形態の情報処理装置のオペレーティングシステムの終了時における処理を示すフローチャートである。
【符号の説明】
10 情報処理装置
11 CPU
12 ROM
13 RAM
14 ハードディスクドライブ
20 クラスタチェーン情報
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information processing apparatus that performs various types of information processing based on a program such as an operating system, and a program control method using such an information processing apparatus.
[0002]
[Prior art]
Computers currently in widespread use are referred to as an operating system (hereinafter, sometimes simply referred to as an OS) such as Windows (registered trademark) CE (Windows (registered trademark) is a registered trademark of Microsoft Corporation). Basic programs are installed, and various software (programs) are usually formed to operate in accordance with the OS. When such a computer is started up, the BIOS (Basic Input Output System) copies the boot loader to the RAM and starts it, and the boot loader loads the OS image file stored on the hard disk into the RAM, thereby starting the OS. Operable.
[0003]
The loading process of an OS image by a conventional boot loader is executed by referring to a file allocation table (FAT). However, the load processing referring to the FAT cannot be executed at a high speed because of the amount of data to be referred to, and thus has been a factor that hinders a reduction in the boot time of the OS.
[0004]
An invention for improving such a situation includes, for example, a program control method disclosed in Patent Literature 1 below. The program control method is configured to cause a loader that normally only performs a startup process (boot) to perform an OS termination process. More specifically, a file containing data necessary for the next startup, such as parameters of each part of the computer, the entry address of the OS, and cluster chain information of the OS image file during the startup of the OS (referred to as a context in this document) ) Is created, and the loading process is performed by referring to the file at the next startup.
[0005]
Further, the information processing apparatus disclosed in Patent Document 2 is capable of managing the contents of the RAM when the power is turned off and terminating the processing by the OS (in the document, the file is called a snapshot (file)). ) And load this snapshot into the RAM when the OS is started.
[0006]
[Patent Document 1]
JP-A-2002-82808 (paragraphs [0030], [0035] and [0036], FIG. 2)
[Patent Document 2]
Japanese Patent Publication No. WO00 / 54133 (pages 18-19, Fig. 2)
[0007]
[Problems to be solved by the invention]
However, in these conventional inventions, the FAT must always be referred to when acquiring the cluster chain information of the OS, so that a fundamental solution on the theme of speeding up the startup of the OS has been reached. I have to say that there isn't.
[0008]
The present invention has been devised to overcome such a situation, and an information processing apparatus and a program control method capable of realizing faster startup of a program such as an OS by reducing access to a FAT. Its purpose is to provide a method.
[0009]
[Means for Solving the Problems]
In order to achieve the above object, the invention according to claim 1 comprises a hard disk drive for storing various programs, and volatile storage means for storing data developed when the programs are executed, An information processing apparatus capable of loading the program stored in the hard disk drive into the volatile storage unit with reference to a table, wherein the data stored in the volatile storage unit; A save unit that saves, in the hard disk drive, cluster chain information indicating a position where each cluster chain of data is stored in the hard disk drive; and referring to the cluster chain information saved by the save unit, the hard disk drive The program stored in the drive The characterized in that it and a loading means for loading into the volatile storage means.
[0010]
In order to achieve the above object, the invention according to claim 2 is the information processing apparatus according to claim 1, wherein a program forming an operating system is stored in the hard disk drive, and Saves, as a first file, data stored in a first storage area of the volatile storage unit, into which a program forming the operating system is loaded by the loading unit, in the hard disk drive; Data stored in a second storage area consisting of a storage area of the volatile storage means excluding the first storage area is saved as a second file in the hard disk drive, and the cluster of the first file is saved. The chain information and the cluster chain information of the second file The load means includes the second file and saves the data on the hard disk drive, and the loading means refers to the cluster chain information of the first file and the cluster chain information of the second file to read the operating system. Is loaded into the volatile storage means.
[0011]
In order to achieve the above object, an invention according to claim 3 is the information processing apparatus according to claim 1 or 2, wherein the loading means refers to the program by referring to the cluster chain information. Switching means for switching between loading into the volatile storage means and loading into the volatile storage means with reference to the file allocation table.
[0012]
In order to achieve the above object, the invention according to claim 4 is the information processing apparatus according to claim 3, wherein the cluster chain information of the data indicates a position where the data is stored in the hard disk drive. The first position information, and second position information relating to a file allocation table corresponding to the first position information, wherein the loading means stores the second position information and the data in the hard disk drive. And a file allocation table indicating a position actually stored in the data storage unit. The first determination unit determines whether or not the file allocation table is the same for each cluster chain of the data. The second location information is determined to be the same as the file allocation table indicating the actually stored location. The cluster chain is loaded into the volatile storage unit with reference to the first position information, and the first position information is stored in the volatile storage unit by the first determination unit. The cluster chain determined to be different from the indicated file allocation table is loaded into the volatile storage unit with reference to the file allocation table indicating the actually stored position.
[0013]
In order to achieve the above object, according to a fifth aspect of the present invention, in the information processing apparatus according to the third aspect, the save unit stores each cluster chain of the data stored in the volatile storage unit. A second determining means for determining whether or not the capacity of the cluster chain is larger than a predetermined capacity. For the cluster chain determined to have a capacity larger than the predetermined capacity by the second determining means, Saving predetermined information in the hard disk drive, and saving the cluster chain information in the hard disk drive for the cluster chain determined to have a capacity not exceeding the predetermined capacity by the second determination means. And the loading means, for the cluster chain in which the predetermined information has been saved by the saving means, The cluster chain in which the cluster chain information is saved by the save unit by referring to the allocation table with reference to the allocation table is loaded into the volatile storage unit by referring to the cluster chain information. , Is characterized.
[0014]
In order to achieve the above object, an invention according to claim 6 includes a step of storing various programs in a hard disk drive, and storing data developed when the programs are executed in a volatile storage unit. Wherein the data stored in the volatile storage means and cluster chain information indicating a position where each cluster chain of the data is stored in the hard disk drive are saved in the hard disk drive. A loading step of loading the program stored in the hard disk drive into the volatile storage unit with reference to the cluster chain information saved in the saving step. I do.
[0015]
BEST MODE FOR CARRYING OUT THE INVENTION
[0016]
Hereinafter, an example of an embodiment of the present invention will be described in detail with reference to the drawings.
[0017]
[First Embodiment]
FIG. 1 is a block diagram schematically showing a hardware configuration of an information processing apparatus (computer) 10 according to the present invention. The information processing apparatus 10 is mainly configured by a CPU (Central Processing Unit) 11 that controls the entire apparatus.
[0018]
The information processing apparatus 10 includes storage devices such as a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a hard disk drive (hereinafter, simply referred to as an HDD) 14, and the like. The ROM 12 stores data for the CPU 11 such as a boot loader for starting the OS to execute various processes. The RAM 13 is a main storage device of the information processing device 10 and stores data that is developed when the program is executed. Further, the HDD 14 stores various programs (files) such as an OS image file and an application file.
[0019]
The access unit of the HDD 14 is called a cluster, and the cluster is composed of a predetermined number of continuous sectors. The file is stored divided into a plurality of clusters, and the file can be accessed by referring to a map that is usually called a file allocation table (FAT) and provides position information of each cluster.
[0020]
As in the case of the FAT, the information indicating the cluster position information includes cluster chain information which is a feature of the present invention (details will be described later). This cluster chain information is created in units of continuous portions of clusters in which files are stored, and includes information indicating the position of each cluster included in each cluster chain. When referring to the cluster chain information, it is possible to read a cluster chain composed of a plurality of clusters at a time, so that the reading can be performed at a higher speed than in the FAT that requires reading each cluster one by one.
[0021]
Further, the information processing apparatus 10 is provided with a user interface such as a display unit for displaying an image and an input unit for a user to input an operation or the like. The display means includes a video controller 15 that controls output of image data, and a display 16 that displays an image based on the image data output from the video controller 15. As the input means, an input device 17 including a keyboard, a mouse, and the like is connected.
[0022]
Next, a usage mode of the information processing apparatus 10 having the above hardware configuration will be described.
[0023]
When a power switch (not shown) of the information processing apparatus 10 is turned on and the power is turned on, the BIOS is started, a boot loader (also simply referred to as a loader) stored in the ROM 12 is copied to the RAM 13, and the boot loader is started. . Hereinafter, the loading process (loader process) of the OS image by the boot loader will be described with reference to the flowchart shown in FIG. The boot loader and the CPU 11 (hereinafter, also referred to as a boot loader or the like) constitute the "load means", the "save means", the "switching means", and the "first determination means" in the present invention, respectively.
[0024]
Although the details of the “snapshot file” appearing below will be described later, a cluster chain information storage area is formed at the beginning of the snapshot file, and cluster chain information is stored in the area. The description of the use state will be continued assuming that it is. The cluster chain information referred to here includes the cluster chain information of the OS image file and the cluster chain information of the snapshot file.
[0025]
First, the boot loader or the like transfers the FAT file from the HDD 14 to the RAM (S1), and determines whether the snapshot file is stored in the HDD 14 (S2). If the snapshot file exists (S2; Y), the boot loader or the like accesses the cluster chain information storage area of the snapshot file and recognizes the presence or absence of the contents of the area, so that the cluster chain information is recorded. It is determined whether or not it is (S3). (S2; Y) means that “Y” was selected in S2 (the same applies hereinafter).
[0026]
If the cluster chain information is recorded (S3; Y), the cluster chain information is transferred to the RAM 13 according to the FAT file access rule, that is, referring to the FAT (S4). Then, the boot loader or the like compares the cluster chain information transferred to the RAM 13 with the FAT, and determines whether the FAT has been updated, that is, whether the file to be loaded (OS image file) has been updated. A determination is made (S5). Details of this collation processing will be described later.
[0027]
When the boot loader or the like determines that the FAT has not been updated (S5; N), the OS image is transferred from the HDD 14 to the RAM 13 with reference to the cluster chain information of the OS image file on the RAM 13 (S6). The snapshot file is transferred from the HDD 14 to the RAM 13 with reference to the cluster chain information of the snapshot file (S7). Then, the process jumps to the entry point of the OS (S11), starts the OS (S12), and ends the loader process. The above flow is referred to as a first process.
[0028]
Next, as a second process, a loader process in the case where it is determined that the FAT has been updated by the boot loader or the like (S5; Y) in the step of comparing and determining the cluster chain information and the FAT will be described.
[0029]
If it is determined that the FAT has been updated (S5; Y), the updated FAT is overwritten in the cluster chain information storage area as new cluster chain information (S8), and the OS image is copied according to the FAT file access rule. The data is transferred to the RAM 13 (S10), the CPU jumps to the entry point of the OS (S11), starts the OS (S12), and ends the loader processing.
[0030]
Also, as a third process, a loader process when the boot loader or the like determines that the cluster chain information is not recorded in the cluster chain information storage area of the snapshot file (S3; N) will be described.
[0031]
If it is determined that cluster chain information is not recorded in the cluster chain information storage area (S3; N), the snapshot file is transferred to the RAM 13 according to the FAT file access rule (S9), and the OS image is transferred to the RAM 13. (S10). Then, the process jumps to the entry point of the OS (S11), starts the OS (S12), and ends the loader process.
[0032]
Finally, the fourth process will be described. The fourth process corresponds to a case where no snapshot file exists in the HDD 14 (S2; N), for example, at the time of the first startup. In this case, the boot loader or the like transfers the OS image to the RAM 13 according to the FAT file access rule (S10), jumps to the entry point of the OS (S11), starts the OS (S12), and ends the loader process.
[0033]
(Snapshot file)
Here, the details of the snapshot file occupying an important position in the above-mentioned usage form of the information processing apparatus 10 will be described with reference to FIGS. The snapshot file is a file including data called “snapshot” in a format that can be managed by the OS.
[0034]
FIG. 3 is a flowchart showing a process for creating a snapshot file. In the following description, the snapshot file is created in the end processing of the OS. However, the creation processing is executed at another timing, for example, at an arbitrary time when the OS image is expanded in the RAM 13. You may.
[0035]
When there is a request to end the OS, for example, by clicking an end button (not shown) for selecting the end of the OS (S21), the boot loader checks an area of the RAM 13 to be snapshot (snapshot target area) (S21). S22).
[0036]
At this time, if the data structure on the RAM 13 is divided into an area for storing the OS image (first storage area) and an area for storing data other than the OS image (second storage area), the snapshot The target area corresponds to the second storage area. Therefore, here, data other than the OS image is referred to as snapshot target data. The snapshot target data includes data necessary for the next boot of the OS, such as parameters of the RAM 13 and the HDD 14, the entry address of the OS, parameters to be passed to the OS, and cluster chain information of the OS image file.
[0037]
Hereinafter, the OS image and the snapshot target data stored in the RAM 13 will be collectively referred to as RAM data.
[0038]
In Windows (registered trademark) CE, the OS image on the RAM 13 is developed by forming a single area, so that it is easy to specify the snapshot target area.
[0039]
When the snapshot target area is specified by the investigation, the boot loader creates and stores cluster chain information of the RAM data (S23), and saves the RAM data in the HDD 14 (S24). At this time, the OS image is saved as an OS image file (first file), and the data to be snapshot is saved as a snapshot file (second file). In addition, a predetermined free area is formed at the beginning of the snapshot file.
[0040]
When the saving of the RAM data is completed, the boot loader writes the cluster chain information of the RAM data created in S23 into the empty area formed in S24 (S25). As described above, the snapshot file creation processing is completed, and the OS is terminated through normal OS termination processing.
[0041]
At the beginning of the snapshot file generated by such a process, cluster chain information of RAM data, that is, cluster chain information of the OS image file and cluster chain information of the snapshot file are stored at the beginning. The cluster chain information is created for each continuous cluster chain. The free area corresponds to the cluster chain information storage area in the description of FIG.
[0042]
Next, the configuration of the cluster chain information will be described. The cluster chain information includes one data entry indicating a relationship between data indicating one continuous cluster chain and data corresponding to the cluster chain in the FAT.
[0043]
FIG. 4 shows cluster chain information 20 of a certain cluster chain of the RAM data. The cluster chain information 20 includes a leading sector address 21 and the number of consecutive sectors 22 as data (first position information) relating to the cluster chain, and FAT verification data as data relating to the FAT (second position information). It includes a sector address 23, the number of consecutive sectors 24 of the FAT, the offset 25 of the head word of the FAT, size information 26, and checksum information 27.
[0044]
The first sector address 21 stores the first sector address of the cluster chain. The number of continuous sectors 22 stores the number of continuous sectors in the cluster chain.
[0045]
In the FAT verifying sector address 23, a sector address in the first FAT of the cluster chain is stored. The number of continuous sectors 24 of the FAT stores the number of continuous sectors in the FAT. The offset (distance) from the start of verification of the FAT is stored in the offset 25 of the head word of the FAT. Here, “verify” means a process of matching the cluster chain with the FAT.
[0046]
Further, the size information 26 compares the data on the FAT included in the cluster chain information 20 with the data on the cluster chain included in the FAT file indicating the actual position information of the OS image file, and compares them with each other. (See S5 in FIG. 2) for determining the number of words is stored. The checksum information 27 stores the result of the checksum calculation. In the present embodiment, the checksum is used for matching between the cluster chain and the FAT. However, in general, the matching process can be performed using a cyclic code product-sum operation.
[0047]
The collation processing of the cluster chain information with the FAT file by the checksum is performed by comparing the checksum information 27 with the result of the cyclic code multiply-add operation of the data corresponding to the cluster chain in the FAT file in word units. . As a result of the comparison, if they match, the leading sector address 21 and the number of consecutive sectors 22 are validated, and reading is performed with reference to the cluster chain information 20 (corresponding to the case where N in S5 in FIG. 2 is selected). Do). On the other hand, when a result of mismatch is obtained, the updated FAT is overwritten as new cluster chain information (S8 in FIG. 2), and reading is performed with reference to the FAT (Y in S5 in FIG. 2 is selected). If you do).
[0048]
This collation processing is executed by viewing the data in the FAT file read in advance as a memory and comparing the contents of the cluster chains arranged at a predetermined offset (distance) at high speed. Such high-speed processing avoids an unstable operation when the contents of the FAT are updated.
[0049]
Further, as shown in S24 of FIG. 3, when creating a snapshot file, an empty area is formed at the head thereof. This free space has a certain predetermined capacity. In the present embodiment, a desired number of cluster chain information 20 are arranged in the free space, and the entity recorded on the hard disk drive 14 when reading / writing the target file by referring to the array of the cluster chain information 20 is referred to. As a result, simplification and speeding up of arithmetic processing for determining the head position, length, and reading order of data are realized. Specifically, each cluster chain information 20 has a capacity of 28 bytes, 8 bytes for the first sector address 21, 2 bytes for the number of continuous sectors 22, 8 bytes for the sector address 23 for FAT verification, and the number of continuous sectors of the FAT. 24, 2 bytes are assigned to the offset 25 of the first word of the FAT, 2 bytes are assigned to the size information 26, and 4 bytes are assigned to the checksum information 27. The capacity of the free area is appropriately set in consideration of the fragment state of the saved RAM data and the capacity of each cluster chain information. Of course, the capacity of each cluster chain information does not need to be 28 bytes, and the capacity of each piece of information constituting the cluster chain information does not need to be as described above.
[0050]
(Action)
Hereinafter, an operation performed by the information processing apparatus 10 will be described.
[0051]
In the first process in the description of FIG. 2, the reference to the FAT is suppressed as much as possible. In particular, since the loading process of the OS image and the snapshot file is performed by referring to the cluster chain information, the loader process is speeded up. Is realized. (In a test using Windows (registered trademark) CE, the loader processing time was reduced by about 2 seconds, to about 10 seconds for FAT reference and about 8 seconds for the first process.)
[0052]
In the second process, the third process, and the fourth process, since the OS image is loaded only according to the FAT file access rule as in the related art, the loader processing time cannot be reduced.
[0053]
Therefore, it is preferable that the first process be performed as much as possible. For example, at the time of the first OS termination (immediately after purchase, etc.), a process of creating a snapshot file in which cluster chain information shown in FIG. 3 is written is executed, and the second startup refers to this cluster chain information. Do it. Thereafter, the cluster chain information shown in S8 of FIG. 2 is overwritten, and the process shown in FIG. 3 is executed at the end of each process.
[0054]
Therefore, in almost all sections where the OS image is loaded by referring to the FAT in the past, it is possible to execute direct disk access by referring to the cluster chain information. Is possible. Also, loading of a snapshot file containing data necessary for booting the OS can be similarly performed with reference to the cluster chain information, and the booting can be further speeded up.
[0055]
In particular, when Windows (registered trademark) CE is used as the OS, the arrangement of the OS image file in the HDD 14 is fixed, and the use of a fixed file is also recommended for the snapshot file. It is possible to achieve a high-speed booting of the OS.
[0056]
Also, if the snapshot file is set as a fixed file, even when the cluster information is overwritten in S8 of FIG. 2, the data can be updated by direct disk access without referring to the FAT. Can be accelerated.
[0057]
Further, according to the information processing apparatus 10 of the present embodiment, it is possible to switch between high-speed processing referring to cluster chain information and normal processing referring to FAT for each cluster chain. Switching corresponding to the presence / absence of a snapshot file (S2 in FIG. 2) and the presence / absence of cluster chain information (S3 in FIG. 2) is natural, but as shown in S5 in FIG. Since the processing can be switched to the processing referred to, the loader processing can be shortened and stabilized.
[0058]
[Second embodiment]
A second embodiment of the present invention described below is obtained by adding one function to the information processing apparatus 10 of the first embodiment. Therefore, only the points of the added functions will be described.
[0059]
The information processing apparatus 10 is configured to create a snapshot file having a free space of a predetermined capacity at the head when the OS is terminated. However, when there is a large fragment in the RAM data, the corresponding cluster chain information may exceed the predetermined capacity. The present embodiment provides a function for dealing with such a case.
[0060]
FIG. 5 is a flowchart showing a loader process by the boot loader and the CPU 11 (also referred to as a boot loader or the like) at the time of termination of the OS for realizing the above function. The loader processing shown in the figure is an alternative to the loader processing shown in FIG. 3, and the same steps as those in the loader processing shown in FIG. Note that the boot loader and the like according to the present embodiment also constitute the “second determining means” of the present invention.
[0061]
When there is an OS termination request (S21), the boot loader or the like checks the snapshot target area (S22). When the examination of the snapshot target area is completed, the boot loader or the like examines the state of the fragment of the saved RAM data, and determines whether there is a part where the fragment is large partially or entirely (S31).
[0062]
If there is no large fragment (S31; N), the boot loader creates and stores the cluster chain information of the RAM data as in the case of the first embodiment (S23), and saves the RAM data in the HDD 14. (A free area of a predetermined capacity is formed at the beginning of the snapshot file) (S24), cluster chain information is written in the free area (S40), and the OS is terminated through normal OS termination processing. You.
[0063]
On the other hand, when there is a location where the fragment is large (S31; Y), for the location where the fragment is large, instead of the cluster chain information, invalid information indicating that the cluster chain information is invalid, Is stored (S32). At the same time, the cluster chain information is created and stored for the portion where the fragment is not determined to be large (S33). The invalid information and the number of clusters define "predetermined information" of the present invention.
[0064]
The boot loader or the like stores the invalid information and the number of clusters (hereinafter, also referred to as invalid information and the like) at the location where the fragment is determined to be large, and the cluster chain information at the location where the fragment is not determined to be large, and then stores the RAM in the RAM. The data is saved (S24), and finally, the invalid information and the like and the cluster chain information are written in the free space at the head of the snapshot file (S40), and the OS is terminated through normal OS termination processing.
[0065]
The criterion for determining whether or not the fragment is large in S31 can be set arbitrarily. For example, a section in which the cluster chain information 20 in which the number of consecutive sectors 24 of the FAT included in the cluster chain information 20 in the first embodiment is dwarf or more continuously appears for a certain number or more is “a location where the fragment is large”. , And replacing the invalid information with the invalid number of clusters for recording, it is possible to efficiently record only the cluster chain information 20 that contributes to speeding up.
[0066]
By creating a snapshot file having such a configuration, it is possible to easily determine the presence or absence of cluster chain information shown in S3 of FIG. More specifically, when cluster chain information is written (S3; Y), reading is performed with reference to the data, while when invalid information and the number of clusters are written (S3; N), Can perform the switching process so that the high-speed process referring to the cluster chain information is invalidated and the process referring to the FAT is executed.
[0067]
In addition, while performing high-speed processing with reference to cluster chain information, it is possible to switch to processing with reference to the FAT only at a location where a fragment is large, so that both high-speed and stable processing can be improved. It becomes possible to plan.
[0068]
The embodiment described in detail above merely discloses an example of a specific configuration for carrying out the present invention, and does not provide a requirement for limiting and understanding the gist of the present invention. Absent.
[0069]
【The invention's effect】
According to the present invention, the startup of a program such as an OS is executed by direct disk access with reference to the cluster chain information, so that the startup of the program can be sped up, so that the startup time can be reduced. Becomes possible.
[0070]
Further, since the cluster chain information and the FAT can be switched and referred to in accordance with the presence / absence of the update of the FAT of the program and the fragment state, it is possible to increase the speed while ensuring the stability of the startup processing. it can.
[Brief description of the drawings]
FIG. 1 is a block diagram schematically illustrating a hardware configuration of an information processing apparatus according to a first embodiment of this invention.
FIG. 2 is a flowchart illustrating processing when the operating system of the information processing apparatus according to the first embodiment is started.
FIG. 3 is a flowchart illustrating processing when the operating system of the information processing apparatus according to the first embodiment is terminated.
FIG. 4 is a schematic diagram illustrating a data configuration of cluster chain information created by the information processing apparatus according to the first embodiment;
FIG. 5 is a flowchart illustrating processing when the operating system of the information processing apparatus according to the second embodiment of the present invention ends.
[Explanation of symbols]
10 Information processing device
11 CPU
12 ROM
13 RAM
14 Hard Disk Drive
20 Cluster chain information

Claims (6)

各種のプログラムを記憶するハードディスクドライブと、
前記プログラムの実行時に展開されるデータを記憶する揮発性記憶手段と、を備え、
ファイルアロケーションテーブルを参照して、前記ハードディスクドライブに記憶された前記プログラムを前記揮発性記憶手段にロードすることが可能な情報処理装置であって、
前記揮発性記憶手段に記憶されている前記データと、前記データの各クラスタチェーンが前記ハードディスクドライブに記憶される位置を示すクラスタチェーン情報と、を前記ハードディスクドライブにセーブするセーブ手段と、
前記セーブ手段によりセーブされた前記クラスタチェーン情報を参照して、前記ハードディスクドライブに記憶されている前記プログラムを前記揮発性記憶手段にロードするロード手段と、
を備えることを特徴とする情報処理装置。
A hard disk drive for storing various programs,
Volatile storage means for storing data developed at the time of execution of the program,
An information processing device capable of loading the program stored in the hard disk drive into the volatile storage unit with reference to a file allocation table,
Saving means for saving the data stored in the volatile storage means and cluster chain information indicating a position where each cluster chain of the data is stored in the hard disk drive, in the hard disk drive;
Loading means for loading the program stored in the hard disk drive into the volatile storage means with reference to the cluster chain information saved by the saving means;
An information processing apparatus comprising:
前記ハードディスクドライブには、オペレーティングシステムを形成するプログラムが記憶されており、
前記セーブ手段は、
前記ロード手段により前記オペレーティングシステムを形成するプログラムがロードされる前記揮発性記憶手段の第1の記憶領域に記憶されているデータを、第1のファイルとして前記ハードディスクドライブにセーブし、
前記第1の記憶領域を除く前記揮発性記憶手段の記憶領域からなる第2の記憶領域に記憶されているデータを、第2のファイルとして前記ハードディスクドライブにセーブするとともに、
前記第1のファイルの前記クラスタチェーン情報と、前記第2のファイルの前記クラスタチェーン情報とを、前記第2のファイルに含んで前記ハードディスクドライブにセーブし、
前記ロード手段は、
前記第1のファイルの前記クラスタチェーン情報と、前記第2のファイルの前記クラスタチェーン情報とを参照して、前記オペレーティングシステムを形成するプログラムを前記揮発性記憶手段にロードする、
ことを特徴とする請求項1記載の情報処理装置。
The hard disk drive stores a program forming an operating system,
The saving means,
Saving the data stored in the first storage area of the volatile storage unit, into which the program forming the operating system is loaded by the loading unit, as a first file in the hard disk drive;
Saving data stored in a second storage area including a storage area of the volatile storage unit excluding the first storage area as a second file in the hard disk drive;
Saving the cluster chain information of the first file and the cluster chain information of the second file in the hard disk drive while including the cluster information in the second file;
The loading means,
Referring to the cluster chain information of the first file and the cluster chain information of the second file, loading a program forming the operating system into the volatile storage unit;
The information processing apparatus according to claim 1, wherein:
前記ロード手段は、前記プログラムを、前記クラスタチェーン情報を参照して前記揮発性記憶手段にロードするか、または、前記ファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードするかを切り換える切換手段を有していることを特徴とする請求項1または請求項2に記載の情報処理装置。Switching means for switching between loading the program into the volatile storage means with reference to the cluster chain information or loading the program into the volatile storage means with reference to the file allocation table The information processing apparatus according to claim 1, further comprising: 前記データの前記クラスタチェーン情報は、前記データが前記ハードディスクドライブに記憶される位置を示す第1の位置情報と、前記第1の位置情報に対応するファイルアロケーションテーブルに関する第2の位置情報と、を含み、
前記ロード手段は、
前記第2の位置情報と、前記データが前記ハードディスクドライブに実際に記憶されている位置を示すファイルアロケーションテーブルとが同一であるか否かを、前記データの前記クラスタチェーンごとに判断する第1の判断手段を含み、
前記第1の判断手段により、前記第2の位置情報と、前記実際に記憶されている位置を示すファイルアロケーションテーブルとは同一であると判断された前記クラスタチェーンについては、前記第1の位置情報を参照して前記揮発性記憶手段にロードし、
前記第1の判断手段により、前記第2の位置情報と、前記実際に記憶されている位置を示すファイルアロケーションテーブルとは相違すると判断された前記クラスタチェーンについては、前記実際に記憶されている位置を示すファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードする、
ことを特徴とする請求項3記載の情報処理装置。
The cluster chain information of the data includes: first position information indicating a position where the data is stored in the hard disk drive; and second position information regarding a file allocation table corresponding to the first position information. Including
The loading means,
Determining whether the second position information is the same as a file allocation table indicating a position where the data is actually stored in the hard disk drive for each cluster chain of the data; Including means of judgment,
For the cluster chain determined by the first determination means to be the same as the second location information and the file allocation table indicating the actually stored location, the first location information With reference to the volatile storage means,
For the cluster chain determined by the first determination unit to be different from the second location information and the file allocation table indicating the actually stored location, the actually stored location Loading into the volatile storage means with reference to a file allocation table indicating
4. The information processing apparatus according to claim 3, wherein:
前記セーブ手段は、
前記揮発性記憶手段に記憶されている前記データの各クラスタチェーンの容量が所定の容量より大きいか否かを判断する第2の判断手段を含み、
前記第2の判断手段によって前記所定の容量より大きな容量を有すると判断された前記クラスタチェーンに対しては、所定の情報を前記ハードディスクドライブにセーブし、
前記第2の判断手段によって前記所定の容量を超えない容量を有すると判断された前記クラスタチェーンに対しては、前記クラスタチェーン情報を前記ハードディスクドライブにセーブし、
前記ロード手段は、
前記セーブ手段により前記所定の情報がセーブされた前記クラスタチェーンについては、前記ファイルアロケーションテーブルを参照して前記揮発性記憶手段にロードし、
前記セーブ手段により前記クラスタチェーン情報がセーブされた前記クラスタチェーンについては、前記クラスタチェーン情報を参照して前記揮発性記憶手段にロードする、
ことを特徴とする請求項3記載の情報処理装置。
The saving means,
A second determination unit configured to determine whether a capacity of each cluster chain of the data stored in the volatile storage unit is larger than a predetermined capacity,
For the cluster chain determined to have a capacity larger than the predetermined capacity by the second determination means, predetermined information is saved in the hard disk drive,
For the cluster chain determined to have a capacity not exceeding the predetermined capacity by the second determination means, save the cluster chain information to the hard disk drive,
The loading means,
Regarding the cluster chain in which the predetermined information has been saved by the saving unit, the cluster chain is loaded into the volatile storage unit with reference to the file allocation table,
For the cluster chain in which the cluster chain information has been saved by the saving unit, refer to the cluster chain information and load the cluster chain into the volatile storage unit.
4. The information processing apparatus according to claim 3, wherein:
各種のプログラムをハードディスクドライブに記憶し、
前記プログラムの実行時に展開されるデータを揮発性記憶手段に記憶させるステップを備える情報処理装置によるプログラム制御方法であって、
前記揮発性記憶手段に記憶されている前記データと、前記データの各クラスタチェーンが前記ハードディスクドライブに記憶される位置を示すクラスタチェーン情報と、を前記ハードディスクドライブにセーブするセーブステップと、
前記セーブステップでセーブされた前記クラスタチェーン情報を参照して、前記ハードディスクドライブに記憶されている前記プログラムを前記揮発性記憶手段にロードするロードステップと、
を含むことを特徴とするプログラム制御方法。
Various programs are stored on the hard disk drive,
A program control method by an information processing apparatus, comprising a step of storing data developed at the time of execution of the program in a volatile storage unit,
A save step of saving the data stored in the volatile storage means and cluster chain information indicating a position where each cluster chain of the data is stored in the hard disk drive, in the hard disk drive;
A loading step of loading the program stored in the hard disk drive into the volatile storage unit by referring to the cluster chain information saved in the saving step;
A program control method comprising:
JP2003038278A 2003-02-17 2003-02-17 Information processing apparatus and program control method Expired - Fee Related JP4122998B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003038278A JP4122998B2 (en) 2003-02-17 2003-02-17 Information processing apparatus and program control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003038278A JP4122998B2 (en) 2003-02-17 2003-02-17 Information processing apparatus and program control method

Publications (2)

Publication Number Publication Date
JP2004246787A true JP2004246787A (en) 2004-09-02
JP4122998B2 JP4122998B2 (en) 2008-07-23

Family

ID=33022852

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003038278A Expired - Fee Related JP4122998B2 (en) 2003-02-17 2003-02-17 Information processing apparatus and program control method

Country Status (1)

Country Link
JP (1) JP4122998B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065753A (en) * 2005-08-29 2007-03-15 Fujitsu Ten Ltd Starting method and navigation device
JP2007179286A (en) * 2005-12-27 2007-07-12 Megachips Lsi Solutions Inc Storage device and information processor
CN100370422C (en) * 2005-10-13 2008-02-20 华为技术有限公司 Starting method of device
JP2008052407A (en) * 2006-08-23 2008-03-06 Mitsubishi Electric Corp Cluster system
WO2011105023A1 (en) 2010-02-26 2011-09-01 Jvc・ケンウッド・ホールディングス株式会社 Processing device and write method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0655096U (en) * 1993-01-05 1994-07-26 株式会社日本製鋼所 Target device for thermal orientation shooting

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007065753A (en) * 2005-08-29 2007-03-15 Fujitsu Ten Ltd Starting method and navigation device
CN100370422C (en) * 2005-10-13 2008-02-20 华为技术有限公司 Starting method of device
JP2007179286A (en) * 2005-12-27 2007-07-12 Megachips Lsi Solutions Inc Storage device and information processor
JP2008052407A (en) * 2006-08-23 2008-03-06 Mitsubishi Electric Corp Cluster system
WO2011105023A1 (en) 2010-02-26 2011-09-01 Jvc・ケンウッド・ホールディングス株式会社 Processing device and write method

Also Published As

Publication number Publication date
JP4122998B2 (en) 2008-07-23

Similar Documents

Publication Publication Date Title
US7322029B2 (en) Method and system for recovering program code in a computer system
KR101602360B1 (en) System fast booting apparatus and method
US20060242398A1 (en) Booting from non-volatile memory
JP4886866B2 (en) Method for speeding up access to main storage device and storage device system
US20140149644A1 (en) Electronic apparatus, method of updating firmware, and computer-readable recording medium
JP2006079628A (en) System and method of storing user data in partition file or using partition file containing user data
JP2008276555A (en) Information processor and firmware update method
JP4122998B2 (en) Information processing apparatus and program control method
US7080243B2 (en) Method and system for comparing firmware images
EP1408406B1 (en) Arithmetic unit with reduced startup time and method of loading data
JP2001154838A (en) Software editing device and storage medium
JP6080492B2 (en) Information processing apparatus, activation method, and program
JP4572205B2 (en) Flash memory drive device, control method thereof, and program thereof
JP2007122089A (en) Computer system, method for starting basic program and loader program
JP2005222531A (en) Data recording apparatus and data recording method
JPH1021123A (en) Information processor
JP2009301504A (en) Computer, recording medium, and information processing method
JP2003242026A (en) Information processing system, and program execution mode control method
JP2006126987A (en) Image processor
JP3546962B2 (en) Installation device, installation method, and medium recording installation program
JP2005227983A (en) Information storage device
JP6080490B2 (en) Information processing apparatus, activation method, and program
JP2000242472A (en) Medium recording installation program, and device and method for installation
JP6080491B2 (en) Information processing apparatus, activation method, and program
JP4494950B2 (en) Table switching program and computer system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050207

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070903

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071002

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080408

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080421

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110516

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120516

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130516

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140516

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees