JPS62121549A - High speed system for os simulator - Google Patents

High speed system for os simulator

Info

Publication number
JPS62121549A
JPS62121549A JP26107985A JP26107985A JPS62121549A JP S62121549 A JPS62121549 A JP S62121549A JP 26107985 A JP26107985 A JP 26107985A JP 26107985 A JP26107985 A JP 26107985A JP S62121549 A JPS62121549 A JP S62121549A
Authority
JP
Japan
Prior art keywords
system call
program
simulator
register
branching
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
JP26107985A
Other languages
Japanese (ja)
Inventor
Shizuo Yokohata
静生 横畑
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 JP26107985A priority Critical patent/JPS62121549A/en
Publication of JPS62121549A publication Critical patent/JPS62121549A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To make the speed of a branching high by providing a branching table indicating a branching destination every system call during issuing the system call and a flag register indicating whether the branching table is used or not. CONSTITUTION:When an application task issues the system call, a software interruption is generated, a control is moved to a program registered for the software interruption and branched to a system call processing sorted and designated according to a system call number contained in a register 2 in the program. In the siftware interruption program, the system call is sorted and branched to respective simulation programs 4. During the generation of the software interruption, according to the system call number in the register, the respective system calls are branched automatically to the simulation programs 4.

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は計算機システムにおいて、アプリケーション・
プログラムが異種オペレーティング・システ11のシス
テム・コールを発行した時に、システム・コールの種類
毎の分岐先を示す分岐表を設けることに係り、オペレー
ティングシステムのシミュレーションの高速化に好適な
OSシミュレータの高速化方式に関する。
[Detailed Description of the Invention] [Field of Application of the Invention] The present invention is applicable to applications and applications in computer systems.
When a program issues a system call of a heterogeneous operating system 11, it involves providing a branch table that indicates the branch destination for each type of system call, and is suitable for speeding up the simulation of an operating system. Regarding the method.

〔発明の背景〕[Background of the invention]

従来のマイクロコンピュータにおけるベク、り・テーブ
ルの機能は、文献r68000マイクロ・コンピュータ
(丸善、昭和58年3月発行)」に記載のように、ソフ
トウェア割り込みが発生するとそれに対応したベクタ・
テーブル内の番地へ直接制御を移すようになっている。
The functions of vectors, tables, and tables in conventional microcomputers are as described in the document R68000 Microcomputer (Maruzen, published in March 1988), when a software interrupt occurs, the corresponding vector and table are
Control is transferred directly to an address within the table.

しかし、ベクタ・テーブルが示す別のテーブル内の番地
へ制御を移す(間接ジャンプ)方式については配慮され
ていなかった。
However, no consideration was given to a method of transferring control to an address in another table indicated by a vector table (indirect jump).

〔発明の目的〕[Purpose of the invention]

本発明の目的は、計算機システムでのOSシミュレーシ
ョンにおいて、システム・コールのシミュレーションを
行う各シミユレーシヨン・プログラムへの分岐を高速に
行う機構を提供することにある。
An object of the present invention is to provide a mechanism for quickly branching to each simulation program that simulates system calls in OS simulation in a computer system.

〔発明の概要〕[Summary of the invention]

汎用マイクロコンピュータにおけろシステム・コールの
インターフェイスは、一般にレジスタにシステム・コー
ルの種類を表わす番号を入れ、ソフトウェア割り込み命
令を発生することにより実現されている。アプリケーシ
ヨン・タスクがシステム・コールを発行するとソフトウ
ェア割り込みが発生し、そのソフトウェア割り込み用に
登録されたプログラムに制御は移される。そしてそのプ
ログラム内で、レジスタ内に入っているシステム・コー
ル番号により分類して指定されたシステム・コール処理
へ分岐させる。この方法でOSシミュレーションを実現
するには、ソフトウェア割り込みプログラム内で、シス
テム・コールを分類して各シミユレーシヨン・プログラ
ムへ分岐させなければならない。そこで、これらのこと
をファームウェアにより高速に行うことを考え、ソフト
ウェア割り込みが発生した時に、レジスタ内のシステム
!コール番号に応じて、自動的に各システム・コールの
シミユレーシヨン・プログラムへ分岐させる方法を考案
した。
A system call interface in a general-purpose microcomputer is generally realized by storing a number representing the type of system call in a register and generating a software interrupt instruction. When an application task issues a system call, a software interrupt occurs and control is transferred to a program registered for that software interrupt. Then, within the program, the system call processing is classified according to the system call number contained in the register and branched to the specified system call processing. To realize OS simulation using this method, system calls must be classified within the software interrupt program and branched to each simulation program. Therefore, we thought of doing these things faster with firmware, and when a software interrupt occurs, the system in the register! We devised a method to automatically branch to a simulation program for each system call, depending on the call number.

