複数のプロセッサと、アプリケーションを前記複数のプロセッサに割り当てるスケジューラと、を含み、前記スケジューラは、対象アプリケーションの起動要求がある場合に、前記複数のプロセッサで実行されるアプリケーションの起動時刻に基づいて、前記対象アプリケーションを実行するプロセッサを選択することを特徴とするマルチコアプロセッサシステム。前記起動時刻は、前記プロセッサ毎にレジスタに記憶されることを特徴とする請求項1に記載のマルチコアプロセッサシステム。前記スケジューラは、前記起動時刻が最小であるアプリケーションを実行するプロセッサに前記対象アプリケーションを割り当てることを特徴とする請求項1または2に記載のマルチコアプロセッサシステム。前記スケジューラは、最小である前記起動時刻を前記対象アプリケーションの起動時刻に置き換えることを特徴とする請求項3に記載のマルチコアプロセッサシステム。前記対象アプリケーションの起動時刻に基づいて、前記複数のプロセッサの内の少なくとも一のプロセッサの動作クロックまたは共有資源へのアクセス頻度に関する情報が変更されることを特徴とする請求項1乃至請求項4の何れか一に記載のマルチコアプロセッサシステム。複数の動作クロックを生成するクロック生成回路を含み、前記対象アプリケーションを実行するプロセッサに前記複数の動作クロックの内で最も周波数の高い動作クロックが供給されることを特徴とする請求項1乃至請求項5の何れか一に記載のマルチコアプロセッサシステム。前記対象アプリケーションの起動から一定時間経過後、他のアプリケーションの起動指示を受け付けなかった場合、前記複数のプロセッサへ供給する動作クロックの周波数が同一周波数に変更されることを特徴とする請求項5または6に記載のマルチコアプロセッサシステム。前記対象アプリケーションの起動から一定時間経過後、他のアプリケーションの起動指示を受け付けなかった場合、前記複数の動作クロックの内で最も周波数の低い動作クロックが前記複数のプロセッサへ供給されることを特徴とする請求項7に記載のマルチコアプロセッサシステム。コンピュータが、前記複数のプロセッサで実行される複数のアプリケーションのそれぞれの起動時刻を登録し、対象アプリケーションの起動指示を受け取り、前記起動時刻に基づいて前記複数のプロセッサの中から前記対象アプリケーションを実行するプロセッサを選択することを特徴とするスケジューリング方法。前記起動時刻を前記複数のプロセッサのそれぞれに対応して設けられるレジスタに登録することを特徴とする請求項9に記載のスケジューリング方法。前記対象アプリケーションを実行するプロセッサに対応するレジスタに登録される起動時刻を前記対象アプリケーションの起動時刻に置き換えることを特徴とする請求項10に記載のスケジューリング方法。前記対象アプリケーションの起動時刻に基づいて、前記複数のプロセッサの内の少なくとも一のプロセッサの動作クロックまたはメモリへのアクセス頻度に関する情報を変更することを特徴とする請求項9乃至請求項11の何れか一に記載のスケジューリング方法。しかしながら、優先度や負荷に基づく対象アプリケーションの割当先CPUの決定や実行順序の決定では、必ずしもユーザが操作したいアプリケーションの応答がよいとは限らない問題点があった。ここで、携帯電話を例に挙げると、メーラや通話のアプリケーションの優先度は音楽再生ソフトやゲームアプリケーションの優先度よりも高く設定される。ユーザがメーラを起動中に音楽再生ソフトを起動させた場合、ユーザは起動直後の音楽の再生の操作を行うが、音楽再生ソフトの操作開始後すぐにメーラを操作する可能性は低い。しかしながら、マルチコアプロセッサのうち、メーラと音楽再生ソフトが同一CPUに割り当てられた場合、メーラが優先的に実行され、ユーザが操作したい音楽再生ソフトの実行が遅くなる問題点があった。また、優先度や負荷に基づいて対象アプリケーションの割当先CPUの決定を行う場合、各CPUの割当状態をプロセッサ間通信によって各CPUから集計しなければならないため、スケジューリングのオーバーヘッドが増大する問題点があった。本発明は、上述した従来技術による問題点を解消するため、ユーザが操作したいアプリケーションの応答性を向上させるとともに、スケジューリングによるオーバーヘッドを削減することができるマルチコアプロセッサシステム、およびスケジューリング方法を提供することを目的とする。本発明の一観点によれば、複数のプロセッサで実行される複数のアプリケーションのそれぞれの起動時刻を登録し、対象アプリケーションの起動指示を受け取り、起動時刻に基づいて複数のプロセッサの中から対象アプリケーションを実行するプロセッサを選択するマルチコアプロセッサシステム、およびスケジューリング方法を提供することができる。本マルチコアプロセッサシステム、およびスケジューリング方法によれば、ユーザが操作したいアプリケーションの応答性を向上させるとともに、スケジューリングのオーバーヘッドを削減することができるという効果を奏する。以下に、本発明にかかるマルチコアプロセッサシステム、およびスケジューリング方法の好適な実施の形態を詳細に説明する。ここで、マルチコアプロセッサシステムにおいて、マルチコアプロセッサとは、コアが複数搭載されたプロセッサである。コアが複数搭載されていれば、複数のコアが搭載された単一のプロセッサでもよく、シングルコアのプロセッサが並列されているプロセッサ群でもよい。なお、本実施の形態では、説明を単純化するため、シングルコアのプロセッサが並列されているプロセッサ群を例に挙げて説明する。ここで、ユーザはアプリケーションを起動した直後に該アプリケーションを操作したい。さらに、たとえば、携帯電話を例に挙げると、音楽再生ソフトにより音楽を再生中にメールの受信によりメーラが起動され、ユーザが受信したメールを閲覧する。そして、ユーザがメールに記述されているWebサイトのホームページを閲覧する場合、ブラウザが起動されるため、ユーザはブラウザを操作する可能性が最も高い。そして、ブラウザの起動に関わったメーラもユーザが操作する可能性が高く、音楽再生ソフトを使用する可能性が最も低い。そこで、本実施の形態では、起動指示が発生したアプリケーションの他に起動時刻が遅いアプリケーションをユーザが操作する可能性が高いと判断している。図1は、本発明の一実施例を示す説明図である。図1では、CPU0では、起動時刻が12:20のアプリケーションが実行中であり、起動時刻が12:10のアプリケーションがランキューに登録されている。CPU1では、起動時刻が12:15のアプリケーションが実行中であり、起動時刻が12:05のアプリケーションがランキューに登録されている。CPU2では、起動時刻が12:55のアプリケーションが実行中であり、起動時刻が12:01のアプリケーションがランキューに登録されている。ここでは、起動時刻を何時何分であるかのみを記載しているが、これに限らず、何年何月何日何時何分何秒のように時刻を詳細にしてもよい。ここで、図1中の各OSはそれぞれランキューを有し、各ランキューには割り当てられたアプリケーションのコンテキスト情報のポインタが積まれる。コンテキスト情報とは、たとえば、ロードされたアプリケーションの実行状態や該アプリケーション内の変数などが含まれる情報である。各OSはランキュー内のコンテキスト情報のポインタを取得し、アプリケーションのコンテキスト情報にアクセスすることで、アプリケーションを直ぐに実行することができる。ここでは、CPU0上で動作するOSがマスタOSである。該マスタOSは起動指示を受け付けた対象アプリケーションの割当先CPUを決定するスケジューラを有している。ウエイトキューはマスタOSが有し、ウエイトキューにアプリケーションのバイナリ情報へのポインタが積まれると、スケジューラは対象アプリケーションの起動指示を受け付けたと判断する。そして、スケジューラが、マルチコアプロセッサから、各CPUに割り当てられているアプリケーションの中で、起動時刻が最も遅いアプリケーションの割当先であるコアを除くコアを特定する。各CPUに割当済のアプリケーションの中で、起動時刻が最も遅いアプリケーションは起動されてから最も時間が経っていないので、ユーザが利用する可能性が高い。各CPUに割り当てられているアプリケーションの中で、起動時刻が最も遅いアプリケーションは、CPU2に割り当てられている起動時刻が12:55のアプリケーションである。起動時刻が12:55のアプリケーションの割当先CPUであるCPU2を除くCPUは、CPU0とCPU1である。ここでは、CPU1が特定されることとする。そして、スケジューラが、CPU1で実行中の起動時刻が12:15のアプリケーションをランキューに退避させ、CPU1に対象アプリケーションを実行させる。マルチコアプロセッサシステムのハードウェア図2は、マルチコアプロセッサシステムのハードウェアを示すブロック図である。図2において、マルチコアプロセッサシステム200は、CPU0と、CPU1と、CPU2と、を有している。さらに、マルチコアプロセッサシステム200は、キーボード205と、ディスプレイ204と、I/F206InterFaceと、アービター201と、共有メモリ203と、クロックジェネレータ202と、を有している。CPU0と、CPU1と、CPU2と、キーボード205と、ディスプレイ204と、I/F206と、アービター201と、クロックジェネレータ202とは、バス207を介して接続されている。ここで、CPU0とCPU1とCPU2は、それぞれレジスタとコアとキャッシュとを有している。コアは、演算機能を有している。各CPU内のレジスタは、PCProgramCounterやリセットレジスタを有している。各CPU内のキャッシュは、共有メモリ203よりも動作が速く、容量が小さいメモリである。各CPU内のキャッシュは、たとえば、共有メモリ203から読み出されたデータを一時的に記憶する。各CPU内のキャッシュは、たとえば、共有メモリ203への書き込みデータを一時的に記憶する。各CPU内のキャッシュは、他のCPUとスヌープ回路を介して接続されている。スヌープ回路は、キャッシュ間で共有するデータがいずれかのキャッシュで更新された場合、該更新を検出し、他のキャッシュ内の該データも更新する機能を有している。CPU0はマスタCPUであり、マルチコアプロセッサシステム200の全体の制御を司り、OS221OperatingSystemを実行する。OS221はマスタOSであり、CPU0に割り当てられたスレッドを実行する。OS221はスケジューラ231を有し、スケジューラ231は起動指示を受け付けたアプリケーションをマルチコアプロセッサのうちのいずれのCPUに割り当てるかを制御する機能を有している。スケジューラ231はCPU0に割り当てられたアプリケーションの実行順序を制御する機能を有する。CPU1はスレーブCPUであり、OS222を実行する。OS222はスレーブOSであり、CPU1に割り当てられたスレッドを実行する。OS222はスケジューラ232を有し、スケジューラ232はCPU1に割り当てられたアプリケーションの実行順序を制御する機能を有する。CPU2はスレーブCPUであり、OS223を実行する。OS223はスレーブOSであり、CPU2に割り当てられたスレッドを実行する。OS223はスケジューラ233を有し、スケジューラ233はCPU2に割り当てられたアプリケーションの実行順序を制御する機能を有する。ディスプレイ204は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ204は、たとえば、TFT液晶ディスプレイ204などを採用することができる。キーボード205は、数字、各種指示などの入力のためのキーを有し、データの入力を行う。また、キーボード205は、タッチパネル式の入力パッドやテンキーなどであってもよい。I/F206は、通信回線を通じてLANLocalAreaNetwork、WANWideAreaNetwork、インターネットなどのネットワークに接続され、ネットワークを介して他の装置に接続される。そして、I/F206は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F206には、たとえばモデムやLANアダプタなどを採用することができる。共有メモリ203は、CPU0とCPU1に共有されるメモリであり、具体的には、たとえば、ROM209ReadOnlyMemoryと、RAM208RandomAccessMemoryと、フラッシュROM210と、フラッシュROMコントローラ211と、フラッシュROM212と、などを有している。ROM209は、ブートプログラムなどのプログラムを記憶している。RAM208は、CPUのワークエリアとして使用される。フラッシュROM210は、OS221~OS223などのシステムソフトウェアやアプリケーションソフトウェアや後述する管理テーブルおよび起動時刻テーブルなどを記憶している。たとえば、各OSを更新する場合、マルチコアプロセッサシステム200は、I/F206によって新しいOSを受信し、フラッシュROM210に格納されている古いOSを、受信した新しいOSに更新する。フラッシュROMコントローラ211は、各CPUの制御に従ってフラッシュROM212に対するデータのリード/ライトを制御する。フラッシュROM212は、フラッシュROMコントローラ211の制御で書き込まれたデータを記憶する。データの具体例としては、マルチコアプロセッサシステム200を使用するユーザがI/F206を通して取得した画像データ、映像データなどである。フラッシュROM212は、たとえば、メモリカード、SDカードなどを採用することができる。アービター201は、各CPUから共有メモリ203へのアクセス要求を調停する。アービター201は、CPUから共有メモリ203へのアクセス比率を設定可能なレジスタ241~レジスタ243を有している。アクセス比率とは、共有メモリ203へのアクセス頻度を制御するための比率である。レジスタ241にはCPU0のアクセス比率が設定され、レジスタ242にはCPU1のアクセス比率が設定され、レジスタ243にはCPU2のアクセス比率が設定される。図3は、アクセス比率の一例を示す説明図である。図3の例では、レジスタ241の値が3で、レジスタ242の値が2で、レジスタ243の値が1であるとする。図3では、リクエストキュー300の中の各ボックスがアクセス要求である。アービター201は、リクエストキュー300の右側からアクセス要求を受け付け、左側から順にアクセス要求を処理することとする。リクエストキュー300内のボックスのうち、0が付されたボックスがCPU0からのアクセス要求であり、1が付されたボックスがCPU1からのアクセス要求であり、2が付されたボックスがCPU2からのアクセス要求である。リクエストキュー300内では、0が付されたボックスが3個並び、つぎに、1が付されたボックスが2個並び、2が付されたボックスが1個並び、再度、0が付されたボックスが3個並んでいる。すなわち、アービター201は、CPU0のアクセス要求を3回行い、つぎに、CPU1のアクセス要求を2回行い、そして、CPU2のアクセス要求を1回行う。図2に戻って、レジスタ241~レジスタ243には初期値1が設定されている。クロックジェネレータ202は各部にクロックを供給するクロック生成回路である。ここで、本実施の形態では、各CPUへは、100[MHz]と200[MHz]と300[MHz]とのうちのいずれか一つの周波数のクロックを供給できることとする。たとえば、クロックジェネレータ202は、CPUごとに該CPUに供給するクロック周波数を設定可能なレジスタ251~レジスタ252を有している。レジスタ251の値が1であれば、CPU0へ100M[Hz]のクロックが供給される。レジスタ251の値が2であれば、CPU0へ200M[Hz]のクロックが供給される。レジスタ251の値が3であれば、CPU0へ300M[Hz]のクロックが供給される。レジスタ252の値が1であれば、CPU1へ100M[Hz]のクロックが供給される。レジスタ252の値が2であれば、CPU1へ200M[Hz]のクロックが供給される。レジスタ252の値が3であれば、CPU1へ300M[Hz]のクロックが供給される。レジスタ253の値が1であれば、CPU2へ100M[Hz]のクロックが供給される。レジスタ253の値が2であれば、CPU2へ200M[Hz]のクロックが供給される。レジスタ253の値が3であれば、CPU2へ300M[Hz]のクロックが供給される。図2では、各レジスタの値が初期値1に設定されている。マルチコアプロセッサシステム200の機能ブロック図図4は、マルチコアプロセッサシステム200の機能ブロック図の一例である。マルチコアプロセッサシステム200は、特定部401と、実行部402と、制御部403と、を有している。具体的には、特定部401~制御部403を有するプログラムが共有メモリ203などの記憶装置に記憶されている。マルチコアプロセッサのうちの特定のCPUが該記憶装置にアクセスして該プログラムを読み出し、該スケジューラ231内にコーディングされている処理を実行することにより、該特定部401~制御部403の処理が実行される。本実施の形態では、たとえば、特定のCPUがCPU0であり、該プログラムはスケジューラ231である。特定部401は、対象アプリケーションの起動指示を受け付けると、マルチコアプロセッサから、各CPUに割り当てられているアプリケーションの中で起動時刻が最も遅いアプリケーションの割当先であるCPUを除くCPUを特定する。また、特定部401は、各CPUに割り当てられている最も遅い起動時刻のアプリケーションの中で起動時刻が最も早いアプリケーションの割当先であるCPUを特定してもよい。実行部402は、特定部401により特定されたCPUで実行中のアプリケーションに代わって対象アプリケーションを実行する。制御部403は、特定部401により特定されたCPUへ与えるクロックの周波数をマルチコアプロセッサの他のCPUへ与えるクロックの周波数よりも高くする。また、制御部403は、特定されたCPUへ与えるクロックの周波数を供給可能なクロック周波数の中で最も高い周波数にする。また、制御部403は、対象アプリケーションの起動から一定時間経過後、他のアプリケーションの起動指示を受け付けなかった場合、マルチコアプロセッサの各CPUへ与えるクロックの周波数を同一周波数にする。また、制御部403は、マルチコアプロセッサの各CPUへ与えるクロックの周波数を、マルチコアプロセッサの各CPUへ与えられているクロックの周波数の中で最も低いクロックの周波数にしてもよい。また、制御部403は、特定部401により特定されたCPUからマルチコアプロセッサで共有する共有資源へのアクセス比率を、マルチコアプロセッサの他のCPUから共有資源へのアクセス比率よりも大きいアクセス比率にする。本実施の形態では、共有資源が共有メモリである。さらに、制御部403は、対象アプリケーションの起動から一定時間経過後、他のアプリケーションの起動指示を受け付けなかった場合、マルチコアプロセッサの各CPUから共有メモリへのアクセス比率を同一比率にする。以上を踏まえて詳細例を説明する。図5は、アプリケーションの割当例を示す説明図である。図5では、ディスプレイ204、キーボード205、I/F206、フラッシュROMコントローラ211、フラッシュROM210、RAM208、ROM209、フラッシュROM212の記載を省略している。図5では、CPU0にアプリ1が割り当てられ、CPU1にアプリ2が割り当てられ、CPU2にアプリ3とアプリ4とが割り当てられている。ここで、ウエイトキュー504は、マスタOSであるOS221が有している。ウエイトキュー504にアプリケーションのバイナリ情報へのポインタが積まれると、スケジューラ231は該アプリケーションの起動指示を受け付けたと判断する。ここで、ランキュー501はOS221が有し、ランキュー502はOS222が有し、ランキュー503はOS223が有している。各ランキューには、アプリケーションのコンテキスト情報のポインタが積まれる。各OSは、実行中のアプリケーションが終了すると、ランキューに他のアプリケーションのコンテキスト情報のポインタが積まれていれば、他のアプリケーションを実行する。たとえば、CPU2ではアプリ3が実行中であるため、ランキュー503にはアプリ4のコンテキスト情報のポインタが積まれている。図6は、管理テーブルの一例を示す説明図である。管理テーブル600は、CPUの識別情報の項目601と、アプリケーションの識別情報の項目602と、起動時刻の項目603と、を有している。CPUの識別情報の項目601には、各CPUの識別情報が登録される。アプリケーションの識別情報の項目602には、CPUの識別情報の項目601に登録された識別情報が示すCPUに割り当てられたアプリケーションの識別情報が登録される。起動時刻の項目603には、アプリケーションの識別情報の項目602に登録された識別情報が示すアプリケーションの起動時刻が登録される。ここで、起動時刻は時:分:秒である。たとえば、CPUの識別情報の項目601がCPU0の場合、アプリケーションの識別情報の項目602にはアプリ1が登録され、起動時刻の項目603には12:20:20が登録されている。すなわち、CPU0には、12時20分20秒に起動されたアプリ1が割り当てられていることを示している。また、上述のように、管理テーブル600はフラッシュROM210などの記憶装置に記憶されていることとする。さらに、各CPUのキャッシュにも記憶されていることとしてもよい。一のCPUのキャッシュ内の管理テーブル600に変更が生じると、スヌープ回路が該管理テーブル600の変更を検出し、他のCPUのキャッシュ内の管理テーブル600を変更する。図7は、起動時刻テーブルの一例を示す説明図である。起動時刻テーブル700は、CPUの識別情報の項目701と、起動時刻の項目702と、仮想プロセッサIDの項目703と、アクセス比率の項目704と、クロック周波数の項目705と、を有している。CPUの識別情報の項目701には、各CPUの識別情報が登録されている。起動時刻の項目702には、各CPUに割り当てられたアプリケーションの中で、最後に割り当てられたアプリケーションの起動時刻が登録される。最後に割り当てられたアプリケーションとは、起動時刻が最も遅いアプリケーションである。仮想プロセッサIDの項目703には、起動時刻の項目702に登録された起動時刻が遅い順にCPUに付された順位である。仮想プロセッサIDの項目703には、初期値としてすべて0が登録されている。アクセス比率の項目704には、アービター201に設定するアクセス比率が登録される。アクセス比率は、仮想プロセッサIDの項目703に登録された値に基づいて決定される。ここでは、仮想プロセッサIDの項目703の値が小さい順にアクセス比率の値が大きくなる。仮想プロセッサIDの項目703の値がすべて同一値である場合、CPUのアクセス比率は等しくなる。クロック周波数の項目705には、各CPUに供給されるクロックの周波数が登録される。各CPUに供給されるクロックの周波数は、仮想プロセッサIDの項目703の値に基づいて決定される。また、上述のように、起動時刻テーブル700はフラッシュROM210などの記憶装置に記憶されていることとする。さらに、各CPUのキャッシュにも記憶されていることとしてもよい。一のCPUのキャッシュ内の起動時刻テーブル700に変更が生じると、スヌープ回路が該起動時刻テーブル700の変更を検出し、他のCPUのキャッシュ内の起動時刻テーブル700を変更する。図8は、アプリ5の起動指示が受け付けられた例を示す説明図である。ウエイトキュー504にアプリ5が積まれると、スケジューラ231が、1アプリ5の起動指示を受け付けたと判断する。スケジューラ231が、2起動時刻テーブル700内の起動時刻の項目702に登録されている起動時刻が最も早い時刻であるCPUを特定する。CPU1が特定される。図9は、アプリ5の実行例を示す説明図である。スケジューラ231が3CPU1にアプリ5の実行指示を通知する。アプリ5の実行指示は、ウエイトキュー504内のアプリ5のバイナリ情報へのポインタの値を有している。スケジューラ232が、アプリ5の実行指示を受け付けると、4実行中のアプリ2をランキュー502に退避させる。スケジューラ232が、アプリ5のバイナリ情報へのポインタの値に基づいて共有メモリ203からアプリ5のバイナリ情報をロードする。スケジューラ232が、5ロードしたアプリ5のバイナリ情報に基づいてアプリ5を実行する。図10は、管理テーブル600の更新例を示す説明図である。スケジューラ232が、管理テーブル600内のCPU1に関するアプリケーションの識別情報の項目602にアプリ5を追加する。スケジューラ232が現時刻を検出し、管理テーブル600内のアプリ5に関する起動時刻の項目603に検出した現時刻を登録する。図10では、アプリ5の起動時刻として12:30:20が登録されている。図11は、起動時刻テーブル700内の起動時刻の更新例を示す説明図である。スケジューラ232が、起動時刻テーブル700内のCPU1に関する起動時刻の項目702を検出した現時刻に更新する。これにより、CPU1に関する起動時刻がCPU1に割り当てられたアプリケーションの中で最も遅く割り当てられたアプリケーションの起動時刻に更新される。図12は、起動時刻テーブル700内の仮想プロセッサIDの更新例を示す説明図である。スケジューラ232が、起動時刻テーブル700内の起動時刻の項目702に登録されている起動時刻が早い順に番号を仮想プロセッサIDの項目703に登録する。図12では、CPU0が最も早いため、CPU0に関する仮想プロセッサIDの項目703に1が登録され、CPU2がつぎに早いため、CPU2に関する仮想プロセッサIDの項目703に2が登録される。CPU1が最も遅いため、CPU1に関する仮想プロセッサIDの項目703に3が登録される。図13は、起動時刻テーブル700内のアクセス比率とクロック周波数の更新例を示す説明図である。スケジューラ232が、仮想プロセッサIDの項目703の番号に基づいて各CPUのアクセス比率を決定する。たとえば、スケジューラ232が、仮想プロセッサIDの項目703の番号が最も大きいCPUのアクセス比率が他のCPUのアクセス比率よりも高いアクセス比率に設定する。具体的には、たとえば、スケジューラ232が、仮想プロセッサIDの項目703の番号が大きい順にアクセス比率が高くなるように各CPUのアクセス比率を決定し、各CPUに関するアクセス比率の項目704に決定したアクセス比率を登録する。ここでは、仮想プロセッサIDの項目703の番号と同一値をアクセス比率の項目704に登録することとする。また、スケジューラ232が、仮想プロセッサIDの項目703の番号に基づいて各CPUに供給するクロックの周波数を決定する。たとえば、スケジューラ232が、仮想プロセッサIDの項目703の番号が最も大きいCPUへ供給するクロックの周波数を他のCPUへ供給する周波数よりも高い周波数に設定する。または、たとえば、スケジューラ232が、仮想プロセッサIDの項目703の番号が最も大きいCPUへ供給するクロックの周波数をクロックジェネレータ202が供給可能な最も高い周波数に設定する。すなわち、スケジューラ232が、CPU1へ供給するクロックの周波数を300[MHz]に設定する。または、たとえば、スケジューラ232が、仮想プロセッサIDの項目703の番号が大きい順にクロック周波数が高くなるように各CPUに供給するクロックの周波数を決定する。そして、スケジューラ232が、起動時刻テーブル700内の各CPUに関するクロック周波数の項目705に決定したクロック周波数を登録する。図13では、スケジューラ232が、CPU1へ与えるクロックの周波数がCPUへ与えるクロック周波数の中で最も高く、CPU2へ与えるクロックの周波数がCPU1へ与えるクロック周波数のつぎに高くなるように決定する。スケジューラ232は、CPU0へ与えるクロックの周波数がCPUへ与えるクロック周波数の中で最も低くなるように決定する。上述のように本実施の形態でCPUに供給可能なクロック周波数は100M[MHz]、200M[MHz]、300M[MHz]である。具体的には、たとえば、スケジューラ232が、CPU1へ与えるクロックの周波数を300[MHz]に決定し、CPU2へ与えるクロックの周波数を200[MHz]に決定し、CPU0へ与えるクロックの周波数を100[MHz]に決定する。そして、スケジューラ232が、CPU1に関するクロック周波数の項目705に300[MHz]を登録する。スケジューラ232が、CPU2に関するクロック周波数の項目705に200[MHz]を登録する。スケジューラ232が、CPU0に関するクロック周波数の項目705に100[MHz]を登録する。図14は、アプリ5を実行時のアクセス比率とクロック周波数の制御例を示す説明図である。スケジューラ232が、6更新後の起動時刻テーブル700に登録した各CPUのアクセス比率をアービター201のレジスタ241~レジスタ243にそれぞれ設定することで、各CPUから共有メモリ203へのアクセス比率を制御する。レジスタ241の値が1となり、レジスタ242の値が3となり、レジスタ243の値が1となる。スケジューラ232が、6起動時刻テーブル700に登録した各CPUのクロック周波数に対応する番号をクロックジェネレータ202のレジスタ251~レジスタ253にそれぞれ設定することで、各CPUへ与えるクロックの周波数を制御する。レジスタ251の値が1となり、レジスタの値252が3となり、レジスタ253の値が2となる。図15は、所定時間経過後の起動時刻テーブル700の更新例を示す説明図である。最後にアプリケーションの起動要求を受け付けてから所定時間が経過した場合、スケジューラ231は、仮想プロセッサIDの項目703の番号をすべて0に更新する。スケジューラ231は、アクセス比率の項目704のアクセス比率をすべて1に更新し、クロック周波数の項目705の周波数をすべて100[MHz]に更新する。起動直後のアプリケーションであればユーザが使用する確率は高いが、一定時間が経過すると、いずれのアプリケーションをユーザが使用するかは明確でない。そこで、本実施の形態では、一定時間経過した場合、共有メモリ203へのアクセスやクロック周波数をすべて同一値に設定する。たとえば、一定時間としては固定値であってもよいし、最後に起動要求のあったアプリケーションによって該一定時間を異なる値に設定してもよい。図16は、所定時間経過後のアクセス比率とクロック周波数の設定例を示す説明図である。スケジューラ231が、7更新後の起動時刻テーブル700に登録した各CPUのアクセス比率をアービター201のレジスタ241~レジスタ243にそれぞれ設定する。レジスタ241の値が1となり、レジスタ242の値が1となり、レジスタ243の値が1となる。スケジューラ231が、7起動時刻テーブル700に登録した各CPUのクロック周波数に対応する番号をクロックジェネレータ202のレジスタ251~レジスタ253にそれぞれ設定する。レジスタ251の値が1となり、レジスタ252の値が1となり、レジスタ253の値が1となる。スケジューラ231による割り当て処理図17は、スケジューラ231による割り当て処理の割り当て処理手順を示すフローチャートである。まず、スケジューラ231が、ウエイトキュー504に対象アプリケーションがあるか否か、または一定時間ウエイトキュー504が空か否かを判断するステップS1701。スケジューラ231が、ウエイトキュー504に対象アプリケーションがなく、かつ一定時間ウエイトキュー504が空でないと判断した場合ステップS1701:No、ステップS1701へ戻る。スケジューラ231が、ウエイトキュー504に対象アプリケーションがあると判断した場合ステップS1701:ある、起動時刻テーブル700に基づき起動時刻が最も早いCPUを特定するステップS1702。スケジューラ231が、特定したCPUに対象アプリケーションの実行要求を通知しステップS1703、ステップS1701へ戻る。スケジューラ231が、一定時間ウエイトキュー504が空であると判断した場合ステップS1701:空、仮想プロセッサIDとアクセス比率とクロック周波数を初期値に決定するステップS1704。スケジューラ231が、決定結果をクロックジェネレータ202とアービター201に設定しステップS1705、ステップS1701へ戻る。各スケジューラによる設定処理図18は、各スケジューラによる設定処理の設定処理手順を示すフローチャートである。スケジューラが、対象アプリケーションの実行要求、または実行中のアプリケーションの終了を検出したか否かを判断するステップS1801。スケジューラが、対象アプリケーションの実行要求、および実行中のアプリケーションの終了を検出していないと判断した場合ステップS1801:No、ステップS1801へ戻る。スケジューラが、対象アプリケーションの実行要求を検出したと判断した場合ステップS1801:実行要求、実行中のアプリケーションをランキューに退避するステップS1802。そして、スケジューラが、対象アプリケーションを実行しステップS1803、現時刻を特定するステップS1804。スケジューラが、管理テーブル600へ現時刻を対象アプリケーションの起動時刻として設定するステップS1805。スケジューラが、起動時刻テーブル700内の対象アプリケーションを実行するCPUに対応する起動時刻を対象アプリケーションの起動時刻に設定しステップS1806、ステップS1811へ移行する。ステップS1801において、スケジューラが、実行中のアプリケーションの終了を検出したと判断した場合ステップS1801:終了、他に割当済のアプリケーションがあるか否かを判断するステップS1807。スケジューラが、他に割当済のアプリケーションがないと判断した場合ステップS1807:No、起動時刻を最低値に設定しステップS1808、ステップS1811へ移行する。最低値とは、たとえば、0に設定しておく。スケジューラ231が、対象アプリケーションの起動指示を受け付けた際に、起動時刻テーブル700内の起動時刻が0であるCPUがあれば、該CPUに対象アプリケーションを割り当てることとしてもよい。スケジューラが、他に割当済のアプリケーションがあると判断した場合ステップS1807:Yes、割当済のアプリケーションの起動時刻の中で、最も早い起動時刻を特定するステップS1809。そして、スケジューラが、特定した起動時刻を設定しステップS1810、起動時刻テーブル700に起動時刻の早い順に仮想プロセッサIDを設定するステップS1811。スケジューラが、仮想プロセッサIDに基づいてクロック周波数とアクセス比率を決定するステップS1812。スケジューラが、決定結果をクロックジェネレータ202とアービター201に設定することで、各CPUへ供給するクロックの周波数とCPUから共有メモリ203へのアクセス比率を制御しステップS1813、ステップS1801へ戻る。以上説明したように、マルチコアプロセッサシステム、およびスケジューリング方法によれば、起動時刻が最も遅いアプリケーションと起動指示が発生した対象アプリケーションとを同一のCPUに割り当てないようにし、対象アプリケーションを直ちに実行する。各CPUに割り当てられている起動時刻のみで割当先を決定するので、従来の負荷や優先度によって割当先を決定することと比較して、プロセッサ間通信を行う回数を減少させることができ、スケジューリングによるオーバーヘッドを削減することができる。さらに、起動から時間が経過したアプリケーションよりも、起動直後のアプリケーションをユーザが使用する。すなわち、起動時刻が最も遅いアプリケーションと対象アプリケーションはユーザが操作する可能性が高いので、これらの2つのアプリケーションが異なるCPUで実行されることで、ユーザの応答性を向上させることができる。さらに、対象アプリケーションを直ちに実行させることで、ユーザの応答性を向上させることができる。また、各CPUに割り当てられたアプリケーションの起動時刻は、CPUごとにレジスタに記憶されることにより、プロセッサ間通信を行わずに対象アプリケーションの割当先CPUを決定することができる。したがって、プロセッサ間通信を行う回数を減少させることができ、スケジューリングによるオーバーヘッドを削減することができる。また、起動時刻が最小であるアプリケーションを実行するCPUに対象アプリケーションを割り当てる。起動時刻が最小であるアプリケーションを実行するCPUとは、各CPUに割り当てられている最も遅い起動時刻のアプリケーションの中で起動時刻が最も早いアプリケーションの割当先であるCPUである。起動からの時間経過が大きいアプリケーションであれば、ユーザが使用する可能性が低いため、ユーザの操作に影響を与えることなく、対象アプリケーションを直ぐに実行させることができる。また、対象アプリケーションを割り当てた割当先コアに関する最小である起動時刻を対象アプリケーションの起動時刻に置き換えることで、プロセッサ通信を行うことなく、割当先を決定するための起動時刻に関する情報を容易に更新することができる。また、対象アプリケーションの起動時刻に基づいて、複数のCPUのうちの少なくとも一のCPUの動作クロックまたは共有資源へのアクセス頻度に関する情報が変更されることにより、対象アプリケーションの実行性能を向上させることができる。また、対象アプリケーションを実行するCPUに複数の動作クロックの内で最も周波数の高い動作クロックが供給されることにより、対象アプリケーションの実行性能を向上させることができる。また、対象アプリケーションの起動から一定時間経過後、他のアプリケーションの起動指示を受け付けなかった場合、複数のCPUへ供給する動作クロックの周波数が同一周波数に変更される。ある一定時間を過ぎると、ユーザがいずれのアプリケーションを使用するかが不明確となる。そこで、各CPUの性能を共通にすることで、いずれのCPUに割り当てられたアプリケーションがユーザに操作されても応答性に偏りなく実行させることができる。また、複数のCPUへ供給する動作クロックの周波数が供給可能な周波数の中で最も低い周波数に変更されることで、低消費電力化を図ることができる。また、対象アプリケーションの起動から一定時間経過後、他のアプリケーションの起動指示を受け付けなかった場合、複数のCPUから共有資源へのアクセス頻度が同一頻度に変更される。ある一定時間を過ぎると、ユーザがいずれのアプリケーションを使用するかが不明確となる。そこで、各CPUの性能を共通にすることで、いずれのCPUに割り当てられたアプリケーションがユーザに操作されても応答性に偏りなく実行させることができる。なお、スケジューリング方法は、予め用意されたプログラムをマルチコアプロセッサのうちのいずれかのCPUで実行することにより実現することができる。また、該プログラムは、フラッシュROM212などのマルチコアプロセッサのいずれかのCPUが読み取り可能な記録媒体に記録され、マルチコアプロセッサのいずれかのCPUによって記録媒体から読み出されることによって実行されてもよい。また、該プログラムは、インターネット等のネットワークを介して配布されてもよい。