JPS62121549A - High speed system for os simulator - Google Patents
High speed system for os simulatorInfo
- 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
Links
Abstract
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.
従来のマイクロコンピュータにおけるベク、り・テーブ
ルの機能は、文献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).
本発明の目的は、計算機システムでの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.
汎用マイクロコンピュータにおけろシステム・コールの
インターフェイスは、一般にレジスタにシステム・コー
ルの種類を表わす番号を入れ、ソフトウェア割り込み命
令を発生することにより実現されている。アプリケーシ
ヨン・タスクがシステム・コールを発行するとソフトウ
ェア割り込みが発生し、そのソフトウェア割り込み用に
登録されたプログラムに制御は移される。そしてそのプ
ログラム内で、レジスタ内に入っているシステム・コー
ル番号により分類して指定されたシステム・コール処理
へ分岐させる。この方法で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.
以下、本発明の一実施例を第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.
本発明によれば、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.
第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)
その下で稼動するオペレーティング・システム・シミユ
レータ(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.
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)
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 |
-
1985
- 1985-11-22 JP JP26107985A patent/JPS62121549A/en active Pending
Cited By (2)
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 |