JP3074770B2 - Information processing device - Google Patents

Information processing device

Info

Publication number
JP3074770B2
JP3074770B2 JP03106761A JP10676191A JP3074770B2 JP 3074770 B2 JP3074770 B2 JP 3074770B2 JP 03106761 A JP03106761 A JP 03106761A JP 10676191 A JP10676191 A JP 10676191A JP 3074770 B2 JP3074770 B2 JP 3074770B2
Authority
JP
Japan
Prior art keywords
operating system
data
input
keyboard
request
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.)
Expired - Lifetime
Application number
JP03106761A
Other languages
Japanese (ja)
Other versions
JPH04227548A (en
Inventor
裕之 金井
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 JP03106761A priority Critical patent/JP3074770B2/en
Priority to US07/812,538 priority patent/US5301277A/en
Publication of JPH04227548A publication Critical patent/JPH04227548A/en
Application granted granted Critical
Publication of JP3074770B2 publication Critical patent/JP3074770B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision 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)

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、情報処理装置に関し、
詳しくは第1のオペレーティングシステムが、第2のオ
ペレーティングシステム内の子プロセスとして動作し、
第1のオペレーティングシステムの環境下で実行される
処理が、第2のオペレーティングシステムが管理する周
辺機器とデータのやり取りを行なう情報処理装置に関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an information processing apparatus,
Specifically, the first operating system operates as a child process in the second operating system,
The process executed in the environment of the first operating system relates to an information processing device that exchanges data with peripheral devices managed by the second operating system.

【0002】[0002]

【従来の技術】従来、この種の情報処理装置では、周辺
機器は第2のオペレーティングシステム(以下、主OS
と呼ぶ)の管理下にあり、主OS内の子プロセスとして
動作する第2のオペレーティングシステム(以下、仮想
OSと呼ぶ)上のアプリケーションプログラムが周辺機
器とデータのやり取りを行なう場合には、主OSのデバ
イスドライバが仮想OSのデバイスドライバに対してエ
ミュレーション動作を行なっていた。
2. Description of the Related Art Conventionally, in this type of information processing apparatus, a peripheral device has a second operating system (hereinafter referred to as a main OS).
In the case where an application program on a second operating system (hereinafter, referred to as a virtual OS) operating as a child process in the main OS and exchanging data with a peripheral device under the management of the main OS, the main OS Has performed an emulation operation on the device driver of the virtual OS.

【0003】キーボードのような入力装置からの入力を
例にとると、入力装置からの入力の要求に対して主OS
の入力割込処理ルーチンが起動され、入力装置からの入
力を解釈しその種別を一旦保存する。その上で、入力事
象の発生および保存しておいた種別を、仮想OSに対し
擬似割込として通知する。これにより、仮想OS内の入
力割込処理ルーチンが起動され、主OSからの通知を解
釈し、記憶装置内の入力バッファへ入力の種別を転送す
る。主OSと仮想OSの両方の入力割込処理ルーチンの
処理により、初めて入力の種別を検出することが可能に
なり、アプリケーションプログラムからの入力要求に答
えることができる。
[0003] Taking an input from an input device such as a keyboard as an example, a main OS responds to an input request from the input device.
Is started, the input from the input device is interpreted and its type is temporarily stored. Then, the occurrence of the input event and the saved type are notified to the virtual OS as a pseudo interrupt. As a result, the input interrupt processing routine in the virtual OS is started, interprets the notification from the main OS, and transfers the type of input to the input buffer in the storage device. By the processing of the input interrupt processing routine of both the main OS and the virtual OS, the type of input can be detected for the first time, and an input request from an application program can be answered.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、かかる
従来の構成では、両OSにおける重複した入力に対する
解釈処理時間およびOS間の通知時間のオーバヘッドが
発生するという問題があった。このため、仮想OS上で
実行されているアプリケーションプログラムにおける実
際の入力からの反応時間が著しく遅くなり、実時間性を
重視するアプリケーションプログラムの実行が困難とな
ることが考えられた。この問題は、入力処理のみなら
ず、出力処理においても同様である。
However, in such a conventional configuration, there is a problem in that an overhead of interpretation processing time for duplicate input in both OSs and notification time between OSs occurs. For this reason, it has been considered that a reaction time from an actual input in an application program executed on the virtual OS becomes extremely slow, and it becomes difficult to execute an application program that emphasizes real-time performance. This problem applies not only to input processing but also to output processing.

【0005】本発明の情報処理装置は、こうした問題を
解決し、第1のオペレーティングシステムの環境下で実
行される処理が、第2のオペレーティングシステムが管
理する周辺機器との間で行なうデータのやり取りに要す
るオーバヘッドを小さくすることを目的としてなされ、
次の構成を採った。
[0005] The information processing apparatus of the present invention solves such a problem, and the processing executed in the environment of the first operating system allows data exchange between peripheral devices managed by the second operating system. The purpose is to reduce the overhead required for
The following configuration was adopted.

【0006】[0006]

