"複数のプロセッサと、前記複数のプロセッサで実行されているプログラムを格納するメモリと、前記複数のプロセッサで実行されているプログラム以外の対象プログラムを前記メモリのフラグメント領域にプリロードするプリローダと、を含むことを特徴とするシステム。前記プリローダは、プリロードするプログラムがないときにはスリープモードに設定されることを特徴とする請求項1に記載のシステム。前記対象プログラムが実行されるまでの予測時間と前記対象プログラムをプリロードするための時間とが所定の関係を満たすときに、前記スリープモードの設定が解除されることを特徴とする請求項2に記載のシステム。前記フラグメント領域を管理する第1テーブルを含み、前記第1テーブルに前記フラグメントの使用状況が格納されることを特徴とする請求項1乃至請求項3の何れか一に記載のシステム。前記プログラムを管理する第2テーブルを含み、前記第2テーブルに前記プログラムをプリロードするための時間が格納されることを特徴とする請求項1乃至請求項3の何れか一に記載のシステム。プロセッサが、メモリのメモリ領域にロードされたプログラムを実行し、前記プログラム以外の対象プログラムを前記メモリの複数のフラグメント領域にプリロードし、前記複数のフラグメント領域に格納される対象プログラムを結合して前記メモリ領域に展開し、前記対象プログラムを実行することを特徴とするデータロード方法。前記対象プログラムが実行されるまでの予測時間と前記対象プログラムをプリロードするための時間とが所定の関係を満たすときに、前記プリロ-ドを開始することを特徴とする請求項6に記載のデータロード方法。前記対象プログラムの一部が前記フラグメント領域に格納されているとき、前記対象プログラムの一部以外のプログラムをプリロードして、前記フラグメント領域に格納される前記対象プログラムの一部と結合して、前記メモリ領域に展開することを特徴とする請求項6または請求項7に記載のデータロード方法。前記プロセッサが前記プログラムを実行していないときに、前記対象プログラムをプリロードすることを特徴とする請求項6乃至請求項8の何れか一に記載のデータロード方法。前記対象プログラムをプリロードするときの動作クロックの周波数を、前記プログラムを実行するときの動作クロックの周波数より高くすることを特徴とする請求項6乃至請求項9の何れか一に記載のデータロード方法。しかしながら、対象アプリケーションの起動指示前にアプリケーションをロードすると、実行中のアプリケーションのデータをスワップしてしまう恐れがある。また、実行中のアプリケーションの処理によっては、対象アプリケーションのロード先を使用する場合がある。この場合、ロードした対象アプリケーションのコンテキスト情報はストレージへスワップされる。すなわち、起動時の開始を早めるために、起動開始前にRAMへロードしているにも関わらず、スワップされてしまい、起動開始時に再度ストレージからRAMへコンテキスト情報を格納しなければならない問題点があった。また、あらかじめロードしたアプリケーションがスワップされないようにロードした領域を保護すると、実行中のアプリケーションの使用可能メモリ領域を制限してしまうことになり、性能が低下してしまう問題点があった。本発明は、上述した従来技術による問題点を解消するため、アプリケーションの起動時の処理を高速化でき、応答性を向上させることができるシステム、およびデータロード方法を提供することを目的とする。本発明の一観点によれば、メモリのメモリ領域にロードされたプログラムを実行し、前記プログラム以外の対象プログラムを前記メモリの複数のフラグメント領域にプリロードし、複数のフラグメント領域に格納される対象プログラムを結合して前記メモリ領域に展開し、対象プログラムを実行するシステム、およびデータロード方法が提供される。本システム、およびデータロード方法によれば、アプリケーションの起動時の処理を高速化でき、応答性を向上させることができるという効果を奏する。以下に添付図面を参照して、本発明にかかるシステム、およびデータロード方法の好適な実施の形態を詳細に説明する。図1は、本発明の一例を示す説明図である。CPUCentralProcessingUnitが実行するOSOperatingSystemが、第1の記憶装置たとえば、ストレージに記憶された対象アプリケーションのプログラムを複数のコードに分割する。OSが、ストレージよりもアクセス速度が速い第2の記憶装置たとえば、RAM内の空き領域群から、合計サイズが対象アプリケーションのプログラムのサイズより大きい2以上の空き領域を特定する。ここで、たとえば、1BYTEに格納可能領域がy[KB]であるとし、領域のサイズはアドレスに基づいて算出される。OSが、特定された2以上の空き領域に分割された複数の部分コードを分散して格納する。OSが、対象アプリケーションの起動指示を受け付けると、格納された複数の部分コードを結合して、対象アプリケーションのコンテキストをRAM内に生成する。また、OSが、RAM内の空き領域群のうちの所定サイズ以下の空き領域から、合計サイズが対象アプリケーションのプログラムのサイズより大きい2以上の空き領域を特定してもよい。図1では、対象アプリケーションのプログラムを分割した部分コードがすべてRAMに格納されているが、部分コード群のうちの一部の部分コードであってもよい。本システムはシングルコアシステムであってもマルチコアプロセッサシステムであってもよいが、本実施の形態ではマルチコアプロセッサシステムを例に挙げて説明する。ここで、マルチコアプロセッサシステムにおいて、マルチコアプロセッサとは、コアが複数搭載されたプロセッサである。コアが複数搭載されていれば、複数のコアが搭載された単一のプロセッサでもよく、シングルコアのプロセッサが並列されているプロセッサ群でもよい。なお、本実施の形態では、説明を単純化するため、シングルコアのプロセッサが並列されているプロセッサ群を例に挙げて説明する。マルチコアプロセッサシステムのハードウェア図2は、マルチコアプロセッサシステムのハードウェアを示すブロック図である。図2において、マルチコアプロセッサシステム200は、CPU0と、CPU1と、ディスプレイ201と、キーボード202と、I/FInterFace203と、アービター204と、共有メモリ205と、クロック供給回路207と、を有している。CPU0と、CPU1と、ディスプレイ201と、キーボード202と、I/F203と、アービター204とは、バス206を介して接続されている。ここで、CPU0とCPU1は、それぞれレジスタとコアとキャッシュキャッシュ240,241とMMUMemoryManagementUnitMMU230,231を有している。コアは、演算機能を有している。各CPU内のレジスタは、PCProgramCounterやリセットレジスタを有している。各CPU内のキャッシュキャッシュ240,241は、共有メモリ205よりも動作が速く、容量が小さいメモリである。各CPU内のキャッシュは、たとえば、共有メモリ205から読み出されたデータを一時的に記憶する。各CPU内のキャッシュは、たとえば、共有メモリ205への書き込みデータを一時的に記憶する。各CPU内のキャッシュは、他のCPUとスヌープコントローラ208を介して接続されている。さらに、各CPU内のキャッシュはプリロード用のフラグを有し、該フラグがONに設定されると、後述する並列プリローダがアプリケーションのプリロードを開始する。並列プリローダが実行中には他のアプリケーションのプログラムは実行待機状態となる。スヌープコントローラ208は、キャッシュ間で共有するデータがいずれかのキャッシュで更新された場合、該更新を検出し、他のキャッシュ内の該データも更新する機能を有している。各CPU内のMMUMMU230,231は、論理アドレスから物理アドレスへの変換やRAM211領域に関する空き領域の空き領域リストの管理を行う。CPU0はマスタCPUであり、マルチコアプロセッサシステム200の全体の制御を司り、OS220を実行する。OS220はマスタOSであり、CPU0に割り当てられたスレッドを実行する。OS220はスケジューラを有し、スケジューラは起動指示を受け付けたアプリケーションをマルチコアプロセッサのうちのいずれのCPUに割り当てるかを制御する機能を有している。スケジューラはCPU0に割り当てられたアプリケーションの実行順序を制御する機能を有する。CPU1はスレーブCPUであり、OS221を実行する。OS221はスレーブOSであり、CPU1に割り当てられたスレッドを実行する。OS221はスケジューラを有し、スケジューラはCPU1に割り当てられたアプリケーションの実行順序を制御する機能を有する。ディスプレイ201は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ201は、たとえば、TFT液晶ディスプレイなどを採用することができる。キーボード202は、数字、各種指示などの入力のためのキーを有し、データの入力を行う。また、キーボード202は、タッチパネル式の入力パッドやテンキーなどであってもよい。I/F203は、通信回線を通じてLANLocalAreaNetwork、WANWideAreaNetwork、インターネットなどのネットワークに接続され、ネットワークを介して他の装置に接続される。そして、I/F203は、ネットワークと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F203には、たとえばモデムやLANアダプタなどを採用することができる。本実施の形態では、後述するフラッシュROMReadOnlyMemory213からRAMRandomAccessMemory211へアプリケーションのプログラムをプリロードしているが、I/Fを介してインターネットなどのネットワークからRAM211へアプリケーションのプログラムをプリロードしてもよい。共有メモリ205は、CPU0とCPU1に共有されるメモリであり、具体的には、たとえば、RAM211と、ROM212と、フラッシュROM213と、フラッシュROMコントローラ214と、フラッシュROM215と、などを有している。アービター204は、各CPUから共有メモリ205へのアクセス要求を調停する。ROM212は、ブートプログラムなどのプログラムを記憶している。RAM211は、各CPUのワークエリアとして使用される。フラッシュROM213は、OS220やOS221などのシステムソフトウェアやアプリケーションのプログラムを記憶している。RAM211はフラッシュROM213よりも各CPUからのアクセス速度が速い。各OSがアプリケーションのプログラムをフラッシュROM213からRAM211へロードすることにより、該アプリケーションのコンテキスト情報がRAM211内に展開される。フラッシュROMコントローラ214は、各CPUの制御に従ってフラッシュROM215に対するデータのリード/ライトを制御する。フラッシュROM215は、フラッシュROMコントローラ214の制御で書き込まれたデータを記憶する。データの具体例としては、マルチコアプロセッサシステム200を使用するユーザがI/F203を通して取得した画像データ、映像データなどである。フラッシュROM215は、たとえば、メモリカード、SDカードなどを採用することができる。クロック供給回路207は、CPUなど各部へクロックを供給する。ここでは、クロック供給回路207が供給可能なクロックの周波数は100[MHz]と200[MHz]とする。クロック供給回路207は、レジスタ209とレジスタ210を有する。レジスタ209は、CPU0へ与えるクロックの周波数を設定可能であり、レジスタ210は、CPU1へ与えるクロックの周波数を設定可能である。レジスタの値209が0であれば、CPU0へ与えるクロックの周波数が100[MHz]であり、レジスタ209の値が1であれば、CPU0へ与えるクロックの周波数が200[MHz]である。レジスタ210の値が0であれば、CPU1へ与えるクロックの周波数が100[MHz]であり、レジスタ210の値が1であれば、CPU1へ与えるクロックの周波数が200[MHz]である。本実施の形態では、アプリケーションのプリロード時に各CPUへ与えるクロックの周波数を200[MHz]とし、通常のアプリケーションの実行中に各CPUへ与えるクロックの周波数を100[MHz]とする。マルチコアプロセッサシステム200の機能ブロック図図3は、マルチコアプロセッサシステム200の機能ブロック図を示す説明図である。マルチコアプロセッサシステム200は、プリロード部301と、展開部302と、実行部303と、制御部304と、を有する。具体的には、たとえば、プリロード部301~制御部304を有するプログラムがフラッシュROM213などのストレージに記憶されている。CPU0やCPU1が該記憶装置にアクセスして該プログラムを読み出し、該プログラム内にコーディングされている処理を実行することにより、該プリロード部301~制御部304の処理が実行される。プリロード部301は、対象アプリケーションのプログラムをRAM211の複数のフラグメント領域にプリロードする。ここで、フラグメント領域とは、RAM211の空き領域のうち、格納可能なデータのサイズが所定サイズ以下である空き領域である。本実施の形態では、各アプリケーションのサイズの中で最も小さいサイズMinアプリケーションのサイズ≧所定サイズとする。プリロード部301は、対象アプリケーションのプログラムが実行されるまでの予測時刻と対象アプリケーションのプログラムをプリロードするための時間とが所定の関係を満たすときに、プリロ-ドを開始する。また、プリロード部301は、プロセッサが他のアプリケーションを実行していないときに、対象アプリケーションのプログラムをプリロードしてもよい。プリロード部301は、分割部311と、特定部312と、格納部313と、を有している。分割部311は、フラッシュROM213などのストレージに記憶された対象アプリケーションのプログラムを複数のコードに分割する。特定部312は、フラッシュROM213よりもアクセス速度が速いRAM211内の空き領域群から、合計サイズが対象アプリケーションのプログラムのサイズより大きい2以上の空き領域を特定する。格納部313は、特定部312により特定された2以上の空き領域に分割部311により分割された複数のコードを分散して格納する。制御部304は、対象アプリケーションのプログラムをプリロードするときの動作クロックの周波数を、プログラムを実行するときの動作クロックの周波数より高くする。展開部302は、複数のフラグメント領域に格納されている対象アプリケーションのプログラムを結合してRAM211の領域に展開する。実行部303は、展開することにより得られる対象アプリケーションのコンテキスト情報に基づいて対象アプリケーションのプログラムを実行する。また、展開部302は、対象アプリケーションのプログラムの一部がフラグメント領域に格納されているとき、対象アプリケーションのプログラムの一部以外のプログラムをプリロードする。そして、展開部302は、フラグメント領域に格納される対象プログラムの一部と結合して、RAM211の領域に展開する。実行部303は、展開部302により展開された対象アプリケーションのプログラムのコンテキストを用いて対象アプリケーションのプログラムを実行する。以下に例1,2を用いて詳細に説明する。例1では、アプリBのプログラムをプリロードし、アプリBの起動指示を受け付けると、各フラグメント領域にプリロードした部分コードを結合してアプリBのコンテキスト情報を生成する例を示す。例2では、各フラグメント領域にアプリBのプログラムの一部がプリロードされている場合、アプリBのプログラムの残りのコードをロードし、プリロード済のコードと残りのコードを結合してアプリBのコンテキスト情報を生成する例を示す。例1図4は、トリガテーブルの一例を示す説明図である。トリガテーブル400は、アプリケーションのIDの項目401と、サイズの項目402と、プリロード時間の項目403と、起動予測時刻の項目404と、を有している。アプリケーションのIDの項目401には、アプリケーションの識別情報が登録される。サイズの項目402には、アプリケーションのIDの項目401に識別情報が登録されたアプリケーションのサイズが登録される。プリロード時間の項目403には、アプリケーションのIDの項目401に識別情報が登録されたアプリケーションのプログラムをプリロードするのに要するプリロード時間が登録される。プリロード時間については、アプリケーションの設計者がESLツールElectronicSystemLevelなどで計測してもよいし、OS220が複数回プリロード時間を計測して更新してもよい。起動予測時刻の項目404には、アプリケーションのIDの項目401に識別情報が登録されたアプリケーションの起動予測時刻が登録される。アプリケーションの起動予測については、公知たとえば、上述の引用文献1を参照。であるため、詳細な説明を省略する。たとえば、アプリBであれば、アプリBのサイズは100[KB]であり、プリロード時間は500[ms]であり、起動予測時刻は8時15分00秒である。プリロードの開始が8時15分00秒の500[ms]前であれば、起動予測時刻までにアプリBのプリロードが完了する。ここでは、MinアプリケーションのサイズはアプリCのサイズであるため、フラグメント領域は、空き領域群のうちサイズが80[KB]以下の空き領域である。図5は、RAM211の空き領域の一例を示す説明図である。図5では、RAM211の領域と空き領域リスト500を示している。RAM211の領域では、使用領域と空き領域とが示されている。空き領域リスト500は、RAM211領域のうちの空き領域に関する物理アドレスの情報をデータとするノード501~ノード50xを有している。空き領域リスト500では、物理アドレスの値が小さい順にノードが接続されている。図6は、フラグメント領域管理テーブルの一例を示す説明図である。フラグメント領域管理テーブル600は、フラグメント領域の項目601と、フラグメントサイズの項目602と、状態の項目603と、を有している。フラグメント領域の項目601には、図5で示した空き領域のうち所定サイズ以下であるフラグメント領域のノード番号が登録される。フラグメント領域の項目601に登録されるノード番号と、空き領域リスト500のノード番号とは、関連付けられていることとする。フラグメントサイズの項目602には、フラグメント領域の項目601にノード番号が登録されたフラグメント領域に格納可能なデータのサイズが登録される。状態の項目603は、フラグメント領域の項目601にアドレスが登録されたフラグメント領域にプリロードされたデータが格納されていれば、使用が登録され、プリロードされたデータが格納されていなければ、未使用が登録される。ここでは、図6で示すフラグメント領域管理テーブル600では、いずれのフラグメント領域も使用されていないため、すべて未使用が登録されている。図7は、プリロードアプリ管理テーブルの一例を示す説明図である。プリロードアプリ管理テーブル700は、アプリケーションのIDの項目701と、利用フラグメントの項目702と、プリロード領域の項目703と、プリロード状態の項目704と、アプリケーション全体のプリロード状態の項目705と、を有している。アプリケーションのIDの項目701には、プリロードされたアプリケーションの識別情報が登録される。アプリケーションのIDの項目701に登録される識別情報と、図4のアプリケーションのIDの項目401に登録される識別情報と、は関連付けられていることとする。利用フラグメントの項目702は、プリロード先であるフラグメント領域のノード番号を登録する。利用フラグメントの項目702に登録されるノード番号と、フラグメント領域管理テーブル600内のフラグメント領域の項目601に登録されるノード番号とは、関連付けられていることとする。プリロード領域の項目703には、アプリケーションのIDの項目701に識別情報が登録されたアプリケーションのプログラムのうち、利用フラグメントの項目702に登録されたノードが示すフラグメント領域に格納された部分コードの論理アドレスが登録される。プリロード状態の項目704には、該部分コードをフラグメント領域へ格納する処理が完了しているか未完了であるかが登録される。本実施の形態では、フラグメント領域に部分コードを格納後にプリロード状態の項目704には完了が登録される。そして、本実施の形態では、該フラグメント領域に実行中のアプリケーションの実行に関する情報が登録されると、部分コードが消されてしまうため、プリロード状態の項目704には未完了が登録される。アプリケーション全体のプリロード状態の項目705には、アプリケーション全体をフラグメント領域へ格納する処理が完了しているか未完了であるかが登録される。本実施の形態では、フラグメント領域にアプリケーション全体を格納後にアプリケーション全体のプリロード状態の項目705には完了が登録される。そして、本実施の形態では、該フラグメント領域に実行中のアプリケーションの実行に関する情報が登録されると、部分コードが消されてしまうため、アプリケーション全体のプリロード状態の項目705には未完了が登録される。図8は、並列プリローダの割当例を示す説明図である。並列プリローダとは、アプリケーションのプログラムをプリロードする機能を有する。OS220が、並列プリローダ並列プリローダ801,802を各CPUに割り当てる。各OSは、割り当てられた並列プリローダをスリープ状態に設定する。図9は、アプリAの実行例を示す説明図である。OS220が、アプリAの起動指示を受け付けると、プリロードアプリ管理テーブル700のアプリケーションのIDの項目701にアプリAの識別情報が登録されているか否かを判断する。図7で示したようにプリロードアプリ管理テーブル700のアプリケーションのIDの項目701にアプリAの識別情報は登録されていない。OS220が、アプリAのプログラムをフラッシュROM213からRAM211へロードすることにより、アプリAのコンテキスト情報を生成する。OS220が、アプリAの割当先をCPU0に決定し、生成したアプリAのコンテキストを用いてアプリAを実行する。図10は、アプリAを実行後のRAM211の空き領域を示す説明図である。RAM211の領域は、アプリAのコンテキストの領域が加わったため、空き領域が変化したので、MMU230が空き領域リスト500を更新する。OS220が、空き領域リスト500から更新されたノード502を特定する。OS220が、該特定したノード502のデータである物理アドレスが示す空き領域のサイズが、所定サイズ以下であるか否かを判断する。そして、OS220が、ノード502が示す空き領域をフラグメント領域に特定する。図11は、空き領域変化に伴うフラグメント領域管理テーブル600の更新例を示す説明図である。OS220が、フラグメント領域管理テーブル600に特定したノード502と、特定したノード502が示すフラグメント領域のサイズと、該フラグメント領域の状態とを登録する。図11で示すフラグメント領域管理テーブル600には、ノード502に関する情報が追加されている。図12は、アプリBのプリロード例を示す説明図である。トリガテーブル400に基づいてアプリBの起動時刻からアプリBのプリロード時間を引いた時刻となるとOS220がアプリBのプリロードのトリガを発生させる。時刻については、OS220がソフトウェアタイマを実行することによりカウントしていることとする。OS220が、プリロードアプリ管理テーブル700のアプリケーションのIDの項目701にアプリBの識別情報を登録し、プリロード状態の項目704を未完了に設定する。OS220が、キャッシュ240内のフラグをONに設定し、並列プリローダ801のスリープを解除する。スヌープコントローラ208は、キャッシュ内のフラグの変化を検出すると、キャッシュ241内のフラグをONに設定する。そして、キャッシュ241内のフラグがONになると、OS221が並列プリローダ802のスリープを解除する。並列プリローダ801または並列プリローダ802が、プリロードアプリ管理テーブル700のアプリケーション全体のプリロード状態の項目705に未完了が登録されているアプリケーションを特定する。並列プリローダ801または並列プリローダ802が、アプリBのアプリケーション全体のプリロード状態の項目705が未完了となっているため、レジスタ209またはレジスタ210の値を1に設定する。並列プリローダ801または並列プリローダ802が、トリガテーブル400のサイズの項目402に基づいてアプリBのサイズを特定する。図13は、アプリBのプリロード先の確保例を示す説明図である。並列プリローダ801または並列プリローダ802が、フラグメント領域管理テーブル600の各フラグメント領域のサイズの項目に基づいてアプリBのサイズ分のフラグメント領域を確保する。ここでは、ノード501と、ノード502とが示すフラグメント領域がアプリBのプリロード先の領域として確保されることとする。並列プリローダ801または並列プリローダ802が、フラグメント領域管理テーブル600内のノード501とノード502に関する状態の項目603を使用に更新する。並列プリローダ801または並列プリローダ802が、プリロードアプリ管理テーブル700に確保したフラグメント領域のアドレスを登録する。並列プリローダ801または並列プリローダ802が、プリロードアプリ管理テーブル700のプリロード領域の項目703に確保した各フラグメント領域に格納するアプリBのプログラムのうちの部分コードの論理アドレスを登録する。並列プリローダ801または並列プリローダ802が、フラッシュROM213から各フラグメント領域へ部分コードを格納する。たとえば、並列プリローダ801が、アプリBの部分コード1201をRAM211へ格納し、並列プリローダ802が、アプリBの部分コード1202をRAM211へ格納する。そして、各並列プリローダが、プリロードアプリ管理テーブル700のプリロード領域の項目703ごとにプリロードが完了したら、プリロード状態の項目704を完了に変更する。アプリBのプリロードが完了したら、アプリケーション全体のプリロード状態の項目705を完了に変更する。図14は、プリロードアプリ管理テーブル700の更新例を示す説明図である。図14のプリロードアプリ管理テーブル700では、アプリBに関する利用フラグメントの項目702にノード501とノード502が登録されている。図14のプリロードアプリ管理テーブル700では、アプリBに関するプリロード領域の項目703に0xAA~0xBと0xBC~0xCCが登録されている。図14のプリロードアプリ管理テーブル700のアプリBに関するプリロード状態の項目704と、アプリケーション全体のプリロード状態の項目705には、すべて完了が登録されている。図15は、アプリBをプリロード後のRAM211の領域例を示す説明図である。RAM211の領域には2個所にアプリBの部分コードの領域がある。アプリBはプリロード時に実行されるわけではないため、空き領域リスト500は更新されない。すなわち、RAM211にはアプリBの部分コードが格納されているが、他のアプリケーションはアプリBの部分コードに該他のアプリケーションの情報を格納することができる。つぎに、プリロードアプリ管理テーブル700内のすべてのアプリケーションのアプリケーション全体のプリロード状態の項目705が完了であれば、並列プリローダ801と並列プリローダ802は、それぞれレジスタ209とレジスタ210の値を0に設定する。並列プリローダ801と並列プリローダ802は、それぞれ起動フラグをOFFし、スリープ状態に移行する。図16は、アプリBの実行を示す説明図である。OS220がアプリBの起動指示を受け付けると、アプリBの部分コード1201とアプリBの部分コード1202とを結合することにより、アプリBのコードを生成する。結合については、プリロードアプリ管理テーブル700のプリロード領域に記述されている論理アドレス順に結合する。OS220が、生成したアプリBのコードを展開することにより、アプリBのコンテキストを生成する。アプリBのコードからアプリBのコンテキストへの展開処理については、従来のコンテキストへの展開処理と同一であるため、詳細な説明は省略する。OS220がアプリBをCPU1に割り当て、OS221がアプリBを実行する。図17は、例1におけるアプリBのコンテキスト生成後のRAM211の領域を示す説明図である。RAM211の領域では、アプリBのコンテキストの領域があるが、アプリBの部分コードの領域がなくなる。そして、アプリBのコンテキストが生成されたため、MMU230が、空き領域リスト500のノード505のアドレスを更新する。図18は、例1におけるアプリBのコンテキスト生成後のフラグメント領域管理テーブル600を示す説明図である。OS220が、ノード501とノード502に関する状態の項目603を未使用に更新する。空き領域リスト500が更新されると、OS220が、空き領域リスト500内で更新されたノード505を特定する。OS220が、特定したノード505のデータに基づいて該ノード505が示す空き領域のサイズが所定サイズ以下であるか否かを判断する。ここでは、該ノード505が示す空き領域のサイズが所定サイズ以下であると判断されることにより、ノード505が示す空き領域がフラグメント領域であると特定される。OS220が、フラグメント領域管理テーブル600へあらたに特定したノード505に関する情報を追加する。図19は、プリロードアプリ管理テーブル700の更新例を示す説明図である。アプリBが起動されたため、OS220がプリロードアプリ管理テーブル700からアプリBに関する情報を削除する。例2つぎに、例2では、アプリBのプリロードされたフラグメント領域が他のアプリケーションの処理で使用された場合について説明する。例2では、例1のアプリBがプリロードされる処理図4~図15までは同一であるため、プリロード後の処理について説明する。図20は、アプリAのコンテキストの領域が動的に広がる例を示す説明図である。アプリAの実行中に格納するデータが増加した場合などに、アプリAはアプリAのコンテキストの領域を動的に確保する。RAM211へのアクセスを効率的に行うために、連続して領域を確保する方がよいため、アプリAはアプリAのコンテキストの領域を動的に広げる。アプリBの部分コードが格納されたフラグメント領域がアプリAのコンテキストの領域になってしまうため、MMU230が空き領域リスト500のノードのデータを更新する。図21は、フラグメント領域管理テーブル600の更新例を示す説明図である。OS220が、空き領域リスト500内で更新されたノードを特定する。OS220が、特定したノード502のデータが示す領域のサイズが所定サイズ以下であるか否かを判断することにより、特定したノード502のデータが示す領域がフラグメント領域であるか否かを判断する。OS220が、特定したノード502のデータが示す領域がフラグメント領域であると判断すると、フラグメント領域管理テーブル600のフラグメント領域の項目601に登録されているノード番号から特定したノード502を検索する。OS220が、検索したノード番号に関するフラグメントサイズの項目602を該特定したノード502が示すフラグメント領域のサイズに更新する。図22は、プリロードアプリ管理テーブル700の更新例を示す説明図である。更新されたノード502の状態が使用状態であり、かつ更新されたノード502が示すフラグメント領域が削減されたため、OS220が、プリロードアプリ管理テーブル700でノード502に関するプリロード状態の項目704を未完了に更新し、アプリケーション全体のプリロード状態の項目705を未完了に更新する。図23は、アプリBの実行を示す説明図である。OS220が、アプリBの起動指示を受け付けると、プリロードアプリ管理テーブル700を参照し、アプリケーション全体のプリロード状態の項目705が未完了であるので、プリロード状態の項目704が未完了となっているアプリBの部分コードを特定する。論理アドレスが0xBC~0xCCである部分コードのプリロードが未完了であるため、アプリBの部分コードをRAM211へロードする。OS220が、ロードしたアプリBの部分コードと、プリロード済のアプリBの部分コードとを結合し、アプリBのコンテキストを生成する。そして、OS220が、アプリBの割当先をCPU1に決定すると、アプリBがCPU1に割り当てられ、OS221がアプリBを実行する。図24は、例2におけるアプリBのコンテキスト生成後のRAM211の領域を示す説明図である。RAM211の領域では、アプリBのコンテキストの領域があるが、アプリBの部分コードの領域がなくなる。そして、アプリBのコンテキストが生成されたため、MMU230が、空き領域リスト500のノードのデータを更新する。図25は、例2におけるアプリBのコンテキスト生成後のフラグメント領域管理テーブル600を示す説明図である。OS220が、ノード番号501とノード番号502に関する状態の項目603を未使用に更新する。空き領域リスト500が更新されると、OS220が、空き領域リスト500内で変化があるノードのデータに基づいて該ノードが示す空き領域のサイズが所定サイズ以下であるか否かを判断することにより、あらたなフラグメント領域を特定する。ここでは、該ノード505が示す空き領域のサイズが所定サイズ以下であると判断され、OS220が、フラグメント領域管理テーブル600へあらたにノード505に関する情報を追加する。マスタOSによるロード制御処理手順図26は、マスタOSによるロード制御処理手順の一例を示すフローチャートである。まず、マスタOSが、RAM211の空き領域の変化、プリロードトリガの発生、または全アプリケーションの終了を検出したか否かを判断するステップS2601。マスタOSが、RAM211の空き領域の変化、プリロードトリガの発生、および全アプリケーションの終了を検出していない場合ステップS2601:No、ステップS2601へ戻る。マスタOSが、RAM211の空き領域の変化を検出した場合ステップS2601:空き領域の変化、空き領域群からフラグメント領域を特定するステップS2602。マスタOSが、フラグメント領域に変化があるか否かを判断しステップS2603、フラグメント領域に変化がないと判断した場合ステップS2603:No、ステップS2601へ戻る。マスタOSが、フラグメント領域に変化があると判断した場合ステップS2603:Yes、フラグメント領域が削減されているか否かを判断するステップS2604。マスタOSが、フラグメント領域が削減されていると判断した場合ステップS2604:Yes、フラグメント領域管理テーブル600とプリロードアプリ管理テーブル700を更新しステップS2605、ステップS2601へ戻る。マスタOSが、フラグメント領域が削減されていないと判断した場合ステップS2604:No、フラグメント領域管理テーブル600を更新しステップS2606、ステップS2601へ戻る。ステップS2601において、マスタOSが、プリロードトリガの発生を検出した場合ステップS2601:プリロードトリガ、発生が検出されたアプリケーションがRAM211上にあるか否かを判断するステップS2607。本実施の形態では、プリロードトリガの発生によって対象アプリケーションのプリロードを開始するが、他のアプリケーションが実行してないときにプリロードの必要がある対象アプリケーションのプリロードを開始してもよい。マスタOSが、発生が検出されたアプリケーションがRAM211上にあると判断した場合ステップS2607:Yes、ステップS2601へ戻る。マスタOSが、発生が検出されたアプリケーションがRAM211上にないと判断した場合ステップS2607:No、プリロードするアプリをプリロードアプリ管理テーブル700に登録するステップS2608。マスタOSが、並列プリローダの起動フラグをONに設定しステップS2609、ステップS2601へ戻る。ステップS2601において、マスタOSが、全アプリケーションの終了を検出したと判断した場合ステップS2601:処理終了、一連の処理を終了する。各OSによるロード制御処理手順図27は、各OSによるロード制御処理手順の一例を示すフローチャートである。マスタOSとスレーブOSとの各OSの処理について説明する。まず、OSが、並列プリローダをディスパッチするステップS2701。OSが、タスクディスパッチ、起動フラグのON設定、または全アプリケーションの処理終了を検出したか否かを判断するステップS2702。OSが、タスクディスパッチ、起動フラグのON設定、および全アプリケーションの処理終了を検出していないと判断した場合ステップS2702:No、ステップS2702へ戻る。OSが、タスクディスパッチを検出したと判断した場合ステップS2702:タスクディスパッチ、ディスパッチされたアプリケーションのIDがプリロードアプリ管理テーブル700に存在するか否かを判断するステップS2703。OSが、ディスパッチされたアプリケーションのIDがプリロードアプリ管理テーブル700に存在しないと判断した場合ステップS2703:No、ディスパッチされたアプリケーションをRAM211にロードするステップS2704。そして、OSが、ディスパッチされたアプリケーションを実行するステップS2705。OSが、ディスパッチされたアプリケーションのIDがプリロードアプリ管理テーブル700に存在すると判断した場合ステップS2703:Yes、ディスパッチされたアプリケーションのプリロードが完了したか否かを判断するステップS2706。OSが、ディスパッチされたアプリケーションのプリロードが完了したと判断した場合ステップS2706:Yes、ステップS2709へ移行する。OSが、ディスパッチされたアプリケーションのプリロードが完了していないと判断した場合ステップS2706:No、未プリロード部分をRAM211にロードするステップS2707。OSが、ロードした各部分コードを結合し、RAM211に展開することにより、ディスパッチされたアプリケーションのコンテキストを生成するステップS2708。OSが、ディスパッチされたアプリケーションを実行するステップS2709。OSが、フラグメント領域管理テーブル600とプリロードアプリテーブルを更新するステップS2710。OSが、起動フラグのON設定を検出した場合ステップS2702:ONに設定、並列プリローダのスリープを解除しステップS2703、ステップS2702へ戻る。OSが、全アプリケーションの処理終了を検出した場合ステップS2702:処理終了、一連の処理を終了する。並列プリローダによるプリロード処理手順図28は、並列プリローダによるプリロード処理手順の一例を示すフローチャートである。並列プリローダが、起動フラグをチェックするステップS2801。並列プリローダが、起動フラグがOFFの場合ステップS2801:OFF、ステップS2804へ移行する。並列プリローダが、起動フラグがONの場合ステップS2801:ON、プリロードアプリ管理テーブル700を参照し、アプリケーション全体のプリロード状態の項目705が未完了のアプリケーションが存在するかを判断するステップS2802。並列プリローダが、アプリケーション全体のプリロード状態の項目705が未完了のアプリケーションが存在しないと判断した場合ステップS2802:No、起動フラグをOFFに設定するステップS2803。並列プリローダが、クロック周波数を下げるステップS2804。具体的には、並列プリローダが、クロック供給回路207に並列プリローダを実行するCPUへ供給されるクロックの周波数を変更可能なレジスタの値を変更する。並列プリローダを実行するCPUへ供給されるクロックの周波数が100[MHz]に設定される。並列プリローダが、スリープ状態に移行しステップS2805、一連の処理を終了する。ステップS2802において、並列プリローダが、アプリケーション全体のプリロード状態の項目705に未完了のアプリケーションが存在すると判断した場合ステップS2802:Yes、クロック周波数を上げるステップS2706。具体的には、並列プリローダが、クロック供給回路207に並列プリローダを実行するCPUへ供給されるクロックの周波数を変更可能なレジスタの値を変更する。並列プリローダを実行するCPUへ供給されるクロックの周波数が200[MHz]に設定される。並列プリローダが、複数のフラグメント領域から、プリロードするアプリケーションのフラグメント領域を特定しステップS2807、特定が成功したか否かを判断するステップS2808。並列プリローダが、特定が成功したと判断した場合ステップS2808:Yes、フラグメント領域管理テーブル600を更新するステップS2809。並列プリローダが、プリロードアプリ管理テーブル700にプリロードする部分コードのアドレスを登録し、特定したフラグメント領域へ部分コードを格納するステップS2810。並列プリローダが、アプリケーションのプリロードが完了したか否かを判断するステップS2811。並列プリローダが、アプリケーションのプリロードが完了したと判断した場合ステップS2811:Yes、プリロードアプリ管理テーブル700のアプリケーション全体のプリロード状態の項目705を完了に変更しステップS2812、ステップS2801へ戻る。並列プリローダが、アプリケーションのプリロードが完了していないと判断した場合ステップS2811:No、ステップS2801へ戻る。以上説明したように、システム、およびデータロード方法によれば、複数のプロセッサで実行されているプログラム以外の対象アプリケーションのプログラムをメモリのフラグメント領域にプリロードする。これにより、スワップさせることなく、上書きされるリスクを分散できる。したがって、アプリケーションの起動時の処理を高速化することができ、応答性を向上させることができる。また、プリローダがプリロードするプログラムがないときにはスリープモードに設定される。これにより、プリローダを常時実行させないことで、低消費電力化を図ることができる。また、対象アプリケーションが実行されるまでの予測時間と対象アプリケーションをプリロードするための時間とが所定の関係を満たすときに、スリープモードの設定が解除される。これにより、対象アプリケーションの起動指示を受け付ける前に、対象アプリケーションをプリロードすることができ、アプリケーションの起動時の処理を高速化することができる。また、フラグメント領域を管理する第1テーブルを含み、第1テーブルにフラグメントの使用状況が格納される。これにより、プリロード先が重なることを防止することができ、フラグメント領域を効率よく使用することができる。また、各アプリケーションのプログラムを管理する第2テーブルを含み、第2テーブルに各アプリケーションのプログラムをプリロードするための時間が格納される。これにより、対象アプリケーションの起動指示を受け付ける前に、対象アプリケーションをプリロードすることができ、アプリケーションの起動時の処理を高速化することができる。また、対象プログラムをプリロードするときの動作クロックの周波数を、プログラムを実行するときの動作クロックの周波数より高くする。これにより、プリロードを高速化することができる。なお、データロード方法は、予め用意されたプログラムをマルチコアプロセッサのうちのいずれかのCPUで実行することにより実現することができる。また、該プログラムは、フラッシュROM213などのマルチコアプロセッサのいずれかのCPUが読み取り可能な記録媒体に記録され、マルチコアプロセッサのいずれかのCPUによって記録媒体から読み出されることによって実行されてもよい。また、該プログラムは、インターネット等のネットワークを介して配布されてもよい。"