複数のオペレーティングシステムがハードウェア資源を共有して動作する情報処理装置に設けられた更新制御装置であって、前記複数のオペレーティングシステムのソフトウェアの各々を更新する更新ソフトウェアの属性情報の各々と、前記複数のオペレーティングシステムの各々に対して割り当てられているハードウェア資源の情報の各々とに基づいて、各更新ソフトウェアによる更新の際に実行される処理の各々に要する時間を予測する予測手段と、前記予測された時間に基づいて、前記複数のオペレーティングシステムが一斉に前記更新ソフトウェアの実行を開始して各オペレーティングシステムのソフトウェアを更新する場合に比べて、前記複数のオペレーティングシステム間で処理内容が等しい処理が並列に実行される時間が短くなるように前記更新ソフトウェアによる更新の際に実行される処理の各々の実行順序及び実行開始タイミングを決定する第1決定手段と、前記予測された時間、前記実行順序、及び実行開始タイミングに応じて前記複数のオペレーティングシステムの各々に対する前記ハードウェア資源の割り当て率を決定する第2決定手段と、前記決定された実行順序及び実行開始タイミングで前記更新ソフトウェアによる各処理が実行され、前記決定された割り当て率で前記ハードウェア資源が割り当てられるように制御する制御手段と、を備えた更新制御装置。前記制御手段は、前記更新ソフトウェアによる各処理の実行中にも、予め定められた時間間隔毎に、前記予測手段による予測と、前記第1決定手段による実行順序及び実行開始タイミングの決定と、前記第2決定手段による割り当て率の決定とが行われるように制御し、該制御により新たに決定された実行順序及び実行開始タイミングで前記更新ソフトウェアによる各処理が実行され、該制御により新たに決定された割り当て率で前記ハードウェア資源が割り当てられるように制御する請求項1に記載の更新制御装置。複数のオペレーティングシステムがハードウェア資源を共有して動作する情報処理装置に設けられたコンピュータを、前記複数のオペレーティングシステムのソフトウェアの各々を更新する更新ソフトウェアの属性情報の各々と、前記複数のオペレーティングシステムの各々に対して割り当てられているハードウェア資源の情報の各々とに基づいて、各更新ソフトウェアによる更新の際に実行される処理の各々に要する時間を予測する予測手段、前記予測された時間に基づいて、前記複数のオペレーティングシステムが一斉に前記更新ソフトウェアの実行を開始して各オペレーティングシステムのソフトウェアを更新する場合に比べて、前記複数のオペレーティングシステム間で処理内容が等しい処理が並列に実行される時間が短くなるように前記更新ソフトウェアによる更新の際に実行される処理の各々の実行順序及び実行開始タイミングを決定する第1決定手段、前記予測された時間、前記実行順序、及び実行開始タイミングに応じて前記複数のオペレーティングシステムの各々に対する前記ハードウェア資源の割り当て率を決定する第2決定手段、及び前記決定された実行順序及び実行開始タイミングで前記各処理が実行され、前記決定された割り当て率で前記ハードウェア資源が割り当てられるように制御する制御手段、として機能させるためのプログラム。本発明は、複数のオペレーティングシステムのソフトウェアの更新の際に実行される各処理の実行順序、実行開始タイミング及びハードウェア資源の割り当てを制御せずに複数のオペレーティングシステムのソフトウェアの更新を並列に行う場合に比べて、ハードウェア資源の負荷集中を抑制し、効率的に更新処理を行うことができる更新制御装置及びプログラムを得ることを目的とする。請求項1の発明の更新制御装置は、複数のオペレーティングシステムがハードウェア資源を共有して動作する情報処理装置に設けられた更新制御装置であって、前記複数のオペレーティングシステムのソフトウェアの各々を更新する更新ソフトウェアの属性情報の各々と、前記複数のオペレーティングシステムの各々に対して割り当てられているハードウェア資源の情報の各々とに基づいて、各更新ソフトウェアによる更新の際に実行される処理の各々に要する時間を予測する予測手段と、前記予測された時間に基づいて、前記複数のオペレーティングシステムが一斉に前記更新ソフトウェアの実行を開始して各オペレーティングシステムのソフトウェアを更新する場合に比べて、前記複数のオペレーティングシステム間で処理内容が等しい処理が並列に実行される時間が短くなるように前記更新ソフトウェアによる更新の際に実行される処理の各々の実行順序及び実行開始タイミングを決定する第1決定手段と、前記予測された時間、前記実行順序、及び実行開始タイミングに応じて前記複数のオペレーティングシステムの各々に対する前記ハードウェア資源の割り当て率を決定する第2決定手段と、前記決定された実行順序及び実行開始タイミングで前記更新ソフトウェアによる各処理が実行され、前記決定された割り当て率で前記ハードウェア資源が割り当てられるように制御する制御手段と、を備えている。請求項2の発明は、請求項1に記載の更新制御装置において、前記制御手段は、前記更新ソフトウェアによる各処理の実行中にも、予め定められた時間間隔毎に、前記予測手段による予測と、前記第1決定手段による実行順序及び実行開始タイミングの決定と、前記第2決定手段による割り当て率の決定とが行われるように制御し、該制御により新たに決定された実行順序及び実行開始タイミングで前記更新ソフトウェアによる各処理が実行され、該制御により新たに決定された割り当て率で前記ハードウェア資源が割り当てられるように制御するものである請求項3の発明は、複数のオペレーティングシステムがハードウェア資源を共有して動作する情報処理装置に設けられたコンピュータを、前記複数のオペレーティングシステムのソフトウェアの各々を更新する更新ソフトウェアの属性情報の各々と、前記複数のオペレーティングシステムの各々に対して割り当てられているハードウェア資源の情報の各々とに基づいて、各更新ソフトウェアによる更新の際に実行される処理の各々に要する時間を予測する予測手段、前記予測された時間に基づいて、前記複数のオペレーティングシステムが一斉に前記更新ソフトウェアの実行を開始して各オペレーティングシステムのソフトウェアを更新する場合に比べて、前記複数のオペレーティングシステム間で処理内容が等しい処理が並列に実行される時間が短くなるように前記更新ソフトウェアによる更新の際に実行される処理の各々の実行順序及び実行開始タイミングを決定する第1決定手段、前記予測された時間、前記実行順序、及び実行開始タイミングに応じて前記複数のオペレーティングシステムの各々に対する前記ハードウェア資源の割り当て率を決定する第2決定手段、及び前記決定された実行順序及び実行開始タイミングで前記各処理が実行され、前記決定された割り当て率で前記ハードウェア資源が割り当てられるように制御する制御手段、として機能させるためのプログラムである。請求項1に記載の発明によれば、複数のオペレーティングシステムのソフトウェアの更新の際に実行される各処理の実行順序、実行開始タイミング及びハードウェア資源の割り当てを制御せずに複数のオペレーティングシステムのソフトウェアの更新を並列に行う場合に比べて、ハードウェア資源の負荷集中を抑制し、効率的に更新処理を行うことができる。請求項2に記載の発明によれば、本構成を有しない場合に比べて、ハードウェア資源の負荷集中を抑制し、効率的に更新処理を行うことができる。請求項3に記載の発明によれば、複数のオペレーティングシステムのソフトウェアの更新の際に実行される各処理の実行順序、実行開始タイミング及びハードウェア資源の割り当てを制御せずに複数のオペレーティングシステムのソフトウェアの更新を並列に行う場合に比べて、ハードウェア資源の負荷集中を抑制し、効率的に更新処理を行うことができる。以下、図面を参照して実施の形態の一例を詳細に説明する。図1には本実施の形態に係る画像形成装置10が示されている。画像形成装置10には、画像形成装置10の各部の動作を制御する装置制御部12と、セットされた読取対象の文書を光学的に読み取って読取画像データを出力する画像読取部14と、入力された画像データが表す画像を記録用紙上に形成する画像形成部16と、LCD等から成る表示部18A及びテンキーやタッチパネル等から成り利用者による操作を受付ける操作受付部18Bが設けられた操作パネル18と、PC等の情報処理装置とネットワークケーブル及び通信手段例えばコンピュータネットワーク経由で情報の送受信を行うためのネットワークインタフェース20と、が設けられており、これらはバス22を介して互いに接続されている。装置制御部12はマイクロコンピュータ等から成り、CPU12A、メモリ12B、HDDやフラッシュメモリ等から成る不揮発性の記憶部12Cが設けられている。本実施の形態では、この記憶部12CをHDDとする。CPU12Aは、シングルコアでもマルチコアでもよい。メモリ12Bは、例えば作業領域として使用される。記憶部12Cには、画像形成装置10の利用者に対して画像形成装置10の機能を提供する処理を行うアプリケーションのプログラム図1では第1アプリケーション、及び第2アプリケーションのプログラムが図示されていると、該アプリケーションのプログラムを実行するためのプラットフォームとして機能するオペレーティングシステムOSのプログラム図1では第1OS、及び第2OSのプログラムが図示されているとが各々記憶されている。本実施の形態では、記憶部12CにOSのプログラムが複数記憶されており、アプリケーションの各々は、いずれか1つのOSに対してインストールされ、該OS上で動作する図2も参照。。また、図1に示すように、記憶部12Cには、ハードウェア資源の仮想化や複数のOSとの間での共有資源の調停等の機能を提供するハイパーバイザのプログラムも記憶されている。そして、図2に示すように、第1仮想マシンを第1OS上で第1アプリケーションが動作するように構築し、第2仮想マシンを第2OS上で第2アプリケーションが動作するように構築する。なお、図3に示すように、ハイパーバイザは、CPU12Aを複数のOSに割り当てる場合には、各仮想マシン毎に仮想CPUを各々定義し、実CPUCPU12Aの処理時間を短い単位毎に区切り、時分割で各仮想CPUに割り当てるようにしている。OSを稼動させたまま仮想CPUの割り当て率を増減させることも可能である。また、CPU12Aがマルチコアの場合には、割り当てるコア数を調整することで、各OSにCPU12Aを割り当ててもよい。ネットワークインタフェース20の割り当てについても、図3に示すように、各仮想マシン毎に仮想Netを各々定義する。仮想Netは、例えば仮想スイッチ等を介して実Netネットワークインタフェース20に接続され、実Netを使用する。該複数の仮想Netは、各々に割り当てられた実Netのネットワーク帯域単位時間あたりのデータ転送量を分け合うことになる。また、HDD22の割り当てについても、図3に示すように、各仮想マシン毎に仮想HDDを各々定義する。各仮想HDDは実HDD記憶部12Cに割り当てられ、それぞれ実HDDのディスクI/O帯域単位時間あたりの読出/書込データ量を分け合う。なお、ハイパーバイザ及び複数のOSの各々は、周知のプロセッサ間通信技術を用いて互いに通信する。例えば、送信元送信側からのデータパケットを送信先受信側の受信バッファにコピーすることによって情報の受け渡しを行うようにしてもよいし、ハイパーバイザと各OSとが共有する共有メモリメモリ12Bの予め定められた記憶領域を介して情報の受け渡しを行うものであってもよい。ところで、画像形成装置10等の情報処理装置に搭載された各OSは、機能拡張や不具合修正等のために、図3に示すように、OSのソフトウェアの更新が必要となることがある。本実施の形態のように、家電製品や事務機器等の組み込み機器に複数の仮想マシンを搭載したシステムの場合には、各機能の整合および各機能停止頻度の低減のため、OSのソフトウェアを更新する場合には、一部のOSだけではなく全てのOSを更新しなければならない場合が多い。複数のOSを更新する場合には、各OSをひとつずつ更新する各OSが互いにソフトウェアの更新期間が全く重ならないように順次個別に更新を行うと、最初のOSが更新を開始してから最後のOSが更新を終了するまでに要する時間が長くなるため、複数のOSが並列に動作して更新を実行したほうが効率がよい。従って、本実施の形態では、複数のOSが並列にソフトウェアの更新を行うものとする。以下、本実施の形態に係るOSのソフトウェア更新時の動作について説明する。以下、OSの更新を行う更新ソフトウェアの各ファイルを1つにまとめたものを更新パッケージと呼称する。なお、OS毎に更新に使用する更新パッケージは1つに限らず複数であってもよい。また、更新実行中は、該更新パッケージをサーバからダウンロードする処理、ダウンロードした更新パッケージによりソフトウェアを更新する処理すなわち、古いソフトウェアを新しいソフトウェアに置き換える処理、データベースを初期化する処理など様々な処理が行われるが、本実施の形態では、更新パッケージのダウンロードを開始してから、該ダウンロードした更新パッケージによる最後の処理が終了するまでの一連の処理を更新又は更新処理と呼称し、該更新処理中に行われる処理の1つであって、古いソフトウェアを新しいソフトウェアに置き換える処理を、更新処理と区別するためにアップデート処理と呼称する。図4は、ハイパーバイザで実行される処理ルーチンの流れを示すフローチャートである。ステップ100では、ネットワークを介して、各OSの更新パッケージを保持するサーバ等から、各OSの更新パッケージの属性情報を取得する。なお、属性情報を示すファイルは予め更新パッケージに含まれており、ハイパーバイザがサーバに送信した問い合せに応じて、サーバから該更新パッケージの属性情報のファイルが送信される。ここで、属性情報は、例えば、パッケージサイズ、依存パッケージの有無、更新中に実行される処理及び処理順序、更新時の各処理に要する時間基準マシンで更新を実行したときの各処理に要する時間、更新時ネットワークアクセス量基準マシンで更新を実行したときのネットワーク通信量、基準マシンの性能値、等がある。なお、パッケージサイズは、更新パッケージに含まれるソフトウェアのファイルサイズの合計値とすることができる。また、依存パッケージの有無であるが、例えば、2つの更新パッケージを用いて更新する必要がある場合に、一方の更新パッケージによる更新処理が終了した後に、他方の更新パッケージによる更新処理を実行することが定められているときには、該一方の更新パッケージが、他方の更新パッケージにとっての依存パッケージとなる。3つ以上の更新パッケージを用いて更新する場合も同様である。更新中に実行される処理とは、例えば、前述したように、ダウンロード処理、アップデート処理、再起動処理更新したソフトウェアだけを再起動させる場合もあれば、各OSを再起動させる場合もある、以下、前者をSW再起動、後者をSY再起動という、データベースの初期化処理等をいう。図5Aに、更新パッケージAの属性情報の例を示す。なお、図5Aにおいて、サイズは、パッケージサイズであり、更新処理内容は、更新中に実行される処理及び処理順序であり、再起動待ち時間は、更新中に実行される再起動に要する時間である。また、図5Aにおいて、CPU性能基準値、メモリアクセス速度基準値、ディスクアクセス速度基準値、及びネットワーク速度基準値は、基準マシンのCPU性能基準値、メモリアクセス速度基準値、ディスクアクセス速度基準値、及びネットワーク速度基準値である。表中の再起動待ち時間や更新時ネットワークアクセス量は、これらの値で示される基準マシンで実行したときの時間、アクセス量である。また、ここで、ディスクとはHDDを指す。次に、ステップ102では、各仮想マシンの現在の性能情報を取得する。ここで、仮想マシンの現在の性能情報とは、各仮想マシンに対して割り当てられているハードウェア資源の情報各仮想マシンを構成するOSの各々に対して割り当てられているハードウェア資源の情報と言い換えてもよいである。なお、ハードウェア資源の割り当て状態は、動的に変化するが、ここでは、ステップ102の実行時点での割り当て状態での性能情報を取得する。図5Bに仮想マシンの性能情報の具体例を示す。ここで、CPU性能、メモリアクセス性能、ディスクアクセス性能、ネットワーク速度の各々については、各仮想マシンが共有して使用するハードウェア資源そのものの性能値であって、各仮想マシンで共通の値となる。しかしながら、CPU割り当て率、ディスクI/O帯域、ネットワーク帯域については、仮想マシン毎に割り当て状態が異なるため、これらの値は、仮想マシン毎の値となる。ステップ104では、スケジューリング処理を行う。図6に、ハイパーバイザで実行されるスケジューリング処理の詳細なフローチャートを示す。なお、ここでは、画像形成装置10に仮想マシンが2つ設けられ、一方の仮想マシンで第1OSが動作し、他方の仮想マシンで第2OSが動作しているものとする。ステップ200では、第1OSの更新パッケージの有無を判断する。ステップ200で第1OSに更新パッケージがあると判断した場合には、ステップ202において、第1OSの更新パッケージを1つ選択する。選択は更新パッケージの属性情報を元に選択される。例えば、図5Aに示す例では、依存パッケージの項目に示すように、パッケージAはバージョン20以降のパッケージBの後に実行されることとなっている。従って、少なくとも更新パッケージBが更新パッケージAより先に更新対象として選択され、処理されるように選択する。本実施の形態では、更新パッケージの選択順に各更新パッケージによる更新処理が行われるようにスケジュールを決定する。ステップ204では、選択した更新パッケージによる更新において行われる各処理に要する時間予測時間を、上記取得した更新パッケージの属性情報及び仮想マシンの性能情報に基づいて予測する。更新パッケージの属性情報が図5Aに示す属性情報であって、仮想マシンの性能情報が図5Bに示す性能情報である場合、例えば、以下に示す予測式により算出される。ダウンロード予測時間k1×Sa×××アップデート予測時間k2×Sa×××k3×Na×SW再起動予測時間Ta×××ここで、k1、k2、k3の各々は、予め定められた係数とする。なお、上記は単純な予測式の一例であって、ダウンロード予測時間やアップデート予測時間は、パッケージサイズ新たに置き換えるソフトウェアファイルサイズの総和にほぼ等しいと、基準マシン及び仮想マシンのハードウェア性能比とから算出される式となっている。また、SW再起動予測時間は、属性情報に含まれる再起動待ち時間にハードウェア性能比を乗算した式となっている。なお、実際には仮想マシンの性能情報の各項目間には相関関係があるが、上記予測式では該相関関係を考慮した式にはなっていない。例示は省略するが、該相関関係を考慮した予測式を用いて各処理の予測時間を算出してもよい。これにより、より正確な予測時間が算出される。また、上記予測式で使用される、仮想マシンのCPU割り当て率、ディスクI/O帯域、ネットワーク帯域は、各処理毎に規定する必要があるが、上記例示した予測式では、上記ステップ102の実行時点で取得した性能情報の値を用いている。ただし、これに限定されるものではなく、処理内容に応じて予め定められた値としてもよい。また、例えば、ダウンロード処理とアップデート処理とを第1OS及び第2OS間で並列に実行させる場合図9も参照。には、CPU割り当て率を、第1OSのアップデート処理:第2OSのダウンロード処理=3070とする等、予め設定しておく。これにより、CPU割り当て率、ディスクI/O帯域、ネットワーク帯域は処理毎に異なる値になる。この場合、第1OSについての割り当て率を決定する時点では、第2OSのスケジュールの決定がまだであるため、ここでは、暫定的に決定し、後で調整を行うとよい。予測時間を算出した後は、各処理の実行順序及び実行開始タイミングスケジュールを決定する。なお、第1OSについては、1つの更新パッケージの更新処理が完了した後に、次の更新パッケージの更新処理が開始されるようにスケジュールする。従って、本実施の形態では、上記ステップ202における更新パッケージの選択順に更新処理されるように実行順序が決定される。また、各更新パッケージで実行される各処理の実行順序は、更新パッケージの属性情報に規定されている処理順に実行されるよう決定される。ステップ206では、更新パッケージの各処理が実行される期間の各々の、第1OSに対するハードウェア資源の割り当て率を決定する。例えば、処理内容に応じて予め定められた値を割り当て率として決定してもよい。より具体的には、ダウンロード処理であれば、ネットワーク帯域70、CPU割り当て率30等のように、予め割り当て率を定めておき、決定する。また、第1OS及び第2OS間の各処理のスケジュールを考慮して割り当て率を決定するようにしてもよい。例えば、前述したように、CPU負荷が比較的低いダウンロード処理とCPU負荷が比較的高いアップデート処理とを第1OS及び第2OS間で並列に実行させることが予め定められている場合には、第2OSでダウンロード処理を行い第1OSでアップデート処理を行っている期間のCPU割り当て率を、第2OSのダウンロード処理:第1OSのアップデート処理=3070とする等である。この場合には、割り当て率の決定に第2OS側のスケジュールが関係してくるが、第2OS側のスケジュールが決定される前にここで暫定的に第1OS側のハードウェア資源の割り当て率を決定し、第2OS側のスケジュールが決定した後で、調整してもよい。以上により、図7に示すように、選択した更新パッケージについてのスケジュール及びハードウェア資源の割り当て率が決定される。ステップ206の後は、ステップ200に戻り、次の更新パッケージについて上記手続きを繰り返す。第1OSの更新パッケージの全てについての上記手続きが終了すると、ステップ200で否定判断され、ステップ210に進む。ステップ210では、第2OSの更新パッケージの有無を判断する。ステップ210で第1OSに更新パッケージがあると判断した場合には、ステップ212において、第2OSの更新パッケージを1つ選択する。選択方法は、ステップ202と同様である。ステップ214では、ステップ204と同様に、選択した更新パッケージの更新において行われる各処理に要する時間予測時間を、上記取得した更新パッケージの属性情報及び仮想マシンの性能情報に基づいて予測する。予測時間を算出した後は、スケジュール各処理の実行順序及び実行開始タイミングを決定する。第2OSのスケジュールについては、第1OSのスケジュールを参照しながら決定する。例えば、第1OSと第2OSとで、内容が等しい処理が同じ時間帯に実行されると、内容が等しい処理はハードウェア資源の使用傾向が類似している或いは等しいことから、その時間帯に特定のハードウェア資源に負荷が集中してしまう。従って、ここでは、第1OS及び第2OSとが一斉に更新を開始する場合に比べて、第1OSと第2OSとで処理内容が等しい処理が並列に実行される時間が短くなるように、第2OS側の各処理の実行開始タイミングを決定する。例えば、図8に示すように、ダウンロード処理は、ネットワークI/O負荷が大きいため、第1OSでダウンロード処理を実行中に、第2OSでもダウンロード処理を実行すると、ネットワークのI/O負荷が増大して、処理効率が低下する。また、アップデート処理はCPU12A及びHDDの負荷が大きいため、第1OSでアップデート処理を実行中に、第2OSでもアップデート処理を実行すると、CPU/HDD負荷が増大して、処理効率が低下する。そこで、第1OSと第2OSとで処理内容が等しい処理が並列に実行される時間が短くなるように、第2OS側で実行される各処理の実行開始タイミングを調整する。一例を挙げれば、第2OSのダウンロード処理の実行開始タイミングを、第1OSのダウンロード処理が終了した後、或いは第1OSのダウンロード処理が予め定められた割合だけ終了したときにする等の調整が行われる。このように、内容が等しい処理が並列に実行される時間が短くなるように制御することで、第1OS及び第2OSとが一斉に更新を開始する場合に比べて、ハードウェア資源の使用傾向が類似している或いは等しい処理が並列に実行される時間が短くなる。また、選択可能な処理実行させるべき処理が存在しない期間には、処理なしとしてスケジュールを作成してもよい。例えば、更新パッケージによる更新は、まずサーバから更新パッケージをダウンロードする処理を最初に行わないと、以降の処理を行うことはできない。従って、第1OS及び第2OSのいずれもがまずダウンロード処理を行う必要があるが、例えば、OS間で内容が等しい処理が同じ時間帯期間に重ならないように調整する場合、第1OS側で最初のダウンロード処理が実行される時間帯に、第2OS側でダウンロード処理が実行されないようにするということは、その時間帯に第2OS側で実行できる処理は何も無いことになる。そこで、図9に示すように、その期間、第2OS側は処理なしとしてスケジュールする。そして、第1OS側でダウンロード処理が終了した後に、第2OS側でダウンロード処理が実行されるように、実行開始タイミングを決定する。また、上記のようにスケジューリングしても内容が等しい処理が並列に実行される時間が予め定められた時間以内にすることができない場合には、属性情報の依存パーケージに反しない範囲内で更新パッケージの実行順序を変更上記ステップ212の処理に戻って更新パッケージを選択し直すしてもよい。また、第1OS側から更新パッケージを選択し直して再度スケジューリングをやり直してもよい。ステップ216では、ステップ206と同様に、更新パッケージの各処理が実行される期間の各々の、第1OSに対するハードウェア資源の割り当て率を決定する。なお、第2OSについてのハードウェア資源の割り当て率の決定は、第1のOSのスケジュールも参照され、場合によっては、第1OSで既に決定されたハードウェア資源の割り当て率を調整する作業も行われる。例えば、再起動、データベースの構築などCPU負荷の多い更新処理を行うOSにCPU占有時間を多く割り当てるようにする。また、更新パッケージサイズに差がある場合、更新の量が多いサイズが大きいOSに対してCPU時間やコア数及びメモリ量を多く割り当てるようにする。また、スケジュールによっては、ハードウェア資源の割り当てを、1つのOSに対して100となるように決定してもよい。この場合、実際の割り当て制御後述するステップ106においては、ハイパーバイザのドライバを介して仮想ハードウェア仮想HDD、仮想ネットワークとして使用させるのではなく、ハイパーバイザを介さずに直接実ハードウェアを使用させるようにハードウェアの使用方法を切替えるようにしてもよい。後者の使用方法は、前者の使用方法に比べ処理速度が速くなる。なお、第1OS及び第2OSの割り当て率の合計が100を超えてしまう期間が発生した場合には、その期間の各OSに対する割り当て率を、OSの各々で均等な割合で減少させ、割り当て率の合計が100以下となるように調整する。ステップ216の後は、ステップ210に戻り、次の更新パッケージについて上記手続きを繰り返す。第2OSの更新パッケージの全てについての上記手続きが終了すると、ステップ210で否定判断され、本処理ルーチンは終了する。なお、OS数が3つ以上になる場合には、上記第2OSのステップ210~216の処理手順を第3OS、第4OSについて各々繰り返せばよい。また、各OS間で更新終了タイミングが一致或いは予め定められた範囲内の時間差となるように、属性情報の依存パーケージに反しない範囲内で更新パッケージの実行順序を変更上記ステップ202やステップ212の処理に戻って更新パッケージを選択し直すしてもよい。また、該更新終了タイミングが一致或いは予め定められた範囲内の時間差となるように、仮想マシンの性能情報内の各仮想マシン各OS毎に割り当てられたハードウェアの割り当て値CPU割り当て率、ディスクI/O帯域、ネットワーク帯域R1、R3、R4を調整することによって、各処理の予測時間を調整するようにしてもよい。この場合には、第1OSの予測時間も調整対象となる。また、選択した更新パッケージについての各処理の予測時間を計算した後、該各処理についてのスケジュールの決定を保留し、次の更新パッケージを選択して該更新パッケージの各処理についての予測時間の算出処理を先に行った後に、複数の更新パッケージの各処理のスケジュールをまとめて決定してもよい。例えば、更新パッケージ1のダウンロード→更新パッケージ1のアップデート→更新パッケージ2のダウンロード→更新パッケージ2のアップデートの順序ではなく、図10に示すように、更新パッケージ1のダウンロード→更新パッケージ2のダウンロード→更新パッケージ1のアップデート→更新パッケージ2のアップデートとする。このように、更新パッケージをまたいだ順序変更を許可するかどうかを、更新パッケージの属性情報に加えてもよい。そして、ハイパーバイザが該属性情報を参照して、順序変更が許可されていれば、上記のように順序を変更してスケジュールを決定してもよい。なお、ハードウェア資源の割り当ては、以下のように行うようにしてもよい。図10に示すように、第1OS側で主としてアップデートが実行され、第2OS側で主としてダウンロードが行われる期間T1では、第1OS側のCPU及びHDD負荷が大きく、第2OS側でネットワーク負荷が大きいため、第1OSに対するCPU及びHDDの割り当て率を第2OS側より高くし、第2OSに対するネットワークインタフェースの割り当て率を第1OS側より高くするようにする。また、次の期間T2では、第1OS側で主としてダウンロードが実行され、第2OS側で主としてアップデート及びデータベースの初期化が行われるため、第1OS側はネットワーク負荷が大きく、第2OS側でCPU及びHDD負荷が大きいため、第1OSに対するネットワークインタフェースの割り当て率を第2OS側より高くし、第2OSに対するCPU及びHDDの割り当て率を第1OS側より高くするようにする。以上のようにスケジューリング処理が終了した後は、図4のステップ106に進む。ステップ106では、上記決定したスケジュールで各更新パッケージによる更新処理が実行されるように各仮想マシンのOSを制御すると共に、上記割り当て率の決定に従って、ハードウェア資源を割り当てる。なお、実際に更新処理を実行中に、各処理に要する時間が上記算出した予測時間通りにならないことが見込まれる場合には、更新処理の実行中に、処理時間の各々が予測時間と合うように、上記決定したCPU割り当て率、ディスクI/O帯域、ネットワーク帯域を動的に調整してもよい。更にまた、更新処理開始後に再スケジューリング処理を行ってもよい。再スケジューリング処理では、再スケジューリング処理の実行開始時点での各仮想マシンのハードウェア資源の割り当て状態を取得して、未実行の更新パッケージや各処理について、上記ステップ104のスケジューリング処理を実行する。これにより新たなスケジュール及び割り当て率が決定されると、これ以降は、各OSで該新たに決定されたスケジュールで未実行の処理が実行されるよう制御し、且つハードウェア資源の割り当ても新たな決定に応じて行うようにする。なお、頻繁な再スケジューリング処理でハードウェア資源に負荷がかかることを回避するため、再スケジューリングは予め定められた時間間隔毎に行うようにしてもよい。更にまた、本実施の形態では、ハイパーバイザを用いてハードウェア資源の割り当てを行って仮想システムを実現した画像形成装置10を例に挙げて説明したが、これに限定されず、例えば、図11に示すように、ハイパーバイザの代わりに、ハードウェア資源の割り当てを管理するホストOSを上記複数のOSとは別に設け、該ホストOSが、複数のOSの更新のためのスケジューリング処理を行って、上記と同様に各OSの更新を制御するようにしてもよい。また、本実施の形態では、更新制御装置が適用される例として画像形成装置を例に挙げて説明したが、これに限定されるものではなく、様々な家電製品や事務機器などの組み込み機器に適用可能である。