JP2007293730A - Execution method of intermediate code program and information terminal - Google Patents
Execution method of intermediate code program and information terminal Download PDFInfo
- Publication number
- JP2007293730A JP2007293730A JP2006122802A JP2006122802A JP2007293730A JP 2007293730 A JP2007293730 A JP 2007293730A JP 2006122802 A JP2006122802 A JP 2006122802A JP 2006122802 A JP2006122802 A JP 2006122802A JP 2007293730 A JP2007293730 A JP 2007293730A
- Authority
- JP
- Japan
- Prior art keywords
- intermediate code
- input
- execution
- data
- output
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、中間コードにより表現されたプログラムの実行技術に関し、特に、中間コード実行プログラムのメモリダンプを用いて、プログラム起動時間を短縮する方法に適用して有効な技術に関する。 The present invention relates to an execution technique for a program expressed by an intermediate code, and more particularly, to a technique effective when applied to a method for shortening a program start time using a memory dump of an intermediate code execution program.
今日、携帯電話を初めとして、多くの組込み機器にJava(登録商標)などの仮想マシン技術が適用されている。仮想マシン技術はハードウェアプラットフォームの多様性問題を解決するなどの利点を持ち、有効に活用されている。組込み機器の中には、携帯電話、PDA、カーナビ、テレビなど、ユーザが直接操作する機器が多数存在する。このような機器では、ユーザによる機能選択指示に合わせ、その機能を実現するアプリケーションをすばやく起動する必要がある。しかし、実際にはアプリケーションの起動には10秒程度かかるものも多く存在している。起動に時間がかかる原因には、組込み機器に搭載されるCPUの計算力不足、見映えを良くするための画像の多用などがある。さらに、仮想マシン技術はプログラムロード時にセキュリティチェック処理や実行前準備のための形式変更処理などを実施しており、これらの処理が起動時間に悪影響を与えている。 Today, virtual machine technology such as Java (registered trademark) is applied to many embedded devices such as mobile phones. Virtual machine technology has advantages such as solving the diversity problem of hardware platforms, and is effectively used. Among embedded devices, there are many devices that are directly operated by the user, such as mobile phones, PDAs, car navigation systems, and televisions. In such a device, it is necessary to quickly start an application that realizes the function in accordance with a function selection instruction by the user. However, there are actually many applications that take about 10 seconds to start an application. Causes that take a long time to start include lack of computational power of a CPU mounted on an embedded device and heavy use of images for improving the appearance. Furthermore, the virtual machine technology performs security check processing and format change processing for pre-execution preparation at the time of program loading, and these processing have an adverse effect on startup time.
解決方法の一つとして、プログラムロード時の処理を省略するアイデアが報告されている。特許文献1は、Java(登録商標)のプログラム形式であるクラスファイルを、仮想マシンがメモリ内に実行可能データとして準備した後、この実行可能データを二次記憶にダンプ(出力)するものである。次回当該クラスファイルを実行するときは、ダンプしたデータを読み込んでそのまま利用することで、ロード処理を省略する。特許文献2も同様にクラスファイルを二次記憶へ出力するものであるが、出力データにセキュリティ情報を付加する、複数のアプリケーション間で同一のクラス出力データを共有するなどの工夫を加えている。 As one of the solutions, an idea of omitting the processing at the time of program loading has been reported. Patent Document 1 dumps (outputs) executable data to secondary storage after a virtual machine prepares a class file that is a program format of Java (registered trademark) as executable data in a memory. . The next time the class file is executed, the loaded data is omitted by reading the dumped data and using it as it is. Similarly, Patent Document 2 outputs a class file to secondary storage. However, it has been devised to add security information to output data and to share the same class output data among a plurality of applications.
しかし、上述の方法により短縮可能な処理はプログラムのロード時間のみであり、画像ロード時間や、プログラムがロード後に実行する初期化処理などは短縮できない。これらの処理も合わせて短縮する手法として、メモリダンプによる方法がある。非特許文献1は、Emacsと呼ばれるエディタの起動高速化手法に言及している。EmacsはLispプログラムを実行する仮想マシンであり、エディタ機能を実現するLispプログラム群を読み込んで実行する構成となっている。起動実行する時間を省略するため、一度Lispプログラム群を読み込んで実行し、エディタの実行を開始できる状態になった時点で、Lisp処理系全体のメモリイメージをダンプする。次回からは、ダンプデータのメモリロード処理のみで、エディタの実行を開始することができる。
しかし、上記の技術を持ってしても、仮想マシンの起動時間には課題が残されている。 However, even with the above technology, there remains a problem with the startup time of the virtual machine.
まず、特許文献1および特許文献2の示す起動時間短縮方法は、すでに述べたようにプログラムロード時間のみの短縮に留まっており、起動処理中の画像ロード時間や演算時間に対しては効果が無い。 First, the startup time shortening methods shown in Patent Document 1 and Patent Document 2 are limited to reducing only the program load time as described above, and are ineffective for the image load time and calculation time during the startup process. .
また、非特許文献1の示す高速化手法は、ダンプするまでに実行すべきプログラムを明示的に指定するものであり、任意のプログラムに対して適用することができない。例えば、携帯電話向けのJava(登録商標)アプリケーションは、起動処理と起動以外の実行処理は、アプリケーションの開発者によって明確に分離されていないため、ダンプすべきタイミングを適切に判断することができない。 Further, the speed-up method shown in Non-Patent Document 1 explicitly specifies a program to be executed before dumping, and cannot be applied to an arbitrary program. For example, in a Java (registered trademark) application for mobile phones, the activation process and the execution process other than the activation are not clearly separated by the application developer, and therefore it is not possible to appropriately determine the timing to dump.
また、どちらの方法もダンプ対象となるデータ構造はクラスデータ、もしくは処理系全体のどちらか一つに定まっており、ダンプデータ量の多寡と効果に応じてダンプ対象データの範囲を柔軟に選択することができない。 In both methods, the data structure to be dumped is determined as either class data or the entire processing system, and the range of dump target data can be flexibly selected according to the amount of dump data and the effect. I can't.
そこで、本発明の目的は、仮想マシンのメモリダンプによる起動高速化手法を、任意のアプリケーションに対して実現し、効果に応じてダンプデータの範囲を制御することができる中間コードプログラムの実行技術を提供することにある。 Therefore, an object of the present invention is to implement an intermediate code program execution technique that can realize a startup acceleration method using a memory dump of a virtual machine for any application and control the range of dump data according to the effect. It is to provide.
本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。 The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。 Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.
本発明は、アプリケーション実行中の入出力を監視する手段により、再起動時の不適切な動作を避ける。また、入出力を記録する手段によりダンプの効果を見積もり、全データのダンプと実行用中間コードのダンプなど、複数のダンプ方式を切り替えることにより、消費する二次記憶装置のサイズを抑えながら高速起動の効果を享受する。 The present invention avoids an inappropriate operation at the time of restarting by means of monitoring input / output during application execution. In addition, the effect of dumping is estimated by means of recording input and output, and switching between multiple dumping methods, such as dumping all data and intermediate code for execution, enables fast startup while suppressing the size of the secondary storage device to be consumed. Enjoy the effects of
具体的には、任意のアプリケーションを実行する仮想マシンを持つ携帯電話などの情報端末に適用して、アプリケーションの実行と同時にアプリケーションのデータ入出力を監視する手段と、入出力の回数や種別および入出力データ量を記録する手段と、一定の入出力記録からメモリダンプの妥当性とメモリダンプ方法を判定する手段と、アプリケーションを実行中の仮想マシンのメモリイメージを全部もしくは一部をダンプする手段とを備える仮想マシンを実行可能な情報端末に用いる。 Specifically, it is applied to an information terminal such as a mobile phone having a virtual machine that executes an arbitrary application, and means for monitoring the data input / output of the application simultaneously with the execution of the application, and the number and type of input / output and input / output. Means for recording the amount of output data, means for determining the validity and memory dump method of the memory dump from a fixed input / output record, means for dumping all or part of the memory image of the virtual machine executing the application, and Is used for an information terminal capable of executing a virtual machine.
前記記録の対象となる計算機資源には、画像ファイルを含むファイル、ネットワーク通信路、キー入力などのユーザからの入力インタフェース、画面や音源などの出力インタフェース、時刻検出装置、乱数発生装置などを含む。 The computer resources to be recorded include files including image files, network communication paths, input interfaces from users such as key inputs, output interfaces such as screens and sound sources, time detection devices, random number generation devices, and the like.
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。 Among the inventions disclosed in the present application, effects obtained by typical ones will be briefly described as follows.
本発明によれば、上記手段を用いてデータ入出力を記録することで、アプリケーションの起動処理範囲を適切に判定することができる。例えば、アプリケーションが画面出力を開始した場合や、ユーザからのキー入力を受け付けた場合、起動処理は終了したと考えることができる。また、可変ファイルの入力を受け取ると、それ以降のプログラムの状態は起動のたびに異なる状態となる。よって、可変ファイル入力の直前までを起動処理範囲と判定することで、省略可能な起動範囲を正確に判定できる。このような起動処理範囲の特定により、アプリケーションの機能を損なうことなく、任意のアプリケーションの起動をメモリダンプにより短縮できる。 According to the present invention, by recording data input / output using the above-described means, it is possible to appropriately determine the application activation processing range. For example, when the application starts screen output or when a key input from the user is accepted, it can be considered that the activation process has ended. In addition, when the input of the variable file is received, the state of the subsequent program becomes different every time the program is started. Therefore, by determining the area immediately before the input of the variable file as the activation process range, it is possible to accurately determine the activation range that can be omitted. By specifying the activation process range as described above, activation of an arbitrary application can be shortened by a memory dump without impairing the function of the application.
また、データ入力の内容がクラスファイルに限定されていればクラスファイルをダンプし、入力データ量が多い場合は処理系全体をダンプするなど、入出力の記録を元にダンプデータを選択することで、二次記憶装置の消費サイズを抑えながら起動時間短縮の効果を享受できる。 In addition, if the contents of the data input are limited to the class file, the class file is dumped, and if the input data amount is large, the entire processing system is dumped. The effect of shortening the startup time can be enjoyed while suppressing the consumption size of the secondary storage device.
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.
以下、本発明を実現する一実施の形態を、仮想マシンを持つ携帯電話などの情報端末の一例として情報処理装置を例に、図1から図7を用いて説明する。 Hereinafter, an embodiment for realizing the present invention will be described with reference to FIGS. 1 to 7 by taking an information processing apparatus as an example of an information terminal such as a mobile phone having a virtual machine.
図1に、本発明の一実施の形態における情報処理装置の全体構成例を示す。 FIG. 1 shows an example of the overall configuration of an information processing apparatus according to an embodiment of the present invention.
情報処理装置101は、ネットワーク102を通じてアプリ管理サーバ103や、その他サーバ104などと接続されており、アプリ管理サーバ103から中間コード141や画像ファイル142を取得したり、その他サーバ104との情報交換を通じて情報処理装置101の使用者にサービスを提供したりする。
The
情報処理装置101は、中央演算装置111、一次記憶装置112、二次記憶装置113、キー入力装置114、通信装置115、画面出力装置116などから構成される。中央演算装置111は、情報処理装置101に電源が投入されるとオペレーティング・システム122や中間コード実行プログラム121などのプログラムを一次記憶装置112にロードし、プログラムの実行を開始する。二次記憶装置113は電源切断時にもデータを保持する機能を備えており、一次記憶装置112にロードされるプログラムや、プログラム実行時に必要になるデータを保持している。キー入力装置114は、情報処理装置101の使用者からの入力を受け付ける。通信装置115は、ネットワーク102を介して通信する機能を持つ。画面出力装置116は、情報処理装置101の使用者に、画面表示を通じて情報を提示する機能を持つ。
The
一次記憶装置112には、中間コード実行プログラム121やオペレーティング・システム122などのプログラムがロードされて実行される。中間コード実行プログラム121は、ハードウェア非依存の中間コードとして表現されたプログラムを実行する。オペレーティング・システム122は、二次記憶装置113などのデータ領域の入出力機能や、キー入力装置114、通信装置115、画面出力装置116などを通じた装置外とのデータ入出力機能を管理する。本実施の形態では、中間コード実行プログラムによるデータ入出力も、オペレーティング・システム122を介して実施されるものとする。
Programs such as the intermediate
中間コード実行プログラム121は、中間コードロード部123、中間コード実行部124、入出力監視部125、メモリダンプ部126などの機能部と、作業用メモリ127、実行用中間コード128、画像データ129、入出力記録130などのデータ部から構成される。中間コードロード部123は、二次記憶装置113から中間コード141を読み込み、実行に適した形態への変換処理や安全性チェック処理などを実行し、実行用中間コード128を生成する。中間コード実行部124は、実行用中間コード128を解釈して実行する。解釈実行の過程において、中間コードがデータの入出力や、二次記憶装置などの資源を要求した場合、入出力監視部125がオペレーティング・システムへの入出力要求を仲介し、その要求内容を入出力記録130に記録する。また、入出力監視部125は、これらの入出力要求と入出力記録130の内容に応じ、実行中の中間コードプログラムがダンプ可能かどうかをチェックし、ダンプ不可となる資源要求を受け取る場合には、オペレーティング・システムへ入出力要求を仲介する前にメモリダンプ部126にダンプ処理を要求する。メモリダンプ部126は、中間コード実行プログラム121の実行イメージの全体または部分を、そのままの形式で二次記憶装置113に出力し、中間コード実行状態ダンプ145を生成する。プログラムの実行終了後、再度同じプログラムの実行を開始する時には、中間コード実行状態ダンプ145を一次記憶装置112にロードすることで、メモリダンプ時と同じ状態から処理を再開できる。
The intermediate
二次記憶装置113は、中間コード141、画像ファイル142、可変データ143、中間コード実行プログラムファイル144、中間コード実行状態ダンプ145などを保持している。中間コード141はアプリ管理サーバ103から受け取るなどして得られるプログラムコードであり、中間コード実行プログラム121によって実行される。このプログラムが画像の表示を伴うプログラムであれば、画像ファイル142を読み込み、表示可能な画像データ129に変換して一次記憶装置112内に保持する。また、アプリケーションが電源遮断後もデータを保持したい場合は、可変データ143にデータを書き込んでおき、再度起動時に可変データ143を読み込む。中間コード実行プログラムファイル144は、一次記憶装置112上に読み込まれるプログラムバイナリであり、中央演算装置111により実行される。中間コードロード部123、中間コード実行部124、入出力監視部125、メモリダンプ部126などの機能部は中間コード実行プログラムファイル144に含まれているが、実行開始後に確保、作成される作業用メモリ127、実行用中間コード128、画像データ129、入出力記録130などは中間コード実行プログラムファイル144に含まれない。中間コード実行状態ダンプ145は、前述のとおり一次記憶装置112上の中間コード実行プログラムをダンプしたメモリイメージである。
The
図2に、入出力記録130のデータ構成例を示す。中間コードの実行開始時は、入出力記録130の内容は空である。中間コード実行中に入出力が発生すると、入出力ごとに一件のレコードが追加される。各レコードは、入出力、資源、時刻、種別、対象、バイト数などのデータを持つ。例えば、この図の示す先頭のレコードは、プログラムの実行開始後0.5秒経過した時点で、中間コード141を格納しているファイルからデータ入力を受け取ったことを示している。同様に、画像ファイル142の入力、画面出力装置116への出力、可変データ143からの入力なども記録されている。
FIG. 2 shows a data configuration example of the input /
図3に、中間コード実行状態ダンプ145の、第一のデータ構成例を示す。本図では、中間コード実行状態ダンプ145が、一次記憶装置112内の中間コード実行プログラム121と、同じデータ構成を持つ例を示した。よって番号123から130に至る要素を全て持つ構造となる。これを再度一次記憶装置112上に復元することで、ダンプ時の状態に復帰することができる。
FIG. 3 shows a first data configuration example of the intermediate code
図4に、中間コード実行状態ダンプ145の、第二のデータ構成例を示す。本図では、中間コード実行状態ダンプ145は、実行用中間コード128のみをダンプする例を示した。このケースでは、復元可能なデータは実行用中間コード128のみであり、その他のデータは再度構成する必要がある。高速起動の効果は比較的小さいが、図3に示した例と比較して、ダンプされるデータ量が少ないという利点がある。
FIG. 4 shows a second data configuration example of the intermediate code
図5〜図8を用いて、本実施の形態における処理フローの一例を示す。情報処理装置101を用いて、アプリ管理サーバ103から取得した中間コード141を実行するにあたり、図5の処理フローの全体を示した手順を踏む。
An example of the processing flow in the present embodiment will be described with reference to FIGS. When the
処理501:取得した中間コードプログラムを初めて起動するときに実行される処理である。中間コードをロードし、入出力を監視しながら実行を開始する。
処理502:入出力の監視結果に応じ、適切なタイミングで中間コード実行プログラム121をダンプする。
Process 502: The intermediate
処理503:再度中間コードプログラムを実行する場合は、中間コード実行状態ダンプ145を一次記憶装置112にロードし、実行を開始する。ダンプデータを活用するため、高速に起動される。
Process 503: When the intermediate code program is executed again, the intermediate code
図6に、初回プログラム起動処理501のフローを詳細に示す。 FIG. 6 shows the flow of the initial program start processing 501 in detail.
処理601:中間コードロード部123により、中間コード141をロードする。セキュリティチェック処理、中間コードを実行に適した形式に変換する処理などを実施し、実行用中間コード128を生成する。
Process 601: The
処理602:中間コード実行部124により、実行用中間コード128を実行する。インタプリタによる実装であれば、中間コード命令を一つ取得し、その命令を実行するルーチンへ遷移して実行する処理を繰り返す。入出力を伴う命令を実行する場合、処理603へ進む。
Process 602: The intermediate
処理603:入出力監視部125により、これから実行しようとする入出力を記録する。
Process 603: The input / output to be executed is recorded by the input /
処理604:指示された入出力を実施した場合、メモリダンプによる高速化を適用できなくなるかどうかを判定する。判定基準は様々なものが考えられるが、例えば、以下のような判定指針がある。 Process 604: When the instructed input / output is performed, it is determined whether or not the acceleration by the memory dump cannot be applied. Various criteria can be considered. For example, there are the following judgment guidelines.
(1)可変データの入力を受け取った後は、メモリダンプによる高速化を適用できない。可変データの入力前であれば、プログラムの状態は起動の度に毎回同じ状態であるが、可変データの入力後は、プログラムの状態は可変データに依存するためである。 (1) After receiving input of variable data, it is not possible to apply high speed by memory dump. This is because the state of the program is the same every time it is started before the input of variable data, but the state of the program depends on the variable data after the input of variable data.
(2)可変データと同様に、キー入力を受け取る場合や、時刻を入力として取る場合も、状態に不整合が生じるため、以降、メモリダンプによる高速化を適用できない。 (2) Similarly to variable data, when receiving a key input or taking a time as an input, inconsistency occurs in the state, and hence speeding up by a memory dump cannot be applied thereafter.
(3)画面出力を2回以上実施する場合、1回目の描画による画面内容は2回目の描画によって消されてしまうため、再起動時に描画されない。再起動時に使用者に提示すべき1回目の画面内容を提示できないことになるため、画面出力を2回目以降実施するとメモリダンプによる高速化の適用は不適切となる。 (3) When screen output is performed two or more times, the screen contents of the first drawing are erased by the second drawing, and therefore are not drawn at the time of restart. Since the first screen content to be presented to the user at the time of restart cannot be presented, application of high speed by memory dump becomes inappropriate when screen output is performed for the second time and thereafter.
上記のうち(3)は、図2に示した入出力記録130を用いて判定できる。
Of the above, (3) can be determined using the input /
上記のような条件を満たす場合、当該の入出力前にメモリダンプを実施すべきである。その場合は処理501を終了して処理502に進む。そうでない場合は処理605に進む。
If the above conditions are met, a memory dump should be performed before the input / output. In that case, the
処理605:オペレーティング・システム122に依頼し、入出力処理を実施する。処理602に戻り、中間コードの実行を継続する。
Process 605: Requests the
図7に、メモリダンプ処理502のフローを詳細に示す。
FIG. 7 shows the flow of the
処理701:入出力記録130を参照し、これまでにファイルからの入力として受け取ったデータが、画像ファイルを含んでおらず、中間コードのみかどうかを調べる。もし、中間コードのみであれば、処理703に進む。画像ファイルを含む場合には、処理702に進む。
Process 701: Referring to the input /
処理702:一次記憶装置112内にある中間コード実行プログラム121のメモリイメージ全体をダンプし、中間コード実行状態ダンプ145を生成する(図3)。
Process 702: The entire memory image of the intermediate
処理703:一次記憶装置112内にある中間コード実行プログラム121のメモリイメージのうち、実行用中間コード128のみをダンプする(図4)。
Process 703: Only the execution
上記処理701に示したような判定により、画像データを含む大きな効果が期待できる場合にのみメモリイメージ全体をダンプし、画像データを含まない場合は実行用中間コード128にダンプ範囲を限定する。これにより、より小さい二次記憶装置を用いて効率的な起動時間短縮を実現できる。上記に示した判定方法に加え、二次記憶装置の空き領域や、実行用中間コード128のデータサイズを判定条件に加える実施方法も考えられる。
The entire memory image is dumped only when a large effect including image data can be expected by the determination as shown in the
図8に、高速プログラム起動処理503のフローを詳細に示す。 FIG. 8 shows the flow of the high-speed program start processing 503 in detail.
処理801:メモリダンプ処理502において、ダンプしたデータが実行用中間コード128のみであった場合、処理803に進む。メモリイメージ全体をダンプした場合は処理802に進む。
Process 801: If the dumped data is only the execution
処理802:中間コード実行状態ダンプ145を一次記憶装置112にロードする。
Process 802: The intermediate code
処理803:中間コード実行プログラム121を一次記憶装置112にロードし、中間コードプログラムの実行を開始する。
Process 803: The intermediate
処理804:中間コードロード部123により、中間コードプログラムを読み込む。ただし、中間コード141を読み込む代わりに、処理703においてダンプした実行用中間コード128を読み込む。これにより、中間コード141に施す処理が不要となり、起動時間が短縮される。
Process 804: The intermediate
処理805:中間コードの実行を再開する。 Process 805: The execution of the intermediate code is resumed.
上記の構成と手順により、任意の中間コードアプリケーションに対して、個別の中間コード実行状態ダンプ145を作成することで、起動時間を短縮することが可能である。特に、中間コード実行プログラム121のメモリイメージ全体をダンプする場合には、中間コードのロードのみならず、画像ファイルの読み込み時間も省略できるため、大きな効果がある。また、データの入出力を監視してダンプのタイミングを決定するため、任意のアプリケーションについて、起動の度に同じ状態となることを保証でき、使用者が描画結果を閲覧できない状況も回避できる。
By creating the individual intermediate code
メモリイメージ全体をダンプする方式は、ダンプデータ量が大きいため、二次記憶装置を圧迫する。上述の実施の形態では、実行用中間コードのみをダンプする方式と併用し、状況に応じて使い分けることで、二次記憶装置を効率的に使いながら起動時間短縮の効果を享受することが可能になる。 Since the method of dumping the entire memory image has a large amount of dump data, the secondary storage device is compressed. In the above-mentioned embodiment, it is possible to enjoy the effect of shortening the startup time while using the secondary storage device efficiently by using it together with the method of dumping only the intermediate code for execution and using it properly according to the situation. Become.
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。 As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.
本発明は、携帯電話など、計算機資源の制約が厳しいけれども、画像を多用する中間コードアプリケーションの高速起動が求められる組込み機器において有用である。また、テレビやハードディスクレコーダなどのAV機器への中間コード技術適用が進むと、本発明が適用される可能性が高い。 The present invention is useful in an embedded device such as a mobile phone that requires high-speed activation of an intermediate code application that uses a lot of images, although it has severe restrictions on computer resources. In addition, when application of intermediate code technology to AV equipment such as a television and a hard disk recorder proceeds, the possibility of applying the present invention is high.
101…情報処理装置、102…ネットワーク、103…アプリ管理サーバ、104…その他サーバ、111…中央演算装置、112…一次記憶装置、113…二次記憶装置、114…キー入力装置、115…通信装置、116…画面出力装置、121…中間コード実行プログラム、122…オペレーティング・システム、123…中間コードロード部、124…中間コード実行部、125…入出力監視部、126…メモリダンプ部、127…作業用メモリ、128…実行用中間コード、129…画像データ、130…入出力記録、141…中間コード、142…画像ファイル、143…可変データ、144…中間コード実行プログラムファイル、145…中間コード実行状態ダンプ。
DESCRIPTION OF
Claims (7)
中間コードプログラム実行中のデータ入出力を監視する手段と記録する手段を用いて、ダンプタイミングを決定することを特徴とする中間コードプログラムの実行方法。 A method of executing an intermediate code program that dumps a memory image of an executing intermediate code execution program and reduces the startup time by reloading the memory image.
A method for executing an intermediate code program, characterized in that dump timing is determined using means for monitoring and recording data input / output during execution of the intermediate code program.
入力として受け取るデータが実行の度に変化するデータであるかどうかを判定し、ダンプタイミングを決定することを特徴とする中間コードプログラムの実行方法。 In the execution method of the intermediate code program according to claim 1,
A method for executing an intermediate code program, comprising: determining whether or not data received as input is data that changes at each execution and determining a dump timing.
画面に出力するデータが描画内容を上書きするかどうかを判定し、ダンプタイミングを決定することを特徴とする中間コードプログラムの実行方法。 In the execution method of the intermediate code program according to claim 1,
A method for executing an intermediate code program, characterized by determining whether or not data to be output on a screen overwrites drawing contents and determining a dump timing.
中間コードプログラム実行中のデータ入出力を監視する手段と記録する手段を用いて、ダンプするデータの範囲を決定することを特徴とする中間コードプログラムの実行方法。 A method of executing an intermediate code program that dumps a memory image of an executing intermediate code execution program and reduces the startup time by reloading the memory image.
A method for executing an intermediate code program, characterized in that a range of data to be dumped is determined using means for monitoring and recording data input / output during execution of the intermediate code program.
入力として受け取るデータを中間コードプログラムのコードとそれ以外に分類し、各々の分量に応じてダンプするデータの範囲を決定することを特徴とする中間コードプログラムの実行方法。 In the execution method of the intermediate code program of Claim 4,
A method for executing an intermediate code program, characterized in that data received as input is classified into an intermediate code program code and other data, and a range of data to be dumped is determined in accordance with each quantity.
アプリケーションの実行と同時にアプリケーションのデータ入出力を監視する手段と、入出力の回数や種別および入出力データ量を記録する手段と、一定の入出力記録からメモリダンプの妥当性とメモリダンプ方法を判定する手段と、アプリケーションを実行中の仮想マシンのメモリイメージを全部もしくは一部をダンプする手段とを備えることを特徴とする情報端末。 An information terminal having a virtual machine that executes an application,
Means to monitor application data input / output simultaneously with application execution, means to record the number and type of input / output, and the amount of input / output data And a means for dumping all or part of the memory image of the virtual machine that is executing the application.
記録の対象となる計算機資源には、画像ファイルを含むファイル、ネットワーク通信路、キー入力のユーザからの入力インタフェース、画面や音源の出力インタフェース、時刻検出装置、乱数発生装置を含むことを特徴とする情報端末。 The information terminal according to claim 6,
Computer resources to be recorded include files including image files, network communication paths, input interfaces from key input users, output interfaces for screens and sound sources, time detection devices, and random number generation devices. Information terminal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006122802A JP2007293730A (en) | 2006-04-27 | 2006-04-27 | Execution method of intermediate code program and information terminal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006122802A JP2007293730A (en) | 2006-04-27 | 2006-04-27 | Execution method of intermediate code program and information terminal |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007293730A true JP2007293730A (en) | 2007-11-08 |
Family
ID=38764288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006122802A Pending JP2007293730A (en) | 2006-04-27 | 2006-04-27 | Execution method of intermediate code program and information terminal |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007293730A (en) |
-
2006
- 2006-04-27 JP JP2006122802A patent/JP2007293730A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5038321B2 (en) | How to upgrade display drivers without rebooting | |
US7673131B2 (en) | Booting an operating system in discrete stages | |
US7386859B2 (en) | Method and system for effective management of client and server processes | |
US10547657B2 (en) | System and method for video gathering and processing | |
WO2018028055A1 (en) | Method and apparatus for running android application program on windows system | |
US20120210321A1 (en) | Dormant Background Applications on Mobile Devices | |
US20110054879A1 (en) | Accelerated Execution for Emulated Environments | |
US10394580B2 (en) | Dynamic addition and removal of operating system components | |
US20160072856A1 (en) | Cross-Process Media Handling in a Voice-Over-Internet Protocol (VOIP) Application Platform | |
CN110704161B (en) | Virtual machine creation method and device and computer equipment | |
JP2008524686A (en) | Method for maintaining an application in a computer device | |
US20170346792A1 (en) | System and method for kernel level video operations | |
US20120139929A1 (en) | Controlling runtime execution from a host to conserve resources | |
CN108446146B (en) | Game data acquisition method and device | |
CN107408073B (en) | Reducing memory commit overhead using memory compression | |
KR20120071060A (en) | Storage device capable of extending functions dynamicaly and operating method thereof | |
CN117724852B (en) | Cloud computer computing resource allocation method and device | |
JP2006164266A (en) | Improvement in performance of operating system | |
US9319246B2 (en) | Voice-over-internet protocol (VOIP) application platform | |
JP6059330B2 (en) | Application transfer system, application transfer method, terminal, and program | |
JP5061438B2 (en) | Information processing apparatus, activation method, and activation program | |
CN102214105A (en) | Parallel speedy starting method and electronic device having multiple processing units | |
WO2015184902A1 (en) | Concurrent processing method for intelligent split-screen and corresponding intelligent terminal | |
CN113127089A (en) | Starting control method of module of service architecture and computer equipment | |
JP2007293730A (en) | Execution method of intermediate code program and information terminal |