JPH113236A - 仮想計算機エミュレート装置 - Google Patents
仮想計算機エミュレート装置Info
- Publication number
- JPH113236A JPH113236A JP9155098A JP15509897A JPH113236A JP H113236 A JPH113236 A JP H113236A JP 9155098 A JP9155098 A JP 9155098A JP 15509897 A JP15509897 A JP 15509897A JP H113236 A JPH113236 A JP H113236A
- Authority
- JP
- Japan
- Prior art keywords
- machine
- emulator
- base
- target
- base 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.)
- Granted
Links
- 230000002093 peripheral effect Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 description 61
- 238000000034 method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000004044 response Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Digital Computer Display Output (AREA)
Abstract
(57)【要約】
【課題】ターゲットマシン用APからの画面表示は勿論
のこと、ベースマシン用OSおよびドライバからの画面
表示をも併せて同時に正しく表示できる仮想計算機エミ
ュレート装置の提供。 【解決手段】ターゲットマシン用AP12からの画面表
示をテキストエミュレータ7およびグラフイックエミュ
レータ6を介して仮想ターゲットVRAM9に置いて表
示エミュレータ8によりベースマシン用VRAM情報に
変換し、エミュレータ転送部10によりベースマシン用
OS13とドライバ14からのベースマシンの表示系B
IOSへの命令をテキストベース画面エミュレート11
に転送し、ターゲットマシンの表示形式に変換しテキス
トエミュレータ7に供給する。
のこと、ベースマシン用OSおよびドライバからの画面
表示をも併せて同時に正しく表示できる仮想計算機エミ
ュレート装置の提供。 【解決手段】ターゲットマシン用AP12からの画面表
示をテキストエミュレータ7およびグラフイックエミュ
レータ6を介して仮想ターゲットVRAM9に置いて表
示エミュレータ8によりベースマシン用VRAM情報に
変換し、エミュレータ転送部10によりベースマシン用
OS13とドライバ14からのベースマシンの表示系B
IOSへの命令をテキストベース画面エミュレート11
に転送し、ターゲットマシンの表示形式に変換しテキス
トエミュレータ7に供給する。
Description
【0001】
【発明の属する技術分野】本発明は仮想計算機エミュレ
ート装置に関し、特にパーソナルコンピュータやワーク
ステーション等の計算機において異なるアーキテクチャ
を持つ複数の異機種間でのアプリケーションプログラム
の表示に関する互換性を保つ仮想計算機エミュレート装
置に関する。
ート装置に関し、特にパーソナルコンピュータやワーク
ステーション等の計算機において異なるアーキテクチャ
を持つ複数の異機種間でのアプリケーションプログラム
の表示に関する互換性を保つ仮想計算機エミュレート装
置に関する。
【0002】
【従来の技術】従来、パーソナルコンピュータなどの計
算機では、数多くの異なるアーキテクチャが存在してい
る。ここで言うアーキテクチャとはOSフアンクショ
ン、BIOSフアンクション、メモリマップ、I/Oマ
ップ、割込レベル、使用LSI等のことである。
算機では、数多くの異なるアーキテクチャが存在してい
る。ここで言うアーキテクチャとはOSフアンクショ
ン、BIOSフアンクション、メモリマップ、I/Oマ
ップ、割込レベル、使用LSI等のことである。
【0003】このようにソフトウエアおよびハードウエ
アのアーキテクチャが機種間で異なると、ある一つのア
ーキテクチャ上で開発されたプログラム、例えばアプリ
ケーションソフトウエア(以下APと略す)は異なるア
ーキテクチャ上では動作不可能である。つまり、異なる
アーキテクチャの機種間でプログラムの互換性がないわ
けである。
アのアーキテクチャが機種間で異なると、ある一つのア
ーキテクチャ上で開発されたプログラム、例えばアプリ
ケーションソフトウエア(以下APと略す)は異なるア
ーキテクチャ上では動作不可能である。つまり、異なる
アーキテクチャの機種間でプログラムの互換性がないわ
けである。
【0004】この問題を解決するために、ある一つのア
ーキテクチャ(以後、ターゲットマシンと呼ぶ)のエミ
ュレーションを別のアーキテクチャ(以後、ベースマシ
ンと呼ぶ)上で行なうことで互換性を保つ方法がある。
ーキテクチャ(以後、ターゲットマシンと呼ぶ)のエミ
ュレーションを別のアーキテクチャ(以後、ベースマシ
ンと呼ぶ)上で行なうことで互換性を保つ方法がある。
【0005】このようなエミュレーション方式は、エミ
ュレートを行なうエミュレート装置の置かれる位置付け
により大別して次の2種類が考えられる。
ュレートを行なうエミュレート装置の置かれる位置付け
により大別して次の2種類が考えられる。
【0006】第1の方式は、ベースマシンのBIOSフ
アンクション、I/O入出力命令、メモリマップをエミ
ュレートするエミュレーション装置を用意し、ベースマ
シンのハードウエアにエミュレート装置を搭載すること
でターゲットマシン用のOS、ドライバ、APを動作可
能にさせる方式である。この場合ベースマシン用のOS
やドライバは使用しない。
アンクション、I/O入出力命令、メモリマップをエミ
ュレートするエミュレーション装置を用意し、ベースマ
シンのハードウエアにエミュレート装置を搭載すること
でターゲットマシン用のOS、ドライバ、APを動作可
能にさせる方式である。この場合ベースマシン用のOS
やドライバは使用しない。
【0007】エミュレート装置を基点にターゲットマシ
ン用AP側をターゲットマシンの世界、ベースマシンの
ハードウエア側をベースマシンの世界と定義すると、第
1の方式はベースマシンの世界にはハードウエアとBI
OSしかなく、BIOSフアンクションコール、I/O
入出力命令、メモリアクセスを実行するソフトウエア
(AP、OS、ドライバ)は全てターゲットマシンの世
界にあるため、全ての機能を容易にエミュレートするこ
とができる長所を持つ。反面、利用者がターゲットマシ
ン用OSとドライバを新たに購入しなければならないと
いう利用者に対するコスト問題と、ターゲートマシンの
世界のソフトウエアが実行しようとするOSフアンクシ
ョンまでもエミュレート対象となるため、処理速度が遅
くなるという短所がある。
ン用AP側をターゲットマシンの世界、ベースマシンの
ハードウエア側をベースマシンの世界と定義すると、第
1の方式はベースマシンの世界にはハードウエアとBI
OSしかなく、BIOSフアンクションコール、I/O
入出力命令、メモリアクセスを実行するソフトウエア
(AP、OS、ドライバ)は全てターゲットマシンの世
界にあるため、全ての機能を容易にエミュレートするこ
とができる長所を持つ。反面、利用者がターゲットマシ
ン用OSとドライバを新たに購入しなければならないと
いう利用者に対するコスト問題と、ターゲートマシンの
世界のソフトウエアが実行しようとするOSフアンクシ
ョンまでもエミュレート対象となるため、処理速度が遅
くなるという短所がある。
【0008】第2の方式は、第1の方式に加えてOSフ
アンクションのエミュレートをベースマシン用OSを用
いて行なうエミュレート装置を、ベースマシン、ベース
マシン用OS、ベースマシン用ドライバの上に位置さ
せ、BIOSフアンクション、I/O入出力命令、メモ
リマップのエミュレートは第1の方式と同じだが、OS
フアンクションのエミュレートはベースマシン用OSと
ターゲットマシン用OSとで差分のある機能をベースマ
シン用OSとベースマシン用ドライバを用いてエミュレ
ートし、同等機能の場合はベースマシン用OSに制御を
移行する方式である。
アンクションのエミュレートをベースマシン用OSを用
いて行なうエミュレート装置を、ベースマシン、ベース
マシン用OS、ベースマシン用ドライバの上に位置さ
せ、BIOSフアンクション、I/O入出力命令、メモ
リマップのエミュレートは第1の方式と同じだが、OS
フアンクションのエミュレートはベースマシン用OSと
ターゲットマシン用OSとで差分のある機能をベースマ
シン用OSとベースマシン用ドライバを用いてエミュレ
ートし、同等機能の場合はベースマシン用OSに制御を
移行する方式である。
【0009】第2の方式は、すでに利用者が所有してい
るベースマシン用OSとドライバを流用するため低コス
トであることと、OSがベースマシンの世界で動作する
ためエミュレートが不要となり高性能が期待できる長所
がある。反面、ベースマシンの世界にOSとドライバが
位置し、これらによって行なわれる制御をエミュレート
装置で認識できないことから、エミュレート可能な範囲
が狭くなるという短所がある。
るベースマシン用OSとドライバを流用するため低コス
トであることと、OSがベースマシンの世界で動作する
ためエミュレートが不要となり高性能が期待できる長所
がある。反面、ベースマシンの世界にOSとドライバが
位置し、これらによって行なわれる制御をエミュレート
装置で認識できないことから、エミュレート可能な範囲
が狭くなるという短所がある。
【0010】特開平8−153007号公報で開示され
ている方法は、画面表示に関するBIOSフアンクショ
ンコール、I/O入出力命令、VRAMへのメモリアク
セクがターゲットマシン用APから発行された場合に、
それらを個々にエミュレートしてメモリ上に用意した仮
想VRAMに展開し、これをタイマエミュレート等によ
って作られるタイミングでベースマシンの実VRAMに
変換して書き込むことで、ターゲットマシン用APから
の画面表示をベースマシン上で表示可能としており、ベ
ースマシンの表示制御ハードウエアをターゲットマシン
の表示制御ハードウエアにエミュレートする技術であ
る。
ている方法は、画面表示に関するBIOSフアンクショ
ンコール、I/O入出力命令、VRAMへのメモリアク
セクがターゲットマシン用APから発行された場合に、
それらを個々にエミュレートしてメモリ上に用意した仮
想VRAMに展開し、これをタイマエミュレート等によ
って作られるタイミングでベースマシンの実VRAMに
変換して書き込むことで、ターゲットマシン用APから
の画面表示をベースマシン上で表示可能としており、ベ
ースマシンの表示制御ハードウエアをターゲットマシン
の表示制御ハードウエアにエミュレートする技術であ
る。
【0011】このエミュレート方式では、請求項10、
11および12でカラーパレットの変更が記載されてお
り、ベースマシンの画面制御ハードウエアのパラメータ
の設定を変更して使用している。
11および12でカラーパレットの変更が記載されてお
り、ベースマシンの画面制御ハードウエアのパラメータ
の設定を変更して使用している。
【0012】
【発明が解決しようとする課題】上述のように特開平8
−153007号記載の従来のエミュレート方式では、
ベースマシンの表示制御ハードウエアのパラメータの設
定を変更している。
−153007号記載の従来のエミュレート方式では、
ベースマシンの表示制御ハードウエアのパラメータの設
定を変更している。
【0013】このため、OSフアンクションのエミュレ
ートをベースマシン用OSやドライバを用いて行なう上
記の第2のエミュレート方式の場合には、ターゲットマ
シン用APがベースマシンのOSフアンクションを発行
した場合、エミュレート装置はベースマシン用OSおよ
びドライバに制御を移行し、その後のベースマシン用O
S、ドライバ、BIOSの動作に関与しなくなる。した
がって、例えばOSフアンクションが画面操作に関する
フアンクションであると、表示系BIOSは上述のベー
スマシンの画面制御ハードウエアのパラメータの設定が
変更されていることを認識しないまま処理を行なうた
め、結果として不正な表示をしてしまうこととなる。
ートをベースマシン用OSやドライバを用いて行なう上
記の第2のエミュレート方式の場合には、ターゲットマ
シン用APがベースマシンのOSフアンクションを発行
した場合、エミュレート装置はベースマシン用OSおよ
びドライバに制御を移行し、その後のベースマシン用O
S、ドライバ、BIOSの動作に関与しなくなる。した
がって、例えばOSフアンクションが画面操作に関する
フアンクションであると、表示系BIOSは上述のベー
スマシンの画面制御ハードウエアのパラメータの設定が
変更されていることを認識しないまま処理を行なうた
め、結果として不正な表示をしてしまうこととなる。
【0014】また、ターゲットマシン用APから発行さ
れるOSフアンクション以外においても、エラー表示な
どでベースマシン用OSが画面表示を行なう場合に同様
の不正表示となるという欠点を有している。
れるOSフアンクション以外においても、エラー表示な
どでベースマシン用OSが画面表示を行なう場合に同様
の不正表示となるという欠点を有している。
【0015】本発明の目的は、ターゲットマシン用AP
からの画面表示は勿論のこと、ベースマシン用OSおよ
びドライバからの画面表示をも併せて同時に正しく表示
できる仮想計算機エミュレート装置を提供することにあ
る。
からの画面表示は勿論のこと、ベースマシン用OSおよ
びドライバからの画面表示をも併せて同時に正しく表示
できる仮想計算機エミュレート装置を提供することにあ
る。
【0016】
【課題を解決するための手段】第1の発明の仮想計算機
エミュレート装置は、アーキテクチャの互いに異なる計
算機間において一方の計算機(以下ターゲットマシンと
呼ぶ)上で動作するターゲットマシン用アプリケーショ
ンソフトウエアを他方の計算機(以下ベースマシンと呼
ぶ)で動作させるために、前記ターゲットマシン用アプ
リケーションソフトウエアからの画面表示をテキストエ
ミュレータおよびグラフイックエミュレータを介して仮
想ターゲットVRAMに置いてターゲットマシン用VR
AM情報をベースマシン用VRAM情報に変換すること
によりエミュレートし前記画面表示以外のエミュレート
を前記ベースマシンのOSとBIOSとドライバと周辺
I/Oハードウエアとを用いてエミュレートを行なう仮
想計算機エミュレート装置において、前記ベースマシン
の表示系BIOSへの命令を前記ターゲットマシンにお
ける表示形式に変換し前記テキストエミュレータに供給
するテキストベース画面エミュレート手段と、前記ベー
スマシンのOSおよびまたはドライバからの前記ベース
マシンの表示系BIOSへの命令を前記テキストベース
画面エミュレート手段に転送するエミュレータ転送手段
とを含んで構成されている。
エミュレート装置は、アーキテクチャの互いに異なる計
算機間において一方の計算機(以下ターゲットマシンと
呼ぶ)上で動作するターゲットマシン用アプリケーショ
ンソフトウエアを他方の計算機(以下ベースマシンと呼
ぶ)で動作させるために、前記ターゲットマシン用アプ
リケーションソフトウエアからの画面表示をテキストエ
ミュレータおよびグラフイックエミュレータを介して仮
想ターゲットVRAMに置いてターゲットマシン用VR
AM情報をベースマシン用VRAM情報に変換すること
によりエミュレートし前記画面表示以外のエミュレート
を前記ベースマシンのOSとBIOSとドライバと周辺
I/Oハードウエアとを用いてエミュレートを行なう仮
想計算機エミュレート装置において、前記ベースマシン
の表示系BIOSへの命令を前記ターゲットマシンにお
ける表示形式に変換し前記テキストエミュレータに供給
するテキストベース画面エミュレート手段と、前記ベー
スマシンのOSおよびまたはドライバからの前記ベース
マシンの表示系BIOSへの命令を前記テキストベース
画面エミュレート手段に転送するエミュレータ転送手段
とを含んで構成されている。
【0017】第2の発明の仮想計算機エミュレート装置
は、アーキテクチャの互いに異なる計算機間において一
方の計算機(以下ターゲットマシンと呼ぶ)上で動作す
るターゲットマシン用アプリケーションソフトウエアを
他方の計算機(以下ベースマシンと呼ぶ)で動作させる
ために、前記ターゲットマシン用アプリケーションソフ
トウエアからの画面表示をテキストエミュレータおよび
グラフイックエミュレータを介して仮想ターゲットVR
AMに置いてターゲットマシン用VRAM情報をベース
マシン用VRAM情報に変換することによりエミュレー
トし前記画面表示以外のエミュレートを前記ベースマシ
ンのOSとBIOSとドライバと周辺I/Oハードウエ
アとを用いてエミュレートを行なう仮想計算機エミュレ
ート装置において、前記ベースマシンの表示系BIOS
への命令を前記ターゲットマシンにおける表示形式に変
換し前記テキストエミュレータおよびグラフイックエミ
ュレータに供給するベース画面エミュレート手段と、前
記ベースマシンのOSおよびまたはドライバからの前記
ベースマシンの表示系BIOSへの命令を前記ベース画
面エミュレート手段に転送するエミュレータ転送手段と
を含んで構成されている。
は、アーキテクチャの互いに異なる計算機間において一
方の計算機(以下ターゲットマシンと呼ぶ)上で動作す
るターゲットマシン用アプリケーションソフトウエアを
他方の計算機(以下ベースマシンと呼ぶ)で動作させる
ために、前記ターゲットマシン用アプリケーションソフ
トウエアからの画面表示をテキストエミュレータおよび
グラフイックエミュレータを介して仮想ターゲットVR
AMに置いてターゲットマシン用VRAM情報をベース
マシン用VRAM情報に変換することによりエミュレー
トし前記画面表示以外のエミュレートを前記ベースマシ
ンのOSとBIOSとドライバと周辺I/Oハードウエ
アとを用いてエミュレートを行なう仮想計算機エミュレ
ート装置において、前記ベースマシンの表示系BIOS
への命令を前記ターゲットマシンにおける表示形式に変
換し前記テキストエミュレータおよびグラフイックエミ
ュレータに供給するベース画面エミュレート手段と、前
記ベースマシンのOSおよびまたはドライバからの前記
ベースマシンの表示系BIOSへの命令を前記ベース画
面エミュレート手段に転送するエミュレータ転送手段と
を含んで構成されている。
【0018】第3の発明の仮想計算機エミュレート装置
は、第2の発明の仮想計算機エミュレート装置におい
て、ベース画面エミュレート手段は前記ベースマシンの
表示系BIOSへのテキスト関係命令を前記ターゲット
マシンにおける表示形式に変換し前記テキストエミュレ
ータに供給するテキストベース画面エミュレート手段
と、前記ベースマシンの表示系BIOSへのグラフイッ
ク関係命令を前記ターゲットマシンにおける表示形式に
変換し前記グラフイックエミュレータに供給するグラフ
イックベース画面エミュレート手段とを含んで構成され
ている。
は、第2の発明の仮想計算機エミュレート装置におい
て、ベース画面エミュレート手段は前記ベースマシンの
表示系BIOSへのテキスト関係命令を前記ターゲット
マシンにおける表示形式に変換し前記テキストエミュレ
ータに供給するテキストベース画面エミュレート手段
と、前記ベースマシンの表示系BIOSへのグラフイッ
ク関係命令を前記ターゲットマシンにおける表示形式に
変換し前記グラフイックエミュレータに供給するグラフ
イックベース画面エミュレート手段とを含んで構成され
ている。
【0019】
【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して説明する。
て図面を参照して説明する。
【0020】図1は本発明の仮想計算機エミュレート装
置1の第1の実施の形態を使用してエミュレートを実施
する場合のシステム構成を示すブロック図である。
置1の第1の実施の形態を使用してエミュレートを実施
する場合のシステム構成を示すブロック図である。
【0021】図1に示すエミュレーションシステムは、
第1の実施の形態の仮想計算機エミュレート装置1と、
ターゲットマシン用に開発されたターゲットマシン用A
P12と、ベースマシン用に用意されたベースマシン用
OS13と、ベースマシンの拡張周辺機器を制御するベ
ースマシン用ドライバ14と、ベースマシン用BIOS
15と、ベースマシンの表示系を除くI/Oハードウエ
アであるベースマシン用周辺I/Oハードウエア16
と、ベースマシンの表示系I/Oハードウエアであるベ
ースマシン用VRAM17と、ベースマシン用CRTコ
ントローラ18とを有して構成されている。
第1の実施の形態の仮想計算機エミュレート装置1と、
ターゲットマシン用に開発されたターゲットマシン用A
P12と、ベースマシン用に用意されたベースマシン用
OS13と、ベースマシンの拡張周辺機器を制御するベ
ースマシン用ドライバ14と、ベースマシン用BIOS
15と、ベースマシンの表示系を除くI/Oハードウエ
アであるベースマシン用周辺I/Oハードウエア16
と、ベースマシンの表示系I/Oハードウエアであるベ
ースマシン用VRAM17と、ベースマシン用CRTコ
ントローラ18とを有して構成されている。
【0022】仮想計算機エミュレート装置1は、初期化
部2と、制御割込受付部3と、S/W割込エミュレート
4と、例外割込解除/復帰部5と、グラフイックエミュ
レータ(以下GEMと呼ぶ)6と、テキストエミュレー
タ(以下TEMと呼ぶ)7と、表示エミュレータ(以下
DEMと呼ぶ)8と、仮想ターゲットVRAM9と、エ
ミュレータ転送部10と、テキストベース画面エミュレ
ート11とを含んで構成されている。
部2と、制御割込受付部3と、S/W割込エミュレート
4と、例外割込解除/復帰部5と、グラフイックエミュ
レータ(以下GEMと呼ぶ)6と、テキストエミュレー
タ(以下TEMと呼ぶ)7と、表示エミュレータ(以下
DEMと呼ぶ)8と、仮想ターゲットVRAM9と、エ
ミュレータ転送部10と、テキストベース画面エミュレ
ート11とを含んで構成されている。
【0023】初期化部2は仮想計算機エミュレート装置
1を起動する際にその初期設定を行なう。具体的には、
I/O入出力命令の例外の設定、S/W割込命令の例外
の設定、割込ベクトルテーブルの例外の設定、BIOS
データ領域の例外の設定、制御割込受付部3の設定等を
行なう。
1を起動する際にその初期設定を行なう。具体的には、
I/O入出力命令の例外の設定、S/W割込命令の例外
の設定、割込ベクトルテーブルの例外の設定、BIOS
データ領域の例外の設定、制御割込受付部3の設定等を
行なう。
【0024】制御割込受付部3は、ターゲットマシン用
AP12がS/W割込命令によるフアンクションコール
やI/O入出力命令を発行した場合、およびメモリ上の
割込ベクトルテーブルやBIOSデータ領域に対してメ
モリアクセス命令を実行した場合等に発生する例外割込
を受付け、その例外発生命令を解析して必要なエミュレ
ート処理を読み出す。
AP12がS/W割込命令によるフアンクションコール
やI/O入出力命令を発行した場合、およびメモリ上の
割込ベクトルテーブルやBIOSデータ領域に対してメ
モリアクセス命令を実行した場合等に発生する例外割込
を受付け、その例外発生命令を解析して必要なエミュレ
ート処理を読み出す。
【0025】S/W割込エミュレート4は、ターゲット
マシン用AP12がS/W割込命令によって発行するフ
アンクションコールに対して、そのS/W割込命令がB
IOSフアンクションであればBIOSのエミュレート
を行ない、OSフアンクションであればターゲットマシ
ン用OSとベースマシン用OS13との差分フアンクシ
ョンか否かを判定する。この場合、差分フアンクション
であればベースマシン用OS13やベースマシン用BI
OS15を用いてエミュレートを行ない、ベースマシン
用OS13と同一フアンクションであればベースマシン
用OS13に制御を渡す。
マシン用AP12がS/W割込命令によって発行するフ
アンクションコールに対して、そのS/W割込命令がB
IOSフアンクションであればBIOSのエミュレート
を行ない、OSフアンクションであればターゲットマシ
ン用OSとベースマシン用OS13との差分フアンクシ
ョンか否かを判定する。この場合、差分フアンクション
であればベースマシン用OS13やベースマシン用BI
OS15を用いてエミュレートを行ない、ベースマシン
用OS13と同一フアンクションであればベースマシン
用OS13に制御を渡す。
【0026】例外割込解除/復帰部5は、S/W割込エ
ミュレート4からベースマシン用OS13またはベース
マシン用ドライバ14またはベースマシン用BIOS1
5に制御を渡す際に、ベースマシン用OS13内および
ベースマシン用ドライバ14内またはベースマシン用B
IOS15内で実行されるS/W割込命令によるフアン
クションコールやI/O入出力命令やメモリアクセス命
令により例外割込が発生して再度仮想計算機エミュレー
ト装置1に制御が移行しないように、制御を渡す前に例
外の設定を解除し、処理が終了した後に例外の設定を元
に戻すものである。
ミュレート4からベースマシン用OS13またはベース
マシン用ドライバ14またはベースマシン用BIOS1
5に制御を渡す際に、ベースマシン用OS13内および
ベースマシン用ドライバ14内またはベースマシン用B
IOS15内で実行されるS/W割込命令によるフアン
クションコールやI/O入出力命令やメモリアクセス命
令により例外割込が発生して再度仮想計算機エミュレー
ト装置1に制御が移行しないように、制御を渡す前に例
外の設定を解除し、処理が終了した後に例外の設定を元
に戻すものである。
【0027】GEM6はターゲットマシン用AP12等
がグラフ表示用のI/O入出力命令およびグラフVRA
Mへのメモリアクセス命令を実行しようとすると、この
I/O入出力命令をベースマシン用CRTコントローラ
18へのI/O入出力命令へ変換し、メモリアクセス命
令は仮想ターゲットVRAM9へのメモリアクセスに変
換する。
がグラフ表示用のI/O入出力命令およびグラフVRA
Mへのメモリアクセス命令を実行しようとすると、この
I/O入出力命令をベースマシン用CRTコントローラ
18へのI/O入出力命令へ変換し、メモリアクセス命
令は仮想ターゲットVRAM9へのメモリアクセスに変
換する。
【0028】TEM7はターゲットマシン用AP12等
がテキスト表示用のI/O入出力命令およびテキストV
RAMへのメモリアクセス命令を実行しようとすると、
このI/O入出力命令をベースマシン用CRTコントロ
ーラ18へのI/O入出力命令へ変換し、メモリアクセ
ス命令は仮想ターゲットVRAM9へのメモリアクセス
に変換する。
がテキスト表示用のI/O入出力命令およびテキストV
RAMへのメモリアクセス命令を実行しようとすると、
このI/O入出力命令をベースマシン用CRTコントロ
ーラ18へのI/O入出力命令へ変換し、メモリアクセ
ス命令は仮想ターゲットVRAM9へのメモリアクセス
に変換する。
【0029】DEM8は仮想ターゲットVRAM9に書
き込まれたターゲットマシン用AP12からの画面表示
内容をベースマシン用VRAM17およびベースマシン
用CRTコントローラ18に変換して出力し、実画面に
反映する。
き込まれたターゲットマシン用AP12からの画面表示
内容をベースマシン用VRAM17およびベースマシン
用CRTコントローラ18に変換して出力し、実画面に
反映する。
【0030】仮想ターゲットVRAM9はターゲットマ
シン用VRAMに相当するメモリ領域をベースマシン用
VRAM17以外に用意し、ターゲットマシン用AP1
2等からの表示内容を一旦ターゲットマシンにおけるV
RAM表記方法で蓄積され、この内容は、DEM8によ
ってベースマシン用VRAM17およびベースマシン用
CRTコントローラ17に変換して出力される。
シン用VRAMに相当するメモリ領域をベースマシン用
VRAM17以外に用意し、ターゲットマシン用AP1
2等からの表示内容を一旦ターゲットマシンにおけるV
RAM表記方法で蓄積され、この内容は、DEM8によ
ってベースマシン用VRAM17およびベースマシン用
CRTコントローラ17に変換して出力される。
【0031】エミュレータ転送部10は、ベースマシン
用OS13やベースマシン用ドライバ14の置かれる1
MB以下のメモリ領域に位置し、ベースマシン用OS1
3やベースマシン用ドライバ14からベースマシン用表
示系BIOSを呼び出す際に、1MBより上のメモリ領
域に置かれる仮想計算機エミュレート装置1内のテキス
トベース画面エミュレート11をS/W割込命令を用い
て呼び出す。
用OS13やベースマシン用ドライバ14の置かれる1
MB以下のメモリ領域に位置し、ベースマシン用OS1
3やベースマシン用ドライバ14からベースマシン用表
示系BIOSを呼び出す際に、1MBより上のメモリ領
域に置かれる仮想計算機エミュレート装置1内のテキス
トベース画面エミュレート11をS/W割込命令を用い
て呼び出す。
【0032】テキストベース画面エミュレート11は、
エミュレータ転送部10によって転送されるベースマシ
ン用OS13またはベースマシン用ドライバ14からの
ベースマシン用表示系BIOSへのフアンクションコー
ルをエミュレートしてTEM7を読み出すことで仮想タ
ーゲットVRAM9に書き込む。
エミュレータ転送部10によって転送されるベースマシ
ン用OS13またはベースマシン用ドライバ14からの
ベースマシン用表示系BIOSへのフアンクションコー
ルをエミュレートしてTEM7を読み出すことで仮想タ
ーゲットVRAM9に書き込む。
【0033】以下第1の実施の形態の仮想計算機エミュ
レート装置1の動作について図面を参照して詳細に説明
する。
レート装置1の動作について図面を参照して詳細に説明
する。
【0034】仮想計算機エミュレート装置1は、CPU
の保護機能による例外割込を用いて、ターゲットマシン
用AP12の発行するI/O入出力命令やメモリアクセ
ク命令や、S/W割込命令を検出し、これらを仮想計算
機エミュレート装置1内でエミュレートすることで実現
している。
の保護機能による例外割込を用いて、ターゲットマシン
用AP12の発行するI/O入出力命令やメモリアクセ
ク命令や、S/W割込命令を検出し、これらを仮想計算
機エミュレート装置1内でエミュレートすることで実現
している。
【0035】図2は初期化部2の動作を表した流れ図で
ある。
ある。
【0036】仮想計算機エミュレート装置1の起動時
に、I/O入出力命令、S/W割込命令、メモリアクセ
ス命令の例外設定を行ない(ステップ21)、ベースマ
シン用割込ベクトルテーブルに設定されているベースマ
シン用表示系BIOSの代りに仮想計算機エミュレート
装置1内のテキストベース画面エミュレート11を読み
出すエミュレータ転送部10を設定する(ステップ2
2)。
に、I/O入出力命令、S/W割込命令、メモリアクセ
ス命令の例外設定を行ない(ステップ21)、ベースマ
シン用割込ベクトルテーブルに設定されているベースマ
シン用表示系BIOSの代りに仮想計算機エミュレート
装置1内のテキストベース画面エミュレート11を読み
出すエミュレータ転送部10を設定する(ステップ2
2)。
【0037】図3は初期化部2が完了し、ターゲットマ
シン用APをメモリ上に読み込んだ状態でのメモリマッ
プである。ここで物理メモリマップ30には、ベースマ
シン用割込ベクトルテーブル31と、ベースマシン用B
IOSデータ領域32と、ベースマシン用OS13と、
ベースマシン用ドライバ14と、仮想計算機エミュレー
ト装置1の一部であるエミュレータ転送部10と、ター
ゲットマシン用AP12と、ベースマシン用VRAM1
7と、ベースマシン用BIOS15と、仮想計算機エミ
ュレート装置1とを含んでいる。
シン用APをメモリ上に読み込んだ状態でのメモリマッ
プである。ここで物理メモリマップ30には、ベースマ
シン用割込ベクトルテーブル31と、ベースマシン用B
IOSデータ領域32と、ベースマシン用OS13と、
ベースマシン用ドライバ14と、仮想計算機エミュレー
ト装置1の一部であるエミュレータ転送部10と、ター
ゲットマシン用AP12と、ベースマシン用VRAM1
7と、ベースマシン用BIOS15と、仮想計算機エミ
ュレート装置1とを含んでいる。
【0038】さらに、仮想計算機エミュレート装置1は
ターゲットマシン用割込ベクトルテーブル33と、ター
ゲットマシン用BIOSデータ領域34と、制御割込受
付部3と、S/W割込エミュレート4と、例外割込解除
/復帰部5と、テキストベース画面エミュレート11
と、GEM6と、TEM7と、DEM8と、仮想ターゲ
ットVRAM9と、初期化部2とで構成されている。
ターゲットマシン用割込ベクトルテーブル33と、ター
ゲットマシン用BIOSデータ領域34と、制御割込受
付部3と、S/W割込エミュレート4と、例外割込解除
/復帰部5と、テキストベース画面エミュレート11
と、GEM6と、TEM7と、DEM8と、仮想ターゲ
ットVRAM9と、初期化部2とで構成されている。
【0039】本メモリマップに示されるように、仮想計
算機エミュレート装置1は1MBより上のメモリ領域に
置かれ、ターゲットマシン用AP12が動作する1MB
以下のメモリ領域にはエミュレータ転送部10以外はベ
ースマシンの環境のままであり、ベースマシン用OS1
3やベースマシン用ドライバ14やベースマシン用BI
OS15が動作する状態を維持したまま、ターゲットマ
シン用AP12の実行するOSやBIOSのフアンクシ
ョンコール、およびI/O入出力命令、およびメモリア
クセス命令を仮想計算機エミュレート装置1上でエミュ
レートする。
算機エミュレート装置1は1MBより上のメモリ領域に
置かれ、ターゲットマシン用AP12が動作する1MB
以下のメモリ領域にはエミュレータ転送部10以外はベ
ースマシンの環境のままであり、ベースマシン用OS1
3やベースマシン用ドライバ14やベースマシン用BI
OS15が動作する状態を維持したまま、ターゲットマ
シン用AP12の実行するOSやBIOSのフアンクシ
ョンコール、およびI/O入出力命令、およびメモリア
クセス命令を仮想計算機エミュレート装置1上でエミュ
レートする。
【0040】図4はターゲットマシン用AP12からタ
ーゲットマシン用CRTコントローラへのI/O入出力
命令または、ターゲットマシン用VRAMへのメモリア
クセス命令が発行された場合のエミュレートの動作を示
した図である。
ーゲットマシン用CRTコントローラへのI/O入出力
命令または、ターゲットマシン用VRAMへのメモリア
クセス命令が発行された場合のエミュレートの動作を示
した図である。
【0041】ターゲットマシン用AP12からCRTコ
ントローラへのI/O入出力命令が発行されようとする
と、例外割込が発生して制御割込受付部3が起動され、
グラフイック画面用CRTコントローラに対するI/O
入出力命令であればGEM6が起動されベースマシン用
CRTコントローラ18へのI/O入出力命令または仮
想ターゲットVRAM9への更新にエミュレートされ
る。
ントローラへのI/O入出力命令が発行されようとする
と、例外割込が発生して制御割込受付部3が起動され、
グラフイック画面用CRTコントローラに対するI/O
入出力命令であればGEM6が起動されベースマシン用
CRTコントローラ18へのI/O入出力命令または仮
想ターゲットVRAM9への更新にエミュレートされ
る。
【0042】制御割込受付部3でテキスト画面用CRT
コントローラに対するI/O入出力命令と判断された場
合はTEM7が起動されベースマシン用CRTコントロ
ーラ18へのI/O入出力命令または仮想ターゲットV
RAM9への更新にエミュレートされる。
コントローラに対するI/O入出力命令と判断された場
合はTEM7が起動されベースマシン用CRTコントロ
ーラ18へのI/O入出力命令または仮想ターゲットV
RAM9への更新にエミュレートされる。
【0043】また、ターゲットマシン用AP12からタ
ーゲットマシン用VRAMへのメモリアクセス命令が発
行されようとすると、例外割込が発生して制御割込受付
部3が起動されグラフイック画面用VRAMに対するメ
モリアクセス命令であれば、GEM6が起動され仮想タ
ーゲットVRAM9への更新にエミュレートされる。
ーゲットマシン用VRAMへのメモリアクセス命令が発
行されようとすると、例外割込が発生して制御割込受付
部3が起動されグラフイック画面用VRAMに対するメ
モリアクセス命令であれば、GEM6が起動され仮想タ
ーゲットVRAM9への更新にエミュレートされる。
【0044】制御割込受付部3でテキスト画面用VRA
Mに対するメモリアクセス命令と判断された場合はTE
M7が起動され仮想ターゲットVRAM9への更新にエ
ミュレートされる。
Mに対するメモリアクセス命令と判断された場合はTE
M7が起動され仮想ターゲットVRAM9への更新にエ
ミュレートされる。
【0045】以上のようにして仮想ターゲットVRAM
9上に作成されたターゲットマシン用のVRAMはDE
M8によってベースマシン用VRAM17およびベース
マシン用CRTコントローラ18へ変換して出力され
る。
9上に作成されたターゲットマシン用のVRAMはDE
M8によってベースマシン用VRAM17およびベース
マシン用CRTコントローラ18へ変換して出力され
る。
【0046】図5はターゲットマシン用AP12からタ
ーゲットマシン用の画面系BIOSへのS/W割込命令
によるフアンクションコールが発行された場合のエミュ
レートの動作を示した図である。
ーゲットマシン用の画面系BIOSへのS/W割込命令
によるフアンクションコールが発行された場合のエミュ
レートの動作を示した図である。
【0047】ターゲットマシン用AP12から画面系B
IOSへのフアンクションコールとしてS/W割込命令
が実行されようとすると例外割込が発生して制御割込受
付部3が起動され、S/W割込命令に対する例外割込と
判定されてS/W割込エミュレート4が起動される。こ
こで、グラフイックBIOSに対するフアンクションコ
ールであると判断された場合はGEM6が起動され、ベ
ースマシン用CRTコントローラ18へのI/O入出力
命令または仮想ターゲットVRAM9への更新にエミュ
レートされ、また、S/W割込エミュレート4でデキス
トBIOSに対するフアンクションコールであると判断
された場合はTEM7が起動され、ベースマシン用CR
Tコントローラ18へのI/O入出力命令または仮想タ
ーゲットVRAM9への更新にエミュレートされる。
IOSへのフアンクションコールとしてS/W割込命令
が実行されようとすると例外割込が発生して制御割込受
付部3が起動され、S/W割込命令に対する例外割込と
判定されてS/W割込エミュレート4が起動される。こ
こで、グラフイックBIOSに対するフアンクションコ
ールであると判断された場合はGEM6が起動され、ベ
ースマシン用CRTコントローラ18へのI/O入出力
命令または仮想ターゲットVRAM9への更新にエミュ
レートされ、また、S/W割込エミュレート4でデキス
トBIOSに対するフアンクションコールであると判断
された場合はTEM7が起動され、ベースマシン用CR
Tコントローラ18へのI/O入出力命令または仮想タ
ーゲットVRAM9への更新にエミュレートされる。
【0048】以上のようにして仮想ターゲットVRAM
9上に作成されたターゲットマシン用のVRAMはDE
M8によってベースマシン用VRAM17およびベース
マシン用CRTコントローラ18へ変換して出力され
る。
9上に作成されたターゲットマシン用のVRAMはDE
M8によってベースマシン用VRAM17およびベース
マシン用CRTコントローラ18へ変換して出力され
る。
【0049】図6はターゲットマシン用AP12からタ
ーゲットマシン用の画面系BIOS以外のBIOSへの
S/W割込命令によるフアンクションコールが発行され
た場合のエミュレートの動作を示した図である。
ーゲットマシン用の画面系BIOS以外のBIOSへの
S/W割込命令によるフアンクションコールが発行され
た場合のエミュレートの動作を示した図である。
【0050】ターゲットマシン用AP12から画面系以
外のBIOSへのフアンクションコールとしてS/W割
込命令が実行されようとすると、例外割込が発生して制
御割込受付部3が起動され、S/W割込命令に対する割
込と判定されてS/W割込エミュレート4が起動され
る。
外のBIOSへのフアンクションコールとしてS/W割
込命令が実行されようとすると、例外割込が発生して制
御割込受付部3が起動され、S/W割込命令に対する割
込と判定されてS/W割込エミュレート4が起動され
る。
【0051】S/W割込エミュレート4ではS/W割込
エミュレート4内のみでエミュレートを完了するフアン
クションと、ベースマシン用OS13、ベースマシン用
ドライバ14、ベースマシン用BIOS15を用いてエ
ミュレートを行なうフアンクションとに分けられる。
エミュレート4内のみでエミュレートを完了するフアン
クションと、ベースマシン用OS13、ベースマシン用
ドライバ14、ベースマシン用BIOS15を用いてエ
ミュレートを行なうフアンクションとに分けられる。
【0052】S/W割込エミュレート4内でエミュレー
トを完了する場合はそのままエミュレートを行なう。
トを完了する場合はそのままエミュレートを行なう。
【0053】しかし、ベースマシン用OS13、ベース
マシン用ドライバ14、ベースマシン用BIOS15を
用いてエミュレートするフアンクションの場合は、ベー
スマシン用OS13、ベースマシン用ドライバ14、ベ
ースマシン用BIOS15の処理で使用されるS/W割
込命令やI/O入出力命令やメモリアクセス命令で例外
割込が発生しないように、例外割込解除/復帰部5で例
外割込を発生させない設定をしてからベースマシン用O
S13、ベースマシン用ドライバ14、ベースマシン用
BIOS15を読み出し、再びS/W割込エミュレート
4に戻る前に例外割込解除/復帰部5で例外割込を発生
させる設定を行なう。
マシン用ドライバ14、ベースマシン用BIOS15を
用いてエミュレートするフアンクションの場合は、ベー
スマシン用OS13、ベースマシン用ドライバ14、ベ
ースマシン用BIOS15の処理で使用されるS/W割
込命令やI/O入出力命令やメモリアクセス命令で例外
割込が発生しないように、例外割込解除/復帰部5で例
外割込を発生させない設定をしてからベースマシン用O
S13、ベースマシン用ドライバ14、ベースマシン用
BIOS15を読み出し、再びS/W割込エミュレート
4に戻る前に例外割込解除/復帰部5で例外割込を発生
させる設定を行なう。
【0054】図7はターゲットマシン用AP12からの
S/W割込命令のエミュレートでベースマシン用OS1
3またはベースマシン用ドライバ14を使用していると
きに、ベースマシン用OS13またはベースマシン用ド
ライバ14からベースマシンの表示系BIOSへのフア
ンクションコールが発行されたときの動作を示した図で
ある。
S/W割込命令のエミュレートでベースマシン用OS1
3またはベースマシン用ドライバ14を使用していると
きに、ベースマシン用OS13またはベースマシン用ド
ライバ14からベースマシンの表示系BIOSへのフア
ンクションコールが発行されたときの動作を示した図で
ある。
【0055】ターゲットマシン用AP12からS/W割
込命令によってOSフアンクションまたはBIOSフア
ンクションが発行され、そのエミュレートがベースマシ
ン用OS13またはベースマシン用ドライバ14を用い
て行なわれる場合に、ベースマシン用OS13またはベ
ースマシン用ドライバ14で画面の表示を行なおうとし
てベースマシン用表示系BIOSを呼び出そうとする
と、初期化部2のステップ22で設定されたエミュレー
タ転送部10に制御が渡る。
込命令によってOSフアンクションまたはBIOSフア
ンクションが発行され、そのエミュレートがベースマシ
ン用OS13またはベースマシン用ドライバ14を用い
て行なわれる場合に、ベースマシン用OS13またはベ
ースマシン用ドライバ14で画面の表示を行なおうとし
てベースマシン用表示系BIOSを呼び出そうとする
と、初期化部2のステップ22で設定されたエミュレー
タ転送部10に制御が渡る。
【0056】エミュレータ転送部10は仮想計算機エミ
ュレート装置1内のテキストベース画面エミュレート1
1を呼び出すためS/W割込命令を発行する。エミュレ
ータ転送部10がS/W割込命令を発行すると仮想計算
機エミュレート装置1内の制御割込受付部3が呼び出さ
れ、制御割込受付部3でテキストベース画面エミュレー
ト11へのS/W割込命令であると判断され、テキスト
ベース画面エミュレート11が起動される。
ュレート装置1内のテキストベース画面エミュレート1
1を呼び出すためS/W割込命令を発行する。エミュレ
ータ転送部10がS/W割込命令を発行すると仮想計算
機エミュレート装置1内の制御割込受付部3が呼び出さ
れ、制御割込受付部3でテキストベース画面エミュレー
ト11へのS/W割込命令であると判断され、テキスト
ベース画面エミュレート11が起動される。
【0057】テキストベース画面エミュレート11はベ
ースマシン用OS13またはベースマシン用ドライバ1
4が発行したベースマシン用画面系BIOSへのフアン
クションをターゲットマシンにおける表示形式にエミュ
レートし、TEM7より仮想ターゲットVRAM9への
更新またはベースマシン用CRTコントローラへのI/
O入出力命令として実行し、ターゲットマシン用AP1
2からの画面表示と重ね合わせる。
ースマシン用OS13またはベースマシン用ドライバ1
4が発行したベースマシン用画面系BIOSへのフアン
クションをターゲットマシンにおける表示形式にエミュ
レートし、TEM7より仮想ターゲットVRAM9への
更新またはベースマシン用CRTコントローラへのI/
O入出力命令として実行し、ターゲットマシン用AP1
2からの画面表示と重ね合わせる。
【0058】以上のようにして仮想ターゲットVRAM
9上に作成されたターゲットマシン用のVRAMはDE
M8によってベースマシン用VRAM17およびベース
マシン用CRTコントローラ18へ変換して出力され
る。
9上に作成されたターゲットマシン用のVRAMはDE
M8によってベースマシン用VRAM17およびベース
マシン用CRTコントローラ18へ変換して出力され
る。
【0059】以上のように、第1の実施の形態の仮想計
算機エミュレート装置は、ターゲットマシン用APから
発行される画面操作に関するOSフアンクションの場合
でも、また、ベースマシン用OSおよびドライバからの
画面表示の場合も、ともに、エミュレータ転送部、テキ
ストベース画面エミュレートを経て仮想ターゲットVR
AMに反映することとなり、ターゲットマシン用APか
らの画面表示とともに併せて同時に正しく表示できるこ
ととなる。
算機エミュレート装置は、ターゲットマシン用APから
発行される画面操作に関するOSフアンクションの場合
でも、また、ベースマシン用OSおよびドライバからの
画面表示の場合も、ともに、エミュレータ転送部、テキ
ストベース画面エミュレートを経て仮想ターゲットVR
AMに反映することとなり、ターゲットマシン用APか
らの画面表示とともに併せて同時に正しく表示できるこ
ととなる。
【0060】通常OSおよびドライバからの画面表示は
文字表示が一般的であり、グラフイック表示は行なわれ
ないことが多いため、第1の実施の形態の仮想計算機エ
ミュレート装置では、ベースマシン用OSおよびベース
マシン用ドライバからの画面表示については、テキスト
表示についてのTEM7のみを用いてエミュレートを行
なったが、本発明はこれに限定されるものではない。
文字表示が一般的であり、グラフイック表示は行なわれ
ないことが多いため、第1の実施の形態の仮想計算機エ
ミュレート装置では、ベースマシン用OSおよびベース
マシン用ドライバからの画面表示については、テキスト
表示についてのTEM7のみを用いてエミュレートを行
なったが、本発明はこれに限定されるものではない。
【0061】次に本発明の第2の実施の形態の仮想計算
機エミュレート装置について図面を用いて説明する。
機エミュレート装置について図面を用いて説明する。
【0062】本発明の第2の実施の形態の仮想計算機エ
ミュレート装置100の構成を図8に示す。図8に示す
ように、第1の実施の形態の仮想計算機エミュレート装
置1の構成との相違は、エミュレータ転送部20とグラ
フイックベース画面エミュレート19である。その相違
を下記に説明する。
ミュレート装置100の構成を図8に示す。図8に示す
ように、第1の実施の形態の仮想計算機エミュレート装
置1の構成との相違は、エミュレータ転送部20とグラ
フイックベース画面エミュレート19である。その相違
を下記に説明する。
【0063】エミュレータ転送部20は、ベースマシン
用OS13やベースマシン用ドライバ14の置かれる1
MB以下のメモリ領域に位置し、ベースマシン用OS1
3やベースマシン用ドライバ14からベースマシン用表
示系BIOSを呼び出す際に、1MBより上のメモリ領
域に置かれる仮想計算機エミュレート装置1内のテキス
トベース画面エミュレート11をS/W割込命令を用い
て呼び出す機能は第1の実施の形態の仮想計算機エミュ
レート装置1のエミュレータ転送部10と同じである
が、さらに、後述する1MBより上のメモリ領域に置か
れる仮想計算機エミュレート装置1内のグラフイックベ
ース画面エミュレート19をS/W割込命令を用いて呼
び出す機能も有している。
用OS13やベースマシン用ドライバ14の置かれる1
MB以下のメモリ領域に位置し、ベースマシン用OS1
3やベースマシン用ドライバ14からベースマシン用表
示系BIOSを呼び出す際に、1MBより上のメモリ領
域に置かれる仮想計算機エミュレート装置1内のテキス
トベース画面エミュレート11をS/W割込命令を用い
て呼び出す機能は第1の実施の形態の仮想計算機エミュ
レート装置1のエミュレータ転送部10と同じである
が、さらに、後述する1MBより上のメモリ領域に置か
れる仮想計算機エミュレート装置1内のグラフイックベ
ース画面エミュレート19をS/W割込命令を用いて呼
び出す機能も有している。
【0064】グラフイックベース画面エミュレート19
は、エミュレータ転送部20によって転送されるベース
マシン用OS13またはベースマシン用ドライバ14か
らのベースマシン用表示系BIOSへのフアンクション
コールをエミュレートしてGEM8を読み出すことで仮
想ターゲットVRAM9に書き込む。
は、エミュレータ転送部20によって転送されるベース
マシン用OS13またはベースマシン用ドライバ14か
らのベースマシン用表示系BIOSへのフアンクション
コールをエミュレートしてGEM8を読み出すことで仮
想ターゲットVRAM9に書き込む。
【0065】初期化部2は初期化時において、ベースマ
シン用割込ベクトルテーブルに設定されているベースマ
シン用表示系BIOSの代りにエミュレータ転送部20
を設定する。
シン用割込ベクトルテーブルに設定されているベースマ
シン用表示系BIOSの代りにエミュレータ転送部20
を設定する。
【0066】第2の実施の形態に対応する図3のメモリ
マップとしては、エミュレータ転送部10に代えてエミ
ュレータ転送部20を、テキストベース画面エミュレー
ト11に加えて、さらに、グラフイックベース画面エミ
ュレート19を収容している。
マップとしては、エミュレータ転送部10に代えてエミ
ュレータ転送部20を、テキストベース画面エミュレー
ト11に加えて、さらに、グラフイックベース画面エミ
ュレート19を収容している。
【0067】図4に示すターゲットマシン用APからタ
ーゲットマシン用CRTコントローラへのI/O入出力
命令、または、ターゲットマシン用VRAMへのメモリ
アクセス命令が発行された場合の動作、図5に示すター
ゲットマシン用APからターゲットマシン用画面系BI
OSへのS/W割込命令によるフアンクションコールが
発行された場合の動作、図6に示すターゲットマシン用
APからターゲットマシン用画面系BIOS以外のBI
OSへのS/W割込命令によるフアンクションコールが
発行された場合の動作のそれぞれについては、第2の実
施の形態の仮想計算機エミュレート装置100と第1の
実施の形態の仮想計算機エミュレート装置1とは同じで
あるので説明は省略する。
ーゲットマシン用CRTコントローラへのI/O入出力
命令、または、ターゲットマシン用VRAMへのメモリ
アクセス命令が発行された場合の動作、図5に示すター
ゲットマシン用APからターゲットマシン用画面系BI
OSへのS/W割込命令によるフアンクションコールが
発行された場合の動作、図6に示すターゲットマシン用
APからターゲットマシン用画面系BIOS以外のBI
OSへのS/W割込命令によるフアンクションコールが
発行された場合の動作のそれぞれについては、第2の実
施の形態の仮想計算機エミュレート装置100と第1の
実施の形態の仮想計算機エミュレート装置1とは同じで
あるので説明は省略する。
【0068】第2の実施の形態の仮想計算機エミュレー
ト装置におけるターゲットマシン用APからS/W割込
命令のエミュレートでベースマシン用OSまたはベース
マシン用ドライバを使用しているとき、ベースマシン用
OSまたはベースマシン用ドライバからベースマシン用
表示系BIOSへのフアンクションコールが発行された
ときの動作を示す流れ図を図9に示す。
ト装置におけるターゲットマシン用APからS/W割込
命令のエミュレートでベースマシン用OSまたはベース
マシン用ドライバを使用しているとき、ベースマシン用
OSまたはベースマシン用ドライバからベースマシン用
表示系BIOSへのフアンクションコールが発行された
ときの動作を示す流れ図を図9に示す。
【0069】ターゲットマシン用AP12からS/W割
込命令によってOSフアンクションまたはBIOSフア
ンクションが発行され、そのエミュレートがベースマシ
ン用OS13またはベースマシン用ドライバ14を用い
て行なわれる場合に、ベースマシン用OS13またはベ
ースマシン用ドライバ14で画面の表示を行なおうとし
てベースマシン用表示系BIOSを呼び出そうとする
と、初期化部2のステップ22で設定されたエミュレー
タ転送部20に制御が渡る。
込命令によってOSフアンクションまたはBIOSフア
ンクションが発行され、そのエミュレートがベースマシ
ン用OS13またはベースマシン用ドライバ14を用い
て行なわれる場合に、ベースマシン用OS13またはベ
ースマシン用ドライバ14で画面の表示を行なおうとし
てベースマシン用表示系BIOSを呼び出そうとする
と、初期化部2のステップ22で設定されたエミュレー
タ転送部20に制御が渡る。
【0070】エミュレータ転送部20は上記のベースマ
シン用表示系BIOSの呼び出しがテキスト表示なのか
グラフイック表示なのかに応じてそれぞれ仮想計算機エ
ミュレート装置100内のテキストベース画面エミュレ
ート11を呼び出すためS/W割込命令またはグラフイ
ックベース画面エミュレート19を呼び出すためS/W
割込命令を発行する。エミュレータ転送部20がS/W
割込命令を発行すると仮想計算機エミュレート装置1内
の制御割込受付部3が呼び出され、制御割込受付部3で
テキストベース画面エミュレート11へのS/W割込命
令であると判断されたときには、テキストベース画面エ
ミュレート11が起動され、グラフイックベース画面エ
ミュレート19へのS/W割込命令であると判断された
ときには、グラフイックベース画面エミュレート19が
起動される。
シン用表示系BIOSの呼び出しがテキスト表示なのか
グラフイック表示なのかに応じてそれぞれ仮想計算機エ
ミュレート装置100内のテキストベース画面エミュレ
ート11を呼び出すためS/W割込命令またはグラフイ
ックベース画面エミュレート19を呼び出すためS/W
割込命令を発行する。エミュレータ転送部20がS/W
割込命令を発行すると仮想計算機エミュレート装置1内
の制御割込受付部3が呼び出され、制御割込受付部3で
テキストベース画面エミュレート11へのS/W割込命
令であると判断されたときには、テキストベース画面エ
ミュレート11が起動され、グラフイックベース画面エ
ミュレート19へのS/W割込命令であると判断された
ときには、グラフイックベース画面エミュレート19が
起動される。
【0071】テキストベース画面エミュレート11はベ
ースマシン用OS13またはベースマシン用ドライバ1
4が発行したベースマシン用画面系BIOSへのフアン
クションをターゲットマシンにおける表示形式にエミュ
レートし、TEM7より仮想ターゲットVRAM9への
更新またはベースマシン用CRTコントローラへのI/
O入出力命令として実行し、ターゲットマシン用AP1
2からの画面表示と重ね合わせる。
ースマシン用OS13またはベースマシン用ドライバ1
4が発行したベースマシン用画面系BIOSへのフアン
クションをターゲットマシンにおける表示形式にエミュ
レートし、TEM7より仮想ターゲットVRAM9への
更新またはベースマシン用CRTコントローラへのI/
O入出力命令として実行し、ターゲットマシン用AP1
2からの画面表示と重ね合わせる。
【0072】グラフイックベース画面エミュレート19
はベースマシン用OS13またはベースマシン用ドライ
バ14が発行したベースマシン用画面系BIOSへのフ
アンクションをターゲットマシンにおける表示形式にエ
ミュレートし、GEM6より仮想ターゲットVRAM9
への更新またはベースマシン用CRTコントローラへの
I/O入出力命令として実行し、ターゲットマシン用A
P12からの画面表示と重ね合わせる。
はベースマシン用OS13またはベースマシン用ドライ
バ14が発行したベースマシン用画面系BIOSへのフ
アンクションをターゲットマシンにおける表示形式にエ
ミュレートし、GEM6より仮想ターゲットVRAM9
への更新またはベースマシン用CRTコントローラへの
I/O入出力命令として実行し、ターゲットマシン用A
P12からの画面表示と重ね合わせる。
【0073】以上のようにして仮想ターゲットVRAM
9上に作成されたターゲットマシン用のVRAMはDE
M8によってベースマシン用VRAM17およびベース
マシン用CRTコントローラ18へ変換して出力され
る。
9上に作成されたターゲットマシン用のVRAMはDE
M8によってベースマシン用VRAM17およびベース
マシン用CRTコントローラ18へ変換して出力され
る。
【0074】以上のように、第2の実施の形態の仮想計
算機エミュレート装置は、ターゲットマシン用APから
発行される画面操作に関するOSフアンクションの場合
でも、また、ベースマシン用OSおよびドライバからの
画面表示の場合も、ともに、エミュレータ転送部、テキ
ストベース画面エミュレート、グラフイックベース画面
エミュレートを経て仮想ターゲットVRAMに反映する
こととなり、ターゲットマシン用APからの画面表示と
ともに併せて同時にグラフイックおよびテキストを正し
く表示できることとなる。
算機エミュレート装置は、ターゲットマシン用APから
発行される画面操作に関するOSフアンクションの場合
でも、また、ベースマシン用OSおよびドライバからの
画面表示の場合も、ともに、エミュレータ転送部、テキ
ストベース画面エミュレート、グラフイックベース画面
エミュレートを経て仮想ターゲットVRAMに反映する
こととなり、ターゲットマシン用APからの画面表示と
ともに併せて同時にグラフイックおよびテキストを正し
く表示できることとなる。
【0075】
【発明の効果】以上説明したように、本発明の仮想計算
機エミュレート装置は、ターゲットマシン用APから発
行される画面操作に関するOSフアンクションの場合で
も、また、ベースマシン用OSおよびドライバからの画
面表示の場合も、ともに、エミュレータ転送部、テキス
トベース画面エミュレート等を経て仮想ターゲットVR
AMに反映することとなり、ターゲットマシン用APか
らの画面表示とともに併せて同時に正しく表示できると
いう効果を有している。
機エミュレート装置は、ターゲットマシン用APから発
行される画面操作に関するOSフアンクションの場合で
も、また、ベースマシン用OSおよびドライバからの画
面表示の場合も、ともに、エミュレータ転送部、テキス
トベース画面エミュレート等を経て仮想ターゲットVR
AMに反映することとなり、ターゲットマシン用APか
らの画面表示とともに併せて同時に正しく表示できると
いう効果を有している。
【図1】本発明の仮想計算機エミュレート装置の第1の
実施の形態を示すブロック図である。
実施の形態を示すブロック図である。
【図2】第1の実施の形態の初期化部の動作の一例を示
す流れ図である。
す流れ図である。
【図3】第1の実施の形態のターゲットマシン用APを
メモリ上に読み込んだ状態でのメモリマップ図である。
メモリ上に読み込んだ状態でのメモリマップ図である。
【図4】ターゲットマシン用APからターゲットマシン
用CRTコントローラへのI/O入出力命令または、タ
ーゲットマシン用VRAMへのメモリアクセス命令が発
行された場合の動作を示す流れ図である。
用CRTコントローラへのI/O入出力命令または、タ
ーゲットマシン用VRAMへのメモリアクセス命令が発
行された場合の動作を示す流れ図である。
【図5】ターゲットマシン用APからターゲットマシン
用画面系BIOSへのS/W割込命令によるフアンクシ
ョンコールが発行された場合の動作を示す違れ図であ
る。
用画面系BIOSへのS/W割込命令によるフアンクシ
ョンコールが発行された場合の動作を示す違れ図であ
る。
【図6】ターゲットマシン用APからターゲットマシン
用画面系BIOS以外のBIOSへのS/W割込命令に
よるフアンクションコールが発行された場合の動作を示
す違れ図である。
用画面系BIOS以外のBIOSへのS/W割込命令に
よるフアンクションコールが発行された場合の動作を示
す違れ図である。
【図7】第1の実施の形態のターゲットマシン用APか
らS/W割込命令のエミュレートでベースマシン用OS
またはベースマシン用ドライバを使用しているとき、ベ
ースマシン用OSまたはベースマシン用ドライバからベ
ースマシンの表示系BIOSへのフアンクションコール
が発行されたときの動作を示す流れ図である。
らS/W割込命令のエミュレートでベースマシン用OS
またはベースマシン用ドライバを使用しているとき、ベ
ースマシン用OSまたはベースマシン用ドライバからベ
ースマシンの表示系BIOSへのフアンクションコール
が発行されたときの動作を示す流れ図である。
【図8】本発明の仮想計算機エミュレート装置の第2の
実施の形態を示すブロック図である。
実施の形態を示すブロック図である。
【図9】第2の実施の形態のターゲットマシン用APか
らS/W割込命令のエミュレートでベースマシン用OS
またはベースマシン用ドライバを使用しているとき、ベ
ースマシン用OSまたはベースマシン用ドライバからベ
ースマシンの表示系BIOSへのフアンクションコール
が発行されたときの動作を示す流れ図である。
らS/W割込命令のエミュレートでベースマシン用OS
またはベースマシン用ドライバを使用しているとき、ベ
ースマシン用OSまたはベースマシン用ドライバからベ
ースマシンの表示系BIOSへのフアンクションコール
が発行されたときの動作を示す流れ図である。
1、100 仮想計算機エミュレート装置 2 初期化部 3 制御割込受付部 4 S/W割込エミュレート 5 例外割込解除/復帰部 6 GEM(グラフイックエミュレータ) 7 TEM(テキストエミュレータ) 8 DEM(表示エミュレータ) 9 仮想ターゲットVRAM 10、20 エミュレータ転送部 11 テキストベース画面エミュレート 12 ターゲットマシン用AP 13 ベースマシン用OS 14 ベースマシン用ドライバ 15 ベースマシン用BIOS 16 ベースマシン用周辺I/Oハードウエア 17 ベースマシン用VRAM 18 ベースマシン用CRTコントローラ 19 グラフイックベース画面エミュレート
Claims (3)
- 【請求項1】 アーキテクチャの互いに異なる計算機間
において一方の計算機(以下ターゲットマシンと呼ぶ)
上で動作するターゲットマシン用アプリケーションソフ
トウエアを他方の計算機(以下ベースマシンと呼ぶ)で
動作させるために、前記ターゲットマシン用アプリケー
ションソフトウエアからの画面表示をテキストエミュレ
ータおよびグラフイックエミュレータを介して仮想ター
ゲットVRAMに置いてターゲットマシン用VRAM情
報をベースマシン用VRAM情報に変換することにより
エミュレートし前記画面表示以外のエミュレートを前記
ベースマシンのOSとBIOSとドライバと周辺I/O
ハードウエアとを用いてエミュレートを行なう仮想計算
機エミュレート装置において、前記ベースマシンの表示
系BIOSへの命令を前記ターゲットマシンにおける表
示形式に変換し前記テキストエミュレータに供給するテ
キストベース画面エミュレート手段と、前記ベースマシ
ンのOSおよびまたはドライバからの前記ベースマシン
の表示系BIOSへの命令を前記テキストベース画面エ
ミュレート手段に転送するエミュレータ転送手段とを含
むことを特徴とする仮想計算機エミュレート装置。 - 【請求項2】 アーキテクチャの互いに異なる計算機間
において一方の計算機(以下ターゲットマシンと呼ぶ)
上で動作するターゲットマシン用アプリケーションソフ
トウエアを他方の計算機(以下ベースマシンと呼ぶ)で
動作させるために、前記ターゲットマシン用アプリケー
ションソフトウエアからの画面表示をテキストエミュレ
ータおよびグラフイックエミュレータを介して仮想ター
ゲットVRAMに置いてターゲットマシン用VRAM情
報をベースマシン用VRAM情報に変換することにより
エミュレートし前記画面表示以外のエミュレートを前記
ベースマシンのOSとBIOSとドライバと周辺I/O
ハードウエアとを用いてエミュレートを行なう仮想計算
機エミュレート装置において、前記ベースマシンの表示
系BIOSへの命令を前記ターゲットマシンにおける表
示形式に変換し前記テキストエミュレータおよびグラフ
イックエミュレータに供給するベース画面エミュレート
手段と、前記ベースマシンのOSおよびまたはドライバ
からの前記ベースマシンの表示系BIOSへの命令を前
記ベース画面エミュレート手段に転送するエミュレータ
転送手段とを含むことを特徴とする仮想計算機エミュレ
ート装置。 - 【請求項3】 ベース画面エミュレート手段は前記ベー
スマシンの表示系BIOSへのテキスト関係命令を前記
ターゲットマシンにおける表示形式に変換し前記テキス
トエミュレータに供給するテキストベース画面エミュレ
ート手段と、前記ベースマシンの表示系BIOSへのグ
ラフイック関係命令を前記ターゲットマシンにおける表
示形式に変換し前記グラフイックエミュレータに供給す
るグラフイックベース画面エミュレート手段とを含むこ
とを特徴とする仮想計算機エミュレート装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9155098A JP3033713B2 (ja) | 1997-06-12 | 1997-06-12 | 仮想計算機エミュレート装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP9155098A JP3033713B2 (ja) | 1997-06-12 | 1997-06-12 | 仮想計算機エミュレート装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH113236A true JPH113236A (ja) | 1999-01-06 |
| JP3033713B2 JP3033713B2 (ja) | 2000-04-17 |
Family
ID=15598589
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP9155098A Expired - Fee Related JP3033713B2 (ja) | 1997-06-12 | 1997-06-12 | 仮想計算機エミュレート装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3033713B2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006190281A (ja) * | 2004-12-30 | 2006-07-20 | Microsoft Corp | グラフィックサブシステムを仮想化するシステムおよび方法 |
| JP2010128943A (ja) * | 2008-11-28 | 2010-06-10 | Toshiba Corp | 情報処理装置および情報処理装置の制御方法 |
| JP2013508869A (ja) * | 2009-10-28 | 2013-03-07 | 中国移▲動▼通信集▲団▼公司 | アプリケーション画像の表示方法及び装置 |
| JP2019516167A (ja) * | 2016-03-23 | 2019-06-13 | フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
-
1997
- 1997-06-12 JP JP9155098A patent/JP3033713B2/ja not_active Expired - Fee Related
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006190281A (ja) * | 2004-12-30 | 2006-07-20 | Microsoft Corp | グラフィックサブシステムを仮想化するシステムおよび方法 |
| US8274518B2 (en) | 2004-12-30 | 2012-09-25 | Microsoft Corporation | Systems and methods for virtualizing graphics subsystems |
| KR101220072B1 (ko) * | 2004-12-30 | 2013-01-08 | 마이크로소프트 코포레이션 | 그래픽 서브 시스템들을 가상화하기 위한 시스템들 및방법들 |
| JP2010128943A (ja) * | 2008-11-28 | 2010-06-10 | Toshiba Corp | 情報処理装置および情報処理装置の制御方法 |
| JP2013508869A (ja) * | 2009-10-28 | 2013-03-07 | 中国移▲動▼通信集▲団▼公司 | アプリケーション画像の表示方法及び装置 |
| JP2019516167A (ja) * | 2016-03-23 | 2019-06-13 | フォグホーン システムズ, インコーポレイテッドFoghorn Systems, Inc. | リアルタイムデータフロープログラミング言語のためのツールおよび方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3033713B2 (ja) | 2000-04-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3227542B2 (ja) | 特定のコンピュータ・ハードウェア・アーキテクチャのために作成されたソフトウェアのバージョンの互換性を確保する装置および方法 | |
| US5964843A (en) | System for enhancing device drivers | |
| JP2590267B2 (ja) | 仮想計算機における表示制御方式 | |
| KR100975458B1 (ko) | Gui 어플리케이션 개발 지원 장치, gui 표시 장치 및 방법과 컴퓨터 판독 가능 기록 매체 | |
| JP4982347B2 (ja) | 画像情報の更新を検出するプログラム、方法および画像処理装置 | |
| KR100954007B1 (ko) | Gui 어플리케이션 개발 지원 장치, gui 어플리케이션 프로그램 생성 방법 및 컴퓨터 판독가능 기록매체 | |
| US20010027387A1 (en) | Debugging supporting apparatus, debugging supporting method and recording medium readable by computer with its programs recorded thereon | |
| US5623664A (en) | Interactive memory organization system and method therefor | |
| JP3033713B2 (ja) | 仮想計算機エミュレート装置 | |
| KR100286197B1 (ko) | 데이타 처리 시스템의 프로그래밍 방법 | |
| EP1025489B1 (en) | System to associate control with applications using drag and drop interface | |
| US7657897B2 (en) | Methods and apparatus for communicating between multiple levels of software components | |
| JPH1069393A (ja) | 仮想計算機エミュレータ、仮想計算機エミュレート方法 および仮想計算機エミュレートプログラムを記録した記録 媒体 | |
| JPH04227547A (ja) | 情報処理装置 | |
| JP3137094B2 (ja) | シミュレーション方法、シミュレーション装置及びその記録媒体 | |
| JPH06295217A (ja) | 仮想計算機のキーボード制御方式 | |
| JP3861925B2 (ja) | エミュレーション装置およびその方法 | |
| JPH06103103A (ja) | エミュレータ | |
| JPS62214444A (ja) | シミユレ−シヨン方法 | |
| JPH04310133A (ja) | 仮想ハードウエア方式 | |
| JP2899009B2 (ja) | 情報処理装置 | |
| JP2001209555A (ja) | 入出力エミュレーション装置、入出力装置のエミュレーション方法および入出力装置エミュレーションプログラムを記録した記録媒体 | |
| JPH06161783A (ja) | マルチosシステムにおける表示制御方法 | |
| JP2000194582A (ja) | エミュレートシステム | |
| JPH0619689A (ja) | 情報処理装置 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20000111 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |