JP4958723B2 - 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体 - Google Patents

仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体 Download PDF

Info

Publication number
JP4958723B2
JP4958723B2 JP2007273073A JP2007273073A JP4958723B2 JP 4958723 B2 JP4958723 B2 JP 4958723B2 JP 2007273073 A JP2007273073 A JP 2007273073A JP 2007273073 A JP2007273073 A JP 2007273073A JP 4958723 B2 JP4958723 B2 JP 4958723B2
Authority
JP
Japan
Prior art keywords
storage device
information
secondary storage
storage area
area
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
JP2007273073A
Other languages
English (en)
Other versions
JP2009104247A (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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2007273073A priority Critical patent/JP4958723B2/ja
Publication of JP2009104247A publication Critical patent/JP2009104247A/ja
Application granted granted Critical
Publication of JP4958723B2 publication Critical patent/JP4958723B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)

Description

本発明は、仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体に関し、特に主記憶装置から二次記憶装置への情報の退避に関する。
近年、情報の電子化が推進される傾向にあり、電子化された情報の出力に用いられるプリンタやファクシミリ、書類の電子化に用いるスキャナ等の画像処理装置は欠かせない機器となっている。このような画像処理装置は、撮像機能、画像形成機能及び通信機能等を備えることにより、プリンタ、ファクシミリ、スキャナ、複写機として利用可能な複合機として構成されることが多い。このような画像処理装置においては、上記のプリンタ、ファクシミリ、スキャナ、複写機等の夫々の機能に対応したソフトウェアが、対応するハードウェアを制御することによって夫々の機能が実行される。
このような画像処理装置においては、装置が所定時間使用されなかった場合等に装置の特定部位への電源供給を停止し、省電力化を図ることが行われている。電源供給が停止される部分の例としては、定着ヒータや装置全体のコントローラ等が挙げられる。このような装置の省電力化においては、電源供給を再開するタイミングの判断が重要な技術の1つとなる。電源供給再開の技術として、データの送信又は受信の開始に関する信号に基づいて電源供給を再開する方法が提案されている(例えば特許文献1参照)。特許文献1に開示された技術においては、データの送受信開始に応じて装置の一部への電源供給を再開することにより、余分な回路への電源供給再開を省き、更なる省電力化を実現する。
この他、従来技術に係る電源供給再開の判断要因としては、ADF(Auto Document Feeder)への原稿セット、操作部の操作、電源キーの操作、USBポート若しくはSDポートへの挿抜、各種I/Fの通信及び装置各部のカバーの開閉が挙げられる。
特開平7−226815号公報
近年、上記のような画像処理装置はCPU(Central Processing Unit)やRAM(Random Access Memory)等の主記憶装置となるメモリを備え、OS(Operating System)等の制御プログラム及び各種のアプリケーションプログラムにより制御されることが一般的である。このようなシステムにおいては、各種プログラムの作業領域であるメモリの制御技術として、仮想記憶技術が用いられることが多い。仮想記憶技術について、図16を参照して説明する。図16においては、上段に仮想記憶領域102vを示し、下段に物理記憶領域102p、即ち実装されているメモリ等の主記憶装置の物理記憶領域を示す。図16に示すように、仮想記憶方式においては、メモリが有する実際の物理記憶領域102pよりも大きい仮想記憶領域102vを定義する。仮想記憶領域102vと物理記憶領域102pとの対応付けは仮想記憶方式をコントロールするメモリコントローラが管理する。
CPUの制御により動作するプログラム325〜328は、メモリコントローラを介して仮想記憶領域102vにメモリを要求する。図16の例においては、仮想記憶領域102vのうち実斜線で示す部分が、既にいずれかのプログラム325〜328に割り当てられた使用領域である。また、仮想記憶領域102vにおいて既に割り当てられている斜線部の記憶領域は、メモリコントローラによって物理記憶領域102pに斜線で示すようにマッピングされる。ここで、いずれかのプログラム325〜328が更に破斜線で示す領域を要求した場合を考える。
図に示すように、仮想記憶領域102vの破斜線で示す記憶領域の要求に対して、残りの実記憶領域102pでは記憶領域が不足する。即ち、要求された仮想記憶領域102vの一部は、実記憶領域に対応付けられていない領域であり、実際には使用不可能な領域である。この場合、メモリコントローラは、実記憶領域102pに保持されている情報をHDD104等の二次記憶装置に退避することにより、実記憶領域に空き領域を作る。この結果空き領域となった実記憶領域、即ち、二次記憶装置に退避された情報が保持されていた実記憶領域が、図16に示す不足分の仮想記憶領域に新たに対応付けられる。これにより、要求された容量の記憶領域を、要求元のプログラムに割り当てることが可能となる。この動作はスワップアウト処理(スワッピング)と呼ばれる。これにより、メモリコントローラは、物理記憶領域102pよりも大きい仮想記憶領域102vを実現する。尚、メモリコントローラが物理記憶領域102pを管理する方式としては、一般的に記憶領域をページと呼ばれる単位毎の記憶領域に分けて管理するページング方式が用いられる。
ここで、上述した省電力技術により、HDD104への電源供給が停止している場合にスワッピングが発生すると、スワッピングが完了できず情報が失われるという問題が生じる。例えば、省電力制御によりHDD104への電源供給が停止している間に、外部からデータを受信してスワッピングが発生すると、メモリコントローラは物理記憶領域102pの一部に格納された情報をHDD104へ退避し、当該記憶領域を空き領域として使用する。しかしながら、HDD104への電源供給が停止しているため、HDD104への退避が指示された情報は実際にはHDD104には格納されない。他方、物理記憶領域102pにおいて退避が指示された情報が格納されていた記憶領域は、データ受信により要求された領域として使用されるため、元の情報は失われてしまうこととなる。
尚、このような課題は、上述した画像処理装置に限らず、仮想記憶技術及び省電力技術を採用する情報処理装置であれば、同様に発生し得る。本発明は、上述した実情を考慮してなされたもので、二次記憶装置の省電力制御期間においても、主記憶装置から二次記憶装置への情報の退避を適正に完了可能とすることを目的とする。
上記の課題を解決するために、請求項1に記載の発明は、仮想的に定義された仮想記憶領域の一部と主記憶装置の実記憶領域とを対応付けることにより、実記憶領域よりも広い仮想記憶領域を実現する仮想記憶制御装置であって、前記仮想記憶領域のうち前記実記憶領域に非対応の領域が要求された場合に、前記実記憶領域に保持された情報を前記主記憶装置とは異なる二次記憶装置に退避する情報退避部と、前記要求された非対応の領域と前記退避された情報が保持されていた実記憶領域とを対応付ける記憶領域対応付け部と、前記実記憶領域に保持された複数の情報のうち前記二次記憶装置に退避する情報を選択する際の優先度に関する情報を取得する退避優先度情報取得部と、前記取得した優先度に関する情報に基づいて前記二次記憶装置に退避する情報を選択する退避情報選択部とを有し、前記実記憶領域に保持された情報は、当該実記憶領域において動作する複数のプログラムであり、前記優先度に関する情報は、予め定められた前記プログラムの前記二次記憶装置の使用有無に関する情報であり、前記退避情報選択部は、前記二次記憶装置を使用するプログラムを優先して前記二次記憶装置に退避する情報として選択し、前記情報退避部は、前記二次記憶装置の非稼動状態において前記非対応の領域が要求された場合に、前記二次記憶装置を稼動状態へと遷移させる処理に関する信号を発信し、前記二次記憶装置が稼働状態となった後に、前記退避情報選択部によって選択された前記実記憶領域に保持された情報を前記二次記憶装置に退避することを特徴とする。
また、請求項2に記載の発明は、請求項1に記載の仮想記憶制御装置において、前記二次記憶装置を稼動状態へと遷移させる処理に関する信号に応じて、前記二次記憶装置を稼動状態へと遷移させる二次記憶装置状態遷移部を更に有することを特徴とする。
また、請求項3に記載の発明は、請求項2に記載の仮想記憶制御装置において、前記二次記憶装置状態遷移部は、装置の動作態様に応じて前記二次記憶装置への電源供給を制限する省電力制御部を有し、前記二次記憶装置の非稼動状態は、前記省電力制御部によって電源供給が制限された状態であることを特徴とする。
また、請求項4に記載の発明は、請求項2または3に記載の仮想記憶制御装置において、前記二次記憶装置状態遷移部は、オペレーティング・システムの機能によって実現されることを特徴とする。
また、請求項5に記載の発明は、請求項2または3に記載の仮想記憶制御装置において、前記二次記憶装置状態遷移部は、アプリケーション・プログラムの機能によって実現されることを特徴とする。
また、請求項6に記載の発明は、請求項2乃至5いずれか1項に記載の仮想記憶制御装置において、前記二次記憶装置を制御する二次記憶装置制御部と、前記二次記憶装置状態遷移部の命令に応じて前記二次記憶装置制御部を動作させる二次記憶装置駆動部とを更に有することを特徴とする。
また、請求項7に記載の発明は、請求項6に記載の仮想記憶制御装置において、前記二次記憶装置制御部は、前記制御手段前記二次記憶装置状態遷移部の命令に応じて前記二次記憶装置への電源供給を制御する電源供給制御部を有することを特徴とする。
また、請求項8に記載の発明は、請求項6に記載の仮想記憶制御装置において、前記二次記憶装置制御部は、前記二次記憶装置状態遷移部の命令に応じて前記二次記憶装置を初期化する二次記憶装置初期化部を有することを特徴とする。
また、請求項9に記載の発明は、請求項1乃至8いずれか1項に記載の仮想記憶制御装置において、前記二次記憶装置を稼動状態から非稼動状態に遷移させる二次記憶装置稼動状態制御部を更に有し、前記二次記憶装置稼動状態制御部は、前記二次記憶装置を稼動状態から非稼動状態に遷移させるタイミングに関する情報を有し、前記退避情報選択部は、前記タイミングが所定の期間以内である場合に、前記取得した優先度に関する情報に基づいて前記二次記憶装置に退避する情報を選択することを特徴とする。
また、請求項10に記載の発明は、仮想的に定義された仮想記憶領域の一部と主記憶装置の実記憶領域とを対応付けることにより、実記憶領域よりも広い仮想記憶領域を実現する仮想記憶制御装置であって、前記仮想記憶領域のうち前記実記憶領域に非対応の領域が要求された場合に、前記実記憶領域に保持された情報を前記主記憶装置とは異なる二次記憶装置に退避する情報退避部と、前記要求された非対応の領域と前記退避された情報が保持されていた実記憶領域とを対応付ける記憶領域対応付け部と、前記実記憶領域に保持された複数の情報のうち前記二次記憶装置に退避する情報を選択する際の優先度に関する情報を取得する退避優先度情報取得部と、前記取得した優先度に関する情報に基づいて前記二次記憶装置に退避する情報を選択する退避情報選択部とを有し、前記実記憶領域に保持された情報は、当該実記憶領域において動作する複数のプログラムであり、前記優先度に関する情報は、前記プログラムの前記二次記憶装置の使用履歴に関する情報であり、前記退避情報選択部は、前記二次記憶装置の使用履歴の多いプログラムを優先して前記二次記憶装置に退避する情報として選択し、前記情報退避部は、前記二次記憶装置の非稼動状態において前記非対応の領域が要求された場合に、前記二次記憶装置を稼動状態へと遷移させる処理に関する信号を発信し、前記二次記憶装置が稼働状態となった後に、前記退避情報選択部によって選択された前記実記憶領域に保持された情報を前記二次記憶装置に退避することを特徴とする。
また、請求項11に記載の発明は、仮想的に定義された仮想記憶領域の一部と主記憶装置の実記憶領域とを対応付けることにより、実記憶領域よりも広い仮想記憶領域を実現する仮想記憶制御装置であって、前記仮想記憶領域のうち前記実記憶領域に非対応の領域が要求された場合に、前記実記憶領域に保持された情報を前記主記憶装置とは異なる二次記憶装置に退避する情報退避部と、前記要求された非対応の領域と前記退避された情報が保持されていた実記憶領域とを対応付ける記憶領域対応付け部と、前記実記憶領域に保持された複数の情報のうち前記二次記憶装置に退避する情報を選択する際の優先度に関する情報を取得する退避優先度情報取得部と、前記取得した優先度に関する情報に基づいて前記二次記憶装置に退避する情報を選択する退避情報選択部とを有し、前記実記憶領域に保持された情報は、当該実記憶領域において動作する複数のプログラムであり、前記優先度に関する情報は、前記プログラムの前記二次記憶装置の使用頻度に関する情報であり、前記退避情報選択部は、前記二次記憶装置の使用頻度の高いプログラムを優先して前記二次記憶装置に退避する情報として選択し、前記情報退避部は、前記二次記憶装置の非稼動状態において前記非対応の領域が要求された場合に、前記二次記憶装置を稼動状態へと遷移させる処理に関する信号を発信し、前記二次記憶装置が稼働状態となった後に、前記退避情報選択部によって選択された前記実記憶領域に保持された情報を前記二次記憶装置に退避することを特徴とする。
また、請求項1に記載の発明は、仮想的に定義された仮想記憶領域の一部と主記憶装置の実記憶領域とを対応付けることにより、実記憶領域よりも広い仮想記憶領域を実現する仮想記憶制御方法であって、前記二次記憶装置の非稼動状態において前記実記憶領域に非対応の領域が要求された場合に、前記二次記憶装置を稼動状態へと遷移させる処理に関する信号を発信し、前記実記憶領域に保持された複数の情報である前記実記憶領域において動作する複数のプログラムのうち、前記二次記憶装置に退避する情報を選択する際の優先度に関する情報として、予め定められた前記プログラムの前記二次記憶装置の使用有無に関する情報を取得し、前記取得した優先度に関する情報に基づき、前記二次記憶装置を使用するプログラムを優先して前記二次記憶装置に退避する情報として選択し、前記二次記憶装置が稼働状態となった後に、前記選択された前記実記憶領域に保持された情報を前記二次記憶装置に退避し、前記要求された非対応の領域と前記退避された情報が保持されていた実記憶領域とを対応付けることを特徴とする。
また、請求項1に記載の発明は、仮想記憶制御プログラムであって、請求項1に記載の仮想記憶制御方法を仮想記憶制御装置に実行させることを特徴とする。
また、請求項1に記載の発明は、記録媒体であって、請求項1に記載の仮想記憶制御プログラムを仮想記憶制御装置が読み取り可能な形式で記録したことを特徴とする。
本発明によれば、仮想記憶制御装置において、二次記憶装置の省電力制御期間であっても、主記憶装置から二次記憶装置への情報の退避を適正に完了することが可能となる。
以下、図面を参照して、本発明の実施形態を詳細に説明する。
以下の説明においては、本発明に係る仮想記憶制御装置の例として、当該仮想記憶制御機能を有する画像処理装置を例として説明する。
実施の形態1.
図1は、本実施例に係る画像処理装置1のハードウェア構成を示すブロック図である。図1に示すように、本実施例に係る画像処理装置1は、コントローラ100及びエンジン200を有する。コントローラ100は、ソフト制御部100aとメカ制御部100bとを有する。ソフト制御部100aは、主として信号の入出力等のソフトウェア制御を実行する。また、メカ制御部100bは、エンジン200等の機械的な駆動を制御する。
ソフト制御部100aは、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、システムコントロールASIC(Application Specific Integrated Circuit)103、ROM(Read Only Memory)105、可搬型記録媒体I/F(Interface)107、入出力・省電力制御ASIC108、オペレーションパネルI/F109、HOST I/F110、NVRAM(Non Volatile RAM)111、オプションI/F112及び電源制御部113を有する。メカ制御部100bは、HDD(Hard Disk Drive)104及び画像処理部106を有する。また、エンジン200は、エンジンコントローラ201、スキャンエンジン202及プリントエンジン203を有する。
RAM102は一般的にDRAM等の揮発性メモリによって構成されるメインメモリであり、主記憶装置として機能する。ROM105に格納されたファームウェア等の制御プログラムや、NVRAM111、HDD104に格納された情報がシステムコントロールASIC103を介してRAM102にロードされ、CPU101の制御に従って動作することにより画像処理装置1の制御部が構成される。即ち、CPU101は演算部として動作し、システムコントロールASIC103は、主にCPU101とRAM102との間の信号伝達を行う。また、システムコントロールASIC103は、RAM102のアドレス管理等を行うMMU(Memory Management Unit)103aを有する。従来技術の図16において説明した、仮想記憶領域と実記憶領域とのマッピング(対応関係)情報は、MMU103aが保持している。RAM102にロードされて動作するプログラムは、上述したファームウェア等の制御プログラムの他、画像処理プログラムやエンジン200を制御するアプリケーション等である。
HDD104は、磁気ディスク記録装置であり、画像処理装置1が画像情報を処理する際の情報スプール先として用いられる。また、HDD104は、蓄積文書、追加のフォント及び情報送信先の宛先情報等が格納されている。ROM105は、読み出し専用の記録媒体であり、上述したように、ファームウェア等の制御プログラムが格納される。画像処理ASIC106は、RAM102において動作する画像処理プログラムによって処理された後の画像に更に処理を加えるハードウェアである。また、画像処理ASIC106は、HDD104を制御するHDDコントローラも含む。画像処理ASIC106が実行する処理としては、画像の回転処理や割り付け処理等である。画像処理ASIC106によって処理された画像データがエンジン200に入力される。
可搬型記録媒体I/F107は、可搬型記録媒体をコントローラ100に接続するインタフェースである。ここで用いられる可搬型記録媒体は、例えば、磁気テープやカセットテープ及びフロッピー(登録商標)ディスク等の磁気記録媒体やCD、MO、MD、DVD等の光ディスク、PCカード、コンパクトフラッシュ(登録商標)カード、スマートメディア(登録商標)、ICカード、SDカード(登録商標)、メモリースティック(登録商標)、USBメモリ等、着脱可能な記録媒体である。
入出力・省電力制御ASIC108は、その内部にCPU101とは異なるサブCPU、RAM等のメモリを有し、ROMや不揮発性メモリ並びにHDDや光学ディスク等の不揮発性記録媒体に格納されたファームウェア等の制御プログラムが、RAMにロードされ、サブCPUの制御に従って構成されるソフトウェア制御部とASIC108内部に含まれる他のハードウェアとが連動することによって機能する。入出力・省電力制御ASIC108は、可搬型記録媒体107、可搬型記録媒体I/F107、オペレーションパネルI/F109、HOST I/F110、NVRAM111、オプションI/F112及び電源制御部113とシステムコントロールASIC103との間で情報を伝達すると共に、それらの情報伝達状態に基づいて電源制御部113を制御して省電力状態を制御する。入出力・省電力制御ASICの機能については後に詳述する。
オペレーションパネルI/F109は、ユーザが画像処理装置1を直接操作すると共に画像処理装置1の状態を視覚的に確認する表示部となる操作パネルを接続するインタフェースである。HOST I/F110は、画像処理装置1がPC等のホスト装置と接続するためのインタフェースである。HOST I/F110としては、例えばUSB(Universal Serial Bus)インタフェースや、イーサネット(登録商標)インタフェース等が用いられる。NVRAM111は、不揮発性のメモリであり、主に画像形成装置1の動作環境や動作履歴に関する情報が格納される。
オプションI/F112は、画像処理装置1に他のオプション機器を接続するためのインタフェースである。オプションI/F112の運用方法としては、例えば更に一台の画像形成装置を接続し、一の印刷ジョブを複数の画像形成装置で分割して出力する態様や、画像形成後の後処理装置を接続すること等が挙げられる。また、FCU(Facsimile Control Unit)を接続し、画像処理装置1をファクシミリとして動作させることもできる。電源制御部113は、コントローラ100及びエンジン200各部に電源を供給している。電源制御部113は、で夫々のハードウェア毎に電源供給の有無を切り換えることが可能であり、入出力・省電力制御ASICの制御に基づいて夫々のハードウェアへの電源供給有無を切り換える。
次に、図2を参照して、本実施形態に係るコントローラ100について更に説明する。図2は、ROM105に格納されている各種プログラムがRAM102にロードされ、CPU101の制御によって動作するソフトウェア300及び当該ソフトウェア300によって制御されるハードウェアを模式的に示す図である。図2に示すように、本実施形態に係るソフトウェア300は、カーネル330を含むOS310とアプリケーション320とを有する。
カーネル330は、OS310において中核となる部分であり、OS310やアプリケーション320とハードウェアとのやり取りを制御する。カーネル330は、MMU103aにアクセスしてRAM102を制御するメモリ管理ソフトウェア331と、HDD104や電源制御部113を制御するデバイスドライバ332とを有する。また、デバイスドライバ332は、デバイス管理ソフトウェア333及び電源管理ソフトウェア334を有する。メモリ管理ソフトウェア331は、アプリケーション320の要求に応じて夫々のアプリケーションにRAM102のメモリ領域を割り当て、またアプリケーション320においれ不要となったメモリを開放する。また、メモリ管理ソフトウェア331は、従来技術の図16において説明した仮想記憶方式を実現する。仮想記憶方式におけるメモリ管理ソフトウェア331のスワップ処理が本実施形態の特徴の1つである。
デバイス管理ソフトウェア333は、HDD104への情報記録やHDD104からの情報の読み出しを制御する。また、デバイス管理ソフトウェア333は、ROM105可搬型記録媒体I/F107、NVRAM111等の記録媒体へのアクセスを制御する機能を含む。電源管理ソフトウェア334は、電源制御部113を管理して夫々のハードウェアへの電源供給を制御する。この他、デバイスドライバ332は、図1に示す各ハードウェアを制御する機能を実現するソフトウェアを含む。
アプリケーション320は、当該装置の省電力状態を制御する省電力制御プログラム321、プリントエンジン203を制御してプリントアウトを実行するプリントアプリケーション322、スキャナエンジン202を制御してスキャンを実行するスキャンアプリケーション323及び装置外部との情報の入出力を制御する入出力アプリケーション324を有する。OS310は、カーネル330の他、省電力制御ライブラリ311を有する。省電力制御ライブラリ311は、省電力制御プログラム321の命令を受け、デバイスドライバ332から省電力制御に必要なデバイス管理ソフトウェア333及び電源管理ソフトウェア334を呼び出す。即ち、省電力制御ライブラリ311が、HDD104等の二次記憶装置を稼動状態から非稼動状態へと遷移させる二次記憶装置稼動状態制御部として機能する。
次に、本実施形態に係る画像処理装置1の省電力状態について説明する。本実施形態に係る画像処理装置1は、電源供給部位の違いにより、複数種類の省電力状態を有する。図3は、本実施形態に係る画像処理装置1の省電力状態の一態様を示す図であり、図1と同様にハードウェア構成を示すブロック図である。図3においては、電源が供給されていないハードウェアのブロックは斜線を付して示されている。図3の状態においては、メカ制御部100b及びエンジン200への電源供給が停止しており、これにより消費電力を低減することが可能となる。また、図3の状態においては、ソフト制御部100aには電源が供給されているため、省電力状態として消費電力を低減しながら継続してソフトウェアを動作させることが可能となる。
図4は、図3とは異なる省電力状態の態様を示す図である。図4においても、電源が供給されていないハードウェアのブロックは斜線を付して示されている。図4の状態においては、図3の状態において電源が供給されている部位に加えて、メカ制御部100bの画像処理ASIC106及びHDD104に電源が供給されている。この場合、図3の状態よりも消費電力が増大するが、図3の状態において可能であったソフトウェア動作に加えて、HDD104へのアクセスも可能となる。図3及び図4に示す省電力状態への遷移は、省電力制御プログラム321によって実行される。
このような画像処理装置1において、本実施形態の特徴は、図3に示す省電力状態において、スワッピングが発生する場合の動作にある。以下、本実施形態に係る画像処理装置1のスワッピング動作について説明する。図5は、本実施形態に係る画像処理装置1のスワッピング動作を示すシーケンス図である。図5の例においては、画像処理装置1の図3に示す省電力状態において外部からアクセスがあり、入出力アプリケーション324が新たなメモリ領域を要求した場合の例を示す。図6は、図5に示す夫々の処理を図2に示す機能ブロック上において示した図である。
図5に示すように、画像処理装置1に対して外部からアクセスがあり、入出力アプリケーション324が動作のための新たなメモリ領域をメモリ管理ソフトウェア331に要求すると(S501)、メモリ管理ソフトウェア331は、メモリ確保のためにMMU103aにアクセスする(S502)。メモリ管理ソフトウェア331がMMU103aにアクセスした結果、図16に示すように要求したメモリ容量に対してRAM102の空き領域が不足している場合、MMU103aにおいてページフォルトが発生し、メモリ管理ソフトウェア331はそれを検出する(S503)。ページフォルトが発生した場合の通常動作として、MMU103aはスワッピングを実行してRAM102の空き領域を確保する。しかしながら、メモリ管理ソフトウェア331は、HDD104に電源が供給されていない状態においてページフォルトの発生を検出すると、MMU103aにスワッピングの実行を待機させる。
メモリ管理ソフトウェア331は、MMU103aにスワッピング実行を待機させた上で、省電力制御プログラム321にウェイクアップ信号を送信する(S504)。このウェイクアップ信号は、非稼動状態であるHDD104を稼動状態へと遷移させるために、メモリ管理ソフトウェア331が発信する信号であり、HDD104を指定する情報が含まれる。メモリ管理ソフトウェア331からウェイクアップ信号を受信することにより、休止状態であった省電力制御プログラム321は動作を開始する。省電力制御プログラム321は、メモリ管理ソフトウェア331からのウェイクアップ信号により動作を開始すると、HDD104の復帰要求を送信する(S505)。省電力制御プログラム321が発信した復帰要求は、OS310の省電力制御ライブラリ311によって解釈される。省電力制御プログラム321が発信する復帰要求により、デバイスドライバ332が動作し、HDD104が稼動状態へと遷移する。即ち、省電力制御プログラム321は、二次記憶装置状態遷移部として機能し、デバイスドライバ332が二次記憶装置制御部として機能する。
省電力制御ライブラリ311は、HDD104の復帰に際して必要となる電源管理ソフトウェア332及びデバイス管理ソフトウェア333をデバイスドライバ332から呼び出す(S506)。即ち、省電力制御ライブラリ311は、二次記憶装置駆動部として機能する。省電力制御ライブラリ311によって呼び出された電源管理ソフトウェア334は、HDD104への電源供給を開始し(S507)、省電力制御プログラム321に通知する。即ち、電源管理ソフトウェア334が、電源供給制御部として機能する。また、デバイス管理ソフトウェア333は、HDD104の初期化処理を行い(S508)、省電力制御プログラム321に通知する。即ち、デバイス管理ソフトウェア333が、二次記憶装置初期化部として機能する。
HDD104への電源供給の再開及びHDD104の初期化処理の通知を受けた省電力制御プログラム321は、メモリ管理ソフトウェア331に対して復帰完了通知を送信する(S509)。省電力制御プログラム321は、メモリ管理ソフトウェア331に対して復帰完了通知を送信することにより、再び休止状態となる。復帰完了通知を受けたメモリ管理ソフトウェア331は、MMU103aに待機させていたスワッピングを実行させる(S510)。これにより、図16において説明したように、メモリ管理ソフトウェア331は、入手力アプリケーション324から要求されたメモリを確保し(S511)、入出力アプリケーション324に通知する。即ち、メモリ管理ソフトウェア331が、情報退避部及び記憶領域対応付け部として機能する。このような処理により、画像処理装置1は、HDD104への電源供給が停止している間のスワップ処理の発生にも対応することが可能となる。
次に、図5の動作におけるメモリ管理ソフトウェア331の処理について説明する。図7は、図5の動作におけるメモリ管理ソフトウェア331の処理を示すフローチャートである。メモリ管理ソフトウェア331は、入出力アプリケーション324からメモリ要求を受信すると(S701)、要求されたメモリ領域を確保するためにMMU103aにアクセスする(S702)。MMU103aがメモリ領域の確保を試みた結果、RAM102の実記憶領域にマッピングされていない仮想記憶領域にアクセスし、ページフォルトが発生すると(S703/YES)、メモリ管理ソフトウェア331は、HDD104に電源が供給されているか否か、即ちHDD104が省電力状態であるか否かを確認する(S704)。他方、ページフォルトが発生しない場合(S703/NO)、メモリ管理ソフトウェア331は、MMU103aを介してメモリを確保し(S709)、処理を終了する。
HDD104が省電力状態である場合(S704/YES)、メモリ管理ソフトウェア331は、MMU103aにスワップ処理を待機させ(S705)、省電力制御プログラム321に対してウェイクアップ信号を送信する(S706)。その後、メモリ管理ソフトウェア331は省電力制御プログラム321から復帰完了通知を受信するまで待機する(S707/NO)。復帰が完了した場合(S707/YES)若しくはHDDが省電力状態ではなかった場合(S704/NO)、MMU103aにスワップ処理を実行させる(S708)。スワップ処理により、メモリの確保が可能となり、メモリ管理ソフトウェア331は確保したメモリ領域を入出力アプリケーション324に通知して(S709)処理を終了する。
以上説明したように、本実施形態に係る画像処理装置1の省電力制御方法においては、HDD104への電源供給停止時にページフォルトが発生し、RAM102が保持している情報をHDD104に退避するスワップ処理の必要が生じた場合に、スワップ処理を待機させた状態で先にHDD104への電源供給を再開してHDD104を起動する。これにより、スワップ処理が失敗してHDD104へ退避されるべき情報が失われてしまうことを防ぐことができる。
尚、上記の説明においては、図5において説明したように、入出力アプリケーション322がメモリ管理ソフトウェア331にメモリ領域を要求する場合を例として説明したが、プリントアプリケーション322及びスキャンアプリケーション323や、図示しないその他のアプリケーションの場合も同様に適用可能である。また、アプリケーション320がメモリ領域を要求する場合に限らず、他のソフトウェアがメモリ領域を要求する場合であっても同様に適用可能である。
また、上記の説明においては、RAM102が保持している情報の退避先である二次記憶装置としてHDD104を用いる例を説明した。この他、NVRAM111を二次記憶装置として用いても良いし、他の一般的な記憶装置であれば用いることが可能である。ここで、本実施形態においては、二次記憶装置が省電力制御の対象となることが前提であるため、不揮発性の記憶媒体を有する記憶装置を二次記憶装置として用いることが好ましい。また、省電力制御による消費電力の低減効果から、HDD104のように、機械的に駆動される構成を有する記憶装置を二次記憶装置として用いる場合に、より本発明の効果を得ることができる。
また、上記の説明においては、メモリ管理ソフトウェア331がMMU103aにアクセスし、MMU103aにおいてページフォルトが発生したことをメモリ管理ソフトウェア331が検出してHDD104のウェイクアップ信号を発信する例を説明した。この他、メモリ管理ソフトウェア331が、メモリの空きページ情報を保持している場合、他の態様が可能となる。例えば、メモリ管理ソフトウェア331が、保持している空きページ領域以上の領域の要求を受信した場合、ページフォルトが発生することを予想してHDD104のウェイクアップ信号を送信するようにしても良い。この場合、メモリ管理ソフトウェア331がMMU103aにアクセスする前にウェイクアップ信号を送信することができるため、HDD104の起動完了までに要する時間を短縮することが可能であり、アプリケーション320から要求されたメモリの確保を迅速に完了することが可能となる。
実施の形態2.
実施の形態1においては、アプリケーション320として省電力制御プログラム321が動作し、省電力制御プログラム321がメモリ管理ソフトウェア331のウェイクアップ信号を受信してHDD104の復帰動作を行う例を説明した。本実施形態においては、省電力制御プログラム321に対応する機能をOS310が実現する例を説明する。尚、実施の形態1と同様の符号を付す構成については実施の形態1と同一又は相当部を示し、説明を省略する。
本実施形態に係る画像処理装置1のハードウェア構成は、実施の形態1の図1において説明した態様と略同一である。図8に本実施形態に係るソフトウェア300及び当該ソフトウェア300によって制御されるハードウェアを模式的に示す。図8に示すように、本実施形態に係るソフトウェア300は、実施の形態1の図2において説明した態様と同様に、カーネル330を含むOS310とアプリケーション320とを有する。ここで、本実施形態においては、カーネル330がHD起動ライブラリ335を有する。HDD起動ライブラリ335は、電源供給が停止された状態や、電源供給が制限された状態等の非稼動状態のHDD104を起動するために必要なデバイス管理ソフトウェア333及び電源管理ソフトウェア334を呼び出す。
次に、本実施形態に係る画像処理装置1のスワッピング動作について説明する。図9は、本実施形態に係る画像処理装置1のスワッピング動作を示すシーケンス図である。図9の例においても、実施の形態1と同様に、画像処理装置1の図3に示す省電力状態において外部からアクセスがあり、入出力アプリケーション324が新たなメモリ領域を要求した場合の例を示す。図10は、図9に示す夫々の処理を図8に示す機能ブロック上において示した図である。
図9に示すように、画像処理装置1に対して外部からアクセスがあり、入出力アプリケーション324が動作のための新たなメモリ領域をメモリ管理ソフトウェア331に要求すると(S901)、メモリ管理ソフトウェア331は、メモリ確保のためにMMU103aにアクセスする(S902)。メモリ管理ソフトウェア331がMMU103aにアクセスした結果、図16に示すように要求したメモリ容量に対してRAM102の空き領域が不足している場合、MMU103aにおいてページフォルトが発生し、メモリ管理ソフトウェア331はそれを検出する(S903)。ページフォルトが発生した場合の通常動作として、MMU103aはスワッピングを実行してRAM102の空き領域を確保する。しかしながら、メモリ管理ソフトウェア331は、HDD104に電源が供給されていない状態においてページフォルトの発生を検出すると、MMU103aにスワッピングの実行を待機させる。
メモリ管理ソフトウェア331は、MMU103aにスワッピング実行を待機させた上で、HDD起動ライブラリ335にHDD104の復帰要求を送信する(S904)。即ち、本実施形態においては、メモリ管理ソフトウェア331が二次記憶装置状態遷移部として機能する。HDD起動ライブラリ335は、HDD104の復帰に際して必要となる電源管理ソフトウェア332及びデバイス管理ソフトウェア333をデバイスドライバ332から呼び出す(S905)。即ち、本実施形態においては、HDD起動ライブラリ335が、二次記憶装置駆動部として機能する。HDD起動ライブラリ335によって呼び出された電源管理ソフトウェア334は、HDD104への電源供給を開始し(S906)、メモリ管理ソフトウェア331に通知する。また、デバイス管理ソフトウェア333は、HDD104の初期化処理を行い(S907)、メモリ管理ソフトウェア331に通知する。
HDD104への電源供給の再開及びHDD104の初期化処理の通知を受けたメモリ管理ソフトウェア331は、MMU103aに待機させていたスワッピングを実行させる(S908)。これにより、メモリ管理ソフトウェア331は、入手力アプリケーション324から要求されたメモリを確保し(S909)、入出力アプリケーション324に通知する。このような処理により、画像処理装置1は、HDD104への電源供給が停止している間のスワップ処理の発生にも対応することが可能となる。
図11は、図9の動作におけるメモリ管理ソフトウェア331の処理を示すフローチャートである。メモリ管理ソフトウェア331は、入出力アプリケーション324からメモリ要求を受信すると(S1101)、要求されたメモリ領域を確保するためにMMU103aにアクセスする(S1102)。MMU103aがメモリ領域の確保を試みた結果、RAM102の実記憶領域にマッピングされていない仮想記憶領域にアクセスし、ページフォルトが発生すると(S1103/YES)、メモリ管理ソフトウェア331は、HDD104に電源が供給されているか否か、即ちHDD104が省電力状態であるか否かを確認する(S704)。他方、ページフォルトが発生しない場合(S1103/NO)、メモリ管理ソフトウェア331は、MMU103aを介してメモリを確保し(S1109)、処理を終了する。
HDD104が省電力状態である場合(S1104/YES)、メモリ管理ソフトウェア331は、MMU103aにスワップ処理を待機させ(S1105)、HDD起動ライブラリ335に対して復帰要求を送信する(S1106)。その後、メモリ管理ソフトウェア331はデバイスドライバ332から復帰完了通知を受信するまで待機する(S1107/NO)。復帰が完了した場合(S1107/YES)若しくはHDDが省電力状態ではなかった場合(S1104/NO)、MMU103aにスワップ処理を実行させる(S1108)。スワップ処理により、メモリの確保が可能となり、メモリ管理ソフトウェア331は確保したメモリ領域を入出力アプリケーション324に通知して(S1109)処理を終了する。
以上説明したように、実施の形態1と同様の効果を、OS310若しくはカーネル330の処理だけで得ることが可能となる。これにより、入出力アプリケーション324等のアプリケーション320は、電源管理について考慮する必要がないため、アプリケーション320のOS310への依存性を低くすることが可能となる。
実施の形態1においては、HDD104の稼動/非稼動を制御する省電力制御プログラム321を介して、スワップ時のHDD104の臨時起動を制御することにより、本発明の適用をより容易に行うことが可能である。これに対して、本実施形態においては、省電力制御プログラム321によって稼動/非稼動制御されているHDD104を臨時に稼動状態へと遷移させる機能をメモリ管理ソフトウェア331が有する。これにより、メモリ管理ソフトウェア331がページフォルトの発生を検出してからHDD104を起動制御するまでの情報伝達を簡略化し、スワップ処理を迅速に完了することが可能となる。
尚、上記の説明においては、カーネル330にHDD起動ライブラリ335を設ける例を説明した。この他、メモリ管理ソフトウェア331が省電力制御ライブラリ311に復帰要求を送信するようにしてもよい。この場合であっても、スワップ処理に際するHDD104の起動処理がOS310の外側に及ぶことはなく、OS310の処理だけで上記と同様の効果を得ることが可能となる。
実施の形態3.
本実施形態においては、ページング方式による仮想記憶制御においてページフォルトが発生した場合の、二次記憶装置への情報の退避処理、即ちスワップアウト処理の優先度に特徴を有する制御方法を説明する。尚、実施の形態1または2と同様の符号を付す構成については実施の形態1または2と同一又は相当部を示し、説明を省略する。OS310はRAM102上で動作するアプリケーション320等の各プログラムが、CPU101のリソースを使用する使用権をスケジューリングする機能を有している。このスケジューリングは、RAM102上で動作しているプログラムの動作状態に基づいて実行される。他方、ページフォルトが発生した際にRAM102の実記憶領域からHDD104に退避されるのは、RAM102上で動作する各プログラムである。ページフォルトが発生した際に、RAM102からHDD104に退避されるプログラムの優先度も、各プログラムの動作状態に基づいて決定されるのが一般的である。
図12に、RAM102上で動作するプログラムの動作状態の表を示す。図12に示すパラメータのうち、“CPU時間”、“メモリ保有時間”、“メモリサイズ”といったパラメータは、従来においても取得され、参照されていたパラメータである。本実施形態においては、図12に示すように更に“HDDの使用履歴”をパラメータとして取得する。図12においては、HDDの使用履歴を“無し”、“多い”、“少ない”の3つの状態で示しているが、これは、各プログラムがHDD104にアクセスした回数や、HDD104から読み出した情報量若しくはHDD104に書き込んだ情報量等により判断される。
従来のスワップアウト処理の優先度決定方法においては、図12に示すプログラムB、プログラムCがHDD104に退避される優先度は低い。これは、プログラムB、プログラムCの“CPU時間”、“メモリ保有時間”及び“メモリサイズ”等のパラメータから、プログラムB、プログラムCをHDD104に退避しても、開放されるRAM102の実記憶領域が小さいと判断されるからである。他方、プログラムAがHDD104に退避された場合、開放されるRAM102の実記憶領域が大きいと判断されるため、従来のスワップアウト優先度決定方法においては、プログラムAは優先的にHDD104に退避される。
ここで、HDD104が省電力状態である場合を考える。HDD104が省電力状態である期間は、HDD104へのアクセスが発生していない期間であると考えられる。従って、図12に示すプログラムB、プログラムCのように、“HDD使用履歴”のパラメータが“多い”、“少ない”等の、HDD104を使用するプログラムは、HDD104が省電力状態である期間が動作していないと考えられる。仮に、HDD104へのアクセスが頻繁に発生するプログラムが動作している状態でHDD104を省電力状態としても、HDD104へのアクセスが発生した時点でHDD104の省電力状態は解除されるからである。
他方、プログラムAのように“HDD使用履歴”のパラメータが“無し”であるプログラムは、HDD104が省電力状態であっても動作している可能性が高いと考えられる。このようなプログラムをHDD104に退避した場合、再度当該プログラムを動作させるためには、HDD104に退避した情報を再度RAM102に読み出すスワップイン処理が必要となり、システムのパフォーマンスに影響する。また、このようなプログラムをHDD104に退避した後、HDD104が省電力状態に遷移した場合であっても、当該プログラムが動作するためには、HDD104からのスワップイン処理が必要であるため、HDD104の省電力状態を解除する必要があり、HDD104の省電力制御が非効率なものとなってしまう。
このような課題に対して、本実施形態に係るスワップアウト処理の優先度決定方法においては、図12に示す“HDD使用履歴”のパラメータを参照し、使用履歴の多いプログラムを優先的にHDD104に退避する。これにより、HDD104が省電力状態となった場合に、動作していないプログラムを優先的にHDD104に退避し、HDD104が省電力状態であっても動作している可能性の高いプログラムを優先的にRAM102に残すことができる。これにより、HDD104の省電力状態におけるページフォルトの発生を抑制し、HDD104の省電力効果及びシステムのパフォーマンスを向上することができる。
本実施形態に係る画像処理装置1のハードウェア構成は、実施の形態1の図1において説明した態様と略同一である。図13に本実施形態に係るソフトウェア300及び当該ソフトウェア300によって制御されるハードウェアを模式的に示す。図13に示すように、本実施形態に係るソフトウェア300は、実施の形態1の態様と概ね同一である。ここで、本実施形態に係るOS310は、実施の形態1の態様に加えてタスクマネージャ312を有する。タスクマネージャ312は、メモリ管理ソフトウェア331によって管理され、RAM102上で動作する各プログラムの動作態様を図12に示すようなテーブルとして管理する。
次に、図14を参照して、本実施形態に係るスワップアウト処理の優先度決定動作について説明する。図14は、本実施形態に係るスワップアウト処理の動作を示すフローチャートである。メモリ管理ソフトウェア331は、ページフォルトの発生を検出すると(S1401)、HDD104に電源が供給されているか否か、即ちHDD104が省電力状態であるか否かを確認する(S1402)。HDD104が省電力状態である場合(S1402/YES)、メモリ管理ソフトウェア331は、MMU103aにスワップ処理を待機させ(S1403)、省電力制御プログラム321に対してウェイクアップ信号を送信する(S1404)。その後、メモリ管理ソフトウェア331は省電力制御プログラム321から復帰完了通知を受信するまで待機する(S1405/NO)。
HDD104の復帰が完了した場合(S1405/YES)、メモリ管理ソフトウェア331は、タスクマネージャ312を参照し(S1406)、RAM120にロードされているプログラムの、スワップアウトの優先順位を決定する(S1407)。即ち、メモリ管理ソフトウェア331が、退避優先度情報取得部及び退避情報選択部として機能する。このとき、メモリ管理ソフトウェア331は、上述したように図12に示す各パラメータのうち“HDD使用履歴”のパラメータを重視し、HDD104の使用履歴が多いプログラムを優先的にスワップアウト処理の対象とする。スワップアウトの優先順位が決定すると、メモリ管理ソフトウェア331は、MMU103aにスワップ処理を実行させる(S1408)。スワップ処理により、メモリの確保が可能となり、メモリ管理ソフトウェア331は確保したメモリ領域を入出力アプリケーション324に通知して(S1409)処理を終了する。
以上説明したように、本実施形態に係るスワップアウト処理の優先度決定方法においては、HDD104が省電力状態である場合、スワップアウト処理の対象とするプログラムの優先度を、そのプログラムのHDD104の使用履歴に基づいて判断し、HDD104をより多く使用しているプログラムを優先的にスワップアウトの対象とする。これにより、HDD104の省電力状態におけるメモリ領域の管理を効率化することができる。また、HDD104の省電力状態においてスワップイン処理が発生し、HDD104の省電力効率が低下することを防ぐことが可能となる。
尚、上記の説明においては、図14において説明したように、ページフォルトの発生に際して、HDD104が省電力状態である場合に、HDD104の使用履歴が多いプログラムを優先的にスワップアウトの対象とする例を説明した。しかしながら、HDD104に電源が供給されている稼動状態であっても、同様の処理を行っても良い。これにより、その後HDD104が省電力状態となった場合、HDD104の使用履歴が少ないプログラム、即ち、HDD104の省電力状態においても動作している可能性の高いプログラムがRAM102に残ることとなる。また、HDD104の使用履歴が多いプログラム、即ち、HDD104の省電力状態において動作している可能性の低いプログラムがHDD104に退避されることとなる。これにより、HDD104の省電力状態における、スワップイン処理の発生を低減することが可能となる。
HDD104の省電力状態への遷移判断は、例えば、HDD104へのアクセスが所定期間行われなかったこと等により行われる。この所定期間の判断は、例えば省電力制御プログラム321が有するカウンタ機能等により判断される。ここで、メモリ管理ソフトウェア331は、ページフォルトの発生に際して、HDD104を省電力状態へと遷移させるタイミングを判断するカウンタ値を参照し、HDD104が省電力状態へと遷移するまでの期間が所定の閾値以下である場合に、上記説明したスワップアウトの優先度判断方法を適用するようにしても良い。これにより、HDD104の省電力状態への遷移タイミングが近い場合には、HDD104の使用履歴が少ないプログラム、即ち、HDD104の省電力状態においても動作している可能性の高いプログラムをRAM102に残し、上述した効果を得ることが可能となる。また、HDD104の省電力状態への遷移タイミングが遠い場合には、通常通りスワップ処理を実行することが可能となる。
また、上記の説明においては、図14において説明したように、メモリ管理ソフトウェア331は、HDD104の復帰が完了してから、タスクマネージャ312を参照する例を説明した。この他、S1403〜S1405の処理とS1406、S1407の処理とを並行して行っても良いし、S1406、S1407の処理を先に行っても良い。また、図12に示す情報の管理をメモリ管理ソフトウェア331が直接行い、タスクマネージャ312を参照するまでもなく、スワップアウトの優先度を判断可能なようにしても良い。
また、上記の説明においては、図12において説明したように、各プログラムによるHDD104の使用履歴が“多い”、“少ない”及び“無し”等のパラメータに基づいてスワップアウトの優先度を決定する例を説明した。この他、各プログラムがHDD104を使用した回数を数値情報として取得しても良いし、単位時間辺りのHDD104の使用回数、即ち使用頻度を取得するようにしても良い。また、上記の説明においては、仮想記憶制御の方式としてページング方式を用いる例を説明したが、セグメント方式であっても同様に適用可能である。
また、上記の説明においては、図12において説明したように、HDD104の使用履歴に基づき、HDD104の使用履歴が多いプログラムを優先的にスワップアウトの対象とする例を説明した。この他、図15に示すように、各プログラムがHDD104を使用するか否かの情報をタスクマネージャ312が管理し、その情報に基づいてHDD104を使用するプログラムを優先的にスワップアウトの対象とすることも可能である。
また、上記実施の形態1〜3の説明においては、HDD104が非稼動である状態として、省電力制御プログラム321によって電源供給が制限された状態を例として説明した。この他、画像処理装置1の起動時の設定により、HDD104を起動しない場合等が挙げられる。
本発明の実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。 本発明の実施形態に係る画像処理装置のソフトウェア構成を示すブロック図である。 本発明の実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。 本発明の実施形態に係る画像処理装置のハードウェア構成を示すブロック図である。 本発明の実施形態に係る画像処理装置のメモリ要求動作を示すシーケンス図である。 本発明の実施形態に係る画像処理装置のソフトウェア構成における処理の流れを示すブロック図である。 本発明の実施形態に係るメモリ管理ソフトウェアの動作を示すフローチャートである。 本発明の他の実施形態に係る画像処理装置のソフトウェア構成を示すブロック図である。 本発明の他の実施形態に係る画像処理装置のメモリ要求動作を示すシーケンス図である。 本発明の実施形態に係る画像処理装置のソフトウェア構成における処理の流れを示すブロック図である。 本発明の実施形態に係るメモリ管理ソフトウェアの動作を示すフローチャートである。 本発明の他の実施形態に係るプログラムの動作態様に係る情報を示す表である。 本発明の他の実施形態に係る画像処理装置のソフトウェア構成を示すブロック図である。 本発明の実施形態に係るメモリ管理ソフトウェアの動作を示すフローチャートである。 従来技術に係る仮想記憶制御の態様を示す図である。 従来技術に係る仮想記憶技術を説明するための図である。
符号の説明
100 コントローラ
100a ソフト制御部
100b メカ制御部
101 CPU
102 RAM
103 システムコントロールASIC
103a MMU
104 HDD
105 ROM
106 画像処理ASIC
107 可搬型記録媒体I/F
108 入出力・省電力制御ASIC
109 オペレーションパネルI/F
110 HOST I/F
111 NVRAM
112 オプションI/F
113 電源制御部
200 エンジン
201 エンジンコントローラ
202 スキャンエンジン
203 プリントエンジン
300 ソフトウェア
310 OS
311 省電力制御ライブラリ
312 タスクマネージャ
320 アプリケーション
321 省電力制御プログラム
322 プリントアプリケーション
323 スキャンアプリケーション
324 入手力アプリケーション
330 カーネル
331 メモリ管理ソフトウェア
332 デバイスドライバ
333 デバイス管理ソフトウェア
334 電源管理ソフトウェア
335 HDD起動ライブラリ

