JPH0713672A - 仮想計算機のキーボード制御方式 - Google Patents

仮想計算機のキーボード制御方式

Info

Publication number
JPH0713672A
JPH0713672A JP5143247A JP14324793A JPH0713672A JP H0713672 A JPH0713672 A JP H0713672A JP 5143247 A JP5143247 A JP 5143247A JP 14324793 A JP14324793 A JP 14324793A JP H0713672 A JPH0713672 A JP H0713672A
Authority
JP
Japan
Prior art keywords
key
machine
processing
input
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.)
Pending
Application number
JP5143247A
Other languages
English (en)
Inventor
Yoshihiko Kunimori
義彦 國森
Yoshihiro Yamada
善弘 山田
Koichi Hibi
浩一 日比
Teiji Kuwabara
禎司 桑原
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5143247A priority Critical patent/JPH0713672A/ja
Publication of JPH0713672A publication Critical patent/JPH0713672A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Input From Keyboards Or The Like (AREA)

Abstract

(57)【要約】 【構成】キー入力のエミュレーションを行う際に、本発
明では、KBコントローラとの通信等のインタフェース
処理を新たに作成せず、ベースマシン、及びターゲット
マシンの入力ファンクション処理を用いる方式とした。 【効果】本発明によれば、エミュレーション処理部の開
発の開発労力の削減が図れると共に、エミュレーション
処理部はKBコントローラ等のハード仕様が変更となっ
ても影響を受けないため、汎用性の高いキー入力エミュ
レーションが可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はパーソナルコンピュータ
やワークステーション等において、異なるアーキテクチ
ャを持つ複数の異機種間でのアプリケーションプログラ
ム等の互換性を保つ仮想計算機エミュレーション方式に
関する。
【0002】
【従来の技術】パーソナルコンピュータ(以下、パソコ
ン)等の情報処理装置では、各メーカが独自性を表した
結果、数多くのアーキテクチャが存在している。例え
ば、キーボードに関しても、表記の異なるキートップを
持つものや、キー配置の異なる機種が多く見受けられ
る。
【0003】これらのハードウェア、もしくは、ソフト
ウェアの構成が機種間で異なるため、それぞれの機種用
に開発されたアプリケーションソフト間での互換性はな
い。そのため使用者は、自分の使用したいアプリケーシ
ョンソフトが動作する装置を新たに購入したり、あるい
は、既に所有している装置の上で動作するようにアプリ
ケーションソフトを改造、移植しなければならない。
【0004】この様な問題に対し、ある特定の機種(以
下、ベースマシン)上で、異なるアーキテクチャをもつ
他の機種(以下、ターゲットマシン)との互換性を保と
うとする試みは、所謂、仮想計算機として古くから大型
コンピュータで行なわれ、近年ではパソコンのレベルに
まで応用されるようになってきている。
【0005】パソコン上で仮想計算機を実現するために
は、例えば、キー入力では、キーを押した場合(以下、
押下)にキーボードから得られ、アプリケーションソフ
トに伝送されるキーコードがターゲットマシン用のキー
コードに変換されなければならない。
【0006】このキー入力処理のエミュレーション処理
については特開昭62-279431号公報に開示されている。
【0007】
【発明が解決しようとする課題】ここで、キー入力処理
のメカニズムの概略を図3、図4、図6、図7を用いて
説明する。図3はベースマシンのキー入力に関するソフ
ト構造を、図4はターゲットマシンのキー入力に関する
ソフト構造を示し、図6はベースマシンのキーデータの
流れを、図7はターゲットマシンのキーデータの流れを
図示している。
【0008】図3において、10はベースマシンのアプ
リケーション(以下、ベースマシンAP)、9はベース
マシンのオペレーティングシステム(以下、ベースマシ
ンOS)、8はベースマシン入力ドライバ、6はベース
マシン入力ファンクション処理、7はベースマシン入力
ハード処理、11はキーボードコントローラ(以下、K
Bコントローラ)、12はキーボード(以下、KB)で
ある。
【0009】また、図6で、23はベースマシンKBイ
ンタフェース、20はベースマシンキーバッファであ
り、その他図3と同一ブロックは説明を省略する。
【0010】一方、図4において、5はターゲットマシ
ンのアプリケーション(以下、ターゲットマシンAP
t)、4はターゲットマシンのオペレーティングシステ
ム(以下、ターゲットマシンOSt)、17はターゲッ
トマシン入力ドライバ、3はターゲットマシン入力ファ
ンクション処理、16はターゲットマシン入力ハード処
理、18はターゲットマシンのキーボードコントローラ
(以下、ターゲットマシンKBコントローラ)、19は
ターゲットマシンのキーボード(以下、ターゲットマシ
ンKB)である。
【0011】また、図7で、24はターゲットマシンK
Bインタフェース、21はターゲットマシンキーバッフ
ァであり、その他図4と同一ブロックは説明を省略す
る。
【0012】図3、図6において、KB12のキーを押
下するとKBコントローラ12はどのキーが押されたの
か判断し、ベースマシン入力ドライバ8にハード割込み
処理を要求する。この要求に対し、ベースマシン入力ハ
ード処理7内のベースマシンKBインタフェース23は
KBコントローラ11とシリアルデータ通信を行い、キ
ーコードを得て、ベースマシンキーバッファ20に格納
し、ハード割込み処理を終了する。
【0013】一方、ベースマシンAP10が文字入力を
必要とするときは、ベースマシンOS9を介して、ベー
スマシン入力ドライバ8内のベースマシン入力ファンク
ション処理6のキーコード取得処理を起動し、ベースマ
シンキーバッファ20からキーコードを取得し、ベース
マシンAP10へ受渡す。
【0014】図4、図7におけるキー入力に関する処理
も図3と同様であり、説明は省略する。
【0015】次に、仮想計算機の実現において、特開昭
62-279431号公報に開示されているキーボード制御部を
エミュレーションする方式について説明する。該エミュ
レーション方式はターゲットマシンの入力ドライバをベ
ースマシン上に移植する方式であり、図2にそのソフト
構造を示す。
【0016】図2で15は移植入力ドライバ、13は移
植入力ファンクション処理、14は移植入力ハード処理
であり、その他の図3と同一ブロックは説明を省略す
る。
【0017】図2で、ベースマシンAPを動作させると
きは、図3と同じ環境とされ、図3で説明したベースマ
シンとしてのキー入力処理が行われる。
【0018】一方、ターゲットマシンAPtを動作させ
るときは、ベースマシン上でキー入力処理が正常に行わ
れるように、図4のターゲットマシン入力ドライバ17
をベースマシン上に移植する。図2の移植入力ハード処
理14はKBコントローラ11からキーコード受信可能
とするために、シリアルデータ通信の通信条件を整合す
ると共に、ターゲットマシンのキーコードを発生するよ
うに、コード変換し、キーバッファに格納出来るように
変更される。
【0019】上記のKBコントローラ11との通信条件
を整合するための変更は、一般的には、通信条件に合わ
せて、新規に通信ソフトを作成することであり、データ
転送のタイミングを合わせるなどハード面での検討を必
要とし、開発に多大な労力を必要とするという問題点が
ある。
【0020】
【課題を解決するための手段】上記問題の原因は、KB
コントローラ11との通信を行っているターゲットマシ
ン入力ハード処理16を変更して、エミュレーションし
たためである。
【0021】よって、この問題を解決するために、KB
コントローラ11との通信を行っているベースマシン入
力ハード処理7をそのまま使用し、ベースマシン入力ハ
ード処理7よりも上位の処理部を変更し、エミュレーシ
ョンすることとする。
【0022】また、キーバッファからのベースマシンの
キーコード取得もベースマシン入力ファンクション処理
6を使用して実施することとする。
【0023】また、前述のエミュレーション処理制御の
ために仮想計算機モニタと仮想計算機モニタを起動する
手段を設け、キーボードのキーを押すことで該仮想計算
機モニタを起動することで実現出来る。
【0024】
【作用】前述の方式とすることで、KBコントローラ1
1との通信ソフトの開発が無くなり、エミュレーション
に要する開発労力の削減が可能となる。
【0025】さらに、KBコントローラ11より下層の
ハード的な要因とエミュレーションに対する変更が無く
なり、ベースマシンのKBコントローラ11より下層の
ハード仕様が変更となっても影響を受けないため、汎用
性の高いキー入力処理のエミュレーションが可能とな
る。
【0026】
【実施例】以下、図面を用いて本発明の実施例を説明す
る。
【0027】図1、図8に本発明の一実施例を示し、図
1は本発明のキー入力に関するソフト構造を、図8は本
発明のキーデータの流れを説明するものである。
【0028】図1で3は入力ドライバエミュレータ、2
はターゲットマシン入力ファンクション処理、1は入力
ハード処理エミュレータ、81はベースマシンタスク、
82はターゲットマシンタスク、80は仮想計算機モニ
タ、100はモニタ起動検出、85はモニタメイン、1
01は処理参照テーブル、84はタスク管理、83はメ
モリ管理を示す。
【0029】図8で25はKBインタフェースエミュレ
ータ、22は作業用キーバッファ、102はベースマシ
ンタスクからターゲットマシンタスクへの処理モードの
移行、104はターゲットマシンタスクからベースマシ
ンタスクへの処理モードの移行、及び、103はターゲ
ットマシンキーバッファから作業用キーバッファへのデ
ータ転送、105は作業用キーバッファからターゲット
マシンキーバッファへのデータ転送を説明するものであ
り、その他の図3、図4、図6、図7と同一ブロックは
説明を省略する。
【0030】図1、図8で、モニタ起動検出100は、
ベースマシンタスク81とターゲットマシンタスク82
の処理を監視しており、必要な場合は、仮想計算機モニ
タ80を起動することができ、本実施例では、KB12
のキーが押下された時に、KBコントローラ11から発
行されるハード割込みを検出し、仮想計算機モニタ80
が起動されるものとする。
【0031】キー押下により、上記過程を経て、仮想計
算機モニタ80が起動された場合に、モニタメイン85
は、処理参照テーブル101を参照し、処理を開始し、
まず、現在の処理がベースマシンタスク81かターゲッ
トマシンタスク82であるか判別する。処理がベースマ
シンタスク81である場合には、KB12からキーデー
タを取得し、ベースマシンAP10へ受け渡す処理は、
ベースマシンタスク81のままで可能であり、コード変
換等のエミュレーションの必要がない。よって、処理タ
スクを切り替える必要がなく、図3のシステム階層構
造、及び、図6の入力処理でキー入力させる。
【0032】一方、現在の処理がターゲットマシンタス
ク82である場合は、ベースマシン入力ドライバ8を使
用して、KB12からキーデータを取得させるため、処
理タスクを切り替えベースマシンタスク81とする(1
02)。この切り替えは、モニタメイン85の指示によ
りメモリ管理83、タスク管理84によって行なわれ
る。ベースマシンタスク81に切り替え後、起動された
ベースマシン入力ドライバ8によって、ベースマシンキ
ーバッファ20に格納されたキーコードをKBインタフ
ェースエミュレータ25は、ベースマシン入力ファンク
ション処理6の起動により取得する。取得したベースマ
シンのキーコードはターゲットマシン用に変換され、作
業用キーバッファ22に格納される。ここまでの処理
は、ベースマシンタスク81で行ない、次に、メモリ管
理83、タスク管理84によって、ターゲットマシンタ
スク82に切り替え(104)、入力ハード処理のエミ
ュレーションを終了する。この時、メモリ管理83によ
り、作業用キーバッファ22に格納されたキーコードを
ターゲットマシンキーバッファ21に転送(105)さ
れるようにする。これにより、ターゲットマシンタスク
82において、ターゲットマシンAPt5が文字入力要
求を出した場合は、ターゲットマシン入力ファンクショ
ン処理2によって、ターゲットマシンキーバッファ21
のキーコードを取得後、直接、もしくは、ターゲットマ
シンOSt4を介し、ターゲットマシンAPt5に受渡す
ことが可能となる。
【0033】図1、図8の実施例によれば、ベースマシ
ンのキーコード取得はベースマシン入力ファンクション
処理6により行う。一方、ターゲットマシンAPt5の
文字入力要求に対するターゲットマシンのキーコード、
ステータスの受渡し処理は、ターゲットマシン入力ファ
ンクション処理2を用いることでキー入力のエミュレー
ションが実現出来る。このため、入力ハード処理エミュ
レータ1は、ベースマシン入力ファンクション処理6と
ターゲットマシン入力ファンクション処理2の間のデー
タ受渡し処理を行うだけでよく、KBコントローラ11
とのインタフェースに関するソフト(通信ソフト)を開
発する場合と比較し、エミュレーションが容易である。
【0034】ここで、メモリ管理83で行なう処理につ
いて図9を用いて説明する。
【0035】図9で、90は実際に計算機のメモリ上に
配置される物理的なメモリマップ、91はベースマシン
用割込みベクトルテーブル、92はベースマシン用ドラ
イバ作業領域、93はターゲットマシン用割込みベクト
ルテーブル、94はターゲットマシン用ドライバ作業領
域、95はターゲットマシン用ドライバ領域、96はベ
ースマシン用ドライバ領域であり、110は動作してい
るプログラムから見える論理的なメモリマップ、111
は割込みベクトルテーブル、112はドライバ作業領
域、113はドライバ領域である。
【0036】ここで、一般的な入出力を行なうドライバ
の処理について以下に述べる。
【0037】例えば、キーボードのキーを押下すること
で、ハード割込み処理要求が発行されると、まず、割込
みテーブル111参照し、ドライバ領域113に格納さ
れている該要求の処理を行なうプログラムの先頭番地を
取得する。その後、該先頭番地にジャンプし、プログラ
ムに従い、キーデータ等を取得後、ドライバ作業領域1
12にあるキーバッファに格納する。
【0038】メモリ管理83は、物理メモリマップ90
の各領域を論理メモリマップ110上の任意の番地に図
9のようにマッピング可能とするものである。
【0039】この処理により、論理メモリマップ110
の割込みベクトルテーブル111、ドライバ作業領域1
12、ドライバ領域113の領域それぞれに、ベースマ
シン用割込みベクトルテーブル91、ベースマシン用ド
ライバ作業領域92、ベースマシン用ドライバ領域96
がマッピングされることで、ベースマシン用のアプリケ
ーションの実行が可能となる。
【0040】同様に、論理メモリマップ110の割込み
ベクトルテーブル111、ドライバ作業領域112、ド
ライバ領域113の領域それぞれに、ターゲットマシン
用割込みベクトルテーブル91、ターゲットマシン用ド
ライバ作業領域92、ターゲットマシン用ドライバ領域
96がマッピングされることで、ターゲットマシン用の
アプリケーションの実行が可能となる。
【0041】この論理メモリマップをマッピングによっ
て、切り替える処理は、例えば、Intel社の80386CPUの
ページング機構を用いることで実現出来る。
【0042】次に図5により本発明におけるキー入力の
処理概略を説明する。
【0043】KB12のキー押下によりKBコントロー
ラ11の発行するハード割込み処理要求をモニタ起動検
出100は検出し、仮想計算機モニタ80を起動する。
該起動後、モニタメイン85は、処理参照テーブル10
1を参照し、モニタメイン85で処理すべき内容を取得
すると共に、現在の処理がベースマシンタスク81かタ
ーゲットマシンタスク82であるか判別する。
【0044】現在の処理がターゲットマシンタスク82
である場合は、モニタメイン85の指示によりメモリ管
理83、タスク管理84によって、処理タスクをベース
マシンタスク81に切り替える(102)。この時、タ
ーゲットマシンキーバッファ21のデータは作業用キー
バッファ22上にメモリ管理83によって、転送(10
3)される。この処理については、後述する。
【0045】次に、ベースマシン入力ハード処理7によ
り、KB12からキーデータを取得後、入力ハード処理
エミュレータ1を起動させ、以下の処理を行なう。
【0046】ベースマシン入力ファンクション処理6を
用いて、ベースマシンのキーコード、ステータス(シフ
トキー等のキーの押下状態情報のこと)を取得(26)
する。次に、キーコードからキーコード変換テーブルを
参照して、ターゲットマシンのキーコード、ステータス
を発生させる際に、(26)で取得したベースマシンの
ステータスを参考に行う(27)。該ターゲットマシン
のキーコード、ステータスを作業用キーバッファ22に
格納(28)後、ベースマシンのキーバッファで読みださ
れていないデータを消去し、キーバッファーを未格納状
態とする(29)。その後、ターゲットマシンタスク8
2に処理を戻すためにモニタ起動検出100へ復帰の割
込み処理要求を発行する(130)。
【0047】復帰の割込み要求を検出したモニタ起動検
出100は、仮想計算機モニタ80のメモリ管理83、
タスク管理84によって、ターゲットマシンタスク82
に切り替え(104)、入力ハード処理のエミュレーシ
ョンを終了する。この時、メモリ管理83により、作業
用キーバッファ22に格納されたキーコードをターゲッ
トマシンキーバッファ21に転送(105)されるよう
にする。
【0048】ターゲットマシンタスク82において、タ
ーゲットマシンAPt5が、文字入力要求を出した(3
0)場合、上記処理で、ターゲットマシンキーバッファ
21には、ターゲットマシン用のキーコード、ステータ
スが格納されてため、ターゲットマシン入力ファンクシ
ョン処理2によって、取得後、要求元のターゲットマシ
ンAPt5に受渡す(31)ことが可能となる。
【0049】ここで、図14を用いて、上記(29)の
処理を説明する。図14は、図5の入力ハード処理エミ
ュレータルーチン1の処理の流れを示す図である。
【0050】ベースマシン入力ハード処理7の次に入力
ハード処理エミュレータルーチン1が起動され、ベース
マシンのキーバッファにデータが格納されているかチェ
ックする(32)ことで、通常のキー(シフトキーでな
いこと)の押下の判定を行なう(33)。キーバッファ
にデータが格納されていなければ、前記ベースマシン入
力ハード処理7は、通常キーが押下されたものではない
ため、以後のエミュレータ処理は不要であり、ターゲッ
トマシンタスク82に処理を戻すための復帰処理(13
0)にジャンプさせる。
【0051】一方、キーバッファにデータが格納されて
いれば、前記ベースマシン入力ハード処理7は、通常キ
ーが押下されたものであるため、エミュレータ処理が必
要となり、以下の処理を行なう。まず、シフトキーの押
下状態を確認するために、ベースマシンのステータスを
取得し、保存する(34)。次にベースマシンのキーバ
ッファからキーコードを取得(35)し、前記(34)
での取得ステータス参照から変換テーブルを選択(3
6)し、該変換テーブルを参照して、ターゲットマシン
のキーコード、若しくは、ステータスを発生させる(2
7)。さらに該ターゲットマシン用キーコード、ステー
タスを作業用キーバッファ22に格納(28)し、ベー
スマシンキーバッファに格納されており、未だ読みださ
れていないデータを消去し、キーバッファを未格納状態
とする(29)。その後、復帰処理を行ないターゲット
マシンタスク82に処理を戻す。
【0052】上記処理において、計算機のアーキテクチ
ャによっては、ステータスとキーコードが、一緒にキー
バッファに格納されないものがある。そのため、(3
4)で取得したステータスが、(35)で取得したキー
コードのステータスではない場合が生じ、問題となる。
実は、(29)でベースマシンのキーバッファを未格納
状態とするのは、この問題を解決するためのものであ
る。入力ハード処理エミュレータルーチン1の終了時、
常にキーバッファが未格納状態とされることにより、次
に通常キー押下のために、再度、入力ハード処理エミュ
レータルーチン1が起動されたときには、該押下による
キーのキーコードだけがキーバッファには格納されてお
り、取得されたステータスは、必ず、該キーコードのシ
フト情報を提供するものとなる。
【0053】なお、上記におけるベースマシンのキーバ
ッファのデータ格納チェック、ベースマシンのステータ
ス取得、ベースマシンのキーバッファからのキーコード
取得処理は、ベースマシン入力ファンクション処理6に
よって行なわれる。さらに、(29)でのキーバッファ
を未格納状態にする処理は、キーバッファに残っている
キーデータをファンクション処理によって、単純に読み
出し、捨てるだけで実現できる。
【0054】結局、(29)のキーバッファを未格納状
態とする処理を設けることで、押下キーのステータスと
キーコードの取得が、ベースマシン入力ファンクション
処理のみで容易に実現可能となり、入力ハード処理エミ
ュレータルーチンの簡略化が図られることとなった。
【0055】ここで、図5でターゲットマシンタスク8
2とベースマシンタスク81との間で処理タスクを切り
替える場合に、ターゲットマシンキーバッファ21と作
業用キーバッファ22殿間でもデータ転送を行なうこと
について図10、図11、図12、図13を用いて説明
する。
【0056】図10〜13での120はキーバッファ
で、n個分のキー入力を格納出来るものとし、bf0〜
bfnの記号を付け各領域を区別する。
【0057】一般に、キーバッファは先行入力を可能と
するために図10に示すようにリング状に格納され、b
f0から格納を始めて、bfnまで格納すると再びbf0
に格納する構成となっている。図10でSET_DATA_POSは
キー入力の格納位置を示すポインタ、GET_DATA_POSは入
力ファンクション処理等によって、読みだされる位置を
示すポインタである。
【0058】図10は何も格納されていない状態であ
り、SET_DATA_POSとGET_DATA_POSは、おなじbf0を指
しており、領域が未格納であるため、キー入力の格納は
可能であるが、キーの読みだしは出来ない。
【0059】図11は、bf1まで格納された状態を示
し、書き込み位置はbf2であり、読みだし位置はbf0
であるため、書き込み、読みだし共に正常に行なわれ
る。
【0060】図12はキーバッファ全ての領域にキー入
力が格納された状態であり、書き込み位置、読みだし位
置共にbf0を指しており、読みだしは出来るが、書き
込みを行なおうとすると、格納済みの領域に上書きする
こととなるので禁止される。よって、この状態になる
と、SET_DATA_POSの指す領域が入力ファンクション処理
によって読みだされ、図13で示すように未格納となる
まで、書き込み処理を待機させなければならない。
【0061】図5において、ベースマシンタスク81で
作業用キーバッファ22にキー入力を格納して、図12
のように全領域が格納されてしまうと新たなキー入力は
格納不可能となり、待機状態となる。ところが、作業用
キーバッファ22は入力ファンクション処理によって、
読みだされることがないため、一旦、待機状態になると
再度書き込み状態に戻ることが不可能となり、問題であ
る。
【0062】よって、この問題を解決するため、入力フ
ァンクション処理によって、読みだされ、未格納領域の
更新されるターゲットマシンーキーバッファ21のデー
タを103で作業用キーバッファ22に転送する。この
操作により、ターゲットマシンタスク82とベースマシ
ンタスク81の間でのキーバッファ、及び、先行入力機
能のエミュレーションが可能となる。
【0063】
【発明の効果】ベースマシン上で、ターゲットマシンの
アプリケーションを動作可能するために、キー入力のエ
ミュレーションを行う際に、本発明によれば、KBコン
トローラとの通信等のハード部とのインタフェース処理
を新たに作成せず、ベースマシン、及びターゲットマシ
ンの入力ファンクション処理を用いる方式とした。
【0064】上記構成とすることで、エミュレーション
処理部の開発の開発労力の削減が図れると共に、エミュ
レーション処理部はKBコントローラ等のハード仕様が
変更となっても影響を受けないため、汎用性の高いキー
入力エミュレーションが可能となる。
【図面の簡単な説明】
【図1】本発明の実施例を説明する図である。
【図2】従来例を説明する図である。
【図3】ベースマシンの入力処理システム階層構造図で
ある。
【図4】ターゲットマシンの入力処理システム階層構造
図である。
【図5】本発明の処理概要を説明する図である。
【図6】ベースマシンの入力処理に於けるデータの流れ
を説明する図である。
【図7】ターゲットマシンの入力処理に於けるデータの
流れを説明する図である。
【図8】本発明の入力処理に於けるデータの流れを説明
する図である。
【図9】メモリ管理の処理を説明する図である。
【図10】キーバッファエミュレーション時の問題点を
説明する図である。
【図11】同じく問題点を説明する図である。
【図12】同じく問題点を説明する図である。
【図13】同じく問題点を説明する図である。
【図14】入力ハード処理エミュレータルーチンの処理
を説明する図である。
【符号の説明】
1…入力ハード処理エミュレータ、2…ターゲットマシ
ン入力ファンクション処理、3…入力ドライバエミュレ
ータ、4…ターゲットマシンOSt、5…ターゲットマ
シンAPt、6…ベースマシン入力ファンクション処
理、7…ベースマシン入力ハード処理、8…ベースマシ
ン入力ドライバ、9…ベースマシンOS、10…ベース
マシンAP、11…KBコントローラ、12…キーボー
ド、13…移植入力ファンクション処理、14…移植入
力ハード処理、15…移植入力ドライバ、16…ターゲ
ットマシン入力ハード処理、17…ターゲットマシン入
力ドライバ、18…ターゲットマシンKBコントロー
ラ、19…ターゲットマシンKB、20…ベースマシン
キーバッファ、21…ターゲットマシンキーバッファ、
22…作業用キーバッファ、23…ベースマシンKBイ
ンタフェース、24…ターゲットマシンKBインタフェ
ース、25…KBインタフェースエミュレータ、80…
仮想計算機モニタ、81…ベースマシンタスク、82…
ターゲットマシンタスク、83…メモリ管理、84…タ
スク管理、90…物理メモリマップ、91…ベースマシ
ン用割込みベクトルテーブル、92…ベースマシン用ド
ライバ作業領域、93…ターゲットマシン用割込みベク
トルテーブル、94…ターゲットマシン用ドライバ作業
領域、95…ターゲットマシン用ドライバ領域、96…
ベースマシン用ドライバ領域、100…モニタ起動検
出、101…処理参照テーブル、110…論理メモリマ
ップ、111…割込みベクトルテーブル、112…ドラ
イバ作業領域、113…ドライバ領域。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H03M 11/22 (72)発明者 日比 浩一 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マイクロエレクトロニクス 機器開発研究所内 (72)発明者 桑原 禎司 神奈川県横浜市戸塚区吉田町292番地株式 会社日立製作所マイクロエレクトロニクス 機器開発研究所内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】アプリケーションソフトの文字入力要求に
    対し、キーバッファからキーコードを読み取り、要求元
    に返す処理(以下、入力ファンクション処理)と、押さ
    れたキーのコードをキーボードから受取り、キーコード
    として、キーバッファに格納する処理(以下、入力ハー
    ド処理)から成るキー入力処理を管理する入力ドライバ
    を備えた第一のアーキテクチャの機種(以下、ベースマ
    シン)上で、前記ベースマシンと同様の構成ではある
    が、仕様の異なる入力ドライバを備えた第二のアーキテ
    クチャ(以下、ターゲットマシン)上で開発されたアプ
    リケーションソフトを動作可能とするために、仮想計算
    機モニタと仮想計算機モニタを起動する手段と入力ハー
    ド処理エミュレーション手段を設け、該仮想計算機モニ
    タを起動する手段は、キーボードのキーを押すことで仮
    想計算機モニタを起動し、該仮想計算機モニタは、ベー
    スマシンの入力ハード処理を行なった後、該入力ハード
    処理エミュレーション手段を起動し、起動された該入力
    ハード処理エミュレーション手段は、ベースマシンの入
    力ファンクション処理を用いて、ベースマシンのキーバ
    ッファにキーコードが格納されているか調べ、キーコー
    ドが未格納の場合は処理を行なわず、仮想計算機モニタ
    に処理を切り替え、一方、キーコードが格納されている
    場合は、ベースマシンの入力ファンクション処理を用い
    て、ベースマシンのステータス(シフトキー[予め押し
    ておくことで、キーを押した場合に通常とはキーコード
    を変えることの出来るキー]の状態を表示する情報のこ
    と)、及び、キーバッファからキーコードを取得し、該
    ステータスを参照して、該キーコードをターゲットマシ
    ン用のキーコード、または、ステータスに変換後、仮想
    計算機モニタに処理を切り替え、仮想計算機モニタの処
    理によって、ターゲットマシンのキーバッファに格納し
    ておき、ターゲットマシンのアプリケーションソフトが
    文字入力要求を行なった場合は、ターゲットマシンの入
    力ファンクション処理を用いて、ターゲットマシンのキ
    ーバッファに格納されたキーコード、または、ステータ
    スを取得し、文字入力要求元のアプリケーションソフト
    へ受渡すことを特徴とする仮想計算機のキーボード制御
    方式。
  2. 【請求項2】請求項1において、ベースマシンのキーバ
    ッファに格納され、読みだされていないキーコードを入
    力ハード処理エミュレータ手段の終了時に消去し、キー
    バッファを未格納状態とすることを特徴とする仮想計算
    機のキーボード制御方式。
  3. 【請求項3】請求項1において、入力ハード処理エミュ
    レータ手段でベースマシンのステータス取得を行なった
    後、ベースマシンのキーバッファからキーコードを取得
    することを特徴とする仮想計算機のキーボード制御方
    式。