【課題を解決するための手段】本発明の情報処理装置
は、図1に例示するように、第1のオペレーティングシ
ステムOS1が、第2のオペレーティングシステムOS
2内の子プロセスとして動作し、該第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のデバイスドライ
バDD2とを備えたことを要旨とする。
As shown in FIG. 1, an information processing apparatus according to the present invention comprises a first operating system OS1 and a second operating system OS1.
2, a processing AP that operates as a child process and is executed under the environment of the first operating system OS1
An information processing apparatus for exchanging data with a peripheral device PE managed by the second operating system OS2, wherein the first operating system OS1
And a storage unit MM for temporarily storing data exchanged with the peripheral device PE, and a first unit that mediates exchange of data between the processing AP and the peripheral device PE via the storage unit MM. Device driver DD1, and in the second operating system OS2,
A data request detecting means M1 for detecting that a request for data exchange with the peripheral device PE has occurred, and the detected request being transmitted to the first operating system OS1
Request determination means M2 for determining whether or not the
And the request is the first operating system OS1
When it is determined that the data is stored in the first device driver DD1, the data from the peripheral device PE is directly stored and / or output to the peripheral device PE. And the device driver DD2.

【0007】ここで、周辺機器PEとの間の入出力処理
は、入力処理または出力処理の一方のみでもよいし、入
出力処理の両者を行なうものでもよい。即ち、第1,第
2のオペレーティングシステムOS1,OS2が、入力
処理または出力処理のいずれか一方のみを司るデバイス
ドライバを有する構成とすることも、何等差し支えな
い。
Here, the input / output processing with the peripheral device PE may be either input processing or output processing, or may perform both input / output processing. That is, the first and second operating systems OS1 and OS2 may have a device driver that performs only one of the input processing and the output processing.

【0008】なお、第1,第2のデバイスドライバDD
1,DD2はキーボード入力用のデバイスドライバであ
り、第2のデバイスドライバDD2が、キー入力に従っ
て第1のデバイスドライバの記憶手段MMの内容を直接
書き変える構成をとることもできる。また、データ要求
が第1のオペレーティングシステムに関するものである
か否かの判断を、第2のオペレーティングシステムが管
理する子プロセスの管理データを参照して行なう構成と
することもできる。
[0008] The first and second device drivers DD
Reference numerals 1 and DD2 denote keyboard input device drivers, and the second device driver DD2 may directly rewrite the contents of the storage device MM of the first device driver according to a key input. Further, a configuration may be employed in which the determination as to whether the data request is for the first operating system is made with reference to the management data of the child process managed by the second operating system.

【0009】[0009]

【作用】以上のように構成された本発明の情報処理装置
は、第1のオペレーティングシステムOS1は、第2の
オペレーティングシステムOS2の子プロセスとして動
作しており、この第1のオペレーティングシステムOS
1上で動作する処理APに対する周辺機器PEからのデ
ータの入力および/または周辺機器PEへの出力は、次
のように行なわれる。
In the information processing apparatus of the present invention configured as described above, the first operating system OS1 operates as a child process of the second operating system OS2.
The input of data from the peripheral device PE to the processing AP operating on 1 and / or the output to the peripheral device PE are performed as follows.

【0010】まず、データの入力について説明すると、
周辺機器PEからのデータの入力要求が生じるとこれを
データ要求検出手段M1により検出し、この要求が第1
オペレーティングシステムに関するものであると要求判
断手段M2により判断されると、第2のオペレーティン
グシステムOS2内に設けられた第2のデバイスドライ
バDD2は、必要なデータを第1のデバイスドライバD
D1内の記憶手段MMに直接保存する。このようにして
保存されたデータは、第1のオペレーティングシステム
OS1の環境下で実行される処理APからいつでも読み
込むことができる。
First, data input will be described.
When a data input request from the peripheral device PE occurs, the request is detected by the data request detecting means M1.
When the request determining means M2 determines that the request is related to the operating system, the second device driver DD2 provided in the second operating system OS2 transmits necessary data to the first device driver D2.
It is stored directly in the storage means MM in D1. The data stored in this manner can be read at any time from the processing AP executed under the environment of the first operating system OS1.

【0011】一方、周辺機器PEにデータを出力する場
合には、第1のデバイスドライバDD1は、出力するデ
ータをその記憶手段MMに用意する。処理APからのデ
ータの出力の要求をデータ要求検出手段M1が検出する
と、要求判断手段M2がこの要求が第1のオペレーティ
ングシステムOS1に関するものか否かを判断し、第1
のオペレーティングシステムOS1に関するものである
と判断された場合には、第2のデバイスドライバDD2
は、第1のデバイスドライバDD1の記憶手段MMに記
憶されたデータを、直接周辺機器PEへ出力する。
On the other hand, when outputting data to the peripheral device PE, the first device driver DD1 prepares the data to be output in its storage means MM. When the data request detection unit M1 detects a data output request from the processing AP, the request determination unit M2 determines whether the request is related to the first operating system OS1.
Is determined to be related to the operating system OS1 of the second device driver DD2.
Outputs the data stored in the storage unit MM of the first device driver DD1 directly to the peripheral device PE.

