JP4728679B2 - Emulation apparatus, program and method - Google Patents

Emulation apparatus, program and method Download PDF

Info

Publication number
JP4728679B2
JP4728679B2 JP2005104167A JP2005104167A JP4728679B2 JP 4728679 B2 JP4728679 B2 JP 4728679B2 JP 2005104167 A JP2005104167 A JP 2005104167A JP 2005104167 A JP2005104167 A JP 2005104167A JP 4728679 B2 JP4728679 B2 JP 4728679B2
Authority
JP
Japan
Prior art keywords
emulation
management table
virtual device
virtual
priority
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 - Fee Related
Application number
JP2005104167A
Other languages
Japanese (ja)
Other versions
JP2006285596A (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.)
NEC Corp
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Software Chubu 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 NEC Corp, NEC Software Chubu Ltd filed Critical NEC Corp
Priority to JP2005104167A priority Critical patent/JP4728679B2/en
Publication of JP2006285596A publication Critical patent/JP2006285596A/en
Application granted granted Critical
Publication of JP4728679B2 publication Critical patent/JP4728679B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、エミュレーション装置、プログラム及び方法に関し、特に、オペレーティングシステムにより生成された仮想入出力装置などの仮想装置を制御するためのエミュレーション装置、プログラム及び方法に関する。   The present invention relates to an emulation device, a program, and a method, and more particularly, to an emulation device, a program, and a method for controlling a virtual device such as a virtual input / output device generated by an operating system.

エミュレーションは、ハードウェアの機能を、構造の異なる別のハードウェアに模倣させて実行させることであり、エミュレーションを行うハードウェア、ソフトウェア(ミドルウェア)がエミュレータである。   Emulation is performed by imitating a hardware function with another hardware having a different structure, and the hardware and software (middleware) for performing emulation are emulators.

例えば、特許文献1に開示された「外部記憶装置への入出力制御方式」では、情報処理装置側の主記憶装置(例えば可変長レコード形式)と外部記憶装置(例えば固定長レコード形式)との間でデータをやり取りするため、情報処理装置側にデータ形式変換機構を設け、可変長レコード形式中のカウント部、キー部、データ部を固定長データとして扱う。両レコード形式の変換テーブルは、外部記憶装置側に設ける。これにより、複数の種類の外部記憶装置をひとつのエミュレータ(データ形式変換機構)により制御することができる。   For example, in the “input / output control method for external storage device” disclosed in Patent Document 1, the main storage device (for example, variable-length record format) on the information processing device side and the external storage device (for example, fixed-length record format) are used. In order to exchange data between them, a data format conversion mechanism is provided on the information processing apparatus side, and the count part, key part, and data part in the variable length record format are handled as fixed length data. Both record format conversion tables are provided on the external storage device side. As a result, a plurality of types of external storage devices can be controlled by a single emulator (data format conversion mechanism).

また、特許文献2に開示された「第2のシステム上での第1のシステムのプログラム実行装置及び方法」では、オペレーティングシステムの異なるコンピュータ同士であっても、アプリケーションプログラムが動作するように、CPUやメモリをエミュレートするインタプリタ、各種入出力デバイスをエミュレートする擬似デバイスドライバ(仮想デバイスドライバ)PSDDを備えており、上記インタプリタや擬似デバイスドライバPSDDは、実装置であるCPU(HECPU)、メモリ(HEMEM)、各種入出力ドライバIODを制御するプログラム(カーネル(オペレーションシステム内部においてハードウェアを操作できる権限が与えられたプログラム))の直上位に設けられ、第1システムのCPU、メモリ、入出力装置をエミュレートする。   Further, in the “program execution apparatus and method of the first system on the second system” disclosed in Patent Document 2, the CPU is configured so that the application program operates even between computers having different operating systems. And a pseudo device driver (virtual device driver) PSDD that emulates various input / output devices. The interpreter and pseudo device driver PSDD include a CPU (HECPU), a memory ( HEMEM), a program for controlling various input / output drivers IOD (a kernel (a program given authority to operate hardware in the operation system)), a CPU, a memory, and an input / output device of the first system D To Yureto.

特開平7−44324号公報(図3、段落0017)Japanese Patent Laid-Open No. 7-44324 (FIG. 3, paragraph 0017) 特開平7−182180号公報(図2、段落0071)JP-A-7-182180 (FIG. 2, paragraph 0071)

ところで、入出力装置には、プリンタ、外部記憶装置、表示装置等があり、各々様々な種別のハードウェアを備えている。上述した従来技術では、装置種別毎に(特許文献1では外部記憶装置に対して、特許文献2ではCPU、メモリ、入出力装置の種別毎に)、エミュレータを1個用意し、入出力要求時に、装置種別を判断して、該当するエミュレータへエミュレート処理を依頼している。しかし、これでは、装置種別毎にエミュレート手段が1個しかないために、同一装置種別の仮想装置を使用する業務を複数実行すると、エミュレータの負荷が高くなり、仮想装置への入出力処理のスループットが低下するという問題がある。また、優先順位の高い業務のエミュレート処理を早く実行させるために、優先順位の低い業務のエミュレート処理も高い優先順位で実行されるという問題がある。   By the way, the input / output devices include a printer, an external storage device, a display device, and the like, and each has various types of hardware. In the above-described conventional technology, one emulator is prepared for each device type (for external storage device in Patent Document 1 and for each type of CPU, memory, and input / output device in Patent Document 2), and when an input / output is requested. The device type is determined, and the emulator is requested to perform emulation processing. However, in this case, since there is only one emulation means for each device type, if multiple tasks using virtual devices of the same device type are executed, the load on the emulator increases, and input / output processing to the virtual device There is a problem that throughput decreases. In addition, there is a problem in that an emulation process for a job with a low priority is also executed with a high priority in order to quickly execute an emulation process for a job with a high priority.

そこで、本発明の課題は、同一装置種別の仮想装置を使用する業務を複数実行しても、エミュレータの負荷が高くならず、仮想装置への入出力処理のスループットが低下することのないエミュレーション装置、方法及びプログラムを提供することである。また、本発明の課題は、優先順位の高い業務のエミュレート処理を早く実行させても、優先順位の低い業務のエミュレート処理が高い優先順位で実行されることのないエミュレーション装置、方法及びプログラムを提供することである。   Therefore, an object of the present invention is to provide an emulation device that does not increase the load on the emulator and reduce the throughput of input / output processing to the virtual device even when a plurality of operations using the virtual device of the same device type is executed. It is to provide a method and a program. Also, an object of the present invention is to provide an emulation apparatus, method, and program that do not execute emulation processing of low priority business with high priority even if emulation processing of high priority business is executed quickly Is to provide.

本発明では、仮想装置に対するI/Oをエミュレートするエミュレート手段を装置種別毎にグループ化する。なお、同一の装置種別であっても、I/Oを行う業務を実行する優先順位を考慮してエミュレート手段の実行優先順位に差をつけ、重要な業務や先に処理したい業務のI/O処理を他の仮想装置グループに対するI/O処理よりも優先的に処理することとしてもよい。   In the present invention, emulation means for emulating I / O for virtual devices is grouped by device type. Note that even for the same device type, the priority of execution of I / O operations is taken into consideration and the execution priority of the emulating means is differentiated so that important operations and I / O The O process may be processed with priority over the I / O process for another virtual device group.

そこで、上述した課題を解決するための手段としてのエミュレーション装置は、アプリケーションプログラムに接続される仮想装置と、上記仮想装置を駆動するエミュレート手段とを備え、上記仮想装置の各々は、上記アプリケーションプログラムに基づいてグループ分けされており、上記エミュレート手段は、上記優先順位に基づいて上記仮想装置を駆動する。なお、該グループ分けは、上記アプリケーションプログラムを実行する優先順位に基づいて行なわれてもよい。   Therefore, an emulation device as means for solving the above-described problem includes a virtual device connected to an application program, and an emulation means for driving the virtual device, and each of the virtual devices includes the application program. And the emulation means drives the virtual device based on the priority. The grouping may be performed based on the priority order for executing the application program.

また、上述した課題を解決するための手段としてのエミュレーションプログラムは、アプリケーションプログラムに接続される仮想装置を駆動するためにコンピュータを、上記仮想装置の各々を、上記アプリケーションプログラムに基づいてグループ分けするグループ分け手段、及び上記優先順位に基づいて上記仮想装置を駆動するエミュレート手段として機能させる。なお、該グループ分けは、上記アプリケーションプログラムを実行する優先順位に基づいて行なわれてもよい。   Further, an emulation program as means for solving the above-described problem includes a group for grouping each of the virtual devices based on the application program in order to drive a virtual device connected to the application program. It functions as a dividing means and an emulating means for driving the virtual device based on the priority. The grouping may be performed based on the priority order for executing the application program.

また、上述した課題を解決するための手段としてのエミュレーション方法は、アプリケーションプログラムに接続される仮想装置を駆動するエミュレーション方法において、グループ分け手段により、上記仮想装置の各々を上記アプリケーションプログラムに基づいてグループ分けするステップと、上記エミュレート手段により、上記優先順位に基づいて上記仮想装置を駆動するステップとを含む。なお、該グループ分けは、上記アプリケーションプログラムを実行する優先順位に基づいて行なわれてもよい。   Further, an emulation method as means for solving the above-described problem is an emulation method for driving a virtual device connected to an application program, wherein each of the virtual devices is grouped based on the application program by grouping means. And a step of driving the virtual device based on the priority by the emulating means. The grouping may be performed based on the priority order for executing the application program.

本発明によれば、エミュレート処理を仮想装置グループ毎に負荷分散できる。その理由は、エミュレート手段を仮想装置グループ毎に分けて複数用意するため、他の仮想装置グループのエミュレート処理に影響されることなく別のエミュレート処理が行えるためである。また、仮想装置グループ数だけ、エミュレート処理を並列実行できるためである。   According to the present invention, load distribution can be performed for each virtual device group in the emulation processing. This is because a plurality of emulation means are prepared separately for each virtual device group, so that another emulation process can be performed without being affected by the emulation process of other virtual device groups. This is because the emulation processing can be executed in parallel by the number of virtual device groups.

以下、図面を参照して、本発明の実施形態について説明する。
[実施形態1]
(実施形態1のエミュレーション装置の構成)
図1は、実施形態1のエミュレーション装置のブロック図である。
Embodiments of the present invention will be described below with reference to the drawings.
[Embodiment 1]
(Configuration of Emulation Device of Embodiment 1)
FIG. 1 is a block diagram of an emulation apparatus according to the first embodiment.

実施形態1のエミュレーション装置10には、装置管理定義情報入力装置20と、仮想装置30と、実装置40とが接続されている。ここに、実装置40は、仮想装置30ではない装置(多重化等されていない装置であり、エミュレーションを要することなく駆動する事ができる入出力装置)である。   A device management definition information input device 20, a virtual device 30, and a real device 40 are connected to the emulation device 10 of the first embodiment. Here, the real device 40 is a device that is not the virtual device 30 (an input / output device that is not multiplexed and can be driven without requiring emulation).

エミュレーション装置10は、装置管理テーブル101を作成する装置管理テーブル作成手段110と、I/O要求通知セマフォ(以下「セマフォ」という)103を格納する仮想装置グループ管理テーブル102を作成する仮想装置グループ管理テーブル作成手段120と、エミュレート起動手段130と、I/O要求手段140と、I/O処理手段150と、エミュレート処理依頼手段160と、エミュレート手段170を含む。   The emulation device 10 includes a device management table creation unit 110 that creates a device management table 101 and a virtual device group management that creates a virtual device group management table 102 that stores an I / O request notification semaphore (hereinafter referred to as “semaphore”) 103. The table creation means 120, the emulation starting means 130, the I / O request means 140, the I / O processing means 150, the emulation processing request means 160, and the emulation means 170 are included.

装置管理定義情報入力装置20は、実装置40又は仮想装置30の装置番号、装置情報、仮想装置フラグ(仮想装置30と実装置40を識別するフラグ)、仮想装置グループ番号(実装置40に対してグループ番号は付与されない)、優先順位(実装置40に対して優先順位は付与されない)を、後述する装置管理テーブル作成手段110に入力する。   The device management definition information input device 20 includes a device number of the real device 40 or the virtual device 30, device information, a virtual device flag (a flag for identifying the virtual device 30 and the real device 40), a virtual device group number (for the real device 40). The group number is not given), and the priority order (priority is not given to the real device 40) is input to the device management table creating means 110 described later.

装置管理テーブル作成手段110は、コンピュータに接続される全ての実装置40および仮想装置30に対して、装置番号と、装置情報と、仮想装置か否かを示す仮想装置フラグと、仮想装置グループ番号と、優先順位とが定義された情報を、装置管理定義情報入力装置20から入力し、装置管理テーブル101を作成する。   The device management table creation unit 110 includes, for all the real devices 40 and virtual devices 30 connected to the computer, device numbers, device information, a virtual device flag indicating whether or not the device is a virtual device, and a virtual device group number. And the information in which the priority order is defined is input from the device management definition information input device 20, and the device management table 101 is created.

仮想装置グループ管理テーブル作成手段120は、装置管理テーブル作成手段110が作成した装置管理テーブル101から、仮想装置30の仮想装置グループ番号、優先順位を入力し、仮想装置グループ管理テーブル102を作成する。また仮想装置グループ毎にセマフォ(入出力資源を共有して使用するタスク間の動作の同期を取るためのフラグ又はそれを処理するツール。また、タスクは、オペレーションシステムから見たアプリケーションプログラムの1単位)を割り当て、セマフォのアドレスを仮想装置グループ管理テーブル102に格納する。   The virtual device group management table creation unit 120 inputs the virtual device group number and priority of the virtual device 30 from the device management table 101 created by the device management table creation unit 110, and creates the virtual device group management table 102. Also, a semaphore for each virtual device group (a flag for synchronizing operations between tasks that share I / O resources or a tool for processing the task. A task is a unit of an application program viewed from the operation system. ) And the semaphore address is stored in the virtual device group management table 102.

エミュレート起動手段130は、仮想装置グループ管理テーブル102に従って、エミュレート手段170を起動する。I/O要求手段140は、業務処理(アプリケーションプログラム)を実行するジョブであり、I/O要求を発行する。   The emulation activation unit 130 activates the emulation unit 170 according to the virtual device group management table 102. The I / O request unit 140 is a job for executing business processing (application program), and issues an I / O request.

I/O処理手段150は、I/O要求の装置番号を用いて装置管理テーブル101の中を検索し、装置番号に対応するエントリの仮想装置フラグを用いてI/O要求の装置が実装置40か仮想装置30かを判断する。そして、仮想装置フラグが立っていない実装置40に対するI/Oの場合は、実装置40に対してI/Oを実行する。仮想装置フラグが立っている仮想装置30に対するI/Oであった場合は、エミュレート処理依頼手段160に処理を渡す。   The I / O processing means 150 searches the device management table 101 using the device number of the I / O request, and the device of the I / O request is the real device using the virtual device flag of the entry corresponding to the device number. 40 or virtual device 30 is determined. In the case of I / O to the real device 40 in which the virtual device flag is not set, the I / O is executed on the real device 40. If the I / O is for the virtual device 30 for which the virtual device flag is set, the processing is transferred to the emulation processing requesting means 160.

エミュレート処理依頼手段160は、仮想装置グループ管理テーブル102を参照し、仮想装置グループ管理テーブル102中のセマフォ103のアドレスを取得し、仮想装置への入出力のエミュレート処理を依頼する。エミュレート手段170は、仮想装置30への入出力のエミュレート処理を実行する。   The emulation process request unit 160 refers to the virtual device group management table 102, acquires the address of the semaphore 103 in the virtual device group management table 102, and requests an emulation process of input / output to the virtual device. The emulation unit 170 executes an emulation process of input / output to / from the virtual device 30.

ここで、図2は、装置管理定義情報入力装置20から装置管理テーブル作成手段110に入力される装置管理定義情報の内容を示す図である。装置管理定義情報入力装置20では、装置番号0、1、2、3などの各装置に対して、装置情報、仮想装置フラグのON又はOFF、仮想装置グループ番号(付かない場合もある)、優先順位(ない場合もある)が付与される。又、図3は、装置管理テーブル101の内容を示す図であり、装置管理定義情報入力装置20と同様である。更に、図4は、仮想装置グループ管理テーブル102の内容を示す図である。仮想装置グループ管理テーブル102では、仮想装置グループ0、1、2、3などの各グループに対して、セマフォアドレスと優先順位が付与される。   Here, FIG. 2 is a diagram showing the contents of the device management definition information input from the device management definition information input device 20 to the device management table creating means 110. In the device management definition information input device 20, device information, virtual device flag ON / OFF, virtual device group number (may not be attached), priority for each device such as device numbers 0, 1, 2, 3, etc. Ranking (may not be) is given. FIG. 3 is a diagram showing the contents of the device management table 101, which is the same as that of the device management definition information input device 20. Further, FIG. 4 is a diagram showing the contents of the virtual device group management table 102. In the virtual device group management table 102, semaphore addresses and priorities are assigned to the virtual device groups 0, 1, 2, 3, and the like.

[実施形態1のエミュレーション装置の動作]
図5に、エミュレーション装置立ち上げ時の動作を説明するためのフローチャートを示す。エミュレーション装置立ち上げ時には、S21において装置管理テーブル作成手段110が動作し、次にS22において仮想装置グループ管理テーブル作成手段120が動作し、最後にエミュレート起動手段130が動作する。
[Operation of Emulation Device of First Embodiment]
FIG. 5 shows a flowchart for explaining the operation when the emulation apparatus is started up. At the time of starting up the emulation device, the device management table creating unit 110 operates in S21, then the virtual device group management table creating unit 120 operates in S22, and finally the emulation starting unit 130 operates.

又、図6には、I/O要求発行時の動作を説明するためのフローチャートを示す。I/O要求発行時には、S31においてI/O要求手段140が動作し、次にS32においてI/O処理手段150が動作し、次にS33においてエミュレート処理依頼手段160が動作し、最後にS34においてエミュレート手段170が動作する。   FIG. 6 is a flowchart for explaining the operation when an I / O request is issued. When an I / O request is issued, the I / O request unit 140 operates in S31, then the I / O processing unit 150 operates in S32, then the emulation processing request unit 160 operates in S33, and finally S34. The emulating means 170 operates in FIG.

更に、図7には、装置管理テーブル作成手段110の動作を説明するためのフローチャートを示す。まず、S41において装置管理定義情報入力装置20の中から1つの装置の装置番号と装置情報を格納して、装置管理テーブル101を作成する。次に、S42において装置が仮想装置であるか否かが判定される。次に、S42において装置が仮想装置30であると判定されればS43に進み仮想装置フラグを立てて、仮想装置グループ番号と優先順位を装置管理テーブル101のエントリに格納する。一方、S42において装置が仮想装置30ではないと判定されればS44に進む。S44では全装置に対してフラグ設定したか否かが判定され、全装置に対してフラグ設定を完了するまでS41からS43までを繰り返す。   Further, FIG. 7 shows a flowchart for explaining the operation of the device management table creating means 110. First, in S41, the device number and device information of one device is stored from the device management definition information input device 20, and the device management table 101 is created. Next, in S42, it is determined whether or not the device is a virtual device. Next, if it is determined in S42 that the device is the virtual device 30, the process proceeds to S43, a virtual device flag is set, and the virtual device group number and priority are stored in the entry of the device management table 101. On the other hand, if it is determined in S42 that the device is not the virtual device 30, the process proceeds to S44. In S44, it is determined whether or not flags have been set for all devices, and steps S41 to S43 are repeated until flag setting for all devices is completed.

そして、図8は、仮想装置グループ管理テーブル作成手段120の動作を説明するためのフローチャートである。まず、S51において装置管理テーブル101から、仮想装置のフラグの立っている仮想装置の装置番号と仮想装置グループ番号と優先順位を入力する。次に、S52において仮想装置グループ管理テーブル102を検索し、当該仮想装置グループ番号のエントリがあるか判定される。S52において当該仮想装置グループ番号のエントリがないと判定されれば、S55に進み当該仮想装置グループのエントリを追加し、S56に進む。一方、S52において当該仮想装置グループ番号のエントリがあると判定されれば、S53からS54の処理を実行する。つまり、S53においてエントリの中の優先順位を取り出す。次に、S54において、S51で取り出した優先順位の方がS53で取り出した優先順位より高いか否かが判定される。S54において、S51で取り出した優先順位の方が高いと判定されれば、S56に進む。   FIG. 8 is a flowchart for explaining the operation of the virtual device group management table creating unit 120. First, in S51, the device number, the virtual device group number, and the priority order of the virtual device on which the virtual device flag is set are input from the device management table 101. In step S52, the virtual device group management table 102 is searched to determine whether there is an entry for the virtual device group number. If it is determined in S52 that there is no entry for the virtual device group number, the process proceeds to S55, an entry for the virtual device group is added, and the process proceeds to S56. On the other hand, if it is determined in S52 that there is an entry for the virtual device group number, the processing from S53 to S54 is executed. That is, the priority order in the entry is extracted in S53. Next, in S54, it is determined whether or not the priority extracted in S51 is higher than the priority extracted in S53. If it is determined in S54 that the priority order extracted in S51 is higher, the process proceeds to S56.

一方、S54において、S51で取り出した優先順位の方が低い場合または同じ場合、S57に進む。S56では、S51で取り出した優先順位を仮想装置グループ管理テーブル102の中の、仮想装置グループに対応するエントリ中の優先順位格納領域にセットする。一方、S57では、全仮想装置に対して、優先順位の設定を行ったかが判定される。S57において、全仮想装置に対して、優先順位の設定を行っていないと判定されれば、S51に戻って、優先順位の設定を繰り返す。又、S57において、全仮想装置に対して、優先順位の設定を行ったと判定されれば、S58に進み、全仮想装置グループに対し、I/O要求通知のセマフォを1つずつ割り当て、仮想装置グループ管理テーブル102の中の、全エントリのセマフォアドレス格納領域に各々のセマフォアドレスをセットする。   On the other hand, in S54, if the priority extracted in S51 is lower or the same, the process proceeds to S57. In S56, the priority extracted in S51 is set in the priority storage area in the entry corresponding to the virtual device group in the virtual device group management table 102. On the other hand, in S57, it is determined whether priority has been set for all virtual devices. If it is determined in S57 that the priority order has not been set for all virtual devices, the process returns to S51 and the priority order setting is repeated. In S57, if it is determined that the priority order has been set for all the virtual devices, the process proceeds to S58, in which one I / O request notification semaphore is assigned to each virtual device group, Each semaphore address is set in the semaphore address storage area of all entries in the group management table 102.

図9は、エミュレート起動手段130の動作を説明するためのフローチャートである。S61において、仮想装置グループ管理テーブル102中の各仮想装置グループの優先順位で、各エミュレート手段170が起動される。このとき引数として仮想装置グループ管理テーブル102中の各仮想装置グループのセマフォアドレスを受け渡す。   FIG. 9 is a flowchart for explaining the operation of the emulation starting means 130. In S61, each emulation unit 170 is activated in the priority order of each virtual device group in the virtual device group management table 102. At this time, a semaphore address of each virtual device group in the virtual device group management table 102 is passed as an argument.

図10は、各エミュレート手段170の動作を説明するためのフローチャートである。まず、S71において、引数として渡されたセマフォアドレスでI/O要求のイベントを待ち合わせる。最後に、S72において、セマフォから取得したI/O要求の内容に従ってI/Oのエミュレートが行なわれる。コンピュータが立ち上がり、業務が動作すると、装置への入出力要求が発生し、図6に示すようにI/O要求手段140、I/O処理手段150、エミュレート処理依頼手段160、エミュレート手段170の順にI/Oが処理されていく。I/O要求手段140は、業務処理の中で装置への入出力が必要になると、対象装置の装置番号とI/Oの内容を指定して、I/O処理手段150にI/O要求を発行する。I/O処理手段150は、I/O要求の装置番号で装置管理テーブル101の中を検索し装置番号に対応するエントリの仮想装置フラグでI/O要求の装置が実装置か仮想装置かを判断し、仮想装置フラグが立っていない実装置に対するI/Oの場合は、実装置に対してI/Oを実行する。仮想装置フラグが立っている仮想装置に対するI/Oであった場合は、エミュレート処理依頼手段160に処理を渡す。 FIG. 10 is a flowchart for explaining the operation of each emulating means 170. First, in S71, an I / O request event is waited for with a semaphore address passed as an argument. Finally, in S72, I / O emulation is performed according to the content of the I / O request acquired from the semaphore. When the computer is started up and a business operation is performed, an input / output request to the apparatus is generated, and as shown in FIG. 6 , I / O request means 140, I / O processing means 150, emulation processing request means 160, and emulation means 170. I / O is processed in the order of. When input / output to / from the device is required during business processing, the I / O request unit 140 designates the device number of the target device and the contents of the I / O, and sends an I / O request to the I / O processing unit 150. Issue. The I / O processing means 150 searches the device management table 101 with the device number of the I / O request, and determines whether the device with the I / O request is a mounted virtual device with the virtual device flag of the entry corresponding to the device number. However, in the case of I / O for a real device for which no virtual device flag is set, I / O is executed for the real device. If the I / O is for a virtual device for which the virtual device flag is set, the processing is transferred to the emulation processing requesting means 160.

図11は、エミュレート処理依頼手段160の動作を説明するためのフローチャートである。まず、S81において装置管理テーブル101を検索しI/O要求の装置のエントリから仮想装置グループ番号を取得する。次に、S82において仮想装置グループ管理テーブル102を参照して、当該仮想装置グループのセマフォアドレスを取得する。最後に、S83においてセマフォ103に対して、仮想装置30の装置番号とI/Oの内容を通知する。エミュレート手段170は、仮想装置30への入出力要求のイベントをセマフォ103から受け取ると、図10に示したS72の処理で、エミュレート処理を実行し、エミュレート処理が完了したらS71に戻る。   FIG. 11 is a flowchart for explaining the operation of the emulation process request unit 160. First, in S81, the device management table 101 is searched, and the virtual device group number is acquired from the device entry of the I / O request. Next, in S82, the virtual device group management table 102 is referred to, and the semaphore address of the virtual device group is acquired. Finally, in S83, the semaphore 103 is notified of the device number of the virtual device 30 and the contents of the I / O. Upon receiving an event of an input / output request to the virtual device 30 from the semaphore 103, the emulation unit 170 executes the emulation process in the process of S72 shown in FIG. 10, and returns to S71 when the emulation process is completed.

図12は、業務が複数同時に実行中で、I/Oを発行するI/O要求手段140が複数存在した場合のエミュレーション装置10のブロック図である。1つのエミュレート手段170がエミュレート処理中であっても、別のI/O要求手段140が発行した後発のI/O要求が別の仮想装置グループであれば、別のエミュレート手段170がエミュレート処理を並行して実行できる。例えば図12のケースで業務ジョブAが装置番号1(仮想装置グループ番号1)に対してI/Oする場合、エミュレート手段170Aでエミュレートし、同時に業務ジョブBが装置番号2(仮想装置グループ番号2)に対してI/Oする場合、エミュレート手段170Bでエミュレートするというように、仮想装置グループを複数設定するとグループの数だけエミュレート手段が動作し、エミュレート手段の数だけI/O要求を同時に実行できる。   FIG. 12 is a block diagram of the emulation apparatus 10 when a plurality of tasks are being executed simultaneously and there are a plurality of I / O request means 140 for issuing I / O. Even if one emulation means 170 is in the process of being emulated, if another I / O request issued by another I / O request means 140 is another virtual device group, another emulation means 170 Emulation processing can be executed in parallel. For example, in the case of FIG. 12, when business job A performs I / O to device number 1 (virtual device group number 1), emulation is performed by emulating means 170A, and at the same time, business job B is device number 2 (virtual device group) In the case of performing I / O for the number 2), when a plurality of virtual device groups are set, such as emulating by the emulating means 170B, the emulating means operates as many as the number of groups, and as many I / O as the number of emulating means O requests can be executed simultaneously.

図12のように、装置番号1の仮想装置グループ番号1の優先順位が1で装置番号2の仮想装置グループ番号2の優先順位が3の場合、業務ジョブAの装置番号1に対するI/Oのエミュレート手段170Aが優先して処理される。   As shown in FIG. 12, when the priority of the virtual device group number 1 of the device number 1 is 1 and the priority of the virtual device group number 2 of the device number 2 is 3, the I / O for the device number 1 of the job A The emulation means 170A is processed with priority.

(実施形態1のエミュレーションプログラム)
実施形態1のエミュレーションプログラムは、実施形態1のエミュレーション装置の構成及び動作から明らかなとおり、アプリケーションプログラムに接続される仮想装置を駆動するためにコンピュータを、上記仮想装置の各々を、上記アプリケーションプログラムに基づいてグループ分けするグループ分け手段、及び上記優先順位に基づいて上記仮想装置を駆動するエミュレート手段として機能させる。
(Emulation program of Embodiment 1)
As is apparent from the configuration and operation of the emulation apparatus according to the first embodiment, the emulation program according to the first embodiment uses a computer to drive a virtual apparatus connected to the application program, and each of the virtual apparatuses into the application program. It functions as grouping means for grouping based on the above, and as emulating means for driving the virtual device based on the priority order.

ここに、該グループ分けは、上記アプリケーションプログラムを実行する優先順位に基づいて行なわれる。   Here, the grouping is performed based on the priority order of executing the application program.

さらに、上記コンピュータを、上記アプリケーションプログラムの入出力要求を入力するI/O処理手段としてさらに機能させ、上記アプリケーションプログラムに接続される入出力装置が実装置であるときは、上記I/O処理手段が上記実装置を駆動し、上記入出力装置が上記仮想装置であるときは、上記I/O処理手段からの入出力要求に基づいて上記エミュレート手段が上記仮想装置を駆動する。   Further, when the computer further functions as I / O processing means for inputting an input / output request of the application program, and the input / output device connected to the application program is a real device, the I / O processing means Drives the real device, and when the input / output device is the virtual device, the emulation means drives the virtual device based on an input / output request from the I / O processing means.

さらに、上記コンピュータを、上記仮想装置の装置番号、それが属するグループ番号、及び上記アプリケーションプログラムの上記優先順位と、上記実装置の装置番号とを格納する装置管理テーブルを作成する装置管理テーブル作成手段としてさらに機能させ、上記I/O処理手段は上記装置管理テーブルに基づいて上記実装置を駆動してもよい。   Further, device management table creating means for creating a device management table for storing the device number of the virtual device, the group number to which the computer belongs, the priority of the application program, and the device number of the real device. The I / O processing means may drive the real device based on the device management table.

さらに、上記コンピュータを、上記装置管理テーブルに基づいて上記仮想装置が属するグループ番号、上記仮想装置のセマフォ、及び上記アプリケーションプログラムの上記優先順位を格納する仮想装置グループ管理テーブルを作成する仮想装置グループ管理テーブル作成手段としてさらに機能させ、上記I/O処理手段からの入出力要求と上記仮想装置グループ管理テーブルとに基づいて上記エミュレート手段が上記仮想装置を駆動する。   Further, the virtual device group management for creating the virtual device group management table for storing the computer, the group number to which the virtual device belongs, the semaphore of the virtual device, and the priority of the application program based on the device management table It further functions as a table creation unit, and the emulation unit drives the virtual device based on an input / output request from the I / O processing unit and the virtual device group management table.

(実施形態1のエミュレーション方法)
図13は、実施形態1のエミュレーション方法を説明するためのフローチャートである。
(Emulation method of Embodiment 1)
FIG. 13 is a flowchart for explaining the emulation method of the first embodiment.

まず、S131において、装置管理情報入力装置20から装置管理テーブル作成手段110に入力すべき装置管理定義情報を定義する。次に、S132において、装置管理定義情報入力装置20から入力された装置管理定義情報を、装置管理テーブル作成手段110により装置管理テーブル101の形に作成する。次に、S133において、仮想装置グループ管理テーブル作成手段120により、装置管理テーブル101の中から仮想装置グループを選択し、セマフォアドレスを付与し、優先順位とともに仮想装置グループ管理テーブル102に格納する。次に、S134において、アプリケーションプログラムからのI/O要求を待受ける。   First, in S131, device management definition information to be input from the device management information input device 20 to the device management table creating unit 110 is defined. In step S132, the device management definition information input from the device management definition information input device 20 is created in the form of the device management table 101 by the device management table creation unit 110. In step S133, the virtual device group management table creating unit 120 selects a virtual device group from the device management table 101, assigns a semaphore address, and stores the virtual device group in the virtual device group management table 102 together with the priority order. Next, in S134, it waits for an I / O request from the application program.

