(57)【特許請求の範囲】
【請求項１】
オペレーティングシステム上でアプリケーションプログラムを実行可能な情報処理装置であって、
第１記憶手段と、
第２記憶手段と、
第１アプリケーションプログラムのプログラム実行領域として前記第１記憶手段の物理記憶領域を割り当てる割当手段と、
前記第１アプリケーションプログラムを前記プログラム実行領域に割り当てられた物理記憶領域に展開する展開手段と、
前記展開手段が前記第１アプリケーションプログラムを展開した後に、オペレーティングシステム上でアプリケーションプログラムを実行するための仮想記憶領域として前記第２記憶手段の物理記憶領域を割り当てる処理を含む仮想記憶領域の初期化処理を実行する初期化手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記第２記憶手段は、前記オペレーティングシステム及び前記複数のアプリケーションプログラムを記憶することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１アプリケーションプログラムを設定する設定手段を更に有することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記割当手段は、前記第１記憶手段においてアプリケーションプログラムのために使用可能な記憶容量が前記第１アプリケーションプログラムによって必要とされる記憶容量より大きい場合に、前記プログラム実行領域として前記第１記憶手段の物理記憶領域を割り当て、前記第１記憶手段においてアプリケーションプログラムのために使用可能な記憶容量が前記第１アプリケーションプログラムによって必要とされる記憶容量より小さい場合に、前記プログラム実行領域として前記第１記憶手段の物理記憶領域及び前記第２記憶手段の物理記憶領域を割り当てることを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記情報処理装置の操作者による操作を入力する入力手段を更に有し、
前記第１アプリケーションプログラムは、前記入力手段による入力を処理するためのプログラムであることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記初期化手段は、前記展開手段が前記第１アプリケーションプログラムを展開した後、第２アプリケーションプログラムの実行が必要になったことに応じて、前記仮想記憶領域の初期化処理を実行することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第２記憶手段の記憶容量は、前記第１記憶手段の記憶容量より大きいことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記展開手段は、第２アプリケーションプログラムを前記仮想記憶領域に割り当てられた物理記憶領域に展開することを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記初期化手段は、前記第１記憶手段においてアプリケーションプログラムのために使用可能な記憶容量が前記第１アプリケーションプログラムによって必要とされる記憶容量より大きい場合に、前記展開手段が前記第１アプリケーションプログラムを展開した後に前記仮想記憶領域の初期化処理を実行し、前記第１記憶手段においてアプリケーションプログラムのために使用可能な記憶容量が前記第１アプリケーションプログラムによって必要とされる記憶容量より小さい場合に、前記展開手段が前記第１アプリケーションプログラムを展開する前に前記仮想記憶領域の初期化を実行することを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記情報処理装置が省電力モードへ移行する際に、前記仮想記憶領域を無効化する無効化手段を更に有することを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記初期化手段は、前記情報処理装置が省電力モードから移行する際に、前記仮想記憶領域の初期化を再び実行することを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
前記情報処理装置が省電力モードから移行する際に、前記第２記憶手段に電源を投入する電源投入手段を更に有し、
前記電源投入手段は、第２のプログラムが存在しない場合には、前記第２記憶手段に電源を投入しないことを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
第１記憶手段と、第２記憶手段とを有し、オペレーティングシステム上でアプリケーションプログラムを実行可能な情報処理装置の制御方法であって、
第１アプリケーションプログラムのプログラム実行領域として前記第１記憶手段の物理記憶領域を割り当てる割当工程と、
前記第１アプリケーションプログラムを前記プログラム実行領域に割り当てられた物理記憶領域に展開する展開工程と、
前記展開工程で前記第１アプリケーションプログラムを展開した後に、オペレーティングシステム上でアプリケーションプログラムを実行するための仮想記憶領域として前記第２記憶手段の物理記憶領域を割り当てる処理を含む仮想記憶領域の初期化処理を実行する初期化工程と、
を有することを特徴とする制御方法。
【請求項１４】
第１記憶手段と、第２記憶手段とを有し、オペレーティングシステム上でアプリケーションプログラムを実行可能な情報処理装置に、
第１アプリケーションプログラムのプログラム実行領域として前記第１記憶手段の物理記憶領域を割り当てる割当工程と、
前記第１アプリケーションプログラムを前記プログラム実行領域に割り当てられた物理記憶領域に展開する展開工程と、
前記展開工程で前記第１アプリケーションプログラムを展開した後に、オペレーティングシステム上でアプリケーションプログラムを実行するための仮想記憶領域として前記第２記憶手段の物理記憶領域を割り当てる処理を含む仮想記憶領域の初期化処理を実行する初期化工程と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
従来から、情報処理装置におけるメモリアロケーション方式として、静的メモリアロケーション方式が広く利用されてきた。静的メモリアロケーション方式は、プログラム全体をハードディスク等の補助記憶装置からＲＡＭなどの主記憶装置へ展開（ロード）し、その主記憶装置上でプログラムを実行する方式をいう。
【０００３】
これに対して最近は、情報処理装置のオペレーティングシステムに、仮想記憶方式を実行可能なオペレーティングシステムが採用されるようになってきている。仮想記憶方式としては、ページング方式が用いられる一般的であり、Ｗｉｎｄｏｗｓ（登録商標）やＬｉｎｕｘ（登録商標）などのオペレーティングシステムもメモリアロケーション方式としてページング方式を採用している。
【０００４】
ページング方式（例えば、特許文献１参照。）は、物理記憶領域、仮想記憶領域を、一定単位（例えば、４Ｋバイト）のページに分割し、物理記憶領域と仮想記憶領域との対応関係をページテーブルで管理する方式である。ここで、物理記憶領域とは、主記憶装置の物理記憶領域と補助記憶装置の物理記憶領域とを含むものである。そして、ページテーブルは、主記憶装置と補助記憶装置とに分散した複数の物理記憶領域を１つの仮想的な仮想記憶領域として管理するためのものである。
【０００５】
ページング方式では、ファイルや実行プログラムの全体を主記憶装置の物理記憶領域に配置せずに、ファイルや実行プログラムの一部分だけを配置する。そしてオペレーティングシステムは、アプリケーションプログラム等により仮想記憶領域上のあるページにアクセスがあった場合、そのページが主記憶装置の物理記憶領域に割り付けられていない場合（ページフォルト）は、ページ印処理を実行する。ページイン処理とは、ページテーブルに基づいて、補助記憶装置の物理記憶領域に記憶されたページの読み込みを行う処理をいう。そして、ページインが発生すると、オペレーティングシステムは、主記憶装置の物理記憶領域に存在する空きページを検索する。そしてオペレーティングシステムは、空きページが見つかると、補助記憶装置から読み出したプログラムを、検索された空きページにロードする。そして、ページテーブルを更新した後に通常処理へ復帰し、オペレーティングシステムは仮想記憶領域上のプログラムを実行する。
【特許文献１】特開平９−２４４９５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
仮想記憶方式を実行可能な情報処理装置は、主記憶装置の記憶容量に制限されることなくプログラムが実行できるので、オペレーティングシステム上で多数のアプリケーションプログラムを並行して実行するような場合に有利である。しかし、情報処理装置を起動する際に、主記憶装置の物理記憶領域と補助記憶装置の物理記憶領域とで仮想記憶領域を構成すると、仮想記憶領域を構成するための初期化処理に時間がかかることになる。ここでいう初期化処理とは、例えば、仮想記憶領域として構成される物理記憶領域に対して、０などの所定の値を書き込むことによって行われる。特に、情報処理装置のオペレーティングシステム上で多数のアプリケーションプログラムを並行して実行できるようにするには、補助記憶装置の物理記憶領域として主記憶装置の物理記憶領域よりも大きな領域を確保するのが望ましい。
【０００７】
その一方で、情報処理装置の操作者にとっては、情報処理装置に電源を投入して情報処理装置の起動を開始してから、何らかのアプリケーションプログラムを実行できるまでの待機時間（起動時間）が短いことが望ましい。
【０００８】
本発明は、上記の問題点を鑑みてなされたものであり、情報処理装置の主記憶装置の記憶容量に拘わらず複数のアプリケーションプログラムを並行して実行できるようにするとともに、情報処理装置が起動を開始してから特定のアプリケーションプログラムを実行できるまでの待機時間を短くすることを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の情報処理装置は、オペレーティングシステム上でアプリケーションプログラムを実行可能な情報処理装置であって、第１記憶手段と、第２記憶手段と、第１アプリケーションプログラムのプログラム実行領域として前記第１記憶手段の物理記憶領域を割り当てる割当手段と、前記第１アプリケーションプログラムを前記プログラム実行領域に割り当てられた物理記憶領域に展開する展開手段と、前記展開手段が前記第１アプリケーションプログラムを展開した後に、オペレーティングシステム上でアプリケーションプログラムを実行するための仮想記憶領域として前記第２記憶手段の物理記憶領域を割り当てる処理を含む仮想記憶領域の初期化処理を実行する初期化手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、情報処理装置の主記憶装置の記憶容量に拘わらず複数のアプリケーションプログラムを並行して実行できるようにするとともに、情報処理装置が起動を開始してから特定のアプリケーションプログラムを実行できるまでの待機時間を短くすることができる。
【発明を実施するための最良の形態】
【００１２】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、以下の実施の形態に記載されている構成要素はあくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１３】
＜第１実施形態＞
図１は、本発明の第１実施形態を示す情報処理装置の構成を説明するブロック図である。
【００１４】
図１において、２０００はコントローラユニット（Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ：ＣＵ）で、ＣＵ２０００は画像入力デバイスであるスキャナ（Ｓｃａｎｎｅｒ）２０７０や画像出力デバイスであるプリンタ（Ｐｒｉｎｔｅｒ）２０９５と接続されている。また、ＣＵ２０００は、一方ではＬＡＮ２０１１や公衆回線（ＷＡＮ）２０５１と接続することで、画像情報やデバイス情報の入出力を行う。
【００１５】
なお、コントローラユニット２０００は、電源制御部２０５２を備えており、プリントモードから省電力モードへ移行させたり、省電力モードからプリントモードへ移行させたりする電源制御を行う。
【００１６】
２００１はＣＰＵで、ＣＵ２０００を制御するコントローラである。２００２はＳＤＲＡＭ（第１記憶手段）で、ＣＰＵ２００１がプログラムを実行するためのシステムワークメモリであり、画像データを一時的に記憶するための画像メモリでもある。２００３はＲＯＭで、ブートＲＯＭとして機能し、ＣＰＵ２００１がＣＵ２０００の各部に対して初期化処理を実行するためのブートプログラム（初期化プログラム）が格納されている。ブートプログラムには、ＨＤＤ２００４（第２記憶手段）に記憶されたオペレーティングシステムやアプリケーションプログラムをＳＤＲＡＭ２００２上の記憶領域に展開するブートローダが含まれる。なお、ブートプログラムは、ＲＯＭ２００３ではなく、後述するＨＤＤ２００４に格納させるようにしても良い。
【００１７】
２００４はハードディスクドライブ（ＨＤＤ）で、ＣＰＵ２００１により実行されるオペレーティングシステムやオペレーティングシステム上で実行される複数のアプリケーションプログラム等を記憶する。なお、オペレーティングシステム及び複数のアプリケーションプログラムは、後述する仮想記憶領域として利用される記憶領域８０４とは異なる他の記憶領域に記憶されているものとする。なお、ここでは、ＨＤＤ２００４にオペレーティングシステム及び複数のアプリケーションプログラムを記憶させておくものとしたが他の態様であっても良い。例えば、オペレーティングシステム及び複数のアプリケーションプログラムをＨＤＤ２００４とは異なる他の不揮発性記憶媒体に記憶させても良い。
【００１８】
２００６は操作部Ｉ／Ｆで、操作部２０１２とのインタフェース部として機能し、操作部２０１２に表示する画像データを操作部２０１２に対して出力する。また、操作部２０１２（入力手段）から情報処理装置の操作者が入力した情報を、ＣＰＵ２００１に伝える役割をする。
【００１９】
２０１０はネットワーク（Ｎｅｔｗｏｒｋ）部で、ＬＡＮ２０１１に接続し、ＬＡＮ２０１１を介して外部装置から受信するデータの受信処理やＬＡＮ２０１１を介して外部装置へデータを送信する送信処理を行う。
【００２０】
２０５０はモデム（Ｍｏｄｅｍ）部で、公衆回線２０５１に接続し、公衆回線２０５１を介して外部装置から受信するファクシミリデータの受信処理や公衆回線２０５１を介して外部装置へファクシミリデータを送信する送信処理を行う。以上の各部がシステムバス２００７を介して相互に接続される。
【００２１】
２００５はイメージバスＩ／Ｆ（Ｉｍａｇｅ  Ｂｕｓ  Ｉ／Ｆ）で、システムバス２００７と画像データを高速で転送する画像バス２００８を接続し、データ構造を変換するバスブリッジである。
【００２２】
２００８は画像バスで、ＰＣＩバスまたはＩＥＥＥ１３９４で構成される。画像バス２００８上には以下のデバイスが配置される。
【００２３】
２０６０はラスタイメージプロセッサ（ＲＩＰ）部で、ネットワーク部２０１０を介して外部装置から入力される印刷データに含まれるＰＤＬコードをビットマップイメージに展開する画像処理を行う。２０２０はデバイスＩ／Ｆ部で、画像入出力デバイスであるスキャナ２０７０やプリンタ２０９５とＣＰＵ２００１を接続し、画像データの同期系／非同期系の変換を行う。
【００２４】
スキャナ２０７０は、ＣＣＤ（ＣｈａｒｇｅＣｏｕｐｌｅｄＤｅｖｉｃｅ）等の撮像素子により原稿上の画像を電気信号として読み取り、その読み取った信号をアナログ／デジタル変換することで、画像データを取得するデバイスである。また、プリンタ２０９５は、ＨＤＤ２００４等に記憶された画像データに応じた画像を用紙上にトナー等の現像剤で印刷処理するデバイスである。
【００２５】
２０８０はスキャナ画像処理部で、スキャナ２０７０から入力された画像データに対し補正、加工、編集等の画像処理を行う。２０９０はプリンタ画像処理部で、画像バスＩ／Ｆ部２００５を介して入力される画像データに対して、プリンタ２０９５でプリントするための補正、解像度変換等の画像処理を行う。
【００２６】
２０３０は画像回転部で、画像データの回転処理を行う。２０４０は画像圧縮部で、多値画像データはＪＰＥＧ、２値画像データはＪＢＩＧ、ＭＭＲ、ＭＨの圧縮伸長処理を行う。
【００２７】
２０５２は電源制御部であり、ＣＰＵ２００１からの指示によりＣＵ２０００内の各ユニットやスキャナ２０７０，プリンタ２０９５に電圧を供給する電源を制御する。また、電源制御部２０５２は、省電力モード時においては外部からの各復帰要因によりＣＵ２０００に電源を投入する動作を行う。なお、電源制御部２０５２により制御される電源（不図示）は、外部の商用電源からの交流電圧の供給に基づいて、直流電圧を生成するものである。また、外部の商用電源と電源制御部２０５２により制御される電源との間にはメインスイッチが設けられており、情報処理装置の操作者は、メインスイッチをオンすることで情報処理装置の起動を開始させる。また、情報処理装置の操作者は、メインスイッチをオフすることで情報処理装置を停止させる。
【００２８】
図２は、情報処理装置の起動時におけるＣＵ２０００が実行する処理の流れを示すフローチャートである。また、図３は、図２のフローチャートに基づいて動作するＣＰＵ２００１の処理内容を時間経過とともに説明したタイミングチャートである。以下、図２及び図３を参照しながら、情報処理装置の起動時におけるＣＵ２０００の処理の流れについて説明する。
【００２９】
まず、図２のフローチャートで示されるＣＵ２０００の起動処理は、情報処理装置の操作者がメインスイッチ（不図示）をオフ状態からオン状態に切り替えることにより開始される。
【００３０】
ステップＳ２０１で、ＣＰＵ２００１は、ＲＯＭ２００３からＳＤＲＡＭ２００２へ、ＢＩＯＳ（バイオス）をロードし、ＣＰＵ２００１の初期化処理を行う。
【００３１】
ステップＳ２０２で、ＣＰＵ２００１は、ＣＰＵ２００１がＢＩＯＳを実行することにより、ＲＯＭ２００３からのデータの読み出しが可能な状態になったことを確認すると、ＲＯＭ２００３からブートローダをＳＤＲＡＭ２００２へロードして実行する。
【００３２】
ステップＳ２０３で、ＣＰＵ２００１は、ブートローダを実行することにより、ＨＤＤ２００４へアクセスする。そして、ＨＤＤ２００４に格納されたオペレーティングシステムプログラム（以下、ＯＳ）を取得してＳＤＲＡＭ２００２へロードする。そして、ＣＰＵ２００１は、ＳＤＲＡＭ２００２にロードされたＯＳをＳＤＲＡＭ２００２上に展開し、ＯＳを実行する。
【００３３】
ステップＳ２０４で、ＣＰＵ２００１は、ＯＳを実行することにより、ＣＵ２０００内の各種デバイス（ネットワーク部２０１０、プリンタ２０９５等）を認識し、各種デバイスについての設定を行う。なお、ＯＳは、アプリケーションプログラムの実行領域としてＳＤＲＡＭ２００２上の物理記憶領域（後述する物理記憶領域８０３）を、割り当てる。
【００３４】
ステップＳ２０５で、ＣＰＵ２００１により実行されるＯＳは、ＨＤＤ２００４に記憶されたアプリケーション設定テーブルを参照する。ここで、アプリケーション設定テーブルの一例を図４に示す。
【００３５】
図４には、ＨＤＤ２００４に記憶されるＮ個のアプリケーションプログラムについて、各アプリケーションプログラムについて、プログラムの起動に関する設定及びプログラムが必要とする記憶容量がテーブル化されている。図４において、アプリケーションＡは、ネットワーク機能実行プログラムであり、ネットワーク部２０１０を介してＬＡＮ２０１１に接続された外部装置とデータの送受信を行うためのアプリケーションプログラムである。また、アプリケーションＢは、ＨＤＤバックアッププログラムである。そして、このプログラムは、ＨＤＤ２００４に記憶されたデータをバックアップするために、ＬＡＮ２０１１を介して接続される外部装置に、ＨＤＤ２００４に記憶されたデータの少なくとも一部を送信する。なお、アプリケーションＢは、ネットワーク部２０１０を利用したネットワーク機能が必要となるので、アプリケーションＢが実行できるには、アプリケーションＡが起動されていることが条件となる。また、アプリケーションＣは、スキャン機能実行プログラムである。そして、このプログラムは、スキャナ２０７０から入力される画像データをデバイスＩ／Ｆ部２０２０を介してＳＤＲＡＭ２００２へ記憶させ、更にＳＤＲＡＭ２００２に記憶された画像データをＨＤＤ２００４へ記憶させる。また、アプリケーションＤは、プリント機能実行プログラムであり、ＨＤＤ２００４に記憶された画像データを、プリンタ２０９５に転送して、プリンタ２０９５に画像データに応じた画像を用紙上に印刷処理させるためのプログラムである。アプリケーションＤは、ＨＤＤ２００４に記憶された画像データを、ＳＤＲＡＭ２００２に一旦転送し、更にＳＤＲＡＭ２００２からデバイスＩ／Ｆ部２０２０を介してプリンタ２０９５に転送する。また、アプリケーションＥは、操作部機能実行プログラムであり、操作部２０１２を介して情報処理装置の操作者により入力された、情報処理装置に対する入力を、操作部Ｉ／Ｆ２００６を介してＣＰＵ２００１に送信するためのプログラムである。ＯＳは、操作部機能実行プログラムを実行することにより、他のアプリケーションが機能を実行するための操作者による指示を受け付けることが可能となる。例えば、アプリケーションＥは、操作部２０１２を介して、スキャン機能を実行するための設定条件（解像度、原稿サイズ、カラー／白黒の種別等）を受け付けることで、スキャン機能を実行するための設定条件をアプリケーションＣに認識させることができる。そして、スキャン機能を実行するための設定条件を認識したアプリケーションＣは、スキャン機能実行プログラムを実行する際に、認識した設定条件を用いることで、操作者の指示に基づいたスキャン機能を実現することができる。また例えば、アプリケーションＥは、操作部２０１２を介して、プリント機能を実行するための設定条件（印刷処理される用紙のサイズ、両面／片面印刷の指示等）を受け付ける。これにより、アプリケーションＥは、プリント機能を実行するための設定条件をアプリケーションＤに認識させることができる。そして、プリント機能を実行するための設定条件を認識したアプリケーションＤは、プリント機能実行プログラムを実行する際に、認識した設定条件を用いることで、操作者の指示に基づいたプリント機能を実現することができる。
【００３６】
また、図４に示すアプリケーション設定テーブルには、各アプリケーションに対してプログラムの起動に関する設定がされている。起動設定には、３種類の設定があり、起動設定が“１”又は“２”の場合は、ＯＳが起動時にそのアプリケーションを起動させることを示す。なお、起動設定が“１”の場合、少なくとも後述するＳ２０８（仮想記憶領域の初期化）の実行前に、アプリケーションを起動させる。また、起動設定が“２”の場合、少なくとも後述するＳ２０９（仮想記憶領域の初期化）の実行後に、アプリケーションを起動させる。また、起動設定が“３”の場合、ＯＳは、そのアプリケーションをＯＳの起動時には起動させない。
【００３７】
また、図４には、各アプリケーションがプログラムの実行時に必要とする記憶容量が設定されている。図４のテーブルに示される容量のメモリがＯＳによってプログラム実行領域として確保されていないと、そのプログラムを実行することはできない。
【００３８】
ここで、図２のステップＳ２０５の説明に戻る。ステップＳ２０５で、ＣＰＵ２００１により実行されるＯＳは、図４に示すアプリケーション設定テーブルを参照し、アプリケーションＡ〜Ｎについて、起動設定と、各アプリケーションの実行に必要な記憶容量を確認する。なお、このアプリケーション設定テーブルにおける設定内容は、ＯＳにより設定可能である。そして、この際、ＣＰＵ２００１により実行されるＯＳは、アプリケーションプログラム毎に起動設定を行う設定手段として機能する。
【００３９】
ステップＳ２０６で、ＯＳ（判定手段）は、ＳＤＲＡＭ２００２上のプログラム実行領域（第１記憶領域）の記憶容量はアプリケーションの実行に必要な記憶容量より大きいか否かを判定する。ＳＤＲＡＭ２００２上のプログラム実行領域とは、ＯＳがアプリケーションプログラムを実行するためにＳＤＲＡＭ上に確保可能な領域をいい、例えば、ＳＤＲＡＭ２００２に総記憶容量からＯＳが必要とする容量を差し引いた領域をいう。なお、アプリケーションの実行に必要な記憶容量は、図４で起動設定が“１”となっているアプリケーションが必要とする記憶容量の合計値をいい、図４の例では、１２８ＭｅｇａＢｙｔｅ＋１２８ＭＢ＋１２８ＭＢ＝３８４ＭＢである。そして、Ｓ２０６で、ＣＰＵ２００１は、アプリケーションの実行に必要な記憶容量が３８４ＭＢであることから、ＳＤＲＡＭ２００２上のプログラム実行領域が３８４ＭＢより大きければステップＳ２０７へ進み、そうでなければステップＳ２１１へ進む。
【００４０】
ステップＳ２０７で、ＯＳ（初期化手段）は、起動設定が“１”となっているアプリケーションプログラムを起動させるために、アプリケーション起動のための初期化処理を実行する。ここでいう初期化処理とは、例えば、仮想記憶領域として構成される物理記憶領域に対して、０などの所定の値が書き込まれることによって行われる。この初期化処理では、起動設定が“１”となっているアプリケーションプログラムのプログラム実行領域として、主記憶装置の物理記憶領域８０３を割り当てる処理が含まれる（第１の初期化工程）。
【００４１】
ステップＳ２０８で、ＯＳは、起動設定が“１”となっているアプリケーションプログラム（図４の例では、Ｃ、Ｄ、Ｅ）を起動させる。具体的には、ＯＳは、ＨＤＤ２００４に記憶されたアプリケーションプログラムＣ、Ｄ、ＥをＳＤＲＡＭ２００２上へ展開する（第１の展開工程）。この際、ＯＳを実行するＣＰＵ２００１は、アプリケーションプログラムをプログラム実行領域に展開する展開手段として機能する。なお、アプリケーションＣ、Ｄ、Ｅを実行するのに必要な記憶容量は、ＳＤＲＡＭ２００２上に確保されたプログラム実行領域の記憶容量より大きくない。従って、ＯＳは、アプリケーションＣ、Ｄ、Ｅを、ＳＤＲＡＭ２００２上のプログラム実行領域のみを用いて実行する（第１の実行工程）。なお、ＯＳは、アプリケーションＣ、Ｄ、Ｅを実行するのに先立って、少なくとも各アプリケーションをＳＤＲＡＭ上のプログラム実行領域に展開しておくものとする。
【００４２】
ステップＳ２０９で、ＯＳは、情報処理装置がアプリケーションプログラムＣ〜Ｅだけでなく、ＡやＢも実行できるようにするために、仮想記憶領域を初期化する。ここでいう初期化処理とは、例えば、仮想記憶領域として構成される物理記憶領域に対して、０などの所定の値が書き込まれることによって行われる。なお、ＯＳが仮想記憶領域の初期化処理を実行する時点では、アプリケーションプログラムＣ〜Ｅの起動は完了しているものとする。
【００４３】
ここで、仮想記憶領域の初期化について図８を用いて説明する。図８は、仮想記憶領域、主記憶装置上の記憶領域、補助記憶装置上の記憶領域及びアドレス変換テーブルを示す図である。仮想記憶領域８０１とは、情報処理装置のオペレーティングシステム上で多数のアプリケーションプログラムを並行して実行するための記憶領域をいい、主記憶装置の物理記憶領域８０３と補助記憶装置の物理記憶領域８０４とを含むものである。ＯＳは、アプリケーションプログラムを実行するにあたって、そのアプリケーションプログラムが必要とする記憶容量がプログラム実行領域として確保されていないと、アプリケーションプログラムを実行することができない。そこで、ＯＳは、主記憶装置上の記憶領域８０３だけでなく、補助記憶装置上の記憶領域８０４もプログラム実行領域としてＯＳが使用できるように、アドレス変換テーブル８０２を作成する。なお、このアドレス変換テーブル８０２は、ＳＤＲＡＭ２００２に記憶させておくものとする。また、本実施形態において、主記憶装置はＳＤＲＡＭ２００２であり、補助記憶装置はＨＤＤ２００４である。ＯＳは、アプリケーションプログラムの実行領域として１〜ＮのＮ個のページ（例えば、１ページは４Ｋバイト）を確保する。具体的に、ＯＳは、Ｎ個のページをＳＤＲＡＭ２００２上の物理記憶領域８０３と、補助記憶装置上の物理記憶領域８０４の双方に割り当てる処理化処理を実行する（第２の初期化工程）。その割り当てをするのが、アドレス変換テーブル８０２であり、仮想記憶領域８０１のどのページが、主記憶装置又は補助記憶装置のどのページに対応するのかを変換するための情報が記述されている。ＯＳは、仮想記憶領域８０１として割り当てられたＮページ分のプログラム実行領域を確保しているものとしてアプリケーションプログラムを実行する。一方で、ＯＳは、アプリケーションプログラムにより仮想記憶領域８０１のあるページにアクセスがあった場合、そのページが物理的には主記憶装置に存在するのか、補助記憶装置に存在するのかを判定する。その判定により、アクセスのあったページが主記憶装置上の記憶領域８０３に存在すれば、主記憶装置上の該当する記憶領域を用いてプログラムを実行する。一方、アクセスのあったページが補助記憶装置上の記憶領域８０４に存在すれば、主記憶装置上で空きページ（データが格納されていないページ等）を検索し、検索したページに補助記憶装置の該当する記憶領域からデータをロードしてプログラムを実行する。ＯＳは、上記のようなアドレス変換テーブルを作成することにより、ＯＳがプログラム実行領域として確保する記憶容量を見かけ上増大させることができる。なお、図５において、斜線で示したページは、物理的には主記憶装置上に存在する。また、本実施例では、アプリケーションＡ〜ＥをＯＳが並行して実行可能とするために、仮想記憶領域８０１として、主記憶装置の５１２ＭＢと補助記憶装置の１ＧＢとを割り当てることとする。また、補助記憶装置上の物理記憶領域から仮想記憶領域８０１に割り当てる１ＧＢの記憶領域（第２記憶領域）は、仮想記憶領域のために割り当てられた１つのパーティションであるのが望ましい。
【００４４】
ここで、図２のステップＳ２０９の説明に戻る。ステップＳ２０９で、ＣＰＵ２００１は、仮想記憶領域８０１の初期化（アドレス変換テーブルの作成）を行うとステップＳ２１０に処理を進める。なお、仮想記憶領域８０１の初期化は、ステップＳ２０８の後に実行される。つまり、ＯＳは、起動設定が“１”となっているアプリケーションプログラムがプログラム実行領域に展開された後に、プログラム実行領域としてＨＤＤ２００４の物理記憶領域８０４を割り当てる。
【００４５】
ステップＳ２１０で、ＯＳは、起動設定が“２”となっているアプリケーションプログラム（図４の例では、Ａ、Ｂ）を起動させる。具体的には、ＯＳは、ＨＤＤ２００４に記憶されたアプリケーションプログラムＡ、ＢをＳＤＲＡＭ２００２上へ展開する（第２の展開工程）。この際、ＯＳを実行するＣＰＵ２００１は、アプリケーションプログラムをプログラム実行領域に展開する展開手段として機能する。前述したように、ステップＳ２０９にて、仮想記憶領域として５１２ＭＢ＋１ＧＢ＝１．５ＧＢが割り当てられている。従って、ＯＳは、すでに起動済みのアプリケーションＣ〜Ｅに加え、アプリケーションＡ及びＢを起動してもプログラム実行領域は仮想記憶領域８０１上に十分確保されている。従って、ＯＳは、アプリケーションＡ〜Ｅを、仮想記憶領域８０１を用いて実行する（第２の実行工程）。
【００４６】
そして、Ｓ２１０が終了すると、ＯＳは、情報処理装置の起動時の処理が終了したものとし、アプリケーションＡ〜Ｅを実行する通常動作に移行する。
【００４７】
次に、ステップＳ２０６でＮＯと判定された場合にＯＳが実行する処理について説明する。
【００４８】
ステップＳ２０６でＮＯと判定されるのは、ＳＤＲＡＭ２００２上のプログラム実行領域の記憶容量はアプリケーションの実行に必要な記憶容量より大きくない場合である。この場合、ＯＳがアプリケーションの起動及び実行に必要なプログラム実行領域が確保されていないので、プログラム実行領域を増大させる必要がある。そこで、ＯＳは、ステップＳ２１１で、ステップＳ２０９で説明した仮想記憶領域８０１の初期化を行う（第３の初期化工程）。
【００４９】
ステップＳ２１３で、ＯＳは、起動設定が“１”となっているアプリケーションプログラム及び起動設定が“２”となっているアプリケーションプログラムを起動させる。具体的には、ＯＳは、ＨＤＤ２００４に記憶されたアプリケーションプログラムＡ〜ＥをＳＤＲＡＭ２００２上へ展開する（第３の展開工程）。この際、ＯＳを実行するＣＰＵ２００１は、アプリケーションプログラムをプログラム実行領域に展開する展開手段として機能する。Ｓ２１３では、仮想記憶領域８０１として１．５ＧＢが既に割り当てられている。従って、ＯＳは、アプリケーションＡ〜Ｅを起動してもプログラム実行領域は仮想記憶領域８０１上に十分確保されている。従って、ＯＳは、アプリケーションＡ〜Ｅを、仮想記憶領域８０１を用いて実行する（第３の実行工程）。なお、ＯＳは、起動設定が“１”となっているアプリケーションプログラムを起動設定が“２”となっているアプリケーションプログラムより先に起動させるものとする。
【００５０】
そして、Ｓ２１３が終了すると、ＯＳは、情報処理装置の起動時の処理が終了したものとし、アプリケーションＡ〜Ｅを実行する通常動作に移行する。
【００５１】
以上説明したように、情報処理装置の主記憶装置の記憶容量に拘わらず複数のアプリケーションプログラムを並行して実行できるようにするとともに、情報処理装置が起動を開始してから特定アプリケーションプログラムを実行できるまでの待機時間を短くすることができる。なお、本実施形態において、“主記憶装置の記憶容量”とは、ＳＤＲＡＭ２００２上にプログラム実行領域として確保可能な記憶容量をいう。また、特定アプリケーションプログラムとは、起動設定が“１”と図４のアプリケーション設定テーブルにて設定されているプログラムをいう。そして、特定アプリケーションプログラムとしては、図４に示したものに限られず、起動設定についても種々の設定が可能である。例えば、アプリケーションＥのみを起動設定“１”とし、アプリケーションＡ〜Ｄは起動設定“２”とするようにしてもよい。この場合、仮想記憶領域の初期化の前に起動されるアプリケーションは、アプリケーションＥのみであり、情報処理装置の操作者が操作部を介した入力を早期に開始させることができる。そして、情報処理装置の操作者が情報処理装置を起動してから何らかの操作ができるまでの待ち時間を短縮することができる。なお、操作部を介して入力されたスキャンの設定条件やプリントの設定条件は、ＳＤＲＡＭ２００２等に保持され、スキャン機能実行プログラムやプリント機能実行プログラムが起動したら利用できるようになる。
【００５２】
また、本実施形態においては、ステップＳ２０６でＹＥＳと判定された後、ステップＳ２０８で起動設定が“１”のアプリケーションプログラムを起動させ、その起動が完了したことに応じて仮想記憶領域を初期化するものとしたが他の態様であっても良い。例えば、仮想記憶領域の初期化は、起動設定が“２”のアプリケーションを実行することがＯＳにより指示されたことに応じて行っても良い。
【００５３】
＜第２実施形態＞
次に、本発明の第２実施形態について説明する。
【００５４】
第１実施形態は、情報処理装置の起動時の処理を説明するものであった。一方、第２実施形態は、情報処理装置が起動した後に、情報処理装置の一部のデバイスへの電力供給を遮断する省電力モードへ移行させた後、省電力モードから通常モードへ復帰する場合の処理に関するものである。
【００５５】
ここで、情報処理装置は、各々消費する電力の異なる複数の電力モードにて動作するものであり、少なくとも消費電力の小さい省電力モードと、省電力モードより消費電力の高い通常モードで動作する。省電力モードにおいて情報処理装置は、スキャナ２０７０及びプリンタ２０９５への電力供給を一部（又は全部）遮断する。
【００５６】
また、省電力モードにおいて情報処理装置は、ＣＵ２０００における操作部Ｉ／Ｆ２００６、ネットワーク部２０１０、モデム部２０５０、ＨＤＤ２００４、ＲＩＰ部２０６０、デバイスＩ／Ｆ２０２０への電力供給を一部（又は全部）遮断する。また、スキャナ画像処理部２０８０、画像回転部２０３０、画像圧縮部２０４０への電力供給を一部（又は全部）遮断する。
【００５７】
また、通常モードにおいて情報処理装置は、省電力モードにおいて電力供給を遮断していた各部へ電力供給する。
【００５８】
また、情報処理装置は、通常モードにおいて、外部装置からネットワーク部２０１０又はモデム部２０５０を介して受信する画像データの画像処理及び画像処理された画像データのプリンタ２０９５による画像形成処理を実行可能な稼動状態となる。
【００５９】
なお、前述した省電力モードにおいては、ＣＵ２０００のＣＰＵ２００１以外の電力供給を一部（又は全部）遮断するものであったが、ＣＰＵ２００１への電力供給を遮断することで更に消費電力を低減するようにしてもよい。
【００６０】
しかし、省電力モードにおいてＣＰＵ２００１への電力供給を遮断する場合、情報処理装置を省電力モードから通常モードへ復帰させるには、ＣＰＵ２００１への電力供給を再開する。そして、しかる後にＣＰＵ２００１がＣＵ２０００の各部に対して初期化処理を実行する必要がある。
【００６１】
以下では、情報処理装置が省電力モードにおいて、ＣＰＵ２００１への電力供給をも遮断する場合について説明する。
【００６２】
図５、図６は、図１に示したＣＵ２０００の電源制御部２０５２の構成を示す回路図であり、図１と同一のものには同一の符号を付してある。なお、図５は、情報処理装置が通常モードから省電力モードへ移行する動作に対応する。また、図６は、省電力モードから通常モードへ復帰する動作に対応する。また、図中において、破線部分はプリントモードにおいては電源制御部２０５２から電力が供給されるが、省電力モードにおいては電力が供給されない主電源系統に属する部分である。また、実線部分は通常モードにおいても省電力モードにおいても電力が供給される副電源系統に属する部分である。
【００６３】
図５において、１１００１はＦＥＴで、ＦＦ１１００２のＱ出力がゲート側に印加され、そのＱ出力の状態に基づいて、副電源系統と主電源系統を切り離す役割を担っている。この様に副電源系統と主電源系統を切り離し、省電力モードに移行した場合には、コントローラユニット２０００の主要部分（複合装置１００１及び１０２０が省電力モードにて動作するのに必要な部分）以外への電力供給を遮断する。これによって、無駄な待機電力を抑えることが可能となる。
【００６４】
また、図１に示したＳＤＲＡＭ２００２、ＲＯＭ２００３は副電源系統に属する。また、ＣＰＵ２００１、画像バスＩ／Ｆ部２００５、ＲＩＰ部２０６０、デバイスＩ／Ｆ部２０２０、スキャナ画像処理部２０８０、プリンタ画像処理部２０９０、画像回転部２０３０、画像圧縮部２０４０は主電源系統に属する。また、ＨＤＤ２００４は、主電源系統に属するが、ＣＰＵ２００１等が接続される主電源系統とは独立して電源のオン／オフが可能である。つまり、ＨＤＤ２００４は、ＣＰＵ２００１に電力供給がされている場合であっても、オフ状態としておくことができる。
【００６５】
なお、操作部Ｉ／Ｆ部２００６、ネットワーク部２０１０及びモデム部２０５０は、一部が主電源系統に属し、他の一部が副電源系統に属する。
【００６６】
そして、ネットワーク部２０１０及びモデム部２０５０は、情報処理装置が省電力モードで動作している際にＬＡＮ２０１１又はＷＡＮ２０５１から入力される画像データの受信処理をすることのできない受信不可状態となる。
【００６７】
その一方で、ネットワーク部２０１０及びモデム部２０５０は、ＬＡＮ２０１１又はＷＡＮ２０５１から入力される、情報処理装置を省電力モードから通常モードへ復帰させるための受信要求を受信可能である。
【００６８】
１１００９は保持回路で、副電源系統に属し、省電力モードを解除する第１〜第４の要求指示を省電力モードの間でも受け付けることができるように構成されている。第１〜第４の要求指示は、ロジックＯＲゲート１１００４を介してＦＦ１１００２のクロック入力端に入力される。なお、情報処理装置を省電力モードから通常モードに復帰させるための要因となる第１〜第４の要求指示は、バッファ群１１００８を介してＣＰＵ２００１に入力される。
【００６９】
保持回路１１００９で保持される第１〜第４の要求指示は、例えば４ビットのデータに変換されて保持される。そして、ＣＰＵ２００１が省電力モードから通常モードに復帰する際に、ＦＦ１１００５にセットされているフラグが「１」の場合は、その４ビットのデータを読み込む。そして、あらかじめ対応づけられたビット判定テーブルを参照して、第１〜第４の要求指示の内容を判断できるように構成されている。
【００７０】
本実施形態では、第１の要求指示は、操作部２０１２から操作部Ｉ／Ｆ２００６を介して入力される複合機のユーザによるパワーオン指示に対応する。なお、パワーオン指示とは、省電力モードで動作する情報処理装置の動作状態を通常モード（稼動状態）へ移行させるための指示である。
【００７１】
また、第２の要求指示は、外部装置からネットワーク部２０１０を介して画像データ（ＰＤＬデータ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ  ｄａｔａ））の受信要求が入力された場合のパワーオン指示に対応する。また、第３の要求指示は、外部装置からモデム部２０５０を介して画像データ（ファクシミリデータ）の受信要求が入力された場合のパワーオン指示に対応する。また、第４の要求指示は図示しないタイマ（計時手段として機能する）によるセット時間を計時した場合のパワーオン指示に対応する。
【００７２】
ＦＦ１１００５は、副電源系統に属し、情報処理装置が通常モードから省電力モードへ移行した後も、ＣＰＵ２００１の汎用出力ポートＧＰＯ＜１＞を「Ｌ」状態から「Ｈ」状態に変化させることで生成されるフラグの内容を保持している。
【００７３】
また、ＦＦ１１００５は、副電源系統に属するリセットＩＣ１１００３からのリセット信号がクリア端子（ＣＬＲ）に印加され、Ｑ出力からバッファ１１００６を介してＣＰＵ２００１の入力ＧＰＩ＜０＞にその旨を示す信号を出力する。
【００７４】
１１００３はリセットＩＣで、副電源系統に属し、リセット信号を副電源系統に属するＦＦ１１００２へ出力する。１１００７はバッファであり、ＦＦ１１００２へパワーオフ信号を出力する。
【００７５】
バッファ群１１００８及びバッファ１１００７，バッファ１１００６は主電源系統に属しており、プリントモードから省電力モードへ移行する時にＣＰＵ２００１へ電流が流入するのを阻止する。
【００７６】
また、リセットＩＣ１１００３は副電源系統を監視しており、後述のメイン電源ＯＦＦ後の起動時にＦＦ１１００５のフラグ及び保持回路１１００９のラッチデータをクリアする役割を果たす。ロジックＯＲゲート１１００４は省電力モードから復帰させるための要因をまとめている。
【００７７】
本実施形態で特徴的であるのはコントローラユニット２０００の中で一般的に消費電力のウエートの大きいＣＰＵ２００１を主電源系統に属するように構成し、省電力モードにおいてはＣＰＵ２００１へ電源供給がされないようにする点である。
【００７８】
また、情報処理装置は、省電力モードと通常モードの少なくとも２つの動作モード（省電力モードに、消費電力の異なる複数のモードを更に設けても良い）で動作する。そこで、情報処理装置において、省電力モードから通常モードへ移行する要因となる複数の要因のうちどの要因が入力されたのかを保持回路１１００９で保持している点である。
【００７９】
以下、図７に示すフローチャートを参照して、情報処理装置を通常モードから省電力モードへ移行させる処理について説明する。なお、図７における各ステップは、ＣＰＵ２００１がＨＤＤ２００４からＳＤＲＡＭ２００２にロードしたプログラムを実行することにより実行される。
【００８０】
まず、ステップＳ７０１で、ＣＰＵ２００１は、情報処理装置が通常モードから省電力モードに移行するための移行条件を満たしたか否かを判定し、満たしたと判定した場合はステップＳ７０２に処理を進める。なお、移行条件を満たす場合とは、情報処理装置の操作者が操作部２０１２上の節電キー（不図示）を押すことで省電力モードへの移行を指定した場合、あるいは情報処理装置が何らのデータも処理しない時間が一定時間経過した場合をいう。
【００８１】
そして、ステップＳ７０２で、ＣＰＵ２００１は、ＳＤＲＡＭ２００２にセルフリフレッシュコマンドを発行し、ＳＤＲＡＭ２００２に保持されているプログラムを引き続き保持するように設定する（図５の（１））。ここで、ＳＤＲＡＭ２００２に保持されているプログラムには、少なくともＯＳが含まれる。
【００８２】
次に、ステップＳ７０３で、省電力モードに移行したことを記憶させる手段としてＦＦ１１００５に対してＣＰＵ２００１は、汎用出力ポートＧＰＯ＜１＞を「Ｌ」状態から「Ｈ」状態に変化させる。これにより、ＣＰＵ２００１は、省電力モードフラグをセット（ＦＦ１１００５の出力＝‘１’）する（図５の（２））。なお、ＦＦ１１００５は副電源系統に属しているため、省電力モードに移行した後においても、このフラグは値を保持している。
【００８３】
次に、ステップＳ７０３で、ＣＰＵ２００１は、保持回路１１００９に対して汎用出力ポートＧＰＯ＜２＞を変化させ、保持回路１１００９を初期化することにより保持回路内でラッチしているデータをクリアする（図５の（３））。
【００８４】
次に、ステップＳ７０４で、ＣＰＵ２００１により実行されるＯＳは、情報処理装置が仮想記憶領域８０１を使用中かどうかについて判定する。ＯＳは、特定のコマンド（例えば、Ｌｉｎｕｘにおいてはｆｒｅｅコマンド）を実行することにより、仮想記憶領域８０１が使用されているかどうかを判定する。仮想記憶領域８０１を初期済みであれば、Ｓ７０６へ進み、そうでなければＳ７０５へ進む。
【００８５】
ステップＳ７０５で、ＣＰＵ２００１により実行されるＯＳは、仮想記憶領域８０１を無効化する。具体的には、アドレス変換テーブル８０２を削除し、ＯＳのプログラム実行領域を、ＳＤＲＡＭ２００２上の物理記憶領域８０３に割り当てる。
【００８６】
ステップＳ７０６で、ＯＳは、省電力モードへの移行処理を実行する。例えば、ＯＳは、アプリケーションプログラムを終了させる処理を実行する。なお、ＨＤＤ２００４からＳＤＲＡＭ２００２にロードされたＯＳは、省電力モードへ移行した場合であってもＳＤＲＡＭ２００２に保持されつづけるものとする。
【００８７】
次に、ステップＳ７０７で、ＦＦ１１００２に対してＣＰＵ２００１は汎用出力ポートＧＰＯ＜０＞を変化させ、ＦＦ１１００２の出力を「Ｈ」状態にプリセットする。これにより、ＦＦ１１００２のＱ出力が「Ｌ」となることで、ＦＥＴ１１００１をＯＦＦ状態に移行させ、ＣＰＵ２００１を含む主電源系統を遮断し省電力モードに移行する。
【００８８】
なお、図５中のバッファ群１１００８及びバッファ１１００７，バッファ１１００６は主電源系統で駆動しており、省電力モード移行時には副電源系統からの電流の流れ込みを阻止する役割を果たす。
【００８９】
また、リセットＩＣ１１００３は副電源系統を監視しており、後述のメイン電源ＯＦＦ後の起動時にＦＦ１１００５のフラグ及び保持回路１１００９のラッチデータをクリアする役割を果たす。ロジックＯＲゲート１１００４は省電力モードからプリントモードに復帰させるための要因をまとめて、いずれかの１つでも要因が検出されると、ＦＦ１１００２のクロック入力に復帰要求を入力する。
【００９０】
以下、図９に示すフローチャートを参照して、省電力モードから通常モードへ復帰する処理について説明する。
【００９１】
図９は、情報処理装置を省電力モードから通常モードへ移行させる処理を説明するフローチャートである。
【００９２】
なお、図９のフローチャートは、ＣＰＵ２００１がＳＤＲＡＭに記憶されたプログラムを読み出して実行するものであるが、図９の処理が開始されるのは、下記の場合である。
【００９３】
先ず、情報処理装置が省電力モードで動作している時に、情報処理装置を省電力モードからプリントモードへ復帰させるための要因（第１〜第４の要求指示）が入力される。次に、複数の要因のいずれか１つが入力される事により、保持回路１１００９は入力されてきた信号をラッチし、ＣＰＵ２００１が復帰した際にデータを読み込めるように準備する。保持回路１１００９がラッチするデータは、情報処理装置のメイン電源（不図示）がＯＦＦされるか、ＣＰＵ２００１から保持回路１１００９にクリア信号ｃｌｒが入力されるまで保持される。なお、保持回路１１００９は入力される復帰要因は、ロジックＯＲゲート１１００４を介してＦＦ１１００２にも結線されている。これにより、省電力モードから通常モードに復帰させるための要因が発生すると、ＦＦ１１００２にクロックエッジが与えられＦＥＴ１１００１がＯＮされ、主電源系統が立ち上がり省電力モードから通常モードへの復帰処理が始まる。ただし、この時点では、ＣＰＵ２００１が属する主電源系統には電力が供給されるが、ＨＤＤ２００４には供給されないものとする。ＨＤＤ２００４へ電力を供給するか否かは、ＣＰＵ２００１が判断して電源制御部２０５２に指示するものとする。
【００９４】
そして、ステップＳ９０１で、ＣＰＵ２００１は、ＲＯＭ２００３からＳＤＲＡＭ２００２へ、ＢＩＯＳ（バイオス）をロードし、ＣＰＵ２００１の初期化処理を行う。初期化処理が行われた後に、ＣＰＵ２００１は、汎用出力ポートＧＰＩ＜０＞からＦＦ１１００５に格納されているフラグの値を参照する。
【００９５】
ステップＳ９０２で、ＣＰＵ２００１は、ＦＦ１１００５に格納されているフラグから省電力モードから復帰した状態であるか否かを判断する。ＦＦ１１００５に格納されているフラグの値は、省電力モードから復帰した状態である場合は“１”であるため、ＣＰＵ２００１は省電力モードから復帰した状態である（ＹＥＳ）と判断する。
【００９６】
ＣＰＵ２００１は、ステップＳ９０２にてＹＥＳと判断するとステップＳ９０３へ進み、ＳＤＲＡＭ２００２上に保持されている起動シーケンスのベースとなるプログラムを実行する。このプログラムの実行により、ＯＳ及びＯＳにより管理されるＣＵ２０００内の各デバイスが省電力モードから通常モードに復帰する。なお、ＯＳは情報処理装置の起動時に起動済みであり、省電力モードからの復帰時においては、ＳＤＲＡＭ２００２にＯＳは保持されている。ＦＦ１１００５に格納されているフラグの値は、省電力モードから復帰した状態でなく情報処理装置のメイン電源がＯＮされた状態である場合は“０”であるためＣＰＵ２００１はメイン電源がＯＮされた状態であると判断する。
【００９７】
そして、ステップＳ９０４で、ＣＰＵ２００１は、保持回路１１００９へラッチされている復帰要因を読み込み、第１〜第４の要求指示のうちいずれが復帰要因として発生したかを判断する。
【００９８】
ステップＳ９０５で、ＯＳは、仮想記憶領域８０１が初期化済みか否かを判定し、初期化済みであればＳ９０６へ進み、そうでなければＳ９０７へ進む。なお、ＯＳは、特定のコマンド（例えば、Ｌｉｎｕｘにおいてはｆｒｅｅコマンド）を実行することにより、仮想記憶領域８０１が初期化済みかどうかを判定する。
【００９９】
ステップＳ９０６で、ＣＰＵ２００１は、ＨＤＤ２００４に電力を供給するよう電源制御部２０５２にコマンドを送信する。これは、仮想記憶領域８０１が初期化済みであるので、仮想記憶領域８０１をプログラム実行領域としてアプリケーションプログラムを実行するためである。そして、電源制御部２０５２は、ＣＰＵ２００１からのコマンドを受信するとＨＤＤ２００４へ電力を供給するよう制御する。
【０１００】
ステップＳ９０７で、ＯＳは、仮想記憶領域８０１をプログラム実行領域として、アプリケーションプログラムを実行する。なお、ＨＤＤ２００４には、省電力モードに移行する前の状態が保持されているので、アプリケーションプログラムを再び起動させる必要はない。
【０１０１】
また、ステップＳ９０８で、ＯＳは、ＳＤＲＡＭ２００２上のプログラム実行領域の記憶容量はアプリケーションの実行に必要な記憶容量より大きいか否かを判定する。なお、ステップＳ９０８は、第１実施形態の図２のステップＳ２０６と同様の処理であるので説明を省略する。ステップＳ９０８でＹＥＳであれば、ステップＳ９１３〜Ｓ９１８を実行するが、ステップＳ９１３、９１４、９１７及び９１８は、図２のＳ２０７〜Ｓ２１０の処理と同様であるので説明を省略する。
【０１０２】
ステップＳ９１５で、ＯＳは、アプリケーション設定テーブルを参照し、起動設定が“２”のアプリケーションプログラムが存在するか否かを判定する。そして、起動設定が“２”のアプリケーションプログラムが存在しない場合、ＯＳは処理を終了させる。この場合、ＯＳはＨＤＤ２００４に対する電源投入を行わないので、図７のステップＳ７０１で説明した省電力モードへの移行条件を再び満たせば、ＨＤＤ２００４に電源が再投入されることなく省電力モードに移行する。一方、起動設定が“２”のアプリケーションプログラムが存在する場合、ＯＳは処理をステップＳ９１６へ進める。
【０１０３】
ステップＳ９１６で、ＣＰＵ２００１は、ＨＤＤ２００４に電力を供給するよう電源制御部２０５２にコマンドを送信する。そして、電源制御部２０５２は、ＣＰＵ２００１からのコマンドを受信するとＨＤＤ２００４へ電力を供給するよう制御する。
【０１０４】
また、ステップＳ９０８でＮＯであれば、ステップＳ９０９へ進み、ＣＰＵ２００１は、ＨＤＤ２００４に電力を供給するよう電源制御部２０５２にコマンドを送信する。そして、電源制御部２０５２は、ＣＰＵ２００１からのコマンドを受信するとＨＤＤ２００４へ電力を供給するよう制御する。なお、ステップＳ９０９を実行した後にＣＰＵ２００１は、ステップＳ９１０〜Ｓ９１２を実行するが、ステップＳ９１０〜９１２は、図２のステップＳ２１１〜Ｓ２１３の処理と同様であるので説明を省略する。
【０１０５】
そして、Ｓ９０７、Ｓ９１２又はＳ９１８が終了すると、ＯＳは、情報処理装置の通常モードへの復帰処理が終了したものとし、アプリケーションＡ〜Ｅを実行する通常動作に移行する。
【０１０６】
以上説明したように、情報処理装置の主記憶装置の記憶容量に拘わらず複数のアプリケーションプログラムを並行して実行できるようにする。更に、情報処理装置が省電力モードから通常モードへの復帰を開始してから特定のアプリケーションプログラムを実行できるまでの待機時間を短くすることができる。なお、本実施形態において、“主記憶装置の記憶容量”とは、ＳＤＲＡＭ２００２上にプログラム実行領域として確保可能な記憶容量をいう。また、特定アプリケーションプログラムとは、起動設定が“１”と図４のアプリケーション設定テーブルにて設定されているプログラムをいう。そして、特定アプリケーションプログラムとしては、図４に示したものに限られず、起動設定についても種々の設定が可能である。例えば、アプリケーションＥのみを起動設定“１”とし、アプリケーションＡ〜Ｄは起動設定“２”とするようにしてもよい。この場合、仮想記憶領域の初期化の前に起動されるアプリケーションは、アプリケーションＥのみであり、情報処理装置の操作者が操作部を介した入力を早期に開始させることができる。そして、情報処理装置の操作者が情報処理装置を起動してから何らかの操作ができるまでの待ち時間を短縮することができる。なお、操作部を介して入力されたスキャンの設定条件やプリントの設定条件は、ＳＤＲＡＭ２００２等に保持され、スキャン機能実行プログラムやプリント機能実行プログラムが起動したら利用できるようになる。
【０１０７】
また、省電力モードからの復帰時に、ＨＤＤ２００４を必要としない場合（ＳＤＲＡＭ上のプログラム実行領域の容量がアプリケーションの実行に必要な容量より大きい場合）には、ＨＤＤ２００４へ電源供給せずに通常モードを実行できる。ＨＤＤ２００４は、電源オンオフの切り替え回数が多くなると故障等の不具合が発生する確率が高くなる。そこで、本実施形態によれば、ＨＤＤが不要の場合は電力供給状態をオフ状態のままとすることで、ＨＤＤの寿命を延ばすことができる。また、ＨＤＤを電源オフ状態から電源オン状態へ移行させてＨＤＤからのデータの読み出しを可能とするには、ＨＤＤを構成する磁気ディスクの回転数を一定回転数にするスピンアップ処理等が必要である。このスピンアップ処理には、時間がかかり、省電力モードからの復帰に時間がかかる要因となっている。そこで、本実施形態では、ＨＤＤが不要の場合は電力供給状態をオフ状態のままとすることで、ＨＤＤのスピンアップ処理による復帰時間の遅れを解消することができる。
【０１０８】
また、ＳＤＲＡＭ２００２上のプログラム実行領域の記憶容量がアプリケーションの実行に必要な記憶容量より大きい場合（ステップＳ９０８にてＹＥＳ）の場合に、以下のような効果がある。それは、起動設定が“２”のアプリケーションが存在しない場合に（ステップＳ９１５でＮＯ）、ＨＤＤ２００４を起動させることなく起動設定“１”のアプリケーションを実行できるという効果である。つまり、一定の条件が満たされれば、ＨＤＤ２００４を起動させることなくアプリケーションプログラムを実行できるので、ＨＤＤ２００４を頻繁にオンオフすることによる寿命の短縮化等を防ぐことができる。
【０１０９】
＜他の実施形態＞
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給することによっても達成される。この場合、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行すること前述した実施形態の機能を実現する。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【図面の簡単な説明】
【０１１０】
【図１】情報処理装置の構成を説明するブロック図である。
【図２】情報処理装置の起動時におけるＣＵ２０００の処理の流れを示すフローチャートである。
【図３】ＣＰＵ２００１の処理内容を時間経過とともに説明したタイミングチャートである。
【図４】アプリケーション設定テーブルの一例を示す図である。
【図５】電源制御部２０５２の構成を説明する回路図である。
【図６】電源制御部２０５２の構成を説明する回路図である。
【図７】情報処理装置を通常モードから省電力モードへ移行させる処理を説明するフローチャートである。
【図８】仮想記憶領域、主記憶装置上の記憶領域、補助記憶装置上の記憶領域及びアドレス変換テーブルを示す図である。
【図９】情報処理装置を省電力モードから通常モードへ移行させる処理を説明するフローチャートである。
【図１０】ＣＰＵ２００１の処理内容を時間経過とともに説明したタイミングチャートである。
【図１】
0005159377.tif 000002
【図２】
0005159377.tif 000003
【図３】
0005159377.tif 000004
【図４】
0005159377.tif 000005
【図５】
0005159377.tif 000006
【図６】
0005159377.tif 000007
【図７】
0005159377.tif 000008
【図８】
0005159377.tif 000009
【図９】
0005159377.tif 000010
【図１０】
0005159377.tif 000011