JP2001134444A - コンピュータシステムにおけるデータ処理装置 - Google Patents

コンピュータシステムにおけるデータ処理装置

Info

Publication number
JP2001134444A
JP2001134444A JP31402999A JP31402999A JP2001134444A JP 2001134444 A JP2001134444 A JP 2001134444A JP 31402999 A JP31402999 A JP 31402999A JP 31402999 A JP31402999 A JP 31402999A JP 2001134444 A JP2001134444 A JP 2001134444A
Authority
JP
Japan
Prior art keywords
program
memory
program unit
unit
code
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
Application number
JP31402999A
Other languages
English (en)
Inventor
Shigehiro Yamamoto
本 茂 宏 山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP31402999A priority Critical patent/JP2001134444A/ja
Priority to EP00309783A priority patent/EP1104898A3/en
Publication of JP2001134444A publication Critical patent/JP2001134444A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Devices For Executing Special Programs (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

(57)【要約】 【課題】 プログラムをダウンロードしながら実行する
小システムが複数動作しているコンピュータシステム上
での、処理時間の短縮とメモリの効率的な利用を図る。 【解決手段】 この提案は、プログラム単位でダウンロ
ードした中間コードプログラムをマシンのネイティブコ
ードに変換し実行する小システムを1台のマシン上に複
数構成するコンピュータシステムに関する。ネイティブ
コードに変換されメモリに格納されているプログラム単
位の固有のIDおよびメモリ上のアドレスを含む管理情
報を登録しており、各小システムに対し要求により管理
情報を提供するプログラム単位マネージャ(15)と、
小システムが外部からプログラム単位をダウンロードし
ネイティブコードに変換してメモリ(12)に格納した
ときプログラム単位マネージャ(15)にそのプログラ
ム単位の管理情報を登録するプログラム単位登録手段と
を備え、プログラム単位マネージャ(15)は各小シス
テムが要求する同一プログラム単位について既にメモリ
に格納したプログラム単位について共用することを特徴
とする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、外部から所定のプ
ログラム単位でダウンロードした中間コードプログラム
をマシンのネイティブコードに変換しメモリに格納し実
行する小システムを1台のマシン上に複数構成したコン
ピュータシステムにおけるデータ処理装置に関する。
【0002】
【従来の技術】小システムが外部サーバから一定のプロ
グラム単位でネットワークを介してダウンロードした中
間コードプログラムをマシンのネイティブコードに変換
し実行するコンピュータシステムにおける各小システム
の中では、どの中間コードのプログラム単位がネイティ
ブに変換されてメモリ上にロードされているのかがテー
ブル等で管理されており、同じ中間コードを再びダウン
ロードして変換しようとする事態を防ぎ、実行速度の向
上を図るようにしている。しかし、これらの小システム
が1台のマシン上で複数動作している場合には、システ
ム間でテーブル情報を共有し、ネイティブコードに変換
されメモリ上にロードされているプログラム単位の再利
用を図ることは考慮されていなかった。
【0003】たとえば、1つのコンピュータシステム上
で複数のJava(登録商標)アプリケーションが実行
される場合、複数のJavaバーチャル・マシン(V
M)が起動されることがある。複数のブラウザが起動さ
れた場合には、それぞれのブラウザ内で独立したJav
aVMが起動している。この場合のJavaVMは上述
の小システムを構成する。
【0004】Elate(登録商標)オペレーティング
・システム(OS)では、コンピュータシステム上のO
Sをホストとして、複数のElate環境を起動する機
能を持っている。これはWindowsシステム上でD
OSプロンプトが複数起動するのに類似している。El
ateは、仮想プロセッサ技術を用いたシステムである
ため、仮想プロセッサコードを実行する際に、そのマシ
ンのCPUにとってネイティブなコードに変換し、実行
を行う。また、プログラムがツールと呼ばれる小さなプ
ログラム単位に分割されているため、一度変換したツー
ルをメモリ上に配置し、プロセス間で共有して使用す
る。ところが、複数のElate実行環境が1台のマシ
ン上に構成されている場合には、各Elate実行環境
がそれぞれ全く独立したものとして動作しているため、
たとえ一方のElateOS上で変換済みのコードがメ
モリ上に存在していたとしても、それを他のElate
OS上で共有して使用することはできなかった。
【0005】図1は、1つのマシン上に複数の仮想マシ
ンコード実行環境を構築している場合を例示するもので
ある。外部に、中間コードすなわち仮想マシンコードで
表現されたプログラム単位2A,2B,2Cを有する外
部サーバ2が存在し、他方にCPU11、メモリ12お
よびホストオペレーティングシステム(ホストOS)1
3を有する1台のマシンからなるコンピュータシステム
10が存在し、このコンピュータシステム10上に複数
の(ここでは典型的に、2つの)仮想マシンコード実行
環境14A,14Bが小システムとして構築されている
ものとする。仮想マシンコード実行環境14Aは、プロ
グラム単位2A,2Bを既に取得し、それらをホストO
S13によりネイティブコードに変換した形でメモリ1
2上にプログラム単位12A,12Bとして格納し実行
しているものとする。いま、仮想マシンコード実行環境
14Bがプログラム単位2B,2Cを取得しようとして
いるものとする。この場合、従来のシステムでは、仮想
マシンコード実行環境14Bは外部サーバ2から仮想マ
シンコードの形のプログラム単位2B,2Cを取得し、
それらをホストOS13によりネイティブコード12
B,12Cに変換し実行する。
【0006】その場合、両仮想マシンコード実行環境1
4A,14B間でプログラム単位12Bは同一内容のも
のであるが、それは両者が別個に取得・変換し、実行の
ために用いられる。そこには、両者に共通のプログラム
単位12Bをなんらかの形で共有するという思想はな
い。
【0007】
【発明が解決しようとする課題】以上述べた小システム
が1台のマシン上で複数動作する場合というのは、複数
のプロセスが動作している場合に相当するが、このよう
な場合、ある小システムが既にダウンロードしネイティ
ブコードに変換しメモリにロードしたプログラム単位を
他の小システムと共有することはなく、他の小システム
では自己の要求に従い改めてダウンロードし、中間コー
ドからネイティブコードに変換し、実行している。
【0008】本発明は、すでにダウンロードしネイティ
ブコードに変換したプログラム単位と同じものを再びダ
ウンロードしてネイティブコードに変換する処理を省略
し、メモリの効率的な利用と処理速度の向上を図ること
を目的とするものである。
【0009】
【課題を解決するための手段】上記目的を達成するため
に本発明は、外部から所定のプログラム単位でダウンロ
ードした中間コードプログラムをマシンのネイティブコ
ードに変換しメモリに格納し実行する小システムを1台
のマシン上に複数構成したコンピュータシステムにおけ
るデータ処理装置において、ネイティブコードに変換さ
れメモリに格納されているプログラム単位の固有のID
およびメモリ上のアドレスを含む管理情報を登録してお
り、各小システムに対し要求により管理情報を提供する
プログラム単位マネージャと、小システムが外部からプ
ログラム単位をダウンロードしネイティブコードに変換
してメモリに格納したときプログラム単位マネージャに
そのプログラム単位の管理情報を登録するプログラム単
位登録手段とを備え、プログラム単位マネージャは各小
システムが要求する同一プログラム単位について既にメ
モリに格納したプログラム単位について共用することを
特徴とする。
【0010】さらに加えて、ある小システムが中間コー
ドプログラムのダウンロードを要求したとき、プログラ
ム単位マネージャを参照し、要求された中間コードプロ
グラムに含まれるプログラム単位の管理情報がそこに登
録されていたら、その中間コードプログラムのダウンロ
ードを外部へ要求することなく、管理情報に基づいて、
ダウンロードしようとした中間コードプログラムから変
換されメモリに格納されているネイティブコードプログ
ラムを実行プログラムとしてこれとリンクする登録済単
位プログラム取得手段を備えるのがよい。
【0011】
【発明の実施の形態】図2は本発明によるデータ処理装
置を実施する装置の概要を示すものである。ここでは、
コンピュータシステム10に、両仮想マシンコード実行
環境14A,14Bに共通にプログラム単位マネージャ
15が設けられている。ここには、外部からダウンロー
ドしネイティブコードに変換したプログラム単位をそれ
を識別するためのID、およびメモリ11上のアドレス
の形でエントリ15Aに登録しておく。プログラム単位
IDにはIDコードのほかにプログラム単位の名前やサ
イズ等を付加しておいてもよい。プログラム単位マネー
ジャ15はプログラム単位IDとメモリアドレスを用い
て、ネイティブコードに変換されてメモリ12に格納さ
れているプログラム単位を一元的に管理する。
【0012】本発明によるデータ処理装置の動作を、図
3のフローチャートを参照して説明する。ここでは、仮
想マシンコード実行環境14Aがプログラム単位2A,
2Bを既に取得し、それらをネイティブコードに変換し
た形でメモリ12上にプログラム単位12A,12Bと
して格納しているものとする。いま、仮想マシンコード
実行環境14Bがプログラム単位2B,2Cを取得しよ
うとしているものとする。
【0013】仮想マシンコード実行環境14Bがプログ
ラム単位2B,2Cを取得するための要求を出すと、プ
ログラム単位マネージャ15により、まずプログラム単
位2B,2CのIDがエントリ15Aに登録されている
か否かをチェックする(ステップ101)。登録されて
いなければ、必要な仮想マシンコードで表現されたプロ
グラム単位をダウンロード(取得)し、それをネイティ
ブコードに変換し(ステップ102)、プログラム単位
ID、およびメモリアドレスをプログラム単位マネージ
ャ15のエントリ15Aに登録(ステップ103)した
後、実行プログラムとしてリンクしサブルーチンコール
して(ステップ105)、実行する(ステップ10
6)。ステップ101において必要なプログラム単位I
Dがプログラム単位マネージャのエントリ15Aに登録
されていた場合は、仮想マシンコード実行環境で必要な
プログラム単位を取得することなく、プログラム単位マ
ネージャ15からネイティブコードに変換済みのプログ
ラム単位のアドレス情報を取得し(ステップ104)、
それをすでに変換済みのネイティブコードすなわち実行
プログラムとしてリンク(ステップ105)し実行する
(ステップ106)。
【0014】以上のごとく、上位のシステムは、ダウン
ロード中のアプリケーションが必要とするプログラム単
位を、下位のレイヤーが管理する情報と比較し、新たに
必要なものであればダウンロードする。また、必要とさ
れるプログラム単位が、既にネイティブコードに変換さ
れた形で下位のレイヤーで管理している情報の中に見つ
かれば、改めてダウンロードすることなく、既にメモリ
にロードされているものとリンクして実行処理を行う。
かくして、プログラム単位のダウンロードおよびコード
の変換処理に要する時間を節約し、プログラム処理速度
を向上させることができる。また、変換のために一時的
に使用されるメモリ容量を節約しメモリを効率的に使用
することができる。
【0015】
【発明の効果】1台のマシン上で複数の小システムを同
時並行的に動作させる場合に、中間コードで表現された
プログラム単位の重複したダウンロードおよびネイティ
ブコードへの変換のステップを省略し、処理速度の向上
とメモリの効率的使用を達成することができる。
【図面の簡単な説明】
【図1】1つのマシン上に複数の仮想マシンコード実行
環境を構築しているコンピュータシステムのブロック
図。
【図2】本発明によるデータ処理装置を実施する装置の
概要を示すブロック図。
【図3】本発明によるデータ処理装置の動作を説明する
フローチャート。
【符号の説明】 2 外部サーバ 2A プログラム単位(仮想マシンコード) 2B プログラム単位(仮想マシンコード) 2C プログラム単位(仮想マシンコード) 10 コンピュータシステム 11 CPU 12 メモリ 12A プログラム単位(ネイティブコード) 12B プログラム単位(ネイティブコード) 12C プログラム単位(ネイティブコード) 13 ホストOS 14A 仮想マシンコード実行環境 14B 仮想マシンコード実行環境 15 プログラム単位マネージャ 15A エントリ

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】外部から所定のプログラム単位でダウンロ
    ードした中間コードプログラムをマシンのネイティブコ
    ードに変換しメモリに格納し実行する小システムを1台
    のマシン上に複数構成したコンピュータシステムにおけ
    るデータ処理装置において、 ネイティブコードに変換され前記メモリに格納されてい
    るプログラム単位の固有のIDおよび前記メモリ上のア
    ドレスを含む管理情報を登録しており、前記各小システ
    ムに対し要求により前記管理情報を提供するプログラム
    単位マネージャと、前記小システムが外部からプログラ
    ム単位をダウンロードしネイティブコードに変換して前
    記メモリに格納したとき前記プログラム単位マネージャ
    にそのプログラム単位の管理情報を登録するプログラム
    単位登録手段とを備え、 前記プログラム単位マネージャは前記各小システムが要
    求する同一プログラム単位について既に前記メモリに格
    納したプログラム単位について共用することを特徴とす
    るコンピュータシステムにおけるデータ処理装置。
  2. 【請求項2】請求項1に記載のデータ処理装置におい
    て、ある小システムが中間コードプログラムのダウンロ
    ードを要求したとき、前記プログラム単位マネージャを
    参照し、要求された中間コードプログラムに含まれるプ
    ログラム単位の管理情報がそこに登録されていたら、そ
    の中間コードプログラムのダウンロードを外部へ要求す
    ることなく、前記管理情報に基づいて、ダウンロードし
    ようとした中間コードプログラムから変換され前記メモ
    リに格納されているネイティブコードプログラムを実行
    プログラムとしてこれとリンクする登録済単位プログラ
    ム取得手段を備えたことを特徴とする中間コード処理シ
    ステム。
JP31402999A 1999-11-04 1999-11-04 コンピュータシステムにおけるデータ処理装置 Pending JP2001134444A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP31402999A JP2001134444A (ja) 1999-11-04 1999-11-04 コンピュータシステムにおけるデータ処理装置
EP00309783A EP1104898A3 (en) 1999-11-04 2000-11-03 Data processor for computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31402999A JP2001134444A (ja) 1999-11-04 1999-11-04 コンピュータシステムにおけるデータ処理装置

Publications (1)

Publication Number Publication Date
JP2001134444A true JP2001134444A (ja) 2001-05-18

Family

ID=18048366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31402999A Pending JP2001134444A (ja) 1999-11-04 1999-11-04 コンピュータシステムにおけるデータ処理装置

Country Status (2)

Country Link
EP (1) EP1104898A3 (ja)
JP (1) JP2001134444A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004075048A1 (ja) * 2003-02-18 2004-09-02 Access Co., Ltd. ネイティブコンパイル方法、ネイティブコンパイル前処理方法、コンピュータプログラム、およびサーバ
JP2013513841A (ja) * 2009-12-13 2013-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション ホスト・コンピューティング・システム上に1つまたは複数の仮想計算機を配備するための方法、コンピューティング・システムのメモリに1組のデータをロードするための方法、システム、およびコンピュータ・プログラム(コンピューティング・システムのメモリへのデータの効率的なロード)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7340730B2 (en) * 2002-03-18 2008-03-04 Sun Microsystems, Inc. On demand, network accessible, run time compile server
KR100763199B1 (ko) * 2006-02-20 2007-10-04 삼성전자주식회사 가상 머신 환경에서의 메소드 호출 방법 및 상기 방법을수행하는 가상 머신이 탑재된 시스템

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761499A (en) * 1995-12-21 1998-06-02 Novell, Inc. Method for managing globally distributed software components
US5768593A (en) * 1996-03-22 1998-06-16 Connectix Corporation Dynamic cross-compilation system and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004075048A1 (ja) * 2003-02-18 2004-09-02 Access Co., Ltd. ネイティブコンパイル方法、ネイティブコンパイル前処理方法、コンピュータプログラム、およびサーバ
CN100346297C (zh) * 2003-02-18 2007-10-31 株式会社爱可信 本地编译方法、本地编译预处理方法、服务器和通信系统
JP2013513841A (ja) * 2009-12-13 2013-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション ホスト・コンピューティング・システム上に1つまたは複数の仮想計算機を配備するための方法、コンピューティング・システムのメモリに1組のデータをロードするための方法、システム、およびコンピュータ・プログラム(コンピューティング・システムのメモリへのデータの効率的なロード)

Also Published As

Publication number Publication date
EP1104898A3 (en) 2007-02-28
EP1104898A2 (en) 2001-06-06

Similar Documents

Publication Publication Date Title
US9081601B2 (en) Virtual mobile infrastructure and its base platform
JP4437142B2 (ja) 仮想ネットワークインターフェース
US8041793B2 (en) Boot image discovery and delivery system
US7673131B2 (en) Booting an operating system in discrete stages
US6453362B1 (en) Systems, methods and computer program products for invoking server applications using tickets registered in client-side remote object registries
US7363480B1 (en) Method, system, and computer-readable medium for updating the firmware of a computing device via a communications network
JP3759001B2 (ja) ネットワーク・ブートを指定変更する方法
US8713582B2 (en) Providing policy-based operating system services in an operating system on a computing system
US20030195995A1 (en) System and method for custom installation of an operating system on a remote client
JPH0281248A (ja) 遠隔ブート
WO2018086437A1 (zh) 一种加速器加载方法、系统和加速器加载装置
JP2002505462A (ja) ネットワーク上における動的分散型計算のための方法及び装置
WO2011078861A1 (en) A computer platform providing hardware support for virtual inline appliances and virtual machines
US20180227241A1 (en) Dynamically adaptive cloud computing infrastructure
CN112286633A (zh) 基于CloudStack平台的虚拟机创建方法、装置、设备及存储介质
CN103677962B (zh) 基于虚拟化技术的桌面交付设备的实现系统及方法
US10509688B1 (en) System and method for migrating virtual machines between servers
CN108062239A (zh) 一种加速器加载方法、系统和加速器加载装置
CN111683145B (zh) 客户端设备的配置方法、客户端设备、电子设备和介质
US20190278639A1 (en) Service for enabling legacy mainframe applications to invoke java classes in a service address space
JP2001134444A (ja) コンピュータシステムにおけるデータ処理装置
US20050132084A1 (en) Method and apparatus for providing server local SMBIOS table through out-of-band communication
JP2006268123A (ja) 情報共有装置
US20030225942A1 (en) System and method for delivering FPGA programming
US11144343B1 (en) Method of providing session container mounted with plurality of libraries requested by user