次に、S135において、I/O処理手段150により、I/O要求に係る入出力装置が仮想装置30であると判定されたときは、S136に進み、エミュレート処理依頼手段160により、仮想装置グループ管理テーブル102の中からI/O要求のセマフォアドレスを取得し、取得したセマフォをエミュレート手段170に送信する。これにより、S137において、エミュレーションが開始され、S138において仮想装置30が駆動される。すなわち、S138において、実装置40がエミュレートされ、S140において実装置40が駆動され、エミュレーションの全過程が完了する。   Next, in S135, when the I / O processing unit 150 determines that the input / output device related to the I / O request is the virtual device 30, the process proceeds to S136, and the emulation processing request unit 160 causes the virtual device to The semaphore address of the I / O request is acquired from the group management table 102, and the acquired semaphore is transmitted to the emulating means 170. As a result, emulation starts in S137, and the virtual device 30 is driven in S138. That is, in S138, the real device 40 is emulated, and in S140, the real device 40 is driven to complete the entire emulation process.

一方、S135において、I/O処理手段150により、I/O要求に係る入出力装置が実装置40であると判定されたときは、S139に進み、I/O処理手段150により直接I/O処理が行なわれるS140により実装置40が駆動され、アプリケーションプログラムとの間のI/O処理が完了する。   On the other hand, when the I / O processing unit 150 determines that the input / output device related to the I / O request is the real device 40 in S135, the process proceeds to S139, and the I / O processing unit 150 directly performs the I / O processing. The actual device 40 is driven by S140 where the processing is performed, and the I / O processing with the application program is completed.

(実施形態1の効果)
実施形態1によれば、エミュレート処理を仮想装置グループ毎に負荷分散できる。その理由は、エミュレート手段を仮想装置グループ毎に分けて複数用意するため、他の仮想装置グループのエミュレート処理に影響されることなく別のエミュレート処理が行えるためである。また、仮想装置グループ数だけ、エミュレート処理を並列実行できるためである。
(Effect of Embodiment 1)
According to the first embodiment, the emulation process can be load-balanced for each virtual device group. This is because a plurality of emulation means are prepared separately for each virtual device group, so that another emulation process can be performed without being affected by the emulation process of other virtual device groups. This is because the emulation processing can be executed in parallel by the number of virtual device groups.

[実施形態2]
(実施形態2のエミュレーション装置の構成)
図14は、実施形態2のエミュレーション装置のブロック図である。実施形態2のエミュレーション装置10は、装置管理定義情報入力装置20と、仮想装置30と、実装置40に接続されている。エミュレーション装置10は、装置管理テーブル作成手段110と、仮想装置グループ管理テーブル作成手段120と、エミュレート起動手段130と、I/O要求手段140と、I/O処理手段150と、エミュレート処理依頼手段160と、優先順位取得手段161と、エミュレート手段170を含む。実施形態2のエミュレーション装置は、優先順位取得手段161をさらに備える以外は実施形態1のエミュレーション装置と同じである。
[Embodiment 2]
(Configuration of Emulation Device of Embodiment 2)
FIG. 14 is a block diagram of the emulation apparatus according to the second embodiment. The emulation device 10 according to the second embodiment is connected to the device management definition information input device 20, the virtual device 30, and the real device 40. The emulation device 10 includes a device management table creation unit 110, a virtual device group management table creation unit 120, an emulation start unit 130, an I / O request unit 140, an I / O processing unit 150, and an emulation processing request. Means 160, priority order obtaining means 161, and emulating means 170 are included. The emulation apparatus according to the second embodiment is the same as the emulation apparatus according to the first embodiment except that the emulation apparatus further includes a priority order acquisition unit 161.

装置管理テーブル作成手段110は、コンピュータに接続される全ての装置および仮想装置に対して、装置番号と、装置情報と、仮想装置か否かを示す仮想装置フラグと、仮想装置グループ番号と、優先順位とが定義された情報を、装置管理定義情報入力装置20から入力し、装置管理テーブル101を作成する。仮想装置グループ管理テーブル作成手段120は、装置管理テーブル作成手段110が作成した装置管理テーブル101から、仮想装置の仮想装置グループ番号と、優先順位を入力し、仮想装置グループ管理テーブル102を作成する。また仮想装置グループ毎にセマフォを割り当てて、セマフォのアドレスを仮想装置グループ管理テーブル102に格納する。   The device management table creating unit 110 has a device number, device information, a virtual device flag indicating whether or not the device is a virtual device, a virtual device group number, and priority for all devices and virtual devices connected to the computer. The information in which the rank is defined is input from the device management definition information input device 20, and the device management table 101 is created. The virtual device group management table creation unit 120 inputs the virtual device group number and priority of the virtual device from the device management table 101 created by the device management table creation unit 110, and creates the virtual device group management table 102. A semaphore is assigned to each virtual device group and the semaphore address is stored in the virtual device group management table 102.

エミュレート起動手段130は、仮想装置グループ管理テーブル102に従って、エミュレート手段170を起動する。I/O要求手段140は、業務処理を行うジョブであり、I/O要求を発行する。I/O処理手段150は、I/O要求の装置番号で装置管理テーブル101の中を検索し装置番号に対応するエントリの仮想装置フラグでI/O要求の装置が実装置40か仮想装置30かを判断する。そして、仮想装置フラグが立っていない実装置に対するI/Oの場合は、実装置40に対してI/Oを実行する。仮想装置フラグが立っている仮想装置30に対するI/Oであった場合は、エミュレート処理依頼手段160に処理を渡す。   The emulation activation unit 130 activates the emulation unit 170 according to the virtual device group management table 102. The I / O request unit 140 is a job that performs business processing, and issues an I / O request. The I / O processing means 150 searches the device management table 101 by the device number of the I / O request, and the device of the I / O request is the real device 40 or the virtual device 30 by the virtual device flag of the entry corresponding to the device number. Determine whether. In the case of I / O for an actual device for which no virtual device flag is set, I / O is executed for the actual device 40. If the I / O is for the virtual device 30 for which the virtual device flag is set, the processing is transferred to the emulation processing requesting means 160.

エミュレート処理依頼手段160は、優先順位取得手段161を呼び出した後、仮想装置グループ管理テーブル102を参照し、セマフォ103のアドレスを取得し、優先順位取得手段161で取得した優先順位で仮想装置30への入出力のエミュレート処理を依頼する。優先順位取得手段161は、装置管理テーブル101を参照し、優先順位を取得し、エミュレート処理依頼手段160に送付する。エミュレート手段170は、仮想装置30への入出力のエミュレート処理を実行する。   The emulation process request unit 160 calls the priority order acquisition unit 161, then refers to the virtual device group management table 102, acquires the address of the semaphore 103, and uses the priority order acquired by the priority order acquisition unit 161. Requests emulation processing of input / output to / from. The priority order acquisition unit 161 refers to the device management table 101, acquires the priority order, and sends it to the emulation processing request unit 160. The emulation unit 170 executes an emulation process of input / output to / from the virtual device 30.

(実施形態2のエミュレーション装置の動作)
図5に示したように、コンピュータの立ち上げ時は、装置管理テーブル作成手段110、仮想装置グループ管理テーブル作成手段120、エミュレート起動手段130が動作する。
(Operation of Emulation Device of Embodiment 2)
As shown in FIG. 5, when the computer is started, the device management table creating unit 110, the virtual device group management table creating unit 120, and the emulation starting unit 130 operate.

図7に示したように、装置管理テーブル作成手段110は、S41の処理で装置管理定義情報入力装置20(図2)から装置番号と装置情報を入力して、装置管理テーブル101(図2)のエントリを作成する。次にS42からS43の処理で、装置が仮想装置である場合は、仮想装置か否かの仮想装置フラグを立てて、仮想装置グループ番号と優先順位を装置管理テーブル101のエントリに格納する。ステップS44以降は、全装置に対してS41からS43を繰り返す。   As shown in FIG. 7, the device management table creation means 110 inputs the device number and device information from the device management definition information input device 20 (FIG. 2) in the process of S41, and the device management table 101 (FIG. 2). Create an entry for. Next, in the processing from S42 to S43, if the device is a virtual device, a virtual device flag indicating whether or not the device is a virtual device is set, and the virtual device group number and priority are stored in the entry of the device management table 101. After step S44, S41 to S43 are repeated for all devices.

図8に示したように、仮想装置グループ管理テーブル作成手段120は、S51の処理で装置管理テーブル101から、仮想装置のフラグの立っている仮想装置の装置番号と仮想装置グループ番号と優先順位を入力する。S52の処理では、仮想装置グループ管理テーブル102(図4)を検索し、当該仮想装置グループ番号のエントリがあるか検索し、ない場合はS55を実行しエントリを追加し、S56を実行する。当該仮想装置グループ番号のエントリがある場合はステップS53からS54の処理を実行する。つまりエントリの中の優先順位を取り出し、S51とS53で取り出した優先順位を比較し、S51の優先順位の方が高い場合、S56を実行し、S51の優先順位の方が低い場合または同じ場合、S57を実行し、S56では、S51で取り出した優先順位を仮想装置グループ管理テーブル102の中の、仮想装置グループに対応するエントリ中の優先順位格納領域にセットする。S57では、装置管理テーブル101の中の全仮想装置に対してS51〜S56を繰り返す。S58では、全仮想装置グループに対し、I/O要求通知セマフォを1つずつ割り当て、仮想装置グループ管理テーブル102の中の、全エントリのセマフォアドレス格納領域に各々のセマフォアドレスをセットする。   As shown in FIG. 8, the virtual device group management table creating means 120 obtains the device number, virtual device group number, and priority of the virtual device with the virtual device flag from the device management table 101 in the process of S51. input. In the processing of S52, the virtual device group management table 102 (FIG. 4) is searched to search for the entry of the virtual device group number. If there is no entry, S55 is executed to add an entry, and S56 is executed. If there is an entry for the virtual device group number, the processing of steps S53 to S54 is executed. That is, the priority order in the entry is extracted, the priority levels extracted in S51 and S53 are compared, and if the priority level of S51 is higher, S56 is executed, and if the priority level of S51 is lower or the same, S57 is executed, and in S56, the priority order extracted in S51 is set in the priority order storage area in the entry corresponding to the virtual device group in the virtual device group management table 102. In S57, S51 to S56 are repeated for all virtual devices in the device management table 101. In S58, one I / O request notification semaphore is assigned to each virtual device group, and each semaphore address is set in the semaphore address storage area of all entries in the virtual device group management table 102.

図9に示したように、エミュレート起動手段130は、S61の処理で、仮想装置グループ管理テーブル102中の各仮想装置グループの優先順位で、各エミュレート手段170を起動する。このとき引数として仮想装置グループ管理テーブル102中の各仮想装置グループのセマフォアドレスを受け渡す。   As illustrated in FIG. 9, the emulation starting unit 130 starts up each of the emulating units 170 with the priority of each virtual device group in the virtual device group management table 102 in the process of S61. At this time, a semaphore address of each virtual device group in the virtual device group management table 102 is passed as an argument.

図10に示したように、エミュレート手段170は、S71の処理で、引数として渡されたセマフォアドレスでI/O要求のイベントを待ち合わせ、S72でセマフォから取得したI/O要求の内容に従ってI/Oのエミュレートを行う。 As shown in FIG. 10, each emulating means 170 waits for an I / O request event at the semaphore address passed as an argument in the process of S71, and according to the contents of the I / O request acquired from the semaphore in S72. Emulate I / O.

