プロセッサを有する情報処理装置において、所定のルールに従い前記プロセッサが複数のタスクを繰り返し実行する場合に、タスク毎に前記プロセッサでの動作履歴を記憶する記憶部と、該記憶部に記憶した動作履歴に基づき、各タスクに対する前記プロセッサの使用率を算出する算出部と、該算出部により算出した使用率に基づき各タスクに対する前記プロセッサの動作周波数を決定する決定部とを備える情報処理装置。タスク毎に優先度を記憶した優先度記憶部を備え、前記決定部は、前記算出部により算出した使用率及び前記優先度記憶部に記憶した優先度に基づき各タスクに対する前記プロセッサの動作周波数を決定する請求項1に記載の情報処理装置。前記算出部による使用率の算出命令を受け付ける受け付け部と、該受け付け部による算出命令受け付け時から所定時間以内の動作履歴を前記記憶部から読み出す読み出し部とを備え、前記算出部は、前記読み出し部により読み出した動作履歴に基づき、各タスクに対する前記プロセッサの使用率を算出する請求項1または2に記載の情報処理装置。情報処理装置のプロセッサに対する制御方法において、所定のルールに従い前記プロセッサが複数のタスクを繰り返し実行する場合に、タスク毎に前記プロセッサでの動作履歴を記憶部に記憶し、該記憶部に記憶した動作履歴に基づき、各タスクに対する前記プロセッサの使用率を算出し、算出した使用率に基づき各タスクに対する前記プロセッサの動作周波数を決定する制御方法。プロセッサを有するコンピュータに用いられるプログラムにおいて、コンピュータに、所定のルールに従い前記プロセッサが複数のタスクを繰り返し実行する場合に、タスク毎に前記プロセッサでの動作履歴を記憶部に記憶し、該記憶部に記憶した動作履歴に基づき、各タスクに対する前記プロセッサの使用率を算出し、算出した使用率に基づき各タスクに対する前記プロセッサの動作周波数を決定する処理を実行させるプログラム。しかしながら、従来の技術では、予めテーブルに記憶した特定のタスクに対応する要求性能を用いて制御を行うため、現実の使用状況に応じたCPUの制御が出来ないという問題があった。さらに、タスクは数多く存在するところ、従来技術では任意のシステムまたはタスクに対して十分対応できないという問題もあった。1つの側面では、本発明は、使用状況に応じたプロセッサの制御が可能となる情報処理装置等を提供することにある。本願に開示する情報処理装置は、プロセッサを有する情報処理装置において、所定のルールに従い前記プロセッサが複数のタスクを繰り返し実行する場合に、タスク毎に前記プロセッサでの動作履歴を記憶する記憶部と、該記憶部に記憶した動作履歴に基づき、各タスクに対する前記プロセッサの使用率を算出する算出部と、該算出部により算出した使用率に基づき各タスクに対する前記プロセッサの動作周波数を決定する決定部とを備える。一態様によれば、複数のタスクの動作履歴に基づき、プロセッサの動作周波数を決定するので、使用状況に応じたプロセッサの制御が可能となる。また、一態様によれば、タスクが複数存在する場合でも、適切な動作周波数の決定が可能となる。実施の形態1以下実施の形態を、図面を参照して説明する。図1は情報処理装置のハードウェア群を示すブロック図である。情報処理装置1は例えばサーバコンピュータ、パーソナルコンピュータまたはPDAPersonalDigitalAssistance等である。以下では情報処理装置1をサーバコンピュータ1であるものとして説明する。サーバコンピュータ1は、制御部としてのプロセッサ以下、CPUという11、RAMRandomAccessMemory12、入力部13、表示部14、記憶部15及び通信部16等を含む。CPU11は、バス17を介してハードウェア各部と接続されている。CPU11は各ハードウェアを制御すると共に、記憶部15に格納されたOSOperatingSystem151及び制御プログラム153に従って、ソフトウェア機能を実行する。通信部16はファイアウォールとしての機能を果たすゲートウェイ等であり、他の図示しないコンピュータ等との間でHTTPHyperTextTransferProtocol等により情報を送受信する。記憶部15は例えばハードディスクまたは大容量メモリ等である。記憶部15には上述したOS151が記憶されている。OS151はスケジューラ152及び制御プログラム153を有する。スケジューラ152は所定のルールに従い複数のタスクから一のタスクをCPU11に割り当てる。制御プログラム153には後述するように動作履歴の記憶、使用率の算出、動作周波数の決定及び動作周波数の制御等を行うプログラムが記述されている。なお、本実施形態においてはOS151内に制御プログラム153を設ける例を挙げて説明するがこれに限るものではない。OS151とは別の専用のプログラムとして記憶部15に記憶しても良い。入力部13はマウス、キーボード及び電源スイッチ等の入力デバイスである。入力部13は、受け付けた操作情報をCPU11へ出力する。表示部14は液晶ディスプレイまたは有機ELelectroluminescenceディスプレイ等であり、CPU11の指示に従い各種情報を表示する。クロック18は時間情報をCPU11へ出力する。RAM12は例えばSRAMStaticRAM、DRAMDynamicRAM、フラッシュメモリ等である。RAM12は、記憶部としても機能し、CPU11による各種プログラムの実行時に発生する種々のデータを一時的に記憶する。RAM12には、第1履歴記憶部121、第2履歴記憶部122及び動作周波数テーブル123が記憶される。CPU11はタイムスタンプカウンタ以下、TSCTimeStampCounterという111及びパフォーマンスカウンタ以下、PMCPerformanceMonitoringCounterという112を含む。TSC111はCPU11のクロックサイクル毎に増加するレジスタであり、1クロックに付き1ずつ値が加算される値を出力する。PMC112はCPU11のイベントを計測する。イベントは例えば、タスク実行期間中に、CPU11が停止していなかったすなわちビジー状態であったサイクル数、分岐命令数、実行命令数、バストトランザクション数、または、分岐予測失敗数等である。本実施形態では一例として、PMC112がタスク実行期間中にCPU11が停止していなかったサイクル数以下、動作サイクル数というを計測する例を挙げて説明するが、これに限るものではない。図2は第1履歴記憶部121のレコードレイアウトを示す説明図である。第1履歴記憶部121は経過時間フィールド、実行タスクフィールド、TSCフィールド、及びPMCフィールドを含む。本実施形態においては、説明を容易にするために一例としてタスクA、タスクB及びタスクCの3つが存在し、スケジューラ152に従い、タスクA、タスクB及びタスクCが1msおきに繰り返し実行される例を挙げて説明する。なお、このスケジューラ152により設定される所定のルールは一例でありこれに限るものではない。さらに数多くのタスクを実行しても良く、また各タスクの実行時間は均等でなくても良い。またスケジューラ152の設定によりタスクA、タスクB、タスクCとしていたルールを、予め記憶した時間または予め定めた条件に合致した場合に、タスクA、タスクC、タスクBの順序で行うというルールへ変更して実行しても良い。CPU11はスケジューラ152に従い、最初にタスクAを1ms間実行する。CPU11は1ms経過後、タスクAからタスクBに切り替える。経過時間フィールドには、最初のタスクを開始してからの経過時間が記憶される。CPU11はクロック18を参照し経過時間フィールドに経過時間を記憶する。実行タスクフィールドには実行済みのタスク名が経過時間に対応付けて記憶される。CPU11は、実行済みのタスクを実行タスクフィールドに記憶する。図2の例では、1ms経過後にタスクAの実行が完了したことから、経過時間1msに対応付けて実行タスクフィールドにタスクAが記憶される。またCPU11はタスクAからタスクBに切り替えた際に、TSC111から取得した値をTSCフィールドに記憶する。具体的には、CPU11はタスクAの実行開始時にTSC111を0にリセットし、タスクAの終了時にTSC111から出力される値以下カウント数というをTSCフィールドに記憶する。なお、CPU11はTSC111をリセットすることなく、タスクAの終了時におけるTSC111から出力される値から、タスクAの実行開始時にTSC111から出力された値を減じてカウント数としても良い。CPU11はタスクAの実行開始時から実行終了時までの間に、PMC112からCPU11が停止していなかった動作サイクル数を取得する。図2は、CPU11及びTSC111の周波数を1GHzとし、タスクA、タスクB及びタスクCを1ms毎に切り替える例を示している。なお、Mは10の6乗である。経過時間1ms経過後はタスクAのカウント数として1M、動作サイクル数として0.1Mが対応付けて第1履歴記憶部121に記憶される。CPU11はタスクAの実行後、スケジューラ152に従い、タスクBを実行する。CPU11はTSC111及びPMC112を参照し、タスクBの実行開始時から終了時までのカウント数及び動作サイクル数を記憶する。図2の例では、2ms経過後にタスクBの動作履歴としてカウント数1M、動作サイクル数0.9Mと記憶される。動作サイクル数は0.9Mであるため、CPU11はタスクBの処理中、タスクAと比較して長時間動作していたことが理解できる。CPU11はタスクBの実行後、スケジューラ152に従い、タスクCを実行する。同様にCPU11はTSC111及びPMC112を参照し、タスクCの実行開始時から終了時までのカウント数及び動作サイクル数を記憶する。図2の例では、3ms経過後にタスクCの動作履歴としてカウント数1M、動作サイクル数0.5Mと記憶される。CPU11はタスクCの実行後、スケジューラ152に従い、再びタスクAを実行する。CPU11はTSC111及びPMC112を参照し、タスクAの実行開始時から終了時までのカウント数及び動作サイクル数を記憶する。図2の例では、4ms経過後にタスクAの動作履歴としてカウント数1M、動作サイクル数0.1Mと記憶される。CPU11はタスクAの実行後、スケジューラ152に従い、タスクBを実行する。CPU11はTSC111及びPMC112を参照し、タスクBの実行開始時から終了時までのカウント数及び動作サイクル数を記憶する。図2の例では、5ms経過後にタスクBの動作履歴としてカウント数1M、動作サイクル数0.7Mと記憶される。なお、本実施形態で述べる数値はあくまで一例でありこれに限るものではない。図3は第2履歴記憶部122のレコードレイアウトを示す説明図である。第2履歴記憶部122は経過時間フィールド、タスクフィールド、累積カウント数フィールド、及び累積動作サイクル数フィールドを含む。図3では、説明のため図3A~図3Fに第2履歴記憶部122の時間的変化を示している。図3Aは経過時間0ms、図3Bは経過時間1ms、図3Cは経過時間2ms、図3Dは経過時間3ms、図3Eは経過時間4ms、図3Fは経過時間5msの状態をそれぞれ示す。CPU11は第1履歴記憶部121のレコードが更新される度に、第2履歴記憶部122の記憶内容を更新する。第2履歴記憶部122の経過時間フィールドには、スケジューラ152の実行及び制御プログラム153の実行に伴う第1番目のタスクの実行開始後からの経過時間が記憶される。タスクフィールドには各タスクを識別するための識別情報が記憶される。なお、本実施形態では説明のため、タスクの名称で記載しているが、プロセスIDを記憶しても良い。累積カウント数フィールドには、タスクの実行開始時からの累積カウント数をタスク毎に記憶している。例えば、図3Eの如く4ms経過後は、タスクAの累積カウント数は1M1Mで2Mとなり、タスクBの累積カウント数及びタスクCの累積カウント数は依然として1Mである。累積動作サイクル数フィールドには、タスクの実行開始時からの累積動作サイクル数をタスク毎に記憶している。例えば、図3Fの如く5ms経過後は、タスクAの累積動作サイクル数は0.1M0.1Mで0.2Mとなる。また、タスクBの累積動作サイクル数は0.9M0.7Mで1.6Mとなり、タスクCの累積動作サイクル数は依然として0.5Mである。CPU11はあるタスクに係る使用率の算出命令を受け付けた場合に、第2履歴記憶部122を参照し、タスクを実行するのに必要なCPU11の使用率以下、CPU使用率というを算出する。例えば図3Eに示す経過時間4ms経過後に算出命令を受け付けた場合、CPU11は累積動作サイクル数フィールドに記憶した累積動作サイクル数を累積カウント数フィールドに記憶した累積カウント数で除し、100を乗じることでCPU使用率を算出する。図3EのタスクAのCPU使用率は0.2M÷2M×100で10となる。またタスクBのCPU使用率は0.9M÷1Mで90となる。タスクCのCPU使用率は0.5M÷1Mで50となる。なお、タスクに係るCPU使用率の算出処理はこれに限るものではない。例えば、累積動作サイクル数または他のイベント数を、累積サイクル数または各タスクの実行時間で除すことにより算出しても良い。タスクCPU使用率の算出命令の出力タイミングは、制御プログラム153に記述されている。例えば、累積カウント数が閾値例えば8Mを越えた場合、CPU11は算出命令を受け付ける。その他、経過時間が予め記憶した時間例えば10msを超えた場合、累積動作サイクル数が予め記憶した動作サイクル数例えば3Mを超えた場合、または、各タスクの繰り返し実行回数が予め記憶した回数例えば10回を超えた場合に出力しても良い。さらに、CPU11はCPU使用率の算出命令を受け付けた後に、第2履歴記憶部122を参照し、継続してCPU使用率を算出しても良い。例えば、経過時間が5msを超えた場合、図3Fを参照し、タスクAのCPU使用率を10、タスクBのCPU使用率を80、タスクCのCPU使用率を50と算出する。その他、CPU11はCPU使用率の算出命令を受け付けた時点で1度だけ、CPU使用率を算出しても良く、その他算出命令を受け付けた後に、定期的例えば3ms毎にCPU使用率を算出しても良い。本実施形態ではCPU11はCPU使用率の算出命令を受け付けた後、継続して各タスクのCPU使用率を算出する例を挙げて説明する。図4は動作周波数テーブル123のレコードレイアウトを示す説明図である。動作周波数テーブル123はCPU使用率フィールド及び動作周波数フィールドを含む。動作周波数フィールドには、CPU使用率に対応付けてCPU11を動作させる動作周波数が記憶されている。CPU11は動作周波数テーブル123を参照し、算出したタスクに係るCPU使用率に基づき、対応する動作周波数を読み出す。CPU11は読み出した動作周波数をタスクに対応する動作周波数として決定する。例えば、図3Fに示す5ms経過後のタスクAのCPU使用率は10であるので、タスクAに対するCPU11の動作周波数は0.3GHzとなる。一方、タスクBのCPU使用率は80であるので、タスクBに対するCPU11の動作周波数は1GHzとなる。またタスクCのCPU使用率は50であるので、タスクCに対するCPU11の動作周波数は0.5GHzとなる。CPU11は決定したタスクに係る動作周波数に従い、タスクを実行する。なお、図4に示した数値例は一例でありこれに限るものではない。また、動作周波数テーブル123を設けるほかに、係数を乗じて各タスクに係る動作周波数を決定しても良い。例えばCPU11の最大動作周波数に、タスクに係るCPU使用率に基づく係数を乗じ、動作周波数を算出する。図3Fの例では、タスクBのCPU使用率は80であることから100で除した値0.8を係数とする。係数0.8を最大動作周波数1GHzに乗じて、タスクBの動作周波数を0.8GHzとしても良い。以上のハードウェア群においてソフトウェア処理を、フローチャートを用いて説明する。図5は動作履歴記憶処理の手順を示すフローチャートである。CPU11は制御プログラム153を起動する。CPU11はスケジューラ152により割り当てられたタスクの実行を開始するステップS51。CPU11はタスクの実行を終了するステップS52。CPU11はタスクを実行していた間のカウント数をTSC111から取得し、またPMC112から動作サイクル数を取得するステップS53。CPU11は第1番目のタスクの実行を開始してからタスクの実行を終了するまでの経過時間、実行したタスク、カウント数、及び、動作サイクル数を対応付けて第1履歴記憶部121に記憶するステップS54。CPU11は第1履歴記憶部121に記憶したカウント数及び動作サイクル数と第2履歴記憶部122に記憶した履歴とに基づき、累積カウント数及び累積動作サイクル数を第2履歴記憶部122に、経過時間及びタスクに対応付けて記憶するステップS55。CPU11は上述したステップS53~S55の処理と並行して次に実行するタスクが存在するか否かを判断するステップS56。CPU11はタスクが存在すると判断した場合ステップS56でYES、スケジューラ152により割り当てられたタスクを切り替えるステップS57。CPU11は処理をステップS51へ戻し、新たに割り当てられたタスクについて以上の処理を繰り返す。これにより第2番目、第3番目のタスクの累積カウント数及び累積動作サイクル数が第2履歴記憶部122に記憶される。一方、CPU11はスケジューラ152により割り当てられたタスクがなく、タスクが存在しないと判断した場合ステップS56でNO、処理を終了する。図6は動作周波数の決定処理の手順を示すフローチャートである。CPU11は第2履歴記憶部122を参照し、タスクに係る累積カウント数が記憶部15に予め記憶した閾値を越えるか否かを判断するステップS61。CPU11は閾値を越えないと判断した場合ステップS61でNO、以上の処理を繰り返す。CPU11は閾値を越えると判断した場合ステップS61でYES、タスクに係るCPU使用率の算出命令を制御プログラム153から受け付けるステップS62。CPU11は第2履歴記憶部122を参照し、タスクのCPU使用率を算出するステップS63。CPU11は動作周波数テーブル123を参照し、タスクに対応する動作周波数を決定するステップS64。CPU11は決定した動作周波数に従い、タスクを実行するステップS65。最後にCPU11は第2履歴記憶部122を初期化全レコードをクリアするステップS66。具体的には、CPU11は第2履歴記憶部122の全レコードをクリアする。これにより、時間局所性が保たれた状態での動作履歴に応じて適切な動作周波数にて各タスクを実行することができる。またこれにより、動作履歴に応じて適切な動作周波数にて各タスクを実行することができる。また数多くのタスクに対しても適切に動作周波数を決定することが可能となる。なお、ステップS66の処理はステップS63以降に行えば良い。またステップS66の処理は必ずしも実行する必要はない。実施の形態2実施の形態2はタスクの優先度に基づき動作周波数を決定する形態に関する。図7は実施の形態2に係るサーバコンピュータ1のハードウェア群を示すブロック図である。RAM12内に新たに優先度記憶部124が格納されている。図8は優先度記憶部124のレコードレイアウトを示す説明図である。優先度記憶部124にはタスクに対応付けて優先度が記憶されている。例えばタスクAは優先度が中、タスクBは優先度が高、タスクCは優先度が低と記憶されている。なお、優先度は数値を記憶しても良い。また本実施形態では優先度を3段階としたが、複数段階であればこれに限るものではない。なお、タスクの優先度は制御プログラム153に予め記述しておくほか、入力部13からオペレータが適宜の値を入力し、優先度記憶部124に記憶するようにしても良い。図9は実施の形態2に係る動作周波数テーブル123のレコードレイアウトを示す説明図である。動作周波数テーブル123はCPU使用率フィールド、及び、優先度毎の動作周波数フィールドを含む。動作周波数フィールドには、CPU使用率に対応付けて、優先度毎の動作周波数が記憶されている。例えば優先度が高の場合、CPU使用率0以上30未満に対応付けて0.5GHz、CPU使用率30以上70未満に対応付けて0.7GHz、CPU使用率70以上100以下に対応付けて1GHzが記憶されている。優先度が中の場合、優先度が高の場合と比較して、低い動作周波数が記憶されている。例えば優先度が中の場合、CPU使用率0以上30未満に対応付けて0.3GHz、CPU使用率30以上70未満に対応付けて0.5GHz、CPU使用率70以上100以下に対応付けて0.8GHzが記憶されている。さらに、優先度が低の場合、優先度が中の場合と比較して、低い動作周波数が記憶されている。例えば優先度が低の場合、CPU使用率0以上30未満に対応付けて0.2GHz、CPU使用率30以上70未満に対応付けて0.3GHz、CPU使用率70以上100以下に対応付けて0.6GHzが記憶されている。CPU11は、タスクの優先度を優先度記憶部124から読み出す。またCPU11は読み出した優先度及びタスクのCPU使用率に基づき、動作周波数テーブル123から対応する動作周波数を決定する。例えば、タスクBのCPU使用率が60の場合、タスクBの優先度は高であるので、動作周波数は0.7GHzと決定される。なお、本実施形態においては優先度毎に複数の動作周波数の値を動作周波数テーブル123に記憶する例を挙げたがこれに限るものではない。例えば、実施の形態1で決定した動作周波数に、優先度に応じた係数を乗じることで、動作周波数を決定しても良い。例えば、優先度が高の場合、係数1を乗じ、優先度が中の場合、係数0.7を乗じ、優先度が低の場合、係数0.3を乗じ、動作周波数を補正すれば良い。図10は実施の形態2に係る動作周波数の決定処理の手順を示すフローチャートである。実施の形態1で述べたとおり、CPU11は第2履歴記憶部122を参照し、タスクのCPU使用率を算出するステップS101。CPU11はタスクの優先度を優先度記憶部124から読み出すステップS102。CPU11は動作周波数テーブル123を参照し、優先度及びタスクのCPU使用率に基づき、タスクに対応する動作周波数を決定するステップS103。CPU11は決定した動作周波数に従い、タスクを実行するステップS104。これにより、優先すべきタスクについて速やかに処理を実行することが可能となる。なお、実施の形態1と同様に、適宜第2履歴記憶部122の内容を初期化しても良い。例えば、CPU11は定期的にタイマー割込みを受け例えば1m毎のインターバル、その度に第2履歴記憶部122を初期化全レコードをクリアする。これにより第2履歴記憶部122のレコードが常に現在の使用状況に保たれ、適切な動作周波数を決定することが可能となる。本実施の形態2は以上の如きであり、その他は実施の形態1と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。実施の形態3実施の形態3は所定時間内の動作履歴を用いて動作周波数を決定する形態に関する。本実施形態においては経過時間が閾時間例えば10ms経過する度に算出命令を制御プログラム153から受け付ける例を挙げて説明する。またCPU11はタスクの算出命令を受け付けた時点から所定時間内例えば8ms内の動作履歴に基づき、CPU使用率を算出する例を挙げて説明する。図11は実施の形態3に係る動作周波数の決定処理の手順を示すフローチャートである。CPU11は記憶部15から閾時間を読み出す。CPU11は第1履歴記憶部121に記憶した経過時間が閾時間を経過したか否かを判断するステップS111。CPU11は閾時間を経過していないと判断した場合ステップS111でNO、以上の処理を繰り返す。CPU11は閾時間を経過したと判断した場合ステップS111でYES、制御プログラム153からタスクのCPU使用率の算出命令を受け付けるステップS112。CPU11は記憶部15から所定時間を読み出す。CPU11は第1履歴記憶部121を参照し、ステップS112の算出命令受け付け時から所定時間遡った分のカウント数及び動作サイクル数をタスク毎に読み出すステップS113。CPU11は所定時間内の累積カウント数及び累積動作サイクル数をタスク毎に算出するステップS114。CPU11は累積動作サイクル数を累積カウント数で除し、100を乗ずることで、各タスクのCPU使用率を算出するステップS115。CPU11はタスクの優先度を優先度記憶部124から読み出すステップS116。CPU11は動作周波数テーブル123を参照し、優先度及びタスクのCPU使用率に基づき、タスクに対応する動作周波数を決定するステップS117。CPU11は決定した動作周波数に従い、タスクを実行するステップS118。なお、実施の形態1の如く、優先度を考慮することなく動作周波数を決定しても良い。以上の処理はさらに閾時間を経過することで、ステップS112以降の処理が繰り返し実行される。これにより、現在の使用状況に応じた適切な動作周波数を決定することが可能となる。本実施の形態3は以上の如きであり、その他は実施の形態1及び2と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。実施の形態4実施の形態4は実施の形態1の処理と実施の形態3の処理とを切り替えて実行する形態に関する。CPU11は、通常は第2履歴記憶部122に記憶した動作履歴に基づきCPU使用率を算出するが、所定時間内における動作履歴の変動に関する値が閾値を越える場合は、実施の形態3で述べたCPU使用率の算出処理を実行する。動作履歴の変動に関する値は、例えば、所定時間内の動作サイクル数の分散値、単位時間当たりの変化率、または平均値である。本実施形態では所定時間内の動作サイクル数の分散値を用いる例を挙げて説明する。図12及び図13は実施の形態4に係る動作周波数の算出処理の手順を示すフローチャートである。CPU11は記憶部15から閾時間を読み出す。CPU11は第1履歴記憶部121に記憶した経過時間が閾時間を経過したか否かを判断するステップS121。CPU11は閾時間を経過していないと判断した場合ステップS121でNO、以上の処理を繰り返す。CPU11は閾時間を経過したと判断した場合ステップS121でYES、制御プログラム153からタスクのCPU使用率の算出命令を受け付けるステップS122。CPU11は記憶部15から所定時間を読み出す。CPU11は第1履歴記憶部121を参照し、ステップS122の算出命令受け付け時から所定時間遡った分のカウント数及び動作サイクル数をタスク毎に読み出すステップS123。CPU11は閾値を記憶部15から読み出すステップS124。CPU11はステップS123で読み出した所定時間内の動作サイクル数の分散値を算出するステップS125。CPU11は算出したタスクに係る分散値が読み出した閾値を越えるか否かを判断するステップS126。CPU11は分散値が閾値を越えると判断した場合ステップS126でYES、当該タスクに係る所定時間内の累積カウント数及び累積動作サイクル数を算出するステップS127。CPU11は累積動作サイクル数を累積カウント数で除し、100を乗ずることで、当該タスクのCPU使用率を算出するステップS128。CPU11はタスクに係る分散値が閾値を越えないと判断した場合ステップS126でNO、ステップS129へ移行する。CPU11はタスクの実行開始から算出命令を受け付けた時点までにステップS55の処理により第2履歴記憶部122に記憶された累積カウント数及び累積動作サイクル数に基づき、タスクのCPU使用率を算出するステップS129。ステップS128及びS129の処理後、CPU11は処理をステップS1210へ移行させる。CPU11は全てのタスクについてCPU使用率を算出したか否かを判断するステップS1210。CPU11は全てのタスクについてCPU使用率を算出していないと判断した場合ステップS1210でNO、処理をステップS126へ戻す。これにより、各タスクのCPU使用率が算出される。CPU11は全てのタスクについてCPU使用率を算出したと判断した場合ステップS1210でYES、タスクの優先度を優先度記憶部124から読み出すステップS131。CPU11は動作周波数テーブル123を参照し、優先度及びタスクのCPU使用率に基づき、タスクに対応する動作周波数を決定するステップS132。CPU11は決定した動作周波数に従い、タスクを実行するステップS133。なお、実施の形態1の如く、優先度を考慮することなく動作周波数を決定しても良い。以上の処理はさらに閾時間を経過することで、ステップS121以降の処理が繰り返し実行される。これにより、CPU使用率を算出する時点から所定時間前の動作履歴の変動が大きいタスクについてはその変動に応じた動作周波数を決定することが可能となる。また、変動が少ないタスクについては、長期間の履歴に基づく動作周波数を決定することが可能となる。本実施の形態4は以上の如きであり、その他は実施の形態1乃至3と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。実施の形態5図14は実施の形態5に係るサーバコンピュータ1のハードウェア群を示すブロック図である。サーバコンピュータ1を動作させるためのプログラムは、ディスクドライブ等の読み取り部10AにCDROM、DVDDigitalVersatileDiscディスクまたはUSBUniversalSerialBusメモリ等の可搬型記録媒体1Aを読み取らせて記憶部15に記憶しても良い。また当該プログラムを記憶したフラッシュメモリ等の半導体メモリ1Bをサーバコンピュータ1内に実装しても良い。さらに、当該プログラムは、インターネット等の通信網Nを介して接続される他のサーバコンピュータ図示せずからダウンロードすることも可能である。以下に、その内容を説明する。図14に示すサーバコンピュータ1は、上述した各種ソフトウェア処理を実行するプログラムを、可搬型記録媒体1Aまたは半導体メモリ1Bから読み取り、或いは、通信網Nを介して他のサーバコンピュータ図示せずからダウンロードする。当該プログラムは、制御プログラム153としてインストールされ、RAM12にロードして実行される。これにより、上述したサーバコンピュータ1として機能する。本実施の形態5は以上の如きであり、その他は実施の形態1乃至4と同様であるので、対応する部分には同一の参照番号を付してその詳細な説明を省略する。以上の実施の形態1乃至5を含む実施形態に関し、さらに以下の付記を開示する。付記1プロセッサを有する情報処理装置において、所定のルールに従い前記プロセッサが複数のタスクを繰り返し実行する場合に、タスク毎に前記プロセッサでの動作履歴を記憶する記憶部と、該記憶部に記憶した動作履歴に基づき、各タスクに対する前記プロセッサの使用率を算出する算出部と、該算出部により算出した使用率に基づき各タスクに対する前記プロセッサの動作周波数を決定する決定部とを備える情報処理装置。付記2タスク毎に優先度を記憶した優先度記憶部を備え、前記決定部は、前記算出部により算出した使用率及び前記優先度記憶部に記憶した優先度に基づき各タスクに対する前記プロセッサの動作周波数を決定する付記1に記載の情報処理装置。付記3前記算出部による使用率の算出命令を受け付ける受け付け部と、該受け付け部による算出命令受け付け時から所定時間以内の動作履歴を前記記憶部から読み出す読み出し部とを備え、前記算出部は、前記読み出し部により読み出した動作履歴に基づき、各タスクに対する前記プロセッサの使用率を算出する付記1または2に記載の情報処理装置。付記4タスク毎に優先度を記憶した優先度記憶部と、使用率及び優先度に対応付けて動作周波数を記憶したテーブルとを備え、前記決定部は、前記テーブルを参照し、前記算出部により算出した使用率及び前記優先度記憶部に記憶した優先度に基づき、対応する各タスクの動作周波数を決定する付記1に記載の情報処理装置。付記5前記算出部による使用率の算出命令を受け付ける受け付け部と、該受け付け部による算出命令受け付け時から所定時間以内の動作履歴を前記記憶部から読み出す読み出し部と、該読み出し部により読み出した動作履歴の変動に関する値が、閾値を越えるか否かを判断する判断部と、前記算出部は、前記判断部により閾値を越えると判断した場合に、前記読み出し部により読み出した動作履歴に基づき、各タスクに対する前記プロセッサの使用率を算出する付記1または2に記載の情報処理装置。付記6情報処理装置のプロセッサに対する制御方法において、所定のルールに従い前記プロセッサが複数のタスクを繰り返し実行する場合に、タスク毎に前記プロセッサでの動作履歴を記憶部に記憶し、該記憶部に記憶した動作履歴に基づき、各タスクに対する前記プロセッサの使用率を算出し、算出した使用率に基づき各タスクに対する前記プロセッサの動作周波数を決定する制御方法。付記7プロセッサを有するコンピュータに用いられるプログラムにおいて、コンピュータに、所定のルールに従い前記プロセッサが複数のタスクを繰り返し実行する場合に、タスク毎に前記プロセッサでの動作履歴を記憶部に記憶し、該記憶部に記憶した動作履歴に基づき、各タスクに対する前記プロセッサの使用率を算出し、算出した使用率に基づき各タスクに対する前記プロセッサの動作周波数を決定する処理を実行させるプログラム。