JP2009217705A - 情報処理装置及び情報処理方法 - Google Patents

情報処理装置及び情報処理方法 Download PDF

Info

Publication number
JP2009217705A
JP2009217705A JP2008062782A JP2008062782A JP2009217705A JP 2009217705 A JP2009217705 A JP 2009217705A JP 2008062782 A JP2008062782 A JP 2008062782A JP 2008062782 A JP2008062782 A JP 2008062782A JP 2009217705 A JP2009217705 A JP 2009217705A
Authority
JP
Japan
Prior art keywords
storage area
program
information processing
area
application program
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
JP2008062782A
Other languages
English (en)
Other versions
JP5159377B2 (ja
Inventor
Keiko Uchiumi
慶子 内海
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 JP2008062782A priority Critical patent/JP5159377B2/ja
Priority to US12/399,824 priority patent/US8347305B2/en
Publication of JP2009217705A publication Critical patent/JP2009217705A/ja
Priority to US13/709,963 priority patent/US20130104142A1/en
Application granted granted Critical
Publication of JP5159377B2 publication Critical patent/JP5159377B2/ja
Active 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof

Landscapes

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

Abstract

【課題】 情報処理装置が起動を開始してから特定のアプリケーションプログラムを実行できるまでの待機時間を短くする。
【解決手段】 CPU2001は、OS及び起動設定が特定アプリケーションプログラムがプログラム実行領域に展開されて実行可能となった後に、プログラム実行領域として補助憶装置上の記憶領域804を割り当てる初期化処理を実行し、その後に複数のアプリケーションプログラムをプログラム実行領域に展開する。
【選択図】 図2

Description

本発明は、情報処理装置及び情報処理方法に関する。
従来から、情報処理装置におけるメモリアロケーション方式として、静的メモリアロケーション方式が広く利用されてきた。静的メモリアロケーション方式は、プログラム全体をハードディスク等の補助記憶装置からRAMなどの主記憶装置へ展開(ロード)し、その主記憶装置上でプログラムを実行する方式をいう。
これに対して最近は、情報処理装置のオペレーティングシステムに、仮想記憶方式を実行可能なオペレーティングシステムが採用されるようになってきている。仮想記憶方式としては、ページング方式が用いられる一般的であり、Windows(登録商標)やLinux(登録商標)などのオペレーティングシステムもメモリアロケーション方式としてページング方式を採用している。
ページング方式(例えば、特許文献1参照。)は、物理記憶領域、仮想記憶領域を、一定単位(例えば、4Kバイト)のページに分割し、物理記憶領域と仮想記憶領域との対応関係をページテーブルで管理する方式である。ここで、物理記憶領域とは、主記憶装置の物理記憶領域と補助記憶装置の物理記憶領域とを含むものである。そして、ページテーブルは、主記憶装置と補助記憶装置とに分散した複数の物理記憶領域を1つの仮想的な仮想記憶領域として管理するためのものである。
ページング方式では、ファイルや実行プログラムの全体を主記憶装置の物理記憶領域に配置せずに、ファイルや実行プログラムの一部分だけを配置する。そしてオペレーティングシステムは、アプリケーションプログラム等により仮想記憶領域上のあるページにアクセスがあった場合、そのページが主記憶装置の物理記憶領域に割り付けられていない場合(ページフォルト)は、ページ印処理を実行する。ページイン処理とは、ページテーブルに基づいて、補助記憶装置の物理記憶領域に記憶されたページの読み込みを行う処理をいう。そして、ページインが発生すると、オペレーティングシステムは、主記憶装置の物理記憶領域に存在する空きページを検索する。そしてオペレーティングシステムは、空きページが見つかると、補助記憶装置から読み出したプログラムを、検索された空きページにロードする。そして、ページテーブルを更新した後に通常処理へ復帰し、オペレーティングシステムは仮想記憶領域上のプログラムを実行する。
特開平9−244958号公報
仮想記憶方式を実行可能な情報処理装置は、主記憶装置の記憶容量に制限されることなくプログラムが実行できるので、オペレーティングシステム上で多数のアプリケーションプログラムを並行して実行するような場合に有利である。しかし、情報処理装置を起動する際に、主記憶装置の物理記憶領域と補助記憶装置の物理記憶領域とで仮想記憶領域を構成すると、仮想記憶領域を構成するための初期化処理に時間がかかることになる。ここでいう初期化処理とは、例えば、仮想記憶領域として構成される物理記憶領域に対して、0などの所定の値を書き込むことによって行われる。特に、情報処理装置のオペレーティングシステム上で多数のアプリケーションプログラムを並行して実行できるようにするには、補助記憶装置の物理記憶領域として主記憶装置の物理記憶領域よりも大きな領域を確保するのが望ましい。
その一方で、情報処理装置の操作者にとっては、情報処理装置に電源を投入して情報処理装置の起動を開始してから、何らかのアプリケーションプログラムを実行できるまでの待機時間(起動時間)が短いことが望ましい。
本発明は、上記の問題点を鑑みてなされたものであり、情報処理装置の主記憶装置の記憶容量に拘わらず複数のアプリケーションプログラムを並行して実行できるようにするとともに、情報処理装置が起動を開始してから特定のアプリケーションプログラムを実行できるまでの待機時間を短くすることを目的とする。
上記目的を達成するために、本発明の情報処理装置は、オペレーティングシステム上で動作する複数のアプリケーションプログラムを実行可能な情報処理装置であって、第1記憶領域を有する第1記憶手段と、第2記憶領域を有する第2記憶手段と、前記アプリケーションプログラムのプログラム実行領域として、少なくとも前記第1記憶領域を割り当てるための初期化処理を実行する初期化手段と、前記アプリケーションプログラムを前記プログラム実行領域に展開する展開手段と、前記展開手段により前記プログラム実行領域に展開された前記アプリケーションプログラムを実行する実行手段とを有し、前記初期化手段は、前記複数のアプリケーションプログラムに含まれる特定アプリケーションプログラムが前記展開手段により前記プログラム実行領域に展開されて実行可能となった後に、前記プログラム実行領域として前記第2記憶領域を割り当てるための初期化処理を実行し、前記展開手段は、前記初期化手段により前記第1記憶領域が前記プログラム実行領域として割り当てられた後に前記特定アプリケーションプログラムを前記プログラム実行領域に展開し、前記初期化手段により前記第2記憶領域が前記プログラム実行領域として割り当てられた後に前記特定のアプリケーションプログラムとは異なる他のアプリケーションプログラムを前記プログラム実行領域に展開することを特徴とする。
また、本発明の情報処理方法は、第1記憶領域を有する第1記憶手段と、第2記憶領域を有する第2記憶手段とを有し、オペレーティングシステム上で動作する複数のアプリケーションプログラムを実行可能な情報処理装置における情報処理方法であって、前記複数のアプリケーションプログラムに含まれる特定アプリケーションプログラムのプログラム実行領域として、前記第1記憶領域を割り当てるための初期化処理を実行する第1の初期化工程と、前記第1の初期化工程により前記第1記憶領域が割り当てられた前記プログラム実行領域に、前記特定アプリケーションプログラムを展開する第1の展開工程と、前記第1の展開工程により前記プログラム実行領域に展開された前記特定のアプリケーションプログラムを実行する第1の実行工程と、前記特定アプリケーションプログラムが前記第1の展開工程により前記プログラム実行領域に展開されて実行可能となった後に、前記プログラム実行領域として前記第2記憶領域を割り当てるための初期化処理を実行する第2の初期化工程と、前記第2の初期化工程により前記第2記憶領域が割り当てられた前記プログラム実行領域に、前記特定のアプリケーションプログラムとは異なる他のアプリケーションプログラムを展開する第2の展開工程と、前記第2の展開工程により前記プログラム実行領域に展開された前記他のアプリケーションプログラムを実行する第2の実行工程とを有することを特徴とする。
本発明によれば、情報処理装置の主記憶装置の記憶容量に拘わらず複数のアプリケーションプログラムを並行して実行できるようにするとともに、情報処理装置が起動を開始してから特定のアプリケーションプログラムを実行できるまでの待機時間を短くすることができる。
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
<第1実施形態>
図1は、本発明の第1実施形態を示す情報処理装置の構成を説明するブロック図である。
図1において、2000はコントローラユニット(Controller Unit:CU)で、CU2000は画像入力デバイスであるスキャナ(Scanner)2070や画像出力デバイスであるプリンタ(Printer)2095と接続されている。また、CU2000は、一方ではLAN2011や公衆回線(WAN)2051と接続することで、画像情報やデバイス情報の入出力を行う。
なお、コントローラユニット2000は、電源制御部2052を備えており、プリントモードから省電力モードへ移行させたり、省電力モードからプリントモードへ移行させたりする電源制御を行う。
2001はCPUで、CU2000を制御するコントローラである。2002はSDRAM(第1記憶手段)で、CPU2001がプログラムを実行するためのシステムワークメモリであり、画像データを一時的に記憶するための画像メモリでもある。2003はROMで、ブートROMとして機能し、CPU2001がCU2000の各部に対して初期化処理を実行するためのブートプログラム(初期化プログラム)が格納されている。ブートプログラムには、HDD2004(第2記憶手段)に記憶されたオペレーティングシステムやアプリケーションプログラムをSDRAM2002上の記憶領域に展開するブートローダが含まれる。なお、ブートプログラムは、ROM2003ではなく、後述するHDD2004に格納させるようにしても良い。
2004はハードディスクドライブ(HDD)で、CPU2001により実行されるオペレーティングシステムやオペレーティングシステム上で実行される複数のアプリケーションプログラム等を記憶する。なお、オペレーティングシステム及び複数のアプリケーションプログラムは、後述する仮想記憶領域として利用される記憶領域804とは異なる他の記憶領域に記憶されているものとする。なお、ここでは、HDD2004にオペレーティングシステム及び複数のアプリケーションプログラムを記憶させておくものとしたが他の態様であっても良い。例えば、オペレーティングシステム及び複数のアプリケーションプログラムをHDD2004とは異なる他の不揮発性記憶媒体に記憶させても良い。
2006は操作部I/Fで、操作部2012とのインタフェース部として機能し、操作部2012に表示する画像データを操作部2012に対して出力する。また、操作部2012(入力手段)から情報処理装置の操作者が入力した情報を、CPU2001に伝える役割をする。
2010はネットワーク(Network)部で、LAN2011に接続し、LAN2011を介して外部装置から受信するデータの受信処理やLAN2011を介して外部装置へデータを送信する送信処理を行う。
2050はモデム(Modem)部で、公衆回線2051に接続し、公衆回線2051を介して外部装置から受信するファクシミリデータの受信処理や公衆回線2051を介して外部装置へファクシミリデータを送信する送信処理を行う。以上の各部がシステムバス2007を介して相互に接続される。
2005はイメージバスI/F(Image Bus I/F)で、システムバス2007と画像データを高速で転送する画像バス2008を接続し、データ構造を変換するバスブリッジである。
2008は画像バスで、PCIバスまたはIEEE1394で構成される。画像バス2008上には以下のデバイスが配置される。
2060はラスタイメージプロセッサ(RIP)部で、ネットワーク部2010を介して外部装置から入力される印刷データに含まれるPDLコードをビットマップイメージに展開する画像処理を行う。2020はデバイスI/F部で、画像入出力デバイスであるスキャナ2070やプリンタ2095とCPU2001を接続し、画像データの同期系/非同期系の変換を行う。
スキャナ2070は、CCD(ChargeCoupledDevice)等の撮像素子により原稿上の画像を電気信号として読み取り、その読み取った信号をアナログ/デジタル変換することで、画像データを取得するデバイスである。また、プリンタ2095は、HDD2004等に記憶された画像データに応じた画像を用紙上にトナー等の現像剤で印刷処理するデバイスである。
2080はスキャナ画像処理部で、スキャナ2070から入力された画像データに対し補正、加工、編集等の画像処理を行う。2090はプリンタ画像処理部で、画像バスI/F部2005を介して入力される画像データに対して、プリンタ2095でプリントするための補正、解像度変換等の画像処理を行う。
2030は画像回転部で、画像データの回転処理を行う。2040は画像圧縮部で、多値画像データはJPEG、2値画像データはJBIG、MMR、MHの圧縮伸長処理を行う。
2052は電源制御部であり、CPU2001からの指示によりCU2000内の各ユニットやスキャナ2070,プリンタ2095に電圧を供給する電源を制御する。また、電源制御部2052は、省電力モード時においては外部からの各復帰要因によりCU2000に電源を投入する動作を行う。なお、電源制御部2052により制御される電源(不図示)は、外部の商用電源からの交流電圧の供給に基づいて、直流電圧を生成するものである。また、外部の商用電源と電源制御部2052により制御される電源との間にはメインスイッチが設けられており、情報処理装置の操作者は、メインスイッチをオンすることで情報処理装置の起動を開始させる。また、情報処理装置の操作者は、メインスイッチをオフすることで情報処理装置を停止させる。
図2は、情報処理装置の起動時におけるCU2000が実行する処理の流れを示すフローチャートである。また、図3は、図2のフローチャートに基づいて動作するCPU2001の処理内容を時間経過とともに説明したタイミングチャートである。以下、図2及び図3を参照しながら、情報処理装置の起動時におけるCU2000の処理の流れについて説明する。
まず、図2のフローチャートで示されるCU2000の起動処理は、情報処理装置の操作者がメインスイッチ(不図示)をオフ状態からオン状態に切り替えることにより開始される。
ステップS201で、CPU2001は、ROM2003からSDRAM2002へ、BIOS(バイオス)をロードし、CPU2001の初期化処理を行う。
ステップS202で、CPU2001は、CPU2001がBIOSを実行することにより、ROM2003からのデータの読み出しが可能な状態になったことを確認すると、ROM2003からブートローダをSDRAM2002へロードして実行する。
ステップS203で、CPU2001は、ブートローダを実行することにより、HDD2004へアクセスする。そして、HDD2004に格納されたオペレーティングシステムプログラム(以下、OS)を取得してSDRAM2002へロードする。そして、CPU2001は、SDRAM2002にロードされたOSをSDRAM2002上に展開し、OSを実行する。
ステップS204で、CPU2001は、OSを実行することにより、CU2000内の各種デバイス(ネットワーク部2010、プリンタ2095等)を認識し、各種デバイスについての設定を行う。なお、OSは、アプリケーションプログラムの実行領域としてSDRAM2002上の物理記憶領域(後述する物理記憶領域803)を、割り当てる。
ステップS205で、CPU2001により実行されるOSは、HDD2004に記憶されたアプリケーション設定テーブルを参照する。ここで、アプリケーション設定テーブルの一例を図4に示す。
図4には、HDD2004に記憶されるN個のアプリケーションプログラムについて、各アプリケーションプログラムについて、プログラムの起動に関する設定及びプログラムが必要とする記憶容量がテーブル化されている。図4において、アプリケーションAは、ネットワーク機能実行プログラムであり、ネットワーク部2010を介してLAN2011に接続された外部装置とデータの送受信を行うためのアプリケーションプログラムである。また、アプリケーションBは、HDDバックアッププログラムである。そして、このプログラムは、HDD2004に記憶されたデータをバックアップするために、LAN2011を介して接続される外部装置に、HDD2004に記憶されたデータの少なくとも一部を送信する。なお、アプリケーションBは、ネットワーク部2010を利用したネットワーク機能が必要となるので、アプリケーションBが実行できるには、アプリケーションAが起動されていることが条件となる。また、アプリケーションCは、スキャン機能実行プログラムである。そして、このプログラムは、スキャナ2070から入力される画像データをデバイスI/F部2020を介してSDRAM2002へ記憶させ、更にSDRAM2002に記憶された画像データをHDD2004へ記憶させる。また、アプリケーションDは、プリント機能実行プログラムであり、HDD2004に記憶された画像データを、プリンタ2095に転送して、プリンタ2095に画像データに応じた画像を用紙上に印刷処理させるためのプログラムである。アプリケーションDは、HDD2004に記憶された画像データを、SDRAM2002に一旦転送し、更にSDRAM2002からデバイスI/F部2020を介してプリンタ2095に転送する。また、アプリケーションEは、操作部機能実行プログラムであり、操作部2012を介して情報処理装置の操作者により入力された、情報処理装置に対する入力を、操作部I/F2006を介してCPU2001に送信するためのプログラムである。OSは、操作部機能実行プログラムを実行することにより、他のアプリケーションが機能を実行するための操作者による指示を受け付けることが可能となる。例えば、アプリケーションEは、操作部2012を介して、スキャン機能を実行するための設定条件(解像度、原稿サイズ、カラー/白黒の種別等)を受け付けることで、スキャン機能を実行するための設定条件をアプリケーションCに認識させることができる。そして、スキャン機能を実行するための設定条件を認識したアプリケーションCは、スキャン機能実行プログラムを実行する際に、認識した設定条件を用いることで、操作者の指示に基づいたスキャン機能を実現することができる。また例えば、アプリケーションEは、操作部2012を介して、プリント機能を実行するための設定条件(印刷処理される用紙のサイズ、両面/片面印刷の指示等)を受け付ける。これにより、アプリケーションEは、プリント機能を実行するための設定条件をアプリケーションDに認識させることができる。そして、プリント機能を実行するための設定条件を認識したアプリケーションDは、プリント機能実行プログラムを実行する際に、認識した設定条件を用いることで、操作者の指示に基づいたプリント機能を実現することができる。
また、図4に示すアプリケーション設定テーブルには、各アプリケーションに対してプログラムの起動に関する設定がされている。起動設定には、3種類の設定があり、起動設定が“1”又は“2”の場合は、OSが起動時にそのアプリケーションを起動させることを示す。なお、起動設定が“1”の場合、少なくとも後述するS208(仮想記憶領域の初期化)の実行前に、アプリケーションを起動させる。また、起動設定が“2”の場合、少なくとも後述するS209(仮想記憶領域の初期化)の実行後に、アプリケーションを起動させる。また、起動設定が“3”の場合、OSは、そのアプリケーションをOSの起動時には起動させない。
また、図4には、各アプリケーションがプログラムの実行時に必要とする記憶容量が設定されている。図4のテーブルに示される容量のメモリがOSによってプログラム実行領域として確保されていないと、そのプログラムを実行することはできない。
ここで、図2のステップS205の説明に戻る。ステップS205で、CPU2001により実行されるOSは、図4に示すアプリケーション設定テーブルを参照し、アプリケーションA〜Nについて、起動設定と、各アプリケーションの実行に必要な記憶容量を確認する。なお、このアプリケーション設定テーブルにおける設定内容は、OSにより設定可能である。そして、この際、CPU2001により実行されるOSは、アプリケーションプログラム毎に起動設定を行う設定手段として機能する。
ステップS206で、OS(判定手段)は、SDRAM2002上のプログラム実行領域(第1記憶領域)の記憶容量はアプリケーションの実行に必要な記憶容量より大きいか否かを判定する。SDRAM2002上のプログラム実行領域とは、OSがアプリケーションプログラムを実行するためにSDRAM上に確保可能な領域をいい、例えば、SDRAM2002に総記憶容量からOSが必要とする容量を差し引いた領域をいう。なお、アプリケーションの実行に必要な記憶容量は、図4で起動設定が“1”となっているアプリケーションが必要とする記憶容量の合計値をいい、図4の例では、128MegaByte+128MB+128MB=384MBである。そして、S206で、CPU2001は、アプリケーションの実行に必要な記憶容量が384MBであることから、SDRAM2002上のプログラム実行領域が384MBより大きければステップS207へ進み、そうでなければステップS211へ進む。
ステップS207で、OS(初期化手段)は、起動設定が“1”となっているアプリケーションプログラムを起動させるために、アプリケーション起動のための初期化処理を実行する。ここでいう初期化処理とは、例えば、仮想記憶領域として構成される物理記憶領域に対して、0などの所定の値が書き込まれることによって行われる。この初期化処理では、起動設定が“1”となっているアプリケーションプログラムのプログラム実行領域として、主記憶装置の物理記憶領域803を割り当てる処理が含まれる(第1の初期化工程)。
ステップS208で、OSは、起動設定が“1”となっているアプリケーションプログラム(図4の例では、C、D、E)を起動させる。具体的には、OSは、HDD2004に記憶されたアプリケーションプログラムC、D、EをSDRAM2002上へ展開する(第1の展開工程)。この際、OSを実行するCPU2001は、アプリケーションプログラムをプログラム実行領域に展開する展開手段として機能する。なお、アプリケーションC、D、Eを実行するのに必要な記憶容量は、SDRAM2002上に確保されたプログラム実行領域の記憶容量より大きくない。従って、OSは、アプリケーションC、D、Eを、SDRAM2002上のプログラム実行領域のみを用いて実行する(第1の実行工程)。なお、OSは、アプリケーションC、D、Eを実行するのに先立って、少なくとも各アプリケーションをSDRAM上のプログラム実行領域に展開しておくものとする。
ステップS209で、OSは、情報処理装置がアプリケーションプログラムC〜Eだけでなく、AやBも実行できるようにするために、仮想記憶領域を初期化する。ここでいう初期化処理とは、例えば、仮想記憶領域として構成される物理記憶領域に対して、0などの所定の値が書き込まれることによって行われる。なお、OSが仮想記憶領域の初期化処理を実行する時点では、アプリケーションプログラムC〜Eの起動は完了しているものとする。
ここで、仮想記憶領域の初期化について図8を用いて説明する。図8は、仮想記憶領域、主記憶装置上の記憶領域、補助記憶装置上の記憶領域及びアドレス変換テーブルを示す図である。仮想記憶領域801とは、情報処理装置のオペレーティングシステム上で多数のアプリケーションプログラムを並行して実行するための記憶領域をいい、主記憶装置の物理記憶領域803と補助記憶装置の物理記憶領域804とを含むものである。OSは、アプリケーションプログラムを実行するにあたって、そのアプリケーションプログラムが必要とする記憶容量がプログラム実行領域として確保されていないと、アプリケーションプログラムを実行することができない。そこで、OSは、主記憶装置上の記憶領域803だけでなく、補助記憶装置上の記憶領域804もプログラム実行領域としてOSが使用できるように、アドレス変換テーブル802を作成する。なお、このアドレス変換テーブル802は、SDRAM2002に記憶させておくものとする。また、本実施形態において、主記憶装置はSDRAM2002であり、補助記憶装置はHDD2004である。OSは、アプリケーションプログラムの実行領域として1〜NのN個のページ(例えば、1ページは4Kバイト)を確保する。具体的に、OSは、N個のページをSDRAM2002上の物理記憶領域803と、補助記憶装置上の物理記憶領域804の双方に割り当てる処理化処理を実行する(第2の初期化工程)。その割り当てをするのが、アドレス変換テーブル802であり、仮想記憶領域801のどのページが、主記憶装置又は補助記憶装置のどのページに対応するのかを変換するための情報が記述されている。OSは、仮想記憶領域801として割り当てられたNページ分のプログラム実行領域を確保しているものとしてアプリケーションプログラムを実行する。一方で、OSは、アプリケーションプログラムにより仮想記憶領域801のあるページにアクセスがあった場合、そのページが物理的には主記憶装置に存在するのか、補助記憶装置に存在するのかを判定する。その判定により、アクセスのあったページが主記憶装置上の記憶領域803に存在すれば、主記憶装置上の該当する記憶領域を用いてプログラムを実行する。一方、アクセスのあったページが補助記憶装置上の記憶領域804に存在すれば、主記憶装置上で空きページ(データが格納されていないページ等)を検索し、検索したページに補助記憶装置の該当する記憶領域からデータをロードしてプログラムを実行する。OSは、上記のようなアドレス変換テーブルを作成することにより、OSがプログラム実行領域として確保する記憶容量を見かけ上増大させることができる。なお、図5において、斜線で示したページは、物理的には主記憶装置上に存在する。また、本実施例では、アプリケーションA〜EをOSが並行して実行可能とするために、仮想記憶領域801として、主記憶装置の512MBと補助記憶装置の1GBとを割り当てることとする。また、補助記憶装置上の物理記憶領域から仮想記憶領域801に割り当てる1GBの記憶領域(第2記憶領域)は、仮想記憶領域のために割り当てられた1つのパーティションであるのが望ましい。
ここで、図2のステップS209の説明に戻る。ステップS209で、CPU2001は、仮想記憶領域801の初期化(アドレス変換テーブルの作成)を行うとステップS210に処理を進める。なお、仮想記憶領域801の初期化は、ステップS208の後に実行される。つまり、OSは、起動設定が“1”となっているアプリケーションプログラムがプログラム実行領域に展開された後に、プログラム実行領域としてHDD2004の物理記憶領域804を割り当てる。
ステップS210で、OSは、起動設定が“2”となっているアプリケーションプログラム(図4の例では、A、B)を起動させる。具体的には、OSは、HDD2004に記憶されたアプリケーションプログラムA、BをSDRAM2002上へ展開する(第2の展開工程)。この際、OSを実行するCPU2001は、アプリケーションプログラムをプログラム実行領域に展開する展開手段として機能する。前述したように、ステップS209にて、仮想記憶領域として512MB+1GB=1.5GBが割り当てられている。従って、OSは、すでに起動済みのアプリケーションC〜Eに加え、アプリケーションA及びBを起動してもプログラム実行領域は仮想記憶領域801上に十分確保されている。従って、OSは、アプリケーションA〜Eを、仮想記憶領域801を用いて実行する(第2の実行工程)。
そして、S210が終了すると、OSは、情報処理装置の起動時の処理が終了したものとし、アプリケーションA〜Eを実行する通常動作に移行する。
次に、ステップS206でNOと判定された場合にOSが実行する処理について説明する。
ステップS206でNOと判定されるのは、SDRAM2002上のプログラム実行領域の記憶容量はアプリケーションの実行に必要な記憶容量より大きくない場合である。この場合、OSがアプリケーションの起動及び実行に必要なプログラム実行領域が確保されていないので、プログラム実行領域を増大させる必要がある。そこで、OSは、ステップS211で、ステップS209で説明した仮想記憶領域801の初期化を行う(第3の初期化工程)。
ステップS213で、OSは、起動設定が“1”となっているアプリケーションプログラム及び起動設定が“2”となっているアプリケーションプログラムを起動させる。具体的には、OSは、HDD2004に記憶されたアプリケーションプログラムA〜EをSDRAM2002上へ展開する(第3の展開工程)。この際、OSを実行するCPU2001は、アプリケーションプログラムをプログラム実行領域に展開する展開手段として機能する。S213では、仮想記憶領域801として1.5GBが既に割り当てられている。従って、OSは、アプリケーションA〜Eを起動してもプログラム実行領域は仮想記憶領域801上に十分確保されている。従って、OSは、アプリケーションA〜Eを、仮想記憶領域801を用いて実行する(第3の実行工程)。なお、OSは、起動設定が“1”となっているアプリケーションプログラムを起動設定が“2”となっているアプリケーションプログラムより先に起動させるものとする。
そして、S213が終了すると、OSは、情報処理装置の起動時の処理が終了したものとし、アプリケーションA〜Eを実行する通常動作に移行する。
以上説明したように、情報処理装置の主記憶装置の記憶容量に拘わらず複数のアプリケーションプログラムを並行して実行できるようにするとともに、情報処理装置が起動を開始してから特定アプリケーションプログラムを実行できるまでの待機時間を短くすることができる。なお、本実施形態において、“主記憶装置の記憶容量”とは、SDRAM2002上にプログラム実行領域として確保可能な記憶容量をいう。また、特定アプリケーションプログラムとは、起動設定が“1”と図4のアプリケーション設定テーブルにて設定されているプログラムをいう。そして、特定アプリケーションプログラムとしては、図4に示したものに限られず、起動設定についても種々の設定が可能である。例えば、アプリケーションEのみを起動設定“1”とし、アプリケーションA〜Dは起動設定“2”とするようにしてもよい。この場合、仮想記憶領域の初期化の前に起動されるアプリケーションは、アプリケーションEのみであり、情報処理装置の操作者が操作部を介した入力を早期に開始させることができる。そして、情報処理装置の操作者が情報処理装置を起動してから何らかの操作ができるまでの待ち時間を短縮することができる。なお、操作部を介して入力されたスキャンの設定条件やプリントの設定条件は、SDRAM2002等に保持され、スキャン機能実行プログラムやプリント機能実行プログラムが起動したら利用できるようになる。
また、本実施形態においては、ステップS206でYESと判定された後、ステップS208で起動設定が“1”のアプリケーションプログラムを起動させ、その起動が完了したことに応じて仮想記憶領域を初期化するものとしたが他の態様であっても良い。例えば、仮想記憶領域の初期化は、起動設定が“2”のアプリケーションを実行することがOSにより指示されたことに応じて行っても良い。
<第2実施形態>
次に、本発明の第2実施形態について説明する。
第1実施形態は、情報処理装置の起動時の処理を説明するものであった。一方、第2実施形態は、情報処理装置が起動した後に、情報処理装置の一部のデバイスへの電力供給を遮断する省電力モードへ移行させた後、省電力モードから通常モードへ復帰する場合の処理に関するものである。
ここで、情報処理装置は、各々消費する電力の異なる複数の電力モードにて動作するものであり、少なくとも消費電力の小さい省電力モードと、省電力モードより消費電力の高い通常モードで動作する。省電力モードにおいて情報処理装置は、スキャナ2070及びプリンタ2095への電力供給を一部(又は全部)遮断する。
また、省電力モードにおいて情報処理装置は、CU2000における操作部I/F2006、ネットワーク部2010、モデム部2050、HDD2004、RIP部2060、デバイスI/F2020への電力供給を一部(又は全部)遮断する。また、スキャナ画像処理部2080、画像回転部2030、画像圧縮部2040への電力供給を一部(又は全部)遮断する。
また、通常モードにおいて情報処理装置は、省電力モードにおいて電力供給を遮断していた各部へ電力供給する。
また、情報処理装置は、通常モードにおいて、外部装置からネットワーク部2010又はモデム部2050を介して受信する画像データの画像処理及び画像処理された画像データのプリンタ2095による画像形成処理を実行可能な稼動状態となる。
なお、前述した省電力モードにおいては、CU2000のCPU2001以外の電力供給を一部(又は全部)遮断するものであったが、CPU2001への電力供給を遮断することで更に消費電力を低減するようにしてもよい。
しかし、省電力モードにおいてCPU2001への電力供給を遮断する場合、情報処理装置を省電力モードから通常モードへ復帰させるには、CPU2001への電力供給を再開する。そして、しかる後にCPU2001がCU2000の各部に対して初期化処理を実行する必要がある。
以下では、情報処理装置が省電力モードにおいて、CPU2001への電力供給をも遮断する場合について説明する。
図5、図6は、図1に示したCU2000の電源制御部2052の構成を示す回路図であり、図1と同一のものには同一の符号を付してある。なお、図5は、情報処理装置が通常モードから省電力モードへ移行する動作に対応する。また、図6は、省電力モードから通常モードへ復帰する動作に対応する。また、図中において、破線部分はプリントモードにおいては電源制御部2052から電力が供給されるが、省電力モードにおいては電力が供給されない主電源系統に属する部分である。また、実線部分は通常モードにおいても省電力モードにおいても電力が供給される副電源系統に属する部分である。
図5において、11001はFETで、FF11002のQ出力がゲート側に印加され、そのQ出力の状態に基づいて、副電源系統と主電源系統を切り離す役割を担っている。この様に副電源系統と主電源系統を切り離し、省電力モードに移行した場合には、コントローラユニット2000の主要部分(複合装置1001及び1020が省電力モードにて動作するのに必要な部分)以外への電力供給を遮断する。これによって、無駄な待機電力を抑えることが可能となる。
また、図1に示したSDRAM2002、ROM2003は副電源系統に属する。また、CPU2001、画像バスI/F部2005、RIP部2060、デバイスI/F部2020、スキャナ画像処理部2080、プリンタ画像処理部2090、画像回転部2030、画像圧縮部2040は主電源系統に属する。また、HDD2004は、主電源系統に属するが、CPU2001等が接続される主電源系統とは独立して電源のオン/オフが可能である。つまり、HDD2004は、CPU2001に電力供給がされている場合であっても、オフ状態としておくことができる。
なお、操作部I/F部2006、ネットワーク部2010及びモデム部2050は、一部が主電源系統に属し、他の一部が副電源系統に属する。
そして、ネットワーク部2010及びモデム部2050は、情報処理装置が省電力モードで動作している際にLAN2011又はWAN2051から入力される画像データの受信処理をすることのできない受信不可状態となる。
その一方で、ネットワーク部2010及びモデム部2050は、LAN2011又はWAN2051から入力される、情報処理装置を省電力モードから通常モードへ復帰させるための受信要求を受信可能である。
11009は保持回路で、副電源系統に属し、省電力モードを解除する第1〜第4の要求指示を省電力モードの間でも受け付けることができるように構成されている。第1〜第4の要求指示は、ロジックORゲート11004を介してFF11002のクロック入力端に入力される。なお、情報処理装置を省電力モードから通常モードに復帰させるための要因となる第1〜第4の要求指示は、バッファ群11008を介してCPU2001に入力される。
保持回路11009で保持される第1〜第4の要求指示は、例えば4ビットのデータに変換されて保持される。そして、CPU2001が省電力モードから通常モードに復帰する際に、FF11005にセットされているフラグが「1」の場合は、その4ビットのデータを読み込む。そして、あらかじめ対応づけられたビット判定テーブルを参照して、第1〜第4の要求指示の内容を判断できるように構成されている。
本実施形態では、第1の要求指示は、操作部2012から操作部I/F2006を介して入力される複合機のユーザによるパワーオン指示に対応する。なお、パワーオン指示とは、省電力モードで動作する情報処理装置の動作状態を通常モード(稼動状態)へ移行させるための指示である。
また、第2の要求指示は、外部装置からネットワーク部2010を介して画像データ(PDLデータ(Page Description Language data))の受信要求が入力された場合のパワーオン指示に対応する。また、第3の要求指示は、外部装置からモデム部2050を介して画像データ(ファクシミリデータ)の受信要求が入力された場合のパワーオン指示に対応する。また、第4の要求指示は図示しないタイマ(計時手段として機能する)によるセット時間を計時した場合のパワーオン指示に対応する。
FF11005は、副電源系統に属し、情報処理装置が通常モードから省電力モードへ移行した後も、CPU2001の汎用出力ポートGPO<1>を「L」状態から「H」状態に変化させることで生成されるフラグの内容を保持している。
また、FF11005は、副電源系統に属するリセットIC11003からのリセット信号がクリア端子(CLR)に印加され、Q出力からバッファ11006を介してCPU2001の入力GPI<0>にその旨を示す信号を出力する。
11003はリセットICで、副電源系統に属し、リセット信号を副電源系統に属するFF11002へ出力する。11007はバッファであり、FF11002へパワーオフ信号を出力する。
バッファ群11008及びバッファ11007,バッファ11006は主電源系統に属しており、プリントモードから省電力モードへ移行する時にCPU2001へ電流が流入するのを阻止する。
また、リセットIC11003は副電源系統を監視しており、後述のメイン電源OFF後の起動時にFF11005のフラグ及び保持回路11009のラッチデータをクリアする役割を果たす。ロジックORゲート11004は省電力モードから復帰させるための要因をまとめている。
本実施形態で特徴的であるのはコントローラユニット2000の中で一般的に消費電力のウエートの大きいCPU2001を主電源系統に属するように構成し、省電力モードにおいてはCPU2001へ電源供給がされないようにする点である。
また、情報処理装置は、省電力モードと通常モードの少なくとも2つの動作モード(省電力モードに、消費電力の異なる複数のモードを更に設けても良い)で動作する。そこで、情報処理装置において、省電力モードから通常モードへ移行する要因となる複数の要因のうちどの要因が入力されたのかを保持回路11009で保持している点である。
以下、図7に示すフローチャートを参照して、情報処理装置を通常モードから省電力モードへ移行させる処理について説明する。なお、図7における各ステップは、CPU2001がHDD2004からSDRAM2002にロードしたプログラムを実行することにより実行される。
まず、ステップS701で、CPU2001は、情報処理装置が通常モードから省電力モードに移行するための移行条件を満たしたか否かを判定し、満たしたと判定した場合はステップS702に処理を進める。なお、移行条件を満たす場合とは、情報処理装置の操作者が操作部2012上の節電キー(不図示)を押すことで省電力モードへの移行を指定した場合、あるいは情報処理装置が何らのデータも処理しない時間が一定時間経過した場合をいう。
そして、ステップS702で、CPU2001は、SDRAM2002にセルフリフレッシュコマンドを発行し、SDRAM2002に保持されているプログラムを引き続き保持するように設定する(図5の(1))。ここで、SDRAM2002に保持されているプログラムには、少なくともOSが含まれる。
次に、ステップS703で、省電力モードに移行したことを記憶させる手段としてFF11005に対してCPU2001は、汎用出力ポートGPO<1>を「L」状態から「H」状態に変化させる。これにより、CPU2001は、省電力モードフラグをセット(FF11005の出力=‘1’)する(図5の(2))。なお、FF11005は副電源系統に属しているため、省電力モードに移行した後においても、このフラグは値を保持している。
次に、ステップS703で、CPU2001は、保持回路11009に対して汎用出力ポートGPO<2>を変化させ、保持回路11009を初期化することにより保持回路内でラッチしているデータをクリアする(図5の(3))。
次に、ステップS704で、CPU2001により実行されるOSは、情報処理装置が仮想記憶領域801を使用中かどうかについて判定する。OSは、特定のコマンド(例えば、Linuxにおいてはfreeコマンド)を実行することにより、仮想記憶領域801が使用されているかどうかを判定する。仮想記憶領域801を初期済みであれば、S706へ進み、そうでなければS705へ進む。
ステップS705で、CPU2001により実行されるOSは、仮想記憶領域801を無効化する。具体的には、アドレス変換テーブル802を削除し、OSのプログラム実行領域を、SDRAM2002上の物理記憶領域803に割り当てる。
ステップS706で、OSは、省電力モードへの移行処理を実行する。例えば、OSは、アプリケーションプログラムを終了させる処理を実行する。なお、HDD2004からSDRAM2002にロードされたOSは、省電力モードへ移行した場合であってもSDRAM2002に保持されつづけるものとする。
次に、ステップS707で、FF11002に対してCPU2001は汎用出力ポートGPO<0>を変化させ、FF11002の出力を「H」状態にプリセットする。これにより、FF11002のQ出力が「L」となることで、FET11001をOFF状態に移行させ、CPU2001を含む主電源系統を遮断し省電力モードに移行する。
なお、図5中のバッファ群11008及びバッファ11007,バッファ11006は主電源系統で駆動しており、省電力モード移行時には副電源系統からの電流の流れ込みを阻止する役割を果たす。
また、リセットIC11003は副電源系統を監視しており、後述のメイン電源OFF後の起動時にFF11005のフラグ及び保持回路11009のラッチデータをクリアする役割を果たす。ロジックORゲート11004は省電力モードからプリントモードに復帰させるための要因をまとめて、いずれかの1つでも要因が検出されると、FF11002のクロック入力に復帰要求を入力する。
以下、図9に示すフローチャートを参照して、省電力モードから通常モードへ復帰する処理について説明する。
図9は、情報処理装置を省電力モードから通常モードへ移行させる処理を説明するフローチャートである。
なお、図9のフローチャートは、CPU2001がSDRAMに記憶されたプログラムを読み出して実行するものであるが、図9の処理が開始されるのは、下記の場合である。
先ず、情報処理装置が省電力モードで動作している時に、情報処理装置を省電力モードからプリントモードへ復帰させるための要因(第1〜第4の要求指示)が入力される。次に、複数の要因のいずれか1つが入力される事により、保持回路11009は入力されてきた信号をラッチし、CPU2001が復帰した際にデータを読み込めるように準備する。保持回路11009がラッチするデータは、情報処理装置のメイン電源(不図示)がOFFされるか、CPU2001から保持回路11009にクリア信号clrが入力されるまで保持される。なお、保持回路11009は入力される復帰要因は、ロジックORゲート11004を介してFF11002にも結線されている。これにより、省電力モードから通常モードに復帰させるための要因が発生すると、FF11002にクロックエッジが与えられFET11001がONされ、主電源系統が立ち上がり省電力モードから通常モードへの復帰処理が始まる。ただし、この時点では、CPU2001が属する主電源系統には電力が供給されるが、HDD2004には供給されないものとする。HDD2004へ電力を供給するか否かは、CPU2001が判断して電源制御部2052に指示するものとする。
そして、ステップS901で、CPU2001は、ROM2003からSDRAM2002へ、BIOS(バイオス)をロードし、CPU2001の初期化処理を行う。初期化処理が行われた後に、CPU2001は、汎用出力ポートGPI<0>からFF11005に格納されているフラグの値を参照する。
ステップS902で、CPU2001は、FF11005に格納されているフラグから省電力モードから復帰した状態であるか否かを判断する。FF11005に格納されているフラグの値は、省電力モードから復帰した状態である場合は“1”であるため、CPU2001は省電力モードから復帰した状態である(YES)と判断する。
CPU2001は、ステップS902にてYESと判断するとステップS903へ進み、SDRAM2002上に保持されている起動シーケンスのベースとなるプログラムを実行する。このプログラムの実行により、OS及びOSにより管理されるCU2000内の各デバイスが省電力モードから通常モードに復帰する。なお、OSは情報処理装置の起動時に起動済みであり、省電力モードからの復帰時においては、SDRAM2002にOSは保持されている。FF11005に格納されているフラグの値は、省電力モードから復帰した状態でなく情報処理装置のメイン電源がONされた状態である場合は“0”であるためCPU2001はメイン電源がONされた状態であると判断する。
そして、ステップS904で、CPU2001は、保持回路11009へラッチされている復帰要因を読み込み、第1〜第4の要求指示のうちいずれが復帰要因として発生したかを判断する。
ステップS905で、OSは、仮想記憶領域801が初期化済みか否かを判定し、初期化済みであればS906へ進み、そうでなければS907へ進む。なお、OSは、特定のコマンド(例えば、Linuxにおいてはfreeコマンド)を実行することにより、仮想記憶領域801が初期化済みかどうかを判定する。
ステップS906で、CPU2001は、HDD2004に電力を供給するよう電源制御部2052にコマンドを送信する。これは、仮想記憶領域801が初期化済みであるので、仮想記憶領域801をプログラム実行領域としてアプリケーションプログラムを実行するためである。そして、電源制御部2052は、CPU2001からのコマンドを受信するとHDD2004へ電力を供給するよう制御する。
ステップS907で、OSは、仮想記憶領域801をプログラム実行領域として、アプリケーションプログラムを実行する。なお、HDD2004には、省電力モードに移行する前の状態が保持されているので、アプリケーションプログラムを再び起動させる必要はない。
また、ステップS908で、OSは、SDRAM2002上のプログラム実行領域の記憶容量はアプリケーションの実行に必要な記憶容量より大きいか否かを判定する。なお、ステップS908は、第1実施形態の図2のステップS206と同様の処理であるので説明を省略する。ステップS908でYESであれば、ステップS913〜S918を実行するが、ステップS913、914、917及び918は、図2のS207〜S210の処理と同様であるので説明を省略する。
ステップS915で、OSは、アプリケーション設定テーブルを参照し、起動設定が“2”のアプリケーションプログラムが存在するか否かを判定する。そして、起動設定が“2”のアプリケーションプログラムが存在しない場合、OSは処理を終了させる。この場合、OSはHDD2004に対する電源投入を行わないので、図7のステップS701で説明した省電力モードへの移行条件を再び満たせば、HDD2004に電源が再投入されることなく省電力モードに移行する。一方、起動設定が“2”のアプリケーションプログラムが存在する場合、OSは処理をステップS916へ進める。
ステップS916で、CPU2001は、HDD2004に電力を供給するよう電源制御部2052にコマンドを送信する。そして、電源制御部2052は、CPU2001からのコマンドを受信するとHDD2004へ電力を供給するよう制御する。
また、ステップS908でNOであれば、ステップS909へ進み、CPU2001は、HDD2004に電力を供給するよう電源制御部2052にコマンドを送信する。そして、電源制御部2052は、CPU2001からのコマンドを受信するとHDD2004へ電力を供給するよう制御する。なお、ステップS909を実行した後にCPU2001は、ステップS910〜S912を実行するが、ステップS910〜912は、図2のステップS211〜S213の処理と同様であるので説明を省略する。
そして、S907、S912又はS918が終了すると、OSは、情報処理装置の通常モードへの復帰処理が終了したものとし、アプリケーションA〜Eを実行する通常動作に移行する。
以上説明したように、情報処理装置の主記憶装置の記憶容量に拘わらず複数のアプリケーションプログラムを並行して実行できるようにする。更に、情報処理装置が省電力モードから通常モードへの復帰を開始してから特定のアプリケーションプログラムを実行できるまでの待機時間を短くすることができる。なお、本実施形態において、“主記憶装置の記憶容量”とは、SDRAM2002上にプログラム実行領域として確保可能な記憶容量をいう。また、特定アプリケーションプログラムとは、起動設定が“1”と図4のアプリケーション設定テーブルにて設定されているプログラムをいう。そして、特定アプリケーションプログラムとしては、図4に示したものに限られず、起動設定についても種々の設定が可能である。例えば、アプリケーションEのみを起動設定“1”とし、アプリケーションA〜Dは起動設定“2”とするようにしてもよい。この場合、仮想記憶領域の初期化の前に起動されるアプリケーションは、アプリケーションEのみであり、情報処理装置の操作者が操作部を介した入力を早期に開始させることができる。そして、情報処理装置の操作者が情報処理装置を起動してから何らかの操作ができるまでの待ち時間を短縮することができる。なお、操作部を介して入力されたスキャンの設定条件やプリントの設定条件は、SDRAM2002等に保持され、スキャン機能実行プログラムやプリント機能実行プログラムが起動したら利用できるようになる。
また、省電力モードからの復帰時に、HDD2004を必要としない場合(SDRAM上のプログラム実行領域の容量がアプリケーションの実行に必要な容量より大きい場合)には、HDD2004へ電源供給せずに通常モードを実行できる。HDD2004は、電源オンオフの切り替え回数が多くなると故障等の不具合が発生する確率が高くなる。そこで、本実施形態によれば、HDDが不要の場合は電力供給状態をオフ状態のままとすることで、HDDの寿命を延ばすことができる。また、HDDを電源オフ状態から電源オン状態へ移行させてHDDからのデータの読み出しを可能とするには、HDDを構成する磁気ディスクの回転数を一定回転数にするスピンアップ処理等が必要である。このスピンアップ処理には、時間がかかり、省電力モードからの復帰に時間がかかる要因となっている。そこで、本実施形態では、HDDが不要の場合は電力供給状態をオフ状態のままとすることで、HDDのスピンアップ処理による復帰時間の遅れを解消することができる。
また、SDRAM2002上のプログラム実行領域の記憶容量がアプリケーションの実行に必要な記憶容量より大きい場合(ステップS908にてYES)の場合に、以下のような効果がある。それは、起動設定が“2”のアプリケーションが存在しない場合に(ステップS915でNO)、HDD2004を起動させることなく起動設定“1”のアプリケーションを実行できるという効果である。つまり、一定の条件が満たされれば、HDD2004を起動させることなくアプリケーションプログラムを実行できるので、HDD2004を頻繁にオンオフすることによる寿命の短縮化等を防ぐことができる。
<他の実施形態>
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給することによっても達成される。この場合、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行すること前述した実施形態の機能を実現する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
情報処理装置の構成を説明するブロック図である。 情報処理装置の起動時におけるCU2000の処理の流れを示すフローチャートである。 CPU2001の処理内容を時間経過とともに説明したタイミングチャートである。 アプリケーション設定テーブルの一例を示す図である。 電源制御部2052の構成を説明する回路図である。 電源制御部2052の構成を説明する回路図である。 情報処理装置を通常モードから省電力モードへ移行させる処理を説明するフローチャートである。 仮想記憶領域、主記憶装置上の記憶領域、補助記憶装置上の記憶領域及びアドレス変換テーブルを示す図である。 情報処理装置を省電力モードから通常モードへ移行させる処理を説明するフローチャートである。 CPU2001の処理内容を時間経過とともに説明したタイミングチャートである。

Claims (14)

  1. オペレーティングシステム上で動作する複数のアプリケーションプログラムを実行可能な情報処理装置であって、
    第1記憶領域を有する第1記憶手段と、
    第2記憶領域を有する第2記憶手段と、
    前記アプリケーションプログラムのプログラム実行領域として、少なくとも前記第1記憶領域を割り当てるための初期化処理を実行する初期化手段と、
    前記アプリケーションプログラムを前記プログラム実行領域に展開する展開手段と、
    前記展開手段により前記プログラム実行領域に展開された前記アプリケーションプログラムを実行する実行手段とを有し、
    前記初期化手段は、前記複数のアプリケーションプログラムに含まれる特定アプリケーションプログラムが前記展開手段により前記プログラム実行領域に展開されて実行可能となった後に、前記プログラム実行領域として前記第2記憶領域を割り当てるための初期化処理を実行し、
    前記展開手段は、前記初期化手段により前記第1記憶領域が前記プログラム実行領域として割り当てられた後に前記特定アプリケーションプログラムを前記プログラム実行領域に展開し、前記初期化手段により前記第2記憶領域が前記プログラム実行領域として割り当てられた後に前記特定のアプリケーションプログラムとは異なる他のアプリケーションプログラムを前記プログラム実行領域に展開することを特徴とする情報処理装置。
  2. 前記第2記憶手段は、前記第2記憶領域とは異なる他の記憶領域に、前記オペレーティングシステム及び前記複数のアプリケーションプログラムを記憶することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2記憶領域は、前記第2記憶手段に1つのパーティションとして割り当てられた記憶領域であることを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記情報処理装置の起動時に前記複数のアプリケーションプログラムのうちいずれのアプリケーションプログラムを前記特定アプリケーションプログラムとして起動させるかを設定する設定手段と、
    前記設定手段により起動させると設定された前記特定アプリケーションプログラムがプログラム実行領域として必要とする記憶領域の容量が、前記第1記憶領域の容量より大きいか否かを判定する判定手段とを有し、
    前記初期化手段は、前記必要とする記憶領域の容量が前記第1記憶領域の容量より小さいと前記判定手段が判定した場合は前記第1記憶領域を前記プログラム実行領域として割り当てるための初期化処理を実行し、前記必要とする記憶領域の容量が前記第1記憶領域の容量より大きいと前記判定手段が判定した場合は前記第1記憶領域及び前記第2記憶領域を前記プログラム実行領域として割り当てるための初期化処理を実行することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
  5. 前記情報処理装置の操作者による操作を入力する入力手段を有し、
    前記特定アプリケーションプログラムは、前記入力手段による入力を処理するためのプログラムであり、
    前記実行手段は、前記特定アプリケーションプログラムを実行することにより前記入力手段による入力を処理することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
  6. 前記初期化手段は、前記特定アプリケーションプログラムが前記展開手段により前記プログラム実行領域に展開された後、前記他のアプリケーションプログラムの実行が前記実行手段により指示されたことに応じて、前記プログラム実行領域として前記第2記憶領域を割り当てるための初期化処理を実行し、
    前記展開手段は、前記第1記憶領域及び前記第2記憶領域が割り当てられた前記プログラム実行領域に、前記他のアプリケーションプログラムを展開することを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。
  7. 前記第2記憶領域の容量は、前記第1記憶領域の容量より大きいことを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
  8. 第1記憶領域を有する第1記憶手段と、第2記憶領域を有する第2記憶手段とを有し、オペレーティングシステム上で動作する複数のアプリケーションプログラムを実行可能な情報処理装置における情報処理方法であって、
    前記複数のアプリケーションプログラムに含まれる特定アプリケーションプログラムのプログラム実行領域として、前記第1記憶領域を割り当てるための初期化処理を実行する第1の初期化工程と、
    前記第1の初期化工程により前記第1記憶領域が割り当てられた前記プログラム実行領域に、前記特定アプリケーションプログラムを展開する第1の展開工程と、
    前記第1の展開工程により前記プログラム実行領域に展開された前記特定のアプリケーションプログラムを実行する第1の実行工程と、
    前記特定アプリケーションプログラムが前記第1の展開工程により前記プログラム実行領域に展開されて実行可能となった後に、前記プログラム実行領域として前記第2記憶領域を割り当てるための初期化処理を実行する第2の初期化工程と、
    前記第2の初期化工程により前記第2記憶領域が割り当てられた前記プログラム実行領域に、前記特定のアプリケーションプログラムとは異なる他のアプリケーションプログラムを展開する第2の展開工程と、
    前記第2の展開工程により前記プログラム実行領域に展開された前記他のアプリケーションプログラムを実行する第2の実行工程と、を有することを特徴とする情報処理方法。
  9. 前記第2記憶手段は、前記第2記憶領域とは異なる他の記憶領域に、前記オペレーティングシステム及び前記複数のアプリケーションプログラムを記憶することを特徴とする請求項8に記載の情報処理方法。
  10. 前記第2記憶領域は、前記第2記憶手段に1つのパーティションとして割り当てられた記憶領域であることを特徴とする請求項8又は9に記載の情報処理方法。
  11. 前記情報処理装置の起動時に前記複数のアプリケーションプログラムのうちいずれのアプリケーションプログラムを前記特定アプリケーションプログラムとして起動させるかを設定する設定工程と、
    前記設定工程により起動させると設定された前記特定アプリケーションプログラムがプログラム実行領域として必要とする記憶領域の容量が、前記第1記憶領域の容量より大きいか否かを判定する判定工程と、
    前記必要とする記憶領域の容量が前記第1記憶領域の容量より大きいと前記判定工程にて判定された場合に前記第1記憶領域及び前記第2記憶領域を前記プログラム実行領域として割り当てるための初期化処理を実行する第3の初期化工程と、
    前記第3の初期化工程で前記第1記憶領域及び前記第2記憶領域が割り当てられた前記プログラム実行領域に、前記特定のアプリケーションプログラムを展開する第3の展開工程と、
    前記第3の展開工程により前記プログラム実行領域に展開された前記特定のアプリケーションプログラムを実行する第1の実行工程と、を有し、
    前記第1の初期化工程、前記第1の展開工程、前記第1の実行工程、前記第2の初期化工程、前記第2の展開工程及び前記第2の実行工程は、前記必要とする記憶領域の容量が前記第1記憶領域の容量より小さいと前記判定工程にて判定された場合に実行されることを特徴とする請求項8乃至10のいずれか1項に記載の情報処理方法。
  12. 前記情報処理装置は、前記情報処理装置の操作者による操作を入力する入力手段を有し、
    前記特定アプリケーションプログラムは、前記入力手段による入力を処理するためのプログラムであり、
    前記第1の実行工程は、前記特定アプリケーションプログラムを実行することにより前記入力手段による入力を処理することを特徴とする請求項8乃至11のいずれか1項に記載の情報処理方法。
  13. 前記第2の初期化工程は、前記特定アプリケーションプログラムが前記第1の展開工程により前記プログラム実行領域に展開された後、前記他のアプリケーションプログラムの実行が指示されたことに応じて、前記プログラム実行領域として前記第2記憶領域を割り当てるための初期化処理を実行し、
    前記第2の展開工程は、前記第1記憶領域及び前記第2記憶領域が割り当てられた前記プログラム実行領域に、前記他のアプリケーションプログラムを展開することを特徴とする請求項8乃至12のいずれか1項に記載の情報処理方法。
  14. 前記第2記憶領域の容量は、前記第1記憶領域の容量より大きいことを特徴とする請求項8乃至13のいずれか1項に記載の情報処理方法。
JP2008062782A 2008-03-12 2008-03-12 情報処理装置及び情報処理方法 Active JP5159377B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008062782A JP5159377B2 (ja) 2008-03-12 2008-03-12 情報処理装置及び情報処理方法
US12/399,824 US8347305B2 (en) 2008-03-12 2009-03-06 Allocation of storage units for execution of application programs
US13/709,963 US20130104142A1 (en) 2008-03-12 2012-12-10 Information processing apparatus and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008062782A JP5159377B2 (ja) 2008-03-12 2008-03-12 情報処理装置及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2009217705A true JP2009217705A (ja) 2009-09-24
JP5159377B2 JP5159377B2 (ja) 2013-03-06

Family

ID=41064422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008062782A Active JP5159377B2 (ja) 2008-03-12 2008-03-12 情報処理装置及び情報処理方法

Country Status (2)

Country Link
US (2) US8347305B2 (ja)
JP (1) JP5159377B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015208878A (ja) * 2014-04-24 2015-11-24 京セラドキュメントソリューションズ株式会社 画像形成装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5675082B2 (ja) * 2009-11-26 2015-02-25 キヤノン株式会社 印刷装置及びその処理方法
US20140237208A1 (en) * 2013-02-20 2014-08-21 Hewlett-Packard Development Company, L.P. Protecting memory diagnostics from interference
CN103778007B (zh) * 2014-02-14 2018-06-08 北京猎豹移动科技有限公司 一种应用管理方法及装置
JP6827798B2 (ja) * 2016-12-21 2021-02-10 キヤノン株式会社 画像形成装置、画像形成装置の制御方法、プログラム。
JP7374622B2 (ja) * 2019-06-17 2023-11-07 キヤノン株式会社 情報処理装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0351918A (ja) * 1989-07-19 1991-03-06 Nec Corp タスク実行レベルによる有効ローディング方式
JPH064405A (ja) * 1990-09-03 1994-01-14 Internatl Business Mach Corp <Ibm> 拡張仮想記憶を有するコンピュータ
JPH08292892A (ja) * 1995-04-24 1996-11-05 Ricoh Co Ltd 複写システム
JP2003150321A (ja) * 2001-11-09 2003-05-23 Matsushita Electric Ind Co Ltd 仮想記憶デバイス管理装置、仮想記憶デバイス管理方法、仮想記憶デバイス管理プログラム及び仮想記憶デバイスが記録されたコンピュータ読み取り可能な記録媒体
JP2003196110A (ja) * 2001-09-21 2003-07-11 Ricoh Co Ltd 画像形成装置
JP2005108082A (ja) * 2003-10-01 2005-04-21 Okuma Corp デバイスドライバのインターフェース方法
JP2006202252A (ja) * 2004-12-24 2006-08-03 Canon Inc 電子機器、データ処理方法、及びコンピュータプログラム
JP2006259873A (ja) * 2005-03-15 2006-09-28 Ricoh Co Ltd 情報処理装置、画像形成装置、起動プログラムおよび記憶媒体

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09244958A (ja) 1996-03-11 1997-09-19 Nec Corp ページング方法とその方式
US7032073B2 (en) * 2001-07-02 2006-04-18 Shay Mizrachi Cache system for network and multi-tasking applications
US7334228B2 (en) * 2001-07-27 2008-02-19 International Business Machines Corporation Runtime-resource management
ATE550715T1 (de) * 2003-08-08 2012-04-15 Sap Ag Verfahren zur zuteilung von objekten an recheneinheiten
JPWO2006104197A1 (ja) * 2005-03-29 2008-09-11 富士通株式会社 処理装置、プログラムおよび記憶媒体
JP2007087498A (ja) * 2005-09-22 2007-04-05 Hitachi Ltd 記憶システム
US8024508B2 (en) * 2006-03-21 2011-09-20 Lg Electronics Inc. Computer storage control
US8671403B2 (en) * 2006-05-22 2014-03-11 Infosys Limited Pre-creating virtual machines in a grid environment
US20080219669A1 (en) * 2007-03-05 2008-09-11 Futurewei Technologies, Inc. SDH/SONET Convergent Network
US20080282022A1 (en) * 2007-05-09 2008-11-13 Broadcom Corporation, A California Corporation Partially storing software functions that are not expected to change over time in ROM instead of RAM

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0351918A (ja) * 1989-07-19 1991-03-06 Nec Corp タスク実行レベルによる有効ローディング方式
JPH064405A (ja) * 1990-09-03 1994-01-14 Internatl Business Mach Corp <Ibm> 拡張仮想記憶を有するコンピュータ
JPH08292892A (ja) * 1995-04-24 1996-11-05 Ricoh Co Ltd 複写システム
JP2003196110A (ja) * 2001-09-21 2003-07-11 Ricoh Co Ltd 画像形成装置
JP2003150321A (ja) * 2001-11-09 2003-05-23 Matsushita Electric Ind Co Ltd 仮想記憶デバイス管理装置、仮想記憶デバイス管理方法、仮想記憶デバイス管理プログラム及び仮想記憶デバイスが記録されたコンピュータ読み取り可能な記録媒体
JP2005108082A (ja) * 2003-10-01 2005-04-21 Okuma Corp デバイスドライバのインターフェース方法
JP2006202252A (ja) * 2004-12-24 2006-08-03 Canon Inc 電子機器、データ処理方法、及びコンピュータプログラム
JP2006259873A (ja) * 2005-03-15 2006-09-28 Ricoh Co Ltd 情報処理装置、画像形成装置、起動プログラムおよび記憶媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015208878A (ja) * 2014-04-24 2015-11-24 京セラドキュメントソリューションズ株式会社 画像形成装置

Also Published As

Publication number Publication date
US20090235271A1 (en) 2009-09-17
US20130104142A1 (en) 2013-04-25
US8347305B2 (en) 2013-01-01
JP5159377B2 (ja) 2013-03-06

Similar Documents

Publication Publication Date Title
JP4354483B2 (ja) 画像処理装置、画像処理システム、画像処理方法、および画像処理プログラム
JP5289153B2 (ja) 情報処理装置及びその制御方法、並びにコンピュータプログラム
JP5159377B2 (ja) 情報処理装置及び情報処理方法
JP4182090B2 (ja) データ処理装置
JP6164938B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
EP2613514A2 (en) Image forming apparatus and method of booting image forming apparatus having hibernation function
JP6351315B2 (ja) 画像処理装置、その制御方法及びプログラム
US11327769B2 (en) Control device, image forming apparatus, and start-up method thereof
JP2004266661A (ja) 画像形成装置
JP2018078485A (ja) 情報処理装置および情報処理装置の起動方法
JP5287494B2 (ja) 画像処理装置
JP5060241B2 (ja) 情報処理装置及びその制御方法
JP2004038545A (ja) ハイバネーション制御方法、ハイバネーション制御装置、画像処理装置
CN111541825B (zh) 电子装置及其控制方法
JP2008269609A (ja) 情報処理装置、画像処理装置、情報処理装置に用いられるレジューム制御方法および画像処理装置に用いられるレジューム制御方法
CN109660689B (zh) 图像形成设备、图像形成设备的控制方法和存储介质
US8976377B2 (en) Image forming apparatus, control method of image forming apparatus, and computer-readable recording medium
US10956090B2 (en) Memory system and electronic apparatus
JP2007149001A (ja) 制御装置、電力制御方法
JP2004074621A (ja) 画像形成装置
JP2010020689A (ja) 画像処理装置、画像処理方法及びコンピュータプログラム
JP2009140069A (ja) 印刷システム
JP2007136824A (ja) 印刷装置及び印刷方法、コンピュータプログラム及び記憶媒体
JP4958723B2 (ja) 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体
JP2004229127A (ja) デジタル複合機の部門管理制御システム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100201

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20100630

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120924

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121211

R151 Written notification of patent or utility model registration

Ref document number: 5159377

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3