【0012】即ち、本発明の情報処理装置では、データ
の入出力の要求が第1のオペレーティングシステムOS
1に関するものであるか否かを判断し、第1のオペレー
ティングシステムOS1に関するものであると判断され
た場合には、第1のデバイスドライバDD1内の記憶手
段MMとの間で直接周辺機器PEからのデータの保存お
よび/もしくは出力を行なう。従って、処理APは、そ
の動作環境である第1のオペレーティングシステムOS
1がどのような環境で動作しているかを判別することな
く、周辺機器PEからデータを入力しおよび/または周
辺機器PEにデータを出力することができる。
That is, in the information processing apparatus of the present invention, a request for data input / output is made by the first operating system OS.
The first device driver DD1 determines whether or not it is related to the first operating system OS1, and if it is determined to be related to the first operating system OS1, directly from the peripheral device PE to the storage device MM in the first device driver DD1. Is stored and / or output. Therefore, the processing AP is operated by the first operating system OS
1 can input data from the peripheral device PE and / or output data to the peripheral device PE without discriminating in what environment the device 1 is operating.

【0013】[0013]

【実施例】以上説明した本発明の構成・作用を一層明ら
かにするために、以下本発明の好適な実施例について説
明する。図2は、本発明の第1実施例としての情報処理
装置の構成を示すブロック図である。この情報処理装置
は、周辺機器の一つとしてキーボードを備えている。
DESCRIPTION OF THE PREFERRED EMBODIMENTS In order to further clarify the structure and operation of the present invention described above, preferred embodiments of the present invention will be described below. FIG. 2 is a block diagram illustrating a configuration of the information processing apparatus according to the first embodiment of the present invention. This information processing apparatus includes a keyboard as one of the peripheral devices.

【0014】図2に示すように、情報処理装置は、中央
処理装置1、記憶装置2、入力装置3、表示装置4から
構成されている。記憶装置2の中には、中央処理装置1
上の主オペレーティングシステムにより管理可能な記憶
領域21があり、その中には仮想オペレーティングシス
テムにより管理可能な記憶領域22があり、更に、その
中にアプリケーションプログラムにより管理可能な記憶
領域23がある。また、記憶領域22の中には、入力装
置3から入力された入力の種別を保存する入力バッファ
24が含まれている。
As shown in FIG. 2, the information processing apparatus includes a central processing unit 1, a storage device 2, an input device 3, and a display device 4. The storage device 2 includes a central processing unit 1
There is a storage area 21 that can be managed by the main operating system above, a storage area 22 that can be managed by a virtual operating system, and a storage area 23 that can be managed by an application program. The storage area 22 includes an input buffer 24 for storing the type of input input from the input device 3.

【0015】上記構成を有する本実施例の情報処理装置
は、図3のフローチャートに示す処理を実行する。情報
処理装置は、入力装置3から割込による入力が発生する
まで待機し(ステップS50)、中央処理装置1に割込
が入ると、主オペレーティングシステムに含まれる入力
割込処理ルーチンを起動する。中央処理装置1上で仮想
オペレーティングシステムが実行されていて、更に入力
装置3が仮想オペレーティングシステム上で実行されて
いるアプリケーションプログラムに割り付けられている
と判断された場合には(ステップS60)、この入力割
込処理ルーチンが、本来仮想オペレーティングシステム
に含まれる入力割込処理ルーチンと同等の処理を行な
い、入力の種別を入力バッファ24に直接転送する(ス
テップS70)。これにより、仮想オペレーティング
は、実行中のアプリケーションプログラムに対し、あた
かも自分の入力割込処理ルーチンが処理した入力事象の
ごとく、入力の種別を与えることができる。なお、入力
割込処理ルーチンが仮想オペレーティングシステム上の
アプリケーションプログラムへの入力でなければ(ステ
ップS60)、主オペレーティングシステムの割込処理
ルーチンの処理(ステップS80)を行なう。
The information processing apparatus of the present embodiment having the above configuration executes the processing shown in the flowchart of FIG. The information processing apparatus waits until an input is generated by an interrupt from the input device 3 (step S50), and when the central processing unit 1 is interrupted, activates an input interrupt processing routine included in the main operating system. If it is determined that the virtual operating system is running on the central processing unit 1 and that the input device 3 is assigned to an application program running on the virtual operating system (step S60), this input is performed. The interrupt processing routine performs the same processing as the input interrupt processing routine originally included in the virtual operating system, and directly transfers the type of input to the input buffer 24 (step S70). This allows the virtual operating system to give the type of input to the running application program as if it were an input event processed by its own input interrupt processing routine. If the input interrupt processing routine is not an input to an application program on the virtual operating system (step S60), the processing of the interrupt processing routine of the main operating system (step S80) is performed.

