JPH04227548A - 情報処理装置 - Google Patents
情報処理装置Info
- Publication number
- JPH04227548A JPH04227548A JP3106761A JP10676191A JPH04227548A JP H04227548 A JPH04227548 A JP H04227548A JP 3106761 A JP3106761 A JP 3106761A JP 10676191 A JP10676191 A JP 10676191A JP H04227548 A JPH04227548 A JP H04227548A
- Authority
- JP
- Japan
- Prior art keywords
- operating system
- data
- keyboard
- input
- slave
- 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
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45537—Provision of facilities of other operating environments, e.g. WINE
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、情報処理装置に関し、
詳しくは第1のオペレーティングシステムが、第2のオ
ペレーティングシステム内の子プロセスとして動作し、
第1のオペレーティングシステムの環境下で実行される
処理が、第2のオペレーティングシステムが管理する周
辺機器とデータのやり取りを行なう情報処理装置に関す
る。
詳しくは第1のオペレーティングシステムが、第2のオ
ペレーティングシステム内の子プロセスとして動作し、
第1のオペレーティングシステムの環境下で実行される
処理が、第2のオペレーティングシステムが管理する周
辺機器とデータのやり取りを行なう情報処理装置に関す
る。
【0002】
【従来の技術】従来、この種の情報処理装置では、周辺
機器は第2のオペレーティングシステム(以下、主OS
と呼ぶ)の管理下にあり、主OS内の子プロセスとして
動作する第2のオペレーティングシステム(以下、仮想
OSと呼ぶ)上のアプリケーションプログラムが周辺機
器とデータのやり取りを行なう場合には、主OSのデバ
イスドライバが仮想OSのデバイスドライバに対してエ
ミュレーション動作を行なっていた。
機器は第2のオペレーティングシステム(以下、主OS
と呼ぶ)の管理下にあり、主OS内の子プロセスとして
動作する第2のオペレーティングシステム(以下、仮想
OSと呼ぶ)上のアプリケーションプログラムが周辺機
器とデータのやり取りを行なう場合には、主OSのデバ
イスドライバが仮想OSのデバイスドライバに対してエ
ミュレーション動作を行なっていた。
【0003】キーボードのような入力装置からの入力を
例にとると、入力装置からの入力の要求に対して主OS
の入力割込処理ルーチンが起動され、入力装置からの入
力を解釈しその種別を一旦保存する。その上で、入力事
象の発生および保存しておいた種別を、仮想OSに対し
擬似割込として通知する。これにより、仮想OS内の入
力割込処理ルーチンが起動され、主OSからの通知を解
釈し、記憶装置内の入力バッファへ入力の種別を転送す
る。主OSと仮想OSの両方の入力割込処理ルーチンの
処理により、初めて入力の種別を検出することが可能に
なり、アプリケーションプログラムからの入力要求に答
えることができる。
例にとると、入力装置からの入力の要求に対して主OS
の入力割込処理ルーチンが起動され、入力装置からの入
力を解釈しその種別を一旦保存する。その上で、入力事
象の発生および保存しておいた種別を、仮想OSに対し
擬似割込として通知する。これにより、仮想OS内の入
力割込処理ルーチンが起動され、主OSからの通知を解
釈し、記憶装置内の入力バッファへ入力の種別を転送す
る。主OSと仮想OSの両方の入力割込処理ルーチンの
処理により、初めて入力の種別を検出することが可能に
なり、アプリケーションプログラムからの入力要求に答
えることができる。
【0004】
【発明が解決しようとする課題】しかしながら、かかる
従来の構成では、両OSにおける重複した入力に対する
解釈処理時間およびOS間の通知時間のオーバヘッドが
発生するという問題があった。このため、仮想OS上で
実行されているアプリケーションプログラムにおける実
際の入力からの反応時間が著しく遅くなり、実時間性を
重視するアプリケーションプログラムの実行が困難とな
ることが考えられた。この問題は、入力処理のみならず
、出力処理においても同様である。
従来の構成では、両OSにおける重複した入力に対する
解釈処理時間およびOS間の通知時間のオーバヘッドが
発生するという問題があった。このため、仮想OS上で
実行されているアプリケーションプログラムにおける実
際の入力からの反応時間が著しく遅くなり、実時間性を
重視するアプリケーションプログラムの実行が困難とな
ることが考えられた。この問題は、入力処理のみならず
、出力処理においても同様である。
【0005】本発明の情報処理装置は、こうした問題を
解決し、第1のオペレーティングシステムの環境下で実
行される処理が、第2のオペレーティングシステムが管
理する周辺機器との間で行なうデータのやり取りに要す
るオーバヘッドを小さくすることを目的としてなされ、
次の構成を採った。
解決し、第1のオペレーティングシステムの環境下で実
行される処理が、第2のオペレーティングシステムが管
理する周辺機器との間で行なうデータのやり取りに要す
るオーバヘッドを小さくすることを目的としてなされ、
次の構成を採った。
【0006】
【課題を解決するための手段】本発明の情報処理装置は
、図1に例示するように、第1のオペレーティングシス
テムOS1が、第2のオペレーティングシステムOS2
内の子プロセスとして動作し、該第1のオペレーティン
グシステムOS1の環境下で実行される処理APが、前
記第2のオペレーティングシステムOS2が管理する周
辺機器PEとデータのやり取りを行なう情報処理装置で
あって、前記第1のオペレーティングシステムOS1内
に、前記周辺機器PEとやり取りするデータを一時的に
保存する記憶手段MMを備え、該記憶手段MMを介して
前記処理APと前記周辺機器PEとの間のデータのやり
取りを仲介する第1のデバイスドライバDD1を備え、
前記第2のオペレーティングシステムOS2内に、前記
周辺機器PEとデータのやり取りの要求が発生したこと
を検出するデータ要求検出手段M1と、該検出された要
求が、前記第1のオペレーティングシステムOS1に関
するものであるか否かを判断する要求判断手段M2と、
前記要求が第1のオペレーティングシステムOS1に関
するものであると判断されたとき、前記第1のデバイス
ドライバDD1の記憶手段MMとの間で直接前記周辺機
器PEからのデータを保存しおよび/または前記周辺機
器PEへのデータを出力する第2のデバイスドライバD
D2とを備えたことを要旨とする。
、図1に例示するように、第1のオペレーティングシス
テムOS1が、第2のオペレーティングシステムOS2
内の子プロセスとして動作し、該第1のオペレーティン
グシステムOS1の環境下で実行される処理APが、前
記第2のオペレーティングシステムOS2が管理する周
辺機器PEとデータのやり取りを行なう情報処理装置で
あって、前記第1のオペレーティングシステムOS1内
に、前記周辺機器PEとやり取りするデータを一時的に
保存する記憶手段MMを備え、該記憶手段MMを介して
前記処理APと前記周辺機器PEとの間のデータのやり
取りを仲介する第1のデバイスドライバDD1を備え、
前記第2のオペレーティングシステムOS2内に、前記
周辺機器PEとデータのやり取りの要求が発生したこと
を検出するデータ要求検出手段M1と、該検出された要
求が、前記第1のオペレーティングシステムOS1に関
するものであるか否かを判断する要求判断手段M2と、
前記要求が第1のオペレーティングシステムOS1に関
するものであると判断されたとき、前記第1のデバイス
ドライバDD1の記憶手段MMとの間で直接前記周辺機
器PEからのデータを保存しおよび/または前記周辺機
器PEへのデータを出力する第2のデバイスドライバD
D2とを備えたことを要旨とする。
【0007】ここで、周辺機器PEとの間の入出力処理
は、入力処理または出力処理の一方のみでもよいし、入
出力処理の両者を行なうものでもよい。即ち、第1,第
2のオペレーティングシステムOS1,OS2が、入力
処理または出力処理のいずれか一方のみを司るデバイス
ドライバを有する構成とすることも、何等差し支えない
。
は、入力処理または出力処理の一方のみでもよいし、入
出力処理の両者を行なうものでもよい。即ち、第1,第
2のオペレーティングシステムOS1,OS2が、入力
処理または出力処理のいずれか一方のみを司るデバイス
ドライバを有する構成とすることも、何等差し支えない
。
【0008】なお、第1,第2のデバイスドライバDD
1,DD2はキーボード入力用のデバイスドライバであ
り、第2のデバイスドライバDD2が、キー入力に従っ
て第1のデバイスドライバの記憶手段MMの内容を直接
書き変える構成をとることもできる。また、データ要求
が第1のオペレーティングシステムに関するものである
か否かの判断を、第2のオペレーティングシステムが管
理する子プロセスの管理データを参照して行なう構成と
することもできる。
1,DD2はキーボード入力用のデバイスドライバであ
り、第2のデバイスドライバDD2が、キー入力に従っ
て第1のデバイスドライバの記憶手段MMの内容を直接
書き変える構成をとることもできる。また、データ要求
が第1のオペレーティングシステムに関するものである
か否かの判断を、第2のオペレーティングシステムが管
理する子プロセスの管理データを参照して行なう構成と
することもできる。
【0009】
【作用】以上のように構成された本発明の情報処理装置
は、第1のオペレーティングシステムOS1は、第2の
オペレーティングシステムOS2の子プロセスとして動
作しており、この第1のオペレーティングシステムOS
1上で動作する処理APに対する周辺機器PEからのデ
ータの入力および/または周辺機器PEへの出力は、次
のように行なわれる。
は、第1のオペレーティングシステムOS1は、第2の
オペレーティングシステムOS2の子プロセスとして動
作しており、この第1のオペレーティングシステムOS
1上で動作する処理APに対する周辺機器PEからのデ
ータの入力および/または周辺機器PEへの出力は、次
のように行なわれる。
【0010】まず、データの入力について説明すると、
周辺機器PEからのデータの入力要求が生じるとこれを
データ要求検出手段M1により検出し、この要求が第1
オペレーティングシステムに関するものであると要求判
断手段M2により判断されると、第2のオペレーティン
グシステムOS2内に設けられた第2のデバイスドライ
バDD2は、必要なデータを第1のデバイスドライバD
D1内の記憶手段MMに直接保存する。このようにして
保存されたデータは、第1のオペレーティングシステム
OS1の環境下で実行される処理APからいつでも読み
込むことができる。
周辺機器PEからのデータの入力要求が生じるとこれを
データ要求検出手段M1により検出し、この要求が第1
オペレーティングシステムに関するものであると要求判
断手段M2により判断されると、第2のオペレーティン
グシステムOS2内に設けられた第2のデバイスドライ
バDD2は、必要なデータを第1のデバイスドライバD
D1内の記憶手段MMに直接保存する。このようにして
保存されたデータは、第1のオペレーティングシステム
OS1の環境下で実行される処理APからいつでも読み
込むことができる。
【0011】一方、周辺機器PEにデータを出力する場
合には、第1のデバイスドライバDD1は、出力するデ
ータをその記憶手段MMに用意する。処理APからのデ
ータの出力の要求をデータ要求検出手段M1が検出する
と、要求判断手段M2がこの要求が第1のオペレーティ
ングシステムOS1に関するものか否かを判断し、第1
のオペレーティングシステムOS1に関するものである
と判断された場合には、第2のデバイスドライバDD2
は、第1のデバイスドライバDD1の記憶手段MMに記
憶されたデータを、直接周辺機器PEへ出力する。
合には、第1のデバイスドライバDD1は、出力するデ
ータをその記憶手段MMに用意する。処理APからのデ
ータの出力の要求をデータ要求検出手段M1が検出する
と、要求判断手段M2がこの要求が第1のオペレーティ
ングシステムOS1に関するものか否かを判断し、第1
のオペレーティングシステムOS1に関するものである
と判断された場合には、第2のデバイスドライバDD2
は、第1のデバイスドライバDD1の記憶手段MMに記
憶されたデータを、直接周辺機器PEへ出力する。
【0012】即ち、本発明の情報処理装置では、データ
の入出力の要求が第1のオペレーティングシステムOS
1に関するものであるか否かを判断し、第1のオペレー
ティングシステムOS1に関するものであると判断され
た場合には、第1のデバイスドライバDD1内の記憶手
段MMとの間で直接周辺機器PEからのデータの保存お
よび/もしくは出力を行なう。従って、処理APは、そ
の動作環境である第1のオペレーティングシステムOS
1がどのような環境で動作しているかを判別することな
く、周辺機器PEからデータを入力しおよび/または周
辺機器PEにデータを出力することができる。
の入出力の要求が第1のオペレーティングシステムOS
1に関するものであるか否かを判断し、第1のオペレー
ティングシステムOS1に関するものであると判断され
た場合には、第1のデバイスドライバDD1内の記憶手
段MMとの間で直接周辺機器PEからのデータの保存お
よび/もしくは出力を行なう。従って、処理APは、そ
の動作環境である第1のオペレーティングシステムOS
1がどのような環境で動作しているかを判別することな
く、周辺機器PEからデータを入力しおよび/または周
辺機器PEにデータを出力することができる。
【0013】
【実施例】以上説明した本発明の構成・作用を一層明ら
かにするために、以下本発明の好適な実施例について説
明する。図2は、本発明の第1実施例としての情報処理
装置の構成を示すブロック図である。この情報処理装置
は、周辺機器の一つとしてキーボードを備えている。
かにするために、以下本発明の好適な実施例について説
明する。図2は、本発明の第1実施例としての情報処理
装置の構成を示すブロック図である。この情報処理装置
は、周辺機器の一つとしてキーボードを備えている。
【0014】図2に示すように、情報処理装置は、中央
処理装置1、記憶装置2、入力装置3、表示装置4から
構成されている。記憶装置2の中には、中央処理装置1
上の主オペレーティングシステムにより管理可能な記憶
領域21があり、その中には仮想オペレーティングシス
テムにより管理可能な記憶領域22があり、更に、その
中にアプリケーションプログラムにより管理可能な記憶
領域23がある。また、記憶領域22の中には、入力装
置3から入力された入力の種別を保存する入力バッファ
24が含まれている。
処理装置1、記憶装置2、入力装置3、表示装置4から
構成されている。記憶装置2の中には、中央処理装置1
上の主オペレーティングシステムにより管理可能な記憶
領域21があり、その中には仮想オペレーティングシス
テムにより管理可能な記憶領域22があり、更に、その
中にアプリケーションプログラムにより管理可能な記憶
領域23がある。また、記憶領域22の中には、入力装
置3から入力された入力の種別を保存する入力バッファ
24が含まれている。
【0015】上記構成を有する本実施例の情報処理装置
は、図3のフローチャートに示す処理を実行する。情報
処理装置は、入力装置3から割込による入力が発生する
まで待機し(ステップS50)、中央処理装置1に割込
が入ると、主オペレーティングシステムに含まれる入力
割込処理ルーチンを起動する。中央処理装置1上で仮想
オペレーティングシステムが実行されていて、更に入力
装置3が仮想オペレーティングシステム上で実行されて
いるアプリケーションプログラムに割り付けられている
と判断された場合には(ステップS60)、この入力割
込処理ルーチンが、本来仮想オペレーティングシステム
に含まれる入力割込処理ルーチンと同等の処理を行ない
、入力の種別を入力バッファ24に直接転送する(ステ
ップS70)。これにより、仮想オペレーティングは、
実行中のアプリケーションプログラムに対し、あたかも
自分の入力割込処理ルーチンが処理した入力事象のごと
く、入力の種別を与えることができる。なお、入力割込
処理ルーチンが仮想オペレーティングシステム上のアプ
リケーションプログラムへの入力でなければ(ステップ
S60)、主オペレーティングシステムの割込処理ルー
チンの処理(ステップS80)を行なう。
は、図3のフローチャートに示す処理を実行する。情報
処理装置は、入力装置3から割込による入力が発生する
まで待機し(ステップS50)、中央処理装置1に割込
が入ると、主オペレーティングシステムに含まれる入力
割込処理ルーチンを起動する。中央処理装置1上で仮想
オペレーティングシステムが実行されていて、更に入力
装置3が仮想オペレーティングシステム上で実行されて
いるアプリケーションプログラムに割り付けられている
と判断された場合には(ステップS60)、この入力割
込処理ルーチンが、本来仮想オペレーティングシステム
に含まれる入力割込処理ルーチンと同等の処理を行ない
、入力の種別を入力バッファ24に直接転送する(ステ
ップS70)。これにより、仮想オペレーティングは、
実行中のアプリケーションプログラムに対し、あたかも
自分の入力割込処理ルーチンが処理した入力事象のごと
く、入力の種別を与えることができる。なお、入力割込
処理ルーチンが仮想オペレーティングシステム上のアプ
リケーションプログラムへの入力でなければ(ステップ
S60)、主オペレーティングシステムの割込処理ルー
チンの処理(ステップS80)を行なう。
【0016】以上の構成を有する本実施例の情報処理装
置では、主オペレーティングシステムが実行されていて
、更に入力装置3から仮想オペレーティングシステム上
のアプリケーションプログラムに対して入力が行なわれ
る際には、主オペレーティングシステムの入力割込処理
ルーチンが、仮想オペレーティングシステムの入力割込
処理ルーチンと同等の処理を行なうから、両オペレーテ
ィングシステムの割込処理が重複してオーバヘッドを生
じるということがない。従って、実時間性を重視するア
プリケーションプログラムを、仮想オペレーティングシ
ステム上で問題なく実行することができる。
置では、主オペレーティングシステムが実行されていて
、更に入力装置3から仮想オペレーティングシステム上
のアプリケーションプログラムに対して入力が行なわれ
る際には、主オペレーティングシステムの入力割込処理
ルーチンが、仮想オペレーティングシステムの入力割込
処理ルーチンと同等の処理を行なうから、両オペレーテ
ィングシステムの割込処理が重複してオーバヘッドを生
じるということがない。従って、実時間性を重視するア
プリケーションプログラムを、仮想オペレーティングシ
ステム上で問題なく実行することができる。
【0017】次に、本発明の第2実施例について説明す
る。図4は、第2実施例としての情報処理装置のハード
ウェア構成を示すブロック図である。この情報処理装置
は、エンジニアリングワークステーションとして構成さ
れたもので、図示するように、CPU101を中心にバ
スにより相互に接続された次の各部を備える。なお、本
実施例では、CPU101として、32ビットのプロセ
ッサ(インテル社製80386)を用いた。
る。図4は、第2実施例としての情報処理装置のハード
ウェア構成を示すブロック図である。この情報処理装置
は、エンジニアリングワークステーションとして構成さ
れたもので、図示するように、CPU101を中心にバ
スにより相互に接続された次の各部を備える。なお、本
実施例では、CPU101として、32ビットのプロセ
ッサ(インテル社製80386)を用いた。
【0018】FPU102:CPU101のコプロセッ
サとして動作する数値演算プロセッサ ROM104:モニタプログラム等を記憶するマスクメ
モリ RAM105:主記憶を構成する読み出し・書き込み可
能なメモリ PIT106:タイマ割込を発生するインターバルタイ
マ RTC108:電源バックアップを受けて時間を計時す
るリアルタイムクロック DMAC110:バスを介したダイレクトメモリ転送を
制御するコントローラ SIO111:RS−232Cの通信を制御するシリア
ルインタフェース
サとして動作する数値演算プロセッサ ROM104:モニタプログラム等を記憶するマスクメ
モリ RAM105:主記憶を構成する読み出し・書き込み可
能なメモリ PIT106:タイマ割込を発生するインターバルタイ
マ RTC108:電源バックアップを受けて時間を計時す
るリアルタイムクロック DMAC110:バスを介したダイレクトメモリ転送を
制御するコントローラ SIO111:RS−232Cの通信を制御するシリア
ルインタフェース
【0019】PIC112:各種の割込に優先順位を付
けて制御する割込コントローラ マウスインタフェース115:2ボタンマウス114と
のデータ等のやり取りを司るインタフェースキーボード
インタフェース118:キーボード117からのキー入
力を司るインタフェース FDC121:フレキシブルディスクドライブ(FDD
)120を制御するフレキシブルディスクコントローラ HDC125:ハードディスクドライブ(HDD)12
4を制御するハードディスクコントローラCRTC12
9:必要なデータ等を表示するCRT128への信号出
力を制御するCRTコントローラプリンタインタフェー
ス131:プリンタ130へのデータの出力を制御する
インタフェース また、これらの各部の他、バスには、将来の拡張に備え
て、拡張用スロット140が接続されている。
けて制御する割込コントローラ マウスインタフェース115:2ボタンマウス114と
のデータ等のやり取りを司るインタフェースキーボード
インタフェース118:キーボード117からのキー入
力を司るインタフェース FDC121:フレキシブルディスクドライブ(FDD
)120を制御するフレキシブルディスクコントローラ HDC125:ハードディスクドライブ(HDD)12
4を制御するハードディスクコントローラCRTC12
9:必要なデータ等を表示するCRT128への信号出
力を制御するCRTコントローラプリンタインタフェー
ス131:プリンタ130へのデータの出力を制御する
インタフェース また、これらの各部の他、バスには、将来の拡張に備え
て、拡張用スロット140が接続されている。
【0020】上記構成の情報処理装置には、主オペレー
ティングシステム(以下、主OSと呼ぶ)としてマルチ
タスク可能な時分割処理系のOSが採用されており、そ
の子プロセスとしてシングルタスクのディスクオペレー
ティングシステム(以下、従OSと呼ぶ)が動作する構
成となっている。各種のアプリケーションプログラムは
、主OSの管理下でも実行されるが、従OS用に開発さ
れたものは、従OSの管理下で実行される。この情報処
理装置では、マウス114を初め、キーボード117,
フレキシブルディスクドライブ120等の周辺機器は、
総て主OSの管理下にあり、主OS上で動作する処理と
の間では、主OSに組み込まれたいわゆるデバイスドラ
イバを介してデータの受け渡しが行なわれている。 主OS上で動作する従OSからは、周辺機器に対して直
接データのやり取りを行なうことはできない。
ティングシステム(以下、主OSと呼ぶ)としてマルチ
タスク可能な時分割処理系のOSが採用されており、そ
の子プロセスとしてシングルタスクのディスクオペレー
ティングシステム(以下、従OSと呼ぶ)が動作する構
成となっている。各種のアプリケーションプログラムは
、主OSの管理下でも実行されるが、従OS用に開発さ
れたものは、従OSの管理下で実行される。この情報処
理装置では、マウス114を初め、キーボード117,
フレキシブルディスクドライブ120等の周辺機器は、
総て主OSの管理下にあり、主OS上で動作する処理と
の間では、主OSに組み込まれたいわゆるデバイスドラ
イバを介してデータの受け渡しが行なわれている。 主OS上で動作する従OSからは、周辺機器に対して直
接データのやり取りを行なうことはできない。
【0021】従OSは、従OS用の従来のデバイスドラ
イバを備えており、従OS上のアプリケーションプログ
ラムは、従OSが単独で用いられている場合と同様に、
従OSの各種デバイスドライバを介してデータの入力ま
たは出力を行なおうとする。アプリケーションプログラ
ムは、通常、従OSがデバイスドライバ用に定義してい
る割込命令(システムコール)を利用して従OS上のデ
バイスドライバに対して割込要求を出し、デバイスドラ
イバの対アプリケーションインタフェースを介してデー
タの受け渡しを行なう。
イバを備えており、従OS上のアプリケーションプログ
ラムは、従OSが単独で用いられている場合と同様に、
従OSの各種デバイスドライバを介してデータの入力ま
たは出力を行なおうとする。アプリケーションプログラ
ムは、通常、従OSがデバイスドライバ用に定義してい
る割込命令(システムコール)を利用して従OS上のデ
バイスドライバに対して割込要求を出し、デバイスドラ
イバの対アプリケーションインタフェースを介してデー
タの受け渡しを行なう。
【0022】従OS上のデバイスドライバは、この従O
Sが単独で動作しており周辺機器からの割込要求が生じ
た場合には、IOアドレスに割り付けられたハードウェ
アに対しての入力命令(IN)および出力命令(OUT
)を発行するが、本実施例では、周辺機器からの割込要
求は主OSが管理しており、必要に応じて主OSまたは
従OSのデバイスドライバに割込要求を出力する。例え
ば、キーボード117からのキーデータの入力の場合に
は、割込要求は主OSのキーボードドライバに対して出
され、従OSのキーボードドライバに出力されることは
ない。
Sが単独で動作しており周辺機器からの割込要求が生じ
た場合には、IOアドレスに割り付けられたハードウェ
アに対しての入力命令(IN)および出力命令(OUT
)を発行するが、本実施例では、周辺機器からの割込要
求は主OSが管理しており、必要に応じて主OSまたは
従OSのデバイスドライバに割込要求を出力する。例え
ば、キーボード117からのキーデータの入力の場合に
は、割込要求は主OSのキーボードドライバに対して出
され、従OSのキーボードドライバに出力されることは
ない。
【0023】データの入力の様子をキーボードからの入
力を例にとって説明する。図5はキーボード117から
の入力がアプリケーションプログラムまで至るデータの
流れを概念的に示す説明図、図6は主OSの第2のキー
ボードドライバにおける割込ルーチンを示すフローチャ
ートである。
力を例にとって説明する。図5はキーボード117から
の入力がアプリケーションプログラムまで至るデータの
流れを概念的に示す説明図、図6は主OSの第2のキー
ボードドライバにおける割込ルーチンを示すフローチャ
ートである。
【0024】図示するように、キーボード117のキー
が押し下げられると、キーボードインタフェース118
を介して割込が発生する。この割込は、図4に示すPI
C112に入力され、割込が許可されている場合には、
デバイスドライバの一つである第2のキーボードドライ
バの処理を起動する。主OSの第2のキーボードドライ
バのドライバ割込処理ルーチンは、起動後、まずキーボ
ード117からキーボードインタフェース118を介し
てデータを読み込み(図6ステップS200)、現在キ
ーボード117が従OSに割り当てられているか否かの
判断を行なう(ステップS210)。キーボード117
の周辺機器の入出力をどのプロセスに割り当てるかは、
主OSのカーネルが制御しており、カーネルが管理する
属性テーブルなどの管理データを参照することにより、
キーボード117からのデータの入力が、主OSの子プ
ロセスの一つである従OSに割り当てられているか否か
を判断することは容易である。
が押し下げられると、キーボードインタフェース118
を介して割込が発生する。この割込は、図4に示すPI
C112に入力され、割込が許可されている場合には、
デバイスドライバの一つである第2のキーボードドライ
バの処理を起動する。主OSの第2のキーボードドライ
バのドライバ割込処理ルーチンは、起動後、まずキーボ
ード117からキーボードインタフェース118を介し
てデータを読み込み(図6ステップS200)、現在キ
ーボード117が従OSに割り当てられているか否かの
判断を行なう(ステップS210)。キーボード117
の周辺機器の入出力をどのプロセスに割り当てるかは、
主OSのカーネルが制御しており、カーネルが管理する
属性テーブルなどの管理データを参照することにより、
キーボード117からのデータの入力が、主OSの子プ
ロセスの一つである従OSに割り当てられているか否か
を判断することは容易である。
【0025】キーボード117からのデータ入力が従O
Sに割り当てられていると判断された場合には(ステッ
プS210)、第1のキーボードドライバのデータを直
接更新する一連の処理を行なう(ステップS220ない
し260)。この更新処理では、まずキー入力状態テー
ブルにデータの書込を行なう(ステップS220)。キ
ー入力状態テーブルは、従OSがキーボード117のど
のキーが押されたかを識別するために備えるテーブルで
あり、ハード的なマッピングのデータが書き込まれるも
のである。
Sに割り当てられていると判断された場合には(ステッ
プS210)、第1のキーボードドライバのデータを直
接更新する一連の処理を行なう(ステップS220ない
し260)。この更新処理では、まずキー入力状態テー
ブルにデータの書込を行なう(ステップS220)。キ
ー入力状態テーブルは、従OSがキーボード117のど
のキーが押されたかを識別するために備えるテーブルで
あり、ハード的なマッピングのデータが書き込まれるも
のである。
【0026】次に、キー操作がシフトキーの押下であっ
たか否かの判断を行ない(ステップS230)、シフト
キーの操作であった場合には従OSがシフトキーの操作
状態を識別するためのシフト状態テーブルへの書込を行
なう(ステップS240)。更に、キーボード117か
ら受け取ったキーコードをシフトキーの状態も併せ判断
してキーに対応したキャラクタコードに変換し(ステッ
プS250)、これをキーボードバッファに書き込む処
理を行なう(ステップS260)。その後、「RTN」
に抜けて本ルーチンを終了する。
たか否かの判断を行ない(ステップS230)、シフト
キーの操作であった場合には従OSがシフトキーの操作
状態を識別するためのシフト状態テーブルへの書込を行
なう(ステップS240)。更に、キーボード117か
ら受け取ったキーコードをシフトキーの状態も併せ判断
してキーに対応したキャラクタコードに変換し(ステッ
プS250)、これをキーボードバッファに書き込む処
理を行なう(ステップS260)。その後、「RTN」
に抜けて本ルーチンを終了する。
【0027】一方、ステップS210において、キーボ
ード117が従OSに割り当てられていないと判断され
れば、第2のキーボードドライバのデータを更新する処
理を行なってから(ステップS270)、「RTN」に
抜けて本ルーチンを終了する。第2のキーボードドライ
バは、主OSがアプリケーションプログラムからの要求
を受けて、アプリケーションプログラムにキー入力のデ
ータを与えることができる形式でデータを保持する。
ード117が従OSに割り当てられていないと判断され
れば、第2のキーボードドライバのデータを更新する処
理を行なってから(ステップS270)、「RTN」に
抜けて本ルーチンを終了する。第2のキーボードドライ
バは、主OSがアプリケーションプログラムからの要求
を受けて、アプリケーションプログラムにキー入力のデ
ータを与えることができる形式でデータを保持する。
【0028】以上説明した本実施例の情報処理装置によ
れば、主OSの管理の下で複数の子プロセスが動作して
おり、その一つが従OSであるとき、キーボード117
からのデータ入力が通常のプロセス1に割り当てられて
いる場合には、図7(A)に示すように、キーボード1
17から入力されたデータは第2のキーボードドライバ
内に保存され、プロセス1からのデータ要求(システム
コール)によりプロセスに引き渡される。一方、キーボ
ード117からのデータ入力が従OSに割り当てられて
いる場合には、図7(B)に示すように、キーボード1
17から入力されたデータは、直接従OS内の第1のキ
ーボードドライバ内のテーブルおよびバッファに書き込
まれる。
れば、主OSの管理の下で複数の子プロセスが動作して
おり、その一つが従OSであるとき、キーボード117
からのデータ入力が通常のプロセス1に割り当てられて
いる場合には、図7(A)に示すように、キーボード1
17から入力されたデータは第2のキーボードドライバ
内に保存され、プロセス1からのデータ要求(システム
コール)によりプロセスに引き渡される。一方、キーボ
ード117からのデータ入力が従OSに割り当てられて
いる場合には、図7(B)に示すように、キーボード1
17から入力されたデータは、直接従OS内の第1のキ
ーボードドライバ内のテーブルおよびバッファに書き込
まれる。
【0029】従って、本実施例によれば、キーボード1
17からのデータ入力が従OSに割り当てられている場
合、主OSと従OSのキーボードドライバが重複して動
作することがなく、無用なオーバヘッドが生じることが
ない。従って、実時間性を重んじるアプリケーションプ
ログラムであっても、支障なく動作させることができる
。しかも、主OSの子プロセスとして動作している従O
Sは、自身が主OS上で動作しているか、もしくは従O
Sが直接ハードウェアを占有して動作しているかを判別
して動作する必要がなく、従OSおよびその管理下で動
作するアプリケーションプログラムに一切の変更を要し
ないという利点が得られる。従って、従来のソフトウェ
ア資源の有効利用と高度な主OSの積極的利用とを両立
させることができる。
17からのデータ入力が従OSに割り当てられている場
合、主OSと従OSのキーボードドライバが重複して動
作することがなく、無用なオーバヘッドが生じることが
ない。従って、実時間性を重んじるアプリケーションプ
ログラムであっても、支障なく動作させることができる
。しかも、主OSの子プロセスとして動作している従O
Sは、自身が主OS上で動作しているか、もしくは従O
Sが直接ハードウェアを占有して動作しているかを判別
して動作する必要がなく、従OSおよびその管理下で動
作するアプリケーションプログラムに一切の変更を要し
ないという利点が得られる。従って、従来のソフトウェ
ア資源の有効利用と高度な主OSの積極的利用とを両立
させることができる。
【0030】以上本発明のいくつか実施例について説明
したが、本発明はこれらの実施例に何等限定されるもの
ではなく、例えば周辺機器からの入出力処理としてRS
−232C等の通信ポートを利用した端末からのキー入
力の処理を行なう構成、タブレットやディジタイザから
の入力を行なう構成、あるいはプリンタやプロッタへの
データの出力を行なう構成など、本発明の要旨を逸脱し
ない範囲内において、種々なる態様で実施し得ることは
勿論である。
したが、本発明はこれらの実施例に何等限定されるもの
ではなく、例えば周辺機器からの入出力処理としてRS
−232C等の通信ポートを利用した端末からのキー入
力の処理を行なう構成、タブレットやディジタイザから
の入力を行なう構成、あるいはプリンタやプロッタへの
データの出力を行なう構成など、本発明の要旨を逸脱し
ない範囲内において、種々なる態様で実施し得ることは
勿論である。
【0031】
【発明の効果】以上説明したように本発明の情報処理装
置では、周辺機器とのデータのやり取りが第2のオペレ
ーティングシステムの子プロセスとして動作する第1の
オペレーティングシステムに関するものである場合には
、第1のオペレーティングシステムの第1のデバイスド
ライバの記憶手段との間で直接周辺機器からのデータを
保存しおよび/または周辺機器へのデータを出力する。 従って、両オペレーティングシステムがデータの入出力
処理に介在してオーバヘッドが増大するという問題は完
全に解消される。この結果、第1のオペレーティングシ
ステムの下で実時間性を重んじるアプリケーションプロ
グラムを実行するのに何の支障もなく、ソフトウェアの
有効利用を図ることができる。
置では、周辺機器とのデータのやり取りが第2のオペレ
ーティングシステムの子プロセスとして動作する第1の
オペレーティングシステムに関するものである場合には
、第1のオペレーティングシステムの第1のデバイスド
ライバの記憶手段との間で直接周辺機器からのデータを
保存しおよび/または周辺機器へのデータを出力する。 従って、両オペレーティングシステムがデータの入出力
処理に介在してオーバヘッドが増大するという問題は完
全に解消される。この結果、第1のオペレーティングシ
ステムの下で実時間性を重んじるアプリケーションプロ
グラムを実行するのに何の支障もなく、ソフトウェアの
有効利用を図ることができる。
【図1】本発明の基本的構成を例示するブロック図であ
る。
る。
【図2】本発明の第1実施例である情報処理装置の概略
構成図である。
構成図である。
【図3】第1実施例における処理手順を示すフローチャ
ートである。
ートである。
【図4】本発明の第2実施例としての情報処理装置の構
成を示すブロック図である。
成を示すブロック図である。
【図5】キーボードからのデータが従OS上で動作する
アプリケーションプログラムまで至る様子を概念的に示
した説明図である。
アプリケーションプログラムまで至る様子を概念的に示
した説明図である。
【図6】第2実施例におけるドライバ割込処理ルーチン
を示すフローチャートである。
を示すフローチャートである。
【図7】主OSの管理下で動作する複数のプロセスの一
つに従OSが割り当てられている場合のキー入力の様子
を例示する説明図である。
つに従OSが割り当てられている場合のキー入力の様子
を例示する説明図である。
1 中央処理装置
2 記憶装置
3 入力装置
4 表示装置
24 入力バッファ
101 CPU
112 PIC
117 キーボード
118 キーボードインタフェース
AP 処理
DD1 第1のデバイスドライバ
DD2 第2のデバイスドライバ
M1 データ要求検出手段
M2 要求判断手段
MM 記憶手段
OS1 第1のオペレーティングシステムOS2
第2のオペレーティングシステムPE 周辺機器
第2のオペレーティングシステムPE 周辺機器
Claims (3)
- 【請求項1】 第1のオペレーティングシステムが、
第2のオペレーティングシステム内の子プロセスとして
動作し、該第1のオペレーティングシステムの環境下で
実行される処理が、前記第2のオペレーティングシステ
ムが管理する周辺機器とデータのやり取りを行なう情報
処理装置であって、前記第1のオペレーティングシステ
ム内に、前記周辺機器とやり取りするデータを一時的に
保存する記憶手段を備え、該記憶手段を介して前記処理
と前記周辺機器との間のデータのやり取りを仲介する第
1のデバイスドライバを備え、前記第2のオペレーティ
ングシステム内に、前記周辺機器とデータのやり取りの
要求が発生したことを検出するデータ要求検出手段と、
該検出された要求が、前記第1のオペレーティングシス
テムに関するものであるか否かを判断する要求判断手段
と、前記要求が第1のオペレーティングシステムに関す
るものであると判断されたとき、前記第1のデバイスド
ライバの記憶手段との間で直接前記周辺機器からのデー
タを保存しおよび/または前記周辺機器へのデータを出
力する第2のデバイスドライバとを備えた情報処理装置
。 - 【請求項2】 第1のオペレーティングシステムが、
第2のオペレーティングシステム内の子プロセスとして
動作し、該第1のオペレーティングシステムの環境下で
実行される処理が、前記第2のオペレーティングシステ
ムが管理する周辺機器とデータのやり取りを行なう情報
処理装置であって、前記周辺機器はキーボードであり、
前記第1のオペレーティングシステム内に、前記キーボ
ードから入力するデータを一時的に保存する記憶手段を
備え、該記憶手段を介して前記処理に前記キーボードか
らのデータを受け渡す第1のデバイスドライバを備え、
前記第2のオペレーティングシステム内に、前記キーボ
ードからのデータ入力が前記第1のオペレーティングシ
ステムに割り当てられているとき、前記第1のデバイス
ドライバの記憶手段に、直接前記キーボードからのデー
タを書き込む第2のデバイスドライバを備えた情報処理
装置。 - 【請求項3】 データ要求が第1のオペレーティング
システムに関するものであるか否かの判断を、第2のオ
ペレーティングシステムが管理する子プロセスの管理デ
ータを参照して行なう請求項1記載の情報処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP03106761A JP3074770B2 (ja) | 1990-04-17 | 1991-04-10 | 情報処理装置 |
| US07/812,538 US5301277A (en) | 1991-04-10 | 1991-12-23 | Method and apparatus for communicating peripheral data to/from minor operating systems running as subprocesses on a main operating system |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10114790 | 1990-04-17 | ||
| JP2-101147 | 1990-04-17 | ||
| JP03106761A JP3074770B2 (ja) | 1990-04-17 | 1991-04-10 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04227548A true JPH04227548A (ja) | 1992-08-17 |
| JP3074770B2 JP3074770B2 (ja) | 2000-08-07 |
Family
ID=26442065
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP03106761A Expired - Lifetime JP3074770B2 (ja) | 1990-04-17 | 1991-04-10 | 情報処理装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3074770B2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002041442A (ja) * | 2000-07-31 | 2002-02-08 | Sony Computer Entertainment Inc | 電子機器通信システム、外部装置、電子機器、および電子機器の通信方法 |
| JP2009251735A (ja) * | 2008-04-02 | 2009-10-29 | Nec Corp | 仮想計算機におけるファイルシステム高速化方法及びそのシステム |
| WO2016190054A1 (ja) * | 2015-05-25 | 2016-12-01 | 日本電気株式会社 | キー制御システム、仮想化サーバ、端末装置、キー制御方法、キー送信方法、プログラム |
| JP2017513158A (ja) * | 2014-03-13 | 2017-05-25 | エーシーオーオーオー (ベイジン) リミテッド | オペレーティングシステムを有するキーボードデバイス及びコンピュータアセンブリ |
-
1991
- 1991-04-10 JP JP03106761A patent/JP3074770B2/ja not_active Expired - Lifetime
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002041442A (ja) * | 2000-07-31 | 2002-02-08 | Sony Computer Entertainment Inc | 電子機器通信システム、外部装置、電子機器、および電子機器の通信方法 |
| US6871239B2 (en) | 2000-07-31 | 2005-03-22 | Sony Computer Entertainment, Inc. | Electronic equipment communication system, external device for the communication system, electronic equipment and electronic equipment communication method |
| JP2009251735A (ja) * | 2008-04-02 | 2009-10-29 | Nec Corp | 仮想計算機におけるファイルシステム高速化方法及びそのシステム |
| JP2017513158A (ja) * | 2014-03-13 | 2017-05-25 | エーシーオーオーオー (ベイジン) リミテッド | オペレーティングシステムを有するキーボードデバイス及びコンピュータアセンブリ |
| WO2016190054A1 (ja) * | 2015-05-25 | 2016-12-01 | 日本電気株式会社 | キー制御システム、仮想化サーバ、端末装置、キー制御方法、キー送信方法、プログラム |
| JPWO2016190054A1 (ja) * | 2015-05-25 | 2018-03-15 | 日本電気株式会社 | キー制御システム、仮想化サーバ、端末装置、キー制御方法、キー送信方法、プログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP3074770B2 (ja) | 2000-08-07 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5696989A (en) | Microcomputer equipped with DMA controller allowed to continue to perform data transfer operations even after completion of a current data transfer operation | |
| US6219742B1 (en) | Method and apparatus for artificially generating general purpose events in an ACPI environment | |
| JP4792113B2 (ja) | プロセッサ間割り込み | |
| EP0093267B1 (en) | Method for switching the control of central processing units in a data processing system, and apparatus for initiating the switching of cpu control | |
| US5499379A (en) | Input/output execution apparatus for a plural-OS run system | |
| JPH02208740A (ja) | 仮想計算機制御方式 | |
| JPS5841538B2 (ja) | マルチプロセツサシステム ノ ユウセンセイギヨホウシキ | |
| EP0290942B1 (en) | Guest machine execution control system for virtual machine system | |
| JPH04227548A (ja) | 情報処理装置 | |
| US5764956A (en) | Computer peripheral function emulator | |
| US5369746A (en) | Interprocessor data transferring system and method | |
| JPH04227547A (ja) | 情報処理装置 | |
| JPS6049352B2 (ja) | デ−タ処理装置 | |
| JPH0552535B2 (ja) | ||
| JPS6329868A (ja) | Dmaコントロ−ラ | |
| JP3022398B2 (ja) | 仮想計算機方式 | |
| JPH01205347A (ja) | I/o割込みをシミュレートする装置及び方法 | |
| JPS6313218B2 (ja) | ||
| JPH03268033A (ja) | リモートデバッグ方式 | |
| JPS63155254A (ja) | 情報処理装置 | |
| JPH0438011B2 (ja) | ||
| JPH06242975A (ja) | 多重情報処理システムの仮想計算機ディスパッチ方式 | |
| JPH0573518A (ja) | メモリマツプドcpuシステム | |
| JPH044437A (ja) | マルチプロセッサシステム保守装置 | |
| JPS61240333A (ja) | 入出力割込処理方式 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090609 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100609 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110609 Year of fee payment: 11 |
|
| EXPY | Cancellation because of completion of term |