"異なる周波数のクロック信号が供給され得るプロセッサを備えるコンピュータに、前記プロセッサへの割り当て制御の対象である処理単位の処理の開始制御に応じて、前記クロック信号のパルスを計数するクロックカウンタから読み出した第1の値と、前記処理の停止制御に応じて前記クロックカウンタから読み出した第2の値との差分を算出する、処理を実行させることを特徴とする算出プログラム。前記コンピュータに、さらに、算出された前記差分に、単位クロック数当たりの所定種類のコスト値を示す係数を乗じて得られるコスト値を算出する、処理を実行させることを特徴とする請求項1に記載の算出プログラム。前記処理の停止制御の実行は、前記処理の処理過程における前記プロセッサの処理状況に応じて判断される、ことを特徴とする請求項1または請求項2に記載の算出プログラム。前記コンピュータに、さらに、算出した前記差分を、前記処理単位を識別する識別情報と関連付けて記憶部に記憶する、処理を実行させることを特徴とする請求項1~請求項3のいずれか1つに記載の算出プログラム。前記コンピュータに、さらに、前記処理単位の処理がさらに実行される場合に、さらに実行される処理の開始制御に応じて前記クロックカウンタから読みだされた第3の値と、前記さらに実行される処理の停止制御に応じて前記クロックカウンタから読みだされた第4の値との差分を算出し、前記第3の値と前記第4の値とに基づいて算出された前記差分を、前記識別情報と関連付けられて前記記憶部に記憶された前記差分に積算して得られる積算値を、前記識別情報に関連付けて前記記憶部に記憶する、処理を実行させることを特徴とする請求項4に記載の算出プログラム。前記コンピュータに、さらに、他の処理単位が実行される場合に、前記他の処理単位の処理の開始制御に応じて前記クロックカウンタから読み出した第5の値と、前記他の処理単位の前記処理の停止制御に応じて前記クロックカウンタから読み出した第6の値との差分を算出し、前記他の処理単位が前記処理単位と同じプログラムについての処理単位である場合に、前記第5の値及び前記第6の値に基づいて算出された差分と、前記積算値との和を、前記プログラムを識別するプログラム識別情報に関連付けて前記記憶部に記憶する、処理を実行させることを特徴とする請求項5に記載の算出プログラム。前記コンピュータに、さらに、前記プログラムに関する入力制御または出力制御のうち、少なくとも一方の制御を実行させるドライバプログラムの処理単位の処理が実行される場合に、前記ドライバプログラムの処理単位の処理の開始制御に応じて前記クロックカウンタから読み出した第7の値と、前記ドライバプログラムの前記処理単位の前記の停止処理の停止制御に応じて前記クロックカウンタから読み出した第8の値との差分を算出し、前記第7の値と前記第8の値とに基づく前記差分と、前記和との和を、前記プログラム識別情報と関連付けて前記記憶部に記憶する、処理を実行させることを特徴とする請求項6に記載の算出プログラム。前記処理単位は、マルチスレッド制御の対象となるスレッドであるか、マルチプロセス制御の対象となるプロセスであるか、または前記コンピュータへのアクセス元に関して行なわれる処理の単位である、ことを特徴とする請求項1~5のいずれか1つに記載の算出プログラム。異なる周波数のクロック信号が供給され得るプロセッサと、前記クロック信号を計数するクロックカウンタと、を含み、前記プロセッサが、前記プロセッサへの割り当て制御の対象である処理単位の処理の開始制御に応じて、前記クロックカウンタから読み出した第1の値と、前記処理の停止制御に応じて前記クロックカウンタから読み出した第2の値との差分を算出する、処理を実行することを特徴とするコンピュータ。前記クロックカウンタが、前記クロック信号が前記プロセッサに供給されたパルスの数を計数する、ことを特徴とする請求項9に記載のコンピュータ。前記コンピュータは、さらにメモリを備え、前記プロセッサが、前記算出した前記差分を、前記処理単位を識別する識別情報と関連付けて前記メモリに記憶する、処理を実行することを特徴とする請求項9または請求項10に記載のコンピュータ。異なる周波数のクロック信号が供給され得るプロセッサ、及びクロックカウンタを含むコンピュータが、前記クロックカウンタにより、前記クロック信号のパルスを計数し、前記プロセッサへの割り当て制御の対象である処理単位の処理の開始制御に応じて、前記クロックカウンタから読み出した第1の値と、前記処理の停止制御に応じて前記クロックカウンタから読み出した第2の値との差分を算出する、ことを実行させることを特徴とする算出方法。CPUの使用率は、算出対象のプログラムについての処理により、どの程度の時間CPUが占有されるかに基づいて算出される。一方で、CPUの消費電力や発熱を抑制させるため、CPUの処理負荷などに応じて、回路の同期に用いられる動作周波数クロック周波数を変動させる技術がある。CPUの動作周波数を変動させる制御が行なわれると、変動の前後においてCPUが実際に単位時間当たりに動作した量が変化してしまう。CPUが動作することで電力が消費されるので、CPUの動作周波数が変動してCPUの動作量が変わると、CPUの消費電力も変動する。CPUを占有する時間に応じて消費電力を見積もる従来の方法では、動作周波数の変動による消費電力の変化が考慮されない。そのため、算出対象のプログラムについて、動作周波数の変動前後でCPUの占有時間が同じ場合には、CPUが実際に動作した量が変動しているにも関わらず、変動前後の消費電力が同じであると見積もられてしまう、という問題がある。本発明の一側面においては、異なる周波数のクロック信号が供給され得るプロセッサへの割り当て制御対象である処理単位について、プロセッサの動作量を算出することを目的とする。開示の算出プログラムは、異なる周波数のクロック信号が供給され得るプロセッサを備えるコンピュータに、前記プロセッサへの割り当て制御の対象である処理単位の処理の開始制御に応じて、前記クロック信号のパルスを計数するクロックカウンタから読み出した第1の値と、前記処理の停止制御に応じて前記クロックカウンタから読み出した第2の値との差分を算出する、処理を実行させる。開示のコンピュータは、異なる周波数のクロック信号が供給され得るプロセッサと、前記クロック信号を計数するクロックカウンタと、を含み、前記プロセッサが、前記プロセッサへの割り当て制御の対象である処理単位の処理の開始制御に応じて、前記クロックカウンタから読み出した第1の値と、前記処理の停止制御に応じて前記クロックカウンタから読み出した第2の値との差分を算出する、処理を実行する。開示の算出方法は、異なる周波数のクロック信号が供給され得るプロセッサ、及びクロックカウンタを含むコンピュータが、前記クロックカウンタにより、前記クロック信号のパルスを計数し、前記プロセッサへの割り当て制御の対象である処理単位の処理の開始制御に応じて、前記クロックカウンタから読み出した第1の値と、前記処理の停止制御に応じて前記クロックカウンタから読み出した第2の値との差分を算出する。本発明の一側面において、異なる周波数のクロック信号が供給され得るプロセッサへの割り当て制御対象である処理単位について、プロセッサの動作量を算出することができる。プロセッサの消費電力は、プロセッサに供給されるクロック信号の周波数の変動に応じて変動する。プロセッサは、1周期分のクロック信号に応じてプロセッサ内の回路の充放電を1回行なうため、クロック信号の周波数の変動により単位時間当たりの充放電回数が変動するためである。クロック信号の周波数の変動は、例えば、クロック信号の供給元を、異なる周波数のクロック信号を生成する複数の発振器間で切り替えた場合や、1つの発振器により生成されるクロック信号の周波数に経時的にズレが生じた場合などに起こる。例えば、ある時間間隔tにおいて、周波数f1で動作した場合と、周波数f2で動作した場合とにおけるプロセッサの充放電回数は、それぞれf1t,f2tとなる。プロセッサが動作した時間で消費電力を見積もる方法があるが、時間でプロセッサの動作量を評価する場合には、数式1で示すtを越えた時間計測すると、充放電1回分以上の誤差が生じることとなる。言い換えると、ある時間範囲tにおけるプロセッサの動作量を計測する場合には、クロックの周波数が数式1に示すf1-f2以上に変動すると、クロック周期1回分以上の誤差が生じる。そのため、計測したい時間範囲tに対して周波数が数式1に示すf1-f2以上に変動する場合においては、クロック信号の周波数の変動を考慮する必要が生じる。t≦|1/f1-f2|数式1以下に本発明の実施形態について図面に基づいて説明する。まず、第1の実施形態のコンピュータ1の構成について、図1~3に基づいて説明する。図1は、コンピュータ1の機能構成例を示す。コンピュータ1は、処理部11及び記憶部12を含み、処理部11は実行部110、実行制御部111、クロックカウンタ112、読出処理部113、算出部114及び記憶制御部115を含む。図2は、コンピュータ1のソフトウェア構成例を示す。図2に示すソフトウェア構成例においては、アプリケーションプログラム23a、アプリケーションプログラム23b、アプリケーションプログラム23cの複数種類のアプリケーションプログラムがコンピュータ1において動作する。コンピュータ1で動作するアプリケーションプログラムはアプリケーションプログラム23a-cに限定するものでなく、例えば、アプリケーションプログラム23a―c以外のアプリケーションプログラムもコンピュータ1で動作しうる。さらに、コンピュータ1において、アプリケーション23a-cの処理をハードウェアHW21に実行させるための制御管理を行なうオペレーションシステムOS22aが動作する。ハードウェア21は、図3を用いて後述されるハードウェアである。図3は、コンピュータ1のハードウェア構成例を示す。コンピュータ1は、プロセッサ301、RAMRandomAccessMemory302、ROMReadOnlyMemory303、ドライブ装置304、記録媒体305、通信インターフェースI/F306、入力インターフェースI/F307、出力インターフェースI/F308を含む。プロセッサ301は、プロセッサ301の動作に関連する回路との同期に用いられる動作周波数を変動させて動作する。プロセッサ301、RAM302、ROM303、ドライブ装置304、通信インターフェース306、入力インターフェース307、出力インターフェース308は、バス309と接続されている。通信インターフェース306は、ネットワーク310と接続されている。入力インターフェース307は、入力装置311と接続されており、出力インターフェース308は、出力装置312と接続されている。図1~3に示されるコンピュータ1の各構成について説明する。処理部11の機能は、例えば、プロセッサ301がOS22a、アプリケーションプログラム23a-cなどに基づいて処理を行なうことで実現される。また、記憶部12の機能は、例えば、RAM302または記録媒体305などにプロセッサ301の制御により情報が読み書きされることで実現される。実行部110は、後述される実行制御部111の制御に応じて、アプリケーションプログラム23a-cの処理を実行する。実行部110の機能は、例えば、記録媒体305からRAM302に読みだされたアプリケーションプログラム23a-cをプロセッサ301が読み込み、読み込んだプログラムに含まれる命令をプロセッサ301が処理することで実現される。実行制御部111は、実行部110により行なわれるアプリケーションプログラム23a-cの処理のスケジューリングを行なう。各アプリケーションプログラムの処理をマルチプロセスで行なう場合には、実行制御部111は、各アプリケーションプログラムの処理単位であるプロセスをプロセッサ301に割り当てる制御を行なう。プロセスを割り当てるタイミングは、実行制御部111に含まれるプロセススケジューラのアルゴリズムに基づく処理状況についての判断により決められる。また、各アプリケーションプログラムの処理をマルチスレッドで行なう場合にも同様に、実行制御部111は、各アプリケーションプログラムの処理単位であるスレッドをプロセッサ301に割り当てる制御を行なう。スレッドを割り当てるタイミングは、実行制御部111に含まれるスレッドスケジューラのアルゴリズムに基づく処理状況についての判断により決められる。実行制御部111の機能は、例えば、プロセススケジューラ又はスレッドスケジューラを含むOS22aに基づいて、プロセッサ301とRAM302が動作することにより実現される。クロックカウンタ112は、プロセッサ301の処理において回路の同期に用いられるクロックが動作する周期に応じて加算されるカウンタであり、プロセッサ301に備えられている。プロセッサ301がマルチコアであれば、各コアについてカウンタが備えられる。マルチコアである場合には、各コアにおける動作量は、各コアに設けられたカウンタに基づいて計測される。以下の説明において特にことわらない限り、プロセッサ301が1つのコアを含む場合を例に挙げて説明する。クロックカウンタ112は、あるタイミングにおいて、プロセッサ301がそのタイミングまでにどれだけの動作を行なったかを示す。例えば、クロックカウンタ112は、ハードウェア21の起動時に計数を開始し、プロセッサ301の動作周波数で時間が1周期経過するたびに1パルスごとに、クロックカウンタ112用に設けられたレジスタに例えば1bitずつ加算するなどの制御を行なう。クロックカウンタ112の値を格納するレジスタは、例えば、32bitや64bitなどのサイズの領域を設ける。以下の説明においては、読出し命令により読みだされたクロック値が、変数clk1として扱われる。読出処理部113は、実行制御部111によるスケジューリングのうち、プロセス又はスレッドを生成、起動実行状態にさせる、停止休眠状態にさせる又は終了させる制御に応じて、プロセッサ301に備えられたクロックカウンタ112から、クロック値を読み出す処理を行なう。読出し処理部113の機能は、例えば、プロセッサ301が、スケジューリング制御を実行させる命令群に読出し命令を追加されたOS22aに基づく制御を実行することにより実現される。この読出し命令は、プロセッサ301に備えられたクロックカウンタ112の値を読み出す命令であって、例えば、Performancemonitoring機構CPU種毎に実装などである。算出部114は、実行制御部111の制御に応じて、読出処理部113により読みだされたクロック値clk1を用いた演算数式2~4参照を行なう。例えば、算出部114は、実行制御部111によるプロセス又はスレッドの生成又は起動に応じて読出処理部113がクロック値clk1を読み出した場合には、変数clk0にクロック値を代入する演算数式2参照を行なう。また、算出部114は、実行制御部111によるプロセス又はスレッドの停止又は終了に応じて読出処理部113がクロック値clk1を読み出した場合には、クロック値clk1と、値clk0との差分dを算出する数式3参照。さらに、例えば、算出部114は、クロック値clk1と値clk0との差分dを積算値Sに積算する演算数式4参照を行なう。この積算値Sは、後述の記憶制御部115により、記憶部12に対して書込みと読出しが行なわれる値である。値clk0と積算値Sの初期値は、例えば0などの値である。また、数式2~4に含まれる=は、等号ではなく、代入を示す演算子である。clk0=clk1数式2d=clk1-clk0数式3S=Sd数式4算出部114の機能は、OS22aによるプロセス又はスレッドのスレッド制御スレッドの生成、起動、停止、終了の制御の際に、プロセッサ301にクロック値clk1に基づいて、数式2~4の演算を実行させることにより実現される。クロック値clk0、クロック値clk1は、それぞれプロセッサ301内のレジスタなどに格納される。記憶制御部115は、実行制御部111に応じて記憶部12に記憶されたデータの読み出し、書き込みを行なう。例えば、記憶制御部115は、記憶部12から、プロセス又はスレッドの停止又は終了制御に応じて、停止又は終了制御の対象のプロセス又はスレッドのコンテキストを読み出す。コンテキストは、それぞれのプロセス又はスレッドに関する情報であり、それぞれのプロセス又はスレッドに対応する積算値Sを含む。この記憶制御部115の機能は、プロセッサ301が、RAM302に格納された、停止又は終了制御の対象となるプロセス又はスレッドに対応するプロセスコンテキスト又はスレッドコンテキストから積算値Sを読み出すことで実現される。また、例えば、記憶制御部115は、算出部114によって算出された積算値Sと、実行制御部111で停止又は終了されるプロセス又はスレッドとを関連付けた情報と、を記憶部12に記憶させる。記憶制御部115の機能は、プロセッサ301が、プロセッサ301の数式3及び数式4の演算により算出された積算値Sを、RAM302に格納された、停止又は終了されるプロセス又はスレッドに対応するプロセスコンテキスト又はスレッドコンテキストに書き込むことにより実現される。さらには、例えば、実行制御部111によるプロセスまたはスレッドの起動または生成においては、記憶制御部115は、プロセッサ301の数式2の演算により算出された値clk0を、起動または生成されるプロセスコンテキストまたはスレッドコンテキストに格納する。また、他の方法では、記憶制御部115は、算出部114が差分dを算出するたびに、算出された差分dを対応するプロセスコンテキストまたはスレッドコンテキストに格納する。同じプロセスまたはスレッドが複数回実行された場合には、差分dが同じプロセスコンテキストまたはスレッドコンテキストに複数格納される。処理部11に含まれる実行部110、実行制御部111、クロックカウンタ112、読出処理部113、算出部114及び記憶制御部115の上記の処理により、プロセッサ301で実行されるプロセス又はスレッドごとに、プロセス又はスレッドの処理に要したクロック数が計測される。図3に示した各ハードウェアについて、さらに以下に説明する。RAM302は読み書き可能なメモリ装置であって、例えば、SRAMStaticRAMやDRAMDynamicRAMなどの半導体メモリ、またはRAMでなくてもフラッシュメモリなどが用いられる。ROM303は、PROMProgrammableROMなども含む。ドライブ装置304は、記録媒体305に記録された情報の読み出しか書き込みかの少なくともいずれか一方を行なう装置である。記録媒体305は、ドライブ装置304によって書き込まれた情報を記憶する。記録媒体305は、例えば、ハードディスク、CDCompactDisc、DVDDigitalVersatileDisc、ブルーレイディスクなどの記録媒体である。また、例えば、コンピュータ1は、複数種類の記録媒体それぞれについて、ドライブ装置304及び記録媒体305を設ける。入力装置311は、操作に応じて入力信号を送信する装置である。入力信号は、例えば、キーボードやコンピュータ1の本体に取り付けられたボタンなどのキー装置や、マウスやタッチパネルなどのポインティングデバイスである。出力装置は、コンピュータ1の制御に応じて情報を出力する装置である。出力装置は、例えば、ディスプレイなどの画像出力装置や、スピーカーなどの音声出力装置などである。また、タッチスクリーンなどの入出力装置は、例えば、入力装置311及び出力装置312として用いられる。図4~6に基づいて、スレッド制御の際のデータ読出しの関係について説明する。図4~6においては、マルチスレッド制御が行なわれる場合について説明しているが、マルチプロセス制御が行なわれる場合であっても、データ読出しの関係は同様である。図4は、実行部110及びクロックカウンタ112と、記憶部12に格納されたスレッドコンテキストとのデータ読出しの関係を示す。実行制御部111は、スレッドスケジューラに基づいて、スレッドの起動を行なうスレッドが存在しない場合にはスレッドの生成を行なう。実行制御部111のスレッド起動処理中に読出処理部113は、クロックカウンタ112からクロック数の読み出し処理を行なう矢印1、2。読み出したクロック数clk1は、算出部114及び記憶制御部115の処理により、起動時クロック数clk0として、図5に示すスレッドコンテキストT1に書き込まれるclk0の書き込み:矢印3。スレッドの起動が完了すると、実行部110は、図5に示すスレッドコンテキストに含まれる情報に基づいて、起動されたスレッドについての処理を行なう。図5は、スレッドコンテキストT1のデータ構造の一例を示す。スレッドコンテキストT1は、プロセッサ301がスレッドの処理に用いられる処理情報と、スレッドの管理情報と、を含む。処理情報は、プログラムカウンタ、スタックポインタなどのデータ読み出し位置を指定する情報である。実行部110は、スレッドコンテキストT1中の情報に指定されたプログラムカウンタ、スタックポインタなどに基づいて処理を行なう。スレッドの管理情報は、スレッドのID、時刻情報スレッドが起動された時刻t0、スレッド処理時間の積算値Stなど、クロック数情報スレッドが起動された際のクロック数clk0、スレッド処理に要したクロック数の積算値Sを含む。マルチプロセス制御に用いるプロセスコンテキストは、例えば、図5に示すスレッドコンテキストと同様のデータ構造図を有し、スレッドIDではなくプロセスIDを含む。また、プロセスコンテキストは、例えば、さらに、プロセス内で動作するスレッドを示す情報を含む。実行制御部111は、他のスレッドへの切り換えなどにより、スレッドの停止処理を行なう。記憶制御部115は、スレッドの停止処理において、プログラムカウンタ、スタックポインタなどの処理情報をスレッドコンテキストT1に保存する。スレッド停止処理中に、読出処理部113は、クロックカウンタ112からクロック数の読み出し処理を行なう矢印4、5。算出部114及び記憶制御部115は、読み出したクロック数clk1と、起動処理時にスレッドコンテキストT1に書き込んだクロック数clk0の取得:矢印6とに基づいて、積算値Sを算出して、スレッドコンテキストT1に書き込む矢印7。コンピュータ1は、上述の処理により、矢印12の読み出し時点から、矢印45の読み出し時点までのクロック数をスレッドコンテキストに反映させることができる。図6は、スレッドが複数存在する場合のデータ読出しの関係を示す。図6のスレッドaで示す期間は、スレッドaについてのスレッド起動、スレッドの処理及びスレッド停止の処理に要する期間を示す。スレッドaの起動及び停止における記憶制御部115の書き込み処理は、スレッドコンテキストaに対して、矢印12で読みだしたクロック数に基づいて行なわれる。スレッドコンテキストaは、スレッドaに関するスレッドコンテキストである。また、スレッドbの起動及び停止における記憶制御部115の書き込み処理は、スレッドコンテキストbに対して、矢印34で読みだしたクロック数に基づいて行なわれる。スレッドコンテキストbはスレッドbに関するスレッドコンテキストである。さらに、スレッドbについての処理後に、再度スレッドaの処理が行なわれた場合には、スレッドaの起動及び停止における記憶制御部115の書き込み処理は、スレッドコンテキストaに対して、矢印56で読みだしたクロック数に基づいて行なわれる。上記の記憶制御部115によりスレッドコンテキストに含まれる積算値Sが更新されることで、スレッドごとに処理に要したクロック数が計測される。また、本実施形態において、プロセッサ301の動作周波数は変動する。例えば、矢印Xで示した時点でプロセッサの動作周波数が変化したとすると、矢印12間と矢印56間とでは、プロセッサ301の動作周波数が異なる。すなわち、単位時間当たりの動作量が異なる。したがって従来のプロセッサ301を占有する時間を計測する方法により、矢印12間の時間と矢印56間の時間とに基づいてプロセッサ301の負荷を評価すると、単位時間あたりの実際の動作量が異なるので不整合が生じてしまう。しかしながら、本実施形態においては、動作周波数が変動する場合にも、変動前後の矢印12間と矢印56間とについて、実際にプロセッサ301が動作した量を計測できる。図7は、スレッドごとに処理に要したクロック数をカウントするための処理部11の制御フローを示す。この制御は、例えば、プロセッサ301がOS22aに基づいて行なう制御である。プロセスごとに処理に要するクロック数をカウントする場合も図7と同様のフローが行なわれる。ただし、その場合はスレッドではなく、プロセスを対象として制御が行なわれる。まず実行制御部111は、スレッド制御のイベントが発生したか否かを判断するS11。実行制御部111によりイベントが発生したと判断された場合S11:Yesに、実行制御部111は、スレッドの終了または停止の処理S12を開始する。このS12の処理については後述する。また、S12の処理が終わると、実行制御部111は、スレッド生成または起動の処理S13を開始する。S13の処理についても後述する。スレッド制御のイベントを発生させる判断は、実行中のスレッドの処理が完了する場合や、他のスレッドによる割り込みが発生した場合などのプロセッサ301に割り当てられる処理の状況に応じて、OS22aに含まれるマルチスレッドのスケジューラによって行なわれる。図8は、前述のスレッド停止または終了の処理S12の処理例を示す。まず、実行制御部111は、発生したイベントがスレッド停止であるか否かを判断するS21。発生したイベントが、スレッド停止ではない場合S21:Noには、実行制御部111は、発生したイベントがスレッド終了であるか否かを判断するS29。イベントの発生やイベントの発生に応じて行なう処理は、OS22aに含まれるマルチスレッドのスケジューラによって、割り込みが起きたか否か、スレッドを処理が終了したか、などの状況に基づいて判断される。発生したイベントがスレッド停止である場合S21:Yesには、実行制御部111は、プロセッサ301が処理中のスレッドについて命令の読み出しを行なうことを停止するS22。S22の処理後、実行制御部111は、命令の読み出しを停止されたスレッドに関する処理情報を取得する。例えば、実行制御部111は、プロセッサ301のプログラムカウンタとスタックポインタの値を読み出す。さらに、実行制御部111は、記憶制御部115に、読み出した処理情報を、記憶部12に記憶された、停止処理中のスレッドに対応するスレッドコンテキストに記憶させる制御を行なうS23。S23の処理が行なわれた場合に、読出処理部113、算出部114及び記憶制御部115の処理により、S24~S27の停止処理中のスレッドのクロック数の更新処理が行なわれる。まず、読出処理部113が、クロックカウンタ112からクロック値clk1を読み出しS24、記憶制御部115が、停止処理中のスレッドに対応するスレッドコンテキストから、起動時クロック値clk0と積算値Sとを読み出すS25。このS25の処理は、S24よりも先に行なわれてもよい。算出部114は、S24、S25で読み出したクロック値clk1と起動時クロック値clk0と積算値Sとを用いて、数式3及び数式4の演算を行なって、積算値Sを更新するS26。記憶制御部115は、更新された積算値Sを、記憶部12の停止処理中のスレッドに対応するスレッドコンテキストに記憶させるS27。S27の処理を実行すると、S12の処理が終了するS28。S29の判断の結果、発生したイベントがスレッド終了である場合S29:Yesには、読出処理部113、算出部114及び記憶制御部115の処理により、S30~S33の終了処理中のスレッドのクロック数の更新処理が行なわれる。S30~S33の処理は、S24~S27と同様の処理である。S33の処理後、記憶制御部115は、終了処理中のスレッドに対応するスレッドコンテキストに含まれるスレッドIDと積算値Sとを、記憶部12に含まれる別の記憶領域に記憶させるS34。これにより、スレッドコンテキストの記憶領域が解放されても、終了されたスレッドについての動作量を示すデータを残しておくことができる。S34の処理が終了した場合に、S12の処理が終了するS28。S29の判断の結果、スレッド終了でない場合S29:Noには、S12の処理が終了するS28。例えば、コンピュータ1が起動した直後にスレッドを立ち上げる場合などには、事前に処理中のスレッドがないため、S29の判断においてスレッド終了でないという判断が行なわれる。図9は、前述のスレッド生成または起動の処理S13の処理例を示す。まず、実行制御部111は、発生したイベントがスレッド起動であるか否かを判断するS41。発生したイベントがスレッド停止ではない場合S41:Noには、実行制御部111は、発生したイベントがスレッド終了であるか否かを判断するS47。イベントの発生やイベントの発生に応じて行なう処理は、OS22aに含まれるマルチスレッドのスケジューラによって、割り込みが起きたか否か、スレッドを処理が終了したか、などの状況に基づいて判断される。発生したイベントがスレッド起動である場合S41:Yesには、読出処理部113は、クロック値clk1をクロックカウンタ112から読み出すS42。S42の処理の処理によりクロック値clk1が読み出されると、算出部114は数式2に基づいて、変数clk0にクロック値clk1を代入する。記憶制御部115は、値を代入されたclk0を、起動させるスレッドに対応するスレッドコンテキストに記憶させるS43。さらに、記憶制御部115は、記憶部12から、記憶させるスレッドに対応するスレッドコンテキスト内の処理情報を読み出すS44。処理情報は、起動させるスレッドの処理に用いられる情報であり、例えばプログラムカウンタやスタックポインタの値などである。S44の処理は、S42やS43の処理と前後しても構わない。S44の処理が行なわれると、実行制御部111は、S44で読み出した処理情報に基づく処理を実行部110に開始させるS45。S45の処理を行なうと、S13の処理は終了するS46。S47の判断の結果、発生したイベントがスレッド生成である場合S47:Yesには、実行制御部111はスレッドコンテキストの生成を行なうS48。S48の処理において、実行制御部111の指示に基づいて、記憶制御部115は、記憶部12にスレッドコンテキストを記憶する記憶領域を決定し、生成されるスレッドのスレッドIDをその記憶領域内に記憶させる。また、読出処理部113は、クロックカウンタ112からクロック値clk1を読み出すS49。S49の処理は、S48の処理よりも前に行われてもよい。S49の処理の処理によりクロック値clk1が読み出されると、算出部114は数式2に基づいて、変数clk0にクロック値clk1を代入する。記憶制御部115は、値を代入されたclk0を、起動させるスレッドに対応するスレッドコンテキストに記憶させるS50。S50の処理が行なわれると、実行制御部111は、実行部110による処理を開始させるS51。S51の処理を行なうと、S13の処理は終了するS46。S13の処理が終了すると、実行制御部111は、S11の処理を行ない、スレッド制御のイベントの発生を検知する。コンピュータ1が上記の処理を実行することにより、コンピュータ1で動作するスレッドまたはプロセスごとに、プロセッサが処理に要したクロック数が計測される。プロセッサの動作により電力が消費されるので、プロセッサが実際に動作した量を計測することは、プロセッサの消費電力などのプロセッサの動作に要したコストの推定に有用である。例えば、占有時間に応じてプロセッサの消費電力を見積もる従来の方法では、動作周波数の変動前後で消費電力に不整合が生じてしまう。その一方、上記の処理によれば、プロセッサの実際の動作量を取得しているため、プロセッサの動作周波数に変動があっても変動した動作周波数に応じて消費される電力値を見積もることができる。本実施形態では、プロセスやスレッドごとに、処理に要したクロック数を測定することができるので、プロセスやスレッドごとの消費電力の推定に有用な動作量が把握可能となる。また、コンピュータ1は、プロセッサの動作に要したコストの量として、消費電力以外にも、例えば、プロセッサが消費する電力の発電により生じた二酸化炭素の量、プロセッサから発熱される熱量などについてプロセッサの動作量に応じて推定する。消費電力の推定値は、例えば、プロセッサの1クロック当たりの消費電力量を予め算出しておき、本実施形態により計測したクロック数と、予め算出した1クロック当たりの消費電力量との乗算により算出される。二酸化炭素量の推定値についても同様に、例えば、予め算出したプロセッサの1クロック当たりの排出二酸化炭素量と、本実施形態により計測したクロック数との乗算により算出される。また、例えば、排出二酸化炭素量の算出において、プロセッサに共有される電力の発電形態に応じて、本実施形態により計測されるクロック数に乗じる値の切り替えが行なわれる。例えば、化石燃料を用いた発電と、自然エネルギーを用いた発電とで、2種類の値が用いられる。プロセッサから発生する熱量についても同様に、例えば、予め算出したプロセッサの1クロック当たりの発熱量を示す値をクロック数に乗算するなどの演算により求めることができる。また、プロセッサは、プロセッサ内の回路への充放電に加えてリーク電流によっても電力を消費する。そのため、一つの例としては、実行部110は、電力消費を算出する場合に、リーク電流による消費電力量を、クロック数に基づいて求められた消費電力量に合算し、合算した値を出力する。リーク電流による消費電力量は、例えば、処理部10によるクロック数の計数と同様の処理により、プロセスやスレッドごとに、処理に要した時間が計測され、計測された時間に、実行部110が、リーク電流による単位時間当たりの消費電力量を乗算することで算出される。その際、処理部10に含まれる読出部113は、クロックカウンタ112からクロック数を読み出す際に、タイマから時刻情報を取得する。さらに、実行制御部111、記憶制御部115は、クロック数の計数と同様の処理を行ない、プロセスコンテキストまたはスレッドコンテキストに、処理に要した積算時間を格納する。第2の実施形態について、以下に説明する。第2の実施形態においては、第1の実施形態のコンピュータ1が用いられる。第2の実施形態においては、コンピュータ1において動作するアプリケーションプログラム23cにより、アプリケーションプログラム23a、23bの処理によるプロセッサ301の動作量の可視化処理が行なわれる。実行部110は、アプリケーションプログラム23cに基づいて、例えば以下に説明する可視化処理を行なう。図10a-cは、プロセスとスレッドの関係を示すテーブルT2a-T2cを示す。図10aのテーブルT2aは、プロセスIDがA-1であるプロセスが、スレッドIDaのスレッドを含むプロセスであることを示す。図10bのテーブルT2bは、プロセスIDがB-1であるプロセスが、スレッドIDbのスレッドと、スレッドIDcのスレッドと、を含むプロセスであることを示す。図10cのテーブルT2cは、プロセスIDがA-2であるプロセスが、スレッドIDdのスレッドを含むプロセスであることを示す。図10bに示すように、1つのプロセスにおいて、2つ以上のスレッドが生成されることもある。プロセスとスレッドの関係を示すテーブルは、図10a-cに限らず、コンピュータ1で動作するプロセスそれぞれについて生成される。図11は、プログラムとプロセスとの関係を示すテーブルを示す。テーブルT2には、コンピュータ1で実行中または過去に実行されたプログラムと、各プログラムの処理単位であるプロセスとを対応付けた情報である。テーブルT2及びテーブルT3は、記憶部12に記憶される。図11では、プログラムIDAとプロセスIDA-1及びA-2とが関連付けられており、プログラムIDBとプロセスIDB-1及びB-2とが関連付けられており、プログラムIDCとプロセスIDC-1が関連付けられている。ちなみに、アプリケーションプログラム23aのプログラムIDがAであり、アプリケーションプログラム23bのプログラムIDがBであり、アプリケーションプログラム23cのプログラムIDがCであるとする。実行部110は、コンピュータ1で動作するプログラム、プロセス、スレッドの情報を抽出し、プロセスとスレッドとの関係を示すテーブルT2と、プログラムとプロセスの関係を示すテーブルT3と、を更新する。この更新は、定期的、コンピュータ1に行なわれる操作に応じたタイミング、予め定められたタイミングなどのタイミングで行なわれる。実行部110は、更新するタイミングになると、各プロセスのプロセスコンテキスト内に格納されたスレッドIDを取得し、取得したスレッドIDを各プロセスに対応するテーブルT2に格納することで、テーブルT2を更新する。また、実行部110は、更新するタイミングになると、実行制御部111がプロセス制御に用いるプロセス管理テーブル不図示に格納されたプロセスIDを取得し、取得したプロセスIDを各プログラムに対応づけてテーブルT3に格納して、テーブルT3を更新する。さらに、実行部110は、コンピュータ1で実行された各スレッドコンテキスト又は各プロセスコンテキスト内の積算値Sを収集して、収集した積算値SとテーブルT2、T3とに基づいてコンピュータ1で動作するプログラムそれぞれの動作量を算出する。プロセスコンテキストまたはスレッドコンテキストに、積算値Sでなく、差分dを複数格納している場合には、プロセスコンテキストまたはスレッドコンテキスト内に記憶された差分dの総和を算出し、その総和を積算値Sとして取り扱う。各プログラムについての動作量は、例えば図12に示テーブルT4で管理される。テーブルT4においては、各プログラムのプログラムIDと、そのプログラムについてのプログラム動作量Tとが関連付けられている。図13は、各プログラムのプログラム動作量Tを算出するフローを示す。この処理は、実行部110がアプリケーションプログラム23cに従って行なう処理である。プログラム動作量Tの算出は、テーブルT2、T3の更新と同様に、定期的、コンピュータ1に行なわれる操作に応じたタイミング、予め定められたタイミングなどのタイミングで行なわれる。S61の処理においては、そのタイミングであるか否かが判断される。実行部110は、プログラム動作量T算出のタイミングであると判断された場合S61:Yesに、テーブルT3に示されるプログラムIDのうち、未選択のプログラムIDを選択するS62。実行制御部110は、S62で選択されたプログラムIDについての動作量を示す変数DをクリアするS63。S63の処理はS62の処理よりも前に行なわれてもよい。次に、実行部110は、テーブルT3で、S62で選択されたプログラムIDに関連づけられたプロセスIDのうち、未選択のプロセスIDを選択するS64。S64の処理後、実行部110は、テーブルT2で、S64で選択されたプロセスIDに関連付けられたスレッドIDのうち、未選択のスレッドIDを選択するS65。実行部110は、S65で選択されたスレッドIDに対応するスレッドコンテキストから積算値Sを読み出すS66。S66の処理後、実行部110は、変数Dの値を、S66で読みだした積算値Sと変数Dとの合計に更新するS67。すなわち、実行部110は、D=DSの演算を行なう。この場合の=は代入を示す演算子である。この際、実行部110はスレッドコンテキストに含まれる積算値SをクリアS=0するS68。S68の処理後、実行部110は、テーブルT2で、S64で選択されたプロセスIDに関連付けられたスレッドIDのうち、未選択のスレッドIDがないかどうかを判断する。S68の判断の結果、未選択のスレッドIDがある場合S69:Noに、実行部110は、再度S65の処理を行なう。S69の判断の結果、未選択のスレッドIDがない場合S69:Yesに、実行部110は、テーブルT3で、S62で選択されたプログラムIDに関連付けられたプロセスIDのうち、未選択のプロセスIDがないかどうかを判断するS70。S70の判断の結果、未選択のプロセスIDがある場合S70:Noに、実行部110は、再度S64の処理を行なう。S70の判断の結果、未選択のプロセスIDがない場合S70:Yesに、実行部110は、テーブルT4で、選択されたプログラムIDに関連付けられたプログラム動作量Tを更新するS71。すなわち、実行部110は、T=TDの演算を行なう。この場合の=は代入を示す演算子である。S72の処理後、実行部110は、テーブルT3に示されるプログラムIDのうち、未選択のプログラムIDがないかどうかを判断する。S72の判断の結果、未選択のスレッドIDがある場合S72:Noに、実行部110は、再度S62の処理を行なう。S72の判断の結果、未選択のプログラムがない場合S72:Yesに、実行部110は、表示処理を要求されたか否かを判断するS73。これは、例えば、ユーザから表示要求を入力された場合、他の装置から表示要求を受信した場合などに、表示処理が要求されたと判断する。表示処理が要求されない場合S73:Noには、実行部110は、処理を終了するS75。S73の判断の結果、表示処理が要求されたと判断された場合S73:Yesに、例えば、図15に示す画面情報41を生成するS74。実行部110は、ユーザから表示要求が受信された場合には、生成された画面情報41を出力装置312に表示させ、他の装置から表示要求を受信した場合には、表示要求の送信元の装置に画面情報41を送信する。図15に示す画面情報41は、各アプリケーションについてのクロック数と、消費電力と、二酸化炭素消費量と、を示す情報を含む。各アプリケーションについての消費電力と、二酸化炭素排出量と、については、第1の実施形態で説明したように、例えば、1クロック当たりの消費電力値、二酸化炭素排出量のそれぞれについてプログラム動作量Tを乗じることで算出される。第3の実施形態について以下に説明する。第3の実施形態においては、第1の実施形態のコンピュータ1のハードウェアが用いられる。第3の実施形態は、第1の実施形態、第2の実施形態とソフトウェア構成が異なる。図16は、第3の実施形態におけるコンピュータ1のソフトウェア構成例を示す。コンピュータ1で複数の仮想マシン26a-cが動作し、各仮想マシンの処理を実行するためのハードウェア21の制御がハイパーバイザ22bにより行なわれる。第3の実施形態においても、コンピュータ1は、実行部110、実行制御部111、クロックカウンタ112、読出し処理部113、算出部114、記憶制御部115を含む。第3の実施形態のハイパーバイザ22bに基づく処理により、プロセッサ301は、第1の実施形態の実行制御部111、読出し処理部113、算出部114及び記憶制御部115の機能を実現する。第3の実施形態においては、各仮想マシンについての処理の処理単位であるプロセスやスレッドについてのプロセッサ301の動作量が、ハイパーバイザの制御によりカウントされる。第3の実施形態においては、仮想マシン26cは、動作量管理の仮想マシンである。その場合の仮想マシン26cに基づく実行部110の処理について、図17に基づいて以下に説明する。まず、実行部110は、第2の実施形態おけるS61~S72の処理と同様に、アプリケーションプログラムごとに動作量を計測する処理を行なうS81。次に、実行部110は、図18に示す仮想マシン管理テーブルT5に含まれる仮想マシンの識別情報VMIDのうち、未選択のVMIDを選択するS82。ここで、仮想マシン26aのVMIDをXとし、仮想マシン26bのVMIDをYとし、仮想マシン26cのVMIDをZとする。S82の処理が行なわれると、仮想マシンごとの動作量を示す変数UをクリアするS83。さらに、実行部110は、図18の仮想マシン管理テーブルT5において、S82で選択されたVMIDに関連付けられたプログラムのうち、未選択のプログラムを選択するS84。実行部110は、S84で選択されたプログラムについてのプログラム動作量TをテーブルT4から読み出し、読みだしたプログラム動作量Tに基づいて変数Uを更新する。例えば、実行部110は、変数Uとプログラム動作量Tとの和を、変数Uに代入して変数Uを更新する。S84の処理を行なうと、実行部110は、図18の仮想マシン管理テーブルT5において、S82で選択されたVMIDに関連付けられたプログラムのうち、未選択のプログラムが無いかどうかを判断するS86。S86の判断の結果、未選択のプログラムがある場合S86:Noには、実行部110は、再度S84の処理を行なう。S86の判断の結果、未選択のプログラムがない場合S86:Yesには、実行部110は、変数Uの値と、S82で選択したVMIDと、を関連付けて図19に示すテーブルT6に記憶するS87。S87の処理後、実行部110はテーブルT5に含まれるVMIDのうち、未選択のVMIDがないかどうか判断するS88。S88の判断の結果、未選択のVMIDがある場合S88:Noには、実行部110は、S82の処理を再度行なう。S88の処理の結果、未選択のVMがない場合S88:Yesには、実行部110は、第2の実施形態のS73、S74の処理を行なうS89。例えば、要求に応じて画面情報を生成し、生成した画面情報の送信、または生成した画面情報の表示処理を行なう。図20に、第3の実施形態における画面情報の例を示す。画面情報42は、仮想マシン26aを利用するユーザ向けに仮想マシン26の動作量を示す画面情報である。図20に示すごとく、各月の使用状況を含む画面情報を生成するために、例えば、実行部110は、各月の終わりにテーブルT6を別の記憶領域にコピーし、テーブルT6に含まれるVM動作量の情報をクリアすることを行なう。さらに、実行部110は、画面情報を生成する場合には、表示対象のVMIDについて、テーブルT6に記憶されたVM動作量と、別の記憶領域に記憶された過去の月のVM動作量と、を読み出す。第2の実施形態と同様に、実行部110は、読みだしたVM動作量のそれぞれに、1クロック当たりの消費電力量、1クロック当たりの二酸化炭素排出量を乗算して、各月の消費電力と二酸化炭素排出量とを算出する。各月の課金額は、例えば、消費電力と同様に1クロック当たりの課金額とクロック数との乗算により算出された値、予め行なわれた契約などで定められる。第4の実施形態について以下に説明する。第4の実施形態においては、第3の実施形態と同様に仮想マシンがコンピュータ1で動作し、コンピュータ1で動作する各仮想マシンの処理を行なうハードウェア21を制御するドライバの機能を有する仮想マシンが、さらにコンピュータ1で動作する。一方、第3の実施形態においては、例えば、ハイパーバイザ22bがドライバ機能を有している。また、第3の実施形態と同様に、仮想マシン26cは、例えば、動作量管理の仮想マシンなどである。図21は、第4の実施形態のコンピュータ1におけるソフトウェア構成例を示す。図16に示す第3の実施形態のソフトウェア構成に加えて、ドライバVM27aとドライバVM27bとが動作している。VM26aに関する処理を行なうハードウェアはドライバVM27aに基づいて制御される。また、VM26bに関する入出力を行なうハードウェアはドライバVM27bに基づいて制御される。図22のテーブルT7は、第4の実施形態の仮想マシン管理テーブルを示す。仮想マシン管理テーブルT7は、コンピュータ1で動作する仮想マシンドライバVMを含むのIDと、各仮想マシンで動作するプログラムのIDと、を関係づけたデータを格納するテーブルである。仮想マシン管理テーブルにおいて、ドライバVM27aのIDはXXであり、ドライバVM27bのIDはYYである。また、仮想マシン管理テーブルT7では、VM間対応関係も示している。例えば、仮想マシン管理テーブルT7は、対応関係を示す情報として、VMIDXXと関連付けられたVMIDXを含む。この情報により、VMIDがXXである仮想マシンが、VMIDXの仮想マシンについての処理を行なう仮想マシンであることが示される。第4の実施形態においては、仮想マシン26cに基づいて実行部110が図17のフローを実行する。第3の実施形態と異なり、S82では、ドライバVM26a、26b、26cも選択される。実行部110がS82~S88のフローを実行することで、コンピュータ1で動作する各仮想マシンについての動作量が算出される。図23は、各仮想マシンについての動作量を示す。さらに、図17のS89のフローにおいて、実行部110は、前述の表示処理を行なう。第4の実施形態においては、実行部110は、仮想マシン管理テーブルT7に対応関係を示される仮想マシンについては、対応関係を示された仮想マシン同士の動作量の和を算出して、算出した和を表示する。第4の実施形態で、上記の処理を行なうことで、プロセッサにより行なわれる計測対象のプログラムに関する演算処理に加え、プロセッサにより行なわれるハードウェア制御についての動作量も計測できる。また、消費電力を算出する際に乗じる係数は、例えば、仮想マシン26a~cの動作量に乗じる係数とドライバVM27a,bに乗じる係数とで、異なる値を用いる。その場合には、例えば、さらに、ドライバVM27a,bについて各ドライバに制御される各ハードウェアの消費電力も含めた係数が設定される。以下に第5の実施形態について説明する。第5の実施形態は、例えば、第1の実施形態のコンピュータ1を含む図24のシステムにおいて実施される形態である。図24に例示されるシステムは、コンピュータ1と、コンピュータ2と、中継装置3と、中継装置4と、ネットワーク5と、を含む。コンピュータ1は、第1~4の実施形態のコンピュータ1と同様のハードウェア構成と機能構成を有する。コンピュータ2は、例えば、コンピュータ1と同様のハードウェア構成を有するコンピュータである。中継装置3は、コンピュータ1とネットワーク5との間で通信の中継を行なう装置である。中継装置3は、コンピュータ2とネットワーク5との間で通信の中継を行なう装置である。また、例えば、コンピュータ2が、コンピュータ1で動作する仮想マシンによりサービスを提供されるコンピュータである。また、サービスを提供されるコンピュータは、図24に示されるコンピュータ2でなくても、例えば、不図示の複数のコンピュータに対してサービスが提供される。第5の実施形態においては、サービスの提供先ごとにプロセッサ301の動作量の計測を行なう。サービスの提供先ごとの計測とは、サービスの提供を要求するアクセス元に関して行なわれる処理ごとに行なわれるプロセッサ301の動作量についての計測である。例えば、サービスの認証を受けたユーザ単位ユーザIDなどで識別されるアカウント単位や、サービスに関する要求の送信元IPアドレスなどの単位で行なわれる処理についてのコンピュータ1の動作量の計測である。図25は、コンピュータ1のソフトウェア構成例を示す。コンピュータ1では、第3の実施形態と同様に、ハイパーバイザ22bと、仮想マシン26a~cが動作する。第5の実施形態においては、仮想マシン26aは、OS28aとアプリケーションプログラム29aとアプリケーションプログラム29bとを含み、仮想マシン26bは、OS28bとアプリケーションプログラム29cとアプリケーションプログラム29dとを含む。仮想マシン26a、26bともに、図25に示すソフトウェア構成に限定するものでなく、他のアプリケーションプログラムもコンピュータ1で動作しうる。第5の実施形態においては、アプリケーションプログラム29aに基づいて、他のコンピュータへのサービスの提供を行なわれ、アプリケーションプログラム29bに基づいて仮想マシン26aに含まれるアプリケーションプログラムによる動作量の管理が行なわれる。また、OS28aは、第1の実施形態のOS22aと同様に、OS28a上で動作するアプリケーションプログラムに応じたハードウェア制御を行なうためのソフトウェアであって、OS28a上で動作する各アプリケーションプログラムについて動作量をカウントさせる。しかしながら、第5の実施形態では、第1の実施形態と異なり、OS28aによる制御は、ハードウェア21をエミュレートするハイパーバイザ22bに対する制御となる。ハードウェア21は、ハイパーバイザ22bの制御に応じて処理を実行する。図26は、計測対象となる単位の切り替えタイミングを示すシーケンス図である。すなわち、図26に示される切り替タイミングとは、アプリケーションプログラム29aにおける処理の対象となる単位の切り替え、OS28aにおける処理対象のアプリケーションプログラムの切り替え、HV22bにおける処理対象のVMの切り替え、などである。アプリケーションプログラム29aにおける処理の対象となる単位とは、サービスアプリケーションプログラム26aにより提供されるによって識別される単位ユーザアカウント、アドレスなどの処理の対象となる単位で、図26においては、CLIDという識別情報で識別される。識別情報CLIDは、例えば、ユーザID、処理要求の送信元アドレスなどである。ハイパーバイザ22bにより、処理対象のVMの切り替えが行なわれる。ハイパーバイザ22bにより、VM26aの処理が行なわれる期間に、OS28aが処理対象とするアプリケーションプログラムの処理が行なわれる。OS28bにより、処理対象のアプリケーションの切り替えが行なわれる。処理対象のアプリケーションの切り替えとは、実質的に、第1の実施形態において説明したように、プロセスまたはスレッドの切り替えにより行なわれる。OS28bの制御により、プロセスまたはスレッドの切り替えプロセスまたはスレッドについての停止、終了、起動、生成などを含むに応じて、クロックカウンタの値が読み出される。このとき読み出されるクロックカウンタの値は、ハイパーバイザ22bによりエミュレートされたクロックカウンタであり、VM26aに関する処理に要したクロック数をカウントして得られる値である。アプリケーションプログラム29aにより、処理対象の単位の切り替えが行なわれる。図26においては、識別情報CLIDがC1の単位から、C2の単位に切り替えられるX1。アプリケーションプログラム29aは、切り替えX1において、OSに対する切り替えの通知を実行させる。切り替えの通知は、切り替え先の単位の識別情報CLIDを含む。アプリケーション28aから切り替えの通知に応じて、OS28aによって、クロックのカウント処理及びカウンタ値の記憶場所変更が行なわれる。クロックのカウント処理については、アプリケーションの切り替えに応じたカウントと同様に行なわれる図7~9参照。カウンタ値の記憶場所変更は、クロック数の積算値Sを格納するスレッドコンテキストまたはプロセスコンテキストを切り替える処理である。後述するが、第5の実施形態においては、スレッドコンテキスト及びプロセスコンテキストは、処理対象の単位ごとに設けられる。図27、28は、第5の実施形態におけるプログラム、プロセス及びスレッドを管理するための管理テーブル例を示す。第5の実施形態においては、例えば、プログラム、プロセス及びスレッドが、処理対象ごとに管理される。すなわち、図5、11及び12に示すテーブルに含まれるプログラム、プロセス及びスレッドのIDのそれぞれに処理対象の識別情報CLIDが付加されて管理される。図27a-cは、プロセスとスレッドとの対応関係を示す。第5の実施形態においては、OS28aにより、プロセスIDとスレッドIDとの双方に、通知された識別情報CLIDが付加される。図28は、プログラムとプロセスとの対応関係を示す。第5の実施形態においては、OS28aにより、プログラムIDとプロセスIDとの双方に、通知された識別情報CLIDが付加される。OS28aにより、記憶場所変更が行なわれるにあたって、切り替え先の処理対象の単位について、図27、図28に示される情報がない場合については、アプリケーションプログラム29aからの通知に含まれる識別情報CLIDに基づいて、管理のための情報を生成する。例えば、図27、図28に示すプログラムとプロセスとの関係及びプロセスとスレッドとの関係を示す情報と、CLIDそれぞれに対応するスレッドコンテキスト及びプロセスコンテキストと、が生成される。また、アプリケーションプログラム29bは、第2の実施形態のアプリーションプログラム23cと同様に、例えば、OS28a上で動作するアプリケーションの動作量管理のアプリケーションプログラムである。アプリケーションプログラム29bにより、図29に示すテーブルT11が管理される。図29は、OS28a上で動作する各プログラムについて各処理単位の動作量を格納するテーブルを示す。アプリケーションプログラム29bにより、図27、図28に示される関係と、各スレッドコンテキストまたは各プロセスコンテキストに格納される積算値Sの情報に基づいて、図29のテーブルT11が更新される。これは図13、14に示すテーブルT4の更新と同様の処理で行なわれる。これにより、アプリケーションプログラム29aによって識別される処理対象の単位ごとに、処理に要したプロセッサ301の動作量が計測される。アプリケーションプログラム29bにより生成される画面情報は、例えば、対応する処理対象に対して、メールなどの手段により送信される。この画面情報とは、例えば図15や図20に示される、動作量の計測結果を示す画面情報である。これにより、サービスの提供を受けるユーザが、サービスの提供に要したプロセッサ301の動作量を把握可能となる。以上の第1の実施形態から第5の実施形態のいずれにおいても、1つの例においては、プロセッサ301のコアが複数設けられる。OSによって、プロセスまたはスレッドの制御に応じて、プロセスまたはスレッドが割り当てられるプロセッサのコアそれぞれに設けられたクロックカウンタから値を読み出すことにより、複数のコアのそれぞれで処理に要した動作量が算出される。以上の実施形態に関し、さらに以下の付記を開示する。付記1異なる周波数のクロック信号が供給され得るプロセッサを備えるコンピュータに、前記プロセッサへの割り当て制御の対象である処理単位の処理の開始制御に応じて、前記クロック信号のパルスを計数するクロックカウンタから読み出した第1の値と、前記処理の停止制御に応じて前記クロックカウンタから読み出した第2の値との差分を算出する、処理を実行させることを特徴とする算出プログラム。付記2前記コンピュータに、さらに、算出された前記差分に、単位クロック数当たりの所定種類のコスト値を示す係数を乗じて得られるコスト値を算出する、処理を実行させることを特徴とする付記1に記載の算出プログラム。付記3前記処理の停止制御の実行は、前記処理の処理過程における前記プロセッサの処理状況に応じて判断される、ことを特徴とする付記1または付記2に記載の算出プログラム。付記4前記コンピュータに、さらに、算出した前記差分を、前記処理単位を識別する識別情報と関連付けて記憶部に記憶する、処理を実行させることを特徴とする付記1~付記3のいずれか1つに記載の算出プログラム。付記5前記コンピュータに、さらに、前記処理単位の処理がさらに実行される場合に、さらに実行される処理の開始制御に応じて前記クロックカウンタから読みだされた第3の値と、前記さらに実行される処理の停止制御に応じて前記クロックカウンタから読みだされた第4の値との差分を算出し、前記第3の値と前記第4の値とに基づいて算出された前記差分を、前記識別情報と関連付けられて前記記憶部に記憶された前記差分に積算して得られる積算値を、前記識別情報に関連付けて前記記憶部に記憶する、処理を実行させることを特徴とする付記4に記載の算出プログラム。付記6前記コンピュータに、さらに、他の処理単位が実行される場合に、前記他の処理単位の処理の開始制御に応じて前記クロックカウンタから読み出した第5の値と、前記他の処理単位の前記処理の停止制御に応じて前記クロックカウンタから読み出した第6の値との差分を算出し、前記他の処理単位が前記処理単位と同じプログラムについての処理単位である場合に、前記第5の値及び前記第6の値に基づいて算出された差分と、前記積算値との和を、前記プログラムを識別するプログラム識別情報に関連付けて前記記憶部に記憶する、処理を実行させることを特徴とする付記5に記載の算出プログラム。付記7前記コンピュータに、さらに、前記プログラムに関する入力制御または出力制御のうち、少なくとも一方の制御を実行させるドライバプログラムの処理単位の処理が実行される場合に、前記ドライバプログラムの処理単位の処理の開始制御に応じて前記クロックカウンタから読み出した第7の値と、前記ドライバプログラムの前記処理単位の前記の停止処理の停止制御に応じて前記クロックカウンタから読み出した第8の値との差分を算出し、前記第7の値と前記第8の値とに基づく前記差分と、前記和との和を、前記プログラム識別情報と関連付けて前記記憶部に記憶する、処理を実行させることを特徴とする付記6に記載の算出プログラム。付記8前記処理単位は、マルチスレッド制御の対象となるスレッドであるか、マルチプロセス制御の対象となるプロセスであるか、または前記コンピュータへのアクセス元に関して行なわれる処理の単位である、ことを特徴とする付記1~7のいずれか1つに記載の算出プログラム。付記9異なる周波数のクロック信号が供給され得るプロセッサと、前記クロック信号を計数するクロックカウンタと、を含み、前記プロセッサが、前記プロセッサへの割り当て制御の対象である処理単位の処理の開始制御に応じて、前記クロックカウンタから読み出した第1の値と、前記処理の停止制御に応じて前記クロックカウンタから読み出した第2の値との差分を算出する、処理を実行することを特徴とするコンピュータ。付記10前記クロックカウンタが、前記クロック信号が前記プロセッサに供給されたパルスの数を計数する、ことを特徴とする付記9に記載のコンピュータ。付記11前記コンピュータは、さらにメモリを備え、前記プロセッサが、前記算出した前記差分を、前記処理単位を識別する識別情報と関連付けて前記メモリに記憶する、処理を実行することを特徴とする付記9または付記10に記載のコンピュータ。付記11異なる周波数のクロック信号が供給され得るプロセッサ、及びクロックカウンタを含むコンピュータが、前記クロックカウンタにより、前記クロック信号のパルスを計数し、前記プロセッサへの割り当て制御の対象である処理単位の処理の開始制御に応じて、前記クロックカウンタから読み出した第1の値と、前記処理の停止制御に応じて前記クロックカウンタから読み出した第2の値との差分を算出する、ことを実行させることを特徴とする算出方法。"