【0016】以上の構成を有する本実施例の情報処理装
置では、主オペレーティングシステムが実行されてい
て、更に入力装置3から仮想オペレーティングシステム
上のアプリケーションプログラムに対して入力が行なわ
れる際には、主オペレーティングシステムの入力割込処
理ルーチンが、仮想オペレーティングシステムの入力割
込処理ルーチンと同等の処理を行なうから、両オペレー
ティングシステムの割込処理が重複してオーバヘッドを
生じるということがない。従って、実時間性を重視する
アプリケーションプログラムを、仮想オペレーティング
システム上で問題なく実行することができる。
In the information processing apparatus of the present embodiment having the above configuration, the main operating system is executed, and when an input is made from the input device 3 to the application program on the virtual operating system, the main operating system is executed. Since the input interrupt processing routine of the operating system performs the same processing as the input interrupt processing routine of the virtual operating system, there is no overlap between the interrupt processing of the two operating systems and the overhead. Therefore, an application program that emphasizes real-time performance can be executed on the virtual operating system without any problem.

【0017】次に、本発明の第2実施例について説明す
る。図4は、第2実施例としての情報処理装置のハード
ウェア構成を示すブロック図である。この情報処理装置
は、エンジニアリングワークステーションとして構成さ
れたもので、図示するように、CPU101を中心にバ
スにより相互に接続された次の各部を備える。なお、本
実施例では、CPU101として、32ビットのプロセ
ッサ(インテル社製80386)を用いた。
Next, a second embodiment of the present invention will be described. FIG. 4 is a block diagram illustrating a hardware configuration of an information processing apparatus according to a second embodiment. This information processing apparatus is configured as an engineering workstation, and includes the following units interconnected by a bus centering on a CPU 101 as shown in the figure. In this embodiment, a 32-bit processor (Intel 80386) is used as the CPU 101.

【0018】FPU102:CPU101のコプロセッ
サとして動作する数値演算プロセッサ ROM104:モニタプログラム等を記憶するマスクメ
モリ RAM105:主記憶を構成する読み出し・書き込み可
能なメモリ PIT106:タイマ割込を発生するインターバルタイ
マ RTC108:電源バックアップを受けて時間を計時す
るリアルタイムクロック DMAC110:バスを介したダイレクトメモリ転送を
制御するコントローラ SIO111:RS−232Cの通信を制御するシリア
ルインタフェース
FPU 102: Numerical operation processor that operates as a coprocessor of CPU 101 ROM 104: Mask memory for storing monitor programs and the like RAM 105: Read / write memory forming main memory PIT 106: Interval timer RTC 108 for generating a timer interrupt Real-time clock that measures time after power backup DMAC110: Controller that controls direct memory transfer via bus SIO111: Serial interface that controls communication of RS-232C

【0019】PIC112:各種の割込に優先順位を付
けて制御する割込コントローラ マウスインタフェース115:2ボタンマウス114と
のデータ等のやり取りを司るインタフェース キーボードインタフェース118:キーボード117か
らのキー入力を司るインタフェース FDC121:フレキシブルディスクドライブ(FD
D)120を制御するフレキシブルディスクコントロー
ラ HDC125:ハードディスクドライブ(HDD)12
4を制御するハードディスクコントローラ CRTC129:必要なデータ等を表示するCRT12
8への信号出力を制御するCRTコントローラ プリンタインタフェース131:プリンタ130へのデ
ータの出力を制御するインタフェース また、これらの各部の他、バスには、将来の拡張に備え
て、拡張用スロット140が接続されている。
PIC 112: an interrupt controller for prioritizing and controlling various interrupts Mouse interface 115: An interface for exchanging data with the two-button mouse 114 Keyboard interface 118: An interface for controlling key input from the keyboard 117 FDC121: Flexible Disk Drive (FD)
D) Flexible disk controller that controls 120 HDC 125: Hard disk drive (HDD) 12
Hard Disk Controller CRTC129 for Controlling CRT4: CRT12 for Displaying Necessary Data and the Like
CRT controller for controlling signal output to printer 8 Printer interface 131: interface for controlling data output to printer 130 In addition to these components, an expansion slot 140 is connected to the bus in preparation for future expansion. Have been.

【0020】上記構成の情報処理装置には、主オペレー
ティングシステム(以下、主OSと呼ぶ)としてマルチ
タスク可能な時分割処理系のOSが採用されており、そ
の子プロセスとしてシングルタスクのディスクオペレー
ティングシステム(以下、従OSと呼ぶ)が動作する構
成となっている。各種のアプリケーションプログラム
は、主OSの管理下でも実行されるが、従OS用に開発
されたものは、従OSの管理下で実行される。この情報
処理装置では、マウス114を初め、キーボード11
7,フレキシブルディスクドライブ120等の周辺機器
は、総て主OSの管理下にあり、主OS上で動作する処
理との間では、主OSに組み込まれたいわゆるデバイス
ドライバを介してデータの受け渡しが行なわれている。
主OS上で動作する従OSからは、周辺機器に対して直
接データのやり取りを行なうことはできない。
The information processing apparatus having the above-described configuration employs a multi-tasking time-division processing system OS as a main operating system (hereinafter referred to as a main OS), and a single-task disk operating system (a child process) as its child process. (Hereinafter referred to as a slave OS). Various application programs are executed under the control of the main OS, but those developed for the sub OS are executed under the control of the sub OS. In this information processing apparatus, a mouse 114, a keyboard 11
7. Peripheral devices such as the flexible disk drive 120 are all under the control of the main OS, and exchange data with a process operating on the main OS via a so-called device driver incorporated in the main OS. Is being done.
A slave OS operating on the main OS cannot directly exchange data with peripheral devices.