〔発明の実施側〕[Practical side of the invention]

以下、本発明の一実施例を第1図により説明する。 An embodiment of the present invention will be described below with reference to FIG.

第1図は、計算機システムにおけるOSシミュレータの
構成法を示している。ベクタテーブル1は、トラップ(
Trap)命令(モトローラ社16ビツト・マイコン6
8000の命令)のようなソフトウェア割り込みやハー
ドウェア割り込みが発生した時に制御を移すプログラム
の番地を登録しておくとテーブルで、ハード的には固定
番地に割り付けられている。レジスタ2は、マイコン内
の汎用レジスタで、システム・コール番号が入っている
FIG. 1 shows a method of configuring an OS simulator in a computer system. Vector table 1 contains the trap (
Trap) instruction (Motorola 16-bit microcontroller 6
If you register the address of the program to which control is transferred when a software interrupt or hardware interrupt occurs (such as a 8000 instruction), it is a table that is assigned to a fixed address in terms of hardware. Register 2 is a general-purpose register within the microcomputer and contains a system call number.

分岐表3は、ソフトウェア割り込みが発生した際に制御
を移すべきシミユレーシヨン・プログラムの番地が登録
されている。シミユレーシヨン・プログラム4は、各シ
ステム・コールをシミュレートするプログラムである。
Branch table 3 registers the address of the simulation program to which control should be transferred when a software interrupt occurs. The simulation program 4 is a program that simulates each system call.

シミュレーション・フラグ5は、ベクタテーブルを使っ
た分岐方法を指定するフラグである。
Simulation flag 5 is a flag that specifies a branching method using a vector table.

第2図は、ソフトウェア割り込み命令(この例ではTr
ap命令)が実行された時のファームウェアの動作フロ
ーチャートを示したものである。その手順は次の通りで
ある。(1)ソフトウェア割り込み発生時のPC(プロ
グラム・カウンタ)とSR(ステータス・レジスタ)を
スーパバイザ・スタックへ退避する(21)。(2)シ
ミュレーション・フラグがオンか調べる(22)。(3
)もしオフならば、従来処理と同様にSRのモードをス
ーパバイザ・モードに設定しく25) 、 Trap番
号の指すベクタテーブルの内容の番地へ制御を移す(2
6)。(4)もしオンならば、スーパバイザ・スタック
に積んだPCとSRをユーザ・スタックへ移し変える(
23)。Trap番号の指すベクタテーブルの内容が増
す分岐表の先頭番地を求める。レジスタ(第1図の2)
の持つシステム・コードが示す分岐表中のエントリが含
む内容の番地へ制御を移す(24)。シミュレーション
・フラグは、プログラムによりオン/オフに設定される
FIG. 2 shows a software interrupt instruction (in this example, Tr
This is a flowchart showing the operation of the firmware when the ap instruction) is executed. The procedure is as follows. (1) Save the PC (program counter) and SR (status register) to the supervisor stack when a software interrupt occurs (21). (2) Check whether the simulation flag is on (22). (3
) If it is off, set the SR mode to supervisor mode as in conventional processing25) and transfer control to the address of the contents of the vector table pointed to by the Trap number (25).
6). (4) If it is on, move the PC and SR loaded on the supervisor stack to the user stack (
23). Find the starting address of the branch table where the contents of the vector table pointed to by the Trap number are increased. Register (2 in Figure 1)
Control is transferred to the address of the content contained in the entry in the branch table indicated by the system code possessed by (24). The simulation flag is set on/off by the program.

このようにして、システム・コード毎に対応する分岐表
を持っておくことにより、ソフトウェア割り込み一命令
で各システム・コールのシミユレーシヨン・プログラム
へ分岐できる。
In this way, by having a corresponding branch table for each system code, it is possible to branch to a simulation program for each system call with a single software interrupt instruction.

〔発明の効果〕〔Effect of the invention〕

本発明によれば、OSシミュレーションにおいて、ソフ
トウェア割り込み一命令で各シミユレーシヨン・プログ
ラムへ分岐できるので、シミュレータの性能を向上させ
る効果がある。
According to the present invention, in OS simulation, it is possible to branch to each simulation program with a single software interrupt instruction, which has the effect of improving the performance of the simulator.

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

第1図は、計算機システムにおけるOSシミュレータの
構成法である。第2図は、ソフトウェア割り込み命令が
実行された時のファームウェアの動作フローチャートで
ある。
FIG. 1 shows a method of configuring an OS simulator in a computer system. FIG. 2 is a flowchart of firmware operations when a software interrupt instruction is executed.

Claims (1)

【特許請求の範囲】[Claims] 複数のタスクを制御するオペレーティング・システムと
その下で稼動するオペレーティング・システム・シミユ
レータ(OSシミユレータ)を含む複数のアプリケーシ
ヨン・タスクとそれをサポートする情報処理装置におい
て、アプリケーシヨン・タスクが異種オペレーティング
・システムの機能を使用するためにシステム・コールを
発行した時に、そのシステム・コールに応じたシミユレ
ーシヨン・プログラムへの分岐を高速に行うために、シ
ステム・コール毎の分岐先を示す分岐表および、その分
岐表を用いるか否かを示すフラグ・レジスタを設けたこ
とを特徴とするOSシミユレータの高速化方式。
In an operating system that controls multiple tasks, multiple application tasks including an operating system simulator (OS simulator) running under the multiple application tasks, and an information processing device that supports the multiple application tasks, an application task may run under a different operating system. When a system call is issued to use a system function, in order to quickly branch to a simulation program according to the system call, a branch table indicating the branch destination for each system call and its A method for increasing the speed of an OS simulator, characterized by providing a flag register indicating whether or not to use a branch table.
JP26107985A 1985-11-22 1985-11-22 High speed system for os simulator Pending JPS62121549A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26107985A JPS62121549A (en) 1985-11-22 1985-11-22 High speed system for os simulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26107985A JPS62121549A (en) 1985-11-22 1985-11-22 High speed system for os simulator

Publications (1)

Publication Number Publication Date
JPS62121549A true JPS62121549A (en) 1987-06-02

Family

ID=17356786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26107985A Pending JPS62121549A (en) 1985-11-22 1985-11-22 High speed system for os simulator

Country Status (1)

Country Link
JP (1) JPS62121549A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0333937A (en) * 1989-06-30 1991-02-14 Hitachi Ltd Display control system in virtual machine
JPH0756746A (en) * 1993-08-11 1995-03-03 Fujitsu Ltd System call function processor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0333937A (en) * 1989-06-30 1991-02-14 Hitachi Ltd Display control system in virtual machine
JPH0756746A (en) * 1993-08-11 1995-03-03 Fujitsu Ltd System call function processor

Similar Documents

Publication Publication Date Title
US5481719A (en) Exception handling method and apparatus for a microkernel data processing system
EP0192924A2 (en) Device driver and adapter binding technique
US4660144A (en) Adjunct machine
EP0340453A3 (en) Instruction handling sequence control system
US7784057B2 (en) Single-stack model for high performance parallelism
CN108196946A (en) A kind of subregion multinuclear method of Mach
US7010671B2 (en) Computer system and method for executing interrupt instructions in two operating modes
JPS62121549A (en) High speed system for os simulator
JPH01273136A (en) System for converting operating system to firmware
CN110851239A (en) TYPE-I TYPE hard real-time high-reliability full virtualization method
CN103197959A (en) Switching method of multi-core CPUs (Central Processing Unit)
JPS60263238A (en) Information processor
Kobayakawa et al. HI8-3X: A µITRON-Specification Realtime Operating System for H8/300 Series Microcontrollers
JPH0552535B2 (en)
JPS61184644A (en) Control system of virtual computer system
JP2591818B2 (en) Auxiliary function selection control method
JPS59127156A (en) Virtual computer system
JPS59103146A (en) Operation mode display device
JPS62217326A (en) Computer capable of storing and switching plural os
JPH0764802A (en) Simulation device for real-time system
JPH05224894A (en) Switching system for os
JPH08272757A (en) Multiprocessor system and program starting method
JPS63158632A (en) System program execution system in interpreter system
JPH0447853B2 (en)
Lister et al. The System Nucleus