"単一のハードウェア資源上で画像形成プログラムを実行することにより画像形成を行う画像形成装置における画像形成装置制御方法であって、ファームウェアおよび前記画像形成プログラムを動作させる第1オペレーティングシステムと、前記ファームウェアを更新する処理を実行させる第2オペレーティングシステムとを別個に動作させる、ことを特徴とする画像形成装置制御方法。前記第2オペレーティングシステムは、前記ファームウェアが実行された後に起動される、ことを特徴とする請求項1記載の画像形成装置制御方法。前記第1オペレーティングシステムにおいてファームウェア更新要求が受信されると前記第2オペレーティングシステムが起動される、ことを特徴とする請求項1記載の画像形成装置制御方法。前記第1オペレーティングシステムは、前記第2オペレーティングシステムの動作状況を監視し、前記第2オペレーティングシステムの停止を検知した場合には前記第2オペレーティングシステムを再起動し、前記第2オペレーティングシステムは、前記第1オペレーティングシステムの動作状況を監視し、前記第1オペレーティングシステムの停止を検知した場合には前記第1オペレーティングシステムを再起動する、ことを特徴とする請求項1-3のいずれか一項に記載の画像形成装置制御方法。前記第1オペレーティングシステムと前記第2オペレーティングシステムとは、ホストオペレーティングシステム上で動作するゲストオペレーティングシステムである、ことを特徴とする請求項1-4のいずれか一項に記載の画像形成装置制御方法。単一のハードウェア資源上で画像形成プログラムを実行することにより画像形成を行う画像形成装置であって、ファームウェアおよび前記画像形成プログラムを動作させる第1オペレーティングシステムと、前記ファームウェアを更新する処理を実行させる第2オペレーティングシステムとを別個に動作可能に備える、ことを特徴とする画像形成装置。前記第2オペレーティングシステムは、前記ファームウェアが実行された後に起動される、ことを特徴とする請求項6記載の画像形成装置制御。前記第1オペレーティングシステムは、ファームウェア更新要求を受信すると前記第2オペレーティングシステムを起動する第1状態変更部を備える、ことを特徴とする請求項6記載の画像形成装置。前記第1オペレーティングシステムは、前記第2オペレーティングシステムの動作状況を監視する第1生存監視部と、前記第2オペレーティングシステムの停止が前記第1生存監視部により検知された場合には前記第2オペレーティングシステムを再起動する第1状態変更部とを備え、前記第2オペレーティングシステムは、前記第1オペレーティングシステムの動作状況を監視する第2生存監視部と、前記第1オペレーティングシステムの停止が前記第2生存監視部により検知された場合には前記第1オペレーティングシステムを再起動する第2状態変更部と、を備えることを特徴とする請求項6-8のいずれか一項に記載の画像形成装置。前記第1オペレーティングシステムと前記第2オペレーティングシステムとは、ホストオペレーティングシステム上で動作するゲストオペレーティングシステムである、ことを特徴とする請求項6-9のいずれか一項に記載の画像形成装置。以上の特許文献1では、リセットしたりしてシステムを落すことなくシステムを立ち上げたままの状態において、運用中に、随時新しいファームウェアを情報処理装置に書き込むものである。しかし、この特許文献1記載の装置でも、通常処理とファームウェア更新処理とを並行して行う場合には、どちらかの処理が原因でOSがハングアップすることがあり、結果として通常処理もファームウェア更新処理も両方とも停止してしまう。本発明はこのような課題に鑑みてなされたものであって、安定した状態でファームウェアを更新することが可能な画像形成装置制御方法および画像形成装置を実現することを目的とする。すなわち、前記した課題を解決する本発明は、以下の通りである。1第1の発明は、単一のハードウェア資源上で画像形成プログラムを実行することにより画像形成を行う画像形成装置における画像形成装置制御方法であって、ファームウェアおよび前記画像形成プログラムを動作させる第1オペレーティングシステムと、前記ファームウェアを更新する処理を実行させる第2オペレーティングシステムとを別個に動作させる、ことを特徴とする。2第2の発明は、以上の1において、前記第2オペレーティングシステムは、前記ファームウェアが実行された後に起動される、ことを特徴とする。3第3の発明は、以上の1において、前記第1オペレーティングシステムにおいてファームウェア更新要求が受信されると前記第2オペレーティングシステムが起動される、ことを特徴とする。また、ファームウェア更新が完了すると、第2オペレーティングシステムがシャットダウンされることが望ましい。4第4の発明は、以上の1~3において、前記第1オペレーティングシステムは、前記第2オペレーティングシステムの動作状況を監視し、前記第2オペレーティングシステムの停止を検知した場合には前記第2オペレーティングシステムを再起動し、前記第2オペレーティングシステムは、前記第1オペレーティングシステムの動作状況を監視し、前記第1オペレーティングシステムの停止を検知した場合には前記第1オペレーティングシステムを再起動する、ことを特徴とする。5第5の発明は、以上の1~4において、第1オペレーティングシステムと第2オペレーティングシステムとは、ホストオペレーティングシステム上で動作するゲストオペレーティングシステムである、ことを特徴とする。本発明によると、以下のような効果が得られる。1第1の発明では、第1オペレーティングシステムと第2オペレーティングシステムとを別個に動作させることで、ファームウェアの実行とファームウェアの更新とを異なるオペレーティングシステム上で行うようにしており、それぞれのオペレーティングシステム上での処理が相手側のオペレーティングシステムに影響を与えることがなく、安定した状態でファームウェアを更新することが可能になる。2第2の発明では、以上の1において、第1オペレーティングシステム上でファームウェアが正常に起動された後に、ファームウェア更新のための第2オペレーティングシステムが起動されるため、画像形成装置全体として正常動作した安定状態でファームウェアを更新することが可能になる。3第3の発明では、以上の1において、第1オペレーティングシステムにおいてファームウェア更新要求が受信されると第2オペレーティングシステムが起動されるため、装置の資源を無駄にすることなく、必要な状況においてファームウェアを更新することが可能になる。また、ファームウェア更新が完了すると第2オペレーティングシステムがシャットダウンすることで、必要な状況においてのみ第2オペレーティングシステムを起動するため、装置の資源を無駄にすることがない。4第4の発明では、以上の1~3において、第1オペレーティングシステムは、第2オペレーティングシステムの動作状況を監視し、第2オペレーティングシステムの停止を検知した場合には第2オペレーティングシステムを再起動し、第2オペレーティングシステムは、第1オペレーティングシステムの動作状況を監視し、第1オペレーティングシステムの停止を検知した場合には第1オペレーティングシステムを再起動する、ことにより、不具合発生時にも再起動が可能になり、安定した動作を保つことが可能になる。5第5の発明では、以上の1~4において、第1オペレーティングシステムと第2オペレーティングシステムとは、ホストオペレーティングシステム上で動作するゲストオペレーティングシステムであるため、それぞれのオペレーティングシステム上での処理が相手側のオペレーティングシステムに影響を与えることがなく、安定した状態で画像形成を実行すると共にファームウェアを更新することが可能になる。以下、図面を参照して本発明を実施するための形態以下、実施形態を詳細に説明する。画像形成装置の構成1ここでは、ファームウェアの更新を行う機能を有する画像形成装置100を具体例にして説明する。図1に示される画像形成装置100は、CPUCentralProcessingUnit等により構成されて制御プログラムに基づいて画像形成装置100内の各部を制御する制御部101と、各種ネットワークを介して他の装置と通信するための通信部102と、液晶表示部とタッチパネルとにより構成されて利用者による操作が入力される操作部105と、USBメモリやSDメモリカード等の画像形成装置外から画像データが入力される入力部120と、画像形成装置100で取り扱う画像データを不揮発性の記憶装置であるハードディスク装置HDD;HardDiskDrive等に蓄積するデータ蓄積部130と、画像データに対して圧縮伸長処理やRIP処理など各種画像処理を施す画像処理部150と、電子写真方式などにより画像形成出力を実行するプリントエンジンとしての画像形成部160と、を備えて構成されている。また、更新ファームウェア保存部200は、画像形成装置100とネットワーク接続可能な外部装置、あるいは、画像形成装置100に接続可能なUSBメモリなどであり、更新ファームウェアとファームウェア更新要求とを保存している。また、制御部101は、実行すべきファームウェアを不揮発性メモリ等に保存するファームウェア保存部1010と、電子機器部分であるハードウェア1011と、仮想マシン環境において仮想マシンのゲストOSやプログラムを動作させる際の基盤となるべくハードウェア1011上で動作するホストOSOperatingSystem1012と、コンピュータを仮想化して仮想ハードウェア1013Aと仮想ハードウェア1013Bとで異なるゲストOSを並列に実行できるようにするソフトウェアである仮想マシンモニタ1013と、仮想ハードウェア1013A上でゲストOS1014a図1においてゲストOS1を実行する仮想マシン1014A図1において仮想マシン1と、仮想ハードウェア1013B上でゲストOS1014b図1においてゲストOS2を実行する仮想マシン1014B図1において仮想マシン2と、ゲストOS1014a上で動作するプログラム1015Aと、ゲストOS1014b上で動作するプログラム1015Bと、を備えて構成されている。ここで、ゲストOS1014a側のプログラム1015Aは、ゲストOS1014a上で動作しつつファームウェア保存部1010からファームウェアをロードして実行させて画像形成装置を動作させるファームウェア実行部1015Aaと、ゲストOS1014a上で動作しつつ画像形成を制御する画像形成プログラム1015Aeと、を有する。また、ゲストOS1014b側のプログラム1015Bは、ゲストOS1014b上で動作しつつ更新ファームウェア保存部200から更新ファームウェアを読み出してファームウェア保存部1010に書き込むファームウェア更新部1015Baと、ゲストOS1014b上で動作しつつファームウェア更新要求を受け付けてファームウェア更新部1015Baにファームウェア更新を実行させるファームウェア更新要求受付部1015Bbと、を有する。なお、この図1における制御部101は、ホストOS1012上で実行されるゲストOS1014aとゲストOS1014b、並びに各プログラムを模式的に表したものである。また、この図1における制御部101では仮想化数を2としてホストOS1012上で2つのゲストOSを動作させるようにしているが、仮想化数は2に限定されるものではなく3以上であってもよい。また、この実施形態では、ゲストOS1014aゲストOS1が第1オペレーティングシステムであり、ゲストOS1014bゲストOS2が第2オペレーティングシステムである。画像形成装置の動作1ここで、本実施形態の構成1の画像形成装置における画像形成の動作1について、図2のフローチャートを参照して説明する。なお、以下の説明では、プログラム,ソフトウェア,ファームウェアをメモリ上にロードして実行することを、単に実行すると言うことにする。画像形成装置100の電源がオペレータによりオンされる図2中のステップS101と、ファームウェア保存部1010等に保存されているブートローダbootloaderがブート処理を行い、ホストOS1012を起動する図2中のステップS102。そして、ホストOS1012上で仮想マシンモニタ1013がソフトウェアとして動作し、この仮想マシンモニタ1013はコンピュータを仮想化して仮想ハードウェア1013Aと仮想ハードウェア1013Bとを2つの別個のハードウェアとして振る舞うようにする図2中のステップS103。さらに、仮想マシンモニタ1013は、仮想ハードウェア1013A上の仮想マシン1014AでゲストOS1014aを起動する図2中のステップS104。なお、この時点で、仮想マシンモニタ1013は、仮想ハードウェア1013B上の仮想マシン1014Bにおいて、ゲストOS1014bを自動的には起動しない。ここで、ゲストOS1014a上で、ファームウェア実行部1015Aaがファームウェア保存部1010からファームウェアをロードし図2中のステップS105、ロードしたファームウェアをファームウェア実行部1015Aaが実行する図2中のステップS106。そして、ゲストOS1014a上のファームウェア実行部1015Aaによるファームウェア実行に伴い、画像形成プログラム1015Aeが実行され、画像形成装置100としての画像形成動作を開始する図2中のステップS107。また、ゲストOS1014a上でファームウェアを実行するファームウェア実行部1015Aaは、仮想ハードウェア1013B上の仮想マシン1014Bにおいて、ゲストOS1014bを起動するよう要求する図2中のステップS108。これ以後、画像形成装置100の電源が遮断されるまで、仮想マシン1014A上のゲストOS1014aで、ファームウェア実行部1015Aaと画像形成プログラム1015Aeとが画像形成装置100を動作させる。ゲストOS1014a上のファームウェア実行部1015Aaから仮想ハードウェア1013B上の仮想マシン1014Bに対してゲストOS1014bの起動要求が発生する図2中のステップS108と、仮想マシンモニタ1013はハードウェア資源CPUやメモリの再分配を行い、仮想ハードウェア1013B上の仮想マシン1014Bでファームウェア更新用のゲストOS1014bが起動される図2中のステップS201。このゲストOS1014b上ではファームウェア更新要求受付部1015Bbが動作開始し、このファームウェア更新要求受付部1015Bbがファームウェア更新要求を受け付け待ちをしている図2中のステップS202。このファームウェア更新要求の受付待ちとしては、通信部102を介した外部のコンピュータやサーバなどから送信されるファームウェア更新要求の受信であってもよいし、入力部120に接続されるUSBメモリに含まれるファームウェア更新要求の読み取りであってもよい。この際に、ファームウェア更新要求受付部1015Bbは、ファームウェア更新可能です。最新のファームウェアを、入力部あるいは通信部から入力してくださいなどと操作部105にメッセージ表示をしてもよい。また、ファームウェア更新要求受付部1015Bbは、ファームウェア更新可能です。ファームウェアを更新しますかY/Nなどと操作部105にメッセージ表示をして、オペレータからのファームウェア更新要求の入力を受け付けてもよい。操作部105や更新ファームウェア保存部200からのファームウェア更新要求をファームウェア更新要求受付部1015Bbが受信すると図2中のステップS202でYES、ゲストOS1014b上のファームウェア更新部1015Baが、更新ファームウェア保存部200から更新ファームウェアを読み出して図2中のステップS203、読み出した更新ファームウェアをファームウェア保存部1010に書き込む図2中のステップS204。この際に、更新ファームウェア保存部200は、ファームウェア更新要求によって指示されたアドレスから更新ファームウェアを読み出す。なお、更新ファームウェア保存部200がUSBメモリ等であって入力部120に接続された場合には、このUSBメモリ内のファームウェア更新要求がファームウェア更新要求受付部1015Bbで受信され、ファームウェア更新部1015BaによってUSBメモリ内の更新ファームウェアが読み出される。また、更新ファームウェア保存部200がネットワーク接続されたサーバ等であって通信部部102に接続された場合には、このサーバ等の記憶部内のファームウェア更新要求がファームウェア更新要求受付部1015Bbで受信され、ファームウェア更新部1015Baによってサーバ等の記憶部内の更新ファームウェアが読み出される。このようなファームウェア更新を実行した後、ファームウェア更新部1015Baからファームウェア更新完了通知を受けたゲストOS1014bは、自らをシャットダウンして終了する図2中のエンドゲストOS2。なお、ここで、仮想マシンモニタ1013は、ハードウェア資源CPUやメモリの再分配を行い、仮想ハードウェア1013A上の仮想マシン1014Aに対して全てのハードウェア資源を割り当てるようにする。以上の動作において、ファームウェア更新中や、ファームウェア更新完了について、動作中の処理内容を操作部105に表示するようにしても良い。以上の構成1と動作1では、ゲストOS1014a第1オペレーティングシステムとゲストOS1014b第2オペレーティングシステムとを仮想化して別個に動作させることで、ファームウェアの実行とファームウェアの更新とを異なるオペレーティングシステム上で行うようにしている。このため、それぞれのオペレーティングシステム上での処理が相手側のオペレーティングシステムに影響を与えることがない。すなわち、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行が、ゲストOS1014b上でのファームウェア更新に影響を与えることはない。また、ゲストOS1014b上でのファームウェア更新が、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行に影響を与えることもない。従って、安定した状態で画像形成とファームウェア更新とを実行することが可能になり、ファームウェア更新側OSのハングアップ停止による画像データの喪失や、画像形成側OSハングアップ停止によるファームウェア更新失敗といった事態を発生する可能性が極めて小さくなる。また、ゲストOS1014a上でファームウェアが正常に起動された後に、ファームウェア更新のためのゲストOS1014bが起動されるため、画像形成装置全体として正常動作した安定状態でファームウェアを更新することが可能になる。画像形成装置の構成2図3に示される画像形成装置100は、図1で説明した画像形成装置100と同様に、コンピュータを仮想化して、仮想ハードウェア1013A上の仮想マシン1014AでゲストOS1014a図3においてゲストOS1を実行し、仮想ハードウェア1013B上の仮想マシン1014BでゲストOS1014b図3においてゲストOS2を実行するものである。ここで、ゲストOS1014a側のプログラム1015Aは、ゲストOS1014a上で動作しつつファームウェア保存部1010からファームウェアをロードして実行させて画像形成装置を動作させるファームウェア実行部1015Aaと、ゲストOS1014a上で動作しつつゲストOS1014bの起動あるいは停止といった状態を変更可能なOS状態変更部1015Acと、ゲストOS1014a上で動作しつつファームウェア更新要求を受け付けてファームウェア更新部1015Baにファームウェア更新を実行させるファームウェア更新要求受付部1015Adと、ゲストOS1014a上で動作しつつ画像形成を制御する画像形成プログラム1015Aeと、を有する。また、ゲストOS1014b側のプログラム1015Bは、ゲストOS1014b上で動作しつつ更新ファームウェア保存部200から更新ファームウェアを読み出してファームウェア保存部1010に書き込むファームウェア更新部1015Baを有する。なお、この図3における制御部101は、ホストOS1012上で実行されるゲストOS1014aとゲストOS1014b、並びに各プログラムを模式的に表したものである。また、この図3における制御部101では仮想化数を2としてホストOS1012上で2つのゲストOSを動作させるようにしているが、仮想化数は2に限定されるものではなく3以上であってもよい。また、この実施形態では、ゲストOS1014aゲストOS1が第1オペレーティングシステムであり、ゲストOS1014bゲストOS2が第2オペレーティングシステムである。画像形成装置の動作2ここで、本実施形態の構成2の画像形成装置における画像形成の動作2について、図4のフローチャートを参照して説明する。なお、以下の説明では、プログラム,ソフトウェア,ファームウェアをメモリ上にロードして実行することを、単に実行すると言うことにする。画像形成装置100の電源がオペレータによりオンされる図4中のステップS401と、ファームウェア保存部1010等に保存されているブートローダがブート処理を行い、ホストOS1012を起動する図4中のステップS402。そして、ホストOS1012上で仮想マシンモニタ1013がソフトウェアとして動作し、この仮想マシンモニタ1013はコンピュータを仮想化して仮想ハードウェア1013Aと仮想ハードウェア1013Bとを2つの別個のハードウェアとして振る舞うようにする図4中のステップS403。さらに、仮想マシンモニタ1013は、仮想ハードウェア1013A上の仮想マシン1014AでゲストOS1014aを起動する図4中のステップS404。なお、この時点で、仮想マシンモニタ1013は、仮想ハードウェア1013B上の仮想マシン1014Bにおいて、ゲストOS1014bを自動的には起動しない。ここで、ゲストOS1014a上で、ファームウェア実行部1015Aaがファームウェア保存部1010からファームウェアをロードし図4中のステップS405、ロードしたファームウェアをファームウェア実行部1015Aaが実行する図4中のステップS406。そして、ゲストOS1014a上のファームウェア実行部1015Aaによるファームウェア実行に伴い、画像形成プログラム1015Aeが実行され、画像形成装置100としての画像形成動作を開始する図4中のステップS407。また、ゲストOS1014a上ではファームウェア更新要求受付部1015Adがファームウェア更新要求を受け付け待ちをしている図4中のステップS408。このファームウェア更新要求の受付待ちとしては、通信部102を介した外部のコンピュータやサーバなどから送信されるファームウェア更新要求の受信であってもよいし、入力部120に接続されるUSBメモリに含まれるファームウェア更新要求の読み取りであってもよい。この際に、ファームウェア更新要求受付部1015Adは、ファームウェア更新可能です。最新のファームウェアを、入力部あるいは通信部から入力してくださいなどと操作部105にメッセージ表示をしてもよい。また、ファームウェア更新要求受付部1015Adは、ファームウェア更新可能です。ファームウェアを更新しますかY/Nなどと操作部105にメッセージ表示をして、オペレータからのファームウェア更新要求の入力を受け付けてもよい。操作部105や更新ファームウェア保存部200からのファームウェア更新要求をファームウェア更新要求受付部1015Adが受信すると図4中のステップS408でYES、ゲストOS1014a上のOS状態変更部1015Acは、仮想ハードウェア1013B上の仮想マシン1014BにおいてゲストOS1014bを起動するよう要求する図4中のステップS409。ゲストOS1014a上のファームウェア実行部1015Aaから仮想ハードウェア1013B上の仮想マシン1014Bに対してゲストOS1014bの起動要求が発生する図4中のステップS409と、仮想マシンモニタ1013はハードウェア資源CPUやメモリの再分配を行い、仮想ハードウェア1013B上の仮想マシン1014Bでファームウェア更新用のゲストOS1014bが起動される図4中のステップS501。この時点では、操作部105や更新ファームウェア保存部200からのファームウェア更新要求がファームウェア更新要求受付部1015Adで受信されている図4中のステップS408でYESため、ゲストOS1014b上のファームウェア更新部1015Baが、更新ファームウェア保存部200から更新ファームウェアを読み出して図4中のステップS502、読み出した更新ファームウェアをファームウェア保存部1010に書き込む図4中のステップS503。このようなファームウェア更新を実行した後、ファームウェア更新部1015Baは、ファームウェア実行部1015Aaに対してファームウェア更新完了通知を送信する図4中のステップS504。OS状態変更部1015Acはファームウェア更新完了通知を受信する図4中のステップS410でYESと、ゲストOS1014bに対して停止要求を発生する図4中のステップS411。OS状態変更部1015Acから停止要求を受けたゲストOS1014bは、自らをシャットダウンして終了する図4中のステップS505、エンドゲストOS2。ここで、仮想マシンモニタ1013は、ハードウェア資源CPUやメモリの再分配を行い、仮想ハードウェア1013A上の仮想マシン1014Aに対して全てのハードウェア資源を割り当てるようにする。なお、これ以後、画像形成装置100の電源が遮断されるまで、仮想マシン1014A上のゲストOS1014aで、ファームウェア実行部1015Aaと画像形成プログラム1015Aeとが画像形成装置100を動作させる。以上の動作において、ファームウェア更新中や、ファームウェア更新完了について、動作中の処理内容を操作部105に表示するようにしても良い。以上の構成2と動作2では、ゲストOS1014a第1オペレーティングシステムとゲストOS1014b第2オペレーティングシステムとを仮想化して別個に動作させることで、ファームウェアの実行とファームウェアの更新とを異なるオペレーティングシステム上で行うようにしている。このため、それぞれのオペレーティングシステム上での処理が相手側のオペレーティングシステムに影響を与えることがない。すなわち、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行が、ゲストOS1014b上でのファームウェア更新に影響を与えることはない。また、ゲストOS1014b上でのファームウェア更新が、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行に影響を与えることもない。従って、安定した状態で画像形成とファームウェア更新とを実行することが可能になり、ファームウェア更新側OSのハングアップ停止による画像データの喪失や、画像形成側OSハングアップ停止によるファームウェア更新失敗といった事態を発生する可能性が極めて小さくなる。また、ゲストOS1014a上でファームウェアが正常に起動されてファームウェア更新要求を受信した後に、ファームウェア更新のためのゲストOS1014bがゲストOS1014aによって起動されるため、画像形成装置全体として正常動作した安定状態でファームウェアを更新することが可能になる。また、ゲストOS1014b上のファームウェア更新部1015Baがファームウェア更新を完了した後に、ゲストOS1014bがゲストOS1014aによってシャットダウンさせられるため、資源や電力の無駄使いが無く、CPUパワーが無駄に使用されることがなくなる。画像形成装置の構成3図5に示される画像形成装置100は、図1や図3で説明した画像形成装置100と同様に、コンピュータを仮想化して、仮想ハードウェア1013A上の仮想マシン1014AでゲストOS1014a図5においてゲストOS1を実行し、仮想ハードウェア1013B上の仮想マシン1014BでゲストOS1014b図5においてゲストOS2を実行するものである。ここで、ゲストOS1014a側のプログラム1015Aは、ゲストOS1014a上で動作しつつファームウェア保存部1010からファームウェアをロードして実行させて画像形成装置を動作させるファームウェア実行部1015Aaと、動作時にハートビート信号を発生し続けることで自己の生存を知らしめると共に他のハートビート信号を受信することで他の生存を確認するOS生存監視部1015Abと、ゲストOS1014a上で動作しつつゲストOS1014bの起動あるいは停止といった状態を変更可能なOS状態変更部1015Acと、ゲストOS1014a上で動作しつつファームウェア更新要求を受け付けてファームウェア更新部1015Baにファームウェア更新を実行させるファームウェア更新要求受付部1015Adと、ゲストOS1014a上で動作しつつ画像形成を制御する画像形成プログラム1015Aeと、を有する。なお、ここで、ハートビート信号と言ったものは、定期的な信号により自己の生存を示す信号生存確認信号であれば良く、既知の各種の信号を用いることが可能である。また、ゲストOS1014b側のプログラム1015Bは、ゲストOS1014b上で動作しつつ更新ファームウェア保存部200から更新ファームウェアを読み出してファームウェア保存部1010に書き込むファームウェア更新部1015Baと、動作時にハートビート信号を発生し続けることで自己の生存を知らしめると共に他のハートビート信号を受信することで他の生存を確認するOS生存監視部1015Bcと、ゲストOS1014b上で動作しつつゲストOS1014aの起動あるいは停止といった状態を変更可能なOS状態変更部1015Bdと、を有する。なお、この図5における制御部101は、ホストOS1012上で実行されるゲストOS1014aとゲストOS1014b、並びに各プログラムを模式的に表したものである。また、この図5における制御部101では仮想化数を2としてホストOS1012上で2つのゲストOSを動作させるようにしているが、仮想化数は2に限定されるものではなく3以上であってもよい。また、この実施形態では、ゲストOS1014aゲストOS1が第1オペレーティングシステムであり、ゲストOS1014bゲストOS2が第2オペレーティングシステムである。また、ここでは、ハートビート信号を生存確認に用いているが、これ以外であっても互いの生存確認を行うことが可能な各種の手法を採用することが可能である。画像形成装置の動作3ここで、本実施形態の構成3の画像形成装置における画像形成の動作3について、図6のフローチャートを参照して説明する。なお、以下の説明では、プログラム,ソフトウェア,ファームウェアをメモリ上にロードして実行することを、単に実行すると言うことにする。画像形成装置100の電源がオペレータによりオンされる図6中のステップS601と、ファームウェア保存部1010等に保存されているブートローダがブート処理を行い、ホストOS1012を起動する図6中のステップS602。そして、ホストOS1012上で仮想マシンモニタ1013がソフトウェアとして動作し、この仮想マシンモニタ1013はコンピュータを仮想化して仮想ハードウェア1013Aと仮想ハードウェア1013Bとを2つの別個のハードウェアとして振る舞うようにする図6中のステップS603。さらに、仮想マシンモニタ1013は、仮想ハードウェア1013A上の仮想マシン1014AでゲストOS1014aを起動する図6中のステップS604。なお、この時点で、仮想マシンモニタ1013は、仮想ハードウェア1013B上の仮想マシン1014Bにおいて、ゲストOS1014bを自動的には起動しない。ここで、ゲストOS1014a上で、ファームウェア実行部1015Aaがファームウェア保存部1010からファームウェアをロードし図6中のステップS605、ロードしたファームウェアをファームウェア実行部1015Aaが実行する図6中のステップS606。そして、ゲストOS1014a上のファームウェア実行部1015Aaによるファームウェア実行に伴い、画像形成プログラム1015Aeが実行され、画像形成装置100としての画像形成動作を開始する図6中のステップS607。また、ゲストOS1014a上ではファームウェア更新要求受付部1015Adがファームウェア更新要求を受け付け待ちをしている図6中のステップS608。このファームウェア更新要求の受付待ちとしては、通信部102を介した外部のコンピュータやサーバなどから送信されるファームウェア更新要求の受信であってもよいし、入力部120に接続されるUSBメモリに含まれるファームウェア更新要求の読み取りであってもよい。この際に、ファームウェア更新要求受付部1015Adは、ファームウェア更新可能です。最新のファームウェアを、入力部あるいは通信部から入力してくださいなどと操作部105にメッセージ表示をしてもよい。また、ファームウェア更新要求受付部1015Adは、ファームウェア更新可能です。ファームウェアを更新しますかY/Nなどと操作部105にメッセージ表示をして、オペレータからのファームウェア更新要求の入力を受け付けてもよい。操作部105や更新ファームウェア保存部200からのファームウェア更新要求をファームウェア更新要求受付部1015Adが受信すると図6中のステップS608でYES、ゲストOS1014a上のOS状態変更部1015Acは、仮想ハードウェア1013B上の仮想マシン1014BにおいてゲストOS1014bを起動するよう要求する図6中のステップS609。ここで、OS生存監視部1015Abは、自己の生存を他のOS生存監視部に対して知らしめるハートビート信号を定期的に生成する図6中のステップS610。このOS生存監視部1015Abからのハートビート信号は、後述するOS生存監視部1015Bcに対して送出される。ゲストOS1014a上のファームウェア実行部1015Aaから仮想ハードウェア1013B上の仮想マシン1014Bに対してゲストOS1014bの起動要求が発生する図6中のステップS609と、仮想マシンモニタ1013はハードウェア資源CPUやメモリの再分配を行い、仮想ハードウェア1013B上の仮想マシン1014Bでファームウェア更新用のゲストOS1014bが起動される図6中のステップS701。ここで、ゲストOS1014b側のOS生存監視部1015Bcは、自己の生存を他のOS生存監視部に対して知らしめるハートビート信号を定期的に生成する図7中のステップS702。このOS生存監視部1015Bcからのハートビート信号は、OS生存監視部1015Abに対して送出される。ゲストOS1014a側のOS生存監視部1015AbはゲストOS1014b側のOS生存監視部1015Bcからのハートビート信号を受信している図6中のステップS611。ここで、OS生存監視部1015AbがOS生存監視部1015Bcからのハートビート信号が受信できなければ図6中のステップS611でNO、何らかの理由でゲストOS1014bそのもの又はゲストOS1014b上のプログラムがハングアップ停止していると考えられるため、ゲストOS1014a上のOS状態変更部1015Acは、仮想ハードウェア1013B上の仮想マシン1014BにおいてゲストOS1014bを再起動するよう要求する図6中のステップS612。これ以後、OS生存監視部1015AbがOS生存監視部1015Bcからのハートビート信号が受信できるまで、OS状態変更部1015AcはゲストOS1014bを再起動するよう要求する図6中のステップS611でNO、ステップS612。一方、ゲストOS1014a側のOS生存監視部1015AbがOS生存監視部1015Bcからのハートビート信号を受信できれば図6中のステップS611でYES、次の処理に進む。また、ゲストOS1014b側のOS生存監視部1015BcはゲストOS1014a側のOS生存監視部1015Abからのハートビート信号を受信している図6中のステップS703。ここで、OS生存監視部1015BcがOS生存監視部1015Abからのハートビート信号が受信できなければ図6中のステップS703でNO、何らかの理由でゲストOS1014aそのもの又はゲストOS1014a上のプログラムがハングアップ停止していると考えられるため、ゲストOS1014b上のOS状態変更部1015Bdは、仮想ハードウェア1013A上の仮想マシン1014AにおいてゲストOS1014aを再起動するよう要求する図6中のステップS704。これ以後、OS生存監視部1015BcがOS生存監視部1015Abからのハートビート信号が受信できるまで、OS状態変更部1015BdはゲストOS1014aを再起動するよう要求する図6中のステップS703でNO、ステップS704。一方、ゲストOS1014b側のOS生存監視部1015BcがOS生存監視部1015Abからのハートビート信号を受信できれば図6中のステップS703でYES、次の処理に進む。この時点では、操作部105や更新ファームウェア保存部200からのファームウェア更新要求がファームウェア更新要求受付部1015Adで受信されている図6中のステップS608でYESため、ゲストOS1014b上のファームウェア更新部1015Baが、更新ファームウェア保存部200から更新ファームウェアを読み出して図6中のステップS705、読み出した更新ファームウェアをファームウェア保存部1010に書き込む図6中のステップS706。このようなファームウェア更新を実行した後、ファームウェア更新部1015Baは、ファームウェア実行部1015Aaに対してファームウェア更新完了通知を送信する図6中のステップS707。ゲストOS1014a側のOS状態変更部1015Acはファームウェア更新完了通知を受信する図6中のステップS613でYESと、ゲストOS1014bに対して停止要求を発生する図6中のステップS614。また、ゲストOS1014bに停止要求を発生したことでゲストOS1014a側からのハートビート信号が不要になるため、OS生存監視部1015Abはハートビート信号の送出を停止する図6中のステップS615。このようにしてOS状態変更部1015Acから停止要求を受けたゲストOS1014bは、自らをシャットダウンして終了する図6中のステップS708、エンドゲストOS2。ここで、仮想マシンモニタ1013は、ハードウェア資源CPUやメモリの再分配を行い、仮想ハードウェア1013A上の仮想マシン1014Aに対して全てのハードウェア資源を割り当てるようにする。なお、これ以後、画像形成装置100の電源が遮断されるまで、仮想マシン1014A上のゲストOS1014aで、ファームウェア実行部1015Aaと画像形成プログラム1015Aeとが画像形成装置100を動作させる。以上の動作において、ファームウェア更新中、ファームウェア更新完了、OSの再起動について、動作中の処理内容を操作部105に表示するようにしても良い。以上の構成3と動作3では、ゲストOS1014a第1オペレーティングシステムとゲストOS1014b第2オペレーティングシステムとを仮想化して別個に動作させることで、ファームウェアの実行とファームウェアの更新とを異なるオペレーティングシステム上で行うようにしている。このため、それぞれのオペレーティングシステム上での処理が相手側のオペレーティングシステムに影響を与えることがない。すなわち、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行が、ゲストOS1014b上でのファームウェア更新に影響を与えることはない。また、ゲストOS1014b上でのファームウェア更新が、ゲストOS1014a上でのファームウェア実行や画像形成プログラムの実行に影響を与えることもない。従って、安定した状態で画像形成とファームウェア更新とを実行することが可能になり、ファームウェア更新側OSのハングアップ停止による画像データの喪失や、画像形成側OSハングアップ停止によるファームウェア更新失敗といった事態を発生する可能性が極めて小さくなる。また、ゲストOS1014a上でファームウェアが正常に起動されてファームウェア更新要求を受信した後に、ファームウェア更新のためのゲストOS1014bがゲストOS1014aによって起動されるため、画像形成装置全体として正常動作した安定状態でファームウェアを更新することが可能になる。また、ゲストOS1014b上のファームウェア更新部1015Baがファームウェア更新を完了した後に、ゲストOS1014bがゲストOS1014aによってシャットダウンさせられるため、資源や電力の無駄使いが無く、CPUパワーが無駄に使用されることがなくなる。また、ファームウェア更新のためにゲストOS1014bが動作している期間は、ゲストOS1014aとゲストOS1014bとが互いの生存をハートビート信号により監視しており、相手方のハートビート信号が受信できない場合には相手方を再起動するようにしているため、不具合発生時にも再起動が可能になり、ファームウェア更新や画像形成について安定した動作を保つことが可能になる。"