JP2764841B2 - 仮想計算機システムi/o制御方式 - Google Patents
仮想計算機システムi/o制御方式Info
- Publication number
- JP2764841B2 JP2764841B2 JP4064252A JP6425292A JP2764841B2 JP 2764841 B2 JP2764841 B2 JP 2764841B2 JP 4064252 A JP4064252 A JP 4064252A JP 6425292 A JP6425292 A JP 6425292A JP 2764841 B2 JP2764841 B2 JP 2764841B2
- Authority
- JP
- Japan
- Prior art keywords
- guest
- sch
- shared
- channel
- interrupt
- 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 - Lifetime
Links
Description
おけるI/O制御方式に関するものである。
ーキテクチャからなるVM(ゲスト、仮想計算機)#1
ないし#nを図7に示すようにサポートしている。ここ
で、従来のゲストは、共用チャネルおよび専用チャネル
の運用上、機能制御の単位であるチャネルであり、ゲス
ト割り込みサブチャネル(SCH(サブチャネル):各
I/O装置に対応して一意に設けた論理的なパス)の制
御単位と一致していた(図8参照)。このため、VMモ
ニタがサブマスクを操作し、共用チャネルに対するサブ
マスクを強制的にイネーブルにしても、専用チャネル側
の制御に影響を与えない。
る。図7は、従来の仮想計算機システムを示す。ここで
は、同一のアーキテクチャのオペレーティングシステム
−1、ユーザプログラムからなるVM#1、同一のアー
キテクチャのオペレーティングシステム−2、ユーザプ
ログラムからなるVM#2・・・というようにn組のV
M(ゲスト)を図示のように設けている。ここで、VM
−CPは、各VMを統括制御する同一アーキテクチャの
ホストである。
す。図8において、CHはチャネル、CUはI/O制御
装置、DVはI/O装置を表す。SCHはサブチャネル
を表す。
V(各I/O装置)に対応して一意の論理的なアクセス
パスであり、論理的な制御情報管理単位であって、物理
的な主記憶内のハードウェア専用域(HSA)内に設け
たメモリ・ブロックに格納されている情報である。この
SCHは陽にソフトウェアから意識して対応するパスを
経由してDVにアクセスする。
構成に比し、図4に示すように、異なるアーキテクチャ
からなるVM(ゲスト)#1ないし#Nをサポートし、
図5に示すように、SCH(サブチャネル)としてI/
O装置に1対1に対応づけた場合、チャネル(CH)や
I/O制御装置(CU)などの物理的な単位に何ら関係
なく制御される。例えばISC(Interruption Subclass
Code)の対応する割り込みサブマスクを強制的にイネー
ブルにすると、共用チャネルだけでなく、専用チャネル
のI/O割り込みもCPUファームにインターセプトす
ることとなる。このとき、この割り込みを受理すべきゲ
ストCPUが物理CPUで走行している保証はない。こ
のために、ファームウェア内部でソフト的に制御する必
要が生じてしまう。また、一度ファームウェアが専用チ
ャネルの割り込みを受理したならば、専用チャネルの全
ての命令はファームウェア割り出しとする必要がある。
このようにしたのでは、ゲストの専用チャネルのオーバ
ヘッドが増大してしまい、従来のVMより改善できな
い。これを解決するために、専用チャネルが使用するも
のと、別のISCにより共用チャネルのI/O割り込み
を独自に制御する必要があるという問題があった。
図4は、本発明の仮想計算機システムを示す。図1にお
いて、VM#1からVM#nは、異なるアーキテクチャ
を持つものであって、例えば基本(M)、拡張(M−X
A)、基本かつ他のアーキテクチャと互換、拡張かつ他
のアーキテクチャと互換というようなアーキテクチャを
持つものである。
キテクチャのVM#1からVM#nを統括制御するもの
である(後述する)。図5は、本体とI/O装置の結合
関係を示す。
ャネルであって、DV(I/O装置)と1対1の関係で
設けたものである。CHはチャネル、CUはI/O制御
装置、DVはI/O装置である。
へのスタートSCH(サブチャネル)命令の発行時にフ
ァームウェアが当該スタートSCH命令をインターセプ
トして代行発行し、共用装置からのUCK(障害発生)
付きのI/O割り込み時にセンス代行実行して詳細情報
を蓄積すると共に割り込みをアクセス元のVMに行い、
VMがセンス発行して蓄積した詳細情報の転送を受け、
共用装置へのアクセスを迅速に可能にすることを目的と
している。
決するための手段を説明する。図1において、VM(ゲ
スト)は、仮想空間でそれぞれ動作するものである。
CH命令が共用装置のときにインターセプトすると共
に、代行発行、センス代行実行して詳細情報を蓄積など
するものである。
装置と1対1に対応づけた制御情報である。
ートSCH命令を発行したことに対応して、EVMファ
ームが共用装置に対するときにインターセプトして当該
スタートSCH命令を代行発行し、共用装置からUCK
(障害発生)付きの優先のI/O割り込みを受けたとき
に、センス代行実行してその詳細情報の転送を受けて蓄
積して共用装置へのアクセスを可能状態にすると共にV
MにUCK付きの割り込みし、この通知を受けたVMが
蓄積した詳細情報の転送を受けて取り込むようにしてい
る。
のスタートSCH命令の発行時にEVMファームが当該
スタートSCH命令をインターセプトして代行発行し、
UCK(障害発生)付きの優先のI/O割り込み時にセ
ンス代行実行して詳細情報を蓄積することにより、共用
装置に対するアクセスを迅速に可能にすることができ
る。
の構成および動作を順次詳細に説明する。
図1において、VM A、VM Bは、仮想計算機シス
テムA、Bであって、ここではゲストA、ゲストBと呼
ばれるものである。これらVM A、VM Bなどは、
それぞれ異なるアーキテクチャを持つ(図4参照)。
統括制御するものであって、ホストと呼ばれるものであ
る。EVMファームは、Extended−VMファー
ムであって、VMからのI/Oアクセス要求に対応し
て、共用装置(ここではDV#4)へのI/Oアクセス
要求のときに当該I/Oアクセス要求(後述するSSC
H命令)をインターセプトすると共に、I/Oアクセス
要求を代行発行したり、共用装置からUCK(障害)付
きのI/O割り込みがあったときにセンス代行実行して
詳細情報を蓄積したり、アクセス要求元のVMに割り込
みで処理結果を通知したりなどするものである(図2を
用いて後述する)。
コントロールユニット(I/O制御装置)である。DV
は、デバイス(I/O装置)である。
ムで一意なSCB番号である。ここでは、図示のよう
に、CHについて#aないし#f、DVについて#0な
いし8を付与している。
CB番号)であって、ここではVMA(ゲストA)が使
用すると定義したSCB番号である。図中、DVについ
て@0から@3を付与している。DVの@3は、VM
AとVM Bから使用すると定義し、共用となってい
る。
ではVM B(ゲストB)が使用すると定義したSCB
番号である。図中、DVについて、@@0ないし@@5
を付与している。DVの@@1は、VM BとVM A
から使用すると定義し、共用となっている。
順序に従い詳細に説明する。ここで、VMは図1のVM
AあるいはVM Bを表し、EVMファームはEVM
ファームを表し、IOP(IOプロセッサ)は図1のC
H、CUなどの制御を行うプロセッサである。
tart Subchannel、スタートサブチャネル)命令を発行
する。これにより、当該SSCH命令で指定したサブチ
ャネルと1対1に対応づけたDV(I/O装置)へのア
クセス要求を行ったこととなる。
I/Oアクセス要求が共用装置と定義されたDV(I/
O装置)などに対するものか判別する。YESの場合に
は、本実施例の場合であって、S4でEVMファームが
S1で発行した命令をインターセプト(ICK)し、S
4に進む。一方、NOの場合には、共用装置に対するI
/Oアクセス要求でないと判明したので、点線で示すよ
うに、直接にIOPにSSCH命令を通知する。
判明し、S3でインターセプトしたEVMファームがこ
のインターセプトしたSSCH命令を代行発行してIO
Pに通知する。
令を受け取ったIOPが当該SSCH命令で指示された
サブチャネルに1対1に対応するデバイス(DV)への
I/O操作を行う。ここで、ISCB(インターナルS
CB)で行う、即ち複数のルートがあるときに例えば番
号の小さいルートから先にサブチャネルに1対1に対応
するDVへのI/O操作(アクセスなど)を試み、既に
使用中(あるいは使用不可)のときに次の番号のルート
からサブチャネルに1対1に対応するDVへのI/O操
作(アクセスなど)を試みる(例えば図1でVM Aが
共用装置のDV@aへのアクセスを要求したときに該当
する)。
(障害発生)したとする。S7は、6は、I/O割り込
みがEVMファームに発生する。S8は、S7のI/O
割り込み(この割り込みはマスクしない最優先とする)
を受け付けたEVMファームがUCK(障害発生)付き
か判別する。YESの場合には、S9でVMの代わりに
当該EVMファームがセンス代行実行(詳細情報の収
集)を行う。
て、IOPがS6でUCK発生時に保持しておいた障害
の詳細情報をEVMファームに返す。S11は、S10
で返された障害の詳細情報の蓄積およびSCBの解放を
行い、一連のVMに代わって行ったセンスを完了する。
これにより、当該ルートについて、共用する他のVMが
使用してDVをアクセスすることが可能となる。このS
11のセンス完了あるいはS9のセンス実行時などに、
S1でSSCH命令を発行した元のVMにI/O割り込
みで知らせるために、割り込みエンキュー(割り込みキ
ューにエンキュー)する。
がS1でSSCH命令を発行したことに対応する結果を
受け取る。この際、結果が正常完了であれば一連のI/
Oアクセス要求を終了する。一方、UCK付きであった
ときは、S14でセンス発行し、S15に進む。
受け付けたEVMファームがセンス完了か判別する(S
11のセンス完了か判別する)。YESのときは、既に
EVMファームによってUCK発生の詳細情報が蓄積さ
れているので、S16で刈り取ったセンスバイトをVM
に転送する。一方、NOのときは、S11のセンス完了
するまで待機する。
バイト(障害情報)をVMに取り込み、一連のセンス完
了する。以上のように、VMが共用装置に対するアクセ
ス要求(例えばSSCH命令)の場合、EVMファーム
がこれをインターセプトして代行発行を行い、その結果
を優先のI/O割り込みで受け取り、このときにUCK
付きであった場合(S9)、センス代行実行して詳細情
報を蓄積すると共にSCBを解放して他のVMから共用
のSCB(I/O装置)の使用を可能状態にする。そし
て、I/O割り込みでアクセス要求元のVMに通知し、
センス発行に対応して蓄積した詳細情報を転送してVM
が受け取り、一連のセンス完了する。これにより、VM
から共用のI/O装置に対するアクセス要求に対応し
て、EVMファームがUCK発生時に迅速に障害の詳細
情報を採取して(刈り取って)共用のSCB(I/O装
置)を解放し、当該共用のSCBを迅速に使用状態にす
ることが可能となる。
は、図1の構成のもとで、図2を用いて説明した動作を
行う際に使用する各種情報例である。図3において、D
MBは、ドメイン制御ブロックであって、図1のVM毎
に図示のような各種情報を統括制御するための制御ブロ
ックである。
制御テーブル#1であって、ここではゲストAのI/O
構成情報である。ここには、DVに1対1に対応づけた
サブチャネル(SCH)をアクセスするときのルート、
例えば図1でDV@0のサブチャネルに対応づけて ・CH#a−CU−DV@a ・CH#b−CU−DV@a の2つのルートの情報を設定する。同様にブチャネルに
対応づけてそれぞれ設定する。
効ビット−(P−SCB)−(R−SCB)を設定、例
えば有効ビット−CH#a−CH#aというように設定
する。ここで、有効ビットは、当該CH#aが使用可能
な否かを表すビットである。
効ビット−(P−SCB)−(R−SCB)を設定、例
えば有効ビット−DV#0−DV@0というように設定
する。ここで、有効ビットは、当該DV#0が使用可能
な否かを表すビットである。
CCW Work Areaは、図2のS11でIOP
から転送されてきた障害の詳細情報を蓄積したりなどす
る領域である。
って、CH、DVなどに付与したSCB番号毎に作成す
る制御ブロックである。このSCBのISC(インタラ
プト・サブクラス・コード)毎にIQCBという割り込
み制御ブロック(割り込みのキュー)を持っている。
参照して既述した図2の各種制御を行ったり、障害の詳
細情報を図示のように格納したりするようにしている。
図4は、本発明のシステム例を示す。
って、アーキテクチャが拡張を持つものである。VM#
1ないしVM#nは、ゲストであって、アーキテクチャ
が基本、拡張、基本かつ互換、拡張かつ互換というよう
な異なるアーキテクチャを持つものである。これらVM
#1ないしVM#nは、それぞれ仮想空間で動作する。
これらアーキテクチャは、任意に指定することができ
る。
の説明図を示す。本発明は、SCHは、DV(デバイ
ス、I/O装置)と1対1の対応関係にあり、ルートは
図示状態では2つある。従って、サブチャネル(SC
H)に対応づけてこれら2つのルートがVM毎に図3の
Guest−IORSFに設定されている。
制御装置である。図6は、本発明の共用装置の説明図を
示す。
で●は共用を表し、○は共用でないを表す。ここでは、
CH、CUはゲストA、ゲストBが共用している。DV
−AはゲストAが専用し、DV−BはゲストBが専用し
ている。
で●は共用を表し、○は共用でないを表す。ここでは、
CH、CU、DV−A/B、DV−A/Bは共にゲスト
A、ゲストBが共用している。
には、複数ゲスト間でCCUC(Channel-Control Unit
Connection)が共用されているとき、このCCUC配下
の装置について、1つのみ滞留できるセンス情報と、1
つのみ設定できるパスグループIDが複数のゲストで競
合することが発生する。更に、例2の同一のCCUCを
経由して複数のゲストから共用するDV(I/O装置)
がある場合、これのリザーブ/リリース制御も競合する
ことが発生する。
トAが発行したI/O処理でUCK(ユニットチェッ
ク)が発生し、CCUC(制御装置)に"Dedicated All
egece"が滞留し、そのときからゲストAがセンス発行す
るまでの時間が非常に長い場合(例えば優先順位が低
く、なかなかディスパッチされない、あるいはゲストA
がダウンした場合)、CCUCを共用するゲストBが、
ゲストAがセンス発行して障害の障害情報を芝刈りして
くれるまで、CCUC配下の一切の装置にアクセスでき
なくなる事態である。これを避けるために、本発明で
は、図2のS9からS11でEVMファームがセンス代
行実行し、芝刈りを行ってSCBを解放し、センス情報
の競合を迅速に解消するようにしている。
Aが発行したSet Path Group IDコマンドで一度パスグ
ループが構築されてしまうと、ゲストBが同じCCUC
配下の他のI/O装置に関してパスグループを構築しよ
うとしても同一コマンドが"Command Reject UCK"で失敗
してしまう事態である。ゲストBのコマンドが全て失敗
すれがよいが、そのうちのゲストAのコマンドが先に入
った部分のみ失敗するので、結果として装置の制御がで
きなくなってしまう。
で説明したように、EVMファームが共用装置へのアク
セス要求のときにインターセプトして代行発行し、UC
Kの発生を優先のI/O割り込みで速やかに報告させ、
センス代行発行してセンス情報(障害の詳細情報)を準
備したバッファに蓄積すると共にSCBを解放し、競合
が発生したとしても可及的に速やかに解消するようにし
ている。
VM(ゲスト)からの共用装置へのスタートSCH命令
の発行時時にEVMファームが当該スタートSCH命令
をインターセプトして代行発行し、UCK(障害発生)
付きの優先のI/O割り込み時にセンス代行実行して詳
細情報を蓄積する構成を採用しているため、UCKが発
生(障害が発生)した場合にVM(ゲスト)の状態に関
係なく、障害の詳細情報を迅速に芝刈りして競合の発生
を速やかに解消することができる。
る。
る。
Claims (1)
- 【請求項1】 仮想計算機システムにおけるI/O制御
方式において、 I/O装置と1対1に対応づけた制御情報であるSCH
(サブチャネル)と、 仮想空間でそれぞれ動作する複数のVM(ゲスト)と、 VMからのスタートSCH命令が共用装置のときにイン
ターセプトすると共に、代行発行、センス代行実行して
詳細情報を蓄積するEVMファームとを備え、 あるVMがスタートSCH命令を発行したことに対応し
て、上記EVMファームが共用装置に対するときにイン
ターセプトして当該スタートSCH命令を代行発行し、
共用装置からUCK(障害発生)付きのI/O割り込み
を受けたときに、センス代行実行して詳細情報の転送を
受けて蓄積して共用装置へのアクセスを可能状態にする
と共にVMにUCK付きの割り込みし、この通知を受け
たVMが蓄積した詳細情報の転送を受けて取り込むよう
に構成したことを特徴とする仮想計算機システムI/O
制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4064252A JP2764841B2 (ja) | 1992-03-19 | 1992-03-19 | 仮想計算機システムi/o制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP4064252A JP2764841B2 (ja) | 1992-03-19 | 1992-03-19 | 仮想計算機システムi/o制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH05265783A JPH05265783A (ja) | 1993-10-15 |
JP2764841B2 true JP2764841B2 (ja) | 1998-06-11 |
Family
ID=13252796
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP4064252A Expired - Lifetime JP2764841B2 (ja) | 1992-03-19 | 1992-03-19 | 仮想計算機システムi/o制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2764841B2 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0833835B2 (ja) * | 1987-07-15 | 1996-03-29 | 富士通株式会社 | エラー回復制御装置 |
JPS6453238A (en) * | 1987-08-24 | 1989-03-01 | Nec Corp | Processing system at fault generation of main body system in virtual computer system |
JPH01292552A (ja) * | 1988-05-20 | 1989-11-24 | Nec Corp | 仮想計算機システムにおける周辺系障害処理方式 |
JP2629278B2 (ja) * | 1988-06-30 | 1997-07-09 | 株式会社日立製作所 | 仮想計算機システム |
JPH0348937A (ja) * | 1989-07-18 | 1991-03-01 | Nec Corp | 仮想計算機システムにおける入出力命令実行方式 |
-
1992
- 1992-03-19 JP JP4064252A patent/JP2764841B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05265783A (ja) | 1993-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5353411A (en) | Operating system generation method | |
US9436626B2 (en) | Processor interrupt interface with interrupt partitioning and virtualization enhancements | |
US6772419B1 (en) | Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS | |
JP2753706B2 (ja) | 計算機におけるipl方法 | |
JPH02208740A (ja) | 仮想計算機制御方式 | |
US10102139B2 (en) | Memory management for address translation including detecting and handling a translation error condition | |
US20070005861A1 (en) | Fault tolerant computer system | |
JP2007172334A (ja) | 並列型演算システムの冗長性を確保するための方法、システム、およびプログラム | |
US5452462A (en) | Global communication interrupt control system for communication between real and virtual machine systems using global communication functions of a shared memory | |
JP3765201B2 (ja) | 計算機システム | |
US7159079B2 (en) | Multiprocessor system | |
JP2764841B2 (ja) | 仮想計算機システムi/o制御方式 | |
US20100235549A1 (en) | Computer and input/output control method | |
JPH04123234A (ja) | マルチプロセッサのプロセススケジューリング方式及びメモリ管理方式 | |
JPH0281255A (ja) | マルチプロセッサコンピュータ複合装置 | |
CN117272412B (zh) | 中断控制寄存器保护方法、装置、计算机设备及存储介质 | |
US20160259680A1 (en) | Memory management | |
JP3189894B2 (ja) | 仮想計算機システム | |
JPH09282291A (ja) | 共通記憶装置のロックフラグ解除方式および方法 | |
JPH0540635A (ja) | プログラム出口の動的非アクテイブ化方法および装置 | |
JP2001034489A (ja) | オブジェクト指向型プログラム実行環境の実行制御方法 | |
JP2830293B2 (ja) | プログラム実行方法 | |
JPS6027421B2 (ja) | マルチシステムの監視・制御方式 | |
JPH04302352A (ja) | マルチプロセッサシステム | |
JP2798140B2 (ja) | 仮想空間制御方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980303 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080403 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090403 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090403 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100403 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110403 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110403 Year of fee payment: 13 |
|
EXPY | Cancellation because of completion of term |