【0021】従OSは、従OS用の従来のデバイスドラ
イバを備えており、従OS上のアプリケーションプログ
ラムは、従OSが単独で用いられている場合と同様に、
従OSの各種デバイスドライバを介してデータの入力ま
たは出力を行なおうとする。アプリケーションプログラ
ムは、通常、従OSがデバイスドライバ用に定義してい
る割込命令(システムコール)を利用して従OS上のデ
バイスドライバに対して割込要求を出し、デバイスドラ
イバの対アプリケーションインタフェースを介してデー
タの受け渡しを行なう。
The slave OS has a conventional device driver for the slave OS, and the application program on the slave OS is similar to the case where the slave OS is used alone.
An attempt is made to input or output data through various device drivers of the slave OS. The application program normally issues an interrupt request to the device driver on the slave OS using an interrupt command (system call) defined by the slave OS for the device driver, and establishes an application interface with the device driver. The data is passed through the server.

【0022】従OS上のデバイスドライバは、この従O
Sが単独で動作しており周辺機器からの割込要求が生じ
た場合には、IOアドレスに割り付けられたハードウェ
アに対しての入力命令(IN)および出力命令(OU
T)を発行するが、本実施例では、周辺機器からの割込
要求は主OSが管理しており、必要に応じて主OSまた
は従OSのデバイスドライバに割込要求を出力する。例
えば、キーボード117からのキーデータの入力の場合
には、割込要求は主OSのキーボードドライバに対して
出され、従OSのキーボードドライバに出力されること
はない。
The device driver on the slave OS is
When the S operates alone and an interrupt request from a peripheral device occurs, an input instruction (IN) and an output instruction (OU) to the hardware assigned to the IO address are issued.
T) is issued, in this embodiment, the interrupt request from the peripheral device is managed by the main OS, and the interrupt request is output to the device driver of the main OS or the slave OS as necessary. For example, in the case of inputting key data from the keyboard 117, an interrupt request is issued to the keyboard driver of the main OS, and is not output to the keyboard driver of the slave OS.

【0023】データの入力の様子をキーボードからの入
力を例にとって説明する。図5はキーボード117から
の入力がアプリケーションプログラムまで至るデータの
流れを概念的に示す説明図、図6は主OSの第2のキー
ボードドライバにおける割込ルーチンを示すフローチャ
ートである。
The state of data input will be described by taking an input from a keyboard as an example. FIG. 5 is an explanatory diagram conceptually showing a flow of data from an input from the keyboard 117 to an application program, and FIG. 6 is a flowchart showing an interrupt routine in the second keyboard driver of the main OS.

【0024】図示するように、キーボード117のキー
が押し下げられると、キーボードインタフェース118
を介して割込が発生する。この割込は、図4に示すPI
C112に入力され、割込が許可されている場合には、
デバイスドライバの一つである第2のキーボードドライ
バの処理を起動する。主OSの第2のキーボードドライ
バのドライバ割込処理ルーチンは、起動後、まずキーボ
ード117からキーボードインタフェース118を介し
てデータを読み込み(図6ステップS200)、現在キ
ーボード117が従OSに割り当てられているか否かの
判断を行なう(ステップS210)。キーボード117
の周辺機器の入出力をどのプロセスに割り当てるかは、
主OSのカーネルが制御しており、カーネルが管理する
属性テーブルなどの管理データを参照することにより、
キーボード117からのデータの入力が、主OSの子プ
ロセスの一つである従OSに割り当てられているか否か
を判断することは容易である。
As shown, when a key on the keyboard 117 is depressed, a keyboard interface 118 is pressed.
An interrupt occurs via. This interrupt is generated by the PI shown in FIG.
If it is entered into C112 and interrupts are allowed,
The process of the second keyboard driver which is one of the device drivers is started. After the startup, the driver interrupt processing routine of the second keyboard driver of the main OS reads data from the keyboard 117 via the keyboard interface 118 (step S200 in FIG. 6), and determines whether the keyboard 117 is currently assigned to the slave OS. It is determined whether or not it is (step S210). Keyboard 117
The process to assign the input and output of peripheral devices to
By controlling the kernel of the main OS and referring to management data such as an attribute table managed by the kernel,
It is easy to determine whether or not data input from the keyboard 117 is assigned to a slave OS that is one of the child processes of the main OS.

【0025】キーボード117からのデータ入力が従O
Sに割り当てられていると判断された場合には(ステッ
プS210)、第1のキーボードドライバのデータを直
接更新する一連の処理を行なう(ステップS220ない
し260)。この更新処理では、まずキー入力状態テー
ブルにデータの書込を行なう(ステップS220)。キ
ー入力状態テーブルは、従OSがキーボード117のど
のキーが押されたかを識別するために備えるテーブルで
あり、ハード的なマッピングのデータが書き込まれるも
のである。
When data input from the keyboard 117 is
If it is determined that it is assigned to S (step S210), a series of processes for directly updating the data of the first keyboard driver is performed (steps S220 to S260). In this updating process, first, data is written to the key input state table (step S220). The key input state table is a table provided for the slave OS to identify which key of the keyboard 117 has been pressed, in which data of hardware mapping is written.

【0026】次に、キー操作がシフトキーの押下であっ
たか否かの判断を行ない(ステップS230)、シフト
キーの操作であった場合には従OSがシフトキーの操作
状態を識別するためのシフト状態テーブルへの書込を行
なう(ステップS240)。更に、キーボード117か
ら受け取ったキーコードをシフトキーの状態も併せ判断
してキーに対応したキャラクタコードに変換し(ステッ
プS250)、これをキーボードバッファに書き込む処
理を行なう(ステップS260)。その後、「RTN」
に抜けて本ルーチンを終了する。
Next, it is determined whether or not the key operation is a shift key press (step S230). If the key operation is a shift key operation, the slave OS enters a shift state table for identifying the shift key operation state. Is written (step S240). Further, the key code received from the keyboard 117 is also determined based on the state of the shift key, converted into a character code corresponding to the key (step S250), and a process of writing this into a keyboard buffer is performed (step S260). After that, "RTN"
To end this routine.

【0027】一方、ステップS210において、キーボ
ード117が従OSに割り当てられていないと判断され
れば、第2のキーボードドライバのデータを更新する処
理を行なってから(ステップS270)、「RTN」に
抜けて本ルーチンを終了する。第2のキーボードドライ
バは、主OSがアプリケーションプログラムからの要求
を受けて、アプリケーションプログラムにキー入力のデ
ータを与えることができる形式でデータを保持する。
On the other hand, if it is determined in step S210 that the keyboard 117 is not assigned to the slave OS, a process for updating the data of the second keyboard driver is performed (step S270), and the process exits to "RTN". To end this routine. The second keyboard driver holds data in a format that allows the main OS to receive key input data from the application program in response to a request from the application program.

【0028】以上説明した本実施例の情報処理装置によ
れば、主OSの管理の下で複数の子プロセスが動作して
おり、その一つが従OSであるとき、キーボード117
からのデータ入力が通常のプロセス1に割り当てられて
いる場合には、図7(A)に示すように、キーボード1
17から入力されたデータは第2のキーボードドライバ
内に保存され、プロセス1からのデータ要求(システム
コール)によりプロセスに引き渡される。一方、キーボ
ード117からのデータ入力が従OSに割り当てられて
いる場合には、図7(B)に示すように、キーボード1
17から入力されたデータは、直接従OS内の第1のキ
ーボードドライバ内のテーブルおよびバッファに書き込
まれる。
According to the information processing apparatus of this embodiment described above, a plurality of child processes are operating under the control of the main OS, and when one of them is the subordinate OS, the keyboard 117
When the data input from is assigned to the normal process 1, as shown in FIG.
The data input from 17 is stored in the second keyboard driver, and is passed to the process in response to a data request (system call) from process 1. On the other hand, when data input from the keyboard 117 is assigned to the slave OS, as shown in FIG.
The data input from 17 is written directly to a table and buffer in the first keyboard driver in the slave OS.

【0029】従って、本実施例によれば、キーボード1
17からのデータ入力が従OSに割り当てられている場
合、主OSと従OSのキーボードドライバが重複して動
作することがなく、無用なオーバヘッドが生じることが
ない。従って、実時間性を重んじるアプリケーションプ
ログラムであっても、支障なく動作させることができ
る。しかも、主OSの子プロセスとして動作している従
OSは、自身が主OS上で動作しているか、もしくは従
OSが直接ハードウェアを占有して動作しているかを判
別して動作する必要がなく、従OSおよびその管理下で
動作するアプリケーションプログラムに一切の変更を要
しないという利点が得られる。従って、従来のソフトウ
ェア資源の有効利用と高度な主OSの積極的利用とを両
立させることができる。
Therefore, according to the present embodiment, the keyboard 1
When the data input from 17 is assigned to the slave OS, the keyboard drivers of the main OS and the slave OS do not operate redundantly, and no unnecessary overhead occurs. Therefore, even an application program that values real-time performance can be operated without any trouble. In addition, the slave OS operating as a child process of the main OS needs to determine whether the slave OS itself is operating on the main OS or the slave OS directly occupies the hardware and operate. Therefore, there is an advantage that no change is required for the slave OS and the application programs operating under the management of the slave OS. Therefore, both the effective use of the conventional software resources and the active use of the advanced main OS can be compatible.

【0030】以上本発明のいくつか実施例について説明
したが、本発明はこれらの実施例に何等限定されるもの
ではなく、例えば周辺機器からの入出力処理としてRS
−232C等の通信ポートを利用した端末からのキー入
力の処理を行なう構成、タブレットやディジタイザから
の入力を行なう構成、あるいはプリンタやプロッタへの
データの出力を行なう構成など、本発明の要旨を逸脱し
ない範囲内において、種々なる態様で実施し得ることは
勿論である。
Although several embodiments of the present invention have been described above, the present invention is not limited to these embodiments at all.
Deviating from the gist of the present invention, such as a configuration for performing key input processing from a terminal using a communication port such as H.232C, a configuration for inputting from a tablet or a digitizer, or a configuration for outputting data to a printer or a plotter. It goes without saying that the present invention can be implemented in various modes without departing from the scope.