Claims (14)

  1. 仮想的に定義された仮想記憶領域の一部と主記憶装置の実記憶領域とを対応付けることにより、実記憶領域よりも広い仮想記憶領域を実現する仮想記憶制御装置であって、
    前記仮想記憶領域のうち前記実記憶領域に非対応の領域が要求された場合に、前記実記憶領域に保持された情報を前記主記憶装置とは異なる二次記憶装置に退避する情報退避部と、
    前記要求された非対応の領域と前記退避された情報が保持されていた実記憶領域とを対応付ける記憶領域対応付け部と
    前記実記憶領域に保持された複数の情報のうち前記二次記憶装置に退避する情報を選択する際の優先度に関する情報を取得する退避優先度情報取得部と、
    前記取得した優先度に関する情報に基づいて前記二次記憶装置に退避する情報を選択する退避情報選択部とを有し、
    前記実記憶領域に保持された情報は、当該実記憶領域において動作する複数のプログラムであり、
    前記優先度に関する情報は、予め定められた前記プログラムの前記二次記憶装置の使用有無に関する情報であり、
    前記退避情報選択部は、前記二次記憶装置を使用するプログラムを優先して前記二次記憶装置に退避する情報として選択し、
    前記情報退避部は、前記二次記憶装置の非稼動状態において前記非対応の領域が要求された場合に、前記二次記憶装置を稼動状態へと遷移させる処理に関する信号を発信し、前記二次記憶装置が稼働状態となった後に、前記退避情報選択部によって選択された前記実記憶領域に保持された情報を前記二次記憶装置に退避することを特徴とする、仮想記憶制御装置。
  2. 前記二次記憶装置を稼動状態へと遷移させる処理に関する信号に応じて、前記二次記憶装置を稼動状態へと遷移させる二次記憶装置状態遷移部を更に有することを特徴とする、請求項1に記載の仮想記憶制御装置。
  3. 前記二次記憶装置状態遷移部は、装置の動作態様に応じて前記二次記憶装置への電源供給を制限する省電力制御部を有し、
    前記二次記憶装置の非稼動状態は、前記省電力制御部によって電源供給が制限された状態であることを特徴とする、請求項2に記載の仮想記憶制御装置。
  4. 前記二次記憶装置状態遷移部は、オペレーティング・システムの機能によって実現されることを特徴とする、請求項2または3に記載の仮想記憶制御装置。
  5. 前記二次記憶装置状態遷移部は、アプリケーション・プログラムの機能によって実現されることを特徴とする、請求項2または3に記載の仮想記憶制御装置。
  6. 前記二次記憶装置を制御する二次記憶装置制御部と、
    前記二次記憶装置状態遷移部の命令に応じて前記二次記憶装置制御部を動作させる二次記憶装置駆動部とを更に有することを特徴とする、請求項2乃至5いずれか1項に記載の仮想記憶制御装置。
  7. 前記二次記憶装置制御部は、前記二次記憶装置状態遷移部の命令に応じて前記二次記憶装置への電源供給を制御する電源供給制御部を有することを特徴とする、請求項6に記載の仮想記憶制御装置。
  8. 前記二次記憶装置制御部は、前記二次記憶装置状態遷移部の命令に応じて前記二次記憶装置を初期化する二次記憶装置初期化部を有することを特徴とする、請求項6に記載の仮想記憶制御装置。
  9. 前記二次記憶装置を稼動状態から非稼動状態に遷移させる二次記憶装置稼動状態制御部を更に有し、
    前記二次記憶装置稼動状態制御部は、前記二次記憶装置を稼動状態から非稼動状態に遷移させるタイミングに関する情報を有し、
    前記退避情報選択部は、前記タイミングが所定の期間以内である場合に、前記取得した優先度に関する情報に基づいて前記二次記憶装置に退避する情報を選択することを特徴とする、請求項1乃至8いずれか1項に記載の仮想記憶制御装置。
  10. 仮想的に定義された仮想記憶領域の一部と主記憶装置の実記憶領域とを対応付けることにより、実記憶領域よりも広い仮想記憶領域を実現する仮想記憶制御装置であって、
    前記仮想記憶領域のうち前記実記憶領域に非対応の領域が要求された場合に、前記実記憶領域に保持された情報を前記主記憶装置とは異なる二次記憶装置に退避する情報退避部と、
    前記要求された非対応の領域と前記退避された情報が保持されていた実記憶領域とを対応付ける記憶領域対応付け部と、
    前記実記憶領域に保持された複数の情報のうち前記二次記憶装置に退避する情報を選択する際の優先度に関する情報を取得する退避優先度情報取得部と、
    前記取得した優先度に関する情報に基づいて前記二次記憶装置に退避する情報を選択する退避情報選択部とを有し、
    前記実記憶領域に保持された情報は、当該実記憶領域において動作する複数のプログラムであり、
    前記優先度に関する情報は、前記プログラムの前記二次記憶装置の使用履歴に関する情報であり、
    前記退避情報選択部は、前記二次記憶装置の使用履歴の多いプログラムを優先して前記二次記憶装置に退避する情報として選択し、
    前記情報退避部は、前記二次記憶装置の非稼動状態において前記非対応の領域が要求された場合に、前記二次記憶装置を稼動状態へと遷移させる処理に関する信号を発信し、前記二次記憶装置が稼働状態となった後に、前記退避情報選択部によって選択された前記実記憶領域に保持された情報を前記二次記憶装置に退避することを特徴とする、仮想記憶制御装置。
  11. 仮想的に定義された仮想記憶領域の一部と主記憶装置の実記憶領域とを対応付けることにより、実記憶領域よりも広い仮想記憶領域を実現する仮想記憶制御装置であって、
    前記仮想記憶領域のうち前記実記憶領域に非対応の領域が要求された場合に、前記実記憶領域に保持された情報を前記主記憶装置とは異なる二次記憶装置に退避する情報退避部と、
    前記要求された非対応の領域と前記退避された情報が保持されていた実記憶領域とを対応付ける記憶領域対応付け部と、
    前記実記憶領域に保持された複数の情報のうち前記二次記憶装置に退避する情報を選択する際の優先度に関する情報を取得する退避優先度情報取得部と、
    前記取得した優先度に関する情報に基づいて前記二次記憶装置に退避する情報を選択する退避情報選択部とを有し、
    前記実記憶領域に保持された情報は、当該実記憶領域において動作する複数のプログラムであり、
    前記優先度に関する情報は、前記プログラムの前記二次記憶装置の使用頻度に関する情報であり、
    前記退避情報選択部は、前記二次記憶装置の使用頻度の高いプログラムを優先して前記二次記憶装置に退避する情報として選択し、
    前記情報退避部は、前記二次記憶装置の非稼動状態において前記非対応の領域が要求された場合に、前記二次記憶装置を稼動状態へと遷移させる処理に関する信号を発信し、前記二次記憶装置が稼働状態となった後に、前記退避情報選択部によって選択された前記実記憶領域に保持された情報を前記二次記憶装置に退避することを特徴とする、仮想記憶制御装置。
  12. 仮想的に定義された仮想記憶領域の一部と主記憶装置の実記憶領域とを対応付けることにより、実記憶領域よりも広い仮想記憶領域を実現する仮想記憶制御方法であって、
    前記二次記憶装置の非稼動状態において前記実記憶領域に非対応の領域が要求された場合に、前記二次記憶装置を稼動状態へと遷移させる処理に関する信号を発信し、
    前記実記憶領域に保持された複数の情報である前記実記憶領域において動作する複数のプログラムのうち、前記二次記憶装置に退避する情報を選択する際の優先度に関する情報として、予め定められた前記プログラムの前記二次記憶装置の使用有無に関する情報を取得し、
    前記取得した優先度に関する情報に基づき、前記二次記憶装置を使用するプログラムを優先して前記二次記憶装置に退避する情報として選択し、
    前記二次記憶装置が稼働状態となった後に、前記選択された前記実記憶領域に保持された情報を前記二次記憶装置に退避し、
    前記要求された非対応の領域と前記退避された情報が保持されていた実記憶領域とを対応付けることを特徴とする、仮想記憶制御方法。
  13. 請求項12に記載の仮想記憶制御方法を仮想記憶制御装置に実行させることを特徴とする仮想記憶制御プログラム。
  14. 請求項13に記載の仮想記憶制御プログラムを仮想記憶制御装置が読み取り可能な形式で記録したことを特徴とする記録媒体。
JP2007273073A 2007-10-19 2007-10-19 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体 Expired - Fee Related JP4958723B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007273073A JP4958723B2 (ja) 2007-10-19 2007-10-19 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007273073A JP4958723B2 (ja) 2007-10-19 2007-10-19 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JP2009104247A JP2009104247A (ja) 2009-05-14
JP4958723B2 true JP4958723B2 (ja) 2012-06-20

Family

ID=40705882

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007273073A Expired - Fee Related JP4958723B2 (ja) 2007-10-19 2007-10-19 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP4958723B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8601302B2 (en) * 2009-06-22 2013-12-03 Amazon Technologies, Inc. Processor system in low power state retention mode with linear regulator off and switch regulator low in power management IC

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5635228A (en) * 1979-08-31 1981-04-07 Fujitsu Ltd Power supply system for memory device
JPH04141753A (ja) * 1990-10-03 1992-05-15 Nec Corp スワップ処理方式
JPH04230508A (ja) * 1990-10-29 1992-08-19 Internatl Business Mach Corp <Ibm> 低電力消費メモリ装置
JPH04290114A (ja) * 1991-03-19 1992-10-14 Omron Corp コンピュータのメモリ管理システム
JPH05265845A (ja) * 1992-03-24 1993-10-15 Mitsubishi Electric Corp スワッピング制御方式
JPH0756800A (ja) * 1993-08-12 1995-03-03 Toshiba Corp メモリ領域の動的管理装置
JPH07160574A (ja) * 1993-12-13 1995-06-23 Matsushita Electric Ind Co Ltd 情報処理装置
JP3224473B2 (ja) * 1994-05-09 2001-10-29 キヤノン株式会社 電子機器及び該機器における電源制御方法
JP3444346B2 (ja) * 1999-01-04 2003-09-08 日本電気株式会社 仮想メモリ管理方式
JP2000215100A (ja) * 1999-01-21 2000-08-04 Nec Corp 省電力メモリ管理システム
JP2004227188A (ja) * 2003-01-21 2004-08-12 Fujitsu Ltd ジョブスワップ方法、ジョブ管理装置、およびジョブ管理プログラム
JP2004272460A (ja) * 2003-03-06 2004-09-30 Fuji Xerox Co Ltd 情報処理装置、画像形成装置、メモリ管理方法、そのプログラム及びそのプログラムを記録した記録媒体

Also Published As

Publication number Publication date
JP2009104247A (ja) 2009-05-14

Similar Documents

Publication Publication Date Title
JP5289153B2 (ja) 情報処理装置及びその制御方法、並びにコンピュータプログラム
JP5419500B2 (ja) プログラムおよび情報処理装置
JP5180613B2 (ja) 情報処理装置及びその制御方法
JP3664926B2 (ja) 画像処理装置
US7817298B2 (en) Image processing apparatus and method for faster starting of an image processing apparatus using priority functions
JP4995064B2 (ja) 画像出力装置及び画像出力方法
JP4182090B2 (ja) データ処理装置
JP6164938B2 (ja) 画像形成装置及びその制御方法、並びにプログラム
JP2007001090A (ja) 画像形成装置のデータバックアップシステム、画像形成装置及びデータバックアップ方法
JP6875808B2 (ja) 情報処理装置
JP5159377B2 (ja) 情報処理装置及び情報処理方法
JP2008269237A (ja) 印刷システム及び印刷装置
JP4958723B2 (ja) 仮想記憶制御装置、仮想記憶制御方法、仮想記憶制御プログラム及び記録媒体
JP2007223163A (ja) 画像形成装置、画像表示方法
JP5166955B2 (ja) 情報処理装置、情報処理方法、及び、情報処理プログラム
JP2008030477A (ja) 記録装置及び記録装置の制御方法
US9081523B2 (en) Non-transitory computer readable recording medium storing job transmission program for transmission of job to electronic device and electronic device executing job
JP2005094301A (ja) 画像形成装置
JP5480194B2 (ja) 画像形成装置およびシステム管理プログラム
US10956090B2 (en) Memory system and electronic apparatus
JP2009140069A (ja) 印刷システム
JP2007136824A (ja) 印刷装置及び印刷方法、コンピュータプログラム及び記憶媒体
JP2009100103A (ja) 印刷装置
JP5509704B2 (ja) 情報処理装置、ログ管理方法およびログ管理プログラム
JP5899790B2 (ja) 情報処理装置及び省電力モードの管理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100603

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100609

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100609

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110613

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110926

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120319

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

Free format text: PAYMENT UNTIL: 20150330

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4958723

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees