JP2010186411A - プログラム実行装置、プログラム実行方法、及びプログラム - Google Patents
プログラム実行装置、プログラム実行方法、及びプログラム Download PDFInfo
- Publication number
- JP2010186411A JP2010186411A JP2009031433A JP2009031433A JP2010186411A JP 2010186411 A JP2010186411 A JP 2010186411A JP 2009031433 A JP2009031433 A JP 2009031433A JP 2009031433 A JP2009031433 A JP 2009031433A JP 2010186411 A JP2010186411 A JP 2010186411A
- Authority
- JP
- Japan
- Prior art keywords
- program
- storage means
- association
- executing
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F12/1036—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Memory System (AREA)
Abstract
【課題】効率よくプログラムを実行することが可能なプログラム実行装置を提供する。
【解決手段】プログラム実行装置は、第1のプログラムを記憶した第1の記憶手段と、前記第1の記憶手段からロードされた一部プログラムを記憶するための第2の記憶手段と、前記第1の記憶手段の前記第1のプログラムの第1の記憶領域と仮想メモリの第1の仮想領域とを対応付ける第1の対応付けを実行し、この第1の対応付けに基づいて前記第1の記憶手段に記憶された前記第1のプログラムを実行し、前記一部プログラムの実行要求に対応して前記一部プログラムを前記第2の記憶手段へ書き込み、前記第2の記憶手段の前記一部プログラムの第2の記憶領域と仮想メモリの第2の仮想領域と対応付ける第2の対応付けを実行し、前記第2の対応付けに基づいて前記第2の記憶手段に記憶された前記一部プログラムを実行する制御手段と、を備える。
【選択図】図2C
【解決手段】プログラム実行装置は、第1のプログラムを記憶した第1の記憶手段と、前記第1の記憶手段からロードされた一部プログラムを記憶するための第2の記憶手段と、前記第1の記憶手段の前記第1のプログラムの第1の記憶領域と仮想メモリの第1の仮想領域とを対応付ける第1の対応付けを実行し、この第1の対応付けに基づいて前記第1の記憶手段に記憶された前記第1のプログラムを実行し、前記一部プログラムの実行要求に対応して前記一部プログラムを前記第2の記憶手段へ書き込み、前記第2の記憶手段の前記一部プログラムの第2の記憶領域と仮想メモリの第2の仮想領域と対応付ける第2の対応付けを実行し、前記第2の対応付けに基づいて前記第2の記憶手段に記憶された前記一部プログラムを実行する制御手段と、を備える。
【選択図】図2C
Description
本発明は、例えば起動プログラムを実行するプログラム実行装置及びプログラム実行方法、並びにこのプログラム実行装置に適用可能なプログラムに関する。
CPU(central processing unit)により制御される代表的な機器としてパーソナルコンピュータが挙げられるが、近年では、映像機器のデジタル化に伴いデジタルTV及びハードディスクレコーダなどもCPUにより動作が制御されている。
CPUは、例えば、NOR Flash又はMask ROMなどの不揮発性メモリに記憶されたプログラムをRAMへ展開し、RAM上のプログラムを実行する。RAMは、上記した不揮発性メモリに比べて高速アクセスに優れているため、プログラムの実行速度を速めることができる。ところが、不揮発性メモリに記憶されたプログラムをロードしたり、不揮発性メモリにプログラムを展開したりするための時間が必要となり、機器の起動時間が遅くなる傾向にある。
機器の起動時間を短縮するために、例えば、CPUが、NOR Flash又はMask ROMなどのメモリに記憶されたプログラムを直接実行するシステムが提案されている。しかしながら、頻繁にプログラムを実行する場合には、CPUが、RAMに比して高速アクセスに劣る不揮発性メモリへ頻繁にアクセスしなければならず、全体の処理速度が低下してしまう。
そこで、電源がオンされたときに、プログラム実行領域である仮想アドレスをFlashメモリの物理メモリ領域にマップし、プログラムをFlashメモリ上で動作させ、その後、プログラムをRAMへロードし、仮想アドレスをRAMの物理メモリ領域へリマップする技術が提案されている(特許文献1参照)。
上記特許文献1に開示された技術は、プログラムの全てをRAMへロードしている。そのため、例えば電源オンの直後(起動中)にしか参照しないプログラムであっても、起動後にRAMへロードされることになり、無駄なロード時間が生じるだけでなくシステムに余計な負荷がかかる。
本発明の目的は、より効率よくプログラムを実行することが可能なプログラム実行装置、プログラム実行方法、及びその実行プログラムを提供することにある。
本発明の一実施形態に係るプログラム実行装置は、第1のプログラムを記憶した第1の記憶手段と、前記第1の記憶手段からロードされた一部プログラムを記憶するための第2の記憶手段と、前記第1の記憶手段の前記第1のプログラムの第1の記憶領域と仮想メモリの第1の仮想領域とを対応付ける第1の対応付けを実行し、この第1の対応付けに基づいて前記第1の記憶手段に記憶された前記第1のプログラムを実行し、前記一部プログラムの実行要求に対応して前記一部プログラムを前記第2の記憶手段へ書き込み、前記第2の記憶手段の前記一部プログラムの第2の記憶領域と仮想メモリの第2の仮想領域と対応付ける第2の対応付けを実行し、前記第2の対応付けに基づいて前記第2の記憶手段に記憶された前記一部プログラムを実行する制御手段と、を備える。
本発明の一実施形態に係るプログラム実行方法は、第1の記憶手段の第1のプログラムの第1の記憶領域と仮想メモリの第1の仮想領域とを対応付ける第1の対応付けを実行し、前記第1のプログラムの実行要求に対応して前記第1の対応付けに基づいて前記第1の記憶手段に記憶された前記第1のプログラムを実行し、前記第1プログラムの一部プログラムの実行要求或いは第2のプログラムの実行要求に対応して前記一部プログラム或いは前記第2のプログラムを前記第2の記憶手段へ書き込み、前記第2の記憶手段の前記一部プログラム或いは前記第2のプログラムの第2の記憶領域と仮想メモリの第2の仮想領域と対応付ける第2の対応付けを実行し、前記第2の対応付けに基づいて前記第2の記憶手段に記憶された前記一部プログラム或いは前記第2のプログラムを実行する。
本発明の一実施形態に係るプログラムは、第1の記憶手段の第1のプログラムの第1の記憶領域と仮想メモリの第1の仮想領域とを対応付ける第1の対応付けを実行する手順と、前記第1のプログラムの実行要求に対応して前記第1の対応付けに基づいて前記第1の記憶手段に記憶された前記第1のプログラムを実行する手順と、前記第1プログラムの一部プログラムの実行要求或いは第2のプログラムの実行要求に対応して前記一部プログラム或いは前記第2のプログラムを前記第2の記憶手段へ書き込む手順と、前記第2の記憶手段の前記一部プログラム或いは前記第2のプログラムの第2の記憶領域と仮想メモリの第2の仮想領域と対応付ける第2の対応付けを実行する手順と、前記第2の対応付けに基づいて前記第2の記憶手段に記憶された前記一部プログラム或いは前記第2のプログラムを実行する手順と、をコンピュータに実行させる。
本発明によれば、より効率よくプログラムを実行することが可能なプログラム実行装置、プログラム実行方法、及びその実行プログラムを提供できる。
以下、図面を参照し、本発明の実施形態について説明する。
図1は、本発明の一実施形態に係るプログラム実行装置の概略構成を示す図である。このプログラム実行装置は、パーソナルコンピュータ、デジタルTV、ハードディスクレコーダなどに適用することができる。
図1に示すようにプログラム実行装置は、CPUなどで構成することが可能な制御モジュール1、NOR Flash又はMask ROMなどのプログラムメモリ2、RAMなどで構成することが可能なメインメモリ3、HDD(ハードディスクドライブ)又はNAND Flashなどで構成することが可能なストレージ4を備え、制御モジュール1、プログラムメモリ2、メインメモリ3、ストレージ4は、バス5を介して接続されている。
次に、図2A〜図2C及び図3を参照して、プログラム実行装置による第1のプログラム実行処理について説明する。図2Aは、プログラム実行装置の起動中に仮想メモリとプログラムメモリ2とがマップ(対応付け)された状態を示す図である。図2Bは、プログラム実行装置の起動直後に仮想メモリとプログラムメモリ2とのマップが無効(Invalid)にされた状態を示す図である。図2Cは、プログラム実行装置の起動後に仮想メモリとメインメモリ3とがマップされた状態を示す図である。また、図3は、第1のプログラム実行処理の動作を説明するための図である。
プログラム実行装置は、起動中において、プログラムメモリ2に記憶されたプログラムを直接実行し、起動後は、プログラムメモリ2に記憶されたプログラムのうちの必要なプログラム(一部プログラム)だけをメインメモリ3へロードし、メインメモリ3にロードされた一部プログラムを実行する。詳細は、以下の通りである。
プログラム実行装置の電源がオンされると(ST101)、オペレーティングシステムにより、制御モジュール1は、プログラムメモリ2に記憶されたプログラムを起動するため、仮想メモリ空間を生成する。
さらに、図2Aに示すように、制御モジュール1は、プログラムメモリ2に記憶されたプログラムを直接実行するために、プログラムメモリ2に記憶されたプログラムの第1の記憶領域と仮想メモリ空間の第1の仮想領域とをマップする(ST102)。即ち、制御モジュール1は、プログラムメモリ2のプログラムの第1の記憶領域を構成する複数のページと仮想メモリ空間の第1の仮想領域を構成する複数のページとを対応付けた第1の対応情報を設定し、第1の対応情報に含まれた各ページエントリを有効(V: Valid)に設定する。この各ページエントリの有効設定により、制御モジュール1は、仮想メモリ空間(第1の仮想領域)へアクセスした場合に、page faultと呼ばれる例外を発生させることなく、第1の対応情報に基づきプログラムメモリ2のプログラムへアクセスすることができ、このプログラムを実行することができる(ST103)。
プログラムの実行により起動処理が完了すると(ST104、YES)、図2Bに示すように、制御モジュール1は、第1の対応情報に含まれた各ページエントリを無効(IV: Invalid)に設定する(ST105)。プログラム実行装置がデジタルTVに適用されているケースを想定すると、上記した起動処理の完了とは、例えば放送表示の完了に相当する。
上記したように、第1の対応情報に含まれた各ページエントリを無効に設定することにより、制御モジュール1が、仮想メモリ空間(第1の仮想領域)へアクセスした場合に、例外が発生する。つまり、プログラムメモリ2に記憶されたプログラムの一部プログラムの実行要求に基づき(ST106)、制御モジュール1が仮想メモリ空間(第1の仮想領域)へアクセスすると、例外が発生する(ST107、YES)。
上記したように、起動処理の完了後に例外が発生すると(ST107、YES)、図2Cに示すように、制御モジュール1は、プログラムメモリ2に記憶されたプログラムの一部プログラム(要求された一部プログラム)をロードしメインメモリ3に書き込み(ST108)、メインメモリ3の一部プログラムの第2の記憶領域(第1の記憶領域の一部)を構成する一部プログラムページと仮想メモリ空間の第2の仮想領域(第1の仮想領域の一部)を構成するページとを対応付けた第2の対応情報を設定し、第2の対応情報に含まれた各ページエントリを有効(V: Valid)に設定する(ST109)。
なお、図2A及び図2Cから明らかなように、第2の仮想領域の各ページエントリは、第1の仮想領域の一部領域の各ページエントリに対応する。図2Aに示す第1の仮想領域の一部領域の各ページエントリは、プログラムメモリ2の一部プログラムが記憶された領域の物理アドレスを含むのに対して、図2Cに示す第2の仮想領域の各ページエントリは、メインメモリ3に書き込まれた一部プログラムが記憶された領域の物理アドレスを含む。
従って、上記した一部プログラムの実行要求に基づき(ST106)、制御モジュール1は、仮想メモリ空間(第2の仮想領域)へアクセスした場合に、例外を発生させることなく、第2の対応情報に基づきプログラムメモリ3の一部プログラムへアクセスすることができ、この一部プログラムを実行することができる。
上記したように、プログラム実行装置は、起動時には、プログラムメモリ2に記憶されたプログラムを直接実行する。これにより、ロード時間を省くことができ、起動時間を高速化することができる。また、プログラム実行装置は、起動後は、必要になったプログラムだけをメインメモリ3へ書き込み、起動にしか使用しないプログラムはメインメモリ3へ書き込まない。これにより、プログラム全体をメインメモリ3へ書き込むのに比して無駄なロード時間を省くことができるし、メインメモリ3の記憶領域を有効に活用することができる。また、プログラム実行装置は、起動後は、必要になったプログラムだけを逐次メインメモリ3へ書き込むので、プログラムの書き込み負荷を分散することができる。さらに、プログラム実行装置は、起動後は、上記したようにメインメモリ3に書き込まれた一部プログラムを実行するので、プログラムメモリ2に記憶されたプログラムを直接実行するのに比して高速処理が可能となる。
次に、図4及び図5を参照して、プログラム実行装置による第2のプログラム実行処理について説明する。図4は、仮想メモリとプログラムメモリ2とがマップされ、且つ仮想メモリとメインメモリ3とがマップされた状態を示す図である。また、図5は、第2のプログラム実行処理の動作を説明するための図である。
プログラム実行装置のプログラムメモリ2は、第1の使用頻度の第1のプログラムを記憶し、ストレージ4は第1の使用頻度より高い第2の使用頻度の第2のプログラムを記憶する。プログラム実行装置の出荷前のプログラム使用頻度チェックに基づき、使用頻度の低いプログラム(第1のプログラム)がプログラムメモリ2に格納され、使用頻度の高いプログラム(第2のプログラム)がストレージ4(又はプログラムメモリ2)に格納される。例えば、プログラム実行装置がデジタルTVに適用されるケースでは、TVに映像が表示されるまでの間(起動完了までの間)に、どのプログラムがどの程度使用されるかをカウントし、この使用頻度チェックに基づき各プログラムの格納先を決定する。
プログラム実行装置は、プログラムメモリ2に記憶された第1のプログラムの第1の記憶領域と仮想メモリの第1の仮想領域とを第1の対応情報によりマップし、この第1のプログラムを実行する場合は、第1の対応情報に基づいてプログラムメモリ2上の第1のプログラムを直接実行する。さらに、プログラム実行装置は、第2のプログラムの実行が必要になった時点で、ストレージ4(又はプログラムメモリ2)に記憶された第2のプログラムをメインメモリ3に書き込み、メインメモリ3の第2のプログラムの第2の記憶領域と仮想メモリの第2の仮想領域とを第2の対応情報によりマップし、第2の対応情報に基づいてメインメモリ3上の第2のプログラムを実行する。
上記した第1のプログラム実行処理では、例えば、全てプログラム(第1のプログラム)をプログラムメモリ2に格納しておき、プログラムメモリ2上のプログラムを直接実行し、起動後は、必要なプログラム(一部プログラム)だけをメインメモリ3上に書き込んでメインメモリ3上のプログラムを実行することができる。
これに対して、第2のプログラム実行処理では、例えば、全ての起動プログラム(第1のプログラムと第2のプログラム)のうちの、アクセス頻度の低い第1のプログラムをプログラムメモリ2に格納し、アクセス頻度の高い第2のプログラムをストレージ4(又はプログラムメモリ2)に格納し、プログラムメモリ2上の第1のプログラムを直接実行し、第2のプログラムが必要になったときに、ストレージ4上(又はプログラムメモリ2上)の第2のプログラムをメインメモリ3へ書き込んで、メインメモリ3上の第2のプログラムを実行する。これにより、プログラムのアクセス頻度に応じたプログラムの実行方法を選択することができ、実行時間(起動時間)を速くすることができる。詳細は、以下の通りである。
プログラム実行装置の電源がオンされると(ST201)、オペレーティングシステムにより、制御モジュール1は、プログラムメモリ2に記憶された第1のプログラムを起動するため、仮想メモリ空間を生成する。
さらに、図4に示すように、制御モジュール1は、プログラムメモリ2に記憶された第1のプログラムを直接実行するために、プログラムメモリ2に記憶された第1のプログラムの第1の記憶領域と仮想メモリ空間の第1の仮想領域とをマップする(ST202)。即ち、制御モジュール1は、プログラムメモリ2の第1のプログラムの第1の記憶領域を構成する複数のページと仮想メモリ空間の第1の仮想領域を構成する複数のページとを対応付けた第1の対応情報を設定し、第1の対応情報に含まれた各ページエントリを有効(V: Valid)に設定する。この各ページエントリの有効設定により、制御モジュール1は、仮想メモリ空間(第1の仮想領域)へアクセスした場合に、page faultと呼ばれる例外を発生させることなく、第1の対応情報に基づきプログラムメモリ2の第1のプログラムへアクセスすることができ、この第1のプログラムを実行することができる(ST203)。
第1のプログラムを実行した後、或いは第1のプログラムを実行せずに、第2のプログラムを実行する場合、つまり第2のプログラムの実行要求に基づき、制御モジュール1が仮想メモリ空間へアクセスすると、例外が発生する(ST207、YES)。このように、例外が発生すると(ST207、YES)、制御モジュール1は、ストレージ4(又はプログラムメモリ2)に記憶された第2のプログラム(要求された第2のプログラム)をロードしメインメモリ3に書き込み(ST208)、メインメモリ3の第2のプログラムの第2の記憶領域を構成する各ページと仮想メモリ空間の第2の仮想領域を構成する各ページとを対応付けた第2の対応情報を設定し、第2の対応情報に含まれた各ページエントリを有効(V: Valid)に設定する(ST209)。なお、図4では、第2の対応情報に含まれた各ページエントリが無効(Invalidate)に設定されているように見えるが、第2の対応情報の設定完了前の状態を示しており、第2の対応情報の設定が完了すると、第2の対応情報に含まれた各ページエントリは有効に設定される。
従って、上記した第2のプログラムの実行要求に基づき(ST203)、制御モジュール1は、仮想メモリ空間(第2の仮想領域)へアクセスした場合に、例外を発生させることなく、第2の対応情報に基づきプログラムメモリ3の第2のプログラムへアクセスすることができ、この第2のプログラムを実行することができる。
また、ストレージ4(又はプログラムメモリ2)は、圧縮された第2のプログラムを格納し、制御モジュール1は、圧縮された第2のプログラムを伸張し、伸張された第2のプログラムをメインメモリ3へ書き込むようにしてもよい。
上記したように、プログラム実行装置は、プログラムメモリ2に記憶されたアクセス頻度の低い第1のプログラムを直接実行し、ストレージ4又はプログラムメモリ2に記憶されたアクセス頻度の高い第2のプログラムの実行が必要になった場合に、この第2のプログラムをメインメモリ3に書き込んでメインメモリ3上の第2のプログラムを実行する。これにより、プログラムのアクセス頻度に応じたプログラムの実行方法を選択することができ、実行時間(起動時間)を速くすることができる。アクセス頻度の高い第2のプログラムを比較的安価なストレージ4に格納することができるので、比較的高価なプログラムメモリ3の記憶容量を有効活用することができる。或いは、容量の小さいプログラムメモリ3を適用することができる。
上記説明した第1及び第2のプログラム実行処理は、例えば、ブート処理に適用することができる。また、第1及び第2のプログラム実行処理は、プログラム(以下、効率化プログラム)にて実現することができ、プログラム実行装置にはこの効率化プログラムが予めインストールされる。或いは、この効率化プログラムが記憶された記憶媒体を使用し、プログラム実行装置へこの効率化プログラムをインストールすることもできる。また、この効率化プログラムをネットワークを介してサーバからダウンロードし、プログラム実行装置へこの効率化プログラムをインストールすることもできる。また、上記説明した第1及び第2のプログラム実行処理は、上記した効率化プログラム、制御モジュール1、オペレーティングシステム等が共働して実現するものである。
なお、上記したモジュールとは、ハードウェアで実現するものであっても良いし、CPU等を使ってソフトウェアで実現するものであってもよい。
なお、本願発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は可能な限り適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適当な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
1…制御モジュール、2…プログラムメモリ、3…メインメモリ、4…ストレージ、5…バス
Claims (12)
- 第1のプログラムを記憶した第1の記憶手段と、
前記第1の記憶手段からロードされた一部プログラム、或いは他の記憶手段からロードされた第2のプログラムを記憶するための第2の記憶手段と、
前記第1の記憶手段の前記第1のプログラムの第1の記憶領域と仮想メモリの第1の仮想領域とを対応付ける第1の対応付けを実行し、前記第1のプログラムの実行要求に対応して前記第1の対応付けに基づいて前記第1の記憶手段に記憶された前記第1のプログラムを実行し、前記一部プログラムの実行要求或いは前記第2のプログラムの実行要求に対応して前記一部プログラム或いは前記第2のプログラムを前記第2の記憶手段へ書き込み、前記第2の記憶手段の前記一部プログラム或いは前記第2のプログラムの第2の記憶領域と仮想メモリの第2の仮想領域と対応付ける第2の対応付けを実行し、前記第2の対応付けに基づいて前記第2の記憶手段に記憶された前記一部プログラム或いは前記第2のプログラムを実行する制御手段と、
を備えたことを特徴とするプログラム実行装置。 - 前記制御手段は、前記第1の対応付けに基づいて前記第1のプログラムを実行した後、前記第1の対応付けを無効に設定することを特徴とする請求項1に記載のプログラム実行装置。
- 前記制御手段は、
前記第1の記憶手段の前記第1のプログラムの前記第1の記憶領域を構成する複数のページと仮想メモリの第1の仮想領域を構成する複数のページとを対応付けた第1の対応情報を有効に設定し、
前記有効に設定された前記第1の対応情報に基づいて前記第1の記憶手段に記憶された前記第1のプログラムを実行し、
前記有効に設定された前記第1の対応情報を無効に設定し、
前記一部プログラムの実行要求に対応して前記一部プログラムを前記第2の記憶手段へ書き込み、
前記第2の記憶手段の前記一部プログラムの前記第2の記憶領域を構成する一部プログラムページと前記仮想メモリの前記第2の仮想領域を構成するページとを対応付けた第2の対応情報を有効に設定し、
前記有効に設定された前記第2の対応情報に基づいて前記第2の記憶手段に記憶された前記一部プログラムを実行する、
ことを特徴とする請求項1に記載のプログラム実行装置。 - 前記第1のプログラムは、起動プログラムであり、
前記制御手段は、前記第1のプログラムの実行によりシステムを起動し、起動完了後に前記有効に設定された前記第1の対応情報を無効に設定する、
ことを特徴とする請求項3に記載のプログラム実行装置。 - 前記制御手段は、
前記第1の対応付けに基づいて前記第1のプログラムの実行の有無に関係なく前記第1の対応付けを維持し、前記第2のプログラムの実行要求に対応して前記第2のプログラムを前記第2の記憶手段へ書き込み、前記第2の対応付けを実行する、
ことを特徴とする請求項1に記載のプログラム実行装置。 - 前記制御手段は、
前記第1の記憶手段の前記第1のプログラムの前記第1の記憶領域を構成する複数のページと仮想メモリの第1の仮想領域を構成する複数のページとを対応付けた第1の対応情報を有効に設定し、
前記第1のプログラムの実行要求があれば前記有効に設定された前記第1の対応情報に基づいて前記第1の記憶手段に記憶された前記第1のプログラムを実行し、前記第1のプログラムの実行要求が無くとも前記前記有効に設定された前記第1の対応情報を維持し、
前記第2のプログラムの実行要求に対応して前記第2のプログラムを第2の記憶手段へ書き込み、
前記第2の記憶手段の前記第2のプログラムの前記第2の記憶領域を構成する第2のプログラムページと前記仮想メモリの前記第2の仮想領域を構成するページとを対応付けた第2の対応情報を有効に設定し、
前記有効に設定された前記第2の対応情報に基づき前記第2の記憶手段に記憶された前記第2のプログラムを実行する、
ことを特徴とする請求項1に記載のプログラム実行装置。 - 前記第1の記憶手段は、第1の使用頻度の前記第1のプログラムを記憶し、
前記第2の記憶手段は、前記第1の使用頻度より高い第2の使用頻度の前記第2のプログラムを記憶する、
ことを特徴とする請求項5に記載のプログラム実行装置。 - 前記制御手段は、前記他の記憶手段に圧縮して記憶された前記第2のプログラムを伸張し第2の記憶手段へ書き込むことを特徴とする請求項5に記載のプログラム実行装置。
- 第1の記憶手段の第1のプログラムの第1の記憶領域と仮想メモリの第1の仮想領域とを対応付ける第1の対応付けを実行する手順と、
前記第1のプログラムの実行要求に対応して前記第1の対応付けに基づいて前記第1の記憶手段に記憶された前記第1のプログラムを実行する手順と、
前記第1プログラムの一部プログラムの実行要求或いは第2のプログラムの実行要求に対応して前記一部プログラム或いは前記第2のプログラムを前記第2の記憶手段へ書き込む手順と、
前記第2の記憶手段の前記一部プログラム或いは前記第2のプログラムの第2の記憶領域と仮想メモリの第2の仮想領域と対応付ける第2の対応付けを実行する手順と、
前記第2の対応付けに基づいて前記第2の記憶手段に記憶された前記一部プログラム或いは前記第2のプログラムを実行する手順と、
をコンピュータに実行させるためのプログラム。 - 前記第1の対応付けに基づいて前記第1のプログラムを実行した後、前記第1の対応付けを無効に設定する手順をコンピュータに実行させるための請求項9に記載のプログラム。
- 前記第1の対応付けに基づいて前記第1のプログラムの実行の有無に関係なく前記第1の対応付けを維持し、前記第2のプログラムの実行要求に対応して前記第2のプログラムを前記第2の記憶手段へ書き込み、前記第2の対応付けを実行する手順をコンピュータに実行させることを特徴とする請求項9に記載のプログラム。
- 第1の記憶手段の第1のプログラムの第1の記憶領域と仮想メモリの第1の仮想領域とを対応付ける第1の対応付けを実行し、
前記第1のプログラムの実行要求に対応して前記第1の対応付けに基づいて前記第1の記憶手段に記憶された前記第1のプログラムを実行し、
前記第1プログラムの一部プログラムの実行要求或いは第2のプログラムの実行要求に対応して前記一部プログラム或いは前記第2のプログラムを前記第2の記憶手段へ書き込み、
前記第2の記憶手段の前記一部プログラム或いは前記第2のプログラムの第2の記憶領域と仮想メモリの第2の仮想領域と対応付ける第2の対応付けを実行し、
前記第2の対応付けに基づいて前記第2の記憶手段に記憶された前記一部プログラム或いは前記第2のプログラムを実行する、
ことを特徴とするプログラム実行方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009031433A JP2010186411A (ja) | 2009-02-13 | 2009-02-13 | プログラム実行装置、プログラム実行方法、及びプログラム |
US12/622,834 US20100211751A1 (en) | 2009-02-13 | 2009-11-20 | Program Execution Apparatus, Program Execution Method, and Program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009031433A JP2010186411A (ja) | 2009-02-13 | 2009-02-13 | プログラム実行装置、プログラム実行方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010186411A true JP2010186411A (ja) | 2010-08-26 |
Family
ID=42560882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009031433A Pending JP2010186411A (ja) | 2009-02-13 | 2009-02-13 | プログラム実行装置、プログラム実行方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100211751A1 (ja) |
JP (1) | JP2010186411A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014038455A (ja) * | 2012-08-15 | 2014-02-27 | Fuji Xerox Co Ltd | 画像形成装置および情報処理装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013015835A1 (en) | 2011-07-22 | 2013-01-31 | Seven Networks, Inc. | Mobile application traffic optimization |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08314794A (ja) * | 1995-02-28 | 1996-11-29 | Matsushita Electric Ind Co Ltd | 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム |
JPH1185619A (ja) * | 1997-09-05 | 1999-03-30 | Hitachi Ltd | 情報処理装置 |
JP2005010897A (ja) * | 2003-06-17 | 2005-01-13 | Nec Corp | 計算機システム、計算機システム起動方法およびプログラム |
JP2007148865A (ja) * | 2005-11-29 | 2007-06-14 | Naltec Inc | プロセッサにより制御される装置 |
JP2008015725A (ja) * | 2006-07-05 | 2008-01-24 | Alpine Electronics Inc | 情報処理装置およびプログラム起動方法 |
JP2008090554A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | 情報処理装置、制御装置およびメモリ管理方法 |
JP2009009388A (ja) * | 2007-06-28 | 2009-01-15 | Sony Ericsson Mobilecommunications Japan Inc | 携帯端末装置およびそのブート処理方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09171486A (ja) * | 1995-10-16 | 1997-06-30 | Seiko Epson Corp | Pcカード |
US7613880B2 (en) * | 2002-11-28 | 2009-11-03 | Renesas Technology Corp. | Memory module, memory system, and information device |
-
2009
- 2009-02-13 JP JP2009031433A patent/JP2010186411A/ja active Pending
- 2009-11-20 US US12/622,834 patent/US20100211751A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08314794A (ja) * | 1995-02-28 | 1996-11-29 | Matsushita Electric Ind Co Ltd | 安定記憶装置へのアクセス待ち時間を短縮するための方法およびシステム |
JPH1185619A (ja) * | 1997-09-05 | 1999-03-30 | Hitachi Ltd | 情報処理装置 |
JP2005010897A (ja) * | 2003-06-17 | 2005-01-13 | Nec Corp | 計算機システム、計算機システム起動方法およびプログラム |
JP2007148865A (ja) * | 2005-11-29 | 2007-06-14 | Naltec Inc | プロセッサにより制御される装置 |
JP2008015725A (ja) * | 2006-07-05 | 2008-01-24 | Alpine Electronics Inc | 情報処理装置およびプログラム起動方法 |
JP2008090554A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | 情報処理装置、制御装置およびメモリ管理方法 |
JP2009009388A (ja) * | 2007-06-28 | 2009-01-15 | Sony Ericsson Mobilecommunications Japan Inc | 携帯端末装置およびそのブート処理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014038455A (ja) * | 2012-08-15 | 2014-02-27 | Fuji Xerox Co Ltd | 画像形成装置および情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20100211751A1 (en) | 2010-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4399020B1 (ja) | 情報処理装置およびメモリ管理方法 | |
JP5351046B2 (ja) | フラッシュメモリシステムの高速起動を容易にする方法およびシステム | |
JP5404798B2 (ja) | 仮想記憶管理装置及び記憶管理装置 | |
CN102855193B (zh) | 非易失性存储***中未使用的逻辑地址的挂载时去映射 | |
KR101636870B1 (ko) | 최소 부트 이미지의 생성 방법 및 장치 | |
US9483396B2 (en) | Control apparatus, storage device, and storage control method | |
US20120072658A1 (en) | Program, control method, and control device | |
US7543124B1 (en) | Method for preventing page replacement of unreferenced read-ahead file pages | |
JP2010165251A (ja) | 情報処理装置及びプロセッサ並びに情報処理方法 | |
JP2007219581A (ja) | メモリコントローラおよびこれを搭載する電子機器 | |
JP6070360B2 (ja) | 情報処理装置およびその処理方法 | |
JP2014534521A (ja) | ブートデータのロード | |
JP2008299848A (ja) | 不揮発性メモリのデータ処理装置及びその処理方法 | |
JP2008287317A (ja) | 情報処理装置およびシステム起動方法 | |
JP2009123191A (ja) | Norインターフェイスフラッシュメモリ装置及びそのアクセス方法 | |
JP2012243287A (ja) | 情報処理装置および情報処理方法 | |
JP2010186411A (ja) | プログラム実行装置、プログラム実行方法、及びプログラム | |
US20100185809A1 (en) | Control System and Control Method of Virtual Memory | |
JP6080492B2 (ja) | 情報処理装置、起動方法およびプログラム | |
JP5795418B2 (ja) | キャッシュ装置、及び記憶システム | |
JP5627754B2 (ja) | 仮想記憶管理装置及び記憶管理装置 | |
JP4637524B2 (ja) | メモリカード | |
JP2008130092A (ja) | データを管理する装置及び方法 | |
JP5352811B2 (ja) | 情報処理装置 | |
JP2009288950A (ja) | 情報処理装置およびデータ整合性検査方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100517 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100706 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101102 |