【0031】[0031]

【発明の効果】以上説明したように本発明の情報処理装
置では、周辺機器とのデータのやり取りが第2のオペレ
ーティングシステムの子プロセスとして動作する第1の
オペレーティングシステムに関するものである場合に
は、第1のオペレーティングシステムの第1のデバイス
ドライバの記憶手段との間で直接周辺機器からのデータ
を保存しおよび/または周辺機器へのデータを出力す
る。従って、両オペレーティングシステムがデータの入
出力処理に介在してオーバヘッドが増大するという問題
は完全に解消される。この結果、第1のオペレーティン
グシステムの下で実時間性を重んじるアプリケーション
プログラムを実行するのに何の支障もなく、ソフトウェ
アの有効利用を図ることができる。
As described above, in the information processing apparatus of the present invention, when the exchange of data with the peripheral device is related to the first operating system operating as a child process of the second operating system, The data from the peripheral device is directly stored and / or output to the peripheral device with the storage means of the first device driver of the first operating system. Therefore, the problem that both operating systems intervene in data input / output processing and increase the overhead is completely solved. As a result, it is possible to effectively use the software without any trouble in executing an application program that values real-time performance under the first operating system.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の基本的構成を例示するブロック図であ
る。
FIG. 1 is a block diagram illustrating a basic configuration of the present invention.

【図2】本発明の第1実施例である情報処理装置の概略
構成図である。
FIG. 2 is a schematic configuration diagram of an information processing apparatus according to a first embodiment of the present invention.

【図3】第1実施例における処理手順を示すフローチャ
ートである。
FIG. 3 is a flowchart illustrating a processing procedure in the first embodiment.

【図4】本発明の第2実施例としての情報処理装置の構
成を示すブロック図である。
FIG. 4 is a block diagram illustrating a configuration of an information processing apparatus according to a second embodiment of the present invention.

【図5】キーボードからのデータが従OS上で動作する
アプリケーションプログラムまで至る様子を概念的に示
した説明図である。
FIG. 5 is an explanatory diagram conceptually showing a state in which data from a keyboard reaches an application program operating on a slave OS.

【図6】第2実施例におけるドライバ割込処理ルーチン
を示すフローチャートである。
FIG. 6 is a flowchart illustrating a driver interrupt processing routine according to the second embodiment.

【図7】主OSの管理下で動作する複数のプロセスの一
つに従OSが割り当てられている場合のキー入力の様子
を例示する説明図である。
FIG. 7 is an explanatory diagram illustrating an example of key input when an OS is assigned according to one of a plurality of processes operating under the control of a main OS.

【符号の説明】[Explanation of symbols]

1 中央処理装置 2 記憶装置 3 入力装置 4 表示装置 24 入力バッファ 101 CPU 112 PIC 117 キーボード 118 キーボードインタフェース AP 処理 DD1 第1のデバイスドライバ DD2 第2のデバイスドライバ M1 データ要求検出手段 M2 要求判断手段 MM 記憶手段 OS1 第1のオペレーティングシステム OS2 第2のオペレーティングシステム PE 周辺機器 Reference Signs List 1 central processing unit 2 storage device 3 input device 4 display device 24 input buffer 101 CPU 112 PIC 117 keyboard 118 keyboard interface AP processing DD1 first device driver DD2 second device driver M1 data request detecting means M2 request determining means MM storage Means OS1 First operating system OS2 Second operating system PE Peripheral device

フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06F 9/46 G06F 3/02 G06F 13/10 Continuation of the front page (58) Field surveyed (Int.Cl. 7 , DB name) G06F 9/46 G06F 3/02 G06F 13/10

