JPH04227547A - 情報処理装置 - Google Patents

情報処理装置

Info

Publication number
JPH04227547A
JPH04227547A JP3103213A JP10321391A JPH04227547A JP H04227547 A JPH04227547 A JP H04227547A JP 3103213 A JP3103213 A JP 3103213A JP 10321391 A JP10321391 A JP 10321391A JP H04227547 A JPH04227547 A JP H04227547A
Authority
JP
Japan
Prior art keywords
data
input
mouse
device driver
operating system
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
JP3103213A
Other languages
English (en)
Inventor
Toshiyasu Fujimori
藤森 利泰
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP3103213A priority Critical patent/JPH04227547A/ja
Publication of JPH04227547A publication Critical patent/JPH04227547A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Input From Keyboards Or The Like (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、情報処理装置に関し、
詳しくは第1のオペレーティングシステムが第2のオペ
レーティングシステム内の子プロセスとして動作する情
報処理装置に関する。
【0002】
【従来の技術】近年、あるオペレーティングシステム(
以下、第2のOSまたは主OSと呼ぶ)上で、他のオペ
レーティングシステム(以下、第1のOSまたは従OS
と呼ぶ)を動作させ得る情報処理装置の要請が高まって
いる。これは、より高度化した情報処理装置において、
旧来の従OS用に開発されたアプリケーションプログラ
ムをそのまま動作させる環境を実現することで、ソフト
ウェア資産の効率的運用や複数の処理間のデータの共有
化を図ることを目的としている。
【0003】主OSの子プロセスとして従OSを動作さ
せる場合、情報処理装置に接続されたマウスやキーボー
ド等の周辺機器の取扱いに工夫を要する。これは、周辺
機器は通常主OSの制御下にあり、そのままでは、従O
S上で動作するアプリケーションプログラムが、周辺機
器との間でデータのやり取りを行なうことができないか
らである。
【0004】そこで、従来は従OSの周辺機器制御部分
(以下、デバイスドライバと呼ぶ)の機能を主OSの中
に取り込み、主OSそのものに従OSと同等の機能を持
たせ、従OSのデバイスドライバに代えて、主OSのデ
バイスドライバを用いる構成がとられていた。この場合
には、従OSのデバイスドライバの機能を主OSで肩代
わりすることになり、従OS上のアプリケーションプロ
グラムが発行するデバイスドライバへの割込命令などを
受けて従OSの機能をエミュレートし、周辺機器との間
のデータのやり取りを実現している。
【0005】
【発明が解決しようとする課題】しかしながら、こうし
た構成では、複数の従OSを主OS上で動作させようと
すると、主OSに総ての従OSのデバイスドライバに対
応するエミュレータを用意しておかねばならず、主OS
の大規模化による記憶装置の容量の増大、主OSの複雑
化による主OS開発に要する労力・コストの増大という
問題を避けることができない。また、アプリケーション
プログラムが従OSのデバイスドライバにアクセスする
ための割込命令を受けてエミュレートを行なっているの
で、同じ周辺機器であっても、アプリケーションプログ
ラムが使用する従OS用のデバイスドライバが異なれば
、異なったエミュレータが必要となり、総てのデバイス
ドライバに対応することは極めて困難であった。
【0006】本発明の情報処理装置はこうした問題を解
決し、主OSの規模の拡大等を招くことなく、従OS上
の処理から主OSの管理下にある周辺機器を好適に利用
することを目的としてなされ、次の構成を採った。
【0007】
【課題を解決するための手段】本発明の情報処理装置は
、図1に例示するように、第1のオペレーティングシス
テムOS1が、第2のオペレーティングシステムOS2
内の子プロセスとして動作し、該第1のオペレーティン
グシステムOS1の環境下で実行される処理APが、前
記第2のオペレーティングシステムOS2が管理する周
辺機器PEとデータのやり取りを行なう情報処理装置で
あって、前記第1のオペレーティングシステムOS1内
に、前記周辺機器PEに対する入力命令および/または
出力命令を発行し、前記処理APに対して該周辺機器P
Eとのデータのやり取りを仲介する第1のデバイスドラ
イバDD1を備え、前記第2のオペレーティングシステ
ムOS2内に、前記周辺機器PEからのデータを保存し
および/または前記周辺機器PEへのデータを出力する
第2のデバイスドライバDD2と、前記第1のデバイス
ドライバDD1が発行する入力命令または出力命令を検
出する入出力命令検出手段IODと、検出された入力命
令および/または出力命令を解釈して、前記第1のデバ
イスドライバDD1が入力するデータを前記第1のデバ
イスドライバ用の形式に変換し、および/または該第1
のデバイスドライバDD1が出力するデータを前記第2
のデバイスドライバ用の形式に変換するデータ形式変換
手段EMとを備えたことを要旨とする。
【0008】
【作用】以上のように構成された本発明の情報処理装置
では、第1のオペレーティングシステムOS1は、第2
のオペレーティングシステムOS2の子プロセスとして
動作しており、この第1のオペレーティングシステムO
S1上で動作する処理APに対する周辺機器PEからの
データの入力および/または周辺機器PEへの出力は、
次のように行なわれる。
【0009】まず、データの入力について説明すると、
周辺機器PEからのデータは、第2のオペレーティング
システムOS2内に設けられた第2のデバイスドライバ
DD2により保存され、入出力命令検出手段IODによ
り、第1のデバイスドライバDD1が発行する入力命令
が検出されたとき、データ形式変換手段EMは、この入
力命令を解釈して、データを第1のデバイスドライバ用
の形式に変換する。このようにして用意されたデータを
、第1のデバイスドライバDD1は、先に発行した入力
命令に応じて入力する。
【0010】一方、周辺機器PEにデータを出力する場
合には、第1のデバイスドライバDD1は、処理APか
らのデータの出力を仲介するため出力命令を発行する。 この出力命令を入出力命令検出手段IODが検出すると
、データ形式変換手段EMは、この出力命令を解釈して
、第1のデバイスドライバDD1が出力するデータを第
2のデバイスドライバ用の形式に変換する。変換された
データを用いて、第2のデバイスドライバDD2は周辺
機器PEへのデータを出力する。
【0011】即ち、本発明の情報処理装置では、第1の
オペレーティングシステムOS1に備えられた第1のデ
バイスドライバDD1が発行する入出力命令を検出して
、第2のオペレーティングシステムOS2に備えられた
データ形式変換手段EMがデータの形式を変換すること
により、処理APは、第1のデバイスドライバDD1の
仲介を受けて、周辺機器PEからデータを入力しおよび
/または周辺機器PEにデータを出力するのである。
【0012】第1のデバイスドライバDD1が入力命令
を発行してデータを入力するタイミングは、処理APか
らの要求が生じた時としても良いが、処理APの要求と
は独自に定めることも何等差し支えない。また、周辺機
器PEからデータ変更の要求が生じた時としても良いし
、これと独立に定めることも差し支えない。例えば、所
定のインターバルで生じる割込命令により第1のデバイ
スドライバDD1の入力動作を起動してもよい。この場
合、割込によるデータ入力のタイミングは、第2のオペ
レーティングシステムOS2に対する負荷を考慮して定
められたタイミングとすることが、機器全体のオーバー
ヘッドを小さくする上で好適である。
【0013】なお、周辺機器PEからのデータ変更のタ
イミングより長いインターバルでデータを入力する場合
には、第1のデバイスドライバDD1に対する割込命令
のインターバルの間の周辺機器PEからの入力データの
来歴を保存し、この来歴に基づいて第1のデバイスドラ
イバDD1への入力データを合成する構成とすることも
望ましい。
【0014】
【実施例】以上説明した本発明の構成・作用を一層明ら
かにするために、以下本発明のいくつかの実施例につい
て説明する。図2は、本発明の第1実施例としての情報
処理装置の構成を示すブロック図である。この情報処理
装置は、周辺機器の一つとしてマウスを備えている。
【0015】図2に示すように、情報処理装置は、入出
力エミュレータ1、全体の制御を司る中央処理装置6、
プログラムをロードしあるいはデータ等を記憶する主記
憶装置7、アドレスやデータをやり取りするアドレス・
データバス8、マウス10の制御を直接司るマウス制御
装置9等を備え、主OS,従OSおよび必要なアプリケ
ーションの各プログラムを主記憶装置7に読み込み、中
央処理装置6により、各プログラムを処理・実行する。
【0016】マウス制御装置9は、マウス10からの割
込要求を、割込信号線11を通じて受け取ると、マウス
10の移動量やボタンの押下状態をデータ線12を通じ
て読み取り、データバッファ2へ格納する機能を有する
。
【0017】入出力エミュレータ1は、従OSの周辺機
器制御部分が発行した入出力命令を検出する入出力命令
検出装置4と、マウス10の移動量やボタンの押下状態
のデータを格納記憶するデータバッファ2と、データバ
ッファ2のデータに基づいて従OSへ渡すデータを合成
するデータ合成装置3と、従OSの周辺機器制御部分が
発行した出力命令に基づいてマウス10の制御信号を合
成する制御信号合成装置5とから構成されている。
【0018】次に、以上の構成を有する情報処理装置の
動作を図3のフローチャートに従って説明する。入出力
命令検出装置4が従OSが発行する入力命令を検出する
と(ステップ20)、データ合成装置3は入力命令のオ
ペランドを解析して従OSが必要としているデータの種
類を判定し(ステップ30)、データバッファ2より必
要なデータ、即ちマウス10の移動量またはボタンの押
下状態のデータを取り出す(ステップ40)。その後、
このデータを入力命令のオペランドのフォーマットに合
わせて変換し(ステップ50)、従OSへ渡す(ステッ
プ60)。これにより、従OSは、入力命令を中央処理
装置6が実行したときと同等の結果を得ることができる
。
【0019】一方、入出力命令検出装置4が出力命令を
検出すると(ステップ20)、制御信号合成装置5は、
出力命令のオペランドを解析して従OSが発行したマウ
スの制御信号を取り出し(ステップ70)、マウス制御
装置9に合わせて変換し(ステップ80)、その後、マ
ウス制御装置9へ渡す(ステップ90)。これにより、
従OSが発行した出力命令により、マウス制御装置9が
制御される。
【0020】以上説明した本実施例の情報処理装置によ
れば、従OSから入力命令が出されたとき、入出力命令
検出装置4によりこれを検出して、入出力エミュレータ
1が従OSが必要としているデータを入力命令のオペラ
ンドのフォーマットに合わせて従OSに渡し、一方、従
OSからの出力命令が検出されたときには、入出力エミ
ュレータ1が出力命令のオペランドを解析しマウス制御
装置9に合わせて変換して従OSに渡す。即ち、従OS
の周辺機器制御部分が発行する入出力命令をエミュレー
トする構成としているので、従OSの周辺機器制御部分
を主OSの中に持たせる必要がないという利点がある。 どのOSでも同一の周辺機器の制御に関しては同一の入
出力命令を発行するので、複数の従OSを主OS上で動
作される場合でも、一つの入出力命令エミュレータで済
ませることができ、主記憶の容量の拡大を招くことがな
い。また、OS開発の手間を低減でき、開発コストの低
減を図ることができる。
【0021】次に、本発明の第2の実施例について説明
する。図4は、第2実施例としての情報処理装置のハー
ドウェア構成を示すブロック図である。この情報処理装
置は、エンジニアリングワークステーションとして構成
されたもので、図示するように、CPU101を中心に
バスにより相互に接続された次の各部を備える。なお、
本実施例では、CPU101として、32ビットのプロ
セッサ(インテル社製80386)を用いた。
【0022】FPU102:CPU101のコプロセッ
サとして動作する数値演算プロセッサ ROM104:モニタプログラム等を記憶するマスクメ
モリ RAM105:主記憶を構成する読み出し・書き込み可
能なメモリ PIT106:タイマ割込を発生するインターバルタイ
マ RTC108:電源バックアップを受けて時間を計時す
るリアルタイムクロック DMAC110:バスを介したダイレクトメモリ転送を
制御するコントローラ SIO111:RS−232Cの通信を制御するシリア
ルインタフェース
【0023】PIC112:各種の割込に優先順位を付
けて制御する割込コントローラ マウスインタフェース115:2ボタンマウス114と
のデータ等のやり取りを司るインタフェースキーボード
インタフェース118:キーボード117からのキー入
力を司るインタフェース FDC121:フレキシブルディスクドライブ(FDD
)120を制御するフレキシブルディスクコントローラ HDC125:ハードディスクドライブ(HDD)12
4を制御するハードディスクコントローラCRTC12
9:必要なデータ等を表示するCRT128への信号出
力を制御するCRTコントローラプリンタインタフェー
ス131:プリンタ130へのデータの出力を制御する
インタフェース また、これらの各部の他、バスには、将来の拡張に備え
て、拡張用スロット140が接続されている。
【0024】上記構成の情報処理装置には、主OSとし
てマルチタスク可能な時分割処理系のOSが採用されて
おり、その子プロセスとしてシングルタスクのディスク
オペレーティングシステムである従OSが動作する構成
となっている。各種のアプリケーションプログラムは、
主OSの管理下でも実行されるが、従OS用に開発され
たものは、従OSの管理下で実行される。この情報処理
装置では、マウス114を初め、キーボード117,フ
レキシブルディスクドライブ120等の周辺機器は、総
て主OSの管理下にあり、主OS上で動作する処理との
間では、主OSに組み込まれたいわゆるデバイスドライ
バを介してデータの受け渡しが行なわれている。主OS
上で動作する従OSからは、周辺機器に対して直接デー
タのやり取りを行なうことはできない。
【0025】従OSは、従OS用の従来のデバイスドラ
イバを備えており、従OS上のアプリケーションプログ
ラムは、従OSが単独で用いられている場合と同様に、
従OSの各種デバイスドライバを介してデータの入力ま
たは出力を行なおうとする。アプリケーションプログラ
ムは、通常、従OSがデバイスドライバ用に定義してい
る割込命令(システムコール)を利用して従OS上のデ
バイスドライバに対して割込要求を出し、デバイスドラ
イバの対アプリケーションインタフェースを介してデー
タの受け渡しを行なう。従OS上のデバイスドライバは
、IOアドレスに割り付けられたハードウェアに対して
の入力命令(IN)および出力命令(OUT)を発行す
るが、これらの入出力命令は総て特権命令なので、入出
力命令が発行されると処理は直ちに主OSに移行し、主
OSの処理により周辺機器との間で必要なデータの入出
力を行なっている。
【0026】この点をマウスドライバを例にとって詳細
に説明する。図5は、ハードウェアとして設けられたマ
ウス114およびマウスインタフェース115から、従
OS上で動作するアプリケーションプログラムがデータ
を入力する場合の本実施例における処理の流れを説明す
る概念図である。図示するように、従OSには、第1の
マウスドライバが組み込まれ、主OSには、第2のマウ
スドライバが組み込まれている。
【0027】第1のマウスドライバは、従OSが単独で
用いられている場合のものと同一のものであり、本来マ
ウスインタフェース115からの割込要求を受けて入出
力命令(e,h)を発行しマウス114の移動量などの
データを読み込むといった処理を行なう割込ルーチンと
、アプリケーションプログラムからの要求(A)に答え
て必要なマウスデータを返す(B)対アプリケーション
インタフェースとからなる。アプリケーションプログラ
ムからの要求(A)は、例えば所定のレジスタに所定の
機能コードを設定してなされるシステムコール(割込命
令)の実行(INT××等)により行なわれる。
【0028】一方、主OSに組み込まれた第2のマウス
ドライバは、割込ルーチンと対OSインタフェースとか
ら構成されている。この割込ルーチンは、マウスインタ
フェース115からの割込要求(a)を受けてマウスイ
ンタフェース115からデータの取り込み(b)とこの
データの処理(c)とを行なう。なお、本実施例では、
上述した第1のマウスドライバへの割込は、タイマ割込
により行なうものとしたが、第2のマウスドライバから
の仮想割込(d)により行なうものとしてもよい。この
場合、仮想割込(d)は、後述するタイマ割込と同様、
マウスインタフェース115からの割込要求より長いイ
ンタバルとなるよう定められている。
【0029】主OSには、この第2のマウスドライバと
共に、エミュレータが組み込まれており、従OSの第1
のマウスドライバがそれ自身の機能に従ってマウスイン
タフェースへの入出力命令(e)を発行したとき、これ
を検出して第2のマウスドライバにマウスデータをホー
ルドさせ(f)、第2のマウスドライバが保存している
マウスデータを読み出して(g)、第1のマウスドライ
バが処理可能な形式に変換して出力する(h)。
【0030】これらの処理は総てソフトウェアにより実
現されている。図6は、マウスインタフェース115か
らのマウス割込が入力された場合に実行される割込処理
ルーチンの概要を示すフローチャートである。この処理
は、主OSの第2のマウスドライバの処理として行なわ
れる。また、図7は、第1のマウスドライバが入出力命
令を発行した場合に実行される処理ルーチンの概要を示
すフローチャートである。この処理は、主OSのエミュ
レータの処理として実行される。以下、フローチャート
に従って、各処理の内容を説明する。
【0031】マウスインタフェース115は、常時マウ
ス114の移動やマウスボタンの状態を監視しており、
マウス114の移動量やマウスボタンの押下状態を読み
取っている。マウスインタフェース115は、所定時間
(本実施例では16[msec])毎に割込要求を出力
する。この割込要求は、図4に示したように、各種の割
込要求を処理するPIC112に取り込まれ、PIC1
12は、マウスからの割込が許可された状態であると判
断すれば、CPU101に対して割込をかける。この割
込を、図5に割込aとして示した。
【0032】この割込aに対して、図6に示した割込処
理ルーチンが起動され、まずマウスインタフェース11
5からマウスのX軸方向移動量△xとY軸方向移動量△
yとを読み込む処理が行なわれる(ステップ200)。 X軸,Y軸方向移動量△x,△yは、割込周期の間のマ
ウス114の移動量である。この処理は、図5における
データの取り込みbに相当する。
【0033】次に、マウス114の各軸の移動量△x,
△yに基づいて累積移動量Xs,Ysを演算し、RAM
105の所定の領域に保存する処理を行なう(ステップ
210)。この処理は、図5に示すデータの保存処理c
に相当する。ここで、累積移動量Xs,Ysを求めるの
は、マウスインタフェース115からのマウス114の
移動量△x,△yの読み取りの間隔と較べて、保存され
たデータ(以下マウスデータと呼ぶ)を読み出す間隔が
、システム全体のオーバーヘッドを考慮して、数倍長く
設定されているからである。即ち、累積移動量Xs,Y
sは、マウスデータが読み出されるまでのマウス移動量
△x,△yの移動量の符号を考慮した総和となる。
【0034】次に、マウスボタンの状態Smbを読み込
み(ステップ220)、状態Smbが値1、即ち左右の
マウスボタンが押し下げられている場合には(ステップ
230)、フラグFmbに値1をセットする(ステップ
240)。一方、マウスボタンが押し下げられていなけ
れば、そのまま「RTN」に抜けて、本割込ルーチンを
終了する。なお、ここではマウスボタンの押下状態に対
応するフラグを、単にFmbとして扱ったが、マウス1
14に存在する左右のマウスボタンの状態は区別されて
おり、以下必要に応じて、フラグFmL,FmRとして
表わすものとする。
【0035】以上の処理により、マウスインタフェース
115から所定の間隔で割込処理要求が発生しこれが受
け付けられる度に、マウス114のX軸方向の累積移動
量Xs,Y軸方向の移動量Yxが演算され、マウスボタ
ンが一度でも押し下げられればフラグFmbがセットさ
れ、これらの情報が主OSの第2のマウスドライバが管
理するRAM105の所定の領域に記憶・保存されるこ
とになる。
【0036】次に、従OS上の第1のマウスドライバが
入出力命令を発行した場合の処理について説明する。第
1のマウスドライバは、所定インターバル(本実施例で
は67[msec])で発生するタイマ割込により起動
され、第1のマウスドライバが直接マウスインタフェー
スとデータ等をやり取りするのと同じ入出力命令を発行
する。即ち、所定のIOアドレスに割り付けられたステ
ータスレジスタに対して所定のデータを書き込むための
出力命令を発行し(図5処理e)、所定のIOアドレス
に割り付けられたデータレジスタに用意されるマウスデ
ータを読み取るための入力命令を発行する(図5処理h
)。なお、データレジスタは本実施例では一つだけ用意
されており、ここに、ステータスレジスタに書き込まれ
たデータに応じた種類のデータが用意される。
【0037】従OS上の第1のマウスドライバの処理に
よりこうしたステータスレジスタやデータレジスタに対
する入出力命令が発行されると、この入出力命令を、主
OSが監視して、図7に示す処理ルーチンを起動する。 本実施例で用いたCPU101では、入出力命令は特権
命令なので、入出力命令が発行されると、処理は主OS
側に移行する。主OSでは、特権命令の内容を解析して
、マウスドライバへの入出力命令であると判断すると、
この処理ルーチンを起動するのである。
【0038】図7に示した処理が起動されると、まず入
出力命令を解析し(ステップ300)、入出力命令がス
テータスレジスタに対するリード命令であると判断され
る場合には、ステータスレジスタの内容を単に返す処理
を行なって(ステップ310)、「RTN」に抜けて本
ルーチンを終了する。
【0039】一方、入出力命令がステータスレジスタに
データをセットする命令であると判断された場合には(
ステップ300)、出力命令のオペランドの記述に従っ
てステータスレジスタにデータを書き込む処理を行なう
(ステップ320)。ステータスレジスタの構成例を、
図8に示す。この例では、D0ないしD7の8ビットの
レジスタのうち、MSB(D7)がクリアカウンタHC
として、D6とD5がデータレジスタの内容を指定する
フラグSXY,SHLとして、D4がマウスのタイマ割
込のマスクビットとして、各々定義されている。図8に
示すように、フラグSXY,SHLは、両者の組み合わ
せにより、データレジスタの下位4ビットMD0ないし
MD3を、マウス114のX軸,Y軸方向移動量の下位
4ビット,上位4ビットとして指定する。
【0040】ステータスレジスタに書き込んだ後、クリ
アカウンタHCが値0から値1に変化した直後であるか
否かの判断を行ない(ステップ330)、変化した直後
であれば、RAM105の所定のエリアに保存されてい
るマウスデータ、即ちX軸,Y軸累積移動量Xs,Ys
と、マウスボタンの押下状態を示すフラグFmbとをデ
ータレジスタ用のバッファに保存すると共に、マウスデ
ータを総てクリアする処理を行なう(ステップ340)
。この処理が、図5におけるデータのホールドfに相当
する。なお、クリアカウンタHCが値0から1に変化し
た直後でなければ、単にフラグSXY等をセットしただ
けでなので、そのまま「RTN」に抜けて本処理ルーチ
ンを一旦終了する。
【0041】入出力命令がデータレジスタのリード命令
であると解析された場合には、直前にセットされたステ
ータスレジスタのフラグSXY,SHLに従って、デー
タレジスタにマウスの各軸累積移動量Xs,Ysなどの
データ(図5マウスデータg)を用意し、これを入力命
令を発行した第1のマウスドライバに返す処理を行ない
(ステップ350)、その後、「RTN」に抜けて本処
理ルーチンを終了する。この処理が、図5における処理
hに相当する。ステップ350の処理により第1のマウ
スドライバに返されるデータレジスタの内容を図8下段
に例示する。図示するように、マウスボタンの押下状態
は、左右のマウスボタンの判別がなされてフラグFmL
,FmRとして、一方、下位4ビットはX軸,Y軸累積
移動量Xs,Ysの上位もしくは下位ビットとして、デ
ータレジスタに用意される。
【0042】以上の処理は、従OS上の第1のマウスド
ライバが特権命令である入力命令(IN)もしくは出力
命令(OUT)を発行すると実行され、入出力命令を解
析して必要なデータを第1のマウスドライバに受け渡す
。この結果、アプリケーションプログラムが、アプリケ
ーションプログラムにとっての動作環境である従OSの
第1のマウスドライバに対してシステムコールによりデ
ータを要求すれば、いつでもマウスデータを受け取るこ
とができる。
【0043】本実施例の情報処理装置では、従OS上の
マウスドライバは、従OSが単独で使用される場合の構
成と何等変更を必要としない。また、アプリケーション
プログラム毎に異なるマウスドライバを使用したとして
も、主OS側のエミュレータおよび第2のマウスドライ
バを同一の構成とすることができる。
【0044】更に、本実施例では、マウスインタフェー
ス115から第2のマウスドライバに対する割込要求の
間隔より、第1のマウスドライバに対する割込要求の間
隔の方が長いので、システム全体のオーバーヘッドを小
さく押さえることができる。しかも、本実施例では、マ
ウスインタフェース115からの割込要求が生じる度に
、マウスデータを更新しているので、マウス移動量のデ
ータやマウスボタンの操作を取りこぼすことがない。
【0045】以上本発明のいくつかの実施例について説
明したが、本発明はこれらの実施例に何等制限されるも
のではなく、例えば情報処理装置に接続された他の周辺
機器(キーボードやディジタイザ,ライトペン,シリア
ル通信ポート,プリンタ,外部記憶装置等)とのデータ
のやり取りに適用した構成、主OS上で動作する従OS
が複数存在する構成、入出力命令の検出をハードウェア
により行なう構成、あるいは入力命令のみもしくは出力
命令のみに対して動作するデバイスドライバを用いた構
成など、本発明の要旨を逸脱しない範囲内で種々なる態
様で実施できることは勿論である。
【0046】
【発明の効果】以上実施例を挙げて詳しく説明したよう
に、本発明の情報処理装置では、第1のオペレーティン
グシステムに備えられた第1のデバイスドライバが発行
する入出力命令を検出して、第2のオペレーティングシ
ステムに備えられたデータ形式変換手段がデータの形式
を変換することにより、第1のオペレーティングシステ
ム上で動作する処理は、第1のデバイスドライバの仲介
を受けて、周辺機器からデータを入力しおよび/または
周辺機器にデータを出力する。従って、本発明の情報処
理装置では、第1のデバイスドライバは、第1のオペレ
ーティングシステムが単独で使用される場合の構成と何
等変更を必要しないという優れた効果を奏する。
【0047】また、第1のオペレーティングシステム上
の処理毎に異なるデバイスドライバを使用したとしても
、第2のオペレーティングシステム側のデータ形式変換
手段および第2のデバイスドライバを同一の構成とする
ことができるという利点も得られる。更に、周辺機器か
ら第2のデバイスドライバに対する処理の要求の間隔と
、第1のデバイスドライバに対する処理の要求の間隔と
を異なられることができるので、情報処理装置全体とし
てのオーバーヘッドを小さくすることができる。
【図面の簡単な説明】
【図1】本発明の基本的構成を例示するブロック図であ
る。
【図2】本発明の第1実施例である情報処理装置の概略
構成を示すブロック図である。
【図3】同じく第1実施例における処理の概要を示すフ
ローチャートである。
【図4】本発明の第2実施例である情報処理装置の概略
構成を示すブロック図である。
【図5】第2実施例におけるハードウェア,主OS,従
OSおよびアプリケーションプログラム間の処理概要を
示す説明である。
【図6】第2のマウスドライバにおける割込処理ルーチ
ンの概要を示すフローチャートである。
【図7】同じく第1のマウスドライバが発行する入出力
命令に対して主OSが実行する処理の概要を示すフロー
チャートである。
【図8】マウスデータをやり取りするためのステータス
レジスタおよびデータレジスタの内容を例示する説明図
である。
【符号の説明】
1  入出力エミュレータ 2  データバッファ 3  データ合成装置 4  入出力命令検出装置 5  制御信号合成装置 6  中央処理装置 7  主記憶装置 9  マウス制御装置 10  マウス 101  CPU 105  RAM 112  PIC 114  2ボタンマウス 115  マウスインタフェース AP  処理 DD1  第1のデバイスドライバ DD2  第2のデバイスドライバ EM  データ形式変換手段 IOD  入出力命令検出手段 OS1  第1のオペレーティングシステムOS2  
第2のオペレーティングシステムPE  周辺機器

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】  第1のオペレーティングシステムが、
    第2のオペレーティングシステム内の子プロセスとして
    動作し、該第1のオペレーティングシステムの環境下で
    実行される処理が、前記第2のオペレーティングシステ
    ムが管理する周辺機器とデータのやり取りを行なう情報
    処理装置であって、前記第1のオペレーティングシステ
    ム内に、前記周辺機器に対する入力命令および/または
    出力命令を発行し、前記処理に対して該周辺機器とのデ
    ータのやり取りを仲介する第1のデバイスドライバを備
    え、前記第2のオペレーティングシステム内に、前記周
    辺機器からのデータを保存しおよび/または前記周辺機
    器へのデータを出力する第2のデバイスドライバと、前
    記第1のデバイスドライバが発行する入力命令または出
    力命令を検出する入出力命令検出手段と、検出された入
    力命令および/または出力命令を解釈して、前記第1の
    デバイスドライバが入力するデータを前記第1のデバイ
    スドライバ用の形式に変換し、および/または該第1の
    デバイスドライバが出力するデータを前記第2のデバイ
    スドライバ用の形式に変換するデータ形式変換手段とを
    備えた情報処理装置。
  2. 【請求項2】  請求項1記載の情報処理装置であって
    、前記第1のデバイスドライバがデータを入力する処理
    についての起動命令を、前記第2のオペレーティングシ
    ステムに対する負荷を考慮して定められたタイミングで
    起動される割込命令として与える割込手段を備えた情報
    処理装置。
  3. 【請求項3】  請求項2記載の情報処理装置であって
    、前記第1のデバイスドライバに対する割込命令のイン
    ターバルの間の前記周辺機器からの入力データの来歴を
    保存する来歴保存手段を設け、前記第1のデバイスドラ
    イバからの入力命令に応じ、前記入力データの来歴に基
    づいて該第1のデバイスドライバへの入力データを合成
    する来歴データ合成手段を、前記第2のデバイスドライ
    バ内に設けた情報処理装置。
JP3103213A 1990-05-11 1991-04-08 情報処理装置 Pending JPH04227547A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3103213A JPH04227547A (ja) 1990-05-11 1991-04-08 情報処理装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2-122605 1990-05-11
JP12260590 1990-05-11
JP3103213A JPH04227547A (ja) 1990-05-11 1991-04-08 情報処理装置

Publications (1)

Publication Number Publication Date
JPH04227547A true JPH04227547A (ja) 1992-08-17

Family

ID=26443867

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3103213A Pending JPH04227547A (ja) 1990-05-11 1991-04-08 情報処理装置

Country Status (1)

Country Link
JP (1) JPH04227547A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324912A (ja) * 1993-05-14 1994-11-25 Nec Corp 組み込みソフトウェアデバッグ支援装置
JPH07129419A (ja) * 1993-11-08 1995-05-19 Nec Corp 仮想計算機システム
JP2007102378A (ja) * 2005-09-30 2007-04-19 Seiko Epson Corp ドライバプログラム
JP2008225620A (ja) * 2007-03-09 2008-09-25 Nec Corp メモリ共有システム、方法、及び、プログラム
US8964213B2 (en) 2009-07-17 2015-02-24 Seiko Epson Corporation Communication control method and control program

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06324912A (ja) * 1993-05-14 1994-11-25 Nec Corp 組み込みソフトウェアデバッグ支援装置
JPH07129419A (ja) * 1993-11-08 1995-05-19 Nec Corp 仮想計算機システム
JP2007102378A (ja) * 2005-09-30 2007-04-19 Seiko Epson Corp ドライバプログラム
JP2008225620A (ja) * 2007-03-09 2008-09-25 Nec Corp メモリ共有システム、方法、及び、プログラム
US8275948B2 (en) 2007-03-09 2012-09-25 Nec Corporation Memory sharing system
US8964213B2 (en) 2009-07-17 2015-02-24 Seiko Epson Corporation Communication control method and control program

Similar Documents

Publication Publication Date Title
JP2610812B2 (ja) データ処理システムのエミユレーシヨン
JP2590267B2 (ja) 仮想計算機における表示制御方式
US6513057B1 (en) Heterogeneous symmetric multi-processing system
US5218712A (en) Providing a data processor with a user-mode accessible mode of operations in which the processor performs processing operations without interruption
US6272618B1 (en) System and method for handling interrupts in a multi-processor computer
US8416253B2 (en) Apparatus, method, and recording medium for detecting update of image information
JPH0430053B2 (ja)
JPH06100956B2 (ja) ポインタ制御を行うための装置
JPH02171934A (ja) 仮想計算機システム
EP0157075A1 (en) Modular data processing system
JPH0326414B2 (ja)
US4621319A (en) Personal development system
US5301277A (en) Method and apparatus for communicating peripheral data to/from minor operating systems running as subprocesses on a main operating system
US4701847A (en) Adaptive instruction sequence synthesizer and process
US6263421B1 (en) Virtual memory system that is portable between different CPU types
EP0301707B1 (en) Apparatus and method for providing an extended processing environment on nonmicrocoded data processing system
JPH0836485A (ja) 情報処理装置及び情報処理装置の制御方法
EP0442297A2 (en) Processor with an overwriteable microcode memory
JPH0564375B2 (ja)
JP3074770B2 (ja) 情報処理装置
JP3861304B2 (ja) エミュレーション装置およびその方法
JPH1069393A (ja) 仮想計算機エミュレータ、仮想計算機エミュレート方法 および仮想計算機エミュレートプログラムを記録した記録 媒体
JPS6225334A (ja) 命令処理方式
JP3861925B2 (ja) エミュレーション装置およびその方法
JPS62120542A (ja) 情報処理装置