JP5143247A 1993-06-15 1993-06-15 仮想計算機のキーボード制御方式 Pending JPH0713672A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5143247A JPH0713672A (ja) 1993-06-15 1993-06-15 仮想計算機のキーボード制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5143247A JPH0713672A (ja) 1993-06-15 1993-06-15 仮想計算機のキーボード制御方式

Publications (1)

Publication Number Publication Date
JPH0713672A true JPH0713672A (ja) 1995-01-17

Family

ID=15334314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5143247A Pending JPH0713672A (ja) 1993-06-15 1993-06-15 仮想計算機のキーボード制御方式

Country Status (1)

Country Link
JP (1) JPH0713672A (ja)

Similar Documents

Publication Publication Date Title
JP2590267B2 (ja) 仮想計算機における表示制御方式
US5812864A (en) Personal computer/host emulation system for handling host data with personal computer application programs at personal computers
US5036484A (en) Personal computer/host emulation system for handling host data with personal computer application programs at personal computers
JP3659062B2 (ja) 計算機システム
US6327653B1 (en) Technique for easily changing operating systems of a digital computer system using at least two pushbuttons
US4859995A (en) Mouse pointer with switchable emulation mode
US5432935A (en) Emulation for executing a second language application program on a computer having a first language operating system
EP0697663A2 (en) Apparatus and method for computerprocessing using an enhanced harvard architecture
JP2974577B2 (ja) コンピュータシステム
EP0543610A2 (en) Data processing system
JP2000066649A (ja) 携帯情報処理装置、及び外部表示出力の制御方法
JPH0713672A (ja) 仮想計算機のキーボード制御方式
JPH06295217A (ja) 仮想計算機のキーボード制御方式
JPH075969A (ja) 入力装置及びこれを用いたデータ処理システム
WO1996031819A2 (en) Data processing device and scrolling method
JPH04213119A (ja) コンピュータシステム
JPH04227547A (ja) 情報処理装置
JPH1069393A (ja) 仮想計算機エミュレータ、仮想計算機エミュレート方法 および仮想計算機エミュレートプログラムを記録した記録 媒体
JPH07109589B2 (ja) 命令処理方式
JPH113236A (ja) 仮想計算機エミュレート装置
JP2751088B2 (ja) 印字装置
JPH06236286A (ja) 情報処理装置
JP2664168B2 (ja) 情報処理装置の起動方法
JP3467167B2 (ja) プログラミング言語処理系における割込処理方法、装置およびその記録媒体
JPH06309079A (ja) 仮想計算機におけるキーボード制御方式