(57)【要約】【課題】ハイバネーション状態から復帰する際の、ユーザの体感的な待ち時間を短縮する情報処理装置及びその制御方法、並びにコンピュータプログラムを提供する。【解決手段】本発明の情報処理装置は、省電力状態（ハイバネーション状態）から復帰する際、主記憶メモリ（ＲＡＭ）上でオペレーティングシステム（ＯＳ）のみを実行状態へ復帰させた後に、ＯＳ上の各プロセスを実行状態へ復帰させる。また、ＯＳは、不揮発性記憶装置からＲＡＭへ各プロセスのイメージを順に転送し、転送が完了したプロセスからその実行を再開する。【選択図】図１
2010250512.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセスを同時に実行可能なオペレーティングシステム及び前記複数のプロセスの実行プログラムをロードする主記憶手段と、前記主記憶手段の上で実行されている前記オペレーティングシステム及び各プロセスの実行状態情報を記憶する不揮発性記憶手段とを備える情報処理装置であって、
前記情報処理装置が備える複数のデバイスへ電力を供給する起動状態と、前記複数のデバイスに含まれる一部のデバイスへ電力を供給する一方で、該一部のデバイスとは異なる他のデバイスへの電力供給を減少させる省電力状態とを切り換える切換手段と、
前記切換手段が前記起動状態から前記省電力状態へ切り換える際に、実行中の前記オペレーティングシステム及び各プロセスの前記実行状態情報を前記主記憶手段から前記不揮発性記憶手段へ退避させる退避手段と、
前記省電力状態から前記起動状態に復帰する際に、前記オペレーティングシステムの前記実行状態情報を前記不揮発性記憶手段から前記主記憶手段へ転送し、前記オペレーティングシステムを実行状態へ復帰させる第１の復帰手段と、
前記複数のプロセスの前記実行状態情報を、１つずつ順に前記不揮発性記憶手段から前記主記憶手段へ転送し、転送が完了したプロセスから実行を再開させることにより、前記複数のプロセスを実行状態へ復帰させる第２の復帰手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記不揮発性記憶手段には、
前記省電力状態から復帰させる復帰要因と、前記復帰要因ごとに、少なくとも１つ以上のプロセスについて、前記省電力状態から復帰させる順序を示す順序情報とが予め記憶され、
前記第２の復帰手段は、
前記復帰要因に対応する前記順序情報を前記不揮発性記憶手段から読み出し、該順序情報に従って前記複数のプロセスを実行状態へ復帰させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記不揮発性記憶手段には、
前記省電力状態からの復帰の際に、前記順序情報に含まれるプロセスとともに、前記順序情報に含まれていないプロセスも復帰させるか否かを示す全体復帰情報が更に記憶され、
前記第２の復帰手段は、
前記全体復帰情報が前記順序情報に含まれていないプロセスも復帰させることを示す場合には、前記順序情報に含まれるプロセスを復帰させた後に、前記順序情報に含まれていないプロセスを復帰させることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記第２の復帰手段は、
前記全体復帰情報が前記順序情報に含まれているプロセスのみを復帰させることを示す場合には、前記順序情報に含まれるプロセスのみを復帰させ、復帰させたプロセスによる処理が終了すると、再び前記省電力状態へ戻すことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記オペレーティングシステムは、
予め定められた記憶容量ごとに分割した領域であるページを１単位として、前記主記憶手段の記憶領域を複数のページに分割して使用するとともに、使用するページの位置情報をプロセスごとに管理するページテーブルに基づいて、前記不揮発性記憶手段の一部の記憶領域を前記主記憶手段の記憶領域として使用する仮想メモリ機能を備え、
前記退避手段は、
各プロセスの前記実行状態情報を、前記主記憶手段から前記不揮発性記憶手段へページ単位で退避させ、
前記第２の復帰手段は、
各プロセスの前記実行状態情報を、前記不揮発性記憶手段から前記主記憶手段へページ単位で転送し、使用するページ単位の前記実行状態情報の全ての転送が完了したプロセスから、実行を再開させることを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記退避手段は、
各プロセスにおけるページ単位の前記実行状態情報を前記不揮発性記憶手段に退避させる際に、前記不揮発性記憶手段の記憶領域における退避先の位置情報を、当該プロセスの前記ページテーブルに設定し、
前記第２の復帰手段は、
各プロセスにおけるページ単位の前記実行状態情報を前記不揮発性記憶手段から前記主記憶手段へ復帰させる際に、前記主記憶手段の記憶領域における復帰先の位置情報を、当該プロセスの前記ページテーブルに設定することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
複数のプロセスを同時に実行可能なオペレーティングシステム及び前記複数のプロセスの実行プログラムをロードする主記憶手段と、前記主記憶手段の上で実行されている前記オペレーティングシステム及び各プロセスの実行状態情報を記憶する不揮発性記憶手段とを備える情報処理装置の制御方法であって、
切換手段が、前記情報処理装置が備える複数のデバイスへ電力を供給する起動状態と、前記複数のデバイスに含まれる一部のデバイスへ電力を供給する一方で、該一部のデバイスとは異なる他のデバイスへの電力供給を減少させる省電力状態とを切り換える切換ステップと、
退避手段が、前記切換ステップにて前記起動状態から前記省電力状態へ切り換える際に、実行中の前記オペレーティングシステム及び各プロセスの前記実行状態情報を前記主記憶手段から前記不揮発性記憶手段へ退避させる退避ステップと、
第１の復帰手段が、前記省電力状態から前記起動状態に復帰する際に、前記オペレーティングシステムの前記実行状態情報を前記不揮発性記憶手段から前記主記憶手段へ転送し、前記オペレーティングシステムを実行状態へ復帰させる第１の復帰ステップと、
第２の復帰手段が、前記複数のプロセスの前記実行状態情報を、１つずつ順に前記不揮発性記憶手段から前記主記憶手段へ転送し、転送が完了したプロセスから実行を再開させることにより、前記複数のプロセスを実行状態へ復帰させる第２の復帰ステップと
を備えることを特徴とする情報処理装置の制御方法。
【請求項８】
請求項７に記載の情報処理装置の制御方法における各ステップを、コンピュータにより実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パーソナルコンピュータ、デジタル複合機等の情報処理装置及びその制御方法、並びにコンピュータプログラムに関するものである。
【背景技術】
【０００２】
近年、地球環境への意識の高まりと共に、パーソナルコンピュータやデジタル複合機等の情報処理装置に対する省エネルギー化の要求が高まりつつある。この省エネルギー化の一環として、情報処理装置に対して、待機状態における消費電力の削減のために「ハイバネーション（ｈｉｂｅｒｎａｔｉｏｎ）」と呼ばれる機能が搭載される例が多くなっている。ハイバネーションとは、動作中の情報処理装置が電源の停止前に主記憶メモリ（ＲＡＭ）の内容（以下では、「イメージ」と称する。）をハードディスク駆動装置（ＨＤＤ）等の不揮発性の記憶装置へ退避させ、再度装置に電源が投入されると、当該イメージをＲＡＭに復帰させる技術である。省電力状態（ハイバネーション状態）の情報処理装置においては、ＲＡＭを含め装置内部の大半の部品への電源供給が停止されるため、消費電力が大幅に抑制される。さらには、ハイバネーション状態からの復帰時には、ユーザにとって当該状態への切り換え前と体感的に全くかわらない状態を復元可能なため、非常に有用な技術である。ハイバネーションは、パーソナルコンピュータやデジタル複合機において広く利用されている。例えば、そのような装置は、ユーザが何の操作もしないまま一定時間が経過すると自ら電源を停止し、ユーザによるキーボードや操作パネルの操作を契機として電源を再び起動して、停止前の状態へ復帰する。
【０００３】
また、近年では、情報処理装置の高機能化に伴って、その起動に要する時間が長くなってきていることから、その対策技術としてハイバネーションが用いられることが多くなっている。例えば、情報処理装置は、起動状態におけるＲＡＭの内容を不揮発性記憶装置に保存し、起動時にそれをＲＡＭに展開することによって、起動時間の短縮化を図っている。
【０００４】
ところが、従来のハイバネーション技術には、不揮発性記憶装置に作成されたイメージが全てＲＡＭに展開され、復帰処理が完了するまでプログラムの実行が再開されず、当該イメージのサイズが大きくなるにつれてユーザの待ち時間が長くなるという問題がある。この問題に対し、退避先として用いられるハードディスクやフラッシュメモリ等の不揮発性記憶装置に対してＲＡＭからイメージを転送する際の転送速度を高速化することが、その対策として挙げられるが、転送速度の高速化には物理的な限界があるため、その実現は容易ではない。
【０００５】
加えて、近年の情報処理装置は、マルチタスクオペレーティングシステム（マルチタスクＯＳ）を採用し、多数のプロセスを同時に実行するものが多くなっている。実行されるプロセスには、ハイバネーション状態から復帰した場合であっても、関連するハードウェアの制約等により、復帰後に再初期化や再設定を必要とするものがある。このようなプロセスについては、復帰後に可能な限り早期に動作が再開されるようにすることが望ましい。また、入力装置や表示装置に関連したプロセスのように、ユーザにとっての体感的な起動時間に強く影響を与えるプロセスについては、早期に動作が再開されることが望ましい。
【０００６】
そこで、上述の問題に対して、ハイバネーション状態からの復帰の際に、イメージの全てがＲＡＭに展開される前に、イメージの一部が展開されると、プログラムの実行を再開する技術が提案されている。例えば、特許文献１では、情報処理装置が、イメージをＲＡＭへバックグラウンドで転送するのと並行してプログラムの実行を再開し、当該プログラムによってイメージの転送済みでないメモリ領域にアクセスされたことを検出すると、当該メモリ領域に対応するイメージを直ちに取得する手法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−３３４３８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の従来技術には、以下のような問題がある。例えば、ハイバネーション状態からの復帰処理において、動作を再開したプロセスが再開直後に多くのメモリアクセスを行うようなプログラムである場合、イメージの転送済みでないメモリ領域に対する転送処理が多発してしまう問題がある。この場合、実時間の大部分がイメージの転送処理に費やされるため、プログラムの実行が事実上停止している時間が長くなる。その結果、情報処理装置を操作するユーザに対して、装置の動作が非常に遅くなった印象を与えてしまう。特に、マルチタスクＯＳを採用した情報処理装置においては、複数のプロセスが各々独立に動作し、各々が異なるメモリ領域に同時にアクセスするため、上述の問題が生じやすい。各プロセスによるメモリアクセスに基づくイメージの転送処理が多発すると、転送処理に並行してプロセスの実行を再開したことによるユーザの待ち時間の短縮効果が小さくなってしまう。
【０００９】
本発明は、上述の問題に鑑みてなされたものであり、ハイバネーション状態から復帰する際に、ユーザの体感的な待ち時間を短縮することができる情報処理装置及びその制御方法、並びにコンピュータプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１０】
本発明は、例えば、情報処理装置として実現できる。情報処理装置は、複数のプロセスを同時に実行可能なオペレーティングシステム及び複数のプロセスの実行プログラムをロードする主記憶手段と、主記憶手段の上で実行されているオペレーティングシステム及び各プロセスの実行状態情報を記憶する不揮発性記憶手段とを備える情報処理装置であって、情報処理装置が備える複数のデバイスへ電力を供給する起動状態と、複数のデバイスに含まれる一部のデバイスへ電力を供給する一方で、一部のデバイスとは異なる他のデバイスへの電力供給を減少させる省電力状態とを切り換える切換手段と、切換手段が起動状態から省電力状態へ切り換える際に、実行中のオペレーティングシステム及び各プロセスの実行状態情報を主記憶手段から不揮発性記憶手段へ退避させる退避手段と、省電力状態から起動状態に復帰する際に、オペレーティングシステムの実行状態情報を不揮発性記憶手段から主記憶手段へ転送し、オペレーティングシステムを実行状態へ復帰させる第１の復帰手段と、複数のプロセスの実行状態情報を、１つずつ順に不揮発性記憶手段から主記憶手段へ転送し、転送が完了したプロセスから実行を再開させることにより、複数のプロセスを実行状態へ復帰させる第２の復帰手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、例えば、ハイバネーション状態から復帰する際に、ユーザの体感的な待ち時間を短縮することができる情報処理装置及びその制御方法、並びにコンピュータプログラムを提供できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係るデジタル複合機１００のブロック構成例を示す図である。
【図２】第１の実施形態に係るデジタル複合機１００における操作部１０４の一例を示す図である。
【図３】第１の実施形態に係るデジタル複合機１００におけるコントローラ部１０２のブロック構成例を示す図である。
【図４】第１の実施形態に係るデジタル複合機１００における不揮発性記憶装置３１１の記憶内容の一例を示す図である。
【図５】第１の実施形態に係るデジタル複合機１００における起動順保持領域４０１の内容の一例を示す図である。
【図６】第１の実施形態に係るデジタル複合機１００における全体復帰指示領域４０２の内容の一例を示す図である。
【図７】第１の実施形態に係るデジタル複合機１００が起動した状態におけるＲＡＭ３０４の状態を模式的に示した図である。
【図８】第１の実施形態に係るデジタル複合機１００において、ハイバネーション状態へ切り換える際の処理手順を示すフローチャートである。
【図９】第１の実施形態に係るデジタル複合機１００においてハイバネーション状態への切り換えを完了した際の実行状態退避領域４０３の状態を示す図である。
【図１０】第１の実施形態に係るデジタル複合機１００において、ハイバネーション状態から復帰する際の処理手順を示すフローチャートである。
【図１１】第１の実施形態に係るハイバネーション状態からの復帰の完了後における、全てのプロセスを復帰させた場合のＲＡＭ３０４及び実行状態退避領域４０３の状態を示す図である。
【図１２】第１の実施形態に係るハイバネーション状態からの復帰の完了後における、一部のプロセスのみを復帰させた場合のＲＡＭ３０４及び実行状態退避領域４０３の状態を示す図である。
【図１３】第２の実施形態に係る仮想メモリ機能の概念を示す図である。
【図１４】第２の実施形態に係る仮想メモリ機能のページテーブルの概念を示す図である。
【図１５】第２の実施形態に係るデジタル複合機１００が起動した状態におけるＲＡＭ３０４及び不揮発性記憶装置３１１の状態の一例を示す図である。
【図１６】第２の実施形態に係るデジタル複合機１００におけるハイバネーション状態への切り換えの際の、ＲＡＭ３０４及び不揮発性記憶装置３１１の状態の一例を示す図である。
【図１７】第２の実施形態に係るデジタル複合機１００において、各プロセスの実行状態を不揮発性記憶装置３１１へ退避させる際の処理手順を示すフローチャートである。
【図１８】第２の実施形態に係るデジタル複合機１００において、各プロセスの実行状態をＲＡＭ３０４へ復帰させる際の処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下に本発明の一実施形態を示す。以下で説明される実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の実施形態によって限定されるわけではない。
【００１４】
［第１の実施形態］
＜情報処理装置の構成＞
以下では、図１乃至図１２を参照して、本発明における第１の実施形態について説明する。なお、本実施形態では、情報処理装置の例として、デジタル複合機に関して説明する。
【００１５】
図１は、第１の実施形態に係るデジタル複合機１００のブロック構成例を示す図である。デジタル複合機１００は、リーダ部１０１、プリンタ部１０３、操作部１０４、及び画像記憶部１０５の各機能部（デバイス）と、それらを制御する制御装置（コントローラ部）１０２とを備える。コントローラ部１０２は、単一の電子部品で構成され、各機能部に接続されている。
【００１６】
リーダ部１０１は、ＣＣＤ等を用いて画像データの読取処理を行う画像読取装置である。プリンタ部１０３は、画像データの出力処理を行うプリンタ装置であって、電子写真方式等によるカラーや白黒のプリントを実行することが可能である。操作部１０４は、画像データの入出力操作を行うキーボードと、画像データや各種機能の表示／設定等を行うための液晶パネルとを備える。また、画像記憶部１０５は、リーダ部１０１で読み取られた画像データ、電話回線１０８を介して受信したＦＡＸ文書データ、及び、ＬＡＮ等のネットワーク１０９を介してホストコンピュータ１０６、１０７から受信した画像データを格納／保存する装置である。
【００１７】
コントローラ部１０２は、リーダ部１０１、プリンタ部１０３、操作部１０４、及び画像記憶部１０５の各機能部を制御することにより、デジタル複合機１００における各種の機能を提供する。例えば、リーダ部１０１を制御して原稿の画像データを読み取るとともに、プリンタ部１０３を制御して、画像データを記録用紙に出力するコピー機能を提供する。また、コントローラ部１０２は、コピー機能以外にも、以下のような機能を提供する。例えば、リーダ部１０１から読み取った画像データをコードデータに変換し、ネットワーク１０９を介してホストコンピュータ１０６、１０７へ送信するスキャナ機能を提供する。さらに、ホストコンピュータ１０６、１０７からネットワーク１０９を介して受信したコードデータを画像データに変換し、プリンタ部１０３に出力するプリンタ機能や、電話回線１０８を介してＦＡＸ端末１１０との間で文書データを送受信するＦＡＸ機能を提供する。
【００１８】
図２は、第１の実施形態に係るデジタル複合機１００における操作部１０４の一例を示す図である。操作部１０４は、液晶パネル２０１とキーボード２０２とを備える。また、キーボード２０２には、デジタル複合機１００が省電力状態（ハイバネーション状態）に切り換えている場合に、ユーザが当該状態の解除をデジタル複合機１００に対して指示するための操作ボタンである省電力状態解除ボタン２０３等が設けられている。
【００１９】
ユーザは操作部１０４を操作することにより、デジタル複合機１００に実行させる機能（コピー機能、プリント機能、ＦＡＸ機能等）を選択し、又は、当該機能による動作の開始を指示することができる。さらに、ユーザは、選択した機能による動作の詳細を設定することも可能である。これにより、例えば、コピー機能の場合には、種々のコピーモード（両面設定、グループ、ソート、ステイプル出力等）が設定可能である。なお、これらの指示は、キーボード２０２（ハードキー）、及び液晶パネル２０１に表示されるソフトキーの何れによって実現されてもよい。
【００２０】
図３は、第１の実施形態に係るデジタル複合機１００におけるコントローラ部１０２のブロック構成例を示す図である。
【００２１】
コントローラ部１０２は、デジタル複合機１００の動作を制御するＣＰＵ３０１、並びに、ＣＰＵ３０１とバスコントローラ３０２を介して接続されたＲＯＭ３０３、ＲＡＭ３０４、及び復帰要因レジスタ３０５を備える。
【００２２】
ＲＡＭ３０４は、ＣＰＵ３０１が実行するコンピュータプログラムのコードや、ＣＰＵ３０１の処理対象である画像データ等を保持するための主記憶メモリであって、揮発性の記憶素子、一般的にはＤＲＡＭで構成される。通常、ＲＡＭ３０４には、オペレーティングシステム（ＯＳ）と、ＯＳが実行する各プロセスの実行プログラムとがロードされている。また、ＲＯＭ３０３は、デジタル複合機１００への電源投入時に、ハードウェアのチェックや初期化を行うＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）と呼ばれる初期プログラムを記憶している。
【００２３】
復帰要因レジスタ３０５には、デジタル複合機１００がハイバネーション状態から復帰する際に、当該状態の解除を指示した機能部のＩＤ番号が格納される。すなわち、ＩＤ番号は、デジタル複合機１００がハイバネーションから復帰する際の復帰要因を示している。デジタル複合機１００の各機能部は、コントローラ部１０２に対してハイバネーション状態の解除を指示することができる。例えば、操作部１０４は、ユーザからの省電力状態解除ボタン２０３へのキー入力に基づいて、コントローラ部１０２に対してハイバネーション状態の解除を指示する。その際、各機能部は、コントローラ部１０２へ省電力解除信号を入力するとともに、機能部ごとに固有のＩＤ番号を復帰要因レジスタ３０５に設定する。
【００２４】
ＣＰＵ３０１は、バスコントローラ３０２を介して不揮発性記憶装置３１１と接続されている。不揮発性記憶装置３１１は、ハードディスク駆動装置（ＨＤＤ）に代表される、電源を遮断してもデータを保持し続ける不揮発性の記憶媒体である。なお、不揮発性記憶装置３１１は、フラッシュメモリ等であってもよい。
【００２５】
コントローラ部１０２は、操作部インタフェース３０６、リーダ部インタフェース３０７、プリンタ部インタフェース３０８、ＦＡＸ制御部３０９、及びネットワーク制御部３１０をさらに備え、それらはバスコントローラ３０２を介してＣＰＵ３０１と接続されている。操作部インタフェース３０６、リーダ部インタフェース３０７、及びプリンタ部インタフェース３０８には、操作部１０４、リーダ部１０１、及びプリンタ部１０３が各々接続されている。各インタフェースは、接続された装置との間のコマンドを制御する。
【００２６】
ＦＡＸ制御部３０９は、図示しない電話回線を介して送られてくる画像データを展開し、又は、画像データを圧縮するとともに当該電話回線を介して送信する。ネットワーク制御部３１０は、ネットワークのインタフェースを制御するコントローラである。なお、ネットワークとしては、一般的にイーサネット（登録商標）が挙げられる。ＣＰＵ３０１は、バスコントローラ３０２、及びＦＡＸ制御部３０９又はネットワーク制御部３１０を介して、電話回線又はネットワーク上のパーソナルコンピュータ等と接続することができる。
【００２７】
＜不揮発性記憶装置及びＲＡＭの状態＞
図４は、第１の実施形態に係るデジタル複合機１００における不揮発性記憶装置３１１の記憶内容の一例を示す図である。図４に示すように、不揮発性記憶装置３１１は、その内部をいくつかの区画（領域）に区切って利用されることがある。本実施形態において、不揮発性記憶装置３１１は、起動順保持領域４０１、全体復帰指示領域４０２、実行状態退避領域４０３、画像領域４０４、及びシステム領域４０５の５つの領域に区切られて利用される。
【００２８】
起動順保持領域４０１は、ハイバネーション状態からの復帰時に、デジタル複合機１００のオペレーティングシステム（ＯＳ）がプロセスの実行を再開する順序を示す順序情報を保持している。全体復帰指示領域４０２は、ハイバネーション状態からの復帰時に、ハイバネーション状態への切り換え前に動作していたプロセスの全てをＯＳが復帰させるか否かを示す情報を保持している。実行状態退避領域４０３は、ハイバネーション状態への切り換えの際に、ＲＡＭ３０４上における各プロセスの実行状態情報（以下では、「イメージ」と称する。）を、ＯＳが退避させるための記憶領域である。当該領域には、少なくともＲＡＭ３０４と同等かそれ以上の記憶容量が確保されている。画像領域４０４は、デジタル複合機１００の画像記憶部１０５として利用される。また、システム領域４０５は、ＣＰＵ３０１で実行されるプログラムコードやデジタル複合機１００の動作に関する設定情報等を記憶している。なお、起動順保持領域４０１、全体復帰指示領域４０２、及びシステム領域４０５は、予め製品出荷時に工場等において内容が書き込まれた状態となっている。
【００２９】
図５は、第１の実施形態に係るデジタル複合機１００における起動順保持領域４０１の内容の一例を示す図である。ここで、復帰要因ＩＤは、各機能部に固有に割り当てられたＩＤ番号であって、復帰要因レジスタ３０５が保持する番号と対応する。起動順保持領域４０１には、各々の復帰要因ＩＤに対応した機能部がコントローラ部１０２に対してハイバネーション状態の解除を指示した際に、先に復帰したＯＳによって各プロセスを復帰させる順序を示す情報が復帰要因ＩＤごとに保持されている。なお、当該順序情報には、必ずしもＲＡＭ３０４上に存在する全てのプロセスが含まれるわけではなく、一部のプロセスのみが含まれる場合もある。
【００３０】
また、図６は、第１の実施形態に係るデジタル複合機１００における全体復帰指示領域４０２の内容の一例を示す図である。復帰要因ＩＤは、図５の起動順保持領域４０１と同様、復帰要因レジスタ３０５が保持する番号に対応する。全体復帰指示領域４０２には、復帰要因ＩＤごとに、先に復帰したＯＳによって全てのプロセスを復帰させるか否かを示す情報が保持されている。
【００３１】
図５の起動順保持領域４０１と図６の全体復帰指示領域４０２の内容とは、復帰要因ＩＤをキーとして、各々の内容が１対１に対応している。特定の復帰要因ＩＤに関して、全体復帰指示領域４０２の内容が「全体復帰する」である場合、起動順保持領域４０１の内容は、当該ＩＤの機能部からの指示に基づくハイバネーション状態からの復帰の際に、最初に復帰させるべきプロセス及びその順序であると、ＯＳは解釈する。さらに、当該ＩＤに関して、起動順保持領域４０１の順序情報に含まれていない他のプロセスは、当該情報に含まれるプロセスの全ての復帰処理が完了した後に復帰させるべきプロセスであって、かつ、当該他のプロセスの復帰順序は明示的ではないとＯＳは解釈する。この場合、ＯＳは、当該他のプロセスを、例えば、ＯＳが各プロセスのイメージをＲＡＭ３０４に転送しやすい順序や、ＯＳが自ら決定した順序で復帰させてもよいし、ランダムな順序で復帰させてもよい。
【００３２】
一方、全体復帰指示領域４０２の内容が「全体復帰しない」という内容である場合には、起動順保持領域４０１の内容はハイバネーション復帰時に実行再開すべき全てのプロセスとその順序であると解釈される。即ち、順序が保持されていないプロセスについては実行を再開しないものと解釈される。
【００３３】
図７は、第１の実施形態に係るデジタル複合機１００が起動した状態におけるＲＡＭ３０４の状態を模式的に示した図である。なお、本実施形態では、ＣＰＵ３０１及びデジタル複合機１００のＯＳは、仮想メモリの機能を有しない。ここで、本実施形態におけるデジタル複合機１００に搭載されるＯＳは、複数のプログラムを同時に動作させることが可能なマルチタスクＯＳである。従って、ＲＡＭ３０４上には、当該ＯＳ上で実行されるプログラムの実体であるプロセスが複数存在している。ＯＳ及びアプリケーションソフトのプログラムコードは、不揮発性記憶装置３１１のシステム領域４０５に予め記憶されており、デジタル複合機１００の起動時にＲＡＭ３０４に読み込まれて実行される。
【００３４】
図７における各プロセスは、例えば、以下のようなプロセスである。プロセス１は、操作部１０４を制御するプロセスである。当該プロセスは、ユーザが操作部１０４のボタン等を操作した際に、後述のジョブ制御プロセスにコピー等の動作を指示したり、液晶パネル２０１にデジタル複合機１００の動作状況を表示したりすることにより、ユーザインタフェースを提供する。プロセス２は、デジタル複合機１００上で実行されるジョブを制御するジョブ制御プロセスである。当該プロセスは、リーダ部１０１やプリンタ部１０３等を制御し、コピージョブや印刷ジョブ等のデジタル複合機１００における中心的な機能を実現する。プロセス３は、通信制御プロセスであり、ネットワークを介して接続されたパーソナルコンピュータ等から文書データの印刷要求を受け付けたり、電話回線を介してＦＡＸ文書を受け付けたりする。また、プロセス３は、文書データを受信すると、上述のプロセス２に対して文書の印刷を指示する。なお、これらのプロセスはあくまで例示であって、他のプロセスがＲＡＭ３０４上に存在する場合も当然に起こり得る。
【００３５】
＜ハイバネーション状態への切換処理＞
次に、上述の本実施形態に係るデジタル複合機１００における、ハイバネーション状態への切換処理について説明する。図８は、第１の実施形態に係るデジタル複合機１００において、ハイバネーション状態へ切り換える際の処理手順を示すフローチャートである。
【００３６】
まず、起動中のデジタル複合機１００において、何らかの復帰要因に基づき、ＯＳに対してハイバネーション状態への切換開始が指示される。当該指示は、例えば、一定時間、デジタル複合機１００においてユーザによる操作がなかった場合に、ＯＳ上で自動的に発生するようにしてもよい。また、ユーザが操作部１０４等を介して明示的にＯＳに対して指示するようにしてもよい。当該指示を受けたＯＳは、実際に、ハイバネーション状態への切換動作を開始する。
【００３７】
ステップＳ２０１で、ＯＳは、ＲＡＭ３０４の記憶内容やＣＰＵ３０１の内部状態等の、プロセスの実行状態情報（イメージ）を、不揮発性記憶装置３１１の実行状態退避領域４０３に退避させる。さらに、ステップＳ２０２で、ＯＳは、ＯＳ自体の実行状態情報を、不揮発性記憶装置３１１の実行状態退避領域４０３に退避させる。その後、ステップＳ２０３へ移行する。
【００３８】
ステップＳ２０３で、ＯＳは、コントローラ部１０２、リーダ部１０１、プリンタ部１０３等の各機能部への電力の供給を停止する。以上により、デジタル複合機１００におけるハイバネーション状態への切り換えが完了する。ただし、コントローラ部１０２に関しては、ＣＰＵ３０１やＲＡＭ３０４等に対する電力供給のみが停止され、操作部１０４、ネットワーク制御部３１０、及びＦＡＸ制御部３０９等の、ハイバネーション状態の解除を指示する機能を有する一部の機能部は、通電された状態とする。これにより、通電状態にある各機能部からコントローラ部１０２に対して、必要に応じてハイバネーション状態の解除指示がなされる。なお、ハイバネーション状態への切り換えの際に、電力を供給したままの状態とする一部の機能部とは異なる機能部に対して、上述のように電源供給を完全に停止させるのではなく、電力供給を減少させることによって、ハイバネーション状態へ切り換えてもよい。これら何れの方法によっても、情報処理装置における消費電力の低減を図ることができる。
【００３９】
また、図９は、第１の実施形態に係るデジタル複合機１００においてハイバネーション状態への切り換えを完了した際の実行状態退避領域４０３の状態を示す図である。上述のステップＳ２０１及びＳ２０２において、ＯＳ自体及び各プロセスのイメージは、図９に示すように、ＯＳによって個別に不揮発性記憶装置３１１の実行状態退避領域４０３へ保存される。
【００４０】
＜ハイバネーション状態からの復帰処理＞
次に、本実施形態に係るハイバネーション状態からの復帰処理について説明する。本実施形態に係るデジタル複合機１００は、ハイバネーション状態からの復帰処理において、全てのプロセスのイメージを復帰させる前に、既に復帰させたプロセスの実行を再開することを特徴とする。これにより、デジタル複合機１００は、各プロセスのイメージを全て復帰させた後に、当該プロセスの実行を再開することで、プロセス実行開始後に再び実行が停止してしまうことを防止できる。
【００４１】
図１０は、第１の実施形態に係るデジタル複合機１００において、ハイバネーション状態から復帰する際の処理手順を示すフローチャートである。
【００４２】
ステップＳ３０１で、コントローラ部１０２は、何らかの復帰要因に基づいて、ハイバネーション状態の解除指示を受ける。これにより、コントローラ部１０２は、ハイバネーション状態からの復帰処理を開始する。当該指示は、例えば、操作部１０４の省電力状態解除ボタン２０３が押下された場合には、操作部１０４によってなされる。また、ＦＡＸ制御部３０９がＦＡＸ信号の受信を検知した場合には、ＦＡＸ制御部３０９によって上記指示が生成される。当該指示を生成した機能部は、自らの固有のＩＤ番号を復帰要因レジスタ３０５に設定する。それに伴って、デジタル複合機１００において、コントローラ部１０２全体に電力が投入される。その後、ステップＳ３０２へ移行する。
【００４３】
ステップＳ３０２で、ＲＯＭ３０３に書き込まれたＢＩＯＳは、ＯＳをＲＡＭ３０４へ読み込むことにより、ＯＳの実行を再開する。その際、ＯＳは、不揮発性記憶装置３１１に記憶された自らのイメージを用いて、ハイバネーション状態への切り換え前の実行状態へ復帰する。ここで、デジタル複合機１００上では、ＯＳのみが実行されている状態となり、実行が再開されたプロセスはまだ存在しない。なお、ステップＳ３０２における処理は第１の復帰手段による処理に相当する。
【００４４】
ステップＳ３０３で、ＯＳは、起動順保持領域４０１の内容を確認する。これにより、ＯＳは、復帰要因レジスタ３０５が保持する復帰要因ＩＤに対応する復帰順序情報を取得する。その後、ステップＳ３０４へ移行する。
【００４５】
ステップＳ３０４で、ＯＳは、起動順保持領域４０１の復帰順序情報に明示されているプロセスであって、まだ復帰処理が完了していないプロセスが存在するか否かを判定する。存在する場合には、ステップＳ３０５へ移行し、当該プロセスの実行を再開する処理を継続する。一方、存在しない場合には、ステップＳ３０９へ移行する。
【００４６】
ステップＳ３０５で、ＯＳは、復帰順序情報の順序に従って、復帰させるプロセスを１つ選択する。さらに、ステップＳ３０６で、ＯＳは、選択したプロセスのイメージを、不揮発性記憶装置３１１上の実行状態退避領域４０３からＲＡＭ３０４に転送を開始する。その後、ステップＳ３０７へ移行する。
【００４７】
ステップＳ３０７で、ＯＳは、当該プロセスのイメージの転送が完了したか否かを判定する。転送が完了していないと判定した場合、当該プロセスのイメージの転送を継続する。一方、転送が完了したと判定した場合、ステップＳ３０８へ移行する。転送が完了した後に、当該プロセスの実行状態がハイバネーション状態へ切り換え前の状態に復帰する。その後、ステップＳ３０８へ移行する。なお、ＯＳは、当該判定処理に関して、例えば、対象となるプロセスのイメージを、不揮発性記憶装置３１１から全てＲＡＭ３０４に転送したか否かで判定する。または、転送したイメージのサイズが、ハイバネーション状態へ切り換え前の当該プロセスのメモリ使用量に等しくなったか否かにより判定してもよい。
【００４８】
ステップＳ３０８で、ＯＳは、当該プロセスの実行を再開する。実行を再開したプロセスは、操作部１０４やプリンタ部１０３等、当該プロセスの動作に関連した機能部に電力を再投入し、各々の機能を実行可能な状態にする。その後、ステップＳ３０４へ戻る。
【００４９】
ステップＳ３０４の判定処理により、復帰順序情報に明示された全てのプロセスの復帰処理が完了したと判定されるまで、ステップＳ３０５〜Ｓ３０８の処理を繰り返す。その後、ステップＳ３０９以降における、復帰順序情報に含まれていない他のプロセスに関する処理へ移行する。
【００５０】
ステップＳ３０９で、ＯＳは、全体復帰指示領域４０２の内容を確認する。これにより、ＯＳは、復帰要因レジスタ３０５が保持する復帰要因ＩＤに対応する全体復帰情報を取得する。その後、ステップＳ３１０へ移行する。
【００５１】
ステップＳ３１０で、ＯＳは、全体復帰指示領域４０２の内容に基づいて、全体復帰するか否かを判定する。ここで、「全体復帰しない」場合には、これまでの処理でハイバネーション状態からの復帰処理を完了する。一方、「全体復帰する」場合には、ステップＳ３１１へ移行する。
【００５２】
ステップＳ３１１〜Ｓ３１５において、ＯＳは、ハイバネーション状態へ切り換え前に実行中であったプロセスの中で、復帰処理が完了していないプロセスを１つずつ復帰させる。まず、ステップＳ３１１で、ＯＳは、復帰処理が完了していないプロセスがあるか否かを判定する。全てのプロセスの復帰処理が完了し、復帰していないプロセスが存在しない場合には、ハイバネーション状態からの復帰処理を完了する。一方、未だ復帰処理が完了していないプロセスが存在する場合には、ステップＳ３１２へ移行する。
【００５３】
ステップＳ３１２で、ＯＳは、復帰処理が完了していないプロセスの中から、次に復帰させるプロセスを選択する。なお、プロセスの選択方法は、上述したとおりである。その後、ステップＳ３１３へ移行する。なお、ステップＳ３１３〜Ｓ３１５の処理は、ステップＳ３０６〜Ｓ３０８の処理と同一である。これらの処理により、ＯＳは、選択したプロセスの実行を再開し、ステップＳ３１１へ戻る。
【００５４】
以上のステップＳ３１１〜Ｓ３１５の処理により、全てのプロセスの実行が再開されると、デジタル複合機１００におけるハイバネーション状態からの復帰が完了する。なお、ステップＳ３０３〜Ｓ３１５の処理は、第２の復帰手段による処理に相当する。
【００５５】
図１１は、第１の実施形態に係るハイバネーション状態からの復帰の完了後における、全てのプロセスを復帰させた場合のＲＡＭ３０４及び実行状態退避領域４０３の状態を示す図である。なお、図１１は、ステップＳ３１０で、全体復帰指示領域４０２の内容が「全体復帰する」と判定された場合における復帰処理の結果を示している。図１１に示すように、ハイバネーション状態からの復帰が完了すると、不揮発性記憶装置３１１に記憶されていたイメージの全てがＲＡＭ３０４へ転送された状態となる。
【００５６】
一方、図１２は、第１の実施形態に係るハイバネーション状態からの復帰の完了後における、一部のプロセスのみを復帰させた場合のＲＡＭ３０４及び実行状態退避領域４０３の状態を示す図である。なお、図１２は、ステップＳ３１０で、全体復帰指示領域４０２の内容が「全体復帰しない」と判定された場合における復帰処理の結果を示している。ハイバネーション状態からの復帰が完了すると、不揮発性記憶装置３１１に記憶されていたプロセスの中で、復帰の対象となるプロセスのイメージのみがＲＡＭ３０４へ転送された状態となる。図１２では、プロセス２及び３のイメージのみがＲＡＭ３０４へ転送され、プロセス１のイメージは不揮発性記憶装置３１１に残っている。
【００５７】
なお、ＯＳは、全体復帰しなかった場合には、各プロセスによる必要な処理が終了した後に、当該プロセスからの指示により、再度ハイバネーション状態へ切り換える。すなわち、ＯＳは、ＲＡＭ３０４上に復帰しているプロセス及びＯＳのイメージを、再び不揮発性記憶装置３１１に退避させるとともに、各機能部への電力供給を停止する。
【００５８】
以上説明したように、本実施形態に係る情報処理装置は、ハイバネーション状態から復帰する際、ＲＡＭ上にＯＳのみの実行状態を復帰させた後に、ＯＳ上の各プロセスのイメージから、ＲＡＭ上にその実行状態を復帰させる。具体的には、ＯＳは、プロセスごとに、不揮発性記憶装置からＲＡＭへイメージの転送が完了すると、当該プロセスの実行を再開する。これにより、他の全プロセスのイメージに関するＲＡＭへの転送処理が完了する前に、既に転送処理が完了したプロセスの実行を早期に再開させることができ、例えば、ユーザが復帰処理を指示した場合のユーザの待ち時間を低減できる。また、プロセスの実行再開後に、当該プロセスのイメージの転送処理が再び発生することはなく、転送処理の発生によって当該プロセスの実行が再度停止することはない。従って、実行を再開したプロセスはスムーズに動作を継続することができる。
【００５９】
また、本実施形態に係る情報処理装置は、プロセスを復帰させる順序に関する情報を復帰要因ごとに予め保持し、当該順序に従って各プロセスの復帰処理を実行する。例えば、情報処理装置は、ハイバネーション状態からの復帰要因がユーザによる操作部の操作である場合、ネットワーク制御に関連するプロセス等の、操作部の動作と関連性の低いプロセスよりも、先に関連性の高いプロセスを復帰させるように制御する。一方で、例えば、ハイバネーション状態からの復帰要因がネットワーク上のユーザから文書の印刷要求を受信したことである場合、操作部に関連するプロセス等よりも、先にネットワーク制御に関連するプロセスを復帰させるように制御する。すなわち、情報処理装置がハイバネーション状態から復帰する際に、ユーザが実行する動作に関連するプロセスを最初に復帰させることにより、ユーザにとっての体感的な待ち時間を短縮することができる。さらに、情報処理装置は、上述のプロセスの復帰順序を機能部のＩＤ番号に基づいて設定することで、復帰要因ごとに適応的にプロセスの復帰順序を切り換えることが可能となり、ハイバネーション状態から柔軟に復帰することができる。
【００６０】
また、本実施形態に係る情報処理装置は、ハイバネーション状態から復帰する際に、プロセスを復帰させる順序に加え、当該順序に設定されていない他の全てのプロセスを復帰させるか否かを復帰要因ごとに予め設定し、当該設定に基づいて各プロセスの復帰処理を実行する。例えば、復帰要因がＦＡＸの着信である場合、ＦＡＸの受信処理が完了した後に、自動的に再度ハイバネーション状態へ切り換えることが、情報処理装置の消費電力の低減の観点から望ましい。この場合、情報処理装置は、当該復帰要因について、ＦＡＸ制御部の動作に関連しない他のプロセスを復帰させず、関連するプロセスのみを復帰順序に予め設定し、当該プロセスのみを復帰させる。さらに、復帰させたプロセスが必要な処理を終えた後に、再度ハイバネーション状態に切り換える。これにより、情報処理装置における応答性の向上と消費電力の低減とを実現できる。
【００６１】
［第２の実施形態］
第１の実施形態では、情報処理装置におけるＣＰＵ及びＯＳが仮想メモリの機能を有しない場合について説明した。しかしながら、本発明は仮想メモリを有しない情報処理装置に限定されることはなく、仮想メモリを有する情報処理装置に対しても適用可能である。そこで、本発明における第２の実施形態では、第１の実施形態の情報処理装置において、ＣＰＵ及びＯＳが仮想メモリの機能を備えた場合について説明する。以下では、図１３乃至図１８を参照し、第２の実施形態について、第１の実施形態と異なる部分についてのみ説明する。
【００６２】
仮想メモリとは、メモリ管理技術の一種であり、不連続なメモリ領域をＯＳ上のプロセスから見て連続であるかのように見せかける技術である。また、ＲＡＭ３０４の内容の一部をＨＤＤのような外部記憶装置に退避させることにより、情報処理装置上に実装されているＲＡＭ３０４よりも大きなメモリ領域を仮想的に提供する。
【００６３】
図１３は、第２の実施形態に係る仮想メモリ機能の概念を示す図である。図１３に示すように、本実施形態のＯＳは、ページと呼ばれる予め定められた容量のメモリ領域を１単位として、ＲＡＭ３０４を複数のメモリ領域に分割して管理する。また、ＲＡＭ３０４の容量よりも大きなメモリ領域が必要とされる場合に、ＯＳは、ページ単位でＲＡＭ３０４の記憶内容を外部記憶装置１３０１に退避させるとともに、必要に応じて復帰させる処理を実行する。これにより、ＯＳは、ＲＡＭ３０４よりも大きなメモリ領域が存在しているかのように見せかける。
【００６４】
仮想メモリを用いるＯＳは、各プロセスがＲＡＭ３０４にアクセスする際に、仮想アドレスと呼ばれる論理的な位置情報を用いる。仮想アドレスは、ＣＰＵ３０１によって自動的にＲＡＭ３０４におけるページの位置情報に変換されることで、ＲＡＭ３０４上の何れかページへのアクセスを実現する。ここで、図１４は、第２の実施形態に係る仮想メモリ機能のページテーブルの概念を示す図である。ＣＰＵ３０１は、仮想アドレス１４０１からＲＡＭ３０４上のページへの変換表であるページテーブル１４０２を用いて、当該変換処理を行う。ページテーブル１４０２はプロセスごとにＲＡＭ３０４上に存在し、ＯＳは、ページテーブル１４０２中の各エントリを適切に設定することで、不連続なメモリを連続であるかのように見せかける。
【００６５】
また、図１４に示すように、ページテーブル１４０２中の各エントリには、ＲＡＭ３０４上のページ位置を示す値の他に、アクセス制御フラグ、存在フラグ等の仮想メモリ機能の動作を制御するための特殊なビットが割り当てられている。アクセス制御フラグは、各ページに対するアクセスを制御するフラグであり、各ビットに適切な値を設定することによりページ単位で書き込み禁止等が制御される。ＯＳは、アクセス制御フラグを用いることにより、ＲＡＭ３０４の内容を適切に保護し、安全にプログラムを動作させることができる。また、存在フラグは、当該エントリに対応するページがＲＡＭ３０４上に存在するか否かを示す値である。当該ページが外部記憶装置１３０１に退避されている場合、ページテーブル１４０２中の対応するエントリには、ＲＡＭ３０４上のページ位置に代わって外部記憶装置１３０１内の退避先の位置を示す値が保持される。また、存在フラグには、ＲＡＭ３０４上に当該ページが存在しないことを示す値が設定される。
【００６６】
なお、外部記憶装置１３０１としてＨＤＤのような不揮発性の記憶装置を用いる場合、仮想メモリ機能によりＲＡＭ３０４の内容を外部記憶装置１３０１に退避する際に、ハイバネーションのために用いる不揮発性記憶装置３１１を共用できる。この場合、不揮発性記憶装置３１１上に仮想メモリ機能の退避用領域が必要となる。そのため、不揮発性記憶装置３１１上に専用の領域を用意してもよいし、ハイバネーションの際に利用される実行状態退避領域４０３を共用してもよい。本実施形態では、実行状態退避領域４０３にＲＡＭ３０４の容量よりも大きな容量を割り当てるとともに、仮想メモリ機能の退避用領域としても共用する場合について説明する。このような仕組みにより、仮想メモリ機能を用いた情報処理装置において、ＲＡＭ３０４を柔軟に利用可能であるともに、メモリ利用効率を高めることができる。
【００６７】
図１５は、第２の実施形態に係るデジタル複合機１００が起動した状態におけるＲＡＭ３０４及び不揮発性記憶装置３１１の状態の一例を示す図である。図１５に示すように、各プロセスの使用しているメモリ領域は、必ずしもＲＡＭ３０４上で連続した位置にあるとは限らない。また、起動状態にあるデジタル複合機１００において、仮想メモリ機能により、不揮発性記憶装置３１１に対して、ＲＡＭ３０４の内容の一部がページ単位で退避される。
【００６８】
＜ハイバネーション状態への切換処理＞
次に、本実施形態におけるハイバネーション状態への切換処理について説明する。本実施形態に係るデジタル複合機１００において、ハイバネーション状態へ切り換えるためにＯＳが実行する処理手順は、図８の第１の実施形態とほぼ同様であるので、第１の実施形態との相違点を中心として説明する。
【００６９】
図１６は、第２の実施形態に係るデジタル複合機１００におけるハイバネーション状態への切り換えの際の、ＲＡＭ３０４及び不揮発性記憶装置３１１の状態の一例を示す図である。第１の実施形態との相違点は、ＯＳが、図９のステップＳ２０１においてプロセスの実行状態情報を実行状態退避領域４０３へ退避させる際に、プロセス単位で退避させるのではなく、ＲＡＭ３０４上のページ単位で退避させる点である。なお、本実施形態においても、ＯＳは、ＲＡＭ３０４上のページをプロセスごとに分類し、プロセスごとにイメージを退避させることも可能である。
【００７０】
図１７は、第２の実施形態に係るデジタル複合機１００において、各プロセスの実行状態を不揮発性記憶装置３１１へ退避させる際の処理手順を示すフローチャートである。以下では、特定のプロセスに関する処理について説明するが、何れのプロセスにおいても処理手順は同様である。
【００７１】
ステップＳ４０１で、ＯＳは、ＲＡＭ３０４に不揮発性記憶装置３１１へ退避していないページが存在するか否かを判定する。退避していないページが存在しない場合、ＯＳは、当該プロセスに関して、プロセスの実行状態の退避を完了する。一方で、退避していないページが存在する場合、ステップＳ４０２へ移行し、ページ単位の退避処理を継続する。
【００７２】
ステップＳ４０２で、ＯＳは、ＲＡＭ３０４上のページの不揮発性記憶装置３１１における退避先の位置を決定する。さらに、ステップＳ４０３で、ＯＳは、当該ページを不揮発性記憶装置３１１上の決定した位置に対して退避させる。その後、ステップＳ４０４へ移行する。
【００７３】
ステップＳ４０４で、ＯＳは、当該プロセスのページテーブルにおける当該ページのエントリに対して、それまで設定されていたＲＡＭ３０４上の位置を示す値に代えて、不揮発性記憶装置３１１における退避先の位置を示す値を設定する。ただし、ＯＳは、ページテーブルの存在フラグの値について変更せず、ＲＡＭ３０４上に存在することを示す値のままとする。その後、ステップＳ４０１へ戻り、未だ不揮発性記憶装置３１１への退避が完了していないページについて、退避処理を継続する。
【００７４】
なお、ＲＡＭ３０４上に存在する各プロセスのページテーブルは、図８のステップＳ２０２において、ＯＳの実行状態情報の一部として、不揮発性記憶装置３１１へ退避される。
【００７５】
＜ハイバネーション状態からの復帰処理＞
次に、本実施形態におけるハイバネーション状態からの復帰処理について説明する。本実施形態に係るデジタル複合機１００において、ハイバネーション状態から復帰するための処理手順は、図１０の第１の実施形態とほぼ同様であるので、相違点を中心として説明する。
【００７６】
本実施形態において、ＯＳは、図１０のステップＳ３０２でＯＳの実行状態をＲＡＭ３０４へ復帰させる際に、不揮発性記憶装置３１１のイメージから、各プロセスのページテーブルも復帰させる。また、ＯＳは、図１０のステップＳ３０６及びＳ３１３においてプロセスのイメージをＲＡＭ３０４へ転送する際に、以下の図１８に示す処理を実行する。
【００７７】
図１８は、第２の実施形態に係るデジタル複合機１００において、各プロセスの実行状態をＲＡＭ３０４へ復帰させる際の処理手順を示すフローチャートである。ＯＳは、復帰対象として選択したプロセスのページテーブルを参照するとともに、参照結果に基づいて、以下の処理を実行する。なお、何れのプロセスに関しても、ＯＳは同様の処理を実行する。
【００７８】
ステップＳ５０１で、ＯＳは、ページテーブルのエントリの中で、調べていないエントリが存在するか否かを判定する。調べていないエントリが存在しない場合、当該プロセスの復帰処理を完了する。一方、調べていないエントリが未だ存在する場合、ステップＳ５０２へ移行し、各ページの復帰処理を継続する。
【００７９】
ステップＳ５０２で、ＯＳは、ページテーブルのエントリの中で１つを選択し、その内容を確認する。さらに、ステップＳ５０３で、ページテーブルの存在フラグが、ＲＡＭ３０４上に存在することを示す値であるか否かを判定する。ＲＡＭ３０４に存在することを示す値ではない場合、ステップＳ５０１へ戻り、ＯＳは、次のエントリに関する処理を継続する。一方、ＲＡＭ３０４に存在することを示す値である場合、ステップＳ５０４へ移行する。
【００８０】
ステップＳ５０４で、ＯＳは、不揮発性記憶装置３１１上で当該エントリが示す位置に存在するページの内容を、ＲＡＭ３０４へ復帰させる。さらに、Ｓ５０５で、ＯＳは、ＲＡＭ３０４におけるページの復帰先の位置を、ページテーブルの当該エントリに設定する。なお、ページを復帰させる際のＲＡＭ３０４上でのページの位置は、必ずしもハイバネーション前と同じ位置でなくともよい。その後、ステップＳ５０１に戻り、次のエントリに関する処理を継続する。
【００８１】
以上の処理により、ＯＳは、ページ単位のＲＡＭ３０４への復帰処理を、ページテーブルの全てのエントリに対して実行する。復帰処理の完了後におけるＲＡＭ３０４の状態は、復帰されたプロセスにとって、ハイバネーション状態への切り換え前と同じ状態となっている。これにより、プロセスの実行状態がＲＡＭ３０４上に復元され、当該プロセスはその実行を再開することが可能となる。
【００８２】
以上説明したように、本実施形態に係る情報処理装置は、仮想メモリ機能を有する情報処理装置においても、第１の実施形態と同様、イメージ全ての復帰を待たずに、プロセスごとにイメージが復帰した後に、プロセスの実行を再開することできる。さらに、情報処理装置は、仮想メモリ機能によってページ単位でＲＡＭの記憶領域を使用する場合において、ハイバネーション状態への切り換え及びハイバネーション状態から復帰する際に、仮想メモリ機能に用いるページテーブルを利用することを可能にすることで、ＲＡＭの利用効率を高めることができる。
【００８３】
［その他の実施形態］
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００８４】
１００：デジタル複合機、１０１：リーダ部、１０２：制御装置（コントローラ部）、１０３：プリンタ部、１０４：操作部、１０５：画像記憶部、１０６、１０７：ＰＣ、１１０：ＦＡＸ、２０１：液晶パネル、２０２：キーボード、２０３：省電力状態解除ボタン、３０１：ＣＰＵ、３０２：バスコントローラ、３０３：ＲＯＭ、３０４：ＲＡＭ、３０５：復帰要因レジスタ、３０６：操作部インタフェース、３０７：リーダ部インタフェース、３０８：プリンタ部インタフェース、３０９：ＦＡＸ制御部、３１０：ネットワーク制御部、３１１：不揮発性記憶装置
【図１】
2010250512.tif 000003
【図２】
2010250512.tif 000004
【図３】
2010250512.tif 000005
【図４】
2010250512.tif 000006
【図５】
2010250512.tif 000007
【図６】
2010250512.tif 000008
【図７】
2010250512.tif 000009
【図８】
2010250512.tif 000010
【図９】
2010250512.tif 000011
【図１０】
2010250512.tif 000012
【図１１】
2010250512.tif 000013
【図１２】
2010250512.tif 000014
【図１３】
2010250512.tif 000015
【図１４】
2010250512.tif 000016
【図１５】
2010250512.tif 000017
【図１６】
2010250512.tif 000018
【図１７】
2010250512.tif 000019
【図１８】
2010250512.tif 000020