図15に示すように、コンピュータが立ち上がり、業務が動作すると、装置への入出力要求が発生し、S140において/O要求手段140が動作し、続いてS150においてI/O処理手段150が動作し、続いてS160においてエミュレート処理依頼手段160が動作し、続いてS161において優先順位取得手段161が動作し、続いてS170においてエミュレート手段170が動作する。I/O要求手段140は、業務処理の中で装置への入出力が必要になると、対象装置の装置番号とI/Oの内容を指定して、I/O処理手段150にI/O要求を発行する。I/O処理手段150は、I/O要求の装置番号で装置管理テーブル101の中を検索し装置番号に対応するエントリの仮想装置フラグでI/O要求の装置が実装置か仮想装置かを判断し、仮想装置フラグが立っていない実装置に対するI/Oの場合は、実装置に対してI/Oを実行する。仮想装置フラグが立っている仮想装置に対するI/Oであった場合は、エミュレート処理依頼手段160に処理を渡す。 As shown in FIG. 15, when the computer is started up and a business operation is performed, an input / output request to the apparatus is generated, the I / O request unit 140 operates in S140, and then the I / O processing unit 150 operates in S150. Subsequently, the emulation processing request unit 160 operates in S160, the priority order acquisition unit 161 operates in S161, and then the emulation unit 170 operates in S170. When input / output to / from the device is required during business processing, the I / O request unit 140 designates the device number of the target device and the contents of the I / O, and sends an I / O request to the I / O processing unit 150. Issue. The I / O processing means 150 searches the device management table 101 with the device number of the I / O request, and determines whether the device with the I / O request is a mounted virtual device with the virtual device flag of the entry corresponding to the device number. However, in the case of I / O for a real device for which no virtual device flag is set, I / O is executed for the real device. If the I / O is for a virtual device for which the virtual device flag is set, the processing is transferred to the emulation processing requesting means 160.

エミュレート処理依頼手段160は、図16に示したS181の処理で装置管理テーブル101を検索しI/O要求の装置のエントリから仮想装置グループ番号を取得する。次に、S182の処理で装置管理テーブル101を検索してI/O要求の装置のエントリから優先順位を取得する。次に、S183の処理で仮想装置グループ管理テーブル102を参照して、当該仮想装置グループのセマフォアドレスを取得し、S184の処理でセマフォ103に対して、仮想装置30の装置番号とI/Oの内容を通知する。このとき、エミュレート処理の依頼に加えて、優先順位取得手段161で取得した優先順位も受け渡し、エミュレート処理の依頼イベントが溜まっている場合には、イベントが優先順位順に並ぶようにキューイングする。このとき、既にキューイングされているI/O要求があったとしても、それよりも後発のI/O要求の優先順位が高い場合は、後発のI/O要求は、先発のI/O要求よりも前にキューイングされる。   The emulation processing requesting means 160 searches the device management table 101 in the processing of S181 shown in FIG. 16, and acquires the virtual device group number from the device entry of the I / O request. Next, in the process of S182, the device management table 101 is searched to obtain the priority from the device entry of the I / O request. Next, the semaphore address of the virtual device group is obtained by referring to the virtual device group management table 102 in the process of S183, and the device number and I / O of the virtual device 30 are obtained for the semaphore 103 in the process of S184. Notify the contents. At this time, in addition to the request for the emulation process, the priority order acquired by the priority order acquisition unit 161 is also transferred, and when the event for requesting the emulation process is accumulated, the events are queued so that they are arranged in the order of priority. . At this time, even if there is an I / O request already queued, if the priority of the subsequent I / O request is higher than that, the subsequent I / O request is the first I / O request. Queued before.

図17に示すように、装置番号1へ優先順位2のI/Oが既にセマフォにキューイングされていて、後発の装置番号2へ優先順位1のI/Oが発行されたときには、先発のI/Oの前に後発のI/O要求が割り込むことになり、優先順位の高い装置へのI/Oが先に処理されることになる。   As shown in FIG. 17, when an I / O of priority 2 is already queued to the semaphore for the device number 1 and an I / O of priority 1 is issued to the subsequent device number 2, the first I / O is issued. A later I / O request is interrupted before / O, and an I / O to a device with a higher priority is processed first.

最後に、エミュレート手段170は、セマフォ103から仮想装置30への入出力要求のイベントをキューイングされている先頭の要求を受け取ると、図10に示したS72の処理で、エミュレート処理を実行し、エミュレート処理が完了したらS71へ戻る。   Finally, upon receiving the first request queued for an input / output request event from the semaphore 103 to the virtual device 30, the emulation unit 170 executes the emulation process in the process of S72 shown in FIG. When the emulation process is completed, the process returns to S71.

(実施形態2のエミュレーションプログラム)
実施形態2のエミュレーションプログラムは、実施形態2のエミュレーション装置の構成及び動作から明らかなとおり、アプリケーションプログラムに接続される仮想装置を駆動するためにコンピュータを、上記仮想装置の各々を、上記アプリケーションプログラムに基づいてグループ分けするグループ分け手段、及び上記優先順位に基づいて上記仮想装置を駆動するエミュレート手段として機能させる。ここに、該グループ分けは、上記アプリケーションプログラムを実行する優先順位に基づいて行なわれる。
(Emulation program of Embodiment 2)
As is apparent from the configuration and operation of the emulation apparatus of the second embodiment, the emulation program of the second embodiment uses a computer to drive a virtual apparatus connected to the application program, and each of the virtual apparatuses to the application program. It functions as grouping means for grouping based on the above, and as emulating means for driving the virtual device based on the priority order. Here, the grouping is performed based on the priority order of executing the application program.

さらに、上記コンピュータを、上記アプリケーションプログラムの入出力要求を入力するI/O処理手段としてさらに機能させ、上記アプリケーションプログラムに接続される入出力装置が実装置であるときは、上記I/O処理手段が上記実装置を駆動し、上記入出力装置が上記仮想装置であるときは、上記I/O処理手段からの入出力要求に基づいて上記エミュレート手段が上記仮想装置を駆動する。   Further, when the computer further functions as I / O processing means for inputting an input / output request of the application program, and the input / output device connected to the application program is a real device, the I / O processing means Drives the real device, and when the input / output device is the virtual device, the emulation means drives the virtual device based on an input / output request from the I / O processing means.

さらに、上記コンピュータを、上記仮想装置の装置番号、それが属するグループ番号、及び上記アプリケーションプログラムの上記優先順位と、上記実装置の装置番号とを格納する装置管理テーブルを作成する装置管理テーブル作成手段としてさらに機能させ、上記I/O処理手段は上記装置管理テーブルに基づいて上記実装置を駆動してもよい。   Further, device management table creating means for creating a device management table for storing the device number of the virtual device, the group number to which the computer belongs, the priority of the application program, and the device number of the real device. The I / O processing means may drive the real device based on the device management table.

さらに、上記コンピュータを、上記装置管理テーブルに基づいて上記仮想装置が属するグループ番号、上記仮想装置のセマフォ、及び上記アプリケーションプログラムの上記優先順位を格納する仮想装置グループ管理テーブルを作成する仮想装置グループ管理テーブル作成手段としてさらに機能させ、上記I/O処理手段からの入出力要求と上記仮想装置グループ管理テーブルとに基づいて上記エミュレート手段が上記仮想装置を駆動する。ここまでは、実施形態2のエミュレーションプログラムの内容は実施形態1のものと同じである。   Further, the virtual device group management for creating the virtual device group management table for storing the computer, the group number to which the virtual device belongs, the semaphore of the virtual device, and the priority of the application program based on the device management table It further functions as a table creation unit, and the emulation unit drives the virtual device based on an input / output request from the I / O processing unit and the virtual device group management table. Up to this point, the contents of the emulation program of the second embodiment are the same as those of the first embodiment.

さらに、実施形態2のエミュレーションプログラムでは、上記コンピュータを、上記装置管理テーブルから上記優先順位を取得する優先順位取得手段、及び上記仮想装置グループ管理テーブルから上記セマフォを入力するエミュレート処理依頼手段としてさらに機能させ、上記エミュレート処理依頼手段は、上記I/O処理手段からのI/O処理依頼があれば、上記I/O処理依頼に係る上記装置管理テーブルの上記優先順位及び上記仮想装置グループ番号の上記セマフォとに基づいて、上記エミュレート手段を駆動する。   Furthermore, in the emulation program according to the second embodiment, the computer is further used as a priority acquisition unit that acquires the priority from the device management table and an emulation processing request unit that inputs the semaphore from the virtual device group management table. If the I / O processing request is received from the I / O processing unit, the emulation processing requesting unit is configured so that the priority of the device management table related to the I / O processing request and the virtual device group number The emulation means is driven based on the semaphore.

(実施形態2のエミュレーション方法)
図18は、実施形態2のエミュレーション方法を説明するためのフローチャートである。実施形態2のエミュレーション方法は、図13に示したS136がS171に変更されていることを除けば、実施形態1のもの(図13)と同じである。
(Emulation method of Embodiment 2)
FIG. 18 is a flowchart for explaining the emulation method of the second embodiment. The emulation method of the second embodiment is the same as that of the first embodiment (FIG. 13) except that S136 shown in FIG. 13 is changed to S171.

S171においては、エミュレート処理依頼手段160により、装置管理テーブルから優先順位が取得され、仮想装置グループ管理手段からセマフォが取得される。その理由は、エミュレート処理依頼手段160が優先順位取得手段161を呼び出した後、仮想装置グループ管理テーブル102を参照し、セマフォ103のアドレスを取得し、優先順位取得手段161で取得した優先順位で仮想装置30への入出力のエミュレート処理を依頼するためである。   In S171, the emulation processing request unit 160 acquires the priority from the device management table, and acquires the semaphore from the virtual device group management unit. The reason is that the emulation processing requesting means 160 calls the priority order obtaining means 161, then refers to the virtual device group management table 102, obtains the address of the semaphore 103, and uses the priority order obtained by the priority order obtaining means 161. This is to request an emulation process of input / output to the virtual device 30.

(実施形態2の効果)
実施形態2によれば、優先順位取得手段161で取得した優先順位で仮想装置30への入出力のエミュレート処理を依頼することができるため、最優先のジョブを迅速に処理できる。各エミュレート手段は、仮想装置毎に設定された優先順位に従ってエミュレート処理を実行するように構成されているため、同一仮想装置グループの中でも仮想装置毎にエミュレート処理を優先順位づけできる。つまり、装置に設定した優先順位に従ってI/Oの処理順序が変わり、優先して処理したい業務(I/O)を先に処理できるようになる。
(Effect of Embodiment 2)
According to the second embodiment, it is possible to request the emulation process of input / output to the virtual device 30 with the priority order acquired by the priority order acquisition unit 161, so that the job with the highest priority can be processed quickly. Since each emulation means is configured to execute the emulation process according to the priority order set for each virtual device, the emulation process can be prioritized for each virtual device even in the same virtual device group. In other words, the processing order of I / O changes according to the priority order set in the apparatus, and a task (I / O) to be processed with priority can be processed first.