Claims (3)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 第1のオペレーティングシステムが、第
2のオペレーティングシステム内の子プロセスとして動
作し、該第1のオペレーティングシステムの環境下で実
行される処理が、前記第2のオペレーティングシステム
が管理する周辺機器とデータのやり取りを行なう情報処
理装置であって、前記第1のオペレーティングシステム
内に、前記周辺機器とやり取りするデータを一時的に保
存する記憶手段を備え、該記憶手段を介して前記処理と
前記周辺機器との間のデータのやり取りを仲介する第1
のデバイスドライバを備え、前記第2のオペレーティン
グシステム内に、前記周辺機器とデータのやり取りの要
求が発生したことを検出するデータ要求検出手段と、該
検出された要求が、前記第1のオペレーティングシステ
ムに関するものであるか否かを判断する要求判断手段
と、前記要求が第1のオペレーティングシステムに関す
るものであると判断されたとき、前記第1のデバイスド
ライバの記憶手段との間で直接前記周辺機器からのデー
タを保存しおよび/または前記周辺機器へのデータを出
力する第2のデバイスドライバとを備えた情報処理装
置。
1. A first operating system operates as a child process in a second operating system, and a process executed in an environment of the first operating system is managed by the second operating system. An information processing apparatus for exchanging data with a peripheral device, comprising: a storage unit for temporarily storing data exchanged with the peripheral device in the first operating system; The first that mediates the exchange of data between the
Data request detecting means for detecting that a request for data exchange with the peripheral device has occurred in the second operating system, and the detected request is stored in the first operating system. Request means for determining whether the request is related to the first operating system, and when the request is determined to be related to the first operating system, the peripheral device is directly connected to the storage means of the first device driver. And a second device driver for storing data from the external device and / or outputting data to the peripheral device.
【請求項2】 第1のオペレーティングシステムが、第
2のオペレーティングシステム内の子プロセスとして動
作し、該第1のオペレーティングシステムの環境下で実
行される処理が、前記第2のオペレーティングシステム
が管理する周辺機器とデータのやり取りを行なう情報処
理装置であって、前記周辺機器はキーボードであり、前
記第1のオペレーティングシステム内に、前記キーボー
ドから入力するデータを一時的に保存する記憶手段を備
え、該記憶手段を介して前記処理に前記キーボードから
のデータを受け渡す第1のデバイスドライバを備え、前
記第2のオペレーティングシステム内に、前記キーボー
ドからのデータ入力が前記第1のオペレーティングシス
テムに割り当てられているとき、前記第1のデバイスド
ライバの記憶手段に、直接前記キーボードからのデータ
を書き込む第2のデバイスドライバを備えた情報処理装
置。
2. The first operating system operates as a child process in the second operating system, and a process executed in an environment of the first operating system is managed by the second operating system. An information processing apparatus for exchanging data with a peripheral device, wherein the peripheral device is a keyboard, and the storage device temporarily stores data input from the keyboard in the first operating system. A first device driver for passing data from the keyboard to the processing via a storage unit, wherein data input from the keyboard is assigned to the first operating system in the second operating system; Is stored in the storage device of the first device driver. An information processing apparatus including a second device driver for directly writing data from the keyboard.
【請求項3】 データ要求が第1のオペレーティングシ
ステムに関するものであるか否かの判断を、第2のオペ
レーティングシステムが管理する子プロセスの管理デー
タを参照して行なう請求項1記載の情報処理装置。
3. The information processing apparatus according to claim 1, wherein whether the data request is related to the first operating system is determined by referring to management data of a child process managed by the second operating system. .
JP03106761A 1990-04-17 1991-04-10 Information processing device Expired - Lifetime JP3074770B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP03106761A JP3074770B2 (en) 1990-04-17 1991-04-10 Information processing device
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 (en) 1990-04-17 1991-04-10 Information processing device

Publications (2)

Publication Number Publication Date
JPH04227548A JPH04227548A (en) 1992-08-17
JP3074770B2 true JP3074770B2 (en) 2000-08-07

Family

ID=26442065

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03106761A Expired - Lifetime JP3074770B2 (en) 1990-04-17 1991-04-10 Information processing device

Country Status (1)

Country Link
JP (1) JP3074770B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3927761B2 (en) * 2000-07-31 2007-06-13 株式会社ソニー・コンピュータエンタテインメント Electronic device communication system and electronic device communication method
JP4670889B2 (en) * 2008-04-02 2011-04-13 日本電気株式会社 Method and system for accelerating file system in virtual machine
MX2016011854A (en) * 2014-03-13 2017-05-12 Acooo (Beijing) Ltd Keyboard device having operating system and computer assembly.
JP6750618B2 (en) * 2015-05-25 2020-09-02 日本電気株式会社 Key control system, virtualization server, key control method, program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日経バイト1986年10月号(日経マグロウヒル社)、p.141〜149

Also Published As

Publication number Publication date
JPH04227548A (en) 1992-08-17

Similar Documents

Publication Publication Date Title
US4972368A (en) Intelligent serial I/O subsystem
JP4792113B2 (en) Interprocessor interrupt
JPH02208740A (en) Virtual computer control system
JP2000330806A (en) Computer system
JP3093293B2 (en) Information processing device interrupt method
US5276896A (en) Apparatus for implementing data communications between terminal devices and user programs
JP2539352B2 (en) Hierarchical multi-computer system
US5301277A (en) Method and apparatus for communicating peripheral data to/from minor operating systems running as subprocesses on a main operating system
JP3074770B2 (en) Information processing device
EP0290942B1 (en) Guest machine execution control system for virtual machine system
JP2007516536A (en) Method and apparatus for handling hot key input using interrupt handling visible to the operating system
CA1212478A (en) Data processor with interrupt facility
US5764956A (en) Computer peripheral function emulator
JP2877095B2 (en) Multiprocessor system
JPS634209B2 (en)
JPH04227547A (en) Information processor
JPS63268035A (en) Remote terminal control system via local terminal simulator
JP2595697B2 (en) Message processing system
JPH0630092B2 (en) Virtual memory management method in multiprocessor system
JP2975094B2 (en) Control device for I / O device
JPH044437A (en) Maintenance device for multiprocessor system
JPH06242975A (en) Virtual computer dispatch system of multiple information processing system
JPH06266630A (en) Input/output controller with trace function
KR19980014207A (en) Apparatus and method for processing data protocol of a multiprocessor system
JPS63103335A (en) Constituting device for plural processors

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