JP4728679B2 - Emulation apparatus, program and method - Google Patents
Emulation apparatus, program and method Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 88
- 230000008569 process Effects 0.000 claims description 68
- 230000008859 change Effects 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
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
ところで、入出力装置には、プリンタ、外部記憶装置、表示装置等があり、各々様々な種別のハードウェアを備えている。上述した従来技術では、装置種別毎に(特許文献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
エミュレーション装置10は、装置管理テーブル101を作成する装置管理テーブル作成手段110と、I/O要求通知セマフォ(以下「セマフォ」という)103を格納する仮想装置グループ管理テーブル102を作成する仮想装置グループ管理テーブル作成手段120と、エミュレート起動手段130と、I/O要求手段140と、I/O処理手段150と、エミュレート処理依頼手段160と、エミュレート手段170を含む。
The
装置管理定義情報入力装置20は、実装置40又は仮想装置30の装置番号、装置情報、仮想装置フラグ(仮想装置30と実装置40を識別するフラグ)、仮想装置グループ番号(実装置40に対してグループ番号は付与されない)、優先順位(実装置40に対して優先順位は付与されない)を、後述する装置管理テーブル作成手段110に入力する。
The device management definition
装置管理テーブル作成手段110は、コンピュータに接続される全ての実装置40および仮想装置30に対して、装置番号と、装置情報と、仮想装置か否かを示す仮想装置フラグと、仮想装置グループ番号と、優先順位とが定義された情報を、装置管理定義情報入力装置20から入力し、装置管理テーブル101を作成する。
The device management
仮想装置グループ管理テーブル作成手段120は、装置管理テーブル作成手段110が作成した装置管理テーブル101から、仮想装置30の仮想装置グループ番号、優先順位を入力し、仮想装置グループ管理テーブル102を作成する。また仮想装置グループ毎にセマフォ(入出力資源を共有して使用するタスク間の動作の同期を取るためのフラグ又はそれを処理するツール。また、タスクは、オペレーションシステムから見たアプリケーションプログラムの1単位)を割り当て、セマフォのアドレスを仮想装置グループ管理テーブル102に格納する。
The virtual device group management
エミュレート起動手段130は、仮想装置グループ管理テーブル102に従って、エミュレート手段170を起動する。I/O要求手段140は、業務処理(アプリケーションプログラム)を実行するジョブであり、I/O要求を発行する。
The
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
エミュレート処理依頼手段160は、仮想装置グループ管理テーブル102を参照し、仮想装置グループ管理テーブル102中のセマフォ103のアドレスを取得し、仮想装置への入出力のエミュレート処理を依頼する。エミュレート手段170は、仮想装置30への入出力のエミュレート処理を実行する。
The emulation
ここで、図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
[実施形態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
又、図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 /
更に、図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
そして、図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
一方、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
図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 /
図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
図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
図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
(実施形態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
次に、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 /
一方、S135において、I/O処理手段150により、I/O要求に係る入出力装置が実装置40であると判定されたときは、S139に進み、I/O処理手段150により直接I/O処理が行なわれるS140により実装置40が駆動され、アプリケーションプログラムとの間のI/O処理が完了する。
On the other hand, when the I /
(実施形態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
装置管理テーブル作成手段110は、コンピュータに接続される全ての装置および仮想装置に対して、装置番号と、装置情報と、仮想装置か否かを示す仮想装置フラグと、仮想装置グループ番号と、優先順位とが定義された情報を、装置管理定義情報入力装置20から入力し、装置管理テーブル101を作成する。仮想装置グループ管理テーブル作成手段120は、装置管理テーブル作成手段110が作成した装置管理テーブル101から、仮想装置の仮想装置グループ番号と、優先順位を入力し、仮想装置グループ管理テーブル102を作成する。また仮想装置グループ毎にセマフォを割り当てて、セマフォのアドレスを仮想装置グループ管理テーブル102に格納する。
The device management
エミュレート起動手段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
エミュレート処理依頼手段160は、優先順位取得手段161を呼び出した後、仮想装置グループ管理テーブル102を参照し、セマフォ103のアドレスを取得し、優先順位取得手段161で取得した優先順位で仮想装置30への入出力のエミュレート処理を依頼する。優先順位取得手段161は、装置管理テーブル101を参照し、優先順位を取得し、エミュレート処理依頼手段160に送付する。エミュレート手段170は、仮想装置30への入出力のエミュレート処理を実行する。
The emulation
(実施形態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
図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
図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においてI/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 /
エミュレート処理依頼手段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
図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
最後に、エミュレート手段170は、セマフォ103から仮想装置30への入出力要求のイベントをキューイングされている先頭の要求を受け取ると、図10に示したS72の処理で、エミュレート処理を実行し、エミュレート処理が完了したらS71へ戻る。
Finally, upon receiving the first request queued for an input / output request event from the
(実施形態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
(実施形態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
[実施形態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
装置管理テーブル作成手段110は、エミュレーション装置10に接続される全ての装置および仮想装置に対して、装置番号と、装置情報と、仮想装置か否かを示す仮想装置フラグと、仮想装置グループ番号と、優先順位とが定義された情報を装置管理定義情報入力装置20から入力し、装置管理テーブル101を作成する。
The device management
仮想装置グループ管理テーブル作成手段120は、装置管理テーブル作成手段110が作成した装置管理テーブル101から、仮想装置の仮想装置グループ番号と、優先順位を入力し、仮想装置グループ管理テーブル102を作成する。また仮想装置グループ毎にセマフォを割り当てて、セマフォのアドレスを仮想装置グループ管理テーブル102に格納する。
The virtual device group management
エミュレート起動手段130は、仮想装置グループ管理テーブル102に従って、エミュレート手段170を起動する。I/O要求手段140は、業務処理を行うジョブであり、I/O要求を発行する。I/O処理手段150は、I/O要求の装置番号で装置管理テーブル101の中を検索し装置番号に対応するエントリの仮想装置フラグでI/O要求の装置が実装置か仮想装置かを判断し、仮想装置フラグが立っていない実装置に対するI/Oの場合は、実装置に対してI/Oを実行する。仮想装置フラグが立っている仮想装置に対するI/Oであった場合は、エミュレート処理依頼手段160に処理を渡す。
The
エミュレート処理依頼手段160は、優先順位取得手段161を呼び出した後、仮想装置グループ管理テーブル102を参照し、セマフォ103のアドレスを取得し、優先順位取得手段161で取得した優先順位で仮想装置への入出力のエミュレート処理を依頼する。優先順位取得手段161は、装置管理テーブル101を参照し、優先順位を取得し、エミュレート処理依頼手段160に送付する。エミュレート手段170は、仮想装置30への入出力のエミュレート処理を実行する。優先順位変更手段181は、指定された仮想装置グループ番号に対応するエミュレート手段170の実行優先順位を変更する。
The emulation
図5に示したように、コンピュータの立ち上げ時は、装置管理テーブル作成手段110、仮想装置グループ管理テーブル作成手段120、エミュレート起動手段130が動作する。
As shown in FIG. 5, when the computer is started, the device management
図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
図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 /
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 /
図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
操作卓50から優先順位変更のコマンドが投入されたときには、優先順位変更手段181がコマンドを受け取って処理する。
When a priority change command is input from the
すなわち、コマンドは装置番号と変更後の優先順位を指定され、対応する仮想装置グループの優先順位と、エミュレート手段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
このとき、同じ装置への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
(実施形態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
なお、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
本発明の利用分野は、オペレーティングシステムにより生成された仮想入出力装置などの仮想装置を制御するためのエミュレーションを行うエミュレーション装置、これを利用するコンピュータである。 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.
10 エミュレーション装置
20 装置管理情報入力装置
30 仮想装置
40 実装置
110 装置管理テーブル作成手段
120 仮想装置グループ管理テーブル作成手段
130 エミュレート起動手段
140、140A、140B I/O要求手段
150 I/O処理手段
160 エミュレート処理依頼手段
170、170A、170B エミュレート手段
181 優先順位変更手段
10
Claims (3)
前記装置管理テーブル作成手段は、前記実装置及び前記仮想装置に対して、装置番号と、前記仮想装置であるか前記実装置であるかを示す仮想装置フラグと、前記グループの番号と、優先順位とを含む情報を、前記装置管理定義情報入力装置から入力し、これらの情報からなる前記装置管理テーブルを作成し、 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.
前記エミュレート処理依頼手段は、当該セマフォに対して当該仮想装置の前記装置番号と前記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.
前記優先順位変更手段は、前記操作卓から優先順位変更のコマンドが投入されたとき、前記装置管理テーブルの前記優先順位を変更する、 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.
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)
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)
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 |
-
2005
- 2005-03-31 JP JP2005104167A patent/JP4728679B2/en not_active Expired - Fee Related
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 |