JPS6231437A - 仮想計算機システムの入出力制御方法 - Google Patents

仮想計算機システムの入出力制御方法

Info

Publication number
JPS6231437A
JPS6231437A JP60170430A JP17043085A JPS6231437A JP S6231437 A JPS6231437 A JP S6231437A JP 60170430 A JP60170430 A JP 60170430A JP 17043085 A JP17043085 A JP 17043085A JP S6231437 A JPS6231437 A JP S6231437A
Authority
JP
Japan
Prior art keywords
input
output
output device
mode
vmcp
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.)
Granted
Application number
JP60170430A
Other languages
English (en)
Other versions
JPH0792761B2 (ja
Inventor
Toshiharu Tanaka
俊治 田中
Hidenori Umeno
梅野 英典
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP60170430A priority Critical patent/JPH0792761B2/ja
Priority to EP86110429A priority patent/EP0210640B1/en
Priority to DE8686110429T priority patent/DE3687805T2/de
Priority to CN86105553A priority patent/CN1007938B/zh
Priority to US06/890,524 priority patent/US4887202A/en
Priority to KR1019860006273A priority patent/KR930008265B1/ko
Publication of JPS6231437A publication Critical patent/JPS6231437A/ja
Publication of JPH0792761B2 publication Critical patent/JPH0792761B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔発明の利用分野〕 本発明は、仮想計算機システム(以下、VMSという)
の入出力制御方式に関し、特に仮想計算機(以下、VM
という)上のOSからの入出力命令およびそれに関連す
る入出力割込みを、仮想計算機制御プログラム(以下、
VMCPという)が関与することなく、ハードウェアに
より、直接実行可能なVMSの入出力制御方式に関する
ものである。
〔発明の背景〕
従来、仮想計算機システム(VMS)は、実計算機シス
テムとハードウェア構成(中央処理装置。
主記憶装置、入出力装置等)は変らないが、主記憶装置
上に、仮想計算機制御プログラム(VMCP)を設け、
VMCPのハードウェアシミュレーシゴン機能により、
論理的な計算機(このことを以下、仮想計算機、すなわ
ち、バーチャルマシン(Vir仁ual Machin
e)VMという)が複数台論理的に実現され、この論理
的に実現された複数のVMに工り各種処理を行うもので
ある。この仮想計算機システムの構成例を第10図に示
す。第10回において、90は実計算機システム、91
は中央処理装置(以下、CPUという)、92はVMC
Pを備えた主記憶装置、93は入出力処理装置、94は
入出力制御装置、90−1.90−2.90−3はそれ
ぞれ、VMCPにより論理的に実現される仮想計算41
iVMである。VMS0−1は、CPU91−1.主記
憶装置92−1、入出力処理装置93−1、入出力制御
装置94−1から構成される。VMS0−2も同様にC
PU91−2゜主記憶装置92−2、入出力処理装置9
3−2、入出力制御装[94−2から構成される。さら
に、VMS0−3は、CPU91−3.主記憶装置92
−3、入出力処理装置93−3、入出力制御装置94−
3から構成される。ここでは、仮想計算機VMを3個実
現した例を示しているが、VMCPにより3個以上実現
することも可能である。各VM、すなわち、VMS0−
1.VMS0−2゜VMS0−3は、実計算機システム
(以下、ホストシステムという)90とほぼ同じハード
ウェア構成を持つものとして論理的に実現される。各V
Mの主記憶装置92− i(i = 1 、2.3)上
には。
各VMを制御し、動かすオペレーティングシステムOS
が存在し、この複数のOSが1台のホストシステムの下
で同時に走行していることを示すものである。第10図
の各VMにおけるハードウェア構成(CPU、主記憶装
置、入出力装置、入出力制御装置)は、VMCPにより
論理的に実現されるものであるが、それらの実体の大部
分は、ホストシステムの対応するハードウェア構成上に
存在する。例えば、VMの記憶装置は、ホストシステム
の主記憶装置92の一部分を占有することもあり、また
、共有することもある。
また、VMの入出力装置は、ホストシステムの入出力装
置をVM間で共有することもあり、また、いくつかの入
出力装置を占有することもある。あるいは、ホストシス
テム上に対応する入出力装置がなく、全く仮想的にVM
CPにより擬似されて、実現される場合もある。いずれ
にせよ、各VMの主記憶装置92−i(i =1.2.
3)上のOSからは、ホストシステムと同様のハードウ
ェア構成(CPU、主記憶装置、入出カプロセッサ、入
出力制御装置りが見えることになる。
このような従来の仮想計算機システムにおけるVM上の
OSのIO実行においては、必ずVMCPが介入するの
で、そのシミュレーションが必要となり、IO実行頻度
の高い負荷に対しては、VMCPのシミュレーションオ
ーバヘッドが大きくなるという問題があった。この問題
を解決して。
VMからの入出力命令のシミュレーションによるオーバ
ヘッドを削減するために、VMからの入出力命令をVM
CPに介在させることなく、ハードウェアで直接実行す
る方法を「仮想計算機システムのIO実行方式」として
本発明者等により提案されている(特願昭59−558
7号明細書参照)。
しかし、この方式では、VM走行中にVMを停止するこ
となく、この直接実行するモードとVMCPによりシミ
ュレーションを行うモードを切換えることは、実現され
ていなかった。
〔発明の目的〕
本発明の目的は、このように従来の実現されていなかっ
た点を改善し、VMが占有する入出力装置への入出力命
令、およびこの命令に関連する入出力割込みを、VMC
Pが関与することなく、ハードウェアにより直接実行す
るモード(入出力直接実行モード)と、VMCPが介在
してシミュレーションを行うモード(入出力シミュレー
ションモード)とをVM走行中に切換え可能な仮想計算
機システムの入出力制御方式を提供することにある。
〔発明の概要〕
上記目的を達成するために、本発明の仮想計算機システ
ムの入出力制御方式は、仮想計算機制御プログラム(V
MCP)の管理下で少なくとも1つの仮想計算機(V 
M)が走行し、走行中VMが占有する入出力装置に対す
る該VM上のオペレーティング・システム(OS)から
の入出力命令およびこれに関連する入出力割込みを、上
記VMCPが介在することなく直接実行する入出力直接
実行モードと、上記VMCPが、OSからの入出力命令
およびこれに関連する入出力割込みのシミュレーション
を行う入出力シミュレーションモードとを有する仮想計
算機システムにおいて、上記入出力直接実行モードへの
移行を要求する入出力装置を識別する識別手段、所定の
モード移行条件を判定する判定手段、および上記2つの
モードを切換えるモード切換手段を設け、上記識別手段
により入出力直接実行モードへの移行を要求している入
出力装置を識別し、識別された該入出力装置が上記判定
手段により所定の上記モード移行条件を満足した時点で
、未だ直接実行を行うおうとするVMがモード移行要求
の上記入出力装置を占有していない場合には占有し、未
だ該VMが該入出力装置の入出力割込みを制御する入出
力割込みサブクラスを占有していない場合には、該入出
力割込みサブクラスを占有するとともに、上記モード切
換手段によりモード切換えを行い、上記入出力シミュレ
ーションモードの入出力装置を入出力直接実行モードに
移行させることに特徴がある。および、人出カシュミレ
ーションモードへの移行を要求する入出力装置を識別す
る識別手段1入出力装置の状態を調べる手段、および上
記2つのモードを切換えるモード切換手段を設け、上記
識別手段により入出力シミュレーションモードへの移行
を要求している入出力装置を識別し、識別された該入出
力装置の状態を上記手段によりVMCPが把握した後、
上記モード切換手段によりモード切換えを行い、上記入
出力直接実行モードの人出刃装置を入出力シミュレーシ
ョンモードに移行させることに特徴がある。
〔発明の実施例〕
以下、本発明の一実施例を、図面により詳細に説明する
まず、本発明の詳細な説明をする。
本発明は、入出力シミュレーションモードがら入出力直
接実行モードへの入出力実行モード制御と、入出力直接
実行モードから入出力シミュレーションモードへの入出
力実行モード制御からなる。
入出力直接実行モードの入出力装置では、入出力制御は
全て入出力装置を占有するOSが行い、VMCPは介在
しない。他方、入出力シミュレーションモードの入出力
装置では、OSからの入出力命令の実行および、それに
関連する入出力割込みのOSへの反映はVMCPが介在
して行われる。
このため、入出力シミュレーションモードから入出力直
接実行モードに移行する場合、OSのみに入出力制御を
委ねてよいかをVMCPにより判定する。そして、モー
ドの移行条件を満足した時点で、該入出力装置の実行モ
ードを指定するフィールドに、実行モードを設定する手
段により入出力直接実行モードを設定する。
入出力直接実行モードから入出力シミュレーションモー
ドに移行するには1次の3つの方法により可能である。
1番目の方法は、入出力シミュレーションモードへの移
行要求があった時点で、実行モードを設定する手段によ
り、入出力直接実行モードを解除する。さらに、入出力
装置のハードウェア情報を入出力装置の状態を調べる命
令によりVMCP側に取込み、この情報をもとに、VM
CPによる入出力シミュレーションを行おうとするもの
である。
2番目の方法では、入出力シミュレーションモードへの
移行要求があった時点で、実行モードを設定する手段に
より入出力直接実行モードを解除する。さらに、該入出
力装置への入出力命令実行要求は、VMCPで強制的に
保留することを開始する。そして、入出力装置の状態を
調べる命令により、該当入出力装置の入出力が完了した
ことを確認した後、VMCPで強制的に入出力命令実行
要求を保留することを解除して、シミュレーションモー
ド八移行するものである。
3番目の方法では、入出力シミュレーションモードへの
移行要求があった時点で、実行モードを設定する手段に
より入出力直接実行モードを解除する。さらに、該入出
力装置への入出力命令実行要求はVMCPで強制的に保
留することを開始する。
そして、一定時間経過後、VMCPで強制的に入出力命
令実行要求を保留することを解除する。さらに、移行要
求を持つ入出力装置のハードウェア情報を入出力装置の
状態を調べる命令によりVMCP側に取込み、この情報
をもとに、VMCPによる入出力シミュレーションを行
おうとするものである。以下1図面を用いて上述の方法
を具体的に説明する。
第1図に入出力装置を入出力シミュレーションモードと
入出力直接実行モードの間でのモード移行処理フローチ
ャートを示す。以下、第1図に従ってモード移行の概要
を説明し、後述第2図以降の図面によりモード移行を具
体的に詳述する。
第1図(、)は、本実施例による入出力シミュレーショ
ンモードの入出力装置を入出力直接実行モードに移行さ
せる処理フローチャートである。以下、第1図(a)に
従って説明する。
まず、入出力直接実行モードへの移行判定開始が行なわ
れると(ステップ101)、次に、該当7M上のOSに
制御が渡った時点でVMCPは該当入出力装置の入出力
命令実行要求キューを持つか否かを調べる(ステップ1
02)。この入出力命令実行要求キューを持たない場合
は、入出力直接実行モードにしようとするVMの該当入
出力装置の入出力割込み保留をVMCPは持つか否かを
調べる(ステップ103)。入出力割込み保留を持たな
い場合は、入出力直接実行モードにしようとする入出力
装置に対してVMCPおよび該当VM以外のVMは、入
出力実行中でなく、かつ、入出力割込み保留中でないか
を調べる(ステップ104)。
入出力割込み保留中でない場合は、入出力直接実行モー
ドにしようとする入出力装置に関連する入出力割込みを
制御する入出力割込みサブクラスを該当VMが占有して
いるか、または占有可能であるか調べる(ステップ10
5)。該当VMが占有しているか、占有可能である場合
は、入出力直接実行モードにしようとする入出力装置を
該当VMは占有しているか、または占有可能であるかを
調べる(ステップ106)、該当入出力装置を該当VM
が占有しているか、または占有可能である場合は、A命
令(後述第9図参照)により該当入出力装置を入出力直
接実行モードに移行する。ただし、該当サブクラス、該
当入出力装置を占有していない場合には、占有の処理を
行う(ステップ107)、以上の処理により入出力直接
実行モードへの移行判定を終了しくステップ108)、
上記モード移行条件をすべてを満足した時点で入出力シ
ミュレーションモードの入出力装置を入出力直接実行モ
ードに移行できる。
第1図(b)は、本実施例による入出力直接実行モード
の入出力装置を入出力シミュレーションモードヘ移行さ
せる処理フローチャートである。以下、第1図(b)に
従って説明する。
まず、入出力シミュレーションモードへの移行要求があ
ると(ステップ110)、−8TSCH命令により、該
当入出力装置の状態をVMCP側に取り込む(ステップ
111)。次に、A命令(後述第9図参照)により該当
入出力装置を入出力シミュレーションモードに移行させ
る(ステップ112)。
以上の処理により移行処理を終了する(ステップ113
)。
第1図(e)は、他の実施例による入出力直接実行モー
ドの入出力装置を入出力シミュレーションモードヘ移行
させる処理フローチャートである。
以下、第1図(C)に従って説明する。
まず、入8カシミュレーションモードへの移行要求があ
ると(ステップ115)、該当入出力装置への入出力命
令実行要求をVMCPが強制的に保留することを開始す
る(ステップ116)。次に、人命令(後述第9図参照
)により該当入出力装置の入出力直接実行モードを解除
する(ステップ117)。その後、入出力シミュレーシ
ョンモードへの移行判定を開始する(ステップ118)
。まず、該当入出力装置に関する入出力は全て完了した
か否かを調べる(ステップ119)、全て完了した場合
は、該当入出力装置への入出力命令実行要求をVMCP
が強制的に保留することを解除する(ステップ120)
、  以上の処理により入出力シミュレーションモード
への移行判、定を終了しくステップ121)、入出力直
接実行モードの入出力装置を入出力シミュレーションモ
ードヘ移行できる。
第1図(d)は、他の実施例による入出力直接実行モー
ドの入出力装置を入出力シミュレーションモードヘ移行
させる処理フローチャートである。
以下、第1図(d)に従って説明する。
まず、入出力シミュレーションモードへの移行要求があ
ると(ステップ122)、該光入出力装置への入出力命
令実行要求をVMCPが強制的に保留することを開始す
る(ステップ123)、次に、A命令(後述第9図参照
)により該当入出力装置の入出力直接実行モードを解除
する(ステップ124)。その後、予め定められた時間
が経過した時、タイマ割込みを発生させるために、タイ
マ割込み要求ブロックをVMCPのタイマ割込み要求キ
ュ・に登録する(ステップ125)、次に、タイマ割込
みが発生すると(ステップ126)、5TSCH命令に
より該当入出力装置の状態をVMCP側に取り込む(ス
テップ127)。次に、該当入出力装置への入出力命令
実行要求をVMCPが強制的に保留することを解除する
(ステップ128)、以上の処理により入出力装置の入
出力直接実行モードから入出力シミュレーションモード
への移行を終了する(ステップ129)。
第2図は、本発明を適用した仮想計算機システムの主要
構成図である。
第2図において、1は主記憶装置、2はVMCPがハー
ドウェアの状態を記憶しておく領域のプレフィクス・セ
ーブ・エリア(以下、PSAという)、 2−1.・・
・、2−i、  ・・・、2−nは仮想計算機VMi(
i=1〜n)のPSA、3はプレフィクスレジスタであ
り、VM、の走行中は、そのVMiのPSA2−i(i
=1−n)のアドレスを格納し、VMCPに制御が渡っ
た時には、V−MCPのPSA2のアドレスを格納して
いる。4は命令レジスタ、5は命令実行回路、6は命令
実行回路5内の命令実行マイクロプログラム、7は割込
み回路、8は割込み回路7内の割込みマイクロプログラ
ム、9は入出力装置群、10−1.  ・・・、1O−
jp  ・・・、10−には入出力装置である。
第3図は、VMCPが入出力制御のために使用する主記
憶装置1内の制御ブロック図である。
第3図において、11−1. ・・・、11−i。
・・・、11−nは仮想制御ブロックであり、VMi(
i=1〜n)の仮想的な計算機資源の状態を示す。12
は実制御ブロックであり、VMCPが認識する計算機資
源の状態を示す。各仮想制御ブロック1l−i(i=1
〜n)には、V M i (i =1〜n)のプログラ
ム・ステータス・ワード(以下。
pswという)を格納するVPSWI 3− i(i 
=1〜n ) 、  V M i (i = 1 ” 
n )の入出力割込みをサブマスクにより制御する制御
レジスタを格納する仮想制御レジスタ14−i(i=1
〜nLおよび、VMi(i=1〜n)の入出力装置群の
状態を記述する仮想入出力制御ブロック15−i(i=
1〜n)からなる、また、仮想制御入出力装置制御ブロ
ック15−i−r(i=1〜n)は、VMSの入出力装
置の状態を記述する。16は実入出力装置全体の入出力
制御を行う実入出力制御ブロック、実入出力制御ブロッ
ク16中の実入出力装置制御ブロック16−j(j=1
〜k)は、 V M C’Pが認識する各入出力装置1
O−j(j=1〜k)の状態を示す。17はハードウェ
ア制御情報を有するソフトウェア−マイクロプログラム
間インターフェース部であり、ソフトウェアでは参照お
よび書込みは不可能であり、マイクロプログラムでのみ
参照および書込みが可能な主記憶装置1上の領域である
。ソフトウェア−マイクロプログラム間インターフェー
ス部17内の入出力装置フィールド18−j(j=1〜
k)は、各入出力装置1O−j(+=1〜k)の状態を
表す領域である。19−1、”’+ 19  J+  
””p  19  kは、VMの入出力制御のために用
いる入出力装置VM用ラフイールドある。
第4図は、第3図の各入出力装置VM用ラフイールド9
−jの詳細図である。ここで、j=1〜にとする。
各入出力装置VM用ラフイールド9−jは、VMM号フ
ィールド19−j−1、実サブクラス番号フィールド1
9−j−2、入出力直接実行モードビット19−j−3
,アーキテクチャ番号フィールド19−j−4からなる
。VMM号フィールド19−j−1は、この入出力装置
に対する入出力を直接実行の対象としているVMを識別
するためのフィールドであり、入出力直接実行モードビ
ット19−j−3がrz 1 +tの時のみ有効となる
。実サブクラス番号フィールド19−j−2は、この入
出力装置f 10− jの入出力割込みを制御する入出
力割込みサブクラス番号を格納するフィールドである。
すなわち、実サブクラス番号フィールド19−j−2の
値がqの時、この入出力装置10−jの入出力割込みは
、後述第7図に示す制御レジスタ14のビットqの値で
あるMqの制御を受ける。これについては、後で詳しく
述べる。入出力直接実行モードビット19−j−3は 
ll 17″の時、該当する入出力装置10−jが入出
力直接実行モードであることを示し、パ0′″の時、入
出力直接実行モードでないことを表す。
次に、入出力シミュレーションモードおよび入出力直接
実行モードの入出力装置において、oSからの入出力命
令および、入出力装置からの入出力割込みがどのように
処理されるかについて述べる。
任意のO5+が、入出力シミュレーションモードの入出
力装置10−jに入出力命令実行要求を出すと、第1図
の信号線100により命令レジスタ4に信号が送られ、
命令レジスタ4は、信号線101により該当する命令の
起動信号を命令実行回路5に送る。命令実行回路5およ
び命令実行マイクロプログラム6は、信号線102によ
り入出力装置10−jに対応する入出力装置フィールド
18−jの入出力直接実行モードビット19−j−3を
調べる。この時、入出力直接実行モードビット19−j
−3は′0″となっているので、プレフィクスレジスタ
3にVMCPのPSA2のアドレスを設定し、VMCP
の入出力命令制御プログラムに制御を渡す。VMCPの
入出力命令制御プログラムは、仮想入出力制御ブロック
15−iの情報によりこの入出力命令のシミュレーショ
ンを行う。
このVMCPによるシミュレーションでは、仮思入出力
制御ブロック15−1の情報と命令の種類により、入出
力袋(it 10− jに対して入出力命令を発行する
こともあれば、発行しないこともある。入出力命令を発
行する必要のある場合には、実入出力制御ブロック16
の対応する実入出力装置制御ブロック16−jに、入出
力命令を実行するために、必要な情報およびVMM別情
報を入出力命令実行要求として、キューイングする。第
5図に実入出力装置制御ブロック16−jの詳細図を示
す。この実入出力装置制御ブロック16−jは、入出力
実行要求ポインタ16−j−1,実ステータスフィール
ド16−j−2,入出力実行中ポインタ16−j−3,
占有光VM識別フィールド16−j−4からなる。入出
力実行要求ポインタ16−j−1は、最初のこの入出力
装置1〇−jに対する入出力命令実行要求の領域のアド
レスを格納する領域である。第5図では、2つの入出力
命令実行要求21−1および21−2がキューイングさ
れている。入出力実行要求ポインタ16−j−1には、
入出力命令実行要求がない場合、実入出力装置制御ブロ
ック16−jの先頭アドレスが格納される。すなわち、
入出力実行要求ポインタ16−j−1と実入出力装置制
御ブロック16−jの先頭アドレスが等しい時、実入出
力装置制御ブロック16−jには、入出力実行要求はキ
ューイングされていない。入出力命令実行要求キューに
キューイングさ九た入出力命令実行要求に対応する入出
力命令を発行する場合、この要求を入出力命令実行要求
キーから取りはずして、入出力実行中ポインタ16−j
−3に、この要求の先頭アドレスを格納する。また、該
当入出力装置が使用中であることを示す実ステータスフ
ィールド16−3−2のビットaをII I IIに設
定する。
OSの入出力命令のシミュレーションのためでなくVM
CPが固有に入出力命令を発行する場合、入出力命令を
実行するために必要な情報およびVMCPの入出力命令
実行要求であることを識別する情報を入出力命令実行要
求に設定して、実入出力装置制御ブロック16−jにキ
ューイングする。
VMCPM有の入出力命令を実行する場合には、実ステ
ータスフィールド16− j −2のaビットおよびb
ビットを共にat 1 nに設定する。このaビットお
よびbビットは、入出力完了割込み発生時にVMCPに
よりIf OHに設定される。
一方、入出力装置10−jからの入出力割込みのVMC
Pによるシミュレーションは次のように行われる。第6
図にPSWの構造、第7図に制御レジスタの構造を示し
、それを用いて説明する。
入出力割込みの制御は、第6図に示すPSW13のIビ
ット20および第7図に示す入出力割込みを制御するサ
ブマスクを有する制御レジスタエ4により行なう。PS
W13のエビット20がII I II、かつ、入出力
装置10−jに対応する入出力装置VM用ラフイールド
9−jの実サブクラス番号フィールド19−j−2によ
り指定される入出力割込みを制御する制御レジスタI4
のビットがtt 1 uの時のみ、該当入出力装置10
−jから入出力割込みが発生し、信号線104により入
出力割込み信号が割込み回17に送られる0割込み回路
7および割込みマイクロプログラム8は、信号線105
により該当する入出力装置10−jの入出力装置フィー
ルド18−jの入出力直接実行モードピッh19−j−
3の値を調べ、その値がII O71であるので、制御
をVMCPに渡すために、プレフィクスレジスタ3にV
MCPのPSA2のアドレスを格納後、入出力割込みが
発生し、VMCPの入出力割込み制御プログラムに制御
を渡す。
VMCPの入出力割込み制御プログラムでは。
入出力実行中ポインタ16−j−3で示される入出力命
令実行要求内のVMm別情報をもとに、該当VM(7)
仮想制御ブロック(VBLOKS)11−1中の該当す
る仮想入出力装置制御ブロック15’ −i −rに入
出力割込み情報を格納する。OSiのアーキテクチャに
より、OSiに反映すべき入出力割込みの情報は異なる
。このため、VMCPは、VMCPのPSA2に格納さ
れた入出力割込みの情報および入出力装置フィールド1
8−j中にある入出力割込み情報をOSiのアーキテク
チャにおける入出力割込み情報に変換して、仮想入出・
力装置flil制御ブロック15− i −rに入出力
割込み情報を格納するとともに、該入出力装置が入出力
割込みをVMCPが保留していることを示す。仮想入出
力装置制御ブロック15−i−rの詳細説明図を第8図
に示す。この仮想入出力装置制御ブロック15−i−r
は、仮想ステータスフィールド15−i−r−1とサブ
クラス表示フィールド15−i−r−2からなる。次に
、入出力割込み保留中を示す仮想ステータスフィールド
15−1−r−1のgビットに1″′を設定する。
VMCPでは、OS+(1)仮想PSWであるvpSW
13−iのIビットおよび仮想制御レジスタ14−iの
仮想入出力装置制御ブロック15−1−rに対応する割
込みサブクラスが共に1111+となった時、○Siの
PSA2−iに入出力割込みを反映すると共に、この仮
想入出力装置制御ブロック15−i−rの仮想ステータ
スフィールド15−3−r−1のgビットをII Oj
lに設定する。
○Siが入出力直接実行モードの入出力装置10−jに
入出力命令実行要求を出すと、第2図の信号線100を
通して命令レジスタ4に信号が送られる。命令レジスタ
4は、信号線101により該当命令の起動信号を命令実
行回路5に送る。命令実行回路5および命令実行マイク
ロプログラム6は、信号線102により、この入出力装
置10−jに対応する入出力装置フィールド18−jの
入出力直接実行モードビット19−j−3を調べる。こ
の時、入出力直接実行モードビット19−j−3はat
 1 uとなっているので、信号1@103を通してO
S+からの入出力命令が直接実行される。
入出力直接実行モードの入出力装置10−jの入出力割
込みがハードウェアに存在し、PSWI3の■ビット2
0がII L Hかつ、入出力装置10−jに対応する
入出力装置VM用ラフイールド9−jの実サブクラスフ
ィールド19−j−2により指定される制御レジスタ1
4のビットがII 171の時、入出力割込みが発生す
る。割込み回路7および割込みマイクロプログラム8は
、信号、%%105により、該当する入出力装置1O−
jの入出力装置フィールド18−jの入出力直接実行モ
ードビット19−j−3の値を調べる。この値は、II
 111となっているので入出力割込みを発生し、割込
み情報を該VMのP S A 2− iに格納する。O
Siのアーキテクチャにより、VMのPSAに反映する
割込みの情報は異なる。このため、入出力装置フィール
ド18−jには、この入出力装置10−jを占有するO
Siのアーキテクチャを識別する情報が入っており1割
込み回路7および割込みマイクロプログラム8は、O3
iのアーキテクチャにおける入出力の割込み情報をVM
iのP S A 2− iに格納する。
次に、入出力袋[10−jが入出力直接実行モードであ
るか否かを指定する入出力直接実行モードビット19−
j−3を変更するために、本発明により設けられたA命
令について説明する。第9図にA命令の構造を示す。
第9図に示すように、A命令は、いわゆるS形式の命令
である。第2オペランドアドレス(D2/B2)は、命
令の対象とする入出力装置1〇−jを指定する入出力装
置番号、この入出力装置を直接実行の対象とするVMを
識別するためのVM番号、このVMのアーキテクチャを
指定するアーキテクチャ識別番号、および、該入出力装
置に入出力直接実行モードを指定するか非入出力直接実
行モードを指定するかの指定するモードビットを格納す
るフィールドのアドレスである。
A命令を発行すると、信号1100を通して命令レジス
タ4に信号が送られ、信号線101によりA命令の起動
信号が命令実行回路5に送られる。
命令実行回路5および命令実行マイクロプログラム6は
信号線102により、特定の汎用レジスタで示された入
出力装置番号に対応する入出力装置フィールド18−j
に、汎用レジスタ第2オペランドアドレス(D2/B2
)で指定されたVM番号。
モードピット、アーキテクチャ識別番号をそれぞれ、V
MM号フィールド19−j−1,入出力直接実行モード
ビット19−j−3,アーキテクチャ番号フィールド1
9−j−4に格納する。
VMCPが入出力シミュレーションモードの入出力装置
を入出力直接実行モードに移行させるには、次のように
すればよい。まず、モード移行を要求する入出力装置を
識別するために、該当する入出力装置10−jに対応す
る仮想入出力装置制御ブロック15−i−r内の仮想ス
テータスフィールド15−i−r−1(第8図参照)の
ビットfをrr I I+に設定する。
この仮想ステータスフィールド15− i −r −1
のビットfがLl 177の仮想入出力装置制御ブロッ
ク15− i −rに対応する入出力装置10−jが以
下の5条件を全て満足した時点で、VMCPは該入出力
袋[10−5が未だ直接実行の対象となるV M iの
占有入出力装置となっていないならば、実ステータスフ
ィールド16−3−2のビットeをrr 1 、、とす
るとともに、占有光VM識別フィールドにVMiの識別
情報を設定する。また、入出力装置VM用フィールド1
9−jの実サブクラス番号フィールド19−j−2に指
定されたサブクラスをV M iが占有していないなら
ば、占有する。
このサブクラスの占有については、後で述べる。
そして、A命令により該当入出力袋fiI O−jを入
出力直接実行モードとすることができる。
また、以後VMiを走行させる場合には、VMiが占有
する入出力直接実行モードの入出力装置に対応する割込
みサブクラスを有する制御レジスタ14のビットを対応
するVMiの仮想制御レジスタ14−1の値に一致させ
る。また、PSWI3(7)Iビット20の値もV P
 S W 13− i (7) Iビットの値に一致さ
せる。
入出力直接実行モードに移行するには、以下の5条件を
満足しなければならない。
(1)次に、VMi上の○Siに制御が渡った時点で、
VMCPは入出力装置10−jに対応する゛実入出力装
置制御ブロック16−jに入出力命令実行要求キューを
持たない。
(11)入出力直接実行モードにしようとする入出力装
置に対応するVMiの仮想入出力装置制御ブロック15
− i −rに入出力割込み保留がない。
(iii )入出力直接実行モードにしようとする入出
力装置に対して、VMCP、およびVMi以外のVMは
、入出力実行中でなく、かつ、入出力割込み保留中でな
い。
(1■)入出力直接実行モードにしようとする入出力装
置に関連する入出力割込みを制御する入出力割込みサブ
クラスはV M iが占有しているが、または占有可能
である。
(V)入出力直接実行モードにしようとする入出力装置
をVMiは占有しているか、または占有可能である。
上記5条件の必要性とVMCPによる判定方法について
述べる。
(1)入出力装置10−jが入出力直接実行モードに移
行後、VMCPまたはVMi以外の入出力命令実行要求
があると、キューイングされていたVMCPまたはVM
i以外のVMの要求を入出力実行中に、VMiがこの入
出力に影響を与える入出力命令を発行して、VMCPま
たは他VMの入出力制御を混乱させる可能性がある。
また、VMiの入出力命令実行要求が存在するとき、V
Miがこの実入出力装置制御ブロック16−jにキュー
イングされた入出力命令要求に影響を与える命令を発行
しても、命令は直接実行されるので、入出力命令要求に
影響を与えることができない。このため、VMiの入出
力制御上の混乱を生じる可能性がある。
VMCPによる判定方法としては、該当する入出力装置
に対応する実入出力装置f制御ブロック16−jの先頭
アドレスと1人出カ実行要求ポインタ16−3−1の値
が等しいか否か調べればよい。
その値が等しい場合、VMCPは該当する実入出力装置
制御ブロック16−jに人出カ命令実行要求を持たない
(ii)VMiの入出力割込み保留が対応する仮想入出
力装置制御ブロック15−i−rにある状態で入出力直
接実行モードに移行したとする。O3iが該当入出力袋
W!107 jに対して人出カ命令を発行した場合、本
来ならば、入出カ割込み保留中である入出力装置へ入出
力命令を発行した場合と同じ動作が命令実行回路5.命
令実行マイクロプログラム6、および人出刃装置群9で
行わなければならない。しかし、ハードウェアからの入
出力割込みは既に発生しているので2命令実行回路5、
命令実行マイクロプログラム6、および入出力装置群9
により本来取られないはずの動作が行われ、○Siの入
出力制御に混乱を生じる可能性がある。VMCPによる
判定方法としては、仮想ステータスフィールド15− 
i −r −1のfビットが“1″、gビットがtz 
Otpであるときは、VMCPによる入出力割込み保留
はない。
(tii)VMcpまたは他VMが入出力実行中または
入出力割込み保留中に該当入出力装置10−jを入出力
直接実行モードに移行したとする。○Siがこの入出力
装置10−jに対して入出力命令を発行すると、命令の
種類により入出力動作を停止させたり、保留中の入出力
割込みを解除する可能性がある。これにより、VMCP
または他VMの入出力が混乱する可能性がある。
VMCPの判定方法としては、該当する実入出力装置制
御ブロック16−jの実ステータスフィールド16−j
−2のbビットが1′″であるときは、VMCPの入出
力実行中または入出力割込み保留中である。また、実ス
テータスフィールド16−j−2のaピッ1−がtt 
1 ++の場合、入出力実行中ポインタ16−j−3の
先の入出力実行要求内の7M識別情報により他のVMの
入出力実行中、または入出力割込み保留中であるか否か
を判定できる。
該当入出力袋[10−3が、○Siにより入出力実行中
あるいは入出力割込み保留中であっても。
モードの移行は可能である。この場合、使用中であるこ
とを表す実入出力装置制御ブロック16−j内の実ステ
ータスフィールド16−j−2のaビットをrr Ou
、また、入出力実行中ポインタ16−j−3にアドレス
が格納される入出力命令実行要求の領域をクリアする。
(1v)入出力割込みを直接実行するためには、VMi
が入出力割込み可能、すなわち、VPSWI3−4の■
ビットが“1”、かつ、制御レジスタ14−iの該入出
力装置に対応するビットがtt 1 yyの時のみ割込
み可能としなければならない。また、入出力動作はCP
Uと非同期に行われるので、VMiが走行中以外の時も
、該当サブクラスのビットの値は、V P S W 1
3− iのエビットおよび制御レジスタ14−1の該当
ビットの値に従うか、あるいは、入出力割込み不可能状
態にしなければならない。従って、入出力直接実行モー
ドにしようとする入出力装置に関連する入出力割込みサ
ブクラスを入出力直接実行モードでは、VMiが占有す
る必要がある。したがって、該当するサブクラスをVM
iが占有しているか、占有可能でなければならない。
VMCPによる判定方法は次の通りである。まず、主記
憶袋!I!1上に、占有サブクラスフィールド22およ
び各VMiの占有サブクラスフィールド24−iを設け
る。サブクラス番号変換表23−iは、○Siが意識す
る仮想サブクラス番号と、ハードウェアが意識する実サ
ブクラスとの対応を表す。ある実サブクラスMqをVM
iが占有するためには、他VMのサブクラス番号変換表
23−iにおいて、Mqに対応づけられる仮想サブクラ
スが存在しないことが必要十分条件である。実サブクラ
スを占有する場合には、占有サブクラスフィールド22
およびVMiの占有サブクラスフィールド24−1の該
当ビットを′1″にする。
VMiが入出力装置10−jを入出力直接実行モードと
するためには、サブクラス表示フィールド15−i−r
−2に示された実サブクラスをVMiの占有サブクラス
フィールド24−1により占有していると判定されるか
、あるいは、他VMのサブクラス変換表23−1におい
て、該実サブクラス番号に対応づけられている仮想サブ
クラスがなく、該実サブクラスを占有可能と判定されな
ければならない。
ただし、サブクラス表示フィールド15− i −r−
2には、仮想サブクラス番号と実サブクラス番号が格納
されている。実サブクラス番号は、サブクラス番号変換
表23−1により仮想サブクラスを変換した結果得られ
る。また、VMiの入出力実行中には、サブクラス表示
フィールド15−i−r−2の実サブクラス番号が、対
応する入出力装置フィールド18−jの実サブクラス番
号フィールド19−j−2に設定され、入出力割込みの
制御が行われる。
()入出力直接実行モードに移行後は、該入出力装置の
入出力制御は、全てVMi上の○Siに委ねられ、VM
CPは入出力管理情報を持たない。
したがって、他のVMは該入出力装置に入出力命令を発
行できない。
実ステータスフィールド16−j−2のCビットがR1
l+(71時、入出力袋fi! 10− j It、占
有元VM識別フィールド16−3−4に示されたVMに
占有されていることを示す。VMCPは、あるVMiに
入出力袋fff 10− jを占有させる場合、実ステ
ータスフィールドl 6−j−2のCビットを# 1 
′Hにすると共に、占有元VM!ll別フィールド16
−j−4に、VMiが占有していることが識別可能なV
Miに固有である情報を設定する。
VMCPによる判定方法としては、既にVMiが入出力
装置10−jを占有しているならば、実ステータスフィ
ールド16−j−2のCビットがII I g、かつ、
占有光VM識別フィールド16−j−4にVMiが占有
することを識別可能なVMiに固有である情報が設定さ
れている。また、以下の3条件を満足すれば、VMiは
該入出力装置10−jを占有可能である。
(1)他のVMに入出力装置10−jが占有されていな
い。
(11)他のVMの入出力命令要求を実入出方装置制御
ブロック16−jに持たない。
(iii )他のVMが入出力装置10−jにおいて入
出力実行中でなく、がっ、入出カ割込み保留中でない。
占有可能であるためには、上記3条件を満足しなければ
ならない理由は、既に述べた入出力直接実行モードへの
移行条件と同様に、他のVMの入出力制御に混乱を生じ
るためである。
次に、入出力直接実行モードの人出刃装置を入出力シミ
ュレーションモードに移行させる場合の処理について3
通りの方法を述べる。
第1番目の方法では1入出力シミュレーションモードへ
の移行要求があった場合、まず、該当入出力装置II 
O−jに対して人出刃装置の状態を調べる命令である5
TSCH命令を発行する。
命令実行回路5および命令実行マイクロプログラム6は
、信号B102を通してソフトウェア−マイクロプログ
ラム間インターフェース部17の該当する入出力装置フ
ィールド18−jに格納されている該入出力装置の状態
をプログラムから参照可能な主記憶装置1上の領域へ格
納する命令である。VMCPは、5TSCH命令により
得られた入出力装置の状態をもとに、VMCP個の入出
力制御情報を設定する。例えば、入出力装置1゜−jが
入出力実行中、または入出力割込み保留中であるときは
、実制御ブロック(RBLOKS)12内の実入出力装
置制御ブロック16−j内の実ステータスフィールド1
6−j−2のピッI” aを11 L Hとする。また
、入出力実行要求を作成し、この要求の先頭アドレスを
入出力実行中ポインタ16−j−3に設定する。このよ
うに、あたかも。
以前から入出力シミュレーションモードであったかのよ
うな情報をVMCP何に持たせた後で、該当入出力装置
フィールド18−jの入出力直接実行モードフラグ19
−j−3をA命令によりII 07yにすれば、該入出
力装置10−jはシミュレーションモードとなる。
第2番目の方法では、入出力直接実行モードから入出力
シミュレーションモードへの移行要求があった場合、ま
ずモード移行を要求する入出力装置の実入出力装置制御
ブロック16−jの実ステータスフィールド16−j−
2のCビットをlt 111に設定する。また、該入出
力装置フィールド18−jの入出力直接実行モードフラ
グ19− j −3をA命令によりIt O71、該実
入出力装置制御ブロック16−j内の実ステータスフィ
ールド16−j −2のdビットをlt 171に設定
する。そのdビットが1″′の場合、OSおよびVMC
Pの入出力実行要求は、全て実入出力装置制御ブロック
16−jにキューイングされ、実際に入出力命令が発行
されることはない、この間VMCPでは、該当入出力装
置10−jに関する入出力割込みの処理を行う。
この入出力割込みを契機として、VMCPでは。
5TSCH命令を発行して、該入出力装置に関する入出
力が、全て完了したか否かを判定する。全て完了した場
合には、該実入出力装置制御ブロック16−jにキュー
イングされている入出力実行要求に対するサービスを開
始するために、実ステータスフィールド16−j−2の
dビットをII O71&こ設定する。これ以後のこの
入出力装置に対する入出力制御は、VMCPが介在して
行われる。
第3番目の方法では、入出力直接実行モードから入出力
シミュレーションモードへの移行要求があった場合、該
当する実入出力装置制御ブロック16−j内の実ステー
タスフィールド16−j−2のCビットおよびdビット
をLl I IIに設定する。
また、該入出力装置フィールド18−jの入出力直接実
行モードフラグ19−j−3を人命令により0′″とす
る。また、予め定められた時間が経過した後には、上記
の入出力装置を入出力シミュレーションモードに移行さ
せるために、タイマ割込み要求ブロックを従来からVM
CPが持つタイマ割込み要求キューに登録する。タイマ
割込み要求ブロックには、タイマ割込みを発生させる時
間と。
割込み後に制御が渡されるVMCPのプログラムのアド
レスが登録されている。タイマ割込みが起きるまでの間
、VMCPでは該当入出力装置10−jに関する入出力
割込みの処理を行う。
一定時間経過後、上記のタイマ割込みが発生した後、V
MCPが行う処理は、以下のとおりである。まず、実ス
テータスフィールド16− j −2のCビットがII
 111となっている入出力装置に対して5TSCH命
令を発行する。5TSCH命令により得られた入出力装
置の状態をもとに、VMCP側の入出力制御情報を設定
する。これは、第1番目の方法で述べたのと全く同じ処
理である。このようにして、あたかも、以前から入出力
シミュレーションモードであったかのような情報をVM
CPに持たせる。また、実入出力制御ブロック16−j
にキューイングされている入出力命令実行要求に対する
サービスを開始するために、実ステータスフィールド1
6−j−2のdビットを110 ′Hに設定する。これ
以後、この入出力装置に対する入出力制御はVMCPが
介在して行われる。
このようにして、本実施例においては、入出力直接実行
を行なう入出力装置の設定および指定の解除を、VMの
停止やOSのIPLのやり直しを伴うことなく、VM走
行中に可能となる。また、VMCPが入出力直接実行モ
ードの入出力装置に対して入出力命令を発行することも
、次のようにして可能となる。VMCPが入出力直接実
行モードの入出力装置に対して、入出力命令の発行要求
を出した場合、該入出力装置を入出力シミュレーション
モードに移行させる。移行後、VMCPの入出力命令を
実行するとともに、該入出力装置を入出力直接実行モー
ドに移行させる要求を出す。
このようにすれば、VMCPの入出力命令が終了した後
、該当VMの占有入出力装置の入出力環境が整った時点
で、再び入出力直接実行モードを設定することが可能と
なる。
〔発明の効果〕
以上説明したように、本発明によれば、VMが占有する
入出力装置への入出力命令、およびこの命令に関連する
入出力割込みを、VMCPが関与することなく、ハード
ウェアにより直接実行する入出力直接実行モードと、V
MCPが介在してシミュレーションを入出力シミュレー
ションモードとをVM走行中に切換え可能となり、効率
的な入出力制御が行える。
【図面の簡単な説明】
第1図は本発明によるモード移行の処理フローチャート
、第2図は本発明が適用される仮想計算機システムの主
要構成図、第3図は第2図の制御ブロックの詳細説明図
、第4図は第3図の入出力装置VM用フィールドの詳細
説明図、第5図は第3図の実入出力装置制御ブロックの
詳細説明図、第6図はPSWの説明図、第7図は制御レ
ジスタの説明図、第8図は仮想入出力制御ブロックの説
明図、第9図は本発明による命令の説明図、第1O図は
従来の仮想計算機システムの構成図である。 1:主記憶装置、2.2−4:PSA、3:プレフィク
スレジスタ、4:命令レジスタ、5:命令実行回路、6
:命令実行マイクロプログラム、7:割込み回路、8:
割込みマイクロプログラム。 9:入出力装置群、10−j:入出力装置、11−1:
仮想制御ブロック、12:実制御ブロック、13:PS
W、13−i:vpsw−14:制御レジスタ、14−
j:仮想制御レジスタ、15−1:仮想入出力制御ブロ
ック、15− i −r :仮想入出力装置制御ブロッ
ク、L5−i−r−1:仮想ステータスフィールド、1
5−i−r−2:サブクラス表示フィールド、16:実
入出力制御ブロック、16−j:実入出力装置制御ブロ
ック。 16−j−1:入出力実行要求ポインタ、16−j−2
:実ステータスフィールド、16−j−3:入出力実行
中ポインタ、16−j−4:占有光VM識別フィールド
、17:ソフトウエアーマイクロプログラム間インタフ
ェース部、18−j:入出力装置フィールド、19−j
:入出力袋51VM用フィールド、19−j−1:VM
番号フィールド、19−j−2:実サブクラス番号フィ
ールド、19−j−3:入出力直接実行モードピット、
19−j−4:アーキテクチャ番号フィールド、20:
PSWのIビット、21;入出力命令実行要求、22:
占有サブクラスフィールド、23−i:サブクラス番号
変換表、24−i:VMiの占有サブクラスフィールド
、90:実計算機システム、91:中央処理装置、92
:主記憶装置、93:入出力処理装置、94:入出力側
゛御装置、100〜105:信号線。

Claims (6)

    【特許請求の範囲】
  1. (1)仮想計算機制御プログラム(VMCP)の管理下
    で少なくとも1つの仮想計算機(VM)が走行し、走行
    中VMが占有する入出力装置に対する該VM上のオペレ
    ーティング・システム(OS)からの入出力命令および
    これに関連する入出力割込みを、上記VMCPが介在す
    ることなく直接実行する入出力直接実行モードと、上記
    VMCPが、OSからの入出力命令およびこれに関連す
    る入出力割込みのシミュレーションを行う入出力シミュ
    レーションモードとを有する仮想計算機システムにおい
    て、上記入出力直接実行モードへの移行を要求する入出
    力装置を識別する識別手段、所定のモード移行条件を判
    定する判定手段、および上記2つのモードを切換えるモ
    ード切換手段を設け、上記識別手段により入出力直接実
    行モードへの移行を要求している入出力装置を識別し、
    識別された該入出力装置が上記判定手段により所定の上
    記モード移行条件を満足した時点で、未だ直接実行を行
    おうとするVMがモード移行要求の上記入出力装置を占
    有していない場合には占有し、未だ該VMが該入出力装
    置の入出力割込みを制御する入出力割込みサブクラスを
    占有していない場合には、該入出力割込みサブクラスを
    占有するとともに、上記モード切換手段によりモード切
    換えを行い、上記入出力シミュレーションモードの入出
    力装置を入出力直接実行モードに移行させることを特徴
    とする仮想計算機システムの入出力制御方式。
  2. (2)仮想計算機制御プログラム(VMCP)の管理下
    で少なくとも1つの仮想計算機(VM)が走行し、走行
    中VMが占有する入出力装置に対する該VM上のオペレ
    ーテング・システム(OS)からの入出力命令、および
    、これに関連する入出力割込みを、VMCPが介在する
    ことなく直接実行する入出力直接実行モードと、上記V
    MCPが、OSからの入出力命令およびこれに関連する
    入出力割込みのシミュレーションを行う入出力シミュー
    レーションモードとを有する仮想計算機システムにおい
    て、上記入出力シミュレーションモードへの移行を要求
    する入出力装置を識別する識別手段、所定のモード移行
    条件を判定する判定手段、上記2つのモードを切換える
    モード切換手段、および上記入出力装置の状態を調べる
    手段を設け、入出力直接実行モードの入出力装置から入
    出力シミュレーションモードへの移行要求があった場合
    、上記入出力装置の状態を調べる手段により入出力シミ
    ュレーションモードへの移行要求を持つ入出力装置の状
    態をVMCPが把握した後、上記モード切換手段により
    モード切換えを行い、上記入出力シミュレーションモー
    ドの入出力装置を入出力シミュレーションモードに移行
    させることを特徴とする仮想計算機システムの入出力制
    御方式。
  3. (3)上記所定の入出力シミュレーションモードから入
    出力直接実行モードへのモード移行条件は、直接実行を
    行なおうとするVMが直接実行を要求する入出力装置を
    占有しているか、あるいは占有可能であり、次に直接実
    行を行なおうとするVMに制御が渡った時点では、VM
    CPは上記入出力装置の入出力命令実行要求キューを持
    たず、また、VMCPは該VMへ反映すべき該入出力装
    置の入出力割込みを保留しておらず、直接実行を行おう
    とするVM以外のVMの入出力命令およびVMCP固有
    の入出力命令により、該入出力装置が入出力実行中もし
    くは入出力割込み保留中でなく、該入出力装置に関連す
    る入出力割込みを制御する入出力割込みサブクラスを、
    直接実行を要求するVMが占有しているか、または占有
    可能であるかという条件であることを特徴とする特許請
    求の範囲第1項記載の仮想計算機システムの入出力制御
    方式。
  4. (4)仮想計算機制御プログラム(VMCP)の管理下
    で少なくとも1つの仮想計算機(VM)が走行し、走行
    中VMが占有する入出力装置に対する該VM上のオペレ
    ーテング・システム(OS)からの入出力命令、および
    、これに関連する入出力割込みを、VMCPが介在する
    ことなく直接実行する入出力直接実行モードと、上記V
    MCPが、OSからの入出力命令およびこれに関連する
    入出力割込みのシミュレーションを行う入出力シミュー
    レーションモードとを有する仮想計算機システムにおい
    て、上記入出力シミュレーションモードへの移行を要求
    する入出力装置を識別する識別手段、所定のモード移行
    条件を判定する判定手段、上記2つのモードを切換える
    モード切換手段、および上記入出力装置の状態を調べる
    手段を設け、入出力直接実行モードの入出力装置から入
    出力シミュレーションモードへの移行要求があった場合
    、上記入出力装置の状態を調べる手段により入出力シミ
    ュレーションモードへの移行要求を持つ入出力装置の状
    態をVMCPが把握した後、上記モード切換手段により
    モード切換えを行い、上記入出力シミュレーションモー
    ドの入出力装置を入出力シミュレーションモードに移行
    させ、該移行は、該モード移行を要求する入出力装置を
    識別する手段と、上記モード移行を要求する入出力装置
    への入出力命令実行要求をVMCPが強制的に保留し、
    上記入出力装置の状態を調べる手段により上記入出力装
    置が実行中でなく、かつ、該入出力装置への入出力に起
    因する入出力割込み保留中でないと、VMCPが判定し
    た時点で、該入出力装置に該当入出力装置に対する入出
    力命令実行要求をVMCPが強制的に保留することを解
    除して行うことを特徴とする仮想計算機システムの入出
    力制御方式。
  5. (5)仮想計算機制御プログラム(VMCP)の管理下
    で少なくとも1つの仮想計算機(VM)が走行し、走行
    中VMが占有する入出力装置に対する該VM上のオペレ
    ーテング・システム(OS)からの入出力命令、および
    、これに関連する入出力割込みを、VMCPが介在する
    ことなく直接実行する入出力直接実行モードと、上記V
    MCPが、OSからの入出力命令およびこれに関連する
    入出力割込みのシミュレーションを行う入出力シミュー
    レーションモードとを有する仮想計算機システムにおい
    て、上記入出力シミュレーションモードへの移行を要求
    する入出力装置を識別する識別手段、所定のモード移行
    条件を判定する判定手段、上記2つのモードを切換える
    モード切換手段、および上記入出力装置の状態を調べる
    手段を設け、入出力直接実行モードの入出力装置から入
    出力シミュレーションモードへの移行要求があった場合
    、上記入出力装置の状態を調べる手段により入出力シミ
    ュレーションモードへの移行要求を持つ入出力装置の状
    態をVMCPが把握した後、上記モード切換手段により
    モード切換えを行い、上記入出力シミュレーションモー
    ドの入出力装置を入出力シミュレーションモードに移行
    させ、該移行は、該モード移行を要求する入出力装置を
    識別する手段と、上記モード移行を要求する入出力装置
    への入出力命令実行要求をVMCPが強制的に保留して
    、上記モード移行要求から予め定められた時間が経過し
    た後、上記入出力装置の状態を調べる手段により、上記
    入出力装置の状態をVMCPが把握するとともに、入出
    力命令実行要求をVMCPが強制的に保留することを解
    除して行うことを特徴とする仮想計算機システムの入出
    力制御方式。
  6. (6)上記仮想計算機システムは、各入出力装置を入出
    力直接実行モードとするか、入出力シミュレーションモ
    ードとするかを該入出力装置のハードウェア制御情報内
    に指定する手段、および該指定を変更する手段を有する
    ことを特徴とする特許請求の範囲第1項、第2項、第3
    項、第4項、または第5項記載の仮想計算機システムの
    入出力制御方式。
JP60170430A 1985-07-31 1985-07-31 仮想計算機システムの入出力制御方法 Expired - Lifetime JPH0792761B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP60170430A JPH0792761B2 (ja) 1985-07-31 1985-07-31 仮想計算機システムの入出力制御方法
EP86110429A EP0210640B1 (en) 1985-07-31 1986-07-29 Input-output control system in a virtual machine system
DE8686110429T DE3687805T2 (de) 1985-07-31 1986-07-29 Ein-ausgabesteuersystem in einem virtuellen maschinensystem.
CN86105553A CN1007938B (zh) 1985-07-31 1986-07-30 虚拟计算机系统的输入输出控制方式
US06/890,524 US4887202A (en) 1985-07-31 1986-07-30 Input-output control method in a virtual machine system
KR1019860006273A KR930008265B1 (ko) 1985-07-31 1986-07-30 가상 계산기 시스템의 입출력 제어방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60170430A JPH0792761B2 (ja) 1985-07-31 1985-07-31 仮想計算機システムの入出力制御方法

Publications (2)

Publication Number Publication Date
JPS6231437A true JPS6231437A (ja) 1987-02-10
JPH0792761B2 JPH0792761B2 (ja) 1995-10-09

Family

ID=15904768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60170430A Expired - Lifetime JPH0792761B2 (ja) 1985-07-31 1985-07-31 仮想計算機システムの入出力制御方法

Country Status (6)

Country Link
US (1) US4887202A (ja)
EP (1) EP0210640B1 (ja)
JP (1) JPH0792761B2 (ja)
KR (1) KR930008265B1 (ja)
CN (1) CN1007938B (ja)
DE (1) DE3687805T2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02207362A (ja) * 1989-02-07 1990-08-17 Fujitsu Ltd 計算機システム
JP2005353055A (ja) * 2004-05-27 2005-12-22 Internatl Business Mach Corp <Ibm> ページング可能モード仮想環境でのデータ転送を容易にするシステム、およびコンピュータ・プログラム
JP2007272576A (ja) * 2006-03-31 2007-10-18 Hitachi Ltd サーバ装置及び仮想計算機の制御プログラム
JP2008305034A (ja) * 2007-06-06 2008-12-18 Hitachi Ltd デバイス割り当て変更方法
WO2011039887A1 (ja) * 2009-10-01 2011-04-07 三菱電機株式会社 計算機装置
JP2013546111A (ja) * 2010-12-23 2013-12-26 インテル・コーポレーション 仮想化によるスマートデバイスの直接的共有

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5129064A (en) * 1988-02-01 1992-07-07 International Business Machines Corporation System and method for simulating the I/O of a processing system
JP2629278B2 (ja) * 1988-06-30 1997-07-09 株式会社日立製作所 仮想計算機システム
US5276815A (en) * 1988-10-24 1994-01-04 Fujitsu Limited Input and output processing system for a virtual computer
JPH02171934A (ja) * 1988-12-26 1990-07-03 Hitachi Ltd 仮想計算機システム
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
DE58908886D1 (de) * 1989-09-29 1995-02-23 Siemens Nixdorf Inf Syst Verfahren und Unterbrechungssteuerung zur Behandlung von Unterbrechungsanforderungen bei Ein-/Ausgabeoperationen in einem virtuellen Maschinensystem.
US5283900A (en) * 1989-10-02 1994-02-01 Spectron Microsystems, Inc. Real-time operating system and virtual digital signal processor for the control of a digital signal processor
EP0447145B1 (en) * 1990-03-12 2000-07-12 Hewlett-Packard Company User scheduled direct memory access using virtual addresses
JP2708608B2 (ja) * 1990-05-25 1998-02-04 富士通株式会社 仮想計算機のipl処理方式
DE69128615T2 (de) * 1990-10-03 1998-04-23 Fujitsu Ltd Sendesteuerungssystem für eingangs/ausgangsbefehle in einem datenverarbeitungssystem
JP3093293B2 (ja) * 1991-02-08 2000-10-03 日本電気株式会社 情報処理装置の割り込み方式
US5291599A (en) * 1991-08-08 1994-03-01 International Business Machines Corporation Dispatcher switch for a partitioner
JP2677474B2 (ja) * 1992-01-14 1997-11-17 富士通株式会社 仮想計算機の制御情報収集装置および方法
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
GB9311935D0 (en) * 1993-06-09 1993-07-28 Madge Networks Ltd Processor
US6055559A (en) * 1994-03-07 2000-04-25 Fujitsu Limited Process switch control apparatus and a process control method
US5603059A (en) * 1994-04-22 1997-02-11 Pitney Bowes Inc. Software architecture system having a virtual I/O channel including multi-layered communication interface in between virtual stations and physical modules
US5799169A (en) * 1995-10-02 1998-08-25 Chromatic Research, Inc. Emulated registers
US6067527A (en) * 1995-10-12 2000-05-23 Gilbarco, Inc. Point of sale system, method of operation thereof and programming for control thereof
US5925109A (en) * 1996-04-10 1999-07-20 National Instruments Corporation System for I/O management where I/O operations are determined to be direct or indirect based on hardware coupling manners and/or program privilege modes
US5978912A (en) * 1997-03-20 1999-11-02 Phoenix Technologies Limited Network enhanced BIOS enabling remote management of a computer without a functioning operating system
ES2249450T3 (es) * 2000-07-05 2006-04-01 ERNST &amp; YOUNG LLP Metodo y aparato para proporcionar servicios informaticos.
JP2002132518A (ja) * 2000-10-25 2002-05-10 Fujitsu Ltd 仮想計算機システムおよび仮想計算機間の入出力装置交換方法
JP4091792B2 (ja) * 2002-05-17 2008-05-28 株式会社エヌ・ティ・ティ・ドコモ 電子機器、イベント提供方法、プログラム、及び記録媒体
US8079034B2 (en) * 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor
CN100335997C (zh) * 2004-01-14 2007-09-05 威达电股份有限公司 多个输入/输出装置的切换控制系统及其方法
US7454756B2 (en) * 2004-03-05 2008-11-18 Intel Corporation Method, apparatus and system for seamlessly sharing devices amongst virtual machines
US7725895B2 (en) * 2004-03-31 2010-05-25 Intel Corporation Processor control register virtualization to minimize virtual machine exits
CN101359313B (zh) * 2006-01-17 2010-04-14 株式会社Ntt都科摩 输入输出控制系统
CN100454278C (zh) * 2006-01-19 2009-01-21 联想(北京)有限公司 计算机系统及其i/o端口访问控制方法
CN100464295C (zh) * 2006-05-17 2009-02-25 联想(北京)有限公司 一种基于虚拟机的安全输入方法
JP4295783B2 (ja) * 2006-12-13 2009-07-15 株式会社日立製作所 計算機、仮想デバイスの制御方法
US7478185B2 (en) * 2007-01-05 2009-01-13 International Business Machines Corporation Directly initiating by external adapters the setting of interruption initiatives
US8151265B2 (en) * 2007-12-19 2012-04-03 International Business Machines Corporation Apparatus for and method for real-time optimization of virtual machine input/output performance
CN102334101B (zh) * 2009-03-31 2014-10-08 三菱电机株式会社 执行顺序决定装置
US8402461B2 (en) * 2009-11-15 2013-03-19 Hewlett-Packard Development Company, L. P. Switching between direct mode and indirect mode for virtual machine I/O requests
JP2011118578A (ja) * 2009-12-02 2011-06-16 Renesas Electronics Corp 情報処理装置
EP2513789B1 (en) 2009-12-14 2019-10-23 Citrix Systems, Inc. A secure virtualization environment bootable from an external media device
EP3002703B1 (en) * 2009-12-14 2017-08-30 Citrix Systems Inc. Methods and systems for communicating between trusted and non-trusted virtual machines
US9760511B2 (en) * 2014-10-08 2017-09-12 International Business Machines Corporation Efficient interruption routing for a multithreaded processor
US11042494B1 (en) * 2018-06-21 2021-06-22 Amazon Technologies, Inc. Direct injection of a virtual interrupt
US11115324B2 (en) 2019-08-27 2021-09-07 Nokia Solutions Networks Oy System and method for performing segment routing over an MPLS network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54107647A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Data processor
JPS60150140A (ja) * 1984-01-18 1985-08-07 Hitachi Ltd I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6013501B2 (ja) * 1978-09-18 1985-04-08 富士通株式会社 仮想計算機システムにおけるチヤネルアドレス制御方式
US4456954A (en) * 1981-06-15 1984-06-26 International Business Machines Corporation Virtual machine system with guest architecture emulation using hardware TLB's for plural level address translations
US4533996A (en) * 1982-02-23 1985-08-06 International Business Machines Corporation Peripheral systems accommodation of guest operating systems
DE3279744D1 (en) * 1981-08-03 1989-07-06 Ibm Peripheral sub-systems accommodating guest operating systems
US4494189A (en) * 1982-04-26 1985-01-15 International Business Machines Corporation Method and means for switching system control of CPUs
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
JPS6057438A (ja) * 1983-09-08 1985-04-03 Hitachi Ltd 仮想計算機システム制御装置
JPS60159948A (ja) * 1984-01-30 1985-08-21 Nec Corp 命令例外処理方式
JPS60225944A (ja) * 1984-04-25 1985-11-11 Hitachi Ltd 仮想計算機システム
US4674038A (en) * 1984-12-28 1987-06-16 International Business Machines Corporation Recovery of guest virtual machines after failure of a host real machine
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
JPH07110406B2 (ja) * 1992-02-14 1995-11-29 正利 横木 耐磨耗性金属材およびその製造方法
JP3069435B2 (ja) * 1992-06-25 2000-07-24 松下電工株式会社 アンテナ線引込装置の引込み線の接続構造

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS54107647A (en) * 1978-02-13 1979-08-23 Hitachi Ltd Data processor
JPS60150140A (ja) * 1984-01-18 1985-08-07 Hitachi Ltd I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02207362A (ja) * 1989-02-07 1990-08-17 Fujitsu Ltd 計算機システム
US9323560B2 (en) 2004-05-27 2016-04-26 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
JP2005353055A (ja) * 2004-05-27 2005-12-22 Internatl Business Mach Corp <Ibm> ページング可能モード仮想環境でのデータ転送を容易にするシステム、およびコンピュータ・プログラム
US10698845B2 (en) 2004-05-27 2020-06-30 International Business Machines Corporation Set buffer state instruction
US7941799B2 (en) 2004-05-27 2011-05-10 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US8196139B2 (en) 2004-05-27 2012-06-05 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US8495633B2 (en) 2004-05-27 2013-07-23 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US10223300B2 (en) 2004-05-27 2019-03-05 International Business Machines Corporation Set buffer state instruction
US8904390B2 (en) 2004-05-27 2014-12-02 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
US9086905B2 (en) 2004-05-27 2015-07-21 International Business Machines Corporation Interpreting I/O operation requests from pageable guests without host intervention
JP2007272576A (ja) * 2006-03-31 2007-10-18 Hitachi Ltd サーバ装置及び仮想計算機の制御プログラム
US8104035B2 (en) 2006-03-31 2012-01-24 Hitachi, Ltd. Program for controlling a virtual computer and computer system for virtulization technology
JP2008305034A (ja) * 2007-06-06 2008-12-18 Hitachi Ltd デバイス割り当て変更方法
WO2011039887A1 (ja) * 2009-10-01 2011-04-07 三菱電機株式会社 計算機装置
JP2013546111A (ja) * 2010-12-23 2013-12-26 インテル・コーポレーション 仮想化によるスマートデバイスの直接的共有

Also Published As

Publication number Publication date
EP0210640A2 (en) 1987-02-04
EP0210640A3 (en) 1989-06-21
JPH0792761B2 (ja) 1995-10-09
DE3687805T2 (de) 1993-06-09
CN1007938B (zh) 1990-05-09
KR870001510A (ko) 1987-03-14
CN86105553A (zh) 1987-07-15
EP0210640B1 (en) 1993-02-24
KR930008265B1 (ko) 1993-08-27
DE3687805D1 (de) 1993-04-01
US4887202A (en) 1989-12-12

Similar Documents

Publication Publication Date Title
JPS6231437A (ja) 仮想計算機システムの入出力制御方法
US5499379A (en) Input/output execution apparatus for a plural-OS run system
EP1054322B1 (en) Computer system with multiple operating system operation
US4885681A (en) I/O Execution method for a virtual machine system and system therefor
JPS61206043A (ja) 仮想計算機システムにおける割込制御方法
JPH0784883A (ja) 仮想計算機システムのアドレス変換バッファパージ方法
JPH0695898A (ja) 仮想計算機の制御方法および仮想計算機システム
JPH0635731A (ja) 入出力チャネル・サブシステム・コール命令制御方法およびcecの解釈実行方法
JPS6258341A (ja) 入出力割込処理方式
US5392409A (en) I/O execution method for a virtual machine system and system therefor
JP2870254B2 (ja) 仮想計算機の入出力割り込み処理方式
JPH10283304A (ja) 割り込み要求を処理する方法及びシステム
JPH09282196A (ja) 複合論理プロセッサシステムのプログラム走行制御方式
JPH0668725B2 (ja) データ処理システムにおける割込条件に応答する装置及び非同期割込条件に応答する方法
JPS61184643A (ja) 仮想計算機の起動制御方式
JPS603229B2 (ja) 情報処理方式
JPS62221041A (ja) 仮想計算機システムにおけるデイスパツチ制御装置
JPH10260850A (ja) 仮想計算機システム
JPH0375832A (ja) 仮想計算機制御方式
JPH02146634A (ja) 仮想計算機システムにおける割込み制御方式
JPH0638238B2 (ja) 仮想計算機システム
JPH0444131A (ja) 複数os走行システムにおけるプロセッサ間通信の実行装置および方法
JPH07141210A (ja) 仮想計算機処理装置
JPH06242975A (ja) 多重情報処理システムの仮想計算機ディスパッチ方式
JPS61240333A (ja) 入出力割込処理方式