JP5289153B2 - 情報処理装置及びその制御方法、並びにコンピュータプログラム - Google Patents

情報処理装置及びその制御方法、並びにコンピュータプログラム Download PDF

Info

Publication number
JP5289153B2
JP5289153B2 JP2009098488A JP2009098488A JP5289153B2 JP 5289153 B2 JP5289153 B2 JP 5289153B2 JP 2009098488 A JP2009098488 A JP 2009098488A JP 2009098488 A JP2009098488 A JP 2009098488A JP 5289153 B2 JP5289153 B2 JP 5289153B2
Authority
JP
Japan
Prior art keywords
information
execution
state
processing apparatus
processes
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.)
Expired - Fee Related
Application number
JP2009098488A
Other languages
English (en)
Other versions
JP2010250512A5 (ja
JP2010250512A (ja
Inventor
圭吾 合田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2009098488A priority Critical patent/JP5289153B2/ja
Priority to US12/717,405 priority patent/US8949641B2/en
Priority to CN201010144513.1A priority patent/CN101866301B/zh
Publication of JP2010250512A publication Critical patent/JP2010250512A/ja
Publication of JP2010250512A5 publication Critical patent/JP2010250512A5/ja
Application granted granted Critical
Publication of JP5289153B2 publication Critical patent/JP5289153B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、パーソナルコンピュータ、デジタル複合機等の情報処理装置及びその制御方法、並びにコンピュータプログラムに関するものである。
近年、地球環境への意識の高まりと共に、パーソナルコンピュータやデジタル複合機等の情報処理装置に対する省エネルギー化の要求が高まりつつある。この省エネルギー化の一環として、情報処理装置に対して、待機状態における消費電力の削減のために「ハイバネーション(hibernation)」と呼ばれる機能が搭載される例が多くなっている。ハイバネーションとは、動作中の情報処理装置が電源の停止前に主記憶メモリ(RAM)の内容(以下では、「イメージ」と称する。)をハードディスク駆動装置(HDD)等の不揮発性の記憶装置へ退避させ、再度装置に電源が投入されると、当該イメージをRAMに復帰させる技術である。省電力状態(ハイバネーション状態)の情報処理装置においては、RAMを含め装置内部の大半の部品への電源供給が停止されるため、消費電力が大幅に抑制される。さらには、ハイバネーション状態からの復帰時には、ユーザにとって当該状態への切り換え前と体感的に全くかわらない状態を復元可能なため、非常に有用な技術である。ハイバネーションは、パーソナルコンピュータやデジタル複合機において広く利用されている。例えば、そのような装置は、ユーザが何の操作もしないまま一定時間が経過すると自ら電源を停止し、ユーザによるキーボードや操作パネルの操作を契機として電源を再び起動して、停止前の状態へ復帰する。
また、近年では、情報処理装置の高機能化に伴って、その起動に要する時間が長くなってきていることから、その対策技術としてハイバネーションが用いられることが多くなっている。例えば、情報処理装置は、起動状態におけるRAMの内容を不揮発性記憶装置に保存し、起動時にそれをRAMに展開することによって、起動時間の短縮化を図っている。
ところが、従来のハイバネーション技術には、不揮発性記憶装置に作成されたイメージが全てRAMに展開され、復帰処理が完了するまでプログラムの実行が再開されず、当該イメージのサイズが大きくなるにつれてユーザの待ち時間が長くなるという問題がある。この問題に対し、退避先として用いられるハードディスクやフラッシュメモリ等の不揮発性記憶装置に対してRAMからイメージを転送する際の転送速度を高速化することが、その対策として挙げられるが、転送速度の高速化には物理的な限界があるため、その実現は容易ではない。
加えて、近年の情報処理装置は、マルチタスクオペレーティングシステム(マルチタスクOS)を採用し、多数のプロセスを同時に実行するものが多くなっている。実行されるプロセスには、ハイバネーション状態から復帰した場合であっても、関連するハードウェアの制約等により、復帰後に再初期化や再設定を必要とするものがある。このようなプロセスについては、復帰後に可能な限り早期に動作が再開されるようにすることが望ましい。また、入力装置や表示装置に関連したプロセスのように、ユーザにとっての体感的な起動時間に強く影響を与えるプロセスについては、早期に動作が再開されることが望ましい。
そこで、上述の問題に対して、ハイバネーション状態からの復帰の際に、イメージの全てがRAMに展開される前に、イメージの一部が展開されると、プログラムの実行を再開する技術が提案されている。例えば、特許文献1では、情報処理装置が、イメージをRAMへバックグラウンドで転送するのと並行してプログラムの実行を再開し、当該プログラムによってイメージの転送済みでないメモリ領域にアクセスされたことを検出すると、当該メモリ領域に対応するイメージを直ちに取得する手法が提案されている。
特開2007−334383号公報
しかしながら、上述の従来技術には、以下のような問題がある。例えば、ハイバネーション状態からの復帰処理において、動作を再開したプロセスが再開直後に多くのメモリアクセスを行うようなプログラムである場合、イメージの転送済みでないメモリ領域に対する転送処理が多発してしまう問題がある。この場合、実時間の大部分がイメージの転送処理に費やされるため、プログラムの実行が事実上停止している時間が長くなる。その結果、情報処理装置を操作するユーザに対して、装置の動作が非常に遅くなった印象を与えてしまう。特に、マルチタスクOSを採用した情報処理装置においては、複数のプロセスが各々独立に動作し、各々が異なるメモリ領域に同時にアクセスするため、上述の問題が生じやすい。各プロセスによるメモリアクセスに基づくイメージの転送処理が多発すると、転送処理に並行してプロセスの実行を再開したことによるユーザの待ち時間の短縮効果が小さくなってしまう。
本発明は、上述の問題に鑑みてなされたものであり、ハイバネーション状態から復帰する際に、ユーザの体感的な待ち時間を短縮することができる情報処理装置及びその制御方法、並びにコンピュータプログラムを提供することを目的としている。
本発明は、例えば、情報処理装置として実現できる。本発明の一態様に係る情報処理装置は、複数のプロセスを同時に実行可能なオペレーティングシステム及び複数のプロセスの実行プログラムロードされる主記憶手段と、主記憶手段にロードされたオペレーティングシステムの実行状態情報及び複数のプロセスの実行状態情報を記憶する不揮発性記憶手段とを備える情報処理装置であって、情報処理装置が備える複数のデバイスへ電力を供給する起動状態と、複数のデバイスに含まれる一部のデバイスへ電力を供給する一方で、一部のデバイスとは異なる他のデバイスへの電力供給を減少させる省電力状態とを切り換える切換手段と、切換手段が情報処理装置を起動状態から省電力状態へ切り換える際に、実行中のオペレーティングシステムの実行状態情報及び複数のプロセスの実行状態情報を主記憶手段から不揮発性記憶手段へ退避させる退避手段と、切換手段が情報処理装置を省電力状態から起動状態復帰させる際に、オペレーティングシステムの実行状態情報を不揮発性記憶手段から主記憶手段へ転送し、オペレーティングシステムを実行状態へ復帰させる第1の復帰手段と、複数のプロセスの実行状態情報の中の第1のプロセスの実行状態情報および第2の実行状態情報を順に不揮発性記憶手段から主記憶手段へ転送し、第2のプロセスの実行状態情報の転送が完了する前に、転送が完了した第1のプロセスの実行状態情報に対応する第1のプロセスの実行を再開させるとともに、第1のプロセスの実行の再開後に、転送が完了した第2のプロセスの実行状態情報に対応する第2のプロセスの実行を再開させることにより、複数のプロセスを実行状態へ復帰させる第2の復帰手段とを備えることを特徴とする。
また、本発明の他の一態様に係る情報処理装置は、省電力状態に移行することが可能な情報処理装置であって、複数のプロセスを同時に実行可能なオペレーティングシステムがロードされる主記憶手段と、主記憶手段にロードされるオペレーティングシステムにより実行される複数のプロセスの実行状態を示す実行情報を記憶する不揮発性記憶手段と、情報処理装置を省電力状態に移行させる場合に、複数のプロセスの実行情報を主記憶手段から不揮発性記憶手段に退避させる制御手段と、を備え、制御手段は、情報処理装置を省電力状態から復帰させる場合に、不揮発性記憶手段に退避された複数のプロセスの実行情報の中の第1のプロセスの実行情報および第2のプロセスの実行情報を順に主記憶手段に転送し、第2のプロセスの実行情報の転送が完了する前に、転送が完了した第1のプロセスの実行情報に対応する第1のプロセスの実行を再開させるとともに、第1のプロセスの実行の再開後に、転送が完了した第2のプロセスの実行情報に対応する第2のプロセスの実行を再開させることを特徴とする。
本発明によれば、例えば、ハイバネーション状態から復帰する際に、ユーザの体感的な待ち時間を短縮することができる情報処理装置及びその制御方法、並びにコンピュータプログラムを提供できる。
第1の実施形態に係るデジタル複合機100のブロック構成例を示す図である。 第1の実施形態に係るデジタル複合機100における操作部104の一例を示す図である。 第1の実施形態に係るデジタル複合機100におけるコントローラ部102のブロック構成例を示す図である。 第1の実施形態に係るデジタル複合機100における不揮発性記憶装置311の記憶内容の一例を示す図である。 第1の実施形態に係るデジタル複合機100における起動順保持領域401の内容の一例を示す図である。 第1の実施形態に係るデジタル複合機100における全体復帰指示領域402の内容の一例を示す図である。 第1の実施形態に係るデジタル複合機100が起動した状態におけるRAM304の状態を模式的に示した図である。 第1の実施形態に係るデジタル複合機100において、ハイバネーション状態へ切り換える際の処理手順を示すフローチャートである。 第1の実施形態に係るデジタル複合機100においてハイバネーション状態への切り換えを完了した際の実行状態退避領域403の状態を示す図である。 第1の実施形態に係るデジタル複合機100において、ハイバネーション状態から復帰する際の処理手順を示すフローチャートである。 第1の実施形態に係るハイバネーション状態からの復帰の完了後における、全てのプロセスを復帰させた場合のRAM304及び実行状態退避領域403の状態を示す図である。 第1の実施形態に係るハイバネーション状態からの復帰の完了後における、一部のプロセスのみを復帰させた場合のRAM304及び実行状態退避領域403の状態を示す図である。 第2の実施形態に係る仮想メモリ機能の概念を示す図である。 第2の実施形態に係る仮想メモリ機能のページテーブルの概念を示す図である。 第2の実施形態に係るデジタル複合機100が起動した状態におけるRAM304及び不揮発性記憶装置311の状態の一例を示す図である。 第2の実施形態に係るデジタル複合機100におけるハイバネーション状態への切り換えの際の、RAM304及び不揮発性記憶装置311の状態の一例を示す図である。 第2の実施形態に係るデジタル複合機100において、各プロセスの実行状態を不揮発性記憶装置311へ退避させる際の処理手順を示すフローチャートである。 第2の実施形態に係るデジタル複合機100において、各プロセスの実行状態をRAM304へ復帰させる際の処理手順を示すフローチャートである。
以下に本発明の一実施形態を示す。以下で説明される実施形態は、本発明の上位概念、中位概念及び下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の実施形態によって限定されるわけではない。
[第1の実施形態]
<情報処理装置の構成>
以下では、図1乃至図12を参照して、本発明における第1の実施形態について説明する。なお、本実施形態では、情報処理装置の例として、デジタル複合機に関して説明する。
図1は、第1の実施形態に係るデジタル複合機100のブロック構成例を示す図である。デジタル複合機100は、リーダ部101、プリンタ部103、操作部104、及び画像記憶部105の各機能部(デバイス)と、それらを制御する制御装置(コントローラ部)102とを備える。コントローラ部102は、単一の電子部品で構成され、各機能部に接続されている。
リーダ部101は、CCD等を用いて画像データの読取処理を行う画像読取装置である。プリンタ部103は、画像データの出力処理を行うプリンタ装置であって、電子写真方式等によるカラーや白黒のプリントを実行することが可能である。操作部104は、画像データの入出力操作を行うキーボードと、画像データや各種機能の表示/設定等を行うための液晶パネルとを備える。また、画像記憶部105は、リーダ部101で読み取られた画像データ、電話回線108を介して受信したFAX文書データ、及び、LAN等のネットワーク109を介してホストコンピュータ106、107から受信した画像データを格納/保存する装置である。
コントローラ部102は、リーダ部101、プリンタ部103、操作部104、及び画像記憶部105の各機能部を制御することにより、デジタル複合機100における各種の機能を提供する。例えば、リーダ部101を制御して原稿の画像データを読み取るとともに、プリンタ部103を制御して、画像データを記録用紙に出力するコピー機能を提供する。また、コントローラ部102は、コピー機能以外にも、以下のような機能を提供する。例えば、リーダ部101から読み取った画像データをコードデータに変換し、ネットワーク109を介してホストコンピュータ106、107へ送信するスキャナ機能を提供する。さらに、ホストコンピュータ106、107からネットワーク109を介して受信したコードデータを画像データに変換し、プリンタ部103に出力するプリンタ機能や、電話回線108を介してFAX端末110との間で文書データを送受信するFAX機能を提供する。
図2は、第1の実施形態に係るデジタル複合機100における操作部104の一例を示す図である。操作部104は、液晶パネル201とキーボード202とを備える。また、キーボード202には、デジタル複合機100が省電力状態(ハイバネーション状態)に切り換えている場合に、ユーザが当該状態の解除をデジタル複合機100に対して指示するための操作ボタンである省電力状態解除ボタン203等が設けられている。
ユーザは操作部104を操作することにより、デジタル複合機100に実行させる機能(コピー機能、プリント機能、FAX機能等)を選択し、又は、当該機能による動作の開始を指示することができる。さらに、ユーザは、選択した機能による動作の詳細を設定することも可能である。これにより、例えば、コピー機能の場合には、種々のコピーモード(両面設定、グループ、ソート、ステイプル出力等)が設定可能である。なお、これらの指示は、キーボード202(ハードキー)、及び液晶パネル201に表示されるソフトキーの何れによって実現されてもよい。
図3は、第1の実施形態に係るデジタル複合機100におけるコントローラ部102のブロック構成例を示す図である。
コントローラ部102は、デジタル複合機100の動作を制御するCPU301、並びに、CPU301とバスコントローラ302を介して接続されたROM303、RAM304、及び復帰要因レジスタ305を備える。
RAM304は、CPU301が実行するコンピュータプログラムのコードや、CPU301の処理対象である画像データ等を保持するための主記憶メモリであって、揮発性の記憶素子、一般的にはDRAMで構成される。通常、RAM304には、オペレーティングシステム(OS)と、OSが実行する各プロセスの実行プログラムとがロードされている。また、ROM303は、デジタル複合機100への電源投入時に、ハードウェアのチェックや初期化を行うBIOS(Basic Input Output System)と呼ばれる初期プログラムを記憶している。
復帰要因レジスタ305には、デジタル複合機100がハイバネーション状態から復帰する際に、当該状態の解除を指示した機能部のID番号が格納される。すなわち、ID番号は、デジタル複合機100がハイバネーションから復帰する際の復帰要因を示している。デジタル複合機100の各機能部は、コントローラ部102に対してハイバネーション状態の解除を指示することができる。例えば、操作部104は、ユーザからの省電力状態解除ボタン203へのキー入力に基づいて、コントローラ部102に対してハイバネーション状態の解除を指示する。その際、各機能部は、コントローラ部102へ省電力解除信号を入力するとともに、機能部ごとに固有のID番号を復帰要因レジスタ305に設定する。
CPU301は、バスコントローラ302を介して不揮発性記憶装置311と接続されている。不揮発性記憶装置311は、ハードディスク駆動装置(HDD)に代表される、電源を遮断してもデータを保持し続ける不揮発性の記憶媒体である。なお、不揮発性記憶装置311は、フラッシュメモリ等であってもよい。
コントローラ部102は、操作部インタフェース306、リーダ部インタフェース307、プリンタ部インタフェース308、FAX制御部309、及びネットワーク制御部310をさらに備え、それらはバスコントローラ302を介してCPU301と接続されている。操作部インタフェース306、リーダ部インタフェース307、及びプリンタ部インタフェース308には、操作部104、リーダ部101、及びプリンタ部103が各々接続されている。各インタフェースは、接続された装置との間のコマンドを制御する。
FAX制御部309は、図示しない電話回線を介して送られてくる画像データを展開し、又は、画像データを圧縮するとともに当該電話回線を介して送信する。ネットワーク制御部310は、ネットワークのインタフェースを制御するコントローラである。なお、ネットワークとしては、一般的にイーサネット(登録商標)が挙げられる。CPU301は、バスコントローラ302、及びFAX制御部309又はネットワーク制御部310を介して、電話回線又はネットワーク上のパーソナルコンピュータ等と接続することができる。
<不揮発性記憶装置及びRAMの状態>
図4は、第1の実施形態に係るデジタル複合機100における不揮発性記憶装置311の記憶内容の一例を示す図である。図4に示すように、不揮発性記憶装置311は、その内部をいくつかの区画(領域)に区切って利用されることがある。本実施形態において、不揮発性記憶装置311は、起動順保持領域401、全体復帰指示領域402、実行状態退避領域403、画像領域404、及びシステム領域405の5つの領域に区切られて利用される。
起動順保持領域401は、ハイバネーション状態からの復帰時に、デジタル複合機100のオペレーティングシステム(OS)がプロセスの実行を再開する順序を示す順序情報を保持している。全体復帰指示領域402は、ハイバネーション状態からの復帰時に、ハイバネーション状態への切り換え前に動作していたプロセスの全てをOSが復帰させるか否かを示す情報を保持している。実行状態退避領域403は、ハイバネーション状態への切り換えの際に、RAM304上における各プロセスの実行状態情報(以下では、「イメージ」と称する。)を、OSが退避させるための記憶領域である。当該領域には、少なくともRAM304と同等かそれ以上の記憶容量が確保されている。画像領域404は、デジタル複合機100の画像記憶部105として利用される。また、システム領域405は、CPU301で実行されるプログラムコードやデジタル複合機100の動作に関する設定情報等を記憶している。なお、起動順保持領域401、全体復帰指示領域402、及びシステム領域405は、予め製品出荷時に工場等において内容が書き込まれた状態となっている。
図5は、第1の実施形態に係るデジタル複合機100における起動順保持領域401の内容の一例を示す図である。ここで、復帰要因IDは、各機能部に固有に割り当てられたID番号であって、復帰要因レジスタ305が保持する番号と対応する。起動順保持領域401には、各々の復帰要因IDに対応した機能部がコントローラ部102に対してハイバネーション状態の解除を指示した際に、先に復帰したOSによって各プロセスを復帰させる順序を示す情報が復帰要因IDごとに保持されている。なお、当該順序情報には、必ずしもRAM304上に存在する全てのプロセスが含まれるわけではなく、一部のプロセスのみが含まれる場合もある。
また、図6は、第1の実施形態に係るデジタル複合機100における全体復帰指示領域402の内容の一例を示す図である。復帰要因IDは、図5の起動順保持領域401と同様、復帰要因レジスタ305が保持する番号に対応する。全体復帰指示領域402には、復帰要因IDごとに、先に復帰したOSによって全てのプロセスを復帰させるか否かを示す情報が保持されている。
図5の起動順保持領域401と図6の全体復帰指示領域402の内容とは、復帰要因IDをキーとして、各々の内容が1対1に対応している。特定の復帰要因IDに関して、全体復帰指示領域402の内容が「全体復帰する」である場合、起動順保持領域401の内容は、当該IDの機能部からの指示に基づくハイバネーション状態からの復帰の際に、最初に復帰させるべきプロセス及びその順序であると、OSは解釈する。さらに、当該IDに関して、起動順保持領域401の順序情報に含まれていない他のプロセスは、当該情報に含まれるプロセスの全ての復帰処理が完了した後に復帰させるべきプロセスであって、かつ、当該他のプロセスの復帰順序は明示的ではないとOSは解釈する。この場合、OSは、当該他のプロセスを、例えば、OSが各プロセスのイメージをRAM304に転送しやすい順序や、OSが自ら決定した順序で復帰させてもよいし、ランダムな順序で復帰させてもよい。
一方、全体復帰指示領域402の内容が「全体復帰しない」という内容である場合には、起動順保持領域401の内容はハイバネーション復帰時に実行再開すべき全てのプロセスとその順序であると解釈される。即ち、順序が保持されていないプロセスについては実行を再開しないものと解釈される。
図7は、第1の実施形態に係るデジタル複合機100が起動した状態におけるRAM304の状態を模式的に示した図である。なお、本実施形態では、CPU301及びデジタル複合機100のOSは、仮想メモリの機能を有しない。ここで、本実施形態におけるデジタル複合機100に搭載されるOSは、複数のプログラムを同時に動作させることが可能なマルチタスクOSである。従って、RAM304上には、当該OS上で実行されるプログラムの実体であるプロセスが複数存在している。OS及びアプリケーションソフトのプログラムコードは、不揮発性記憶装置311のシステム領域405に予め記憶されており、デジタル複合機100の起動時にRAM304に読み込まれて実行される。
図7における各プロセスは、例えば、以下のようなプロセスである。プロセス1は、操作部104を制御するプロセスである。当該プロセスは、ユーザが操作部104のボタン等を操作した際に、後述のジョブ制御プロセスにコピー等の動作を指示したり、液晶パネル201にデジタル複合機100の動作状況を表示したりすることにより、ユーザインタフェースを提供する。プロセス2は、デジタル複合機100上で実行されるジョブを制御するジョブ制御プロセスである。当該プロセスは、リーダ部101やプリンタ部103等を制御し、コピージョブや印刷ジョブ等のデジタル複合機100における中心的な機能を実現する。プロセス3は、通信制御プロセスであり、ネットワークを介して接続されたパーソナルコンピュータ等から文書データの印刷要求を受け付けたり、電話回線を介してFAX文書を受け付けたりする。また、プロセス3は、文書データを受信すると、上述のプロセス2に対して文書の印刷を指示する。なお、これらのプロセスはあくまで例示であって、他のプロセスがRAM304上に存在する場合も当然に起こり得る。
<ハイバネーション状態への切換処理>
次に、上述の本実施形態に係るデジタル複合機100における、ハイバネーション状態への切換処理について説明する。図8は、第1の実施形態に係るデジタル複合機100において、ハイバネーション状態へ切り換える際の処理手順を示すフローチャートである。
まず、起動中のデジタル複合機100において、何らかの復帰要因に基づき、OSに対してハイバネーション状態への切換開始が指示される。当該指示は、例えば、一定時間、デジタル複合機100においてユーザによる操作がなかった場合に、OS上で自動的に発生するようにしてもよい。また、ユーザが操作部104等を介して明示的にOSに対して指示するようにしてもよい。当該指示を受けたOSは、実際に、ハイバネーション状態への切換動作を開始する。
ステップS201で、OSは、RAM304の記憶内容やCPU301の内部状態等の、プロセスの実行状態情報(イメージ)を、不揮発性記憶装置311の実行状態退避領域403に退避させる。さらに、ステップS202で、OSは、OS自体の実行状態情報を、不揮発性記憶装置311の実行状態退避領域403に退避させる。その後、ステップS203へ移行する。
ステップS203で、OSは、コントローラ部102、リーダ部101、プリンタ部103等の各機能部への電力の供給を停止する。以上により、デジタル複合機100におけるハイバネーション状態への切り換えが完了する。ただし、コントローラ部102に関しては、CPU301やRAM304等に対する電力供給のみが停止され、操作部104、ネットワーク制御部310、及びFAX制御部309等の、ハイバネーション状態の解除を指示する機能を有する一部の機能部は、通電された状態とする。これにより、通電状態にある各機能部からコントローラ部102に対して、必要に応じてハイバネーション状態の解除指示がなされる。なお、ハイバネーション状態への切り換えの際に、電力を供給したままの状態とする一部の機能部とは異なる機能部に対して、上述のように電源供給を完全に停止させるのではなく、電力供給を減少させることによって、ハイバネーション状態へ切り換えてもよい。これら何れの方法によっても、情報処理装置における消費電力の低減を図ることができる。
また、図9は、第1の実施形態に係るデジタル複合機100においてハイバネーション状態への切り換えを完了した際の実行状態退避領域403の状態を示す図である。上述のステップS201及びS202において、OS自体及び各プロセスのイメージは、図9に示すように、OSによって個別に不揮発性記憶装置311の実行状態退避領域403へ保存される。
<ハイバネーション状態からの復帰処理>
次に、本実施形態に係るハイバネーション状態からの復帰処理について説明する。本実施形態に係るデジタル複合機100は、ハイバネーション状態からの復帰処理において、全てのプロセスのイメージを復帰させる前に、既に復帰させたプロセスの実行を再開することを特徴とする。これにより、デジタル複合機100は、各プロセスのイメージを全て復帰させた後に、当該プロセスの実行を再開することで、プロセス実行開始後に再び実行が停止してしまうことを防止できる。
図10は、第1の実施形態に係るデジタル複合機100において、ハイバネーション状態から復帰する際の処理手順を示すフローチャートである。
ステップS301で、コントローラ部102は、何らかの復帰要因に基づいて、ハイバネーション状態の解除指示を受ける。これにより、コントローラ部102は、ハイバネーション状態からの復帰処理を開始する。当該指示は、例えば、操作部104の省電力状態解除ボタン203が押下された場合には、操作部104によってなされる。また、FAX制御部309がFAX信号の受信を検知した場合には、FAX制御部309によって上記指示が生成される。当該指示を生成した機能部は、自らの固有のID番号を復帰要因レジスタ305に設定する。それに伴って、デジタル複合機100において、コントローラ部102全体に電力が投入される。その後、ステップS302へ移行する。
ステップS302で、ROM303に書き込まれたBIOSは、OSをRAM304へ読み込むことにより、OSの実行を再開する。その際、OSは、不揮発性記憶装置311に記憶された自らのイメージを用いて、ハイバネーション状態への切り換え前の実行状態へ復帰する。ここで、デジタル複合機100上では、OSのみが実行されている状態となり、実行が再開されたプロセスはまだ存在しない。なお、ステップS302における処理は第1の復帰手段による処理に相当する。
ステップS303で、OSは、起動順保持領域401の内容を確認する。これにより、OSは、復帰要因レジスタ305が保持する復帰要因IDに対応する復帰順序情報を取得する。その後、ステップS304へ移行する。
ステップS304で、OSは、起動順保持領域401の復帰順序情報に明示されているプロセスであって、まだ復帰処理が完了していないプロセスが存在するか否かを判定する。存在する場合には、ステップS305へ移行し、当該プロセスの実行を再開する処理を継続する。一方、存在しない場合には、ステップS309へ移行する。
ステップS305で、OSは、復帰順序情報の順序に従って、復帰させるプロセスを1つ選択する。さらに、ステップS306で、OSは、選択したプロセスのイメージを、不揮発性記憶装置311上の実行状態退避領域403からRAM304に転送を開始する。その後、ステップS307へ移行する。
ステップS307で、OSは、当該プロセスのイメージの転送が完了したか否かを判定する。転送が完了していないと判定した場合、当該プロセスのイメージの転送を継続する。一方、転送が完了したと判定した場合、ステップS308へ移行する。転送が完了した後に、当該プロセスの実行状態がハイバネーション状態へ切り換え前の状態に復帰する。その後、ステップS308へ移行する。なお、OSは、当該判定処理に関して、例えば、対象となるプロセスのイメージを、不揮発性記憶装置311から全てRAM304に転送したか否かで判定する。または、転送したイメージのサイズが、ハイバネーション状態へ切り換え前の当該プロセスのメモリ使用量に等しくなったか否かにより判定してもよい。
ステップS308で、OSは、当該プロセスの実行を再開する。実行を再開したプロセスは、操作部104やプリンタ部103等、当該プロセスの動作に関連した機能部に電力を再投入し、各々の機能を実行可能な状態にする。その後、ステップS304へ戻る。
ステップS304の判定処理により、復帰順序情報に明示された全てのプロセスの復帰処理が完了したと判定されるまで、ステップS305〜S308の処理を繰り返す。その後、ステップS309以降における、復帰順序情報に含まれていない他のプロセスに関する処理へ移行する。
ステップS309で、OSは、全体復帰指示領域402の内容を確認する。これにより、OSは、復帰要因レジスタ305が保持する復帰要因IDに対応する全体復帰情報を取得する。その後、ステップS310へ移行する。
ステップS310で、OSは、全体復帰指示領域402の内容に基づいて、全体復帰するか否かを判定する。ここで、「全体復帰しない」場合には、これまでの処理でハイバネーション状態からの復帰処理を完了する。一方、「全体復帰する」場合には、ステップS311へ移行する。
ステップS311〜S315において、OSは、ハイバネーション状態へ切り換え前に実行中であったプロセスの中で、復帰処理が完了していないプロセスを1つずつ復帰させる。まず、ステップS311で、OSは、復帰処理が完了していないプロセスがあるか否かを判定する。全てのプロセスの復帰処理が完了し、復帰していないプロセスが存在しない場合には、ハイバネーション状態からの復帰処理を完了する。一方、未だ復帰処理が完了していないプロセスが存在する場合には、ステップS312へ移行する。
ステップS312で、OSは、復帰処理が完了していないプロセスの中から、次に復帰させるプロセスを選択する。なお、プロセスの選択方法は、上述したとおりである。その後、ステップS313へ移行する。なお、ステップS313〜S315の処理は、ステップS306〜S308の処理と同一である。これらの処理により、OSは、選択したプロセスの実行を再開し、ステップS311へ戻る。
以上のステップS311〜S315の処理により、全てのプロセスの実行が再開されると、デジタル複合機100におけるハイバネーション状態からの復帰が完了する。なお、ステップS303〜S315の処理は、第2の復帰手段による処理に相当する。
図11は、第1の実施形態に係るハイバネーション状態からの復帰の完了後における、全てのプロセスを復帰させた場合のRAM304及び実行状態退避領域403の状態を示す図である。なお、図11は、ステップS310で、全体復帰指示領域402の内容が「全体復帰する」と判定された場合における復帰処理の結果を示している。図11に示すように、ハイバネーション状態からの復帰が完了すると、不揮発性記憶装置311に記憶されていたイメージの全てがRAM304へ転送された状態となる。
一方、図12は、第1の実施形態に係るハイバネーション状態からの復帰の完了後における、一部のプロセスのみを復帰させた場合のRAM304及び実行状態退避領域403の状態を示す図である。なお、図12は、ステップS310で、全体復帰指示領域402の内容が「全体復帰しない」と判定された場合における復帰処理の結果を示している。ハイバネーション状態からの復帰が完了すると、不揮発性記憶装置311に記憶されていたプロセスの中で、復帰の対象となるプロセスのイメージのみがRAM304へ転送された状態となる。図12では、プロセス2及び3のイメージのみがRAM304へ転送され、プロセス1のイメージは不揮発性記憶装置311に残っている。
なお、OSは、全体復帰しなかった場合には、各プロセスによる必要な処理が終了した後に、当該プロセスからの指示により、再度ハイバネーション状態へ切り換える。すなわち、OSは、RAM304上に復帰しているプロセス及びOSのイメージを、再び不揮発性記憶装置311に退避させるとともに、各機能部への電力供給を停止する。
以上説明したように、本実施形態に係る情報処理装置は、ハイバネーション状態から復帰する際、RAM上にOSのみの実行状態を復帰させた後に、OS上の各プロセスのイメージから、RAM上にその実行状態を復帰させる。具体的には、OSは、プロセスごとに、不揮発性記憶装置からRAMへイメージの転送が完了すると、当該プロセスの実行を再開する。これにより、他の全プロセスのイメージに関するRAMへの転送処理が完了する前に、既に転送処理が完了したプロセスの実行を早期に再開させることができ、例えば、ユーザが復帰処理を指示した場合のユーザの待ち時間を低減できる。また、プロセスの実行再開後に、当該プロセスのイメージの転送処理が再び発生することはなく、転送処理の発生によって当該プロセスの実行が再度停止することはない。従って、実行を再開したプロセスはスムーズに動作を継続することができる。
また、本実施形態に係る情報処理装置は、プロセスを復帰させる順序に関する情報を復帰要因ごとに予め保持し、当該順序に従って各プロセスの復帰処理を実行する。例えば、情報処理装置は、ハイバネーション状態からの復帰要因がユーザによる操作部の操作である場合、ネットワーク制御に関連するプロセス等の、操作部の動作と関連性の低いプロセスよりも、先に関連性の高いプロセスを復帰させるように制御する。一方で、例えば、ハイバネーション状態からの復帰要因がネットワーク上のユーザから文書の印刷要求を受信したことである場合、操作部に関連するプロセス等よりも、先にネットワーク制御に関連するプロセスを復帰させるように制御する。すなわち、情報処理装置がハイバネーション状態から復帰する際に、ユーザが実行する動作に関連するプロセスを最初に復帰させることにより、ユーザにとっての体感的な待ち時間を短縮することができる。さらに、情報処理装置は、上述のプロセスの復帰順序を機能部のID番号に基づいて設定することで、復帰要因ごとに適応的にプロセスの復帰順序を切り換えることが可能となり、ハイバネーション状態から柔軟に復帰することができる。
また、本実施形態に係る情報処理装置は、ハイバネーション状態から復帰する際に、プロセスを復帰させる順序に加え、当該順序に設定されていない他の全てのプロセスを復帰させるか否かを復帰要因ごとに予め設定し、当該設定に基づいて各プロセスの復帰処理を実行する。例えば、復帰要因がFAXの着信である場合、FAXの受信処理が完了した後に、自動的に再度ハイバネーション状態へ切り換えることが、情報処理装置の消費電力の低減の観点から望ましい。この場合、情報処理装置は、当該復帰要因について、FAX制御部の動作に関連しない他のプロセスを復帰させず、関連するプロセスのみを復帰順序に予め設定し、当該プロセスのみを復帰させる。さらに、復帰させたプロセスが必要な処理を終えた後に、再度ハイバネーション状態に切り換える。これにより、情報処理装置における応答性の向上と消費電力の低減とを実現できる。
[第2の実施形態]
第1の実施形態では、情報処理装置におけるCPU及びOSが仮想メモリの機能を有しない場合について説明した。しかしながら、本発明は仮想メモリを有しない情報処理装置に限定されることはなく、仮想メモリを有する情報処理装置に対しても適用可能である。そこで、本発明における第2の実施形態では、第1の実施形態の情報処理装置において、CPU及びOSが仮想メモリの機能を備えた場合について説明する。以下では、図13乃至図18を参照し、第2の実施形態について、第1の実施形態と異なる部分についてのみ説明する。
仮想メモリとは、メモリ管理技術の一種であり、不連続なメモリ領域をOS上のプロセスから見て連続であるかのように見せかける技術である。また、RAM304の内容の一部をHDDのような外部記憶装置に退避させることにより、情報処理装置上に実装されているRAM304よりも大きなメモリ領域を仮想的に提供する。
図13は、第2の実施形態に係る仮想メモリ機能の概念を示す図である。図13に示すように、本実施形態のOSは、ページと呼ばれる予め定められた容量のメモリ領域を1単位として、RAM304を複数のメモリ領域に分割して管理する。また、RAM304の容量よりも大きなメモリ領域が必要とされる場合に、OSは、ページ単位でRAM304の記憶内容を外部記憶装置1301に退避させるとともに、必要に応じて復帰させる処理を実行する。これにより、OSは、RAM304よりも大きなメモリ領域が存在しているかのように見せかける。
仮想メモリを用いるOSは、各プロセスがRAM304にアクセスする際に、仮想アドレスと呼ばれる論理的な位置情報を用いる。仮想アドレスは、CPU301によって自動的にRAM304におけるページの位置情報に変換されることで、RAM304上の何れかページへのアクセスを実現する。ここで、図14は、第2の実施形態に係る仮想メモリ機能のページテーブルの概念を示す図である。CPU301は、仮想アドレス1401からRAM304上のページへの変換表であるページテーブル1402を用いて、当該変換処理を行う。ページテーブル1402はプロセスごとにRAM304上に存在し、OSは、ページテーブル1402中の各エントリを適切に設定することで、不連続なメモリを連続であるかのように見せかける。
また、図14に示すように、ページテーブル1402中の各エントリには、RAM304上のページ位置を示す値の他に、アクセス制御フラグ、存在フラグ等の仮想メモリ機能の動作を制御するための特殊なビットが割り当てられている。アクセス制御フラグは、各ページに対するアクセスを制御するフラグであり、各ビットに適切な値を設定することによりページ単位で書き込み禁止等が制御される。OSは、アクセス制御フラグを用いることにより、RAM304の内容を適切に保護し、安全にプログラムを動作させることができる。また、存在フラグは、当該エントリに対応するページがRAM304上に存在するか否かを示す値である。当該ページが外部記憶装置1301に退避されている場合、ページテーブル1402中の対応するエントリには、RAM304上のページ位置に代わって外部記憶装置1301内の退避先の位置を示す値が保持される。また、存在フラグには、RAM304上に当該ページが存在しないことを示す値が設定される。
なお、外部記憶装置1301としてHDDのような不揮発性の記憶装置を用いる場合、仮想メモリ機能によりRAM304の内容を外部記憶装置1301に退避する際に、ハイバネーションのために用いる不揮発性記憶装置311を共用できる。この場合、不揮発性記憶装置311上に仮想メモリ機能の退避用領域が必要となる。そのため、不揮発性記憶装置311上に専用の領域を用意してもよいし、ハイバネーションの際に利用される実行状態退避領域403を共用してもよい。本実施形態では、実行状態退避領域403にRAM304の容量よりも大きな容量を割り当てるとともに、仮想メモリ機能の退避用領域としても共用する場合について説明する。このような仕組みにより、仮想メモリ機能を用いた情報処理装置において、RAM304を柔軟に利用可能であるともに、メモリ利用効率を高めることができる。
図15は、第2の実施形態に係るデジタル複合機100が起動した状態におけるRAM304及び不揮発性記憶装置311の状態の一例を示す図である。図15に示すように、各プロセスの使用しているメモリ領域は、必ずしもRAM304上で連続した位置にあるとは限らない。また、起動状態にあるデジタル複合機100において、仮想メモリ機能により、不揮発性記憶装置311に対して、RAM304の内容の一部がページ単位で退避される。
<ハイバネーション状態への切換処理>
次に、本実施形態におけるハイバネーション状態への切換処理について説明する。本実施形態に係るデジタル複合機100において、ハイバネーション状態へ切り換えるためにOSが実行する処理手順は、図8の第1の実施形態とほぼ同様であるので、第1の実施形態との相違点を中心として説明する。
図16は、第2の実施形態に係るデジタル複合機100におけるハイバネーション状態への切り換えの際の、RAM304及び不揮発性記憶装置311の状態の一例を示す図である。第1の実施形態との相違点は、OSが、図9のステップS201においてプロセスの実行状態情報を実行状態退避領域403へ退避させる際に、プロセス単位で退避させるのではなく、RAM304上のページ単位で退避させる点である。なお、本実施形態においても、OSは、RAM304上のページをプロセスごとに分類し、プロセスごとにイメージを退避させることも可能である。
図17は、第2の実施形態に係るデジタル複合機100において、各プロセスの実行状態を不揮発性記憶装置311へ退避させる際の処理手順を示すフローチャートである。以下では、特定のプロセスに関する処理について説明するが、何れのプロセスにおいても処理手順は同様である。
ステップS401で、OSは、RAM304に不揮発性記憶装置311へ退避していないページが存在するか否かを判定する。退避していないページが存在しない場合、OSは、当該プロセスに関して、プロセスの実行状態の退避を完了する。一方で、退避していないページが存在する場合、ステップS402へ移行し、ページ単位の退避処理を継続する。
ステップS402で、OSは、RAM304上のページの不揮発性記憶装置311における退避先の位置を決定する。さらに、ステップS403で、OSは、当該ページを不揮発性記憶装置311上の決定した位置に対して退避させる。その後、ステップS404へ移行する。
ステップS404で、OSは、当該プロセスのページテーブルにおける当該ページのエントリに対して、それまで設定されていたRAM304上の位置を示す値に代えて、不揮発性記憶装置311における退避先の位置を示す値を設定する。ただし、OSは、ページテーブルの存在フラグの値について変更せず、RAM304上に存在することを示す値のままとする。その後、ステップS401へ戻り、未だ不揮発性記憶装置311への退避が完了していないページについて、退避処理を継続する。
なお、RAM304上に存在する各プロセスのページテーブルは、図8のステップS202において、OSの実行状態情報の一部として、不揮発性記憶装置311へ退避される。
<ハイバネーション状態からの復帰処理>
次に、本実施形態におけるハイバネーション状態からの復帰処理について説明する。本実施形態に係るデジタル複合機100において、ハイバネーション状態から復帰するための処理手順は、図10の第1の実施形態とほぼ同様であるので、相違点を中心として説明する。
本実施形態において、OSは、図10のステップS302でOSの実行状態をRAM304へ復帰させる際に、不揮発性記憶装置311のイメージから、各プロセスのページテーブルも復帰させる。また、OSは、図10のステップS306及びS313においてプロセスのイメージをRAM304へ転送する際に、以下の図18に示す処理を実行する。
図18は、第2の実施形態に係るデジタル複合機100において、各プロセスの実行状態をRAM304へ復帰させる際の処理手順を示すフローチャートである。OSは、復帰対象として選択したプロセスのページテーブルを参照するとともに、参照結果に基づいて、以下の処理を実行する。なお、何れのプロセスに関しても、OSは同様の処理を実行する。
ステップS501で、OSは、ページテーブルのエントリの中で、調べていないエントリが存在するか否かを判定する。調べていないエントリが存在しない場合、当該プロセスの復帰処理を完了する。一方、調べていないエントリが未だ存在する場合、ステップS502へ移行し、各ページの復帰処理を継続する。
ステップS502で、OSは、ページテーブルのエントリの中で1つを選択し、その内容を確認する。さらに、ステップS503で、ページテーブルの存在フラグが、RAM304上に存在することを示す値であるか否かを判定する。RAM304に存在することを示す値ではない場合、ステップS501へ戻り、OSは、次のエントリに関する処理を継続する。一方、RAM304に存在することを示す値である場合、ステップS504へ移行する。
ステップS504で、OSは、不揮発性記憶装置311上で当該エントリが示す位置に存在するページの内容を、RAM304へ復帰させる。さらに、S505で、OSは、RAM304におけるページの復帰先の位置を、ページテーブルの当該エントリに設定する。なお、ページを復帰させる際のRAM304上でのページの位置は、必ずしもハイバネーション前と同じ位置でなくともよい。その後、ステップS501に戻り、次のエントリに関する処理を継続する。
以上の処理により、OSは、ページ単位のRAM304への復帰処理を、ページテーブルの全てのエントリに対して実行する。復帰処理の完了後におけるRAM304の状態は、復帰されたプロセスにとって、ハイバネーション状態への切り換え前と同じ状態となっている。これにより、プロセスの実行状態がRAM304上に復元され、当該プロセスはその実行を再開することが可能となる。
以上説明したように、本実施形態に係る情報処理装置は、仮想メモリ機能を有する情報処理装置においても、第1の実施形態と同様、イメージ全ての復帰を待たずに、プロセスごとにイメージが復帰した後に、プロセスの実行を再開することできる。さらに、情報処理装置は、仮想メモリ機能によってページ単位でRAMの記憶領域を使用する場合において、ハイバネーション状態への切り換え及びハイバネーション状態から復帰する際に、仮想メモリ機能に用いるページテーブルを利用することを可能にすることで、RAMの利用効率を高めることができる。
[その他の実施形態]
また、本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
100:デジタル複合機、101:リーダ部、102:制御装置(コントローラ部)、103:プリンタ部、104:操作部、105:画像記憶部、106、107:PC、110:FAX、201:液晶パネル、202:キーボード、203:省電力状態解除ボタン、301:CPU、302:バスコントローラ、303:ROM、304:RAM、305:復帰要因レジスタ、306:操作部インタフェース、307:リーダ部インタフェース、308:プリンタ部インタフェース、309:FAX制御部、310:ネットワーク制御部、311:不揮発性記憶装置

Claims (16)

  1. 複数のプロセスを同時に実行可能なオペレーティングシステム及び前記複数のプロセスの実行プログラムロードされる主記憶手段と、前記主記憶手段にロードされた前記オペレーティングシステムの実行状態情報及び前記複数のプロセスの実行状態情報を記憶する不揮発性記憶手段とを備える情報処理装置であって、
    前記情報処理装置が備える複数のデバイスへ電力を供給する起動状態と、前記複数のデバイスに含まれる一部のデバイスへ電力を供給する一方で、該一部のデバイスとは異なる他のデバイスへの電力供給を減少させる省電力状態とを切り換える切換手段と、
    前記切換手段が前記情報処理装置を前記起動状態から前記省電力状態へ切り換える際に、実行中の前記オペレーティングシステムの実行状態情報及び前記複数のプロセスの実行状態情報を前記主記憶手段から前記不揮発性記憶手段へ退避させる退避手段と、
    前記切換手段が前記情報処理装置を前記省電力状態から前記起動状態復帰させる際に、前記オペレーティングシステムの実行状態情報を前記不揮発性記憶手段から前記主記憶手段へ転送し、前記オペレーティングシステムを実行状態へ復帰させる第1の復帰手段と、
    前記複数のプロセスの実行状態情報の中の第1のプロセスの実行状態情報および第2の実行状態情報を順に前記不揮発性記憶手段から前記主記憶手段へ転送し、前記第2のプロセスの実行状態情報の転送が完了する前に、転送が完了した前記第1のプロセスの実行状態情報に対応する前記第1のプロセスの実行を再開させるとともに、前記第1のプロセスの実行の再開後に、転送が完了した前記第2のプロセスの実行状態情報に対応する前記第2のプロセスの実行を再開させることにより、前記複数のプロセスを実行状態へ復帰させる第2の復帰手段と
    を備えることを特徴とする情報処理装置。
  2. 前記不揮発性記憶手段には、
    前記情報処理装置を前記省電力状態から復帰させる復帰要因と、前記復帰要因ごとに、少なくとも1つ以上のプロセスについて、実行状態へ復帰させる順序を示す順序情報とが予め記憶され、
    前記第2の復帰手段は、
    前記復帰要因に対応する前記順序情報を前記不揮発性記憶手段から読み出し、該順序情報に従って前記複数のプロセスを実行状態へ復帰させることを特徴とする請求項1に記載の情報処理装置。
  3. 前記不揮発性記憶手段には、
    前記省電力状態からの復帰の際に、前記順序情報に含まれるプロセスとともに、前記順序情報に含まれていないプロセスも実行状態へ復帰させるか否かを示す全体復帰情報が更に記憶され、
    前記第2の復帰手段は、
    前記全体復帰情報が前記順序情報に含まれていないプロセスも実行状態へ復帰させることを示す場合には、前記順序情報に含まれるプロセスを実行状態へ復帰させた後に、前記順序情報に含まれていないプロセスを実行状態へ復帰させることを特徴とする請求項2に記載の情報処理装置。
  4. 前記第2の復帰手段は、
    前記全体復帰情報が前記順序情報に含まれているプロセスのみを実行状態へ復帰させることを示す場合には、前記順序情報に含まれるプロセスのみを実行状態へ復帰させ、更に、実行状態へ復帰させたプロセスによる処理が終了すると、再び当該プロセスの実行状態情報を前記主記憶手段から前記不揮発性記憶手段へ退避させることを特徴とする請求項3に記載の情報処理装置。
  5. 前記オペレーティングシステムは、
    予め定められた記憶容量ごとに分割した領域であるページを1単位として、前記主記憶手段の記憶領域を複数のページに分割して使用するとともに、使用するページの位置情報をプロセスごとに管理するページテーブルに基づいて、前記不揮発性記憶手段の一部の記憶領域を前記主記憶手段の記憶領域として使用する仮想メモリ機能を備え、
    前記退避手段は、
    前記複数のプロセスの実行状態情報を、前記主記憶手段から前記不揮発性記憶手段へページ単位で退避させ、
    前記第2の復帰手段は、
    前記複数のプロセスの実行状態情報を、前記不揮発性記憶手段から前記主記憶手段へページ単位で転送し、使用するページ単位の前記実行状態情報の全ての転送が完了したプロセスから、実行を再開させることを特徴とする請求項1乃至4の何れか1項に記載の情報処理装置。
  6. 前記退避手段は、
    各プロセスにおけるページ単位の前記実行状態情報を前記不揮発性記憶手段に退避させる際に、前記不揮発性記憶手段の記憶領域における退避先の位置情報を、当該プロセスの前記ページテーブルに設定し、
    前記第2の復帰手段は、
    各プロセスにおけるページ単位の前記実行状態情報を前記不揮発性記憶手段から前記主記憶手段へ復帰させる際に、前記主記憶手段の記憶領域における復帰先の位置情報を、当該プロセスの前記ページテーブルに設定することを特徴とする請求項5に記載の情報処理装置。
  7. 複数のプロセスを同時に実行可能なオペレーティングシステム及び前記複数のプロセスの実行プログラムロードされる主記憶手段と、前記主記憶手段にロードされた前記オペレーティングシステムの実行状態情報及び前記複数のプロセスの実行状態情報を記憶する不揮発性記憶手段とを備える情報処理装置の制御方法であって、
    切換手段が、前記情報処理装置が備える複数のデバイスへ電力を供給する起動状態から、前記複数のデバイスに含まれる一部のデバイスへ電力を供給する一方で、該一部のデバイスとは異なる他のデバイスへの電力供給を減少させる省電力状態へ、前記情報処理装置を切り換える切換ステップと、
    退避手段が、前記切換ステップにて前記情報処理装置が前記起動状態から前記省電力状態へ切り換る際に、実行中の前記オペレーティングシステムの実行状態情報及び前記複数のプロセスの実行状態情報を前記主記憶手段から前記不揮発性記憶手段へ退避させる退避ステップと、
    第1の復帰手段が、前記情報処理装置が前記省電力状態から前記起動状態に復帰する際に、前記オペレーティングシステムの実行状態情報を前記不揮発性記憶手段から前記主記憶手段へ転送し、前記オペレーティングシステムを実行状態へ復帰させる第1の復帰ステップと、
    第2の復帰手段が、前記複数のプロセスの実行状態情報の中の第1のプロセスの実行状態情報および第2の実行状態情報を順に前記不揮発性記憶手段から前記主記憶手段へ転送し、前記第2のプロセスの実行状態情報の転送が完了する前に、転送が完了した前記第1のプロセスの実行状態情報に対応する前記第1のプロセスの実行を再開させるとともに、前記第1のプロセスの実行の再開後に、転送が完了した前記第2のプロセスの実行状態情報に対応する前記第2のプロセスの実行を再開させることにより、前記複数のプロセスを実行状態へ復帰させる第2の復帰ステップと
    を備えることを特徴とする情報処理装置の制御方法。
  8. 省電力状態に移行することが可能な情報処理装置であって、
    複数のプロセスを同時に実行可能なオペレーティングシステムがロードされる主記憶手段と、
    前記主記憶手段にロードされる前記オペレーティングシステムにより実行される前記複数のプロセスの実行状態を示す実行情報を記憶する不揮発性記憶手段と、
    前記情報処理装置を省電力状態に移行させる場合に、前記複数のプロセスの実行情報を前記主記憶手段から前記不揮発性記憶手段に退避させる制御手段と、を備え、
    前記制御手段は、前記情報処理装置を前記省電力状態から復帰させる場合に、前記不揮発性記憶手段に退避された前記複数のプロセスの実行情報の中の第1のプロセスの実行情報および第2のプロセスの実行情報を順に前記主記憶手段に転送し、前記第2のプロセスの実行情報の転送が完了する前に、転送が完了した前記第1のプロセスの実行情報に対応する前記第1のプロセスの実行を再開させるとともに、前記第1のプロセスの実行の再開後に、転送が完了した前記第2のプロセスの実行情報に対応する前記第2のプロセスの実行を再開させることを特徴とする、情報処理装置。
  9. 前記不揮発性記憶手段には、
    前記情報処理装置を前記省電力状態から復帰させる復帰要因と、前記復帰要因ごとに、少なくとも1つ以上のプロセスについて、実行状態へ復帰させる順序を示す順序情報とが予め記憶され、
    前記制御手段は、
    前記復帰要因に対応する前記順序情報を前記不揮発性記憶手段から読み出し、該順序情報に従って前記複数のプロセスを実行状態へ復帰させることを特徴とする請求項8に記載の情報処理装置。
  10. 前記不揮発性記憶手段には、
    前記省電力状態からの復帰の際に、前記順序情報に含まれるプロセスとともに、前記順序情報に含まれていないプロセスも実行状態へ復帰させるか否かを示す全体復帰情報が更に記憶され、
    前記制御手段は、
    前記全体復帰情報が、前記順序情報に含まれていないプロセスも実行状態へ復帰させることを示す場合には、前記順序情報に含まれるプロセスを実行状態へ復帰させた後に、前記順序情報に含まれていないプロセスを実行状態へ復帰させることを特徴とする請求項9に記載の情報処理装置。
  11. 前記制御手段は、
    前記全体復帰情報が、前記順序情報に含まれているプロセスのみを実行状態へ復帰させることを示す場合には、前記順序情報に含まれるプロセスのみを実行状態へ復帰させ、更に、実行状態へ復帰させたプロセスによる処理が終了すると、再び当該プロセスの実行情報を前記主記憶手段から前記不揮発性記憶手段へ退避させることを特徴とする請求項10に記載の情報処理装置。
  12. 前記オペレーティングシステムは、
    予め定められた記憶容量ごとに分割した領域であるページを1単位として、前記主記憶手段の記憶領域を複数のページに分割して使用するとともに、使用するページの位置情報をプロセスごとに管理するページテーブルに基づいて、前記不揮発性記憶手段の一部の記憶領域を前記主記憶手段の記憶領域として使用する仮想メモリ機能を備え、
    前記制御手段は、
    前記情報処理装置を省電力状態に移行させる場合に、前記複数のプロセスの実行情報を、前記主記憶手段から前記不揮発性記憶手段へページ単位で退避させ、
    前記情報処理装置を前記省電力状態から復帰させる場合に、前記複数のプロセスの実行情報を、前記不揮発性記憶手段から前記主記憶手段へページ単位で転送し、使用するページ単位の前記実行情報の全ての転送が完了したプロセスから、実行を再開させることを特徴とする請求項8乃至11の何れか1項に記載の情報処理装置。
  13. 前記制御手段は、
    前記情報処理装置を省電力状態に移行させる場合に、各プロセスにおけるページ単位の前記実行情報を前記不揮発性記憶手段に退避させる際に、前記不揮発性記憶手段の記憶領域における退避先の位置情報を、当該プロセスの前記ページテーブルに設定し、 前記情報処理装置を前記省電力状態から復帰させる場合に、各プロセスにおけるページ単位の前記実行情報を前記不揮発性記憶手段から前記主記憶手段へ復帰させる際に、前記主記憶手段の記憶領域における復帰先の位置情報を、当該プロセスの前記ページテーブルに設定することを特徴とする請求項12に記載の情報処理装置。
  14. 前記省電力状態は、前記主記憶手段への電力の供給が停止されるハイバネーション状態であることを特徴とする請求項8乃至13のいずれか1項に記載の情報処理装置。
  15. 省電力状態に移行することが可能な情報処理装置の制御方法であって、
    主記憶手段に、複数のプロセスを同時に実行可能なオペレーティングシステムをロードする工程と、
    前記情報処理装置を省電力状態に移行させる場合に、前記主記憶手段にロードされる前記オペレーティングシステムにより実行される前記複数のプロセスの実行状態を示す実行情報を、前記主記憶手段から不揮発性記憶手段に退避させる工程と、
    前記情報処理装置を前記省電力状態から復帰させる場合に、前記不揮発性記憶手段に退避された前記複数のプロセスの実行情報の中の第1のプロセスの実行情報および第2のプロセスの実行情報を順に前記主記憶手段に転送し、前記第2のプロセスの実行情報の転送が完了する前に、転送が完了した前記第1のプロセスの実行情報に対応する前記第1のプロセスの実行を再開させるとともに、前記第1のプロセスの実行の再開後に、転送が完了した前記第2のプロセスの実行情報に対応する前記第2のプロセスの実行を再開させる工程と、を備えることを特徴とする情報処理装置の制御方法。
  16. 請求項7又は15に記載の情報処理装置の制御方法における各ステップを、コンピュータにより実行させるためのプログラム。
JP2009098488A 2009-04-14 2009-04-14 情報処理装置及びその制御方法、並びにコンピュータプログラム Expired - Fee Related JP5289153B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009098488A JP5289153B2 (ja) 2009-04-14 2009-04-14 情報処理装置及びその制御方法、並びにコンピュータプログラム
US12/717,405 US8949641B2 (en) 2009-04-14 2010-03-04 Information processing apparatus and method for controlling information processing apparatus restoration order of images that reduces the waiting time when restoration from a hibernation state
CN201010144513.1A CN101866301B (zh) 2009-04-14 2010-04-09 信息处理装置及信息处理装置的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009098488A JP5289153B2 (ja) 2009-04-14 2009-04-14 情報処理装置及びその制御方法、並びにコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2010250512A JP2010250512A (ja) 2010-11-04
JP2010250512A5 JP2010250512A5 (ja) 2012-06-07
JP5289153B2 true JP5289153B2 (ja) 2013-09-11

Family

ID=42935293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009098488A Expired - Fee Related JP5289153B2 (ja) 2009-04-14 2009-04-14 情報処理装置及びその制御方法、並びにコンピュータプログラム

Country Status (3)

Country Link
US (1) US8949641B2 (ja)
JP (1) JP5289153B2 (ja)
CN (1) CN101866301B (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
JP2011107925A (ja) * 2009-11-17 2011-06-02 Ubiquitous Corp プログラム、制御方法、並びに制御装置
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
US8903705B2 (en) 2010-12-17 2014-12-02 Microsoft Corporation Application compatibility shims for minimal client computers
US9891939B2 (en) 2011-03-03 2018-02-13 Microsoft Technology Licensing, Llc Application compatibility with library operating systems
CN102810007B (zh) * 2011-05-31 2015-11-25 联想(北京)有限公司 一种计算机状态转换方法、装置及计算机
WO2012126345A1 (zh) * 2011-03-23 2012-09-27 联想(北京)有限公司 计算机的启动方法、启动装置、状态转换方法和状态转换装置
CN102693136B (zh) * 2011-03-23 2016-06-01 联想(北京)有限公司 计算机的快速启动方法、快速启动系统及启动系统
JP5906018B2 (ja) * 2011-03-30 2016-04-20 京セラドキュメントソリューションズ株式会社 画像形成装置
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
JP5135462B1 (ja) * 2011-09-30 2013-02-06 株式会社東芝 情報処理装置及びメモリ管理方法
CN103150210A (zh) * 2011-12-07 2013-06-12 宏碁股份有限公司 电子装置与其操作系统切换方法
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
JP6007642B2 (ja) * 2012-01-26 2016-10-12 株式会社リコー 情報処理装置、省電力制御方法、省電力制御プログラム
JP5895609B2 (ja) * 2012-03-06 2016-03-30 富士ゼロックス株式会社 情報処理装置、画像形成装置およびプログラム
TW201348949A (zh) * 2012-05-29 2013-12-01 Hon Hai Prec Ind Co Ltd 伺服器防震方法及系統
JP5939896B2 (ja) 2012-06-12 2016-06-22 キヤノン株式会社 画像形成装置
US9058126B2 (en) * 2012-09-10 2015-06-16 Texas Instruments Incorporated Nonvolatile logic array with retention flip flops to reduce switching power during wakeup
JP6219560B2 (ja) * 2012-09-21 2017-10-25 株式会社フィックスターズ 情報処理装置、情報処理方法、およびプログラム
JP6406797B2 (ja) * 2012-12-14 2018-10-17 キヤノン株式会社 省電力モードで動作可能な情報処理装置、およびその制御方法
CN103927226B (zh) * 2013-01-15 2018-05-25 晨星软件研发(深圳)有限公司 电子装置休眠回复设定方法以及电子装置
US20140237475A1 (en) * 2013-02-15 2014-08-21 Apple Inc. Sleep/wake with suppression and donated importance
JP6478466B2 (ja) * 2014-03-03 2019-03-06 キヤノン株式会社 読取装置
CN106258006A (zh) 2014-04-29 2016-12-28 惠普发展公司,有限责任合伙企业 使用状态信息恢复系统
CN105612485B (zh) * 2014-09-19 2019-11-29 华为技术有限公司 一种运行应用程序的方法及装置
JP5804176B1 (ja) * 2014-12-19 2015-11-04 富士ゼロックス株式会社 情報処理装置
JP6249995B2 (ja) * 2015-06-30 2017-12-20 キヤノン株式会社 情報処理装置、情報処理システム、情報処理装置の制御方法、及び、プログラム
JP6589681B2 (ja) * 2016-02-19 2019-10-16 コニカミノルタ株式会社 画像形成装置、起動制御方法および起動制御プログラム
JP2017162283A (ja) * 2016-03-10 2017-09-14 富士通株式会社 スマート装置、スワップ方法及びスワッププログラム
JP6720707B2 (ja) * 2016-06-13 2020-07-08 コニカミノルタ株式会社 画像処理装置およびモード切換プログラム
JP2018106433A (ja) * 2016-12-27 2018-07-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
DE102019116657A1 (de) * 2019-06-19 2020-12-24 Beckhoff Automation Gmbh System und Verfahren zur kombinierten Energieübertragung und Datenübertragung in einem Automatisierungssystem
US10859958B1 (en) * 2019-09-12 2020-12-08 Toshiba Tec Kabushiki Kaisha Image forming apparatus that transfers data from volatile cache memory to non-volatile storage based on power supply state and control method thereof

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10240490A (ja) * 1997-03-03 1998-09-11 Toshiba Corp 情報処理機器
JP3264215B2 (ja) * 1997-06-05 2002-03-11 富士ゼロックス株式会社 画像形成装置およびその初期化方法並びに画像形成装置の初期化プログラムを記録した媒体
US6385721B1 (en) * 1999-01-22 2002-05-07 Hewlett-Packard Company Computer with bootable hibernation partition
JP2002052784A (ja) * 2000-08-04 2002-02-19 Ricoh Co Ltd 画像形成装置
JP2004038545A (ja) * 2002-07-03 2004-02-05 Fuji Xerox Co Ltd ハイバネーション制御方法、ハイバネーション制御装置、画像処理装置
JP2006095741A (ja) * 2004-09-28 2006-04-13 Fuji Xerox Co Ltd 情報処理装置
CN100375034C (zh) * 2005-01-05 2008-03-12 联想(新加坡)私人有限公司 在计算机系统中用于对进程进行休眠的方法和系统
US7480791B2 (en) * 2005-09-15 2009-01-20 Intel Corporation Method and apparatus for quick resumption where the system may forego initialization of at least one memory range identified in the resume descriptor
US7523323B2 (en) * 2005-09-15 2009-04-21 Intel Corporation Method and apparatus for quick resumption
US7519808B2 (en) * 2006-04-25 2009-04-14 Apple Inc. Method and apparatus for quickly reanimating devices from hibernation
US7624260B2 (en) * 2006-05-04 2009-11-24 Qnx Software Systems Gmbh & Co. Kg System executing a fast boot wake-up
CN101071330A (zh) * 2006-05-12 2007-11-14 华硕电脑股份有限公司 虚拟休眠的方法
JP2007334383A (ja) * 2006-06-12 2007-12-27 Sony Corp 情報処理装置とその起動方法およびプログラム
US7996666B2 (en) * 2007-09-04 2011-08-09 Apple Inc. User influenced loading sequence of startup applications
US20110252422A1 (en) * 2010-04-07 2011-10-13 Apple Inc. Opportunistic Multitasking

Also Published As

Publication number Publication date
US20100262853A1 (en) 2010-10-14
US8949641B2 (en) 2015-02-03
CN101866301B (zh) 2014-08-06
CN101866301A (zh) 2010-10-20
JP2010250512A (ja) 2010-11-04

Similar Documents

Publication Publication Date Title
JP5289153B2 (ja) 情報処理装置及びその制御方法、並びにコンピュータプログラム
US11067932B2 (en) Information processing apparatus capable of appropriately executing shutdown processing, method of controlling the information processing apparatus, and storage medium
JP2010211696A (ja) メモリスワップ管理方法、装置およびプログラム
JP2004005029A (ja) 省電力機能を有する装置及び省電力制御方法
JP6961349B2 (ja) 不揮発性記憶装置を有する情報処理装置、制御方法
JP6703790B2 (ja) 情報処理装置及びその制御方法、並びにプログラム
US9547504B2 (en) Image forming apparatus, method of connecting with external device thereof, and computer-readable recording medium
JP5701043B2 (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
US20140118779A1 (en) Image forming apparatus and control method for image forming apparatus
CN111541825B (zh) 电子装置及其控制方法
US10656954B2 (en) Information processing apparatus, activation method of information processing apparatus, and storage medium
JP2008067299A (ja) 画像形成装置
JP6842641B2 (ja) 画像形成装置
US20110102825A1 (en) Image processing device having a plurality of control units
JP2007149001A (ja) 制御装置、電力制御方法
JP6459543B2 (ja) 画像形成装置及びジョブ処理制御方法並びにジョブ処理制御プログラム
JP2011088292A (ja) 画像形成装置、制御装置、およびプログラム
JP6163937B2 (ja) データ出力装置、画像形成装置、コンピュータープログラムおよびストレージ制御方法
JP2008113415A (ja) ファクシミリ機能を有する複合機、ファクシミリデータの保持方法、および、コンピュータプログラムプロダクト
JP2012108865A (ja) 画像形成装置およびシステム管理プログラム
JP2023160058A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP6459570B2 (ja) 画像形成装置及び起動制御方法並びに起動制御プログラム
JP2010134763A (ja) データ処理装置、方法、およびプログラム
JP2009104247A (ja) 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体
JP2020014040A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120416

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120416

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130410

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: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130604

R151 Written notification of patent or utility model registration

Ref document number: 5289153

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees