(57)【特許請求の範囲】
【請求項１】
揮発性の第１記憶手段と、
不揮発性の第２記憶手段と、
第１オペレーティングシステムプログラムを実行し、前記第１記憶手段および前記第２記憶手段を制御するホスト制御手段と、
第２オペレーティングシステムプログラムを実行するゲスト制御手段と、
前記ホスト制御手段と前記ゲスト制御手段との間に設けられ、前記ホスト制御手段による前記第１記憶手段および前記第２記憶手段へのアクセスをエミュレートすることによって、前記ゲスト制御手段による前記第１記憶手段および前記第２記憶手段へのアクセスを可能にするエミュレート手段と、
アプリケーションプログラムを実行し、前記ホスト制御手段を制御して、前記第１記憶手段および前記第２記憶手段にアクセス可能なアプリケーション手段と、を備え、
前記アプリケーション手段および前記エミュレート手段のいずれか一方は、前記アプリケーション手段が前記第２記憶手段を停止する前に、前記第２記憶手段の予め定められた領域に記憶されたデータを前記第１記憶手段の所定の領域に記憶させる転送手段を、含み、
前記エミュレート手段は、前記アプリケーション手段により前記第２記憶手段が停止された後は、前記ゲスト制御手段による前記第２記憶手段へのアクセスを前記第１記憶手段の前記所定の領域へのアクセスに変換するアクセス先変換手段を、含む画像処理装置。
【請求項２】
前記アプリケーション手段は、前記転送手段と、
前記第２記憶手段を停止させる前に、前記エミュレート手段に前記第２記憶手段を停止させることを通知する停止開始通知手段と、
前記転送手段により前記第１記憶手段にデータが記憶された後に、前記エミュレート手段に前記第２記憶手段へのデータの記憶が完了したことを通知する転送完了通知手段と、  前記転送手段により前記第１記憶手段にデータが記憶された後に、前記ホスト制御手段を制御して前記第２記憶手段を停止させる停止手段と、を含み、
前記転送手段は、前記第２記憶手段を停止させることの通知に対する前記エミュレート手段による応答に応じて、前記第１記憶手段にデータを記憶させ、
前記エミュレート手段は、前記ゲスト制御手段による前記第２記憶手段へのアクセスが存在しないことを条件に、前記アプリケーション手段から前記第２記憶手段を停止させることの通知に応答する停止応答手段を含み、
前記アクセス先変換手段は、前記アプリケーション手段から前記第２記憶手段にデータの記憶が完了したことが通知されることに応じて、前記ゲスト制御手段による前記第２記憶手段へのアクセスを前記第１記憶手段の前記所定の領域へのアクセスに変換する、請求項１に記載の画像処理装置。
【請求項３】
前記アプリケーション手段は、前記第２記憶手段の停止を前記エミュレート手段に指示する停止指示手段を含み、
前記エミュレート手段は、前記転送手段と、
前記転送手段により前記第１記憶手段にデータが記憶された後に、前記ホスト制御手段を制御して前記第２記憶手段を停止させる停止手段と、を含み、
前記転送手段は、前記ゲスト制御手段による前記第２記憶手段へのアクセスが存在しないことを条件に、前記第１記憶手段にデータを記憶させ、
前記アクセス先変換手段は、前記転送手段により前記第１記憶手段にデータが記憶された後は、前記ゲスト制御手段による前記第２記憶手段へのアクセスを前記第１記憶手段の前記所定の領域へのアクセスに変換する、請求項１に記載の画像処理装置。
【請求項４】
前記アプリケーション手段および前記エミュレート手段のいずれか一方は、前記アプリケーション手段が停止している前記第２記憶手段を起動する場合、前記第１記憶手段の前記所定の領域に記憶されたデータを前記第２記憶手段の前記予め定められた領域に記憶させるデータ復帰手段を、含み、
前記エミュレート手段は、さらに、前記アプリケーション手段により前記第２記憶手段が起動された後は、前記ゲスト制御手段による前記第２記憶手段へのアクセスを前記第１記憶手段の前記所定の領域へのアクセスに変換しない、請求項１〜３のいずれかに記載の画像処理装置。
【請求項５】
前記アプリケーション手段は、停止している前記第２記憶手段を起動する場合、前記第１記憶手段の前記所定の領域に記憶されたデータを前記第２記憶手段の前記予め定められた領域に記憶させるデータ復帰手段と、
前記ホスト制御手段を制御して、停止している前記第２記憶手段を起動する起動手段と、
前記第２記憶手段が起動することに応じて、前記エミュレート手段に前記第２記憶手段が起動されたことを通知する起動開始通知手段と、
前記データ復帰手段により前記第２記憶手段にデータが記憶された後に、前記エミュレート手段に前記第２記憶手段へのデータの記憶が完了したことを通知する起動完了通知手段と、を含み、
前記データ復帰手段は、前記第２記憶手段が起動されたことの通知に対する前記エミュレート手段による応答に応じて、前記第２記憶手段にデータを記憶させ、
前記アクセス先変換手段は、前記アプリケーション手段から前記第２記憶手段へのデータの記憶が完了したことが通知された後は、前記ゲスト制御手段による前記第２記憶手段へのアクセスを前記第１記憶手段の前記所定の領域へのアクセスに変換しない、請求項１〜３のいずれかに記載の画像処理装置。
【請求項６】
前記アプリケーション手段は、停止している前記第２記憶手段の起動を前記エミュレート手段に指示する起動指示手段を含み、
前記エミュレート手段は、前記アプリケーション手段が停止している前記第２記憶手段を起動する場合、前記第１記憶手段の前記所定の領域に記憶されたデータを前記第２記憶手段の前記予め定められた領域に記憶させるデータ復帰手段と、
前記アプリケーション手段により前記第２記憶手段の起動が指示されることに応じて、前記第２記憶手段を起動する起動手段と、を備え、
前記データ復帰手段は、前記第２記憶手段が起動した後に、前記第２記憶手段にデータを記憶させ、
前記アクセス先変換手段は、前記データ復帰手段により前記第２記憶手段にデータが記憶された後は、前記ゲスト制御手段による前記第２記憶手段へのアクセスを前記第１記憶手段の前記所定の領域へのアクセスに変換しない、請求項１〜３のいずれかに記載の画像処理装置。
【請求項７】
前記アプリケーション手段は、通常モードよりも消費電力の低い省電力モードに動作モードを切り換えるモード切換手段と、
前記通常モードにおいて前記第１記憶手段の予め定められた画像領域を用いて画像データを処理し、前記省電力モードにおいて画像データを処理しない画像処理手段と、を含み、
前記第１記憶手段の前記所定の領域は、前記画像処理手段が前記通常モードにおいて用いる画像領域である、請求項１〜６のいずれかに記載の画像処理装置。
【請求項８】
画像処理装置を制御するコンピューターにより実行されるアプリケーションプログラムおよびエミュレートプログラムを含む動作モード切換プログラムであって、
前記画像処理装置は、揮発性の第１記憶手段と、
不揮発性の第２記憶手段と、を備え、
前記コンピューターは、第１オペレーティングシステムプログラムを実行し、前記第１記憶手段および前記第２記憶手段を制御するホストオペレーティングシステムと、
第２オペレーティングシステムプログラムを実行するゲストオペレーティングシステムと、
前記エミュレートプログラムを実行し、前記ホストオペレーティングシステムと前記ゲストオペレーティングシステムとの間で、前記ホストオペレーティングシステムによる前記第１記憶手段および前記第２記憶手段へのアクセスをエミュレートすることによって、前記ゲストオペレーティングシステムによる前記第１記憶手段および前記第２記憶手段へのアクセスを可能にするエミュレートタスクと、
アプリケーションプログラムを実行し、前記ホストオペレーティングシステムを制御して、前記第１記憶手段および前記第２記憶手段にアクセス可能なアプリケーションタスクと、を備え、
前記アプリケーションタスクが前記第２記憶手段を停止する前に、前記第２記憶手段の予め定められた領域に記憶されたデータを前記第１記憶手段の所定の領域に記憶させる転送ステップを、前記アプリケーションタスクおよび前記エミュレートタスクのいずれか一方に実行させ、
前記アプリケーションタスクにより前記第２記憶手段が停止された後は、前記ゲストオペレーティングシステムによる前記第２記憶手段へのアクセスを前記第１記憶手段の前記所定の領域へのアクセスに変換するアクセス先変換ステップを、前記エミュレートタスクに実行させる、動作モード切換プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置およびモード切換プログラムに関し、特に、複数のオペレーティングシステムがインストールされた画像処理装置、その画像処理装置で実行されるモード切換プログラムに関する。
【背景技術】
【０００２】
近年、仮想マシンを実現するための仮想化技術としてハイパーバイザーが知られている。画像を処理する画像処理装置で代表されるＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｆｅｒａｌ）において、仮想マシンを実現すれば、ＭＦＰに種々のアプリケーションプログラムを実行させることができる。一方、省電力の要求からＭＦＰが使用されていない場合には、消費電力を少なくする状態に遷移することが望ましい。
【０００３】
例えば、特開２０１２−１８５１５号公報には、デバイスを備えた情報処理装置であって、該デバイスに対して処理を行なう複数のゲスト仮想マシンと、該複数のゲスト仮想マシンによる該デバイスへのアクセス処理を代行するデバイスドライバ仮想マシンと、該デバイスドライバ仮想マシンを介して該デバイスにアクセスしている該複数のゲスト仮想マシンのそれぞれに関して、該複数のゲスト仮想マシンのうち一つと該デバイスとの間における非アクセス状態での経過時間を非アクセス時間として測定する測定部と、該非アクセス時間と該デバイスの動作モードを表す動作モード情報とを対応付けた動作プロファイル情報を記憶する記憶部と、測定された該非アクセス時間に基づいて該動作プロファイル情報を参照して、動作モードを決定する決定部と、該デバイスを、決定された該動作モードに遷移させる遷移制御部と、を備えることを特徴とする、情報処理装置が記載されている。
【０００４】
しかしながら、ＭＦＰにインストールされるアプリケーションプログラムによっては、省電力の状態においても停止することなく実行されることが必要なプログラムがある。例えば、第１のゲスト仮想マシンで実行されるアプリケーションプログラムによって使用されないデバイスが省電力の動作モードに変更される場合に、そのデバイスが第２のゲスト仮想マシンで実行されるアプリケーションプログラムによって使用される場合がある。この場合、第２のゲスト仮想マシンは、第１のゲスト仮想マシンによってそのデバイスが省電力の動作モードに変更されたことを知ることができないために、第２のゲスト仮想マシンからデバイスにアクセスできなくなってしまったり、また、デバイスを起動するまでに時間がかかってしまうといった問題がある。
【特許文献１】特開２０１２−１８５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、複数のオペレーティングシステムプログラムがインストールされた状態で、記憶手段により消費される電力を低減するとともに記憶手段に記憶されたデータにアクセスすることが可能な画像処理装置を提供することである。
【０００６】
この発明の他の目的は、複数のオペレーティングシステムプログラムがインストールされた状態で、記憶手段により消費される電力を低減するとともに記憶手段に記憶されたデータにアクセスすることが可能な動作モード切換プログラムを提供することである。
【課題を解決するための手段】
【０００７】
上述した目的を達成するためにこの発明のある局面によれば、画像処理装置は、揮発性の第１記憶手段と、不揮発性の第２記憶手段と、第１オペレーティングシステムプログラムを実行し、第１記憶手段および第２記憶手段を制御するホスト制御手段と、第２オペレーティングシステムプログラムを実行するゲスト制御手段と、ホスト制御手段とゲスト制御手段との間に設けられ、ホスト制御手段による第１記憶手段および第２記憶手段へのアクセスをエミュレートすることによって、ゲスト制御手段による第１記憶手段および第２記憶手段へのアクセスを可能にするエミュレート手段と、アプリケーションプログラムを実行し、ホスト制御手段を制御して、第１記憶手段および第２記憶手段にアクセス可能なアプリケーション手段と、を備え、アプリケーション手段およびエミュレート手段のいずれか一方は、アプリケーション手段が第２記憶手段を停止する前に、第２記憶手段の予め定められた領域に記憶されたデータを第１記憶手段の所定の領域に記憶させる転送手段を、含み、エミュレート手段は、アプリケーション手段により第２記憶手段が停止された後は、ゲスト制御手段による第２記憶手段へのアクセスを第１記憶手段の所定の領域へのアクセスに変換するアクセス先変換手段を、含む。
【０００８】
この局面に従えば、アプリケーション手段が第２記憶手段を停止する前に、第２記憶手段の予め定められた領域に記憶されたデータが第１記憶手段の所定の領域に記憶され、エミュレート手段が、アプリケーション手段により第２記憶手段が停止された後は、ゲスト制御手段による第２記憶手段へのアクセスを第１記憶手段の所定の領域へのアクセスに変換するので、ゲスト制御手段は、第２記憶手段が停止された後でも第２記憶手段に記憶されていたデータにアクセルすることができる。その結果、複数のオペレーティングシステムプログラムがインストールされた状態で、記憶手段により消費される電力を低減するとともに記憶手段に記憶されたデータにアクセスすることが可能な画像処理装置を提供することができる。
【０００９】
好ましくは、アプリケーション手段は、転送手段と、第２記憶手段を停止させる前に、エミュレート手段に第２記憶手段を停止させることを通知する停止開始通知手段と、転送手段により第１記憶手段にデータが記憶された後に、エミュレート手段に第２記憶手段へのデータの記憶が完了したことを通知する転送完了通知手段と、転送手段により第１記憶手段にデータが記憶された後に、ホスト制御手段を制御して第２記憶手段を停止させる停止手段と、を含み、転送手段は、第２記憶手段を停止させることの通知に対するエミュレート手段による応答に応じて、第１記憶手段にデータを記憶させ、エミュレート手段は、ゲスト制御手段による第２記憶手段へのアクセスが存在しないことを条件に、アプリケーション手段から第２記憶手段を停止させることの通知に応答する停止応答手段を含み、アクセス先変換手段は、アプリケーション手段から第２記憶手段にデータの記憶が完了したことが通知されることに応じて、ゲスト制御手段による第２記憶手段へのアクセスを第１記憶手段の所定の領域へのアクセスに変換する。
【００１０】
この局面に従えば、第２記憶手段の予め定められた領域に記憶されたデータを、第１記憶手段の所定の領域に記憶する間に、第２記憶手段へのアクセスがないので、第２記憶手段の予め定められた領域に記憶されたデータと、第１記憶手段の所定の領域に記憶されるデータとを同じにすることができる。
【００１１】
好ましくは、アプリケーション手段は、第２記憶手段の停止をエミュレート手段に指示する停止指示手段を含み、エミュレート手段は、転送手段と、転送手段により第１記憶手段にデータが記憶された後に、ホスト制御手段を制御して第２記憶手段を停止させる停止手段と、を含み、転送手段は、ゲスト制御手段による第２記憶手段へのアクセスが存在しないことを条件に、第１記憶手段にデータを記憶させ、アクセス先変換手段は、転送手段により第１記憶手段にデータが記憶された後は、ゲスト制御手段による第２記憶手段へのアクセスを第１記憶手段の所定の領域へのアクセスに変換する。
【００１２】
この局面に従えば、第２記憶手段の予め定められた領域に記憶されたデータを第１記憶手段の所定の領域に記憶する間に、第２記憶手段へのアクセスがないので、第２記憶手段の予め定められた領域に記憶されたデータと、第１記憶手段の所定の領域に記憶されるデータとを同じにすることができる。
【００１３】
好ましくは、アプリケーション手段およびエミュレート手段のいずれか一方は、アプリケーション手段が停止している第２記憶手段を起動する場合、第１記憶手段の所定の領域に記憶されたデータを第２記憶手段の予め定められた領域に記憶させるデータ復帰手段を、含み、エミュレート手段は、さらに、アプリケーション手段により第２記憶手段が起動された後は、ゲスト制御手段による第２記憶手段へのアクセスを第１記憶手段の所定の領域へのアクセスに変換しない。
【００１４】
この局面に従えば、第２記憶手段が起動した後は、第１記憶手段の所定の領域に記憶されたデータが第２記憶手段の予め定められた領域に記憶されるので、第２記憶手段が停止している間に変更された後のデータを第２記憶手段に記憶することができる。
【００１５】
好ましくは、アプリケーション手段は、停止している第２記憶手段を起動する場合、第１記憶手段の所定の領域に記憶されたデータを第２記憶手段の予め定められた領域に記憶させるデータ復帰手段と、ホスト制御手段を制御して、停止している第２記憶手段を起動する起動手段と、第２記憶手段が起動することに応じて、エミュレート手段に第２記憶手段が起動されたことを通知する起動開始通知手段と、データ復帰手段により第２記憶手段にデータが記憶された後に、エミュレート手段に第２記憶手段へのデータの記憶が完了したことを通知する起動完了通知手段と、を含み、データ復帰手段は、第２記憶手段が起動されたことの通知に対するエミュレート手段による応答に応じて、第２記憶手段にデータを記憶させ、アクセス先変換手段は、アプリケーション手段から第２記憶手段へのデータの記憶が完了したことが通知された後は、ゲスト制御手段による第２記憶手段へのアクセスを第１記憶手段の所定の領域へのアクセスに変換しない。
【００１６】
この局面に従えば、第１記憶手段の所定の領域に記憶されたデータを第２記憶手段の予め定められた領域に記憶する間に、第１記憶手段へのアクセスがないので、第１記憶手段の所定の領域に記憶されたデータと、第２記憶手段の予め定められた領域に記憶されるデータとを同じにすることができる。
【００１７】
好ましくは、アプリケーション手段は、停止している第２記憶手段の起動をエミュレート手段に指示する起動指示手段を含み、エミュレート手段は、アプリケーション手段が停止している第２記憶手段を起動する場合、第１記憶手段の所定の領域に記憶されたデータを第２記憶手段の予め定められた領域に記憶させるデータ復帰手段と、アプリケーション手段により第２記憶手段の起動が指示されることに応じて、第２記憶手段を起動する起動手段と、を備え、データ復帰手段は、第２記憶手段が起動した後に、第２記憶手段にデータを記憶させ、アクセス先変換手段は、データ復帰手段により第２記憶手段にデータが記憶された後は、ゲスト制御手段による第２記憶手段へのアクセスを第１記憶手段の所定の領域へのアクセスに変換しない。
【００１８】
この局面に従えば、第２記憶手段が起動した後は、第１記憶手段の所定の領域に記憶されたデータが第２記憶手段の予め定められた領域に記憶されるので、第２記憶手段が停止している間に変更された後のデータを第２記憶手段に記憶することができる。
【００２５】
好ましくは、アプリケーション手段は、通常モードよりも消費電力の低い省電力モードに動作モードを切り換えるモード切換手段と、通常モードにおいて第１記憶手段の予め定められた画像領域を用いて画像データを処理し、省電力モードにおいて画像データを処理しない画像処理手段と、を含み、第１記憶手段の所定の領域は、画像処理手段が通常モードにおいて用いる画像領域である。
【００２６】
この局面に従えば、第２記憶手段の予め定められた領域に記憶されるデータを、第１記憶手段のアプリケーション手段により用いられる画像領域に記憶するので、記憶領域を有効に利用することができる。
【００２７】
この発明のさらに他の局面によれば、動作モード切換プログラムは、画像処理装置を制御するコンピューターにより実行されるアプリケーションプログラムおよびエミュレートプログラムを含む動作モード切換プログラムであって、画像処理装置は、揮発性の第１記憶手段と、不揮発性の第２記憶手段と、を備え、コンピューターは、第１オペレーティングシステムプログラムを実行し、第１記憶手段および第２記憶手段を制御するホストオペレーティングシステムと、第２オペレーティングシステムプログラムを実行するゲストオペレーティングシステムと、エミュレートプログラムを実行し、ホストオペレーティングシステムと前記ゲストオペレーティングシステムとの間で、ホストオペレーティングシステムによる第１記憶手段および第２記憶手段へのアクセスをエミュレートすることによって、ゲストオペレーティングシステムによる第１記憶手段および第２記憶手段へのアクセスを可能にするエミュレートタスクと、アプリケーションプログラムを実行し、ホストオペレーティングシステムを制御して、第１記憶手段および第２記憶手段にアクセス可能なアプリケーションタスクと、を備え、アプリケーションタスクが第２記憶手段を停止する前に、第２記憶手段の予め定められた領域に記憶されたデータを第１記憶手段の所定の領域に記憶させる転送ステップを、アプリケーションタスクおよびエミュレートタスクのいずれか一方に実行させ、アプリケーションタスクにより第２記憶手段が停止された後は、ゲストオペレーティングシステムによる第２記憶手段へのアクセスを第１記憶手段の所定の領域へのアクセスに変換するアクセス先変換ステップを、エミュレートタスクに実行させる。
【００２８】
この発明に従えば、複数のオペレーティングシステムプログラムがインストールされた状態で、記憶手段により消費される電力を低減するとともに記憶手段に記憶されたデータにアクセスすることが可能な動作モード切換プログラムを提供することができる。
【図面の簡単な説明】
【００３１】
【図１】第１の実施の形態におけるＭＦＰの外観を示す斜視図である。
【図２】第１の実施の形態におけるＭＦＰのハードウェア構成の概要を示すブロック図である。
【図３】第１の本実施の形態におけるＭＦＰが備えるＣＰＵが有する機能の一例を示す図である。
【図４】データの流れの一例を示す図である。
【図５】動作モード切換処理の流れの一例を示すフローチャートである。
【図６】エミュレート処理の流れの一例を示す第１のフローチャートである。
【図７】エミュレート処理の流れの一例を示す第２のフローチャートである。
【図８】変形例におけるＭＦＰが備えるＣＰＵが有する機能の一例を示す図である。
【図９】変形例における動作モード切換処理の流れの一例を示すフローチャートである。
【図１０】変形例におけるエミュレート処理の流れの一例を示す第１のフローチャートである。
【図１１】変形例におけるエミュレート処理の流れの一例を示す第２のフローチャートである。
【図１２】第２の実施の形態におけるＭＦＰが備えるＣＰＵが有する機能の一例を示す図である。
【図１３】第２の実施の形態における動作モード切換処理の流れの一例を示すフローチャートである。
【図１４】第２の実施の形態におけるデバイス切換処理の流れの一例を示す第１のフローチャートである。
【図１５】第２の実施の形態におけるデバイス切換処理の流れの一例を示す第２のフローチャートである。
【発明を実施するための形態】
【００３２】
以下、本発明の実施の形態を図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３３】
＜第１の実施の形態＞
図１は、第１の実施の形態におけるＭＦＰの外観を示す斜視図である。図２は、第１の実施の形態におけるＭＦＰのハードウェア構成の概要を示すブロック図である。図１および図２を参照して、画像処理装置として機能するＭＦＰ１００は、メイン回路１１０と、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００３４】
メイン回路１１０は、ＣＰＵ（中央演算装置）１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ１１３と、ＲＡＭ１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）１１８が装着される外部記憶装置１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００３５】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。
【００３６】
通信Ｉ／Ｆ部１１２は、ＭＦＰ１００をネットワークに接続するためのインターフェースである。ＣＰＵ１１１は、通信Ｉ／Ｆ部１１２を介して、ネットワークに接続されたコンピューターとの間で通信し、データを送受信する。また、通信Ｉ／Ｆ部１１２は、ネットワークを介してインターネットに接続されたコンピューターと通信が可能である。
【００３７】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶する、または画像形成部１４０に出力する。画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部１１６は、ＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００３８】
外部記憶装置１１７は、ＣＤ−ＲＯＭ１１８が装着される。ＣＰＵ１１１は、外部記憶装置１１７を介してＣＤ−ＲＯＭ１１８にアクセス可能である。ＣＰＵ１１１は、外部記憶装置１１７に装着されたＣＤ−ＲＯＭ１１８に記憶されたプログラムをＲＡＭ１１４にロードして実行する。なお、ＣＰＵ１１１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ１１８に限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリであってもよい。
【００３９】
また、ＣＰＵ１１１が実行するプログラムは、ＣＤ−ＲＯＭ１１８に記憶されたプログラムに限られず、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、ネットワークに接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１５に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００４０】
操作パネル１６０は、表示部１６１と操作部１６３とを含む。表示部１６１は、例えば、液晶表示装置（ＬＣＤ）または有機ＥＬ表示装置（ｏｒｇａｎｉｃ  ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ  ｄｉｓｐｌａｙ）であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１６３は、タッチパネル１６５と、ハードキー部１６７とを含む。タッチパネル１６５は、静電容量方式である。なお、タッチパネル１６５は、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。ハードキー部１６７は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。
【００４１】
図３は、第１の本実施の形態におけるＭＦＰが備えるＣＰＵが有する機能の一例を示す図である。図３を参照して、ＣＰＵ１１１は、第１オペレーティングプログラムを実行するホスト制御部５１と、第２オペレーティングプログラムを実行するゲスト制御部５３と、エミュレートプログラムを実行するエミュレート部５５と、第１アプリケーションプログラムを実行する第１アプリケーション部５７と、第２アプリケーションプログラムを実行する第２アプリケーション部５９と、を含む。
【００４２】
ホスト制御部５１は、ＣＰＵ１１１が第１オペレーティングシステムプログラムを実行するタスクである。ホスト制御部５１は、ＭＦＰ１００が備えるハードウェア資源を制御する。ハードウェア資源は、メイン回路１１０が備える通信Ｉ／Ｆ部１１２、ＲＯＭ１１３、ＲＡＭ１１４、ＨＤＤ１１５、ファクシミリ部１１６および外部記憶装置１１７に加えて、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０および操作パネル１６０を、含む。
【００４３】
ゲスト制御部５３は、ＣＰＵ１１１が第２オペレーティングシステムプログラムを実行するタスクである。第２オペレーティングシステムプログラムは、第１オペレーティングシステムプログラムと異なる。
【００４４】
エミュレート部５５は、ＣＰＵ１１１がエミュレートプログラムを実行するタスクである。エミュレートプログラムは、第１オペレーティングシステムプログラムに対応するアプリケーションプログラムである。エミュレート部５５は、ゲスト制御部５３に対する仮想デバイスであり、ホスト制御部５１によるハードウェア資源の制御をエミュレートする。エミュレート部５５は、ゲスト制御部５３を仮想マシーンとして機能させる。これにより、ゲスト制御部５３は、ＭＦＰ１００が備えるハードウェア資源を制御可能となる。
【００４５】
第１アプリケーション部５７は、ＣＰＵ１１１が第１オペレーティングシステムプログラムに対応する第１アプリケーションプログラムを実行するタスクである。第１アプリケーション部５７は、ホスト制御部５１を制御して、ＭＦＰ１００が備えるハードウェア資源を制御可能である。
【００４６】
第１アプリケーション部５７およびエミュレート部５５それぞれは、ホスト制御部５１を制御可能であり、ホスト制御部５１によって管理される。このため、第１アプリケーション部５７とエミュレート部５５とは、互いに他方を認識することができるので、プロセス間通信等を用いて通信することができる。
【００４７】
第２アプリケーション部５９は、ＣＰＵ１１１が第２オペレーティングシステムプログラムに対応する第２アプリケーションプログラムを実行するタスクである。第２アプリケーション部５９は、ゲスト制御部５３を制御して、ＭＦＰ１００が備えるハードウェア資源を制御可能である。
【００４８】
第１アプリケーション部５７は、ＭＦＰ１００の動作モードを切り換えるモード切換部７７と、画像データを処理する画像処理部７９と、停止予告部６１と、転送部６３と、転送完了通知部６５と、停止部６７と、起動部６９と、起動開始通知部７１と、データ復帰部７３と、起動完了通知部７５と、を含む。
【００４９】
画像処理部７９は、ＭＦＰ１００が備えるハードウェア資源を制御して画像データを処理する。画像処理部７９が実行可能な処理は、例えば、自動原稿搬送装置１２０および原稿読取部１３０を制御して、原稿を読み取って画像データを出力するスキャン処理、ファクシミリ部１１６を制御して画像データであるファクシミリデータを送受信するファクシミリ送受信処理、通信Ｉ／Ｆ部１１２を制御して画像データを送受信するデータ送受信処理、ＨＤＤ１１５を制御する画像データ管理処理、画像形成部１４０および給紙部１５０を制御して画像データの画像を用紙に形成する画像形成処理、を含む。画像データ管理処理は、画像データをＨＤＤ１１５に記憶する処理、ＨＤＤ１１５に記憶された画像データを読み出す処理、ＨＤＤ１１５に記憶された画像データを編集、および削除する処理を含む。画像処理部７９は、ユーザーが操作部１６３に入力する操作に従って処理を実行する。また、画像処理部７９は、通信Ｉ／Ｆ部１１２が画像データの画像を形成する処理を定めたプリントジョブを受信することに応じて、または、ファクシミリ部１１６がファクシミリデータを受信することに応じて、処理を実行する。
【００５０】
画像処理部７９は、画像処理を実行する場合に、処理対象となる画像データをＲＡＭ１１４に記憶する。このため、ＲＡＭ１１４は、画像処理部７９が処理対象となる画像データを記憶するための領域が予め定められている。ここでは、ＲＡＭ１１４に画像データを記憶するために予め定められた領域を画像領域という。
【００５１】
モード切換部７７は、ＭＦＰ１００の動作モードを、通常モードと、通常モードよりも消費電力の低い省電力モードとのいずれかに切り換える。モード切換部７７は、動作モーが通常モードの状態で、操作部１６３がユーザーによる操作を受け付けることなく、かつ、通信Ｉ／Ｆ部１１２がプリントジョブを受信することなく、かつ、ファクシミリ部１１６がファクシミリデータを受信しない状態が、所定時間継続する場合に動作モードを省電力モードに切り換える。また、モード切換部７７は、動作モードが省電力モードの状態で、操作部１６３がユーザーによる操作を受け付ける場合、または、通信Ｉ／Ｆ部１１２がプリントジョブを受信する場合、または、ファクシミリ部１１６がファクシミリデータを受信する場合に、動作モードを通常モードに切り換える。モード切換部７７は、動作モードを省電力モードに切り換える場合、ＲＡＭ１１４およびＨＤＤ１１５を除くハードウェア資源を停止させる。これにより、ＲＡＭ１１４およびＨＤＤ１１５を除くハードウェア資源により消費される電力を低減することができる。なお、通信Ｉ／Ｆ部１１２およびファクシミリ部１１６は、省電力モードの状態では、データの受信が可能な状態となるため電力が消費されるが、通常モードより消費電力が少ない状態になる。
【００５２】
モード切換部７７は、動作モードを通常モードから省電力モードに切り換える場合、省電力モードに切り換わったことを示す省電力切換信号を停止予告部６１に出力し、動作モードを省電力モードから通常力モードに切り換える場合、通常モードに切り換わったことを示す通常切換信号を起動部６９に出力する。
【００５３】
停止予告部６１は、モード切換部７７から省電力切換信号が入力されることに応じて、ＨＤＤ１１５を停止させることをエミュレート部５５に通知する。具体的には、停止予告部６１は、停止予告信号をエミュレート部５５に出力する。
【００５４】
エミュレート部５５は、停止応答部８１と、アクセス先変換部８３と、起動応答部８５と、を含む。停止応答部８１は、停止予告部６１から停止予告信号が入力されることに応じて、ゲスト制御部５３によるＨＤＤ１１５へのアクセスが存在しないことを条件に、停止予告信号に応答する。具体的には、停止応答部８１は、停止予告部６１から停止予告信号が入力された時点で、エミュレート部５５がゲスト制御部５３により制御されてＨＤＤ１１５を制御していない場合、停止予告信号に対する応答信号を転送部６３に出力する。停止応答部８１は、停止予告部６１から停止予告信号が入力された時点で、エミュレート部５５がゲスト制御部５３により制御されてＨＤＤ１１５を制御している場合、ゲスト制御部５３によるＨＤＤ１１５の制御が終了するまで待機し、ゲスト制御部５３によるＨＤＤ１１５の制御が終了することに応じて、停止予告信号に対する応答信号を転送部６３に出力する。
【００５５】
転送部６３は、停止応答部８１から停止予告信号に対する応答信号が入力されることに応じて、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶する。ＨＤＤ１１５の予め定められた領域は、ＨＤＤ１１５が有する複数のパーティションのうち予め定められた１以上のパーティションとすることができる。転送部６３は、パーティションに記憶されたデータをイメージデータとして読出し、ＲＡＭ１１４の画像領域に記憶する。転送部６３は、ＨＤＤ１１５に記憶されたデータのＲＡＭ１１４への記憶が完了することに応じて、転送完了信号を停止部６７および転送完了通知部６５に出力する。
【００５６】
停止部６７は、転送部６３から転送完了信号が入力されることに応じて、ＨＤＤ１１５を停止させる。具体的には、停止部６７は、ホスト制御部５１を制御して、ＨＤＤ１１５に供給する電力を遮断する。転送完了通知部６５は、転送部６３から転送完了信号が入力されることに応じて、転送完了信号をエミュレート部５５のアクセス先変換部８３に出力する。
【００５７】
アクセス先変換部８３は、転送完了通知部６５から転送完了信号が入力されることに応じて、ゲスト制御部５３によるＨＤＤ１１５へのアクセスをＲＡＭ１１４の画像領域へのアクセスに変換する。具体的には、アクセス先変換部８３は、ＨＤＤ１１５の制御をエミュレートすることにより、ゲスト制御部５３によるＨＤＤ１１５へのアクセスをＲＡＭ１１４の画像領域へのアクセスに変換する。これにより、ＨＤＤ１１５が停止している状態において、ゲスト制御部５３がＨＤＤ１１５を制御することができる。アクセス先変換部８３によりゲスト制御部５３によるＨＤＤ１１５の制御がホスト制御部５１によるＲＡＭ１１４の制御に切り換えられるので、ゲスト制御部５３は、ＨＤＤ１１５を制御する場合と同じ制御をすることができる。
【００５８】
起動部６９は、モード切換部７７から通常切換信号が入力されることに応じて、ＨＤＤ１１５を起動する。具体的には、起動部６９は、ホスト制御部５１を制御して、ＨＤＤ１１５に電力を供給する。起動部６９は、ＨＤＤ１１５が起動すると、起動開始通知部７１に起動開始信号を出力する。起動開始通知部７１は、起動部６９から起動開始信号が入力されることに応じて、起動開始信号をエミュレート部５５の起動応答部８５に出力する。
【００５９】
起動応答部８５は、起動開始通知部７１から起動開始信号が入力されることに応じて、ゲスト制御部５３によるＨＤＤ１１５へのアクセスが存在しないことを条件に、起動開始告信号に応答する。具体的には、起動応答部８５は、起動開始通知部７１から起動開始信号が入力された時点で、エミュレート部５５がゲスト制御部５３により制御されてＨＤＤ１１５を制御していない場合、起動開始信号に対する応答信号をデータ復帰部７３に出力する。起動応答部８５は、起動開始通知部７１から起動開始信号が入力された時点で、エミュレート部５５がゲスト制御部５３により制御されてＨＤＤ１１５を制御している場合、ゲスト制御部５３によるＨＤＤ１１５の制御が終了するまで待機し、ゲスト制御部５３によるＨＤＤ１１５の制御が終了することに応じて、起動開始信号に対する応答信号をデータ復帰部７３に出力する。
【００６０】
起動開始通知部７１から起動開始信号が入力される時点において、アクセス先変換部８３によりゲスト制御部５３によるＨＤＤ１１５へのアクセスがＲＡＭ１１４の画像領域へのアクセスに変換されている。このため、起動応答部８５は、起動開始通知部７１から起動開始信号が入力されることに応じて、ＲＡＭ１１４の画像領域へのアクセスが存在しないことを条件に、起動開始告信号に応答するようにしてもよい。
【００６１】
データ復帰部７３は、起動応答部８５から起動開始信号に対する応答信号が入力されることに応じて、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶する。データ復帰部７３は、ＲＡＭ１１４の画像領域に記憶されたデータをイメージデータとしてＨＤＤ１１５の予め定められた領域に記憶する。データ復帰部７３は、ＲＡＭ１１４の画像領域に記憶されたデータのＨＤＤ１１５への記憶が完了することに応じて、復帰完了信号を起動完了通知部７５に出力する。
【００６２】
起動完了通知部７５は、データ復帰部７３から復帰完了信号が入力されることに応じて、復帰完了信号をエミュレート部５５のアクセス先変換部８３に出力する。
【００６３】
アクセス先変換部８３は、起動完了通知部７５から復帰完了信号が入力されることに応じて、ゲスト制御部５３によるＨＤＤ１１５へのアクセスをＲＡＭ１１４の画像領域へのアクセスに変換しない。具体的には、アクセス先変換部８３は、ＨＤＤ１１５の制御をエミュレートしないようにする。これにより、ゲスト制御部５３がＨＤＤ１１５を制御することができる。
【００６４】
図４は、データの流れの一例を示す図である。図４においては、上から下に時間の流れを示している。図４を参照して、第１アプリケーション部５７が動作モードを省電力モードに切り換える場合、停止予告信号をエミュレート部５５に出力する。エミュレート部５５は、停止予告信号が入力された時点で、ＨＤＤ１１５にアクセス中の場合、ＨＤＤ１１５へのアクセスが終了するまで待機する。エミュレート部５５は、ＨＤＤ１１５へのアクセスが終了することに応じて、応答信号を第１アプリケーション部５７に出力する。
【００６５】
第１アプリケーション部５７は、停止予告信号に対応する応答信号が入力されるまで待機し、応答信号が入力されることに応じて、ＨＤＤ１１５に記憶されているデータをＲＡＭ４の画像領域に記憶することによりデータを転送する。第１アプリケーション部５７は、ＨＤＤ１１５に記憶されたデータのＲＡＭ１１４への転送が完了することに応じて、転送完了信号をエミュレート部５５に出力する。エミュレート部５５は、転送完了信号が入力されることに応じて、ＨＤＤ１１５に対する制御のエミュレートを開始し、ＨＤＤ１１５へのアクセスをＲＡＭ１１４の画像領域へのアクセスに変換する。また、エミュレート部５５は、停止予測信号に対する応答信号を出力してから、転送完了信号が入力されるまでの間のＨＤＤ１１５に対する制御を保留する。
【００６６】
第１アプリケーション部５７は、動作モードを省電力モードに切り換えた後に、エミュレート部５５から停止予告信号に対する応答信号が入力されるまで、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶しない。換言すれば、第１アプリケーション部５７は、ゲスト制御部５３によりＨＤＤ１１５が制御されている間は、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶しない。このため、ＨＤＤ１１５に記憶されたデータがエミュレート部５５により変更された後のデータを、ＲＡＭ１１４の画像領域に記憶することができる。これにより、第１アプリケーション部５７がＨＤＤ１１５に記憶されたデータをＲＡＭ１１４への記憶を開始した時点と終了した時点とで、ＲＡＭ１１４の画像領域に記憶されるデータとＨＤＤ１１５に記憶されたデータが同じになるので、ＨＤＤ１１５に記憶されたデータと同じデータをＲＡＭ１１４に記憶することができる。
【００６７】
第１アプリケーション部５７が動作モードを通常モードに切り換える場合、ＨＤＤ１１５を起動した後に、起動開始信号をエミュレート部５５に出力する。エミュレート部５５は、起動開始信号が入力された時点で、ＲＡＭ１１４の画像領域にアクセス中の場合、ＲＡＭ１１４へのアクセスが終了するまで待機する。エミュレート部５５は、ＲＡＭ１１４へのアクセスが終了することに応じて、応答信号を第１アプリケーション部５７に出力する。
【００６８】
第１アプリケーション部５７は、起動開始信号に対応する応答信号が入力されるまで待機し、応答信号が入力されることに応じて、ＲＡＭ１１４の画像領域に記憶されているデータをＨＤＤ１１５に記憶することによりデータを復帰させる。第１アプリケーション部５７は、ＲＡＭ１１４の画像領域に記憶されたデータのＤＤ１１５への転送が完了することに応じて、復帰完了信号をエミュレート部５５に出力する。エミュレート部５５は、復帰完了信号が入力されることに応じて、ＨＤＤ１１５に対する制御のエミュレートを終了する。また、エミュレート部５５は、起動開始信号に対する応答信号を出力してから、復帰完了信号が入力されるまでの間のＲＡＭ１１４に対する制御を保留する。
【００６９】
第１アプリケーション部５７は、動作モードを通常モードに切り換えた後に、エミュレート部５５から起動開始信号に対する応答信号が入力されるまで、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶しない。換言すれば、第１アプリケーション部５７は、ゲスト制御部５３によりＨＤＤ１１５が制御されている間は、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶しない。このため、ＲＡＭ１１４の画像領域に記憶されたデータがゲスト制御部５３により変更された後のデータを、ＨＤＤ１１５の予め定められた領域に記憶することができる。これにより、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５への記憶を開始した時点と終了した時点とで、ＲＡＭ１１４の画像領域に記憶されたデータとＨＤＤ１１５に記憶されたデータとが同じになるので、ＲＡＭ１１４の画像領域に記憶されたデータと同じデータをＨＤＤ１１５の予め定められた領域に記憶することができる。
【００７０】
図５は、動作モード切換処理の流れの一例を示すフローチャートである。動作モード切換処理は、ＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶された動作モード切換プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。動作モード切換プログラムは、モード切換プログラムの一部であり、かつ、第１アプリケーションプログラムの一部である。図５を参照して、ＣＰＵ１１１は、動作モードを通常モードに設定する（ステップＳ０１）。例えば、ＣＰＵ１１１が起動した時点で、動作モードを通常モードに設定する。次のステップＳ０２においては、ハードウェア資源を駆動し、処理をステップＳ０３に進める。
【００７１】
ステップＳ０３においては、動作モードを切り換えるための切換条件が成立したか否かを判断する。動作モードを切り換えるための切換条件が成立するまで待機状態となり（ステップＳ０３のでＮＯ）、切換条件が成立したならば（ステップＳ０３でＹＥＳ）、処理をステップＳ０４に進める。省電力モードに切り換えるための切換条件は、通常モードから省電力モードに切り換えるための切換条件と、省電力モードから通常モードに切り換えるための切換条件とを含む。省電力モードに切り換えるための切換条件は、例えば、動作モードが通常モードに切り換えられている状態で、操作部１６３がユーザーによる操作を受け付けることなく、かつ、通信Ｉ／Ｆ部１１２がプリントジョブを受信することなく、かつ、ファクシミリ部１１６がファクシミリデータを受信しない状態が、所定時間継続する場合である。通常モードに切り換えるための切換条件は、例えば、動作モードが省電力モードに切り換えられている状態で、操作部１６３がユーザーによる操作を受け付ける場合、または、通信Ｉ／Ｆ部１１２がプリントジョブを受信する場合、または、ファクシミリ部１１６がファクシミリデータを受信する場合である。
【００７２】
ステップＳ０４においては、その時点で設定されている動作モードによって処理を分岐させる。動作モードが通常モードに設定されているならば処理をステップＳ０５に進め、動作モードが省電力モードに設定されているならば処理をステップＳ１３に進める。
【００７３】
ステップＳ０５においては、動作モードを省電力モードに切り換え、処理をステップＳ０６に進める。ステップＳ０６においては、ＲＡＭ１１４およびＨＤＤ１１５を除くハードウェア資源を停止させ、処理をステップＳ０７に進める。これにより、ＲＡＭ１１４およびＨＤＤ１１５を除くハードウェア資源により消費される電力が低減する。ステップＳ０７においては、エミュレートプログラムを実行するタスクであるエミュレート部５５に停止予告信号を出力し、処理をステップＳ０８に進める。ステップＳ０８においては、エミュレートプログラムを実行するタスクから停止予告信号に対応する応答信号が入力されるまで待機状態となり（ステップＳ０８でＮＯ）、応答信号が入力されると（ステップＳ０８でＹＥＳ）、処理をステップＳ０９に進める。
【００７４】
ステップＳ０９においては、データ転送を開始する。ＨＤＤ１１５の予め定められた領域に記憶されたデータをイメージデータとして、ＲＡＭ１１４の画像領域に記憶する処理を開始する。次のステップＳ１０においては、データを転送する処理が完了したか否かを判断する。データを転送する処理が完了するまで待機状態となり（ステップＳ１０でＮＯ）、処理が完了したならば（ステップＳ１０でＹＥＳ）、処理をステップＳ１１に進める。ステップＳ１１においては、エミュレートプログラムを実行するタスクであるエミュレート部５５に転送完了信号を出力し、処理をステップＳ１２に進める。ステップＳ１２においては、ＨＤＤ１１５を停止させ、処理をステップＳ０３に戻す。
【００７５】
ステップＳ１３においては、動作モードを通常モードに切り換え、処理をステップＳ１４に進める。ステップＳ１４においては、ＲＡＭ１１４を除くハードウェア資源を起動し、処理をステップＳ１５に進める。ステップＳ１５においては、ＨＤＤ１１５が起動するまで待機状態となり（ステップＳ１５でＮＯ）、ＨＤＤ１１５が起動したならば（ステップＳ１５でＹＥＳ）、処理をステップＳ１６に進める。ＨＤＤ１１５が起動した状態は、ＨＤＤ１１５にデータの書き込みまたはデータの読出しが可能となる状態である。ステップＳ１６においては、エミュレートプログラムを実行するタスクであるエミュレート部５５に起動開始信号を出力し、処理をステップＳ１７に進める。ステップＳ１７においては、エミュレートプログラムを実行するタスクから起動開始信号に対応する応答信号が入力されるまで待機状態となり（ステップＳ１７でＮＯ）、応答信号が入力されると（ステップＳ１７でＹＥＳ）、処理をステップＳ１８に進める。
【００７６】
ステップＳ１８においては、データの復帰を開始する。ＲＡＭ１１４の画像領域に記憶されたデータをイメージデータとして、ＨＤＤ１１５の予め定められた領域に記憶する処理を開始する。次のステップＳ１９においては、データを復帰する処理が完了したか否かを判断する。データを復帰する処理が完了するまで待機状態となり（ステップＳ１９でＮＯ）、処理が完了したならば（ステップＳ１９でＹＥＳ）、処理をステップＳ２０に進める。ステップＳ２０においては、エミュレートプログラムを実行するタスクであるエミュレート部５５に起動完了信号を出力し、処理をステップＳ０３に戻す。
【００７７】
図６および図７は、エミュレート処理の流れの一例を示すフローチャートである。エミュレート処理は、ＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶されたエミュレートプログラムを実行することにより、ＣＰＵ１１１により実行される処理である。エミュレートプログラムは、モード切換プログラムの一部である。図６および図７を参照して、ＣＰＵ１１１は、動作モード切換プログラムを実行するタスクから停止予告信号が入力されたか否かを判断する（ステップＳ２１）。停止予告信号が入力されたならば処理をステップＳ２２に進めるが、そうでなければ処理をステップＳ４１に進める。ステップＳ４１においては、ＨＤＤ１１５へのアクセスがあるか否かを判断する。ＣＰＵ１１１が第２オペレーティングシステムプログラムを実行するタスクからＨＤＤ１１５を制御するシステムコールが入力される場合に、ＨＤＤ１１５へのアクセスを検出する。ＨＤＤ１１５へのアクセスを検出するならば処理をステップＳ４２に進めるが、そうでなければ処理をステップＳ２１に戻す。ステップＳ４２においては、ＨＤＤ１１５にアクセスし、処理をステップＳ２１に戻す。具体的には、ＣＰＵ１１１が第１オペレーティングシステムプログラムを実行するタスクに、ＨＤＤ１１５を制御するシステムコールを出力する。
【００７８】
ステップＳ２２においては、ＨＤＤ１１５を制御中か否かを判断する。ＨＤＤ１１５を制御中ならば処理をステップＳ２３に進めるが、そうでなければ処理をステップＳ２４に進める。ステップＳ２３においては、ＨＤＤ１１５の制御が完了するまで待機状態となり（ステップＳ２３でＮＯ）、ＨＤＤ１１５の制御が完了すると（ステップＳ２３でＹＥＳ）、処理をステップＳ２４に進める。ステップＳ２４においては、ＣＰＵ１１１が動作モード切換プログラムを実行するタスクに応答信号を出力し、処理をステップＳ２５に進める。
【００７９】
ステップＳ２５においては、動作モード切換プログラムを実行するタスクから転送完了信号が入力されたか否かを判断する。転送完了信号が入力されたならば処理をステップＳ２６に進めるが、そうでなければ処理をステップＳ３０に進める。ステップＳ３０においては、ＨＤＤ１１５へのアクセスがあるか否かを判断する。ＣＰＵ１１１が第２オペレーティングシステムプログラムを実行するタスクからＨＤＤ１１５を制御するシステムコールが入力される場合に、ＨＤＤ１１５へのアクセスを検出する。ＨＤＤ１１５へのアクセスを検出するならば処理をステップＳ３１に進めるが、そうでなければ処理をステップＳ２５に戻す。ステップＳ３１においては、ＨＤＤ１１５へのアクセスを保留し、処理をステップＳ２５に戻す。具体的には、ＣＰＵ１１１が第２オペレーティングシステムプログラムを実行するタスクから入力されるシステムコールを保留する。
【００８０】
ステップＳ２６においては、保留されたＨＤＤ１１５へのアクセスが存在するか否かを判断する。ステップＳ３１においてＨＤＤ１１５へのアクセスが保留されていれば処理をステップＳ２７に進めるが、そうでなければ処理をステップＳ２８に進める。ステップＳ２７においては、保留されたＨＤＤ１１５へのアクセスをエミュレートしてＲＡＭ１１４の画像領域にアクセスし、処理をステップＳ２８に進める。
【００８１】
ステップＳ２８においては、ＨＤＤ１１５へのアクセスがあるか否かを判断する。ＣＰＵ１１１が第２オペレーティングシステムプログラムを実行するタスクからＨＤＤ１１５を制御するシステムコールが入力される場合に、ＨＤＤ１１５へのアクセスを検出する。ＨＤＤ１１５へのアクセスを検出するならば処理をステップＳ２９に進めるが、そうでなければ処理をステップＳ３２に進める。ステップＳ２９においては、ＨＤＤ１１５へのアクセスをエミュレートしてＲＡＭ１１４の画像領域にアクセスし、処理をステップＳ２８に戻す。
【００８２】
ステップＳ３２においては、動作モード切換プログラムを実行するタスクから起動開始信号が入力されたか否かを判断する。起動開始信号が入力されたならば処理をステップＳ３３に進めるが、そうでなければ処理をステップＳ２８に戻す。ステップＳ３３においては、ＲＡＭ１１４を制御中か否かを判断する。ＲＡＭ１１４を制御中ならば処理をステップＳ３４に進めるが、そうでなければ処理をステップＳ３５に進める。ステップＳ３４においては、ＲＡＭ１１４の制御が完了するまで待機状態となり（ステップＳ３４でＮＯ）、ＲＡＭ１１４の制御が完了すると（ステップＳ３４でＹＥＳ）、処理をステップＳ３５に進める。
【００８３】
ステップＳ３５においては、ＣＰＵ１１１が動作モード切換プログラムを実行するタスクに応答信号を出力し、処理をステップＳ３６に進める。ステップＳ３６においては、動作モード切換プログラムを実行するタスクから復帰完了信号が入力されたか否かを判断する。復帰完了信号が入力されたならば処理をステップＳ３７に進めるが、そうでなければ処理をステップＳ３９に進める。ステップＳ３９においては、ＨＤＤ１１５へのアクセスがあるか否かを判断する。ＣＰＵ１１１が第２オペレーティングシステムプログラムを実行するタスクからＨＤＤ１１５を制御するシステムコールが入力される場合に、ＨＤＤ１１５へのアクセスを検出する。ＨＤＤ１１５へのアクセスを検出するならば処理をステップＳ４０に進めるが、そうでなければ処理をステップＳ３６に戻す。ステップＳ４０においては、ＨＤＤ１１５へのアクセスを保留し、処理をステップＳ３８に戻す。
【００８４】
ステップＳ３７においては、保留されたＨＤＤ１１５へのアクセスが存在するか否かを判断する。ステップＳ４０においてＨＤＤ１１５へのアクセスが保留されていれば処理をステップＳ３８に進めるが、そうでなければ処理をステップＳ２１に戻す。ステップＳ３８においては、保留されたＨＤＤ１１５へのアクセスを実行し、処理をステップＳ２１に戻す。
【００８５】
＜変形例＞
上述した第１の実施の形態におけるＭＦＰ１００は、ＣＰＵ１１１が第１アプリケーションプログラムを実行するタスクがＨＤＤ１１５の所定の領域に記憶されたデータをＲＡＭ１１４の画像領域に記憶させる処理、およびＲＡＭ１１４の画像領域に記憶されたデータを第１アプリケーション部５７がＨＤＤ１１５の所定の領域に記憶させる処理を実行する。変形例におけるＭＦＰ１００は、ＣＰＵ１１１がエミュレートプログラムを実行するタスクに、ＨＤＤ１１５の所定の領域に記憶されたデータをＲＡＭ１１４の画像領域に記憶させる処理、およびＲＡＭ１１４の画像領域に記憶されたデータを第１アプリケーション部５７がＨＤＤ１１５の所定の領域に記憶させる処理を実行させるようにしたものである。以下第１の実施の形態におけるＭＦＰ１００と異なる点を主に説明する。
【００８６】
図８は、変形例におけるＭＦＰが備えるＣＰＵが有する機能の一例を示す図である。図８を参照して、変形例におけるＭＦＰ１００が備えるＣＰＵ１１１が有する機能が、図３に示した機能と異なる点は、第１アプリケーション部５７およびエミュレート部５５が、第１アプリケーション部５７Ａおよびエミュレート部５５Ａにそれぞれ変更された点である。また、図３に示した機能と同じ機能については、同じ符号を付し、ここでは説明を繰り返さない。
【００８７】
エミュレート部５５Ａは、ＣＰＵ１１１が変形例におけるエミュレートプログラムを実行するタスクである。変形例におけるエミュレートプログラムは、第１オペレーティングシステムプログラムに対応するアプリケーションプログラムである。エミュレート部５５Ａは、ゲスト制御部５３に対する仮想デバイスであり、ホスト制御部５１によるハードウェア資源の制御をエミュレートする。
【００８８】
第１アプリケーション部５７Ａは、ＣＰＵ１１１が第１オペレーティングシステムプログラムに対応する変形例における第１アプリケーションプログラムを実行するタスクである。第１アプリケーション部５７Ａは、ホスト制御部５１を制御して、ＭＦＰ１００が備えるハードウェア資源を制御可能である。
【００８９】
第１アプリケーション部５７Ａおよびエミュレート部５５Ａそれぞれは、ホスト制御部５１を制御可能であり、ホスト制御部５１によって管理される。このため、第１アプリケーション部５７Ａとエミュレート部５５Ａとは、互いに他方を認識することができるので、プロセス間通信等を用いて通信することができる。
【００９０】
第１アプリケーション部５７Ａは、ＭＦＰ１００の動作モードを切り換えるモード切換部７７と、停止予告部６１と、画像処理部７９と、起動指示部７１Ａと、を含む。モード切換部７７は、動作モードを通常モードから省電力モードに切り換える場合、省電力モードに切り換わったことを示す省電力切換信号を停止予告部６１に出力する。起動指示部７１Ａは、モード切換部７７から通常切換信号が入力されることに応じて、ＨＤＤ１１５の起動を指示する起動指示信号をエミュレート部５５Ａに出力する。し、動作モードを省電力モードから通常力モードに切り換える場合、通常モードに切り換わったことを示す通常切換信号を起動指示部７１Ａに出力する。起動指示部７１Ａは、モード切換部７７から通常切換信号が入力されることに応じて、ＨＤＤ１１５の起動を指示する起動指示信号をエミュレート部５５Ａに出力する。
【００９１】
エミュレート部５５Ａは、転送部６３Ａと、停止部６７Ａと、起動部６９Ａと、データ復帰部７３Ａと、アクセス先変換部８３Ａと、を含む。転送部６３Ａは、停止予告部６１から停止予告信号が入力されることに応じて、ゲスト制御部５３によるＨＤＤ１１５へのアクセスが存在しないことを条件に、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶する。具体的には、転送部６３Ａは、停止予告部６１から停止予告信号が入力された時点で、エミュレート部５５Ａがゲスト制御部５３により制御されてＨＤＤ１１５を制御していない場合、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶する。転送部６３Ａは、停止予告部６１から停止予告信号が入力された時点で、エミュレート部５５Ａがゲスト制御部５３により制御されてＨＤＤ１１５を制御している場合、ゲスト制御部５３によるＨＤＤ１１５の制御が終了するまで待機し、ゲスト制御部５３によるＨＤＤ１１５の制御が終了することに応じて、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶する。ＨＤＤ１１５の予め定められた領域は、ＨＤＤ１１５が有する複数のパーティションのうち予め定められた１以上のパーティションとすることができる。転送部６３Ａは、パーティションに記憶されたデータをイメージデータとして読出し、ＲＡＭ１１４の画像領域に記憶する。転送部６３Ａは、ＨＤＤ１１５に記憶されたデータのＲＡＭ１１４への記憶が完了することに応じて、転送完了信号を停止部６７Ａおよびアクセス先変換部８３Ａに出力する。
【００９２】
停止部６７Ａは、転送部６３Ａから転送完了信号が入力されることに応じて、ＨＤＤ１１５を停止させる。具体的には、停止部６７Ａは、ホスト制御部５１を制御して、ＨＤＤ１１５に供給する電力を遮断する。
【００９３】
転送部６３Ａは、動作モードが省電力モードに切り換えられた後に、ゲスト制御部５３によるＨＤＤ１１５へのアクセスが存在しなくなるまで、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶しない。換言すれば、転送部６３Ａは、ゲスト制御部５３によりＨＤＤ１１５が制御されている間は、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶しない。このため、ＨＤＤ１１５に記憶されたデータがゲスト制御部５３により変更された後のデータを、ＲＡＭ１１４の画像領域に記憶することができる。これにより、転送部６３ＡがＨＤＤ１１５に記憶されたデータをＲＡＭ１１４への記憶を開始した時点と終了した時点とで、ＲＡＭ１１４の画像領域に記憶されるデータとＨＤＤ１１５に記憶されたデータが同じになるので、ＨＤＤ１１５に記憶されたデータと同じデータをＲＡＭ１１４に記憶することができる。
【００９４】
アクセス先変換部８３Ａは、転送部６３Ａから転送完了信号が入力されることに応じて、ゲスト制御部５３によるＨＤＤ１１５へのアクセスをＲＡＭ１１４の画像領域へのアクセスに変換する。具体的には、アクセス先変換部８３Ａは、ＨＤＤ１１５の制御をエミュレートすることにより、ゲスト制御部５３によるＨＤＤ１１５へのアクセスをＲＡＭ１１４の画像領域へのアクセスに変換する。これにより、ＨＤＤ１１５が停止している状態において、ゲスト制御部５３がＨＤＤ１１５を制御することができる。アクセス先変換部８３Ａによりゲスト制御部５３によるＨＤＤ１１５の制御がホスト制御部５１によるＲＡＭ１１４の制御に切り換えられるので、ゲスト制御部５３は、ＨＤＤ１１５を制御する場合と同じ制御をすることができる。
【００９５】
起動部６９Ａは、起動指示部７１Ａから起動指示信号が入力されることに応じて、ＨＤＤ１１５を起動する。具体的には、起動部６９Ａは、ホスト制御部５１を制御して、ＨＤＤ１１５に電力を供給する。起動部６９Ａは、ＨＤＤ１１５が起動すると、データ復帰部７３Ａに起動完了信号を出力する。
【００９６】
データ復帰部７３Ａは、起動部６９Ａから起動完了信号が入力されることに応じて、ゲスト制御部５３によるＨＤＤ１１５へのアクセスが存在しないことを条件に、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶する。具体的には、データ復帰部７３Ａは、起動部６９Ａら起動完了信号が入力された時点で、エミュレート部５５Ａがゲスト制御部５３により制御されてＨＤＤ１１５を制御していない場合、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶する。データ復帰部７３Ａは、起動部６９Ａから起動完了信号が入力された時点で、エミュレート部５５Ａがゲスト制御部５３により制御されてＨＤＤ１１５を制御している場合、ゲスト制御部５３によるＨＤＤ１１５の制御が終了するまで待機し、ゲスト制御部５３によるＨＤＤ１１５の制御が終了することに応じて、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶する。データ復帰部７３Ａは、ＲＡＭ１１４の画像領域に記憶されたデータをイメージデータとしてＨＤＤ１１５の予め定められた領域に記憶する。データ復帰部７３Ａは、ＲＡＭ１１４の画像領域に記憶されたデータのＨＤＤ１１５への記憶が完了することに応じて、復帰完了信号をアクセス先変換部８３Ａに出力する。
【００９７】
データ復帰部７３Ａは、動作モードが通常モードに切り換えた後に、ゲスト制御部５３によるＨＤＤ１１５へのアクセスが存在しなくなるまで、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶しない。換言すれば、データ復帰部７３Ａは、ゲスト制御部５３によりＨＤＤ１１５が制御されている間は、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶しない。このため、ＲＡＭ１１４の画像領域に記憶されたデータがゲスト制御部５３により変更された後のデータを、ＨＤＤ１１５の予め定められた領域に記憶することができる。これにより、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５への記憶を開始した時点と終了した時点とで、ＲＡＭ１１４の画像領域に記憶されたデータとＨＤＤ１１５に記憶されたデータとが同じになるので、ＲＡＭ１１４の画像領域に記憶されたデータと同じデータをＨＤＤ１１５の予め定められた領域に記憶することができる。
【００９８】
なお、起動部６９Ａから起動完了信号が入力される時点において、アクセス先変換部８３Ａによりゲスト制御部５３によるＨＤＤ１１５へのアクセスがＲＡＭ１１４の画像領域へのアクセスに変換されている。このため、データ復帰部７３Ａは、起動部６９Ａから起動完了信号が入力されることに応じて、ＲＡＭ１１４の画像領域へのアクセスが存在しないことを条件に、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶する。
【００９９】
アクセス先変換部８３Ａは、データ復帰部７３Ａから復帰完了信号が入力されることに応じて、ゲスト制御部５３によるＨＤＤ１１５へのアクセスをＲＡＭ１１４の画像領域へのアクセスに変換しない。具体的には、アクセス先変換部８３Ａは、ＨＤＤ１１５の制御をエミュレートしないようにする。これにより、ゲスト制御部５３がＨＤＤ１１５を制御することができる。
【０１００】
図９は、変形例における動作モード切換処理の流れの一例を示すフローチャートである。変形例における動作モード切換処理は、ＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶された動作モード切換プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。変形例における動作モード切換プログラムは、変形例におけるモード切換プログラムの一部であり、第１アプリケーションプログラムの一部である。図９を参照して、図５に示した動作モード切換処理と異なる点は、ステップＳ０８〜ステップＳ１１、ステップＳ１５〜ステップＳ１９が削除された点、ステップＳ０７およびステップＳ１４がステップＳ０７ＡおよびステップＳ１４Ａにそれぞれ変更された点である。その他の処理は、図５に示した処理と同じなのでここでは説明を繰り返さない。
【０１０１】
ステップＳ０７Ａにおいては、エミュレートプログラムを実行するタスクであるエミュレート部５５に転送予告信号を出力し、処理をステップＳ０３に戻す。ステップＳ１４Ａにおいては、エミュレートプログラムを実行するタスクであるエミュレート部５５に起動指示信号を出力し、処理をステップＳ０３に戻す。
【０１０２】
図１０および図１１は、変形例におけるエミュレート処理の流れの一例を示すフローチャートである。変形例におけるエミュレート処理は、ＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶された変形例におけるエミュレートプログラムを実行することにより、ＣＰＵ１１１により実行される処理である。変形例におけるエミュレートプログラムは、変形例におけるモード切換プログラムの一部である。図１０および図１１を参照して、図６および図７に示した処理と異なる点は、ステップＳ２４、ステップＳ２５、ステップＳ３２、ステップＳ３５およびステップＳ３６が、ステップＳ２４Ａ、ステップＳ２５Ａ、ステップＳ３２Ａ、ステップＳ３５ＡおよびステップＳ３６Ａにそれぞれ変更された点、ステップＳ２４ＡおよびステップＳ３４Ａが追加された点である。その他の処理は、図６および７に示した処理と同じなので、ここでは説明を繰り返さない。
【０１０３】
処理がステップＳ２４Ａに進む場合は、ステップＳ２１において停止予告信号が入力された時点で、ＨＤＤ１１５が制御中でないとステップＳ２２において判断される場合、または、ステップＳ２１において停止予告信号が入力された時点で、ＨＤＤ１１５が制御中とステップＳ２２において判断され、かつ、ステップＳ２３において、ＨＤＤ１１５の制御が完了したと判断される場合である。ステップＳ２４Ａにおいては、データ転送を開始する。ＨＤＤ１１５の予め定められた領域に記憶されたデータをイメージデータとして、ＲＡＭ１１４の画像領域に記憶する処理を開始する。次のステップＳ２５Ａにおいては、データを転送する処理が完了したか否かを判断する。データを転送する処理が完了したならば処理をステップＳ２６Ａに進めるが、そうでなければ処理をステップＳ３０に進める。ステップＳ２６Ａにおいては、ＨＤＤ１１５を停止させ、処理をステップＳ２６に進める。
【０１０４】
処理がステップＳ３２Ａに進む場合、動作モードが省電力モードに切り換えられている場合である。ステップＳ３２Ａにおいては、動作モード切換プログラムを実行するタスクから起動指示信号が入力されたか否かを判断する。起動指示信号が入力されたならば処理をステップＳ３３に進めるが、そうでなければ処理をステップＳ２８に戻す。
【０１０５】
処理がステップＳ３４Ａに進む場合は、ステップＳ３２Ａにおいて動作モード切換プログラムを実行するタスクから起動指示信号が入力された時点で、ＲＡＭ１１４が制御されていない場合、または、ステップＳ３２Ａにおいて動作モード切換プログラムを実行するタスクから起動指示信号が入力された時点で、ＲＡＭ１１４が制御されているとステップＳ３３において判断され、かつ、ステップＳ３４において、ＲＡＭ１１４の制御が完了したと判断される場合である。ステップＳ３４Ａにおいては、ＨＤＤ１１５が起動するまで待機状態となり（ステップＳ３４ＡでＮＯ）、ＨＤＤ１１５が起動したならば（ステップＳ３４ＡでＹＥＳ）、処理をステップＳ３５Ａに進める。
【０１０６】
ステップＳ３５Ａにおいては、データの復帰を開始する。ＲＡＭ１１４の画像領域に記憶されたデータをイメージデータとして、ＨＤＤ１１５の予め定められた領域に記憶する処理を開始する。次のステップＳ３６Ａにおいては、データを復帰する処理が完了したか否かを判断する。データを復帰する処理が完了したならば（ステップＳ３６ＡでＹＥＳ）、処理をステップＳ３７に進めるが、そうでなければ（ステップＳ３６ＡでＮＯ）処理をステップＳ３９に進める。
【０１０７】
以上説明したように、第１の実施の形態におけるＭＦＰ１００は、揮発性のＲＡＭ１１４と、不揮発性のＨＤＤ１１５と、ＣＰＵ１１１とを備え、ＣＰＵ１１１が、第１オペレーティングシステムプログラムと、第２オペレーティングシステムプログラムと、エミュレートプログラムと、第１アプリケーションプログラムと、第２アプリケーションプログラムを実行する。第１アプリケーションプログラムを実行するホストオペレーティングシステムは、第１アプリケーションプログラムが実行するタスクが動作モードを省電力モードに切り換えてＨＤＤ１１５を停止する前に、ＨＤＤ１１５の予め定められたパーティションに記憶されたデータをＲＡＭ１１４の画像領域に記憶させる。また、変形例におけるＭＦＰ１００は、エミュレートプログラムを実行するタスクが、第１アプリケーションプログラムが実行するタスクが動作モードを省電力モードに切り換えてＨＤＤ１１５を停止する前に、ＨＤＤ１１５の予め定められたパーティションに記憶されたデータをＲＡＭ１１４の画像領域に記憶させる。
【０１０８】
そして、エミュレートプログラムを実行するタスクは、第１アプリケーションプログラムを実行するタスクによりＨＤＤ１１５が停止された後は、第２オペレーティングシステムプログラムを実行するゲストオペレーティングシステムによるＨＤＤ１１５へのアクセスをＲＡＭ１１４の画像領域へのアクセスに変換する。このため、第２オペレーティングシステムは、ＨＤＤ１１５が停止された後でもＨＤＤ１１５に記憶されていたデータにアクセルすることができる。換言すれば、省電力モードにおいて、ＨＤＤ１１５により消費される電力を低減するとともに、第２アプリケーションプログラムを実行するタスクによるＨＤＤ１１５へのアクセスをＲＡＭ１１４へのアクセスに切り換えるので、第２アプリケーションプログラムを実行するタスクは、ＨＤＤ１１５に記憶されたデータにアクセスすることができる。
【０１０９】
また、第１アプリケーションプログラムを実行するタスクは、第１アプリケーションプログラムを実行するタスクが停止中のＨＤＤ１１５を起動する場合、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められたパーティションに記憶させる。変形例におけるＭＦＰ１００は、エミュレートプログラムを実行するタスクが、第１アプリケーションプログラムを実行するタスクが停止中のＨＤＤ１１５を起動する場合、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められたパーティションに記憶させる。
【０１１０】
そして、エミュレートプログラムを実行するタスクは、さらに、第１アプリケーションプログラムを実行するタスクによりＨＤＤ１１５が起動された後は、第２オペレーティングシステムプログラムを実行するタスクによるＨＤＤ１１５へのアクセスをＲＡＭ１１４の画像領域へのアクセスに変換しない。このため、ＨＤＤ１１５が停止している間にＲＡＭ１１４において変更された後のデータをＨＤＤ１１５に記憶することができる。
【０１１１】
ＲＡＭ１１４の画像領域は、第１アプリケーションプログラムを実行するタスクが、画像データを処理する際に用いる領域であり、第１アプリケーションプログラムを実行するタスクは、省電力モードにおいて画像データを処理しないので、省電力モードにおいてＲＡＭ１１４の画像領域を有効に利用することができる。
【０１１２】
＜第２の実施の形態＞
第１の実施の形態におけるＭＦＰ１００は、ＭＦＰ１００のユーザーが変更することができない第２オペレーティングプログラムがインストールされる場合を例に示した。第２の実施の形態におけるＭＦＰ１００は、ＭＦＰ１００のユーザーが変更することが可能な第２オペレーティングプログラムがインストールされる。第２の実施の形態におけるＭＦＰの外観は、図１に示した斜視図と同じである。第２の実施の形態におけるＭＦＰのハードウェア構成の概要は、図２に示したブロック図と同じである。従って、ここでは説明を繰り返さない。
【０１１３】
図１２は、第２の実施の形態におけるＭＦＰが備えるＣＰＵが有する機能の一例を示す図である。図３に示した機能と同じ機能については、同じ符号を付し、ここでは説明を繰り返さない。図１２を参照して、第２の実施の形態におけるＭＦＰ１００が備えるＣＰＵ１１１は、第２の実施の形態における第１オペレーティングプログラムを実行するホスト制御部５１Ｂと、第２の実施の形態における第２オペレーティングプログラムを実行するゲスト制御部５３Ｂと、第２の実施の形態におけるエミュレートプログラムを実行するエミュレート部５５Ｂと、第２の実施の形態における第１アプリケーションプログラムを実行する第１アプリケーション部５７Ｂと、第２アプリケーションプログラムを実行する第２アプリケーション部５９と、を含む。
【０１１４】
ホスト制御部５１Ｂは、ＣＰＵ１１１が第２の実施の形態における第１オペレーティングシステムプログラムを実行するタスクである。ホスト制御部５１Ｂは、ＭＦＰ１００が備えるハードウェア資源を制御する。
【０１１５】
ゲスト制御部５３Ｂは、ＣＰＵ１１１が第２の実施の形態における第２オペレーティングシステムプログラムを実行するタスクである。第２オペレーティングシステムプログラムは、第１オペレーティングシステムプログラムと異なる。ゲスト制御部５３は、仮想デバイスドライバー５４を含む。仮想デバイスドライバー５４は、ホスト制御部５１Ｂに対応し、ＨＤＤ１１５を制御するために、ホスト制御部５１Ｂに対応したシステムコールを出力する。これにより、ゲスト制御部５３Ｂは、ＭＦＰ１００がＨＤＤ１１５を制御可能となる。
【０１１６】
エミュレート部５５Ｂは、ＣＰＵ１１１が第２の実施の形態におけるエミュレートプログラムを実行するタスクである。エミュレートプログラムは、第２の実施の形態における第１オペレーティングシステムプログラムに対応するアプリケーションプログラムである。エミュレート部５５Ｂは、ゲスト制御部５３に対する仮想デバイスであり、ホスト制御部５１ＢによるＨＤＤ１１５を除くハードウェア資源の制御をエミュレートする。エミュレート部５５Ｂは、ゲスト制御部５３Ｂを仮想マシーンとして機能させる。これにより、ゲスト制御部５３Ｂは、ＭＦＰ１００が備えるハードウェア資源を制御可能となる。
【０１１７】
第１アプリケーション部５７は、ＣＰＵ１１１が第１オペレーティングシステムプログラムに対応する第１アプリケーションプログラムを実行するタスクである。第１アプリケーション部５７は、ホスト制御部５１Ｂを制御して、ＭＦＰ１００が備えるハードウェア資源を制御可能である。
【０１１８】
第１アプリケーション部５７Ｂおよびエミュレート部５５Ｂそれぞれは、ホスト制御部５１Ｂを制御可能であり、ホスト制御部５１Ｂによって管理される。
【０１１９】
第２アプリケーション部５９は、ＣＰＵ１１１が第２の実施の形態における第２オペレーティングシステムプログラムに対応する第２アプリケーションプログラムを実行するタスクである。第２アプリケーション部５９は、ゲスト制御部５３Ｂを制御して、ＭＦＰ１００が備えるハードウェア資源を制御可能である。
【０１２０】
第１アプリケーション部５７Ｂは、ＭＦＰ１００の動作モードを切り換えるモード切換部７７と、停止指示部６１Ｂと、画像処理部７９と、起動指示部７１Ｂと、を含む。モード切換部７７は、動作モードを通常モードから省電力モードに切り換える場合、省電力モードに切り換わったことを示す省電力切換信号を停止指示部６１Ｂに出力し、動作モードを省電力モードから通常力モードに切り換える場合、通常モードに切り換わったことを示す通常切換信号を起動指示部７１Ｂに出力する。停止指示部６１Ｂは、モード切換部７７から省電力切換信号が入力されることに応じて、ホスト制御部５１Ｂを制御して、ＲＡＭ１１４を除くハードウェア資源を停止させる。起動指示部７１Ｂは、モード切換部７７から通常切換信号が入力されることに応じて、ホスト制御部５１Ｂを制御して、ハードウェア資源を起動する。
【０１２１】
ホスト制御部５１Ｂは、第１アプリケーション部５７の停止指示部６１ＢによってＲＡＭ１１４を除くハードウェア資源が停止される場合、ＲＡＭ１１４およびＨＤＤ１１５を除くハードウェア資源を停止させる。ホスト制御部５１Ｂは、ハイパーバイザー９１を含む。ハイパーバイザー９１は、停止部６７Ｂと、転送部６３Ｂと、アクセス先変換部８３と、起動部６９Ｂと、データ復帰部７３Ｂと、を含む。転送部６３Ｂは、停止指示部６１ＢによってＲＡＭ１１４を除くハードウェア資源が停止される場合、ゲスト制御部５３が備える仮想デバイスドライバー５４によるＨＤＤ１１５へのアクセスが存在しないことを条件に、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶する。具体的には、転送部６３Ｂは、停止指示部６１ＢによってＲＡＭ１１４を除くハードウェア資源が停止される時点で、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールが入力されていない場合、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶する。転送部６３Ｂは、停止指示部６１ＢによってＲＡＭ１１４を除くハードウェア資源が停止される時点で、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールが入力されている場合、システムコールに従ったＨＤＤ１１５の制御が終了するまで待機し、ＨＤＤ１１５の制御が終了することに応じて、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶する。ＨＤＤ１１５の予め定められた領域は、ＨＤＤ１１５が有する複数のパーティションのうち予め定められた１以上のパーティションとすることができる。転送部６３Ｂは、パーティションに記憶されたデータをイメージデータとして読出し、ＲＡＭ１１４の画像領域に記憶する。転送部６３Ｂは、ＨＤＤ１１５に記憶されたデータのＲＡＭ１１４への記憶が完了することに応じて、転送完了信号を停止部６７Ｂおよびアクセス先変換部８３Ｂに出力する。
【０１２２】
停止部６７Ｂは、転送部６３Ｂから転送完了信号が入力されることに応じて、ＨＤＤ１１５を停止させる。具体的には、ＨＤＤ１１５に供給する電力を遮断する。
【０１２３】
転送部６３Ｂは、第１アプリケーション部５７Ｂにより動作モードが省電力モードに切り換えられた後に、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールが存在しなくなるまで、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶しない。換言すれば、転送部６３Ｂは、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールに従ってＨＤＤ１１５を制御している間は、ＨＤＤ１１５の予め定められた領域に記憶されたデータを、ＲＡＭ１１４の画像領域に記憶しない。このため、ＨＤＤ１１５に記憶されたデータが仮想デバイスドライバー５４により変更された後のデータを、ＲＡＭ１１４の画像領域に記憶することができる。これにより、転送部６３ＢがＨＤＤ１１５に記憶されたデータをＲＡＭ１１４への記憶を開始した時点と終了した時点とで、ＲＡＭ１１４の画像領域に記憶されるデータとＨＤＤ１１５に記憶されたデータが同じになるので、ＨＤＤ１１５に記憶されたデータと同じデータをＲＡＭ１１４に記憶することができる。
【０１２４】
アクセス先変換部８３Ｂは、転送部６３Ｂから転送完了信号が入力されることに応じて、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールをＲＡＭ１１４の画像領域へのアクセスに変換する。これにより、ＨＤＤ１１５が停止している状態において、ゲスト制御部５３がＨＤＤ１１５を制御することができる。アクセス先変換部８３Ａにより仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールがＲＡＭ１１４の制御に切り換えられるので、ゲスト制御部５３は、ＨＤＤ１１５を制御する場合と同じ制御をすることができる。
【０１２５】
起動部６９Ｂは、第１アプリケーション部５７Ｂが備える起動指示部７１Ｂによってハードウェア資源が起動されることに応じて、ＨＤＤ１１５を含むハードウェア資源を起動する。ここでは、ＨＤＤ１１５の起動について説明する。具体的には、起動部６９Ｂは、ＨＤＤ１１５に電力を供給する。起動部６９Ｂは、ＨＤＤ１１５が起動すると、データ復帰部７３Ｂに起動完了信号を出力する。
【０１２６】
データ復帰部７３Ｂは、起動部６９Ｂから起動完了信号が入力されることに応じて、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールが存在しないことを条件に、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶する。具体的には、データ復帰部７３Ｂは、起動部６９Ｂら起動完了信号が入力された時点で、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールが入力されていない場合、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶する。データ復帰部７３Ｂは、起動部６９Ｂから起動完了信号が入力された時点で、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールが入力されている場合、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールに従ったＨＤＤ１１５の制御が終了するまで待機し、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールに従ったＨＤＤ１１５の制御が終了することに応じて、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶する。データ復帰部７３Ｂは、ＲＡＭ１１４の画像領域に記憶されたデータをイメージデータとしてＨＤＤ１１５の予め定められた領域に記憶する。データ復帰部７３Ｂは、ＲＡＭ１１４の画像領域に記憶されたデータのＨＤＤ１１５への記憶が完了することに応じて、復帰完了信号をアクセス先変換部８３Ｂに出力する。
【０１２７】
データ復帰部７３Ｂは、動作モードが通常モードに切り換えた後に、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールが存在しなくなるまで、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶しない。換言すれば、データ復帰部７３Ｂは、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールが入力されている間は、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められた領域に記憶しない。このため、ＲＡＭ１１４の画像領域に記憶されたデータが仮想デバイスドライバー５４により変更された後のデータを、ＨＤＤ１１５の予め定められた領域に記憶することができる。これにより、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５への記憶を開始した時点と終了した時点とで、ＲＡＭ１１４の画像領域に記憶されたデータとＨＤＤ１１５に記憶されたデータとが同じになるので、ＲＡＭ１１４の画像領域に記憶されたデータと同じデータをＨＤＤ１１５の予め定められた領域に記憶することができる。
【０１２８】
アクセス先変換部８３Ｂは、データ復帰部７３Ｂから復帰完了信号が入力された後は、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールをＲＡＭ１１４の画像領域へのアクセスに変換しない。これにより、仮想デバイスドライバー５４によるＨＤＤ１１５を制御するためのシステムコールに従ってＨＤＤ１１５を制御することができる。
【０１２９】
図１３は、第２の実施の形態における動作モード切換処理の流れの一例を示すフローチャートである。第２の実施の形態における動作モード切換処理は、ＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶された第２の実施の形態における動作モード切換プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。第２の実施の形態における動作モード切換プログラムは、第２の実施の形態におけるモード切換プログラムの一部であり、第１アプリケーションプログラムの一部である。図１３を参照して、図５に示した動作モード切換処理と異なる点は、ステップＳ０７〜ステップＳ１１、ステップＳ１４〜ステップＳ１９が削除された点である。その他の処理は、図５に示した処理と同じなのでここでは説明を繰り返さない。
【０１３０】
ステップＳ０６において、ＲＡＭ１１４を除くハードウェア資源を停止させ、処理をステップＳ０３に戻す。ステップＳ１３においては、ハードウェア資源を起動し、処理をステップＳ０３に戻す。
【０１３１】
図１４および図１５は、第２の実施の形態におけるデバイス切換処理の流れの一例を示すフローチャートである。デバイス切換処理は、ＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶された第２の実施の形態における第２オペレーティングシステムプログラムを実行することにより、ＣＰＵ１１１により実行される処理である。
【０１３２】
図１４および図１５を参照して、ＣＰＵ１１１は、動作モード切換プログラムを実行するタスクによってハードウェア資源が停止されたか否かを判断する（ステップＳ５１）。ハードウェア資源を停止させるコマンドが入力されたならば処理をステップＳ５２に進めるが、そうでなければ処理をステップＳ７３に進める。ステップＳ７３においては、ゲスト制御部５３からＨＤＤ１１５を制御するためのシステムコールが入力されたか否かを判断する。ゲスト制御部５３からＨＤＤ１１５へのシステムコールが入力されたならば処理をステップＳ７４に進めるが、そうでなければ処理をステップＳ５１に戻す。ステップＳ７４においては、システムコールに従ってＨＤＤ１１５を制御することにより、ＨＤＤ１１５にアクセスし、処理をステップＳ５１に戻す。
【０１３３】
ステップＳ５２においては、ＨＤＤ１１５を制御中か否かを判断する。ＨＤＤ１１５を制御中ならば処理をステップＳ５３に進めるが、そうでなければ処理をステップＳ５４に進める。ステップＳ５３においては、ＨＤＤ１１５の制御が完了したか否かを判断する。ＨＤＤ１１５の制御が完了するまで待機状態となり（ステップＳ５３でＮＯ）、ＨＤＤ１１５の制御が完了したならば（ステップＳ５３でＹＥＳ）、処理をステップＳ５４に進める。ステップＳ５４においては、データ転送を開始する。ＨＤＤ１１５の予め定められた領域に記憶されたデータをイメージデータとして、ＲＡＭ１１４の画像領域に記憶する処理を開始する。次のステップＳ５５においては、データを転送する処理が完了したか否かを判断する。データを転送する処理が完了したならば処理をステップＳ５６に進めるが、そうでなければ処理をステップＳ６１に進める。
【０１３４】
ステップＳ６１においては、ゲスト制御部５３からＨＤＤ１１５を制御するためのシステムコールが入力されたか否かを判断する。ゲスト制御部５３からＨＤＤ１１５へのシステムコールが入力されたならば処理をステップＳ６２に進めるが、そうでなければ処理をステップＳ５５に戻す。ステップＳ６２においては、システムコールを保留し、処理をステップＳ５５に戻す。
【０１３５】
ステップＳ５６においては、ＨＤＤ１１５を停止させ、処理をステップＳ57に進める。ステップＳ５７においては、保留されたシステムコールが存在するか否かを判断する。ステップＳ６２において、ＨＤＤ１１５を制御するためのシステムコールが保留されていれば処理をステップＳ５８に進めるが、そうでなければ処理をステップＳ５９に進める。ステップＳ５８においては、保留されたシステムコールをＲＡＭ１１４の画像領域へのアクセスに変換し、ＲＡＭ１１４にアクセスする。
【０１３６】
次のステップＳ５９においては、ゲスト制御部５３からＨＤＤ１１５を制御するためのシステムコールが入力されたか否かを判断する。ゲスト制御部５３からＨＤＤ１１５へのシステムコールが入力されたならば処理をステップＳ６０に進めるが、そうでなければ処理をステップＳ６３に進める。ステップＳ６０においては、システムコールをＲＡＭ１１４の画像領域へのアクセスに変換し、ＲＡＭ１１４にアクセスし、処理をステップＳ５９に戻す。
【０１３７】
ステップＳ６３においては、動作モード切換プログラムを実行するタスクによってハードウェア資源が起動されたか否かを判断する。ハードウェア資源を起動させるコマンドが入力されたならば処理をステップＳ６４に進めるが、そうでなければ処理をステップＳ５９に戻す。
【０１３８】
ステップＳ６４においては、ＲＡＭ１１４を制御中か否かを判断する。ＲＡＭ１１４を制御中ならば処理をステップＳ６５に進めるが、そうでなければ処理をステップＳ６６に進める。ステップＳ６５においては、ＲＡＭ１１４の制御が完了するまで待機状態となり（ステップＳ６５でＮＯ）、ＲＡＭ１１４の制御が完了すると（ステップＳ６５でＹＥＳ）、処理をステップＳ６６に進める。
【０１３９】
ステップＳ６６においては、ＨＤＤ１１５が起動するまで待機状態となり（ステップＳ６６でＮＯ）、ＨＤＤ１１５が起動したならば（ステップＳ６６でＹＥＳ）、処理をステップＳ６７に進める。ステップＳ６７においては、データの復帰を開始する。ＲＡＭ１１４の画像領域に記憶されたデータをイメージデータとして、ＨＤＤ１１５の予め定められた領域に記憶する処理を開始する。次のステップＳ６８においては、データを復帰する処理が完了したか否かを判断する。データを復帰する処理が完了したならば処理をステップＳ６９に進めるが、そうでなければ処理をステップＳ７１に進める。
【０１４０】
ステップＳ７１においては、ゲスト制御部５３からＨＤＤ１１５を制御するためのシステムコールが入力されたか否かを判断する。ゲスト制御部５３からＨＤＤ１１５へのシステムコールが入力されたならば処理をステップＳ７２に進めるが、そうでなければ処理をステップＳ６８に戻す。ステップＳ７２においては、システムコールを保留し、処理をステップＳ６８に戻す。
【０１４１】
ステップＳ６０においては、保留されたシステムコールが存在するか否かを判断する。ステップＳ７２において、ＨＤＤ１１５を制御するためのシステムコールが保留されていれば処理をステップＳ７０に進めるが、そうでなければ処理をステップＳ５１に戻す。ステップＳ７０においては、保留されたシステムコールを実行し、処理をステップＳ５１に戻す。
【０１４２】
第２の実施の形態におけるＭＦＰ１００は、揮発性のＲＡＭ１１４と、不揮発性のＨＤＤ１１５と、ＣＰＵ１１１とを備え、ＣＰＵ１１１が、第１オペレーティングシステムプログラムと、第２オペレーティングシステムプログラムと、エミュレートプログラムと、第１アプリケーションプログラムと、第２アプリケーションプログラムを実行する。第１オペレーティングシステムを実行するホストオペレーティングシステムは、第２オペレーティングシステムプログラムを実行するゲストオペレーティングシステムによるＲＡＭ１１４およびＨＤＤ１１５へのアクセスを制御するハイパーバイザーを含み、ゲストオペレーティングシステムは、ハイパーバイザーを制御して、ＨＤＤ１１５にアクセスするための仮想ドライバーを含み、ハイパーバイザーは、第１アプリケーションプログラムを実行するタスクによりＨＤＤ１１５が停止される前に、ＨＤＤ１１５の予め定められたパーティションに記憶されたデータをＲＡＭ１１５の画像領域に記憶させ、ＨＤＤ１１５が停止した後は、仮想ドライバーによるＨＤＤ１１５へのアクセスをＲＡＭ１１４の画像領域へのアクセスに変換する。このため、このため、第２オペレーティングシステムは、ＨＤＤ１１５が停止された後でもＨＤＤ１１５に記憶されていたデータにアクセルすることができる。換言すれば、省電力モードにおいて、ＨＤＤ１１５により消費される電力を低減するとともに、第２アプリケーションプログラムを実行するタスクによるＨＤＤ１１５へのアクセスをＲＡＭ１１４へのアクセスに切り換えるので、第２アプリケーションプログラムを実行するタスクは、ＨＤＤ１１５に記憶されたデータにアクセスすることができる。
【０１４３】
また、ハイパーバイザーは、第１アプリケーションプログラムを実行するタスクによりＨＤＤ１１５が起動されることに応じて、ＨＤＤ１１５を起動させ、ＨＤＤ１１５が起動することに応じて、ＲＡＭ１１４の画像領域に記憶されたデータをＨＤＤ１１５の予め定められたパーティションに記憶させ、ＨＤＤ１１５にデータが記憶された後は、仮想ドライバーによるＨＤＤ１１５へのアクセスをＲＡＭ１１４の画像領域へのアクセスに変換しない。このため、ＨＤＤ１１５が起動した後は、ＲＡＭ１１４の画像領域に記憶されたデータがＨＤＤ１１５の予め定められたパーティションに記憶されるので、ＨＤＤ１１５が停止している間に、ＲＡＭ１１４において変更された後のデータをＨＤＤ１１５に記憶することができる。
【０１４４】
なお、本実施の形態においては、画像処理装置の一例としてＭＦＰ１００を例に説明したが、画像データを処理する機能を備えていれば、例えば、ファクシミリ装置、スキャナ装置、カメラ等であってもよい。また、図５〜図７、図９〜図１１、図１３〜図１５に示した処理をＭＦＰ１００に実行させる動作モード切換方法および、その動作モード切換方法をＭＦＰ１００を制御するＣＰＵ１１１に実行させる動作モード切換プログラムとして発明を捉えることができる。
【０１４５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１４６】
１００  ＭＦＰ、１１０  メイン回路、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＨＤＤ、１１６  ファクシミリ部、１１７  外部記憶装置、１１８  ＣＤ−ＲＯＭ、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１６０  操作パネル、１６１  表示部、１６３  操作部、１６５  タッチパネル、１６７  ハードキー部、５１，５１Ｂ  ホスト制御部、５３，５３Ｂ  ゲスト制御部、５４  仮想デバイスドライバー、５５，５５Ａ，５５Ｂ  エミュレート部、５７，５７Ａ，５７Ｂ  第１アプリケーション部、５９  第２アプリケーション部、６１  停止予告部、６１Ｂ  停止指示部、６３，６３Ａ，６３Ｂ  転送部、６５  転送完了通知部、６７，６７Ａ，６７Ｂ  停止部、６９，６９Ａ，６９Ｂ  起動部、７１  起動開始通知部、７１Ａ，７１Ｂ  起動指示部、７３，７３Ａ，７３Ｂ  データ復帰部、７５  起動完了通知部、７７  モード切換部、７９  画像処理部、８１  停止応答部、８３，８３Ａ，８３Ｂ  アクセス先変換部、８５  起動応答部、９１  ハイパーバイザー。
【図１】
0006720707.tif 000002
【図２】
0006720707.tif 000003
【図３】
0006720707.tif 000004
【図４】
0006720707.tif 000005
【図５】
0006720707.tif 000006
【図６】
0006720707.tif 000007
【図７】
0006720707.tif 000008
【図８】
0006720707.tif 000009
【図９】
0006720707.tif 000010
【図１０】
0006720707.tif 000011
【図１１】
0006720707.tif 000012
【図１２】
0006720707.tif 000013
【図１３】
0006720707.tif 000014
【図１４】
0006720707.tif 000015
【図１５】
0006720707.tif 000016