JP2002351854A - プログラム実行装置および携帯型情報処理装置 - Google Patents
プログラム実行装置および携帯型情報処理装置Info
- Publication number
- JP2002351854A JP2002351854A JP2001163271A JP2001163271A JP2002351854A JP 2002351854 A JP2002351854 A JP 2002351854A JP 2001163271 A JP2001163271 A JP 2001163271A JP 2001163271 A JP2001163271 A JP 2001163271A JP 2002351854 A JP2002351854 A JP 2002351854A
- Authority
- JP
- Japan
- Prior art keywords
- command
- data
- processing
- program execution
- virtual machine
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline or look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Storage Device Security (AREA)
Abstract
り、セキュリティーにも優れたなプログラム実行装置を
提供する。 【解決手段】 汎用OS16によるプログラム実行環境
が設定されたホストシステム100と、仮想マシン実行
環境が設定されたサブシステム200とを、独立の演算
回路に組み込むとともに、両演算回路を接続する汎用バ
スにDPRAM3を接続する。各システム100,20
0に組み込まれたインターフェース18,28は、シス
テム内で他方のシステムに要求する処理が発生したとき
は、その処理の内容を示すコマンドをDPRAM3に書
き込むともに、相手方システムに割込みを出力し、他方
のシステムからの割込みに対しては、前記DPRAM3
から書き込まれたコマンドを読み出す処理を実行する。
Description
行するためのプログラム実行環境が設定された装置(こ
こでは「プログラム実行装置」と称する。)に関するも
ので、特にこの発明は、構成の異なる2種類のプログラ
ム実行環境が設定されたプログラム実行装置およびこの
プログラム実行装置が用いられた携帯型情報処理装置に
関する。
に伴い、各種のアプリケーションを通信端末にダウンロ
ードして使用することが可能となっている。またサン・
マイクロシステムズ社の開発したJava(登録商標;
以下「JavaTM」と示す。)によれば、プラットフォ
ームに依存しない「仮想マシン」が動作するプログラム
実行環境(以下、これを「仮想マシン実行環境」と呼
ぶ。)を設定して、JavaTM対応の各種アプリケーシ
ョンを動作させることができる。特に、携帯電話やPD
Aのような携帯型情報処理装置においては、仮想マシン
実行環境を設定することにより、動画を表示したり、複
雑なユーザーインターフェイスを形成するなど、従来の
機種にはない機能を具備する装置が提供されるに至って
いる。
ような構成を具備する。図中、70はプラットホームと
なるOS(オペレーションシステム),71はOS70
に準拠するプログラム構成を持つアプリケーション(こ
こでは「既存システム用アプリケーション71」と呼
ぶ。)である。前記OS70は、仮想マシン80が組み
込まれない場合には、単に既存システム用アプリケーシ
ョン71が動作するだけのプログラム実行環境を設定す
るものである(以下、このOS70を「汎用OS70」
と呼び、この既存システム用アプリケーション71のみ
を動かすシステムを「既存システム」と呼ぶ。)
のOS70上で、JavaTMによるアプリケーション8
1(図中、「仮想マシン用アプリケーション81」と示
す。)を動作させるOSとして機能する。すなわち仮想
マシン用アプリケーション81が何らかの処理を行う場
合、アプリケーション81から仮想マシン80に、この
処理の内容を示すバイトコードのコマンドが渡された
後、仮想マシン80とOS70との間で前記コマンドに
基づくエミュレーションが行われて前記アプリケーショ
ン81が要求する処理が実行されることになる。なお、
上記の仮想マシン実行環境は、言うまでもなく、CPU
90,メモリ91(次の図11のROM92およびRA
M93に相当する。)などのハードウェア資源に設定さ
れるものであり、図中の矢印付きの点線に示すように、
各アプリケーション71,81は、OS70やCPU9
0を介してメモリ91を共有することになる。
た他のシステム構成を示す。このシステムは、ソフトウ
ェアとしての構成は前記図12と同様であるが、ハード
ウェアについて、CPU91にアクセラレータとしての
第2のCPU95を接続し、汎用OS70が仮想マシン
80からのコマンドを処理する場合には、このコマンド
を第2のCPU95に渡して処理させることにより、処
理を高速化するようにしている。したがって図中、点線
枠で示すように、第2のCPU95,メモリ91,各種
デバイス94などのハードウェアおよび仮想マシン80
により、仮想マシン実行環境が設定されることになる。
なお、既存システム用アプリケーション71のみを動か
す場合や仮想マシン用アプリケーション80が既存シス
テムの機能を利用した処理を行う場合には、従来と同様
に、既存のCPU91のみで対応することができる。
れた第3のシステム構成である。このシステムは、既存
システムと仮想マシン実行環境とがそれぞれ個別のハー
ドウェア資源に設定され、両システムのCPU91,9
1aが接続された構成をとる。仮想マシン実行環境側
は、ハードウェア構成は既存システムと同様(CPU9
1a,ROM92a,RAM93a,デバイス94aな
どにより構成される。)であるが、ソフトウェアについ
ては、前記図11,12の仮想マシン80の持つ機能の
ほか、既存システム側とデータをやりとりするための機
能やメモリやデバイスを制御するための機能などが設定
された専用のOS82が組み込まれる。仮想マシン用ア
プリケーション81が既存システムの持つ機能を利用す
る場合は、この専用OS82と既存システムの汎用OS
70との間で、コマンドの発行,および前記コマンドに
応じた処理の実行結果の返送のための通信が行われる。
では、OS70によるエミュレーションによって仮想マ
シン80を動作させるため、仮想マシン用アプリケーシ
ョン81の実行速度が遅くなる、という問題がある。ま
た既存システム用アプリケーション71を仮想マシン8
0と同じOS70上で動作させるので、リソースの競合
が起こりやすく、また既存システムアプリケーション7
1側への影響は避けられないため、プログラムを変更す
る必要がある。さらに仮想マシン実行環境側について
も、スレッド管理やメモリ管理を汎用OS70に合わせ
なければならないため、プログラムを変更する必要が生
じ、ソフトウェア変更のためのコストや時間が多大にな
る、という問題が発生する。
との間で同じメモリやデバイスが共有されるので、仮想
マシン用アプリケーション81として悪意のあるプログ
ラムや十分に検証されていないプログラムが組み込まれ
ると、システム全体が破壊される虞がある。
ータとなる第2のCPU95により仮想マシン用アプリ
ケーション81を高速で実行することが可能となるが、
この第2のCPU95を接続するために既存のCPU9
1の構成を変更する必要が生じる。またこのシステムに
おいても、既存システムと仮想マシン実行環境との間で
メモリ91やデバイス94を共有することになるので、
やはりセキュリティが低下する、という問題が生じる。
にかかるハードウェアと仮想マシン実行環境にかかるハ
ードウェアとが切り離されている分、図11,12のシ
ステムより高いセキュリティーを確保できる。しかしな
がら各OSは、システム内で発生したコマンドに対する
処理と、異なる構成のOSからのコマンドに対する処理
とを並列で実行しなければならないため、リソースの排
他制御が複雑になるという問題が生じる。
た従来のシステムでは、ハードウェアまたはソフトウェ
アの構成が複雑化したり、十分なセキュリティを確保で
きない、などの問題が生じる。本願発明はこのような問
題に着目してなされたもので、構成が簡易、かつ仮想マ
シンによる処理を高速で実行することが可能であり、し
かもセキュリティに優れたプログラム実行装置を提供す
ることを目的とする。さらにこの発明は、上記のプログ
ラム実行装置を携帯型情報処理装置に組み込むことによ
り、仮想マシンの実行環境下で高速の処理を行い得る携
帯型情報処理装置を、既存の装置の回路構成を利用して
低コストで提供することを、第2の目的とする。
ラム実行装置は、異なる構成のプログラム実行環境下で
稼働する2種類のシステムをそれぞれ個別の演算回路に
設定して各演算回路を接続するとともに、各演算回路の
接続経路に双方の演算回路による使用が可能な共有メモ
リを接続した構成をとる。
体とし、RAM,ROMなどのメモリを含むコンピュー
タ用の回路を指すもので、必要に応じて、入出力部や外
部メモリなどのデバイスを接続することができる。「プ
ログラム実行環境」とは、所定構成のプログラムが動作
する環境であり、通常、ハードウェアである演算回路と
ソフトウェアであるOSとにより構成される。この発明
では、このプログラム実行環境を構成するハードウェア
とソフトウェアとを包括した構成を、「システム」と呼
んでいる。
のシステムのプログラム実行環境が構成の異なるOSに
より設定される。たとえば一方の演算回路には、Jav
aTMの仮想マシンに対応した仮想マシン実行環境が設定
され、他方の演算回路に、この仮想マシン実行環境を持
たないOS(前記した汎用OS)によるプログラム実行
環境が設定されることになる。
のように、2方向からのアクセスが可能なメモリであ
る。なお、この2つの演算回路および共有メモリを、同
じ基板上に搭載すれば、所定の処理を実行する情報処理
装置の制御部として前記装置内に組み込むことができ
る。
他方のシステムに要求する処理が発生したとき、その処
理の内容を示すコマンドを前記共有メモリに書き込んで
他方のシステムに割込みを発生させる書込み制御と、前
記割込みの発生に応じて前記共有メモリから前記コマン
ドを読み出す読出し制御とを実行するためのコマンド中
継手段が、それぞれ設けられる。
自システムにはない機能であって、他方のシステムが具
備する機能により実行可能な処理、言い換えれば、他の
システムの管理下にあるリソースの参照が必要な処理を
意味する。たとえば前記した仮想マシン実行環境と既存
システムとの関係において、キー入力による情報を既存
システム側から仮想マシン実行環境側に渡したり、仮想
マシン用アプリケーションがデータ表示のために既存シ
ステムの持つフォントデータを使用する場合などが、こ
れにあてはまる。
双方のシステムがそれぞれ個別の演算回路に設定されて
いるので、各演算回路を独立に動かすことにより、それ
ぞれのシステムに組み込まれたアプリケーションを同時
に動かすことができる。この場合に、一方のシステムに
おいて他方のシステムの機能を利用した処理を行う必要
が生じたとき、このシステムのコマンド中継手段が前記
共有メモリにこの処理の内容を示すコマンドを書き込ん
で、他方のシステムに割込みを発生させる。これにより
他方のシステムのコマンド中継手段は、共有メモリから
前記書き込まれたコマンドを取り出し、そのデータの示
す処理を実行する。
でコマンドの処理結果を返送する必要がある場合は、処
理を実行した側のシステムのコマンド中継手段が、前記
処理結果の取込みを指示するコマンドを前記処理結果と
ともに共有メモリに書き込んで、他方のシステムに割込
みを発生させる。これにより他方のシステムのコマンド
中継手段は、共有メモリに書き込まれたコマンドを取り
出し、先に発生した処理の処理結果を取得することがで
きる。
各システムのコマンド中継手段は、他方のシステムにコ
マンドを送ったり、そのコマンドを受信するためのイン
ターフェースとして機能することになる。演算回路や共
有メモリの接続は、汎用のバスを用いて簡単に行うこと
ができる上、コマンド中継手段以外のソフトウェアの構
成を大幅に変更する必要がなく、また各システムを個別
のハードウェア上で同時に動かすことができるので、処
理の高速化および低コスト化を実現することが可能とな
る。
態とし、前記コマンド中継手段により他方のシステムか
らの割込みに応じて共有メモリから自発的にコマンドを
読み出すので、他のシステムからのコマンドについても
システムで発生したコマンドと同様に取り扱うことがで
き、排他制御を簡単化することができる。しかもシステ
ム間でのデータのやりとりを行うのは、前記したコマン
ド中継手段と共有メモリとによるインターフェース内の
みに限定されるので、悪意のあるプログラムや検証が十
分でないプログラムに対するセキュリティも保ちやすく
なる。
は、前記共有メモリには、各システムにそれぞれ個別の
メモリ領域が設定されており、前記コマンド中継手段
は、書込み制御の際には他方のシステムに対応するメモ
リ領域に、前記読出し制御の際には自システムに対応す
るメモリ領域に、それぞれアクセスするように設定され
る。このような構成によれば、システム間でのコマンド
の送受信をコマンドの送信方向毎に管理することができ
るので、たとえば一方のシステムにおいて他方のシステ
ムからのコマンドの読み出しが完了していない状態下
で、他方のシステムの機能を必要とする処理が発生した
場合でも、共有メモリへのコマンドの書込みに支障が生
じることがない。
モリの各メモリ領域には、それぞれ他方のシステムへの
コマンドを格納するためのコマンド格納領域と、複数の
コマンドについてそれぞれそのコマンドによる処理で参
照するデータを格納するためのデータ格納領域とが設定
される。また各システムのコマンド中継手段は、書込み
制御においては、他方のシステムのデータ格納領域内に
そのシステムに実行させる処理において参照するデータ
を書き込んだ後、前記コマンド格納領域に前記コマンド
とともに参照データの格納場所を書き込む処理を実行
し、読出し制御においては、前記割込みの発生に応じて
自システムのコマンド格納領域から前記コマンドおよび
参照データの格納場所を読み出した後、前記コマンド格
納領域をクリアしてから参照データを読み出す処理を実
行するように設定される。
のシステムの機能を必要とする処理が発生したとき、ま
ず相手方のシステムのデータ格納領域に、この処理にお
いて参照するデータを書き込んだ後、前記コマンドの格
納領域に、前記処理を特定するコマンドを参照データの
格納場所とともに書き込む。相手方のシステムは、前記
割込みの発生に応じて自システムのコマンド格納領域か
らコマンドおよび格納場所を取り出すと、コマンド格納
領域をクリアし、しかる後に前記参照データを読み出し
てコマンドに応じた処理を実行する。なお、「参照デー
タ」とは、コマンドの示す処理の対象となる数値や文字
列、参照先のリソースを示すデータ(たとえば、処理対
象のデータの格納場所、通信の際の接続先のアドレスな
ど)などを指す。
能を必要とする処理が連続的に発生した場合に、処理を
行う側のシステムにおいて、先に受け付けたコマンドの
参照データの読出しが終了していなくとも、つぎの処理
のためのコマンドを受け付けることができるから、各シ
ステムにおいて複数の処理を並行させて実行させること
ができ、より一層、処理を高速化することができる。
モリには、各システム毎に、それぞれ複数の処理にかか
る参照データを格納できるだけの容量を持たせる必要が
ある。また処理対象のデータの容量が大きい場合には、
データを所定単位毎に分割して順次送信するようにする
のが望ましい。
実行装置を機体内に組み込むことにより、高速処理を実
行可能な携帯型情報処理装置を低コストで提供すること
ができる。たとえば携帯型情報処理装置が携帯電話であ
る場合、一方のシステムは、通信処理やインターネット
のようなコンピュータネットワークに接続するなど、装
置の主要な機能に関わる処理を行うためのシステムとす
ることができる。これに対し、他方のシステムを、Ja
vaTMのような仮想マシン実行環境によるシステムとす
ることにより、動画を表示したり、ゲーム用のアプリケ
ーションを動かすなどの複雑な制御を要する処理を高速
で行うことができる。
様の構成の演算回路に仮想マシン用の演算回路と共有メ
モリとを接続することにより、制御部を簡単に構成する
ことができる。しかも既存の演算回路側のシステム側に
ついては、前記コマンド中継手段を構成するソフトウェ
アを組み込み、このソフトウェアが動作する環境を設定
することで対応できるから、ソフトウェアの大がかりな
変更を行う必要がない。
かるプログラム実行装置のハードウェア構成を示す。こ
のプログラム実行装置は、携帯電話やPDAなどの携帯
型情報処理装置の制御部としてその機体内に組み込まれ
るもので、装置の主要な機能にかかる情報処理を行うた
めのプログラム実行環境を具備する第1の装置1(以
下、「ホストシステム実行装置1」と呼ぶ。)と、装置
にオプションとして付与される機能にかかる情報処理の
ための仮想マシン実行環境を具備する第2の装置2(以
下、「仮想マシン実行装置2」と呼ぶ。)と、これらの
装置間での共有メモリとしてのデュアルポートRAM3
(以下、「DPRAM3」と略す。)とにより構成され
る。
1,RAM12,ROM13から成る演算回路15と、
外部メモリや入出力部などの周辺装置(図中、「デバイ
ス14」としてまとめて示す。)とを具備する。仮想マ
シン実行装置2も同様に、CPU21,RAM22,R
OM23から成る演算回路25とデバイス26とを具備
する。なお、ホストシステム実行装置1の演算回路15
は、従来の携帯電話やPDAに組み込まれていたのと同
様の汎用の回路であるが、仮想マシン実行装置2側の演
算回路25には、バイトコードをネイティブコードとし
て使用するJavaTM専用の演算回路が導入される。
して双方のCPU11,21が接続された関係にあり、
さらにこの汎用バス4に前記したDPRAM3が接続さ
れる。DPRAM3は、詳細は後記するが、一方の装置
側のシステムにおいて他方の装置のシステムに処理を行
わせる必要が生じたとき、その処理の内容を示すコマン
ドを相手方のシステムに伝えたり、相手方のシステムか
らの処理結果を要求元のシステムに受け渡すために用い
られる。
ウェア構成を示す。前記ホストシステム実行装置1,仮
想マシン実行装置2には、それぞれ前記演算回路15,
25のROM13,23や外部メモリなどに組み込まれ
たプログラムによって、所定のプログラム実行環境が設
定される。
として、ITRONのようなリアルタイムOS16(以
下、「汎用OS16」という。)が組み込まれるほか、
装置内のデバイスを制御するためのデバイスドライバ1
7,および後記するサブシステムインターフェース18
などを構成するソフトウェアが組み込まれる。これらソ
フトウェアにより、ホストシステム実行装置1には、汎
用OS16に準拠したプログラム実行環境を持つシステ
ム100(以下、「ホストシステム100」という。)
が設定され、前記汎用OS16のセマンティクスにより
記述された既存システム用アプリケーション19が動作
するようになる。
ウェアと連動してバイトコードを実行する仮想マシン実
行環境用OS26のほか、デバイスドライバ27,ホス
トシステムインターフェース28が組み込まれる。この
構成により、仮想マシン実行環境を持つシステム200
(以下、これを「サブシステム200」と呼ぶ。)が設
定され、JavaTMのソースコードを持つ仮想マシン用
アプリケーション29が動作するようになる。
ョン19,29は、自システムのOS16,26に必要
な処理を要求しながら動くように設定されている。いず
れのOS16,26も、自システムの機能のみを用いた
処理を行う場合は、他方のOSの動きに関わることな
く、直接またはデバイスドライバ17,27を介して自
己のシステム内のリソースを参照し、必要な処理を実行
する。
を用いた処理が必要となった場合には、前記サブシステ
ムインターフェース18やホストシステムインターフェ
ース28が起動し、これらのインターフェース18,2
8間で前記DPRAM3を介したコマンドのやりとりを
行うことにより、相手側のシステムに要求された処理を
実行させ、その処理結果を取り込むようにしている。
て、双方のシステム間でデータをやりとりする部分の詳
細な構成を示す。図3中、「コマンドインターフェー
ス」として点線枠で囲んだ部分(符号5で示す。)がシ
ステム間の中継部であって、ホストシステム100側の
サブシステムインターフェース18,サブシステム20
0側のホストシステムインターフェース28,および前
記DPRAM3により構成される。
トシステムインターフェース28は、いずれも相手方の
システムに自システムが必要とする処理を実行させるた
めのコマンドを発行する機能と、相手方システムからの
コマンドを読み込んで自システムのOS16,26に前
記コマンドに応じた処理を要求する機能とを具備する。
(以下、サブシステムインターフェース18,ホストシ
ステムインターフェース28を区別しない場合は、単に
「インターフェース」という。)
のアクセスを受け付けることが可能なメモリであるが、
ここでは、一方のインターフェースの発行したコマンド
を他方のシステムに渡す場所として用いられる。このD
PRAM3には、ホストシステム100,サブシステム
200について、それぞれそのシステムに要求するコマ
ンドやそのコマンドの参照データを格納するための領域
51,52((以下、「専用メモリ領域51,52」と
総称する。)が個別に設定される。各インターフェース
18,28は、それぞれコマンド発行時には、相手方の
システムの専用メモリ領域にコマンドを書き込むととも
に、相手方のシステムに割込み通知を送る一方、自シス
テムが割込み通知を受け付けたときは、自システムの専
用メモリ領域にアクセスして相手方のシステムが発行し
たコマンドを受け取るように設定されている。
テムであるので、汎用OSまたはデバイスドライバ17
の一部分にサブシステムインターフェース18との通信
機能を設定すれば良く、既存システム用アプリケーショ
ン19を変更する必要がない。他方、サブシステム20
0については、仮想マシン用アプリケーション29が直
接ホストシステムインターフェース28と通信するよう
に設定して、処理速度を高めることができる。
シン用アプリケーション29の個々のスレッド291
(図中、「アプリケーションスレッド291」と示
す。)でメソッドコールが発生したときの処理の流れを
示している。この場合、図中の一点鎖線の流れに示すよ
うに、メソッドコールに応じてホストシステムインター
フェース28がコマンドを発行し、これをサブシステム
インターフェース18が取り込んで自システム内の汎用
OS16にシステムコールを送信する。
ライバ17を起動させて前記システムコールに応じた処
理を行い、その処理結果をサブシステムインターフェー
ス18に返送する。これにより、図中の二点鎖線の流れ
に示すように、サブシステムインターフェース18から
前記処理結果の取込みを要求するコマンドが発行され、
これをホストシステムインターフェース28が取り込ん
で前記メソッドコールを出したアプリケーションスレッ
ド291に渡す。この時点でアプリケーションスレッド
291の要求した処理が完了することになり、アプリケ
ーションスレッド291は、処理結果を用いてつぎのス
テップの処理を実行することになる。
求したり、その処理の実行結果を返送する処理は、すべ
てサブシステムインターフェース18とホストシステム
インターフェース28との間のコマンドのやりとりによ
って行われる。したがって各システム100,200で
は、他方のシステムに処理を要求したり、他のシステム
から要求された処理の内容を受け取ってその処理結果を
返送する場合は、システム内のインターフェース18,
28に対する処理を行えば良く、またインターフェース
18,28自身も、割込みによって自発的に他方のシス
テムからのコマンドを取得するから、システム内におい
て他のシステムを意識する必要がなくなり、リソースの
排他制御を簡単に行うことができる。また他方のシステ
ムに処理を要求する必要がない場合は、各システムを独
立して動かすことができるから、仮想マシンの処理速度
を大幅に向上することができる。しかも、仮想マシン用
アプリケーション29が動いていない場合には、仮想マ
シン実行装置2をスタンバイモードに設定することがで
きるから、消費電力を削減することができる。
ム100側では、既存のプログラム実行環境にサブシス
テムインターフェース18を加え、このサブシステムイ
ンターフェース18が動作できる環境を設定するだけで
良いので、ホストシステム100のソフトウェア構成を
大きく変更する必要がない。しかもハードウェアについ
ても、サブシステム200のCPU21やDPRAM3
に汎用バス4を介して接続することができるから、ホス
トシステム100側のハードウェア構成を変更する必要
がなく、コストを大幅に削減することができる。
コマンドは、通常、そのコマンドの種類を示すIDによ
り示され、必要に応じて、数値,文字列など、このコマ
ンドの実行時に参照すべきデータ(以下、「コマンドデ
ータ」という。)が付加される。前記DPRAM3の各
専用メモリ領域51,52は、いずれも、前記コマンド
IDを格納するためのコマンドレジスタ51A,52A
とコマンドデータ領域51B,52Bとに区分けされ
る。
ジスタ51A,52A、コマンドデータ領域51B,5
2Bのデータ構成を示す。各コマンドレジスタ51A,
52Aには、コマンドIDのほかにブロック情報が書き
込まれる。一方、コマンドデータ領域51B,52B
は、所定のデータ長毎に分割されており、分割された一
領域(ここでは「データブロック」と呼ぶ。)に1コマ
ンド分のコマンドデータを書き込むようにしている。
ブロック情報とは、前記コマンドデータ領域51B,5
2Bにおいて同じレジスタ内のコマンドIDに対応する
コマンドデータが格納されているデータブロックを示す
情報である。ただし、コマンドの中には、コマンドデー
タを持たないものもあり、この場合には、ブロック情報
は空の状態に設定される。またコマンドデータが数値の
ような容量の小さなデータであれば、このデータはブロ
ック情報の格納エリアに直接書き込まれる。
ブロックに格納可能なサイズを越えるものもある。この
ような場合には、コマンドデータは、前記格納可能なサ
イズ毎に切り分けられて所定のデータブロックに順次書
き込まれる。コマンドデータ領域には、このように分割
されたコマンドデータを相手方のシステムが一連のデー
タとして認識できるように、コマンドデータのセッショ
ンを特定するためのセッションIDが書き込まれる。
ブロックの使用状態やコマンドデータの属性を示すため
の情報(図中、「コマンドデータ識別情報」と示す。)
として、以下のような情報が含まれる。 データブロック確保フラグ(以下、「確保フラグ」
と略す。) 自己のデータブロックがコマンドの受け渡しのために確
保されているか否かを示すフラグであり、性質上、コマ
ンド発行側のシステムによりセットされ、コマンドに付
随するすべてのコマンドデータの読出しが終了した時点
で、相手方のシステムによりクリアされる。
「使用フラグ」と略す。) 自己のデータブロックが使用中であるか否かを示すフラ
グであり、コマンド発行側のシステムによりコマンドデ
ータの書込み時にセットされた後、データブロックに書
き込まれているコマンドデータの読出しが終了した時点
で、受け取り側のシステムによりクリアされる。
す。 コマンドデータ連番 現在データブロックに書き込まれているコマンドデータ
が全コマンドデータのうちの何番目にあたるかを示す数
値データである。コマンドを受け取る側のシステムで
は、コマンドデータが分割されて渡された場合には、こ
のコマンドデータ連番に基づき、各コマンドデータを結
合する。
域51B,52Bには、前記した複数のデータブロック
により、複数のコマンドについてのコマンドデータを書
き込むことが可能であるが、コマンドレジスタ51A,
52Aは、いずれのシステム100,200とも、1コ
マンドのみを格納するように設定される。ただし後記す
るように、各インターフェース18,28は、それぞれ
割込みに応じてコマンドレジスタ51A,52Aからコ
マンドを読み出すと、コマンドデータの読出しを行う前
にコマンドレジスタ51A,52Bをクリアするので、
コマンドが連続的に発行される場合にも、アプリケーシ
ョンやデバイスの処理をさほど遅延させずに動かすこと
ができる。
各インターフェースにおいて行われる処理の詳細につい
て説明する。図5は、コマンド発行側のシステム(以
下、「発行側システム」という。)のインターフェース
の手順であり、各処理のステップを「ST」で示してい
る。また図6は、コマンドを受け取る側のシステム(以
下、「相手方システム」という。)のインターフェース
の手順であり、各処理のステップを「st」で示してい
る。なお、図5,6では、コマンドデータ領域51B,
52Bにコマンドデータが書き込まれる場合の手順のみ
を示す。
に格納できるサイズである場合の手順を説明する。一方
のシステムが他方のシステムにコマンドを発行する状態
になると、システム内のインターフェースが起動して図
5の手順を開始する。ST1では、DPRAM3内の相
手方システムの専用メモリ領域にアクセスして使用され
ていないデータブロックを探し、この空きブロックにブ
ロック確保フラグをセットする。つぎのST2では、前
記確保したデータブロックに前記使用フラグをセット
し、さらにつぎのST3で、このデータブロックにシス
テム内で発生したコマンドデータをコピーする。なお前
記ST3では、コマンドデータのコピーとともに、前記
したセッションID,コマンドデータサイズ,コマンド
データ連番の各データの書込みを行うことになる。
ンドレジスタが使用中であるか否かをチェックする。こ
こでコマンドレジスタに0以外のデータが格納されてい
る場合は、使用中であると見なして、レジスタがクリア
されるまで待機する。そしてコマンドレジスタがクリア
された状態になると、つぎのST5に進んで、前記コマ
ンドレジスタにコマンドIDおよび前記コマンドデータ
の格納場所を示すブロック情報を書き込み、しかる後に
ST6で相手方のシステムに割込みを出力する。
クの使用フラグが相手方のシステムによりクリアされる
まで待機する。使用フラグがクリアされると、ST7が
「YES」となってST8に進み、コマンドデータの送
信が完了していることを確認した上で処理を終了する。
の割込み出力を受けてインターフェースが起動し、図6
の手順を開始する。まず最初のst1では、自システム
の専用メモリ領域にアクセスして、コマンドレジスタか
ら前記コマンドIDおよびブロック情報を読み取る。こ
の場合、インターフェースは、読み取った情報をすぐに
自システムのバッファなどに保存してst2に進み、コ
マンドレジスタをクリアする。
りコマンドデータの格納されたデータブロックを確認し
て、このデータブロックの各データを読み出す。つぎの
st4では、前記セッションIDやコマンドデータサイ
ズ連番から最初の送信データであるかどうかを確認し、
最初のデータであれば、st5に進んで前記コマンドデ
ータのサイズを確認する。さらにst6では、自システ
ムのRAMなどのメモリ内に、前記コマンドデータサイ
ズ分のデータ格納領域を確保した後、st8に進んで、
前記データ格納領域の先頭位置に前記読み出したコマン
ドデータをコピーする。
の使用フラグをクリアし、さらにst10で、つぎのコ
マンドデータの有無をチェックする。ここでは、コマン
ドデータが1データブロックに入るサイズと仮定してい
るから、st10は「NO」となってst11に進み、
前記データブロックの確保フラグもクリアする。さらに
st12において、前記コマンドIDおよびコマンドデ
ータにより示されるコマンドの内容を自システムのOS
に送信して処理を終了する。
場合の手順について説明する。この場合、発行側システ
ムのインターフェースは、前記図5のST1〜3におい
て所定のデータブロックを確保してコマンドデータを書
き込むが、この場合、送信すべきコマンドデータを先頭
から順に1データブロック分だけ取り出して前記データ
ブロック内にコピーし、残りのデータをシステム内のメ
モリに保持した状態でST4以下の処理を実行すること
になる。
応じて前記と同様にst1〜9の処理を実行するが、つ
ぎのst10の判定は「YES」となるので、st11
の確保フラグのクリア処理を行わずに処理を終了する。
ースでは、図5のST7で使用フラグがクリアされたこ
とを確認した後、ST8の判定が「NO」となってST
2へと戻る。このとき前記したように、相手方システム
が確保フラグのクリアをスキップすることによって先の
コマンド発行時に確保したデータブロックが保持されて
いるから、前記確保中のデータブロックに使用フラグを
再設定した上で、前記メモリからつぎのコマンドデータ
を取り出し、前記データブロックにコピーする。その後
は、前回と同様の手順で再びコマンドレジスタにコマン
ドIDおよびブロック情報を書き込み、相手方システム
に割込みを出力する。
し、前回と同様にインターフェースを起動させて図6の
手順を開始し、前回と同様にst1〜3の処理により、
コマンドIDを取得し、データブロック内のデータを読
み出す。この後、st4の判定が「NO」となってst
7に進み、前記セッションIDにより最初のコマンド受
信時に確保したデータ格納領域を確認する。それからs
t8に進んで、確認したデータ格納領域において、先に
コピーされたコマンドデータの後尾に2番目のコマンド
データをコピーする。その後は、st9で使用フラグを
クリアした後、st10からst12に進んで、コマン
ドIDおよびコマンドデータをOSに送信し、処理を終
了する。
マンドデータの送信が完了するまで同様の手順で図5,
6の処理を繰り返す。発行側システムでは、最後のコマ
ンド発行を行って相手方システムに割込みを出力する
と、使用フラグがクリアされるのを待ってコマンド発行
処理を終了する(ST7,8)。また相手方システムで
は、この最後のコマンド発行に対し、使用フラグをクリ
アした後、st10からst11に進んで確保フラグも
クリアし、しかる後にst12において、最後に発行さ
れたコマンドの内容をOSに送信して、コマンド受付処
理を終了する。
が発行される場合は、後記するように、発行側システム
のインターフェースは、コマンドレジスタへの書込みを
行った後に割込みを出力し、これに応じて相手方システ
ムのインターフェースがコマンドレジスタの読出しを行
って、前記コマンドIDの内容をOSに伝えることにな
る。このような処理によれば、大容量のコマンドデータ
を持つコマンドを送信している途中でも、コマンドデー
タを要しない短いコマンドを発行して、そのコマンドを
優先的に実行させることができる。たとえばサブシステ
ム200側がホストシステム100にストリームデータ
のような大容量のデータの送信を要求してその送信を受
けている間に、他の仮想マシン用アプリケーション29
を起動させるためのキーイベントが発生したような場
合、前者の処理の間に後者の処理を割り込ませることが
できるなど、応答性能が要求されるコマンドに対する処
理を高速で行うことができる。
て、前記コマンドインターフェース5の機能により実現
する処理の具体例を示す。たとえば、このプログラム実
行装置が携帯電話に組み込まれる場合、ホストシステム
100は、各種のキー操作を受け付ける処理、通信を行
う処理、キー操作の内容や通信により取り込んだデータ
を表示する処理など、従前の機種と同様の処理を実行す
る。他方、サブシステム200は、たとえばゲーム用の
アプリケーションを動かして、動画や得点を表示させる
などの処理を行うが、キーイベントが発生したときに
は、ホストシステム100側から操作されたキーの内容
の送信を受ける。また文字を表示する場合のフォントデ
ータを取り込んだり、ネットワークへのアクセスが必要
になった場合には、ホストシステム100の持つ機能を
使用することになる。
処理(図7),サブシステム200側がフォントデータ
を必要とする場合の処理(図8),サブシステム200
側でネットワークへのアクセスが必要となった場合の処
理(図9,10)を例にとって、双方のシステムにおけ
る処理の流れを説明する。なお、図7〜10では、前記
図3の構成に基づき、サブシステムインターフェース1
8,ホストシステムインターフェース28のほか、ホス
トシステム100側の汎用OS16およびデバイスドラ
イバ17、サブシステム200側のアプリケーションス
レッド291のそれぞれについて、各部の処理の流れを
関連づけてあり、各処理には一連の参照用数字(括弧付
き)が付けてある。(以下の説明でも、この参照用数字
を使用する。)
ケーション29に対し、ユーザーが何らかの処理を実行
させるためのキー操作を行った状態を想定している。こ
の場合、まずホストシステム100側のデバイスドライ
バ17や汎用OS16によって、このキーイベントの内
容が読み取られる((1))。つぎに汎用OS16は、サ
ブシステムインターフェース18を起動してコマンド発
行処理を開始させる((2)(3))。
8は、汎用OS16から前記キーイベントの内容を受け
取ると、サブシステム200側のコマンドレジスタ52
Aをチェックして、コマンドレジスタ52Aが未使用状
態となると(チェック時に未使用であればすぐに、また
使用中であれば未使用になるまで待機する。)、起動コ
マンドのコマンドIDを書き込み、サブシステム200
側に割込みを出力する((4)(5))。なお、ここでは起動
コマンドの参照データはブロック情報として書き込める
サイズであり、前記コマンドデータ領域への書込みは行
われないものとしている。
ホストシステムインターフェース28が起動し、自シス
テムのコマンドレジスタ52Aに書き込まれたコマンド
IDを読み出す((6)(7))。さらにホストシステムイン
ターフェース28は、前記コマンドレジスタ52Aをク
リアし、仮想マシン実行用環境OS26を介して起動中
のアプリケーションスレッド291に前記キーイベント
を通知する((8)(9))。この通知を受けたアプリケーシ
ョンスレッド291は、キーイベントの内容を認識し、
そのイベントに応じた処理を実行することになる((1
0))。
ッド291において、フォントデータを用いた描画処理
を行う必要が生じた場合の処理を示す。この描画処理の
要求が発生すると、アプリケーションスレッド291
は、自システムのホストシステムインターフェース28
に必要とするフォントデータを要求するコマンドを出力
する((1)(2))。この要求を受けて起動したホストシス
テムインターフェース28は、ホストシステム100側
のコマンドレジスタ51Aをチェックし((3)(4))、こ
のレジスタ51Aが未使用状態になると、フォント取得
コマンドのコマンドIDを書き込み、さらにホストシス
テム100に割込みを出力する((5))。なお、このフ
ォント取得コマンドの参照データも、前記起動コマンド
と同様に、コマンドデータの書込みを必要しないコマン
ドであるとしている。
受けてサブシステムインターフェース18が起動し、自
システムのコマンドレジスタ51Aから前記コマンドI
Dを読み出す((6)(7))。さらにサブシステムインター
フェース18は、前記コマンドレジスタ51Aをクリア
した後、自システムの汎用OS16にフォントデータの
要求を出力する((8)(9))。
れたフォントデータを生成し、サブシステムインターフ
ェース18に返送する((10))。この返送を受けたサブ
システムインターフェース18は、サブシステム200
側のコマンドデータ領域52Bの空データブロックに確
保フラグおよび使用フラグをセットした後、このデータ
ブロック内に前記汎用OS16から渡されたフォントデ
ータをコピーする((11)(12))。さらにサブシステムイ
ンターフェース18は、サブシステム200側のコマン
ドレジスタ52Aをチェックし、このレジスタ52Aが
空くと、フォント取得完了コマンドのコマンドIDや前
記フォントデータをコピーしたデータブロックの場所を
書き込み、しかる後にサブシステム200に割込みを出
力する((13)(14))。
よりホストシステムインターフェース28が再起動し、
自システムのコマンドレジスタ52AからコマンドID
やブロック情報を読み出す((15)(16))。さらにホスト
システムインターフェース28は、前記コマンドレジス
タ52Aをクリアして、前記フォントデータの書き込ま
れたデータブロックにアクセスし、そのブロック内のフ
ォントデータを読み出して自装置のメモリ内にコピーす
る((17)(18))。なお、フォントデータは固定長のデー
タであるので、(18)では、メモリ内にフォントデータの
サイズに応じた格納領域を確保してからフォントデータ
のコピーを行うことになる。
28は、前記データブロックの確保フラグおよび使用フ
ラグをクリアし、取得したフォントデータの格納場所を
アプリケーションスレッド291に通知する((19)(2
0))。アプリケーションスレッド291は、上記の一連
の処理によりフォントデータを得て、描画処理を実行す
る((21))。
なった場合の処理 図9,10は、サブシステム200側のアプリケーショ
ンスレッド291において、インターネットへの接続が
必要な処理が発生した場合を想定したものである。さら
に、この図9では、ネット接続により大容量のデータを
取り込まれるものと想定しており、図中、点線枠で囲ん
だ部分の処理を、コマンドデータの分割数分だけ繰り返
すことになる。
所定のURLを指定して接続を要求するコマンド(HT
TPリクエスト)を出力する((1)(2))。ホストシステ
ムインターフェース28は、このリクエストにより起動
すると、ホストシステム100側のコマンドレジスタ5
1Aをチェックし((3))、このレジスタ51Aが空く
と、前記指定されたURLへの接続を要求するコマンド
(HTTPコマンド)のコマンドIDを書き込むととも
に、前記ブロック情報として前記URLを書き込む。そ
してホストシステム100側に割込みを出力する。
((4)(5))
前記割込みによりサブシステムインターフェース18が
起動して、自システムのコマンドレジスタ51Aよりコ
マンドを読み出す((6)(7))。さらにサブシステムイン
ターフェース18は、コマンドレジスタ51Aをクリア
した後、汎用OS16にHTTPリクエストを出力する
((8)(9))。
て、通信回路をアクティブにして指定されたURLを送
信し、ネット側からの応答データ(HTTPレスポン
ス)を取り込む((10))。サブシステムインターフェー
ス18は、前記フォントデータの場合と同様に、サブシ
ステム200側のコマンドデータ領域51Bの空データ
ブロックに使用フラグや確保フラグをセットし、前記応
答データの先頭部分をコピーする((11)(12))。
8は、サブシステム200側のコマンドレジスタ52A
をチェックして、このレジスタ52Aが空くと、応答デ
ータの取込み完了を示すコマンド(HTTP完了コマン
ド)を書き込み、サブシステム200側に割込みを出力
する((13)(14))。なお、このときコマンド書込み処理
においては、コマンドIDとともに、先頭の応答データ
が書き込まれたデータブロックのブロック情報が書き込
まれることになる。
よりホストシステムインターフェース28が再起動し
て、前記コマンドレジスタよりHTTP完了コマンドを
読み出す((15)(16))。さらにホストシステムインター
フェース28は、自システムのコマンドレジスタ52A
をクリアすると、前記HTTP完了コマンドに含まれて
いたブロック情報に基づき応答データが書き込まれたデ
ータブロックにアクセスしてコマンドデータの全データ
サイズをチェックし、自システムのメモリ内に前記応答
データの格納領域を確保する((17)(18))。そしてこの
データ格納領域に前記データブロック内の応答データを
コピーした後、前記データブロックの使用フラグをクリ
アする((19)(20))。
記HTTP完了コマンドを書き込んだ後、使用フラグの
チェックを続けており、使用フラグがクリアされると、
このフラグを再セットして、つぎの応答データをコピー
する((21)〜(23))。そしてサブシステム200側のコ
マンドレジスタ52Aをチェックして、このレジスタ5
2Aが空いた時点で、再びHTTP完了コマンドを書き
込み、サブシステム200側に割込みを出力する((24)
(25))。この割込みを受けたサブシステム200では、
再びホストシステムインターフェース28が起動して、
前回と同様に、コマンドの読出し、コマンドレジスタの
クリア、応答データのコピー、使用フラグのクリアの各
処理を順に実行する((26)〜(29))。
ブシステム200側に渡されるまで、(21)〜(29)の処理
が繰り返される。応答データの送信が終了すると、ホス
トシステムインターフェース28は確保フラグをクリア
して、アプリケーションスレッド291に処理終了を通
知する((30))。この終了通知には、前記応答データを
格納した場所が示されており、アプリケーションスレッ
ド291は、この場所から応答データを読み出して必要
なデータ処理を実行する((31))。
t12の処理に相当するので、図6の手順どおりに1ブ
ロック分の応答データを得る都度、終了通知を出すよう
にすれば、データの取込みに並行してアプリケーション
スレッド291にデータ処理を行わせることができる。
また上記の例では、大容量のコマンドデータを分割して
同じデータブロックに順に書き込むようにしたが、この
方法に代えて、コマンドデータ領域52B内に応答デー
タのデータサイズに応じた複数のデータブロックを確保
して、応答データを一度に書き込み、この後、ブロック
情報を順に変更しながらコマンドを発行するようにして
もよい。
実行環境下で動く2種類のシステムを個別の演算回路に
設定することにより、各システムを独立に動作させて処
理を高速化することができる。また各演算回路の接続経
路に接続された共有メモリを介して、各システム内のコ
マンド中継手段が割込みに応じて他方のシステムからの
コマンドを受け付けるようにしたから、システム内外に
対するコマンド処理を一元化することができ、リソース
の排他制御を簡単にして処理をさらに高速化することが
できる。また各システム間で共有するのは共有メモリの
みであり、他方のシステムに対する通信は、コマンド中
継処理手段のみに限定して行われるから、セキュリティ
ーの高いプログラム実行装置を提供することができる。
ム実行装置を携帯型情報処理装置の制御部として用いる
ことにより、既存の演算回路をそのまま利用して、仮想
マシン実行環境を具備する制御部を簡単に提供すること
ができる。しかも、既存の演算回路側のソフトウェアお
よびハードウェアの構成を大幅に変更する必要がないか
ら、各種オプション機能を高速で実行できる携帯型情報
処理装置を低コストで提供することが可能となる。
置のハードウェア構成を示すブロック図である。
めた構成を示す説明図である。
と、コマンドの流れを示す説明図である。
データ構成を示す説明図である。
の処理手順を示すフローチャートである。
フェースの処理手順を示すフローチャートである。
示す説明図である。
示す説明図である。
示す説明図である。
を示す説明図である。
図である。
図である。
図である。
Claims (4)
- 【請求項1】 異なる構成のプログラム実行環境下で稼
働する2種類のシステムをそれぞれ個別の演算回路に設
定して各演算回路を接続するとともに、各演算回路の接
続経路に双方の演算回路による使用が可能な共有メモリ
を接続して成り、 各システムには、他方のシステムに要求する処理が発生
したとき、その処理の内容を示すコマンドを前記共有メ
モリに書き込んで他方のシステムに割込みを発生させる
書込み制御と、前記割込みの発生に応じて前記共有メモ
リから前記コマンドを読み出す読出し制御とを実行する
ためのコマンド中継手段が、それぞれ設けられて成るプ
ログラム実行装置。 - 【請求項2】 前記共有メモリには、各システムにそれ
ぞれ個別のメモリ領域が設定されており、前記各システ
ムのコマンド中継手段は、書込み制御の際には他方のシ
ステムに対応するメモリ領域に、前記読出し制御の際に
は自システムに対応するメモリ領域に、それぞれアクセ
スする請求項1に記載されたプログラム実行装置。 - 【請求項3】 前記共有メモリの各メモリ領域には、そ
れぞれ他方のシステムへのコマンドを格納するためのコ
マンド格納領域と、複数のコマンドについて、それぞれ
そのコマンドによる処理で参照するデータを格納するた
めのデータ格納領域とが含まれており、 前記各システムのコマンド中継手段は、書込み制御にお
いては、他方のシステムのデータ格納領域内にそのシス
テムに実行させる処理において参照するデータを書き込
んだ後、前記コマンド格納領域に前記コマンドとともに
前記参照データの格納場所を書き込む処理を実行し、読
出し制御においては、前記割込みの発生に応じて自シス
テムのコマンド格納領域から前記コマンドおよび参照デ
ータの格納場所を読み出した後、前記コマンド格納領域
をクリアしてから前記参照データを読み出す処理を実行
する請求項2に記載されたプログラム実行装置。 - 【請求項4】 請求項1〜3のいずれかに記載されたプ
ログラム実行装置が機体内に組み込まれて成る携帯型情
報処理装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001163271A JP2002351854A (ja) | 2001-05-30 | 2001-05-30 | プログラム実行装置および携帯型情報処理装置 |
| CN02122217.7A CN1202474C (zh) | 2001-05-30 | 2002-05-30 | 程序执行装置及便携式信息处理装置 |
| US10/159,597 US7155550B2 (en) | 2001-05-30 | 2002-05-30 | Program-executing apparatus and portable information processing apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001163271A JP2002351854A (ja) | 2001-05-30 | 2001-05-30 | プログラム実行装置および携帯型情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2002351854A true JP2002351854A (ja) | 2002-12-06 |
Family
ID=19006274
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001163271A Pending JP2002351854A (ja) | 2001-05-30 | 2001-05-30 | プログラム実行装置および携帯型情報処理装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US7155550B2 (ja) |
| JP (1) | JP2002351854A (ja) |
| CN (1) | CN1202474C (ja) |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2006022161A1 (ja) * | 2004-08-25 | 2006-03-02 | Nec Corporation | 情報通信装置及びプログラム実行環境制御方法 |
| JP2007519994A (ja) * | 2003-12-23 | 2007-07-19 | フランス テレコム | 2つの実行空間を備える通信端末 |
| JP2007265328A (ja) * | 2006-03-30 | 2007-10-11 | Fujitsu Ltd | 通信制御装置、通信制御プログラム、通信ドライバ登録方法 |
| JP2008204239A (ja) * | 2007-02-21 | 2008-09-04 | Fujitsu Ltd | 電子計算機及びソフトウェアによるユーザインタフェースの実現方法 |
| EP2348411A2 (en) | 2010-01-26 | 2011-07-27 | NTT DoCoMo, Inc. | Information-processing apparatus, information-processing method, and program |
| JP2013508869A (ja) * | 2009-10-28 | 2013-03-07 | 中国移▲動▼通信集▲団▼公司 | アプリケーション画像の表示方法及び装置 |
| JP2016045596A (ja) * | 2014-08-20 | 2016-04-04 | 株式会社東芝 | 情報処理装置、方法およびプログラム |
| JP2021015352A (ja) * | 2019-07-10 | 2021-02-12 | アドソル日進株式会社 | 仮想データダイオード、仮想データダイオード実現方法及びプログラム |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7412703B2 (en) * | 2002-09-19 | 2008-08-12 | Sedna Patent Services, Llc | Low cost, highly accurate video server bit-rate compensation |
| US20040117532A1 (en) * | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
| JP2004312711A (ja) * | 2003-03-25 | 2004-11-04 | Ricoh Co Ltd | 画像形成装置及び画像形成装置を遠隔のアプリケーションにより操作する方法 |
| US7469346B2 (en) * | 2003-06-27 | 2008-12-23 | Disney Enterprises, Inc. | Dual virtual machine architecture for media devices |
| US7496917B2 (en) * | 2003-09-25 | 2009-02-24 | International Business Machines Corporation | Virtual devices using a pluarlity of processors |
| US7549145B2 (en) | 2003-09-25 | 2009-06-16 | International Business Machines Corporation | Processor dedicated code handling in a multi-processor environment |
| US7356735B2 (en) * | 2004-03-30 | 2008-04-08 | Intel Corporation | Providing support for single stepping a virtual machine in a virtual machine environment |
| US7483963B2 (en) * | 2004-08-20 | 2009-01-27 | Research In Motion Limited | Method and system for configuring a client on host devices by utilizing an interface between a configuration application and host device drivers on a configuring device |
| JP5218394B2 (ja) * | 2007-03-27 | 2013-06-26 | 富士通株式会社 | グリッド処理制御装置 |
| JP4386201B2 (ja) * | 2007-05-02 | 2009-12-16 | 村田機械株式会社 | 中継サーバ及び中継通信システム |
| US8689224B2 (en) * | 2007-09-26 | 2014-04-01 | The Boeing Company | Methods and systems for preserving certified software through virtualization |
| US8522237B2 (en) * | 2008-04-09 | 2013-08-27 | The Boeing Company | Virtualizing embedded systems |
| US8370836B2 (en) | 2010-01-28 | 2013-02-05 | Dell Products, Lp | System and method to enable power related decisions in a virtualization environment |
| US8966478B2 (en) | 2011-06-28 | 2015-02-24 | The Boeing Company | Methods and systems for executing software applications using hardware abstraction |
| US20170337081A1 (en) * | 2014-11-12 | 2017-11-23 | Sikorsky Aircraft Corporation | Centralized processing for aircraft operations |
| JP6413813B2 (ja) * | 2015-02-04 | 2018-10-31 | 富士ゼロックス株式会社 | 電子機器、制御装置及びプログラム |
| CN106990998B (zh) * | 2016-01-21 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 虚拟机监控方法及装置 |
| CN109189472A (zh) * | 2018-08-06 | 2019-01-11 | 北京电子工程总体研究所 | 一种指令和数据交互的方法、计算机设备及存储介质 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5537602A (en) * | 1988-09-16 | 1996-07-16 | Hitachi, Ltd. | Process system for controlling bus system to communicate data between resource and processor |
| US5414814A (en) * | 1992-05-08 | 1995-05-09 | The United States Of America As Represented By The Secretary Of The Navy | I/O interface between VME bus and asynchronous serial data computer |
| JPH103463A (ja) | 1996-06-14 | 1998-01-06 | Sony Corp | プロセッサ間通信方法 |
| JP2000099349A (ja) | 1998-08-12 | 2000-04-07 | Texas Instr Inc <Ti> | 処理タスク間のアプリケ―ション制御デ―タフロ― |
| JP2000105753A (ja) | 1998-09-29 | 2000-04-11 | Hitachi Commun Syst Inc | データ双方向転送方法 |
-
2001
- 2001-05-30 JP JP2001163271A patent/JP2002351854A/ja active Pending
-
2002
- 2002-05-30 CN CN02122217.7A patent/CN1202474C/zh not_active Expired - Fee Related
- 2002-05-30 US US10/159,597 patent/US7155550B2/en not_active Expired - Fee Related
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007519994A (ja) * | 2003-12-23 | 2007-07-19 | フランス テレコム | 2つの実行空間を備える通信端末 |
| JP4833079B2 (ja) * | 2003-12-23 | 2011-12-07 | フランス・テレコム | 2つの実行空間を備える通信端末 |
| WO2006022161A1 (ja) * | 2004-08-25 | 2006-03-02 | Nec Corporation | 情報通信装置及びプログラム実行環境制御方法 |
| JP4811271B2 (ja) * | 2004-08-25 | 2011-11-09 | 日本電気株式会社 | 情報通信装置及びプログラム実行環境制御方法 |
| US8640194B2 (en) | 2004-08-25 | 2014-01-28 | Nec Corporation | Information communication device and program execution environment control method |
| JP2007265328A (ja) * | 2006-03-30 | 2007-10-11 | Fujitsu Ltd | 通信制御装置、通信制御プログラム、通信ドライバ登録方法 |
| JP2008204239A (ja) * | 2007-02-21 | 2008-09-04 | Fujitsu Ltd | 電子計算機及びソフトウェアによるユーザインタフェースの実現方法 |
| JP2013508869A (ja) * | 2009-10-28 | 2013-03-07 | 中国移▲動▼通信集▲団▼公司 | アプリケーション画像の表示方法及び装置 |
| EP2348411A2 (en) | 2010-01-26 | 2011-07-27 | NTT DoCoMo, Inc. | Information-processing apparatus, information-processing method, and program |
| CN102135900A (zh) * | 2010-01-26 | 2011-07-27 | 株式会社Ntt都科摩 | 信息处理装置和信息处理方法 |
| JP2016045596A (ja) * | 2014-08-20 | 2016-04-04 | 株式会社東芝 | 情報処理装置、方法およびプログラム |
| JP2021015352A (ja) * | 2019-07-10 | 2021-02-12 | アドソル日進株式会社 | 仮想データダイオード、仮想データダイオード実現方法及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| CN1388448A (zh) | 2003-01-01 |
| US20020184289A1 (en) | 2002-12-05 |
| CN1202474C (zh) | 2005-05-18 |
| US7155550B2 (en) | 2006-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2002351854A (ja) | プログラム実行装置および携帯型情報処理装置 | |
| US9479590B2 (en) | Master storage device for controlling slave functions of a host electronic device | |
| CN114691286B (zh) | 服务器系统、虚拟机创建方法及装置 | |
| CN113904938A (zh) | 一种动态配置PCIe终端设备的系统和方法 | |
| US9390036B2 (en) | Processing data packets from a receive queue in a remote direct memory access device | |
| US20180349297A1 (en) | Virtual host controller for a data processing system | |
| CN118860507B (zh) | 业务交互系统、方法、存储介质、电子设备 | |
| CN116860391A (zh) | Gpu算力资源调度方法、装置、设备和介质 | |
| US7773090B1 (en) | Kernel mode graphics driver for dual-core computer system | |
| WO2024152560A1 (zh) | 命令处理系统、电子装置及电子设备 | |
| US10664418B2 (en) | Peripheral device controlling device, operation method thereof, and operation method of peripheral device controlling device driver | |
| US20230153153A1 (en) | Task processing method and apparatus | |
| US7672828B2 (en) | Memory access to virtual target device | |
| CN108829530B (zh) | 一种图像处理方法及装置 | |
| CN112506676A (zh) | 进程间的数据传输方法、计算机设备和存储介质 | |
| CN115549858B (zh) | 数据传输方法以及装置 | |
| CN118409712A (zh) | 一种raid卡管理系统、方法、设备、产品及介质 | |
| KR20010038541A (ko) | 내장형 실시간 소프트웨어의 원격 개발을 위한 타겟 서버 장치 및 그 제어 방법 | |
| JP5911943B2 (ja) | データの少なくとも一部が処理に利用可能であることの少なくとも1つのインジケーションの少なくとも部分的な提供 | |
| US20030214909A1 (en) | Data processing device and its input/output method and program | |
| JP2003108513A (ja) | ハードウェア・チェーン・プル | |
| CN115729700A (zh) | 一种数据处理方法、装置、电子设备和存储介质 | |
| JP2999516B2 (ja) | 端末装置のための文字出力制御方法および装置 | |
| CN117519955B (zh) | 一种加速设备的控制方法、系统、装置及加速设备 | |
| CN118363901B (zh) | PCIe设备、电子组件及电子设备 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040528 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051114 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051129 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060127 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060718 |