[実施形態3]
(実施形態3のエミュレーション装置の構成)
図19は、実施形態3のエミュレーション装置のブロック図である。実施形態3のエミュレーション装置10は、装置管理定義情報入力装置20と、仮想装置30と、実装置40と、操作卓50に接続されている。エミュレーション装置10は、装置管理テーブル作成手段110と、仮想装置グループ管理テーブル作成手段120と、エミュレート起動手段130と、I/O要求手段140と、I/O処理手段150と、エミュレート処理依頼手段160と、エミュレート手段170と、優先順位変更手段181を含む。実施形態3のエミュレーション装置は、優先順位変更手段181をさらに含むことを除き、実施形態2のエミュレーション装置と同じである。
[Embodiment 3]
(Configuration of Emulation Device of Embodiment 3)
FIG. 19 is a block diagram of an emulation apparatus according to the third embodiment. The emulation device 10 according to the third embodiment is connected to the device management definition information input device 20, the virtual device 30, the real device 40, and the console 50. The emulation device 10 includes a device management table creation unit 110, a virtual device group management table creation unit 120, an emulation start unit 130, an I / O request unit 140, an I / O processing unit 150, and an emulation processing request. A means 160, an emulating means 170, and a priority order changing means 181 are included. The emulation apparatus according to the third embodiment is the same as the emulation apparatus according to the second embodiment except that the emulation apparatus further includes a priority changing unit 181.

装置管理テーブル作成手段110は、エミュレーション装置10に接続される全ての装置および仮想装置に対して、装置番号と、装置情報と、仮想装置か否かを示す仮想装置フラグと、仮想装置グループ番号と、優先順位とが定義された情報を装置管理定義情報入力装置20から入力し、装置管理テーブル101を作成する。   The device management table creation unit 110, for all devices and virtual devices connected to the emulation device 10, has a device number, device information, a virtual device flag indicating whether or not the device is a virtual device, and a virtual device group number. Then, the information in which the priority order is defined is input from the device management definition information input device 20, and the device management table 101 is created.

仮想装置グループ管理テーブル作成手段120は、装置管理テーブル作成手段110が作成した装置管理テーブル101から、仮想装置の仮想装置グループ番号と、優先順位を入力し、仮想装置グループ管理テーブル102を作成する。また仮想装置グループ毎にセマフォを割り当てて、セマフォのアドレスを仮想装置グループ管理テーブル102に格納する。   The virtual device group management table creation unit 120 inputs the virtual device group number and priority of the virtual device from the device management table 101 created by the device management table creation unit 110, and creates the virtual device group management table 102. A semaphore is assigned to each virtual device group and the semaphore address is stored in the virtual device group management table 102.

エミュレート起動手段130は、仮想装置グループ管理テーブル102に従って、エミュレート手段170を起動する。I/O要求手段140は、業務処理を行うジョブであり、I/O要求を発行する。I/O処理手段150は、I/O要求の装置番号で装置管理テーブル101の中を検索し装置番号に対応するエントリの仮想装置フラグでI/O要求の装置が実装置か仮想装置かを判断し、仮想装置フラグが立っていない実装置に対するI/Oの場合は、実装置に対してI/Oを実行する。仮想装置フラグが立っている仮想装置に対するI/Oであった場合は、エミュレート処理依頼手段160に処理を渡す。   The emulation activation unit 130 activates the emulation unit 170 according to the virtual device group management table 102. The I / O request unit 140 is a job that performs business processing, and issues an I / O request. The I / O processing means 150 searches the device management table 101 with the device number of the I / O request, and determines whether the device with the I / O request is a mounted virtual device with the virtual device flag of the entry corresponding to the device number. However, in the case of I / O for a real device for which no virtual device flag is set, I / O is executed for the real device. If the I / O is for a virtual device for which the virtual device flag is set, the processing is transferred to the emulation processing requesting means 160.

エミュレート処理依頼手段160は、優先順位取得手段161を呼び出した後、仮想装置グループ管理テーブル102を参照し、セマフォ103のアドレスを取得し、優先順位取得手段161で取得した優先順位で仮想装置への入出力のエミュレート処理を依頼する。優先順位取得手段161は、装置管理テーブル101を参照し、優先順位を取得し、エミュレート処理依頼手段160に送付する。エミュレート手段170は、仮想装置30への入出力のエミュレート処理を実行する。優先順位変更手段181は、指定された仮想装置グループ番号に対応するエミュレート手段170の実行優先順位を変更する。   The emulation process request unit 160 calls the priority order acquisition unit 161, then refers to the virtual device group management table 102, acquires the address of the semaphore 103, and sends it to the virtual device with the priority order acquired by the priority order acquisition unit 161. Requests emulation processing of input / output. The priority order acquisition unit 161 refers to the device management table 101, acquires the priority order, and sends it to the emulation processing request unit 160. The emulation unit 170 executes an emulation process of input / output to / from the virtual device 30. The priority changing unit 181 changes the execution priority of the emulating unit 170 corresponding to the designated virtual device group number.

図5に示したように、コンピュータの立ち上げ時は、装置管理テーブル作成手段110、仮想装置グループ管理テーブル作成手段120、エミュレート起動手段130が動作する。   As shown in FIG. 5, when the computer is started, the device management table creating unit 110, the virtual device group management table creating unit 120, and the emulation starting unit 130 operate.

図7に示したように、装置管理テーブル作成手段110は、S41の処理で装置管理定義情報入力装置20(図2)から装置番号と装置情報を入力して、装置管理テーブル101(図3)のエントリを作成する。S42からS43の処理で、装置が仮想装置である場合は、仮想装置か否かの仮想装置フラグを立てて、仮想装置グループ番号と優先順位を装置管理テーブル101のエントリに格納する。S44以降は、全装置に対してS41からS43を繰り返す。   As shown in FIG. 7, the device management table creating means 110 inputs the device number and device information from the device management definition information input device 20 (FIG. 2) in the process of S41, and the device management table 101 (FIG. 3). Create an entry for. If the device is a virtual device in the processing from S42 to S43, a virtual device flag indicating whether or not the device is a virtual device is set, and the virtual device group number and the priority order are stored in the entry of the device management table 101. After S44, S41 to S43 are repeated for all devices.

図8に示したように、仮想装置グループ管理テーブル作成手段120は、S51の処理で装置管理テーブル101から、仮想装置のフラグの立っている仮想装置の装置番号と仮想装置グループ番号と優先順位を入力するS52の処理では、仮想装置グループ管理テーブル102(図12)を検索し、当該仮想装置グループ番号のエントリがあるか検索し、ない場合はS55を実行しエントリを追加し、S56を実行する。当該仮想装置グループ番号のエントリがある場合はS53からS54の処理を実行する。つまりエントリの中の優先順位を取り出し、S51とS53で取り出した優先順位を比較し、S51の優先順位の方が高い場合、S56を実行し、S51の優先順位の方が低い場合または同じ場合、S57を実行し、S56では、S51で取り出した優先順位を仮想装置グループ管理テーブル102の中の、仮想装置グループに対応するエントリ中の優先順位格納領域にセットする。S57では、装置管理テーブル101の中の全仮想装置に対してS51〜S56を繰り返す。S58では、全仮想装置グループに対し、I/O要求通知セマフォを1つずつ割り当て、仮想装置グループ管理テーブル102の中の、全エントリのセマフォアドレス格納領域に各々のセマフォアドレスをセットする。   As shown in FIG. 8, the virtual device group management table creating means 120 obtains the device number, virtual device group number, and priority of the virtual device with the virtual device flag from the device management table 101 in the process of S51. In the processing of S52 to be input, the virtual device group management table 102 (FIG. 12) is searched to search for an entry of the virtual device group number. If there is no entry, S55 is executed to add an entry, and S56 is executed. . If there is an entry for the virtual device group number, the processing from S53 to S54 is executed. That is, the priority order in the entry is extracted, the priority levels extracted in S51 and S53 are compared, and if the priority level of S51 is higher, S56 is executed, and if the priority level of S51 is lower or the same, S57 is executed, and in S56, the priority order extracted in S51 is set in the priority order storage area in the entry corresponding to the virtual device group in the virtual device group management table 102. In S57, S51 to S56 are repeated for all virtual devices in the device management table 101. In S58, one I / O request notification semaphore is assigned to each virtual device group, and each semaphore address is set in the semaphore address storage area of all entries in the virtual device group management table 102.

図9に示したように、エミュレート起動手段130は、S61の処理で、仮想装置グループ管理テーブル102中の各仮想装置グループの優先順位で、各エミュレート手段170を起動する。このとき引数として仮想装置グループ管理テーブル102中の各仮想装置グループのセマフォアドレスを受け渡す。   As illustrated in FIG. 9, the emulation starting unit 130 starts up each of the emulating units 170 with the priority of each virtual device group in the virtual device group management table 102 in the process of S61. At this time, a semaphore address of each virtual device group in the virtual device group management table 102 is passed as an argument.

図10に示したように、各エミュレート手段のエミュレート手段170は、S71の処理で引数として渡されたセマフォアドレスでI/O要求のイベントを待ち合わせ、S72においてI/Oのエミュレートを行う。   As shown in FIG. 10, the emulation means 170 of each emulation means waits for an I / O request event with the semaphore address passed as an argument in the processing of S71, and performs I / O emulation in S72. .

図15に示したように、コンピュータが立ち上がり、業務が動作すると、装置への入出力要求が発生し、I/O要求手段140、I/O処理手段150、エミュレート処理依頼手段160、優先順位取得手段161、エミュレート手段170の順にI/Oが処理されていく。   As shown in FIG. 15, when a computer is started up and a business operation is started, an input / output request to the apparatus is generated, and an I / O request unit 140, an I / O processing unit 150, an emulation processing request unit 160, a priority order are generated. The I / O is processed in the order of the acquisition unit 161 and the emulation unit 170.

I/O要求手段140は、業務処理の中で装置への入出力が必要になると、対象装置の装置番号とI/Oの内容を指定して、I/O処理手段150にI/O要求を発行する。I/O処理手段150は、I/O要求の装置番号で装置管理テーブル101の中を検索し装置番号に対応するエントリからI/O要求の装置が実装置40か仮想装置30かを判断する。そして、実装置に対するI/Oの場合は、実装置40に対してI/Oを実行する。仮想装置30に対するI/Oであった場合は、エミュレート処理依頼手段160に処理を渡す。   When input / output to / from the device is required during business processing, the I / O request unit 140 designates the device number of the target device and the contents of the I / O, and sends an I / O request to the I / O processing unit 150. Is issued. The I / O processing unit 150 searches the device management table 101 with the device number of the I / O request and determines whether the device of the I / O request is the real device 40 or the virtual device 30 from the entry corresponding to the device number. . In the case of I / O for the real device, I / O is executed for the real device 40. If the I / O is for the virtual device 30, the process is transferred to the emulation process request unit 160.

図16に示したように、エミュレート処理依頼手段160は、S181の処理で装置管理テーブル101を検索しI/O要求の装置のエントリから仮想装置グループ番号を取得する。次に、S182の処理で優先順位取得手段161を呼び出して、装置管理テーブル101を検索してI/O要求の装置のエントリから優先順位を取得する。次にS183の処理で仮想装置グループ管理テーブル102を参照して、当該仮想装置グループのセマフォアドレスを取得し、S184の処理でセマフォ103に対して、仮想装置30の装置番号とI/Oの内容を通知する。このとき、エミュレート処理の依頼に加えて、優先順位取得手段161で取得した優先順位も受け渡し、エミュレート処理の依頼イベントが溜まっている場合には、イベントが優先順位順に並ぶようにキューイングする。エミュレート手段170は、セマフォ103から仮想装置30への入出力要求のイベントをキューイングされている先頭の要求を受け取ると、図10のS72の処理で、エミュレート処理を実行し、エミュレート処理が完了したらS71へ戻る。   As shown in FIG. 16, the emulation process request unit 160 searches the apparatus management table 101 in the process of S181 and acquires the virtual apparatus group number from the apparatus entry of the I / O request. Next, in step S182, the priority level acquisition unit 161 is called to search the device management table 101 and acquire the priority level from the device entry of the I / O request. In step S183, the virtual device group management table 102 is referenced to obtain the semaphore address of the virtual device group. In step S184, the device number of the virtual device 30 and the contents of the I / O for the semaphore 103 are acquired. To be notified. At this time, in addition to the request for the emulation process, the priority order acquired by the priority order acquisition unit 161 is also transferred. . Upon receiving the first request queued for an input / output request event from the semaphore 103 to the virtual device 30, the emulation means 170 executes the emulation process in the process of S72 of FIG. When is completed, the process returns to S71.

操作卓50から優先順位変更のコマンドが投入されたときには、優先順位変更手段181がコマンドを受け取って処理する。   When a priority change command is input from the console 50, the priority change means 181 receives the command and processes it.

すなわち、コマンドは装置番号と変更後の優先順位を指定され、対応する仮想装置グループの優先順位と、エミュレート手段170の優先順位を変更するものである。コマンドが投入されると、優先順位変更手段181はコマンドの内容を解析し、装置管理テーブル101を当該装置番号で検索しエントリ中の優先順位を更新し、さらに当該装置の仮想装置グループ番号を取り出し、装置管理テーブル101から同じ仮想装置グループ番号をもつエントリをサーチしてエントリの中で最も高い優先順位を取り出し、仮想装置グループ管理テーブル102中の当該仮想装置グループ番号のエントリの優先順位と比較し、一致しない場合には、仮想装置グループ管理テーブル102の当該エントリを最も高い優先順位に更新する。更新を行った場合は、さらに対応するエミュレート手段170が動作中であるか否かにかかわらず、指定された仮想装置グループ番号に対応するエミュレート手段170の優先順位を変更する。   That is, the command specifies the device number and the priority after the change, and changes the priority of the corresponding virtual device group and the priority of the emulating means 170. When a command is input, the priority changing unit 181 analyzes the contents of the command, searches the device management table 101 with the device number, updates the priority in the entry, and further extracts the virtual device group number of the device. Then, an entry having the same virtual device group number is searched from the device management table 101, the highest priority among the entries is extracted, and compared with the priority of the entry of the virtual device group number in the virtual device group management table 102. If they do not match, the entry in the virtual device group management table 102 is updated to the highest priority. When the update is performed, the priority of the emulating unit 170 corresponding to the designated virtual device group number is changed regardless of whether the corresponding emulating unit 170 is operating.

このとき、同じ装置へのI/Oであっても、コマンド投入後は、変更後の優先順位でエミュレート手段170が動作するので、当該装置へのI/O優先順位が変わる。   At this time, even if the I / O is to the same device, the emulating means 170 operates at the priority after the change after the command is input, so the I / O priority to the device changes.

例えば図20に示すように、業務ジョブAから発行された装置番号1へのI/Oは優先順位が3であり、業務ジョブBから発行された装置番号2へのI/Oの優先順位が2で、業務ジョブBから発行された装置番号2へのI/Oが優先されていたが、コマンド投入後は業務ジョブCから発行された装置番号1へのI/Oは優先順位が1であり、業務ジョブBから発行された装置番号2へのI/Oの優先順位は2であるため、装置番号1へのI/Oが優先される。   For example, as shown in FIG. 20, I / O to device number 1 issued from business job A has priority 3, and I / O to device number 2 issued from business job B has priority. 2, priority was given to I / O to device number 2 issued from business job B, but I / O to device number 1 issued from business job C has priority 1 after the command is input. Yes, since the priority of I / O to device number 2 issued from business job B is 2, I / O to device number 1 is given priority.

(実施形態3のエミュレーションプログラム)
実施形態3のエミュレーションプログラムは、実施形態3のエミュレーション装置の構成及び動作から明らかなとおり、アプリケーションプログラムに接続される仮想装置を駆動するためにコンピュータを、上記仮想装置の各々を、上記アプリケーションプログラムに基づいてグループ分けするグループ分け手段、及び上記優先順位に基づいて上記仮想装置を駆動するエミュレート手段として機能させる。ここに、該グループ分けは、上記アプリケーションプログラムを実行する優先順位に基づいて行なわれる。
(Emulation program of Embodiment 3)
As is apparent from the configuration and operation of the emulation apparatus of the third embodiment, the emulation program of the third embodiment uses a computer to drive a virtual apparatus connected to the application program, and each of the virtual apparatuses to the application program. It functions as grouping means for grouping based on the above, and as emulating means for driving the virtual device based on the priority order. Here, the grouping is performed based on the priority order of executing the application program.

さらに、上記コンピュータを、上記アプリケーションプログラムの入出力要求を入力するI/O処理手段としてさらに機能させ、上記アプリケーションプログラムに接続される入出力装置が実装置であるときは、上記I/O処理手段が上記実装置を駆動し、上記入出力装置が上記仮想装置であるときは、上記I/O処理手段からの入出力要求に基づいて上記エミュレート手段が上記仮想装置を駆動する。   Further, when the computer further functions as I / O processing means for inputting an input / output request of the application program, and the input / output device connected to the application program is a real device, the I / O processing means Drives the real device, and when the input / output device is the virtual device, the emulation means drives the virtual device based on an input / output request from the I / O processing means.

さらに、上記コンピュータを、上記仮想装置の装置番号、それが属するグループ番号、及び上記アプリケーションプログラムの上記優先順位と、上記実装置の装置番号とを格納する装置管理テーブルを作成する装置管理テーブル作成手段としてさらに機能させ、上記I/O処理手段は上記装置管理テーブルに基づいて上記実装置を駆動してもよい。   Further, device management table creating means for creating a device management table for storing the device number of the virtual device, the group number to which the computer belongs, the priority of the application program, and the device number of the real device. The I / O processing means may drive the real device based on the device management table.

さらに、上記コンピュータを、上記装置管理テーブルに基づいて上記仮想装置が属するグループ番号、上記仮想装置のセマフォ、及び上記アプリケーションプログラムの上記優先順位を格納する仮想装置グループ管理テーブルを作成する仮想装置グループ管理テーブル作成手段としてさらに機能させ、上記I/O処理手段からの入出力要求と上記仮想装置グループ管理テーブルとに基づいて上記エミュレート手段が上記仮想装置を駆動する。ここまでは、実施形態1のエミュレーションプログラムの内容は実施形態1のものと同じである。   Further, the virtual device group management for creating the virtual device group management table for storing the computer, the group number to which the virtual device belongs, the semaphore of the virtual device, and the priority of the application program based on the device management table It further functions as a table creation unit, and the emulation unit drives the virtual device based on an input / output request from the I / O processing unit and the virtual device group management table. Up to this point, the contents of the emulation program of the first embodiment are the same as those of the first embodiment.

さらに、実施形態3のエミュレーションプログラムでは、上記コンピュータを、上記装置管理テーブルから上記優先順位を取得する優先順位取得手段、及び上記仮想装置グループ管理テーブルから上記セマフォを入力するエミュレート処理依頼手段としてさらに機能させ、上記エミュレート処理依頼手段は、上記I/O処理手段からのI/O処理依頼があれば、上記I/O処理依頼に係る上記装置管理テーブルの上記優先順位及び上記仮想装置グループ番号の上記セマフォとに基づいて、上記エミュレート手段を駆動する。   Furthermore, in the emulation program according to the third embodiment, the computer is further used as a priority acquisition unit that acquires the priority from the device management table and an emulation processing request unit that inputs the semaphore from the virtual device group management table. If the I / O processing request is received from the I / O processing unit, the emulation processing requesting unit is configured so that the priority of the device management table related to the I / O processing request and the virtual device group number The emulation means is driven based on the semaphore.

(実施形態3のエミュレーション方法)
図21は、実施形態3のエミュレーション方法を説明するためのフローチャートである。実施形態3のエミュレーション方法は、S200が追加されていることを除き、実施形態2のもの(図18)と同じである。
(Emulation method of Embodiment 3)
FIG. 21 is a flowchart for explaining the emulation method of the third embodiment. The emulation method of the third embodiment is the same as that of the second embodiment (FIG. 18) except that S200 is added.

S200においては、操作卓50などから優先順位変更手段181に優先順位の変更が入力された時はS132に戻り装置管理テーブルが更新される。すなわち、エミュレート処理依頼手段160を介して直ちに装置管理テーブル101、仮想装置グループ管理テーブル102中の優先順位が更新される。   In S200, when a priority change is input to the priority changing unit 181 from the console 50 or the like, the process returns to S132 and the device management table is updated. That is, the priority order in the device management table 101 and the virtual device group management table 102 is immediately updated via the emulation processing request unit 160.

なお、S200は、仮想装置グループ管理テーブル作成(S133)後とI/O要求(S134)前に置かれており、優先順位の変更がないときは、S134に戻る。なお、S200は、仮想装置グループ管理テーブル作成(S133)後とI/O要求(S134)前に置かれているが、これに限らず、S132・S133間、S134・S135間、S135・S136間、S136・S137間、S137・S138間等に置かれてもよい。判定結果による分岐は、上述の例に準ずる。   Note that S200 is placed after the creation of the virtual device group management table (S133) and before the I / O request (S134). If there is no change in the priority order, the process returns to S134. S200 is placed after the creation of the virtual device group management table (S133) and before the I / O request (S134). However, the present invention is not limited to this, and it is between S132 and S133, between S134 and S135, and between S135 and S136. , S136 / S137, S137 / S138, etc. The branching based on the determination result conforms to the above example.

(実施形態3の効果)
実施形態3によれば、優先順位変更手段181は、仮想装置の優先順位を動的に変更する機能を提供するため、いずれかの仮想装置を利用する業務を急遽優先処理したい場合や、仮想装置を利用する業務を急遽後回しするような場合に、一時的な急な変更が可能となり、業務運用の自由度が向上する。また、昼間の時間帯と夜間の時間帯では業務の内容が異なり、業務の優先順位が変わる場合においてもそれに応じた優先順位の変更が可能となり、業務にあわせた優先順位の設定が可能となる。
(Effect of Embodiment 3)
According to the third embodiment, the priority changing unit 181 provides a function of dynamically changing the priority of a virtual device, so that a task that uses any of the virtual devices needs to be subjected to priority processing immediately, or the virtual device When a business that uses is suddenly deferred, a temporary and abrupt change is possible, improving the freedom of business operation. In addition, work contents differ between daytime hours and nighttime hours, and even when work priorities change, it is possible to change the priorities accordingly, and it is possible to set priorities according to the work. .

本発明の利用分野は、オペレーティングシステムにより生成された仮想入出力装置などの仮想装置を制御するためのエミュレーションを行うエミュレーション装置、これを利用するコンピュータである。   The field of application of the present invention is an emulation device that performs emulation for controlling a virtual device such as a virtual input / output device generated by an operating system, and a computer using the emulation device.

実施形態1のエミュレーション装置のブロック図Block diagram of emulation device of embodiment 1 装置管理定義情報入力装置の一例Example of device management definition information input device 装置管理テーブルの一例Example of device management table 仮想装置グループ管理テーブルの一例Example of virtual device group management table エミュレーション装置立ち上げのフローチャートEmulator startup flowchart I/O要求発行のフローチャートI / O request issuance flowchart 仮想装置グループ管理テーブルに優先順位をエントリするフローチャートFlow chart for entering priority in virtual device group management table 仮想装置グループ管理テーブルに仮想装置を追加するフローチャートFlow chart for adding a virtual device to the virtual device group management table 優先順位に従ってエミュレート手段を起動する実施形態1のフローチャートFlowchart of Embodiment 1 for activating emulating means according to priority order セマフォに従ってエミュレートを行うフローチャートFlow chart for emulating according to semaphore エミュレート処理依頼手段の動作の実施形態1のフローチャートFlowchart of Embodiment 1 of Operation of Emulation Process Request Unit I/O要求手段が2つある実施形態1のエミュレーション装置のブロック図Block diagram of the emulation apparatus of the first embodiment having two I / O request means 実施形態1のエミュレーション方法のフローチャートFlowchart of emulation method of embodiment 1 実施形態2のエミュレーション装置のブロック図Block diagram of the emulation device of the second embodiment 優先順位に従ってエミュレート手段を起動する実施形態2のフローチャートFlowchart of Embodiment 2 for activating emulating means according to priority order エミュレート処理依頼手段の動作の実施形態2のフローチャートFlowchart of Embodiment 2 of Operation of Emulation Process Request Unit 優先順位とセマフォキューの関係を示すブロック図Block diagram showing the relationship between priorities and semaphore queues 実施形態2のエミュレーション方法のフローチャートFlowchart of emulation method of embodiment 2 実施形態3のエミュレーション装置のブロック図Block diagram of the emulation apparatus of the third embodiment 図19のエミュレーション装置の具体的動作を説明するためのブロック図Block diagram for explaining the specific operation of the emulation device of FIG. 実施形態3のエミュレーション方法のフローチャートFlowchart of emulation method of embodiment 3

符号の説明Explanation of symbols

10 エミュレーション装置
20 装置管理情報入力装置
30 仮想装置
40 実装置
110 装置管理テーブル作成手段
120 仮想装置グループ管理テーブル作成手段
130 エミュレート起動手段
140、140A、140B I/O要求手段
150 I/O処理手段
160 エミュレート処理依頼手段
170、170A、170B エミュレート手段
181 優先順位変更手段
10 emulation device 20 device management information input device 30 virtual device 40 real device 110 device management table creation means 120 virtual device group management table creation means 130 emulation start means 140, 140A, 140B I / O request means 150 I / O processing means 160 Emulation processing request means 170, 170A, 170B Emulation means 181 Priority change means

Claims (3)

装置管理テーブルを作成する装置管理テーブル作成手段と、仮想装置グループ管理テーブルを作成する仮想装置グループ管理テーブル作成手段と、エミュレート起動手段と、I/O要求手段と、I/O処理手段と、エミュレート処理依頼手段と、エミュレート手段とを備え、装置管理定義情報入力装置と、複数のグループに分けられた仮想装置と、実装置とが接続されたエミュレーション装置であって、Device management table creating means for creating a device management table, virtual device group management table creating means for creating a virtual device group management table, emulation starting means, I / O requesting means, I / O processing means, An emulation device comprising an emulation process request means and an emulation means, wherein a device management definition information input device, a virtual device divided into a plurality of groups, and a real device are connected,
前記装置管理テーブル作成手段は、前記実装置及び前記仮想装置に対して、装置番号と、前記仮想装置であるか前記実装置であるかを示す仮想装置フラグと、前記グループの番号と、優先順位とを含む情報を、前記装置管理定義情報入力装置から入力し、これらの情報からなる前記装置管理テーブルを作成し、  The device management table creation means includes, for the real device and the virtual device, a device number, a virtual device flag indicating whether the device is the virtual device or the real device, a group number, and a priority order. Is input from the device management definition information input device, to create the device management table consisting of these information,
前記仮想装置グループ管理テーブル作成手段は、前記装置管理テーブルから前記仮想装置について前記グループの番号及び前記優先順位を含む情報を入力し、これらの情報からなる前記仮想装置グループ管理テーブルを作成し、前記グループ毎にセマフォを割り当て、当該セマフォのアドレスを前記仮想装置グループ管理テーブルに格納し、  The virtual device group management table creating means inputs information including the group number and the priority for the virtual device from the device management table, creates the virtual device group management table composed of these information, and Assign a semaphore for each group, store the address of the semaphore in the virtual device group management table,
前記エミュレート起動手段は、前記仮想装置グループ管理テーブルの前記優先順位に従って前記各エミュレート手段を順次起動するとともに、前記仮想装置グループ管理テーブルの前記セマフォのアドレスを当該各エミュレート手段へ渡し、  The emulation activation means sequentially activates each of the emulation means according to the priority of the virtual device group management table, and passes the address of the semaphore of the virtual device group management table to each of the emulation means.
前記I/O要求手段は、前記装置番号を含むI/O要求を前記I/O処理手段へ発行し、  The I / O request means issues an I / O request including the device number to the I / O processing means,
前記I/O処理手段は、前記I/O要求に含まれる前記装置番号を用いて前記装置管理テーブルの中を検索し、I/Oの対象となる装置が前記実装置であるか前記仮想装置であるかを前記仮想装置フラグから判断し、前記実装置に対するI/Oである場合は当該実装置に対してI/Oを実行し、前記仮想装置に対するI/Oである場合は前記エミュレート処理依頼手段に処理を渡し、  The I / O processing means searches the device management table using the device number included in the I / O request, and determines whether the device to be I / O is the real device or the virtual device. From the virtual device flag, if the I / O is for the real device, I / O is executed for the real device, and if the I / O is for the virtual device, the emulation is performed. Pass the processing to the processing request means,
前記エミュレート処理依頼手段は、前記I/Oの対象となる前記仮想装置に対応する前記セマフォのアドレスを前記仮想装置グループ管理テーブルから取得し、当該セマフォに対して当該仮想装置の前記装置番号と前記I/O要求の内容とを通知し、  The emulation processing requesting unit obtains the address of the semaphore corresponding to the virtual device that is the target of the I / O from the virtual device group management table, and sends the device number of the virtual device to the semaphore. Notify the contents of the I / O request,
前記エミュレート手段は、前記セマフォのアドレスで前記I/O要求のイベントを待ち合わせ、前記セマフォから取得した前記I/O要求の内容に従って前記仮想装置へのI/Oのエミュレート処理を実行する、  The emulation means waits for an event of the I / O request at the address of the semaphore, and executes an I / O emulation process to the virtual device according to the content of the I / O request acquired from the semaphore.
エミュレーション装置。Emulation device.
前記装置管理テーブルから前記優先順位を取得する優先順位取得手段を更に備え、Further comprising priority order acquisition means for acquiring the priority order from the device management table;
前記エミュレート処理依頼手段は、当該セマフォに対して当該仮想装置の前記装置番号と前記I/O要求の内容とに加え前記優先順位取得手段で取得した前記優先順位を通知する、  The emulation process requesting means notifies the priority obtained by the priority order obtaining means in addition to the device number of the virtual device and the contents of the I / O request to the semaphore.
請求項1記載のエミュレーション装置。The emulation device according to claim 1.
優先順位変更手段を更に備えるとともに操作卓が更に接続され、Further provided with a priority changing means and further connected with a console.
前記優先順位変更手段は、前記操作卓から優先順位変更のコマンドが投入されたとき、前記装置管理テーブルの前記優先順位を変更する、  The priority change means changes the priority of the device management table when a priority change command is input from the console.
請求項1又は2記載のエミュレーション装置。The emulation device according to claim 1 or 2.
JP2005104167A 2005-03-31 2005-03-31 Emulation apparatus, program and method Expired - Fee Related JP4728679B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005104167A JP4728679B2 (en) 2005-03-31 2005-03-31 Emulation apparatus, program and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005104167A JP4728679B2 (en) 2005-03-31 2005-03-31 Emulation apparatus, program and method

Publications (2)

Publication Number Publication Date
JP2006285596A JP2006285596A (en) 2006-10-19
JP4728679B2 true JP4728679B2 (en) 2011-07-20

Family

ID=37407467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005104167A Expired - Fee Related JP4728679B2 (en) 2005-03-31 2005-03-31 Emulation apparatus, program and method

Country Status (1)

Country Link
JP (1) JP4728679B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022201908A1 (en) * 2021-03-24 2022-09-29 富士フイルム株式会社 System and method for processing medical information, method for providing medical information processing service, and program

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5983012A (en) * 1993-09-28 1999-11-09 Bull Hn Information Systems Inc. Executing programs of a first system on a second system
JPH10133914A (en) * 1996-11-01 1998-05-22 Nippon Steel Corp Computer system and device input/output simulator
JP2003005987A (en) * 2001-06-19 2003-01-10 Hitachi Ltd Emulation device

Also Published As

Publication number Publication date
JP2006285596A (en) 2006-10-19

Similar Documents

Publication Publication Date Title
US9519943B2 (en) Priority-based command execution
US8695005B2 (en) Model for hosting and invoking applications on virtual machines in a distributed computing environment
US8854663B2 (en) Dynamic print server generation in a distributed printing environment
KR100733852B1 (en) Computer system
CN101821728B (en) Batch processing system
US20170357448A1 (en) Selective i/o prioritization by system process/thread
US12079660B2 (en) Evolutionary modelling based non-disruptive scheduling and management of computation jobs
JP2010122958A (en) Printing control apparatus, printing control method and program
US20110310433A1 (en) Print data delivery device, image forming apparatus and image forming system
CN111506401B (en) Automatic driving simulation task scheduling method and device, electronic equipment and storage medium
US10255099B2 (en) Guest-influenced packet transmission
US20100100891A1 (en) Method and system for data preparation and communication between software applications
CN114968567A (en) Method, apparatus and medium for allocating computing resources of a compute node
JP5030647B2 (en) Method for loading a program in a computer system including a plurality of processing nodes, a computer readable medium containing the program, and a parallel computer system
JP4728679B2 (en) Emulation apparatus, program and method
CN111443984A (en) Container deployment method and device of network function virtualization NVF system
CN111447076B (en) Container deployment method and network element of network function virtualization (NVF) system
US20140095718A1 (en) Maximizing resources in a multi-application processing environment
US9811283B2 (en) System, control device, and method
JP2007052673A (en) Job management system, job management method and job management program
JP4336763B2 (en) Job management system
EP3871090A1 (en) Timer-based i/o completion polling for low latency storage device
JP2999516B2 (en) Character output control method and device for terminal device
WO2018173300A1 (en) I/o control method and i/o control system
US11593159B2 (en) External exception handling

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090810

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110330

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110415

R150 Certificate of patent or registration of utility model

Ref document number: 4728679

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140422

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees