JPH0673108B2 - ゲストに割り当てられたシステム資源に対するゲストの動作を制限する方法 - Google Patents

ゲストに割り当てられたシステム資源に対するゲストの動作を制限する方法

Info

Publication number
JPH0673108B2
JPH0673108B2 JP63159572A JP15957288A JPH0673108B2 JP H0673108 B2 JPH0673108 B2 JP H0673108B2 JP 63159572 A JP63159572 A JP 63159572A JP 15957288 A JP15957288 A JP 15957288A JP H0673108 B2 JPH0673108 B2 JP H0673108B2
Authority
JP
Japan
Prior art keywords
guest
interrupt
cpu
host
assigned
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
Application number
JP63159572A
Other languages
English (en)
Other versions
JPS6437636A (en
Inventor
ジヨージ・ヘンリー・ビーン
テリー・リィー・ボーデン
マーク・ステイヴン・フアレル
ピイーター・ハーモン・ガム
ロジヤー・エルデレド・ホウ
フランシス・エドワード・ジヨンソン
ドナルド・ウイリアム・マクコウリイ
マーク・イマニユエル・ラクミレヴイツチ
ジヨン・コード・ラスジエン
カスパー・アンソニイー・スカールジイー
ジヨン・フエントン・スカンロン
レズリイ・ウツド・ワイマン
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPS6437636A publication Critical patent/JPS6437636A/ja
Publication of JPH0673108B2 publication Critical patent/JPH0673108B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、データ処理システムの中央電子集積体(cent
ral electronic complex)内の資源を複数の論理的な区
画に区分する方法および手段に関する。区分を行うシス
テムは、プログラミング、マイクロコード、またはシス
テムの様々なゾーンの中の複数の様々なプログラミング
・システムの高能率動作を可能にする特別なハードウエ
アによつて、具現される。本発明は、システムのランダ
ム・アクセス型の記憶装置(以下ストレージとも呼
ぶ)、中央の処理装置(プロセツサ)、チヤネル、およ
びサブチヤネルの資源のサブセツトを、システム中の異
なる論理区画に割り当てて、複数の相異なる良好な(pr
eferred)なゲスト・プログラミング・システムが異な
る区画において同時にランできるようにするユニークな
方法を提供する。また本発明は、システム中のI/Oチヤ
ネルおよびサブチヤネル資源を異なる区画の間で区分け
することも含む。異なる区画中の異なるゲスト・プログ
ラミング・システムとは、一般的には異なるオペレーテ
イング・システム(OS)である。
B.用語の略称 主要な用語の略称は以下のとおりである。
AA−−絶対アドレス AZM−−警告ゾーン・マスク AZN−−割当ゾーン名、割当ゾーン番号 C−−制御ビット CAW−−チヤネル・アドレス・ワード CC−−条件コード CCW−−チヤネル・コマンド・ワードCH,CHANチヤネル CPU−−中央演算処理装置 CR−−制御レジスタ DASD−−直接アクセス記憶装置 DCSI−−診断・比較・スワツプ命令 EC−−拡張 ECA−−実行制御エリア EIEM−−有効I/O割込可能マスク endop−−動作終了 ES−−拡張記憶装置 GCR−−ゲスト制御レジスタ GIEM−−ゲストI/O割込可能マスク GIPR−−ゲストI/O割込保留レジスタ GISC−−ゲストI/O割込サブクラス GPSW−−ゲストのPSW GR−−汎用レジスタ HCR−−ホスト制御レジスタ HIEM−−ホストI/O割込可能マスク HIPR−−ホストI/O割込保留レジスタ HISC−−ホストI/O割込サブクラス HPSW−−ホストのPSW ID−−識別子 IDAW−−間接データ・アドレス・ワード IOP−−I/Oプロセツサ IPR−−割込保留レジスタ IRB−−情報応答ブロツク ISC−−割込サブクラス LCTL−−ロード制御 MP−−マルチプロセツサ MPS−−マルチプロセツサ、プログラミング・システム MS−−主記憶装置 P−−パス・スルー・ビツト PF−−ページ枠 PN−−ページ番号 PSA−−プレフイツクス・セーブ・エリア PSW−−プログラム・スタータス(状況)・ワード SA−−システム・エリア SCH−−サブチヤネル SD−−状態記述子 SIE−−解釈実行開始 SIO−−I/O開始命令 SSCH−−スタート・サブチャネル命令 TLB−−変換索引緩衝機構 TPI−−保留割込テスト TPZI−−保留ゾーン割込テスト TSCH−−サブチャネル・テスト UP−−ユニプロセツサ UPS−−ユニプロセツサ・プログラミング・システム V−−有効ビツト V=F−−仮想=固定 V=R−−仮想=実 V=V−−仮想=仮想 X−−状況ビツト C.従来技術およびその問題点 仮想計算機(VM)ハイパバイザ・プログラム、例えばIB
M VM/システム・プロダクト(SP)は、多年にわたつて
広く使用されている。このVM/SP/は通常、主記憶装置の
上位アドレス部分にロードされ、普通はシステムの1以
上の中央処理装置(CPU)および主記憶装置(MS)から
離れている、キーボード/デイスプレイ・ターミナルか
らデータ処理システムにそれぞれインタフエースする多
数のユーザのプログラム実行を調整する。
VMの利点は、各ユーザーに見かけ上の、つまり理論的な
CPUを与えることによつて、大型システムの見かけ上の
データ処理能力を各ユーザに与えることである。複数の
論理CPUは、システム中の実CPU資源の各々を共有するこ
とも可能である。VMユーザ(VM“ホスト”制御プログラ
ムの“ゲスト”と呼ぶこともある)には、VM制御プログ
ラムによつて、各ユーザがシステム上で仕事をするとき
に動作するそれぞれのMS領域が割当てられる。
VMゲストは、接続された実システムのアーキテクチヤと
インタフエースするように設計されているプログラムを
ランできる。例えば、S/360、S/370またはS/370XAアー
キテクチヤの命令セツトを、S/370XAハードウエア・シ
ステム上でランしているゲスト・プログラムにより使用
できる。
MVSのようなオペレーテイング・システムはVM/SPによつ
て複数のゲストの1つとしてランされていた。VM/SPの
下で、MVS/SPはしばしば良好なゲストである。なぜなら
プロダクシヨン・システムとして使われるからである。
良好ゲストは、ゲスト実記憶と呼ばれる、割当てられた
MS部分を管理する。それは、この部分がゲスト・オペレ
ーテイング・システムによつて制御されるシステム記憶
装置であるからである。良好なゲストは、その仮想記憶
アドレスをホストの実記憶アドレスに等しくし、そして
変換した状態で、ランされる。このようなゲストは仮想
(V)=実(R)のゲストと呼ばれる。しかしながら、
VMオペレーシヨンの下で同時に存在する他のゲストは仮
想ゲストであり、しばしばV=Vのゲストと呼ばれる。
なぜなら、その実記憶は実際には必要に応じてVMホスト
の実記憶から割り当てられた仮想記憶の一部だからであ
る。V=Vゲストの各々の仮想アドレスは、該仮想アド
レスとは異なる実アドレスに変換される。この点はV=
Rの良好ゲストと異なる。MSの下位アドレス部分を絶対
アドレスφで始まる良好ゲストのOSに割り当てることに
より、結果として1つの良好ゲストの性能はさらによく
なつた。V=Rゲストの実アドレスと仮想アドレスは等
しいので、実アドレスを用いるI/Oプログラムは、実主
記憶装置中の正確なロケーシヨン(位置)をアクセスす
ることになる。たとえそれらが変換されたときでもそう
である。この結果、V=Rゲストは、自身のI/O開始、I
/O割込、および自身のアドレス変換を、ホストの干渉な
しで処理できるようになり、スタンドアローンの場合
(つまり、データ処理システム中に他のプログラミング
・システムが無い場合)に近い性能を得ている。しか
し、ゲスト・プログラムの実行中は、ゲストが主記憶割
当を必要としたり、あるいはI/Oを要求してI/O開始命令
(SIO、SIOF、またはSSCH)を出そうと試みても、そう
することはできない。その理由は、ゲストのI/Oプログ
ラムの実アドレスはMS中でゲストに割り当てられた実ア
ドレスと異なるからである。このため、チヤネル・プロ
グラムによつてアドレス指定されたMS領域にゲストのVM
割当ロケーシヨンがない場合、ゲストのチヤネル・プロ
グラムは動作しない。
このようなストレージのアドレスの問題のために、V=
VゲストがSIO、SIOF、またはSSCH命令を出そうと試み
る要求はVMホスト制御プログラムによつてさえぎられ
る。次いで、VMホスト制御プログラムは、該ゲストにつ
いてのストレージ・アドレスおよびI/Oプログラムを調
整する。該ゲストが使うために割り当てられたMSエリア
中のロケーシヨンがアドレス指定されるようにするため
である。
S/370でゲストI/Oを行なうには、VMホストは最初に、ホ
ストの仮想記憶スペースをV−Vゲストの各々に割り当
てなければならない。(ゲストI/O動作によるMSリクエ
ストの場合に生じるように)ゲストの実アドレスにアク
セスする必要のあるゲストは、ホストの仮想アドレスと
して各ゲストの実アドレスを使わなければならないが、
これは(ホストのセグメントとページを使つて)ホスト
の絶対アドレスに変換されなければならない。その結
果、ゲストのI/Oチヤネル・リクエストに応答して、MS
はこのホストの絶対アドレスにてアクセスされる。した
がつて、各ゲストI/Oリクエストは、ホスト・アドレス
変換によつて得られたロケーシヨンにてMSをアクセスす
る。I/OリクエストがMS内のページ境界を越える場合
は、必ずさらにページ・アドレス変換が必要になる。
CPUページが変換されると(非I/Oアドレス)、結果のペ
ージ・フレーム・アドレスがCPU内のTLBに記憶される。
同じゲスト・ページについて変換処理を重複して行うこ
とを避けるため、TLBは参照される。V=VおよびV=
Rのゲストに関して従来行われていたアドレス変換は特
公昭61−22825号公報で詳しく説明されている。また、
関連する従来技術は特開昭60−171552号、および特開昭
61−117637号公報にも記されている。
参照されたゲスト記憶装置が実記憶装置にない場合、ペ
ージング動作を実行しなければならない。
I/Oチヤネル動作のためにゲスト記憶装置中のページを
参照しなければならないときは、I/Oアクセス動作が続
く間、ホスト記憶装置中のページ・フレームを“ロツ
ク”しなければならない。
I/O動作は、最初にゲストPSAページ・フレームのロケー
シヨン72(すなわち、ゲスト・ページ0)に移動するこ
とにより、ゲストのS/370チヤネル・プログラムを見つ
け、ゲストのチヤネル・プログラムにおける第1のチヤ
ネル・コマンド・ワード(CCW)のアドレスを含むチヤ
ネル・アドレス・ワード(CAW)を得る。S/370XAにおい
てI/O動作を開始するためには、ゲストは、MS内のどこ
にでもある動作リクエスト・ブロツク(ORB)をアドレ
ス指定するスタート・サブチヤネル(SSCH)命令を出し
て、チヤネル・プログラムの最初のCCWをアドレス指定
する。チヤネル・プログラムをリロケート(再配置)す
るために、VMは、得られた最初のCCWのアドレスをMS内
の絶対アドレスに変換する。そしてVMホストは、チヤネ
ル・プログラムを実行し、ゲスト・エリアのどのページ
・フレームが転送中のデータに必要であるかを決め、か
つ、I/Oデータ転送に備えて、これらのページ・フレー
ムを固定する。次いでVMホストは、チヤネル・プログラ
ムをホストのMSエリアにコピーし、そのCCW内のアドレ
スを、I/Oデータ転送の場合、ゲスト・エリアに新規に
固定したページ・フレームでアクセスされる、(I/Oチ
ヤネル・ハードウエアが必要とする)絶対アドレスに変
更する。最後に、VMホストは、VMホスト・エリアに構築
されたI/Oチヤネル・プログラムの実行を開始し、ゲス
トのためのI/O転送を実行する。それ故、VMによるゲス
トI/O動作は、ユーザ・プログラムが、それが書込まれ
た元のMSエリアのプログラムとして実行される場合(つ
まり、V=Rゲストについて行われる場合、またはシス
テム中に他のプログラムがないのでシステム中の全資源
を使えるスタンドアローン環境の場合)には存在しな
い、かなりの量のプログラミング・オーバヘツドを、チ
ヤネル・プログラムがラン開始可能となる以前に含むこ
とが明らかである。
S/370XAでは、ホストは、ゲストのスタート・サブチヤ
ネル(SSCH)命令とオペレーシヨン・リクエスト・ブロ
ツク(ORB)のオペランド・アドレスを得ることによつ
て、ゲスト・チヤネル・プログラムのロケーシヨンを見
つける。
V=VゲストについてのゲストI/Oチヤネル・プログラ
ムの実アドレス再配置で付加されるVMホストのオーバー
ヘツドは、プロダクシヨン・ゲスト、つまりアクティビ
ティの高いゲストには負担が重いと考えられてきたV=
Rの良好ゲスト1つを絶対アドレス0にロードするとい
う、制限された解決策は、他のゲストには使えない。高
能率のゲストを2以上必要としない限り、従来のVM良好
ゲスト解決策で十分である。
非良好なV=Vゲストの従来型のVM処理の負担増加は、
大量のI/O活動を行なう非良好なゲストの場合にかなり
のものになるので、大量のI/O活動を行なうV=Vゲス
ト・プログラムは、VMによつて効率的に処理できない。
このVM限界は、ユニプロセツサUPまたはマルチプロセツ
サMPのどちらでVMがランされても生じる。その理由はど
ちらの主記憶も、絶対アドレスの拡張が1つしかないか
らである(絶対アドレスはUPの実アドレスと同じであ
る)。あるMPでは、複数のCPUのうちの1つをシステム
内の良好ゲストの実行専用にすることができる。このと
き、MP内の別のCPUは非良好性ゲストを実行することが
できる。
ゲストはUPまたはMP動作を表わすOSであつてよいことに
注意されたい。このため、ゲストはUPゲストであつても
よいし、MPゲストであつてもよい。MPゲストの実行は、
実MPシステム上と同様、実UPシステム上でも可能であ
る。
実MPまたはUPでは、プログラムの仮想アドレスを主記憶
装置の実アドレスに変換するために、プログラム要求さ
れた(Program requested)論理アドレスの各ページに
ページ・フレームを割り当てる必要がある。MPでは、プ
ログラム要求された実アドレスが(ユーザーには見えな
い)CPUハードウエア・プレフイクシング(Prefixing)
によつて絶対アドレスに変更される。MPでは絶対アドレ
スの指定が必要になる。その理由は、複数のCPUの各々
が自身の制御エリア(プレフイクス・セーブ・エリア、
PSAと呼ばれる)を持つており、かつ各PSAは実アドレス
0から始まる部分に位置されるからである。MPの主記憶
装置は物理的アドレス0を1つだけ持つ。(これが絶対
アドレス0と呼ばれる。)そして、各CPUの実エドレス
0はプレフイクスされた非ゼロの絶対アドレスに配置さ
れる。したがつて、異なるCPUのPSA(すべて実アドレス
0の部分にある)は、MPマシンの主記憶中の、絶対アド
レスの単一レンジ中の、オーバーラツプしない異なる絶
対アドレス・ロケーシヨンに再配置される。通常、絶対
アドレス0に配置されるページ・フレームはプレフイク
ス済PSAページとして使用されない。このように、PSAペ
ージをアクセスするために与えられるCPU実アドレス
は、MSの絶対アドレス・レンジ中に異なつてプレフイク
スされる。しかし、主記憶装置をアクセスするために与
えられる他のすべてのCPU実アドレスは、その対応する
絶対アドレスと同一である。UPでは、すべての実行アド
レスを絶対アドレスとすることも可能である。しかしな
がら、(MPと同様)UPにおいても、V=Rゲストに割り
当てられたMS中の第1ページ・フレームを含むエリアの
外にホストPSAページを配置するのにプレフイクシング
が行われている。UP動作用に設計されたプログラミング
・システムを用いるMPの場合のI/O負担の解決法は、適
切な内部プログラム・ロツクを有する読取専用形式のプ
ログラムを再設計し、特定のI/Oプログラムを一時に複
数のCPUのうちの1つで実行できるようにすることであ
る。これは、MSが、絶対アドレス0で始まるプログラム
の1つのコピーしか持たないことに関する。
そして、ロツクされる部分を除き、このコピーは同時か
つ独自に複数のCPU上で実行されており、必要なプログ
ラム調整は内部プログラム・ロツクによつて維持され
る。
あいにく、MP動作用に複合UPプログラムを再設計するの
は費用がかかり、ほどほどにエラーがないようにするに
は長い期間を要する。いくつかのユニプロセツサ・プロ
グラミング・システム(UPS)が実アドレツシング(仮
想アドレツシングではない)を使つて書かれている。こ
れらのプログラムは一般に24ビツトの実アドレスを使つ
ており、かつI/Oアクテイビテイはきわめて豊富であ
る。これらは、MP上のプログラムの完全性を維持するの
に必要な内部ロツクを使つて設計されていなくてもよ
い。
MPにおける0と最大値(MP計算機ごとに異なることがあ
る。例えば、64MB)の間には1セツトの絶対アドレスし
かないから、(実アドレスを使つてアドレス0からスタ
ートすべく書かれた)プログラムの1つのコピーしか主
記憶装置に置くことができない。このとき、プログラ
ム、またはその一部(例えばI/Oチヤネル・プログラ
ム)は再配置不可能である。実アドレツシングによつて
UP上で実行させるべく書かれたプログラムの場合はこの
ようになり得る。(MPでの使用を可能にすべくプログラ
ムにおいて必要とされることのある)内部CPUロツクは
かかるプログラムに存在しなくてもよい。
従つて、従来技術では: (1)UP用に書かれたプログラムは、MPの2以上のCPU
で直接に実行することができない。その理由は、複数の
CPUが書込み可能部分を競合することによつて生じる実
行上の障害がないようにする、内部プログラム・ルーチ
ンにおけるプログラム・ロツクが欠けているからであ
る。
(2)VMホストのI/Oシミユレーシヨンの負担により、U
P用に書かれたプログラムが非常に頻度の高いI/O活動を
行なう場合には、VMの下での複数CPUでのかかるプログ
ラムの複数コピーの間接的実行は(動作可能ではある
が)、経済的見地からは実相的ではない。
(3)複数のCPUの動作に対応するかかるプログラムを
書き直すことは、MPプログラミング技術分野の当業者に
とつて可能ではあるが、莫大な費用がかかり、かなりの
時間と多くの検査を必要とする。
その結果、より高速で信頼性のあるMPが使用可能であつ
ても、このようなUP設計プログラムの最も効率的な処理
は、スタンドアローンUPにおける単一のCPU動作に限ら
れる。
もちろん、独立した主記憶装置を持つ別個のスタンドア
ローンCPUを利用することは可能であるが、同時に実行
されるプログラムの間で物理的構成要素を共用するか
ら、一般的にMPハードウエアは、一定量の処理能力に対
しては低価格のパッケージを提供する。
特開昭60−83168号公報は、MPシステムでランするよう
に作成されてはいない同一のユニプロセツサ・プログラ
ミング・システム(UPS)の複数コピーを、MPで同時に
実行できるようにするユニークな多重処理環境を提供す
る。上記公報は、ハイパバイザ型の制御プログラム(区
分された多重処理プログラムPMPと呼ぶ)を提供し、MP
において、例えば複数DASDで単一のI/Oデータ・ベース
を含むシステム資源を共用する能力を有するMPの主記憶
装置(MS)にあるUPのそれぞれのコピーの、複数CPUに
よる同時実行を可能にする。同一のUPSプログラムに関
するコピーが、MPの主記記憶装置(MS)の中の異なるエ
リアにロードされる。各エリアはそれぞれ異なるMSロケ
ーシヨンから始まり、連続するバイト領域を含む。PMP
は、MSにあるUPSの特定のコピーとの類似性をMP中のCPU
にも与えることができる。UPSのそれぞれのコピーを実
行中の複数CPUは、互いに独立してランするが、I/O装置
を共用できる。かかるシステムは、“IBM System/370Ex
tended Architecture(S/370 XA)Principles of Opera
tion"(IBM PublicationNo.SA22−7085−0)、“IBM A
ssists for MVS/XA"(IBM Publication No.SA22−7092
−0)、およびA.Padegs、“System/370 Extended Arch
itecture:Design Considerations"IBM Journal of Rese
arch and Development、1983年5月号、第27巻、第3
号、pp198−205の論文に既に開示されたアーキテクチヤ
を有するCPUで動作するように設計された、仮想計算機
(VM)型のジヨブ入力およびタスク指名制御プログラミ
ング・システムによつて好ましくはランできる。なお、
これらの刊行物は、SIE(start interpretive executio
n,解釈実行開始)アーキテクチヤも含んでいる。
プログラム作業(ジヨブ)は、それぞれのUPSコピーに
よる実行のために開始され、それぞれのUPSゲストのタ
スクとしてPMPによって制御される。
PMPは: (1)MPにおける全タスクの割当てにおいて (2)各I/O装置の、UPS動作への割当てにおいて、 MPの完全性を確保する。また、PMPは、他のUPSコピーが
要求したI/O動作を実行して使用中であるI/O装置に対し
て出されたI/O動作(命令)を保持するI/O待ち行列を維
持することにより、MPで複数のUPSコピーが共用するI/O
経路の完全性を物理的にも論理的にも確保する。要求さ
れたI/O装置が解放されると、PMPは待機中の次のI/O動
作(命令)を待ち行列から出すことができる。
PMPハイパバイザは、最初、MSの最上位アドレスにプロ
グラム・ロードされるのが望ましい。その後、UPSのコ
ピーを、MSの他のエリアにロードすることができる。次
のコピーは、ログオン・プロセスによつていつでもMSに
ロードできる。
MSの大きさは、少なくとも、同一のUPSコピーのそれぞ
れのために設けられた領域(エリア)数に、PMPハイパ
バイザおよびその他のプログラム領域を加えたものでな
ければならない。UPSプログラムは、MS中のその領域し
かカバーしない有効アドレスのレンジを用いることがあ
り、このアドレスのレンジはMSの絶対アドレス・サイズ
をアドレスするのに不十分なことがある。例えば、UPS
は24ビツト・アドレスを有することがあり、MS絶対アド
レスは24ビツト・アドレツシングを越える、例えば26ビ
ツトであるかもしれない。PMPハイパバイザは、MPの1
以上のCPUで独立してランし、UPSおよび非UPS作業のタ
スク指名を含めて、それぞれのCPUすべてのジヨブをタ
スクを含めて、それぞれのCPUにすべてのジヨブをタス
ク指名する。CPUでの非CPU作業は、若し、そのCPUにUPS
が割当てられていないか、または割当てられたUPSが実
行可能ではないならば実行できる。非UPS作業はVM作業
であるかもしれない。その場合、PMPはVMに似たPMP制御
プログラムに制御を渡し、制御プログラムは、普通のVM
の場合のように、VM作業のCPUおよびI/O実行を制御す
る。PMPはUPSおよびVM作業の実行をCPUに渡す。PMPの制
御によつて、あるCPUをPUS作業に専用できる。VM作業
は、UPS作業に専用されていないCPUまたはVM作業に専用
されるCPUで実行できる。
UPSコピーにあるI/Oアドレス(すなわち、I/O実アドレ
ス)を、簡単にMS絶対アドレスに変換できるようにする
ため、各エリアは、基数2の整数乗、すなわち2nの境界
バイト・アドレスで始まる。ただし、最初のPUS領域
は、絶対アドレスφで開始することがある。2nバイト境
界により、MS絶対アドレスは、2nで表わされた境界値と
UPS I/Oアドレスの下位側との論理的ORをとつて容易に
生成され、31ビツトの絶対アドレスが生じる。更に、よ
り一般的なI/Oアドレス変換装置を用いてゾーンの境界
をより柔軟に見つけることができる(ただし、この装置
はより複雑で高価になる)。
各MSエリアの最下位アドレスは、システム/370アーキテ
クチヤに従つて構築できる、ゲストのUPSのPSAページで
始まり、かつゲストの絶対アドレス0で始まる。各ゲス
トのPSAページの内容は、シミユレートされる、すなわ
ち、CPUハードウエア動作ではなく、プログラム命令に
よつて完全に書込まれる。
しかしながら、システムの各CPUは、ハードウエア制御
されたPSAページも有し、例えば、ハードウエア割込み
でハードウエア入力された内容を受取る。各CPUのPSAペ
ージは、CPUのプレフイツクス・レジスタの内容によ
り、MSのPMPエリアに置かれることが望ましい。CPUのPS
Aページにある新しいPSWは、ハードウエア割込みを処理
するためPMPホスト・エリア中のルーチンを指す。
PMPはホスト制御プログラムとして動作し、各CPUをエミ
ユレーシヨン状態にすることにより、PUSコピーを、そ
れぞれのCPUでエミユレートされたゲストとして実行で
きるようにし、UPSゲスト・プログラムを実行する。PMP
が370−XAモードで動作中のCPUをエミユレーシヨン状態
にする1つの方法は、PMPにSIE(解釈実行開始)命令を
実行させ、CPUにS/360、S/370、またはS/370XAのアーキ
テクチヤをエミユレートさせることである。SIE命令
は、特公昭61−22825号公報およびP.H.Gum著の論文“SI
E Architecture"、Proceedings of the Spring Meeting
1986、SHARE European Association,Heidelbery,West
Germany,April 06−11,531ページに開示、説明されてい
る。
MSの各UPSは、実CPUが別のCPU専用ではない、レデイ状
態のUPSゲストを実行すべくアベイラブルなときはいつ
も、かかる実CPUの各々でPMPがSIE命令を実行して論理C
PUをその上でエミユレートするエミユレーシヨン状態に
することにより、MPの実CPUの別々の1つでエミユレー
トできる個々のゲストとして処理される。
UPSゲストのエミユレーシヨン状態(つまり、実CPUでの
論理CPUの指名)は、ハードウエア割込みが生じるごと
に、またはUPSゲストが: (1)UPSのI/O開始命令、または (2)ゲストの現在のプログラム・ステータス・ワード
(PSW)のI/O割込可能フイールドをオンにセットするUP
S命令(例えば、システム・マスク・セット命令) のどちらかを実行するごとに一時的に中止される。エミ
ユレーシヨン状態から抜け出ると、CPU制御はPUSゲスト
からPMPホストに渡され、ホストはそれぞれ: (1)要求されたI/O装置を開始するか、 (2)割込みを生じる特別の命令、例えばSSMをシミユ
レートするか、または (3)エミユレーシヨン・モードから出口を生じるI/O
またはその他の割込みを処理する。
そしてPMPホストは再びCPUをエミユレーシヨン状態に戻
し、CPUは再びアベイラブルとなつてレデイ状態のUPSゲ
ストによる実行を続ける。
欧州特許出願0171475号では、(S/370アーキテクチヤに
応じて作られた)I/Oプロセツサと中央プロセツサのそ
れぞれに、論理プロセツサ機構(LPF)と呼ばれるハー
ドウエア・エレメントを備えた、ホスト・コンピュータ
・システム(UPまたはMP)が開示されている。この出願
では、LPFはユーザー状態およびシステム状態を持つ。
そして各状態はプロブレム(問題)・モードおよびスー
パバイザ・モードを持つ。LPFハードウエアは、主記憶
装置の別々の領域にある複数のオペレーテイング・シス
テム・プログラムSCPの同時動作をサポートする。シス
テム状態では、CPUまたはI/OプロセツサはチーフのSCP
のために作動する。ユーザー状態では、CPUまたはI/Oプ
ロセツサはユーザーSCPの1つのために作動する。チー
プSCPは、全ユーザーSCPのCPU上での指名を制御する。
ユーザーSCPは異なる環境用に書くことも可能である
が、ホスト・コンピュータ・システム上での動作は変わ
らない。I/Oチヤネル・アドレスはチヤネルをスタート
させたSCP領域に再配置される。そして、ロツク・ビツ
トによつて、I/OチヤネルをユーザーSCPが制御すべき
か、またはチーフSCPが制御すべきかのコントロールが
行われる。LPFのレジスタは、領域番号と領域CPU番号を
持つ。割込経路指定(ルータ)ハードウエアは、領域番
号をCPU中の領域CPU番号およびI/O割込と比較すること
によつて、I/O割込を必要とされるCPUへ向ける。比較の
結果がマツチすれば、ルータはI/O割込を該CPUへ送る。
また、I/Oプロセツサのユーザー・スーパバイザ状態ビ
ツトとCPUのそれぞれとが比較され、両者がユーザー状
態にあるならば、プロセツサは割込を処理する。しか
し、I/Oプロセツサはユーザー状態にあるがCPUはスーパ
ーバイザ状態にあるときは、必要とされるプロセツサが
ユーザー状態に戻るまで、ルータは割込の転送を行わな
い。LPFは、割込をひき起こしたI/Oデバイスを始動させ
たCPUだけが割込を受け取り、かつ処理することを可能
にする。その結果、LPFホストがアベイラブルなプロセ
ツサ上で、ゲストを指名するのが禁じられる。そして、
LPFホストは関連するI/O開始命令を出したものと同じプ
ロセツサ上でゲストを指名できるだけであり、該プロセ
ツサがアベイラブルになるのを待たなければならない。
そのため、LPFシステムは、そのプロセツサ群に対し
て、最初にアベイラブルになつたプロセツサでゲストを
指名できるという指名に関する柔軟性を付与することが
できない。
D.問題を解決するための手段 本発明によれば、ユニプロセツサ(UP)・システムであ
れマルチプロセツサ(MP)・システムであれ、緊急結合
データ処理システムにおいて、多数の高性能ゲスト(例
えば様々のオペレーティング・システム)が同時にきわ
めて能率的に動作できるようになる。この目的のため
に、主記憶装置(MS)、拡張記憶装置(ES)、チヤネル
(CH)、およびI/Oサブチヤネル(SCH)といつたシステ
ム資源の区分が行われる。
区分の制御は、記憶装置中のエントリである「区画定義
セツト」を通じて行われる。該セツトは、システム管理
者(アドミニスレータ)によつて決められるとおりに、
システムのハードウエア資源を区分けする。特定された
区画のそれぞれに対して、名前、つまり識別子が割り当
てられる。かかる名前は、例えば0から255までといつ
た数値であつてよい。区画毎の、MS、ES、CH、SCHおよ
びチヤネル・パスの資源のサブセツトは、“区画定義セ
ツト”において指定され、これへのアクセスは、区画名
を使つて行われる。ここでは、区画名を“割当ゾーン
名”(AZN)と呼ぶ。指定された区画はハイパバイザ・
ホスト・プログラムまたはマイクロプログラム(ホスト
と呼ぶ)によつて制御される。その他のプログラミング
・システム(ゲストと呼ぶ)は、指定された区画に割り
当てられた指定された資源サブセツトに限定される。各
ゲストの識別は、割当区画名を使つて行われる。1つの
区画が1つのゲストの専用であつてもよいし、複数ゲス
トの間での1区画の使用であるタイム・スライシングの
ように、複数ゲストによつて共有されてもよい。また、
1つの区画の中の資源のいくつかが、1以上の区画の区
画資源の形で指定されることに よつて、共用されてもよい。
ゲストは、システムのアーキテクチヤと両立し得るどん
なプログラミング・システムであつてよい。ゲストが区
画に割り当てられると、該ゲストに該区画が割り当てら
れている間、該ゲストは、該区画の名について、区画資
源エントリにおいて指定された資源を使用できる。
本発明によれば、データ処理システムにおいて、1以上
のV=F(仮想=固定)ゲストを、従来のVMシステムで
用いられた1つの良好V=Rゲストのようにして、V=
Rゲストのアドレス指定の制約なくして、使うことが可
能になる。「良好ゲスト」なる語は、データ処理システ
ム中の1以上のV=Fゲストの他にV=Rゲストを含む
ものとして用いる。本発明は、複数の良好ゲストがシス
テム内の独立した区画で同時に動作できるようにするこ
とをめざしている。
MS、ES、CH、SCH、およびチヤネン・パスの資源のすべ
てを良好ゲスト用に割り当てる必要はない。良好ゲスト
に割り当てられなかつたシステム資源はホスト用に予約
(リザーブ)される。ホストは、「ホスト予約資源」の
一部または全部を、1以上の「仮想ゲスト」(従来のIB
M VM/System ProductにおいてV=Vゲストと呼ばれた
仮想ゲストと同種である)に分割することができる。
さらに、本発明によれば、資源を区画にオーバーラツプ
させることができる。例えば、MSの一部、あるいはある
I/Oデバイスを、複数のゾーンに割ち当ててもよい。
(システムに対して特定され得る)良好ゲストの最大数
は、システム中の、そしてホスト用に予約された資源の
量のみならず、区画名AZNを内容とするフィールドに与
えられたビツトの数によつても制約される。V=Vゲス
トに与えられる資源は、ホスト用に予約された資源から
取られる。ゲストの動作の能率は、該ゲストに割り当て
られた資源量によつて影響される。どんな良好ゲストに
対しても、アベイラブルな資源をどれだけ(その時アベ
イラブルである資源量に制約されるけれども)割り当て
てもよい。様々な良好ゲストに割り当てられている資源
量を互いに等しくしてもよいし、等しくしなくてもよ
い。システム管理者の決め方に従う。
良好ゲストの各々およびV=Vゲストの各々には、1以
上の「論理CPU」が与えられる。論理CPUは、システムの
どの実CPU上でも指名(ディスパツチ)することができ
る。V=Vゲストについての論理CPUは、従来のIBM S/3
70 XA SIEアーキテクチヤを用いて提供されていた。し
かしながら、本発明によつて良好ゲストに割り当てられ
た論理CPUは、SIEアーキテクチヤを使い、かかる論理CP
Uが自身のI/O動作および関連するI/O割込をホストの介
入なしに処理することができる(ここでは、I/Oパス・
スルーとも呼ぶ)。従来のSIEアーキテクチヤの下で
は、当該ゲストについてのSIE命令によつては処理する
ことのできない事象によつて、必ず論理CPUの指名が終
了されていた(これをSIEインターセプシヨンと呼
ぶ)。V=Vゲストのでは、これにはI/O開始命令とI/O
割込信号が含まれていた。かかる場合、ホスト制御プロ
グラムは、インターセプシヨン事象として特殊な命令
を、そしてI/O割込を処理していた。V=Vゲストは、
自身のI/O割込を他のゲストやホストのI/O割込と区別で
きない等のいくつかの理由により自身のI/O割込を処理
できなかつた。V=Vゲストには、必要とされるチヤネ
ル・リロケーシヨン(再配置)アドレスや必要とされる
自身のI/O割込識別法が与えられていなかつた。
従来のSIEアシストによれば、システム内の唯一のV=
RゲストだけがI/Oサブチヤネル命令のサブセツトを出
して自身のI/O処理を行うことができた。なぜなら、V
=Rのゲストは、MSの起点0に配置しなければならず、
そこから連続的な実記憶域を占め、ゲスト絶対アドレス
についてのMSリロケーシヨンを行わないからである。本
発明では、V=Fゲストを絶対アドレス0から置き始め
ることはできないので、V=Fゲストはそのゲスト絶対
アドレスをリロケートしなければならない。複数の良好
ゲストに個別の区画を提供することにより、良好ゲスト
が互いにインテグリテイを損なうことはない。
本発明では、I/O割込を与えるI/Oサブチヤネルが割り当
てられたゲストによつて、I/O割込が認められる(所有
される)。自身のI/O割込を処理するV=Fゲストに対
してSIE終了が引き起こされることはない。区分けされ
たゲスト論理CPUが割込時にI/O MP中のどの実CPU上で指
名されイネーブルとされようとも、各良好ゲストは、自
身のI/O割込を処理する。
ここでは論理CPUが自身のI/O割込を識別・処理できるよ
うにすることにより、複数の良好ゲストについてI/Oパ
ス・スルーが行われる。V=Fゲストによる自身のI/O
割込の処理は、多くの付加的な動作が必要になる、ホス
トによる当該ゲストについてのI/O割込処理よりも、は
るかに効率がよい。
各論理CPUは状態記述子(SD)によつて規定される。SD
は、当該ゲストの論理CPUを表現するように、ゲストの
各々についてMS中に作成される制御ブロツクである。ゲ
ストのSD中の割当区画名AZNを置き、区画定義セツトを
介してゲストを該区画名に割り当てられたシステム資
源、すなわち、ME、ES、CH、SCH、I/Oデバイスへ至るチ
ヤネル・パスのサブセツトと結びつけることによつて、
各ゲストの論理CPUは特定の区画に結びけられる。
ゲストが少なくとも1つのプログラム・タスクをレデイ
状態に持つようになつた後、ホストが実CPUを論理CPU
(つまりSD)に割り当てることによつて、ゲストは指名
され実行可能になる。論理CPUの単独「実CPU指名」期間
中、論理CPUはいくつかの様々のプログラミング・タス
クのうちの1以上を実行することができる。実CPU指名
は、ホスト・プログラムがSIE(解釈実行開始)命令を
実CPUに出し、実CPUが該命令によつてアドレスされた該
当SDからの割当実CPU中のレジスタへ一定のパラメータ
をロードし、該割当実CPUがゲスト指定された一連のゲ
スト・タスクの最初の論理CPU指名を始められる状態に
なるという手順で行われる。
良好ゲストの論理CPUの実CPU指名は、予定された状態の
何れかによつて終了されるまで継続可能である。そのよ
うな状態には、以下のものが含まれる。
(1)ゲスト・タイム・スライスのタイムアウト (2)指名されたゲストのタスクすべてが待機状態にな
ること。
(3)ゲストが指名されたところの実CPUに対して、I/O
割込の到着によつてレデイとなつた高優先度の休眠ゲス
トによる警告を受けさしめること。これを受けて、ホス
トは、そのときI/O割込を処理するCPU上で高優先度のゲ
ストを指名し、実行を継続しても差し支えない。
ゲスト・タスクのレデイ状態は、通常、当該ゲストによ
つて要求されたI/O動作により制御される。例えば、実
行中のゲスト・タスクは、スタート・サブチヤネル命令
を出すことができる。この結果、当該プログラムは、I/
O応答を待つため、そしてI/OがCPU動作に比べて遅いこ
とに起因するよく知られたI/O待機状態に入る。
その後、ゲスト論理CPUは、該ゲストが実行レデイ状態
のプログラム・タスクを他に持つているか否かに応じ
て、実CPU資源を断念して(または断念せずに)実指名
を終了(または継続)することができる。ゲストがレデ
イ状態のプログラム・タスクを他に持つているならば、
ゲスト指名を継続すべく論理的指名が行われる。ゲスト
がレデイ状態のプログラム・タスクをもう持たないと
き、実CPU指名は終了し、ゲストは無活動(休眠)状態
に移行して、そのプログラム・タスクの何れかがレデイ
状態に変化したときに覚醒されるのを待つことになる。
このような変化は、例えば、要求したI/O動作の終了を
示すI/O割込によつて知らされる。これを受けると、ホ
ストはゲストをレデイ状態とすることができるようにな
るとともに、かかるゲストのI/O割込による警告が許さ
れている何れの実CPUをも警告することができる。その
後、当該休眠ゲストを、そのI/O割込によつて警告され
たどのCPUででも指名することができる。また、ある種
のタイマ割込のように、外部割込が休眠ゲストを覚醒さ
せることもある。
本発明は、各実CPUに備えられた警告機能を含む。該機
能は、現在CPU上で実行中の良好ゲストよりも優先順位
の高い良好ゲストのI/O割込がホストに警告して高優先
度ゲストを指名しかつ該CPUの現在ゲストの実行を終了
できるように、良好ゲストをイネーブルにし、かつ良好
ゲストを当該CPUに対して順序づける。
したがつて、休眠中の良好ゲストは、I/O割込が該CPUで
処理されるべく到着したときに、CPU警告機能によつて
覚醒され得る。
警告機能とは独立して、ホスト指名機能により、ゲスト
が待機状態に移動するときにCPUの制御を把握し、別の
ゲストを指名することもできる。このとき、ホストによ
つて、万一該ゲストについてのI/O割込が到着した場合
にCPUがそのことを知らせる(または知らすことができ
ない)ようにすることもできる。もし到着した場合、ホ
ストはCPUを元のゲストに返すことを選ぶことができる
(またはできない)。この結果、ホストは、優先順位を
強制し、精巧な指名アルゴリズムを実行することによ
り、外的に指定された優先順位と矛盾せず実行効率を最
大限にすることができる。
1以上の論理的指名は、ゲスト論理CPUの単独の実指名
の範囲内で行われる。ゲストの現在タスクが終了するや
否や、または待機状態に移行するや否や、ゲスト論理CP
Uはレデイのタスクがあればそれを指名する。ゲストの
外部の事象によつて既に終了されたのでないなら、レデ
イのタスクがない場合、ゲストは自発的に実指名を終了
する。ゲストが自身で強制的に実指名を終了するために
は、ゲストの全プログラムが待機状態になければならな
い。
ゲストの実指名を終わらせる外部事象には次のものが含
まれる。すなわち、より高優先度のゲストについてのI/
O割込の結果、ホストが実CPUを該高優先度のゲストに割
り当てること、または実指名を終わらせる状態が先行し
て何も起こつていないときに、(ゲストに対して各実CP
U指名とともに与えられる)タイム・スライスのタイム
・アウト終了である。
任意のCPUで実行中の良好ゲストによるI/O割込の受取と
処理が許される前に、本発明は、ゲストだけが該ゲスト
の所有するサブチヤネルのI/O割込を処理できるよう
に、既存ゲストのAZNとI/O割込を持つサブチヤネルのAZ
Nとが等しいか否かの比較を行う。
上記タイプの動作を得るために、本発明はサブチヤネル
・ハードウエアまたはマイクロコードを修正して、各サ
ブチヤネルがAZNを記憶できるようにする。その結果I/O
プロセツサ(チヤネル・ハードウエア)がマイクロコー
ドを使つて割当区画のMSゾーン起点アドレスを適用し、
すべてのCCW(チヤネル制御ワード)アドレス、IDAW
(間接データ・アドレス・ワード)アドレス、および関
連サブチヤネルについてのI/Oデータ・エリア・アドレ
スを、任意のサブチヤネルまたはI/Oデバイスからの各I
/O割込信号とともに、割当ゾーン名を使つて計算するこ
とができる。本発明は、米国特許第4271468号明細書に
記述された浮動チヤネルのコンセプトに付加することが
できる。浮動チヤネル・コンセプトはMPの複数の実CPU
と複数のサブチヤネルの間の割込サブチヤネル・インタ
ーフエースを提供し、プログラムが、I/O割込でもつて
終了したI/O動作を開始したCPUではなく、I/O割込処理
用に異なるCPUで指名されることを、可能にする。した
がつて、浮動チヤネル・コンセプトは、I/O動作を開始
したCPUとその結果生じたI/O割込を処理するCPUとの間
の従来の関係を取り除いたわけである。
複数の割込保留待ち行列が保護メモリに設けられる。任
意の始動されたサブチヤネルが保留割込をもたらすと
き、割込サブチヤネルを当該待ち行列にアドレス・チエ
インすることにより、サブチヤネルに割り当てられた待
ち行列に保留割込が置かれる。各待ち行列は、1以上の
割当サブチヤネルから割込を受け取る。I/O割込待ち行
列へのサブチヤネルの割当は、待ち行列のISC(割込サ
ブクラス)番号をサブチヤネルの制御ブロツクに入れる
ことによつて行われる。
米国特許第4271468号は、CPUメモリ・コントローラ・ハ
ードウエアの中に、保留I/O割込待ち行列の各々の保留
状態を記憶する保留レジスタを設ける。保留レジスタは
サブチヤネル割込と実CPUの間のインターフエースとし
て作用し、任意のCPUが割込待ち行列間の優先度の関係
に従つて割込待ち行列をサービスできるようにする。保
留レジスタのビツトは、それぞれサブチヤネル待ち行列
に関連して、該当待ち行列についての保留割込の空/非
空状態を表示する。どのCPUも非同期的に保留レジスタ
のビツト状態をテストして、保留割込を現在有する待ち
行列のうち最高優先度のものを決定する。その結果、ど
のCPU上の割込処理プログラムも、当該CPU、または別の
CPUが他の待ち行列で割込をサービスする前に、最高優
先度の待ち行列でまず最初に保留割込をサービスするこ
とができる。待ち行列はそのISC番号で参照され、ISC番
号が低いほど、I/O優先度は高い。
浮動サブチヤネル・コンセプトは、IBM S/370XAアーキ
テクチヤで使われており、論理CPUが最初にアベイラブ
ルとなつた実CPUで指名され得るようにすることによ
り、MPでの論理CPU処理の能率向上を可能にしている。
従来のS/370アーキテクチヤでは、別のCPUが以前にアベ
イラブルであつたか否かに関係なく、I/O割込を処理す
るためには、休眠プログラム・タスクが、割込をもたら
すI/Oデバイスを始動させたのと同一のCPUで再指名され
なければならなかつた。しかし、S/370XAの浮動チヤネ
ル・コンセプトでは、どんなアベイラブルな実CPUでも
ホスト・プログラムにより指定され、すべての保留I/O
割込を処理することができる。システム中のどのCPUが
割込を生じさせるI/Oデバイスを始動させたかとは、無
関係である。
本発明は、サベチヤネルI/O割込保留レジスタ(IPR)の
コンセプトを使い、かつ修正する。CPUハードウエアIPR
をアクセスできるのは、システムのホストのみである。
ホストIPR中の該当割込サブクラスに関連するハードウ
エアI/O割込待ち行列も同様である。しかし、ホスト所
有の待ち行列のうちの異なるものは、異なる良好ゲスト
によつて使用される。また、各良好ゲストは、自身のソ
フトウエア・サポートのI/O割込待ち行列セツトを持つ
ており、これはそれぞれの区画保留レジスタによつて表
わされる。どの区画のソフトウエア待ち行列セツトも、
当該区画による使用のために割り当てられた1以上のホ
ストIPR待ち行列から保留I/O割込を受け取る。
普通、良好ゲストは、CPUとゲストの両方がI/O割込を選
択的に処理できるようになると、直にホストIPR待ち行
列から、アベイラブルになつた自身のI/O割込を処理す
る。ゲストのソフトウエア待ち行列が使われるのは、ゲ
ストがホストIPR待ち行列からのI/O割込を処理できない
場合だけである。このとき、ホストは保留割込をホスト
待ち行列から割込サブチヤネルで割り当てられたゲスト
・ソフトウエア待ち行列へ移す。
したがつて、各サブチヤネルは、サブチヤネルを特定区
画へ、そして該サブチヤネルのI/O割込を特定ホスト待
ち行列と特定ゲスト・ソフトウエア待ち行列へ割り当て
ることのできる割当フイールドを持つ。指名されたゲス
ト論理CPUのどれかが保留I/O割込の処理を要求すると、
それは自身の区画識別子(AZN)を持ち、ゲストがI/O割
込についてイネーブルのとき、サブチヤネルに割り当て
られるIPR待ち行列に至るサブチヤネルを見ることだけ
が許される。
有効I/O割込イネーブルメント・マスク(EIEM)よつ
て、CPUは、該当ゲストに割り当てられるホスト待ち行
列を選択することだけが可能になる。したがつて、論理
CPUは、該当ゲストによる使用のために割り当てられた
ホスト保留レジスタの選択されたビツトを吟味すること
だけによりゲスト論理CPUによる処理が必要なゲスト所
有保留I/O割込の存否を判断することができる。
ゲストが指名されるときにEIEMが生成される。EIEMは、
ゲストI/O割込イネーブルメント・マスク(GIEM)とホ
ストのマスク(HIEM)を合成したものであり、ゲストに
よるホストI/O割込待ち行列の使用を制御する。ゲスト
の警告マスク(AZM)もEIEMの要素としてとり入れられ
て、ゲストの警告能力を制御する。
S/370XAオペレーテイング・システム良好ゲストによつ
てスタート・サブチヤネルやその他のI/O命令が発令さ
れると、動作は通常ゲストヘパス・スルーされ、ホスト
の介入なしに実行される。しかしながら、アドレスされ
たサブチヤネルが区画資源テーブル中の良好ゲストの定
義の一部であることを確かめるために、発令者の区画は
ホストによつてチエツクされる。
I/O割込は、その終了が割込の原因となるI/O動作を開始
した区画名を担持する。すべての保留割込は、区画によ
ってキユーされるので、システムはそれらを適当な良好
ゲストに直に提示することができる。各良好ゲストは、
区画定義の範囲内で(ここで修正されたような)XAアー
キテクチヤ機能を十分に使用する。I/O割込が現在1以
上のCPUでアクテイブな良好ゲストについて生じたなら
ば、プログラミング・システムの状態がXAアーキテクチ
ヤ・ルールの下でのかかる割込を許容する場合、I/O割
込は資源を使う良好ゲストのプログラミング・システム
(例えばオペレーテイング・システム)にパス・スルー
される。そうでないならば、I/O割込は、関連する良好
ゲストが後でI/O割込についてイネーブルになるまで、
保留され続ける。I/O割込を持つ良好ゲストが万一どの
プロセツサ上でも指名されないなら、I/O割込は、ゲス
トが警告を受け指名されるまで、ゲスト・ソフトウエア
待ち行列で保留され続ける。その後、あたかもゲストが
指名されたときに丁度割込が起こつたかのようにして、
割込が良好ゲストのプログラミング・システムによつて
処理可能となる。
本発明の警告機能によれば、現在指名されていない良好
ゲストが保留中となつたそのI/O割込を処理できるよう
になる。システムで現在各CPUを使つているゲストは、
警告をそこから受け取り得る良好ゲストを選択的に指定
するEIEMを有する。警告は、ホストに対して、EIEMによ
つて、イネーブルとされるI/O割込を受けるシステムCPU
での良好ゲストの指名を制御することを知らせる。例え
ば、低優先度のゲストは、高優先度の良好ゲストがアイ
ドルである、または待ちである期間においてCPUでの指
名が可能である。そして、高優先度良好ゲストにI/O割
込が生ずると直ちに、高優先度ゲストが該CPUで再指名
されるべく警告を行う。警告が発生すると、I/O割込は
クリアされないけれども、良好ゲストがCPUで指名され
るまで保留であり続ける。
警告機能においては、I/O割込がゾーン識別子ととも
に、I/O割込を生じさせるI/Oプロセツサから警告機能を
持つすべてのCPUに対してブロードキヤストされること
を必要とする。I/O割込のブロードキヤストを受け取るC
PUは、EIEMを使つて、EIEM中のイネーブルであるAZN毎
に、受け取つたI/O割込の良好ゲストAZNを検出する。マ
ツチすることが検出されると、I/O割込の良好ゲストAZN
を伴つて警告信号がホストに渡される。ホストは警告さ
れた良好ゲストを該CPUで指名することができる。
本発明は、システムの実CPU資源の指名(デイスパツチ
ング)における論理CPU優先度制御を許容することによ
つて、システム内の実CPU資源に対する制御をサポート
する。これは、ゲスト(例えば複数のオペレーテイング
・システム)の区画に対して異なる優先度を割り当てる
ことによつて行われる。指名順位は、(1)AZN自身(A
ZNの値または順位)が警告イネーブルメント・マスクに
おいて相対的な指名優先順位を表示することによる。ま
たは、(2)各AZNに関連して、個別の優先順位値を与
えることによつて表わすことができる。区画の優先順位
値は、該当ゲストの論理CPUを表わすべく作成されたゲ
ストSDにおいて、論理CPU毎に指名優先度を表示すべ
く、記憶される。例えば、SD中に、優先度の数字を内容
とする優先度フイールドを置いてもよい。割当AZNに関
連する指名優先度も、割り当てられたシステム資源のサ
ブセツトを表示するSDに含まれる。ゲストの他のゲスト
に対する相対的な指名優先度は、ホストI/O割込イネー
ブルメント・マスク(HIEM)において表示され得る。こ
れは、HIEMに、一連のビツトをゲスト指名順位で並べる
ことにより行われる。このようなゲスト優先度のつけ方
は、ホストによつて行われる、I/O割込を持つイネーブ
ル・ゲストの指名をサポートする。各サブチヤネルは、
実行中の良好ゲストが実CPU上での指名を終了すること
なしに自身のI/O割込を処理できるようにするべく制御
される。パス・スルー・フイールドを持つている。
このため、本発明によつて、各ゲスト、その割当システ
ム資源、および該ゲストによつて始動されたI/Oデバイ
スから生じたI/O割込信号が関連づけられる。論理シス
テムをシステム中の何れかの実CPUで指名する実指名
は、ゲスト(例えば様々なオペレーテイング・システ
ム)に割り当てられた指名優先度によつて制御される。
I/O割込信号が発生すると、それはホストによつて感知
され、ゲストの実CPUへの指名が制御される。ホストに
よつて、休眠(つまり現在指名されていない)ゲストに
ついてのI/O待機状態が休眠ゲストについてのI/O割込に
よつて警告された際に終了させられてもよい。ホスト
は、各I/O割込信号に割り当てられた区画に関連する指
名優先順位を、指名レデイ状態のすべてのゲスト(ただ
し、別のCPUだけに割り当てられている、「専用ゲス
ト」と呼ばれるゲストは除く)の指名優先順位と比較す
る。実CPUでの交代のために選ばれるゲストは、ホスト
が指名交代のために任意のゲストを選び得たにもかかわ
らず、一般に、I/O割込ゲストよりも低い優先順位を持
つゲストになる。
このため、指名優先度の高いゲストは、低いゲストより
も、システムで速く実行される。ゲストが実行レデイに
なつたときにシステムで妥当な実行サービスを受けられ
るようにするために、優先順位指名の終了は、タイム・
スライス指名終了およびI/O待機状態終了(ゲスト指名
中にどちらが先に起きてもよい)と組み合わすことがで
きる。
本発明でのホストは、その全部または一部が、ソフトウ
エア、マイクロコード、またはハードウエアの形をとつ
ていてよい。マイクロコードまたはハードウエアによる
インプリメンテーシヨンによれば、I/O割込が保留であ
り、かつ現在のゲスト指名を断続すべきか否かに関して
ホストの判断が必要なときに、ゲスト・プログラミング
・システムの現在の指名を終了(インターセプト)しな
くてもよいという利点が得られる。各CPUは、代わりの
ゲストがCPU上で指名されるまで、現在ゲストの実行を
妨げることなしに、保留I/O割込信号の引き起こす警告
信号をホストが吟味・応答するのに必要なマイクロコー
ド/ハードウエアを含んでいる。
従来のソフトウエア・ホストでは、ホストが保留I/O割
込の存在を感知して、割込の吟味および次にとるべき動
作を決定するためにホスト・プログラムを該CPUで指名
する際に、ゲスト指名が終了(インターセプト)されて
妨害を受けた。
本発明では、システムのCPU中のI/O割込イネーブルメン
ト・マスク間でコーデイネーシヨン・コントロールを行
うことにより、システム中のCPUのうちの警告可能区画
を一意的に表わすことができる。良好ゲストがシステム
中の何れかのCPUで指名されると、該ゲストに対応する
警告イネーブルメント・フイールドはシステム中の他の
すべてのCPUにおいてオフにセツトされるので、当該指
名ゲストのCPUだけが指名ゲストのI/O割込を受け取るこ
とができる。これによつて、割込のゾーンが現在CPUの
1つで実行中のとき、つまり休眠していないときに、シ
ステム中のCPUのうち、どれがI/O割込を処理すべきかに
関するあいまいさが除去さる。
CPUの各々は、CPUのイネーブルメント・マスク・レジス
タで警告マスク・フイールドをオンにセツトするI/O割
込の発生を断続的に検出せんとする。したがつて、各CP
Uのホスト・マイクロコード/ハードウエアは、I/O保留
レジスタの内容を吟味して、当該CPUに対応する現在実
行区画とマツチする、保留I/O割込待ち行列での保留I/O
割込の存否を判断する。イネーブル区画の1以上の保留
I/O割込の存在が発見されると、割込が吟味されて、か
かるI/O割込が現在指名されているゲストについてなの
か、それとも優先順位の高いゲストについてのものかが
判断される。
低優先度の区画の何れかについて保留I/O割込が存在す
るならば、当該CPUでの現在の指名が妨げられることは
なくしかもI/O割込は別のCPUで受容されないかぎり、待
ち行列で保留のままである。現在区画について保留割込
が見つかると、現在指名の下で割込の処理・クリアが行
われ、現在指名は断続し得る。優先度の高い休眠ゲスト
の何れかについて保留I/O割込が見つかると、当該CPUで
の現在の指名は終了し、優先度の高い休眠ゲストが当該
CPUについて指名されて、該当区画についてのI/O割込を
処理・クリアするとともに、手持ちのレデイ状態の作業
の実行を継続する。
拡張記憶装置(ES)は主記憶装置(MS)から独立した電
子式アクセス・メモリであり、プログラム制御の下で、
オペレーテイング・システムがMSの空間を解放する必要
があるときに、MSからページ単位のデータを受け取るの
に使われる。ESに記憶されたページ・データは、該デー
タが実行用に再び必要になつたときはいつでもMSに戻す
ことができる。このタイプの動作はしばしば「ページ・
スワツピング」と呼ばれる。ページ・スワツピングには
DASDが使われてきたが、その電気機械的な動作は、完全
に電子式であるESほどのスピードは得られない。現在IB
M社が市販している最大型のシステムはESを持つ。本発
明を用いるけれどもESを持たないシステムの場合、資源
定義テーブル中の区画指定において全くESパラメータが
使定されないか、または0としての指定が行われる。ま
た、システムがESを持つけれども区画にESを含みなくな
いときは、資源定義テーブルにおいて該区画についての
0のESを指定することもできる。
上記の如く規定される区画のコンセプトをMSやサブ・チ
ヤネルといつた資源だけでなくES資源にも適用して、区
画保護をこれら資源の各々に与えることにより、システ
ム・インテグリテイが向上する。
したがつて、区画資源定義テーブルでは、絶対アドレス
によつて各区画のMSおよびESそれぞれの基底(ベース)
および限界(リミツト)を指定することができる。MSの
基底値および上限値は、ESの基底値および上限値と何ら
数字上の関係がなくてよい。
本発明を使うと、各良好ゲストの論理CPUが自身の区画
内でのみ動作するよう制限される。指定された区画の外
でどんな動作であれ試みようとするどんなゲストも、あ
たかも要求された資源がシステムにないかの如く、その
実CPUでプログラム指定割込を生じさせる。割込はホス
トの介入を招き、その結果当該ゲストの指名を終了して
別のゲストの論理CPUを当該実CPUで指名することになる
かもしれない。したがつて、指名割込は、(上述したも
のの他に)ゲストの実CPU指名を終了させ得る別の条件
である。
しかしながら、何れの良好ゲストについてであつても、
一部または全部の区画指定を別のゲストの区画指定とオ
ーバーラツプさせても差し支えない。例えば、MSまたは
ESがオーパーラツプしてもよいし、1以上のサブチヤネ
ルが共通していてもよい。部分的にオーバーラツプさせ
ることによつて、オーバーラツプするゲスト同志の通信
が共通資源を介して可能になる。例えば、2つのゲスト
がMS指定において部分的にオーバーラツプしていると、
共通MSエリアにおいて互いに通信することが可能であ
る。区画指定が全く同一ならば、両方のゲストは同一の
資源を完全に共有していることになるので、両者が互い
に干渉するのを防ぐためにタイム・スライシングのよう
なプログラミング・サポートが必要になる。
本発明の目的および特徴を以下に列挙しておく。
1.本発明によれば、緊密結合データ処理システムにおけ
るハードウエア資源を、複数の区画にフレキシブルに区
分することが可能になる。該複数の区画は、一意的な名
前つまり識別子の使用と論理的に関連しており、かつこ
れの使用を通じて制御される。
2.単一区画中の資源に関する区画名は、システム資源の
区分セツトをプログラミング・システム(例えばオペレ
ーテイング・システム)に割り当てるのに使われる。当
該プログラミング・システムの全動作は、割当区画だけ
のみ行われるので、区画名が当該プログラミング・シス
テムについての名前になる。
3.各識別(される)区画中のシステム資源の指定・変更
は容易である。識別区画によつて、指名(デイスパツ
チ)されるプログラムにとつて1単位として扱われるシ
ステム資源のセツトが与えられる。
4.1つの資源コンポーネントの中の定義可能な部分(例
えばMS中のブロツク)を含めて、システム内のハードウ
エア資源の各々には、1以上の名前が付けられる。ある
資源について名前が1つだけあるなら、該資源は1つの
区画に割り当てられる。ある資源について複数の区画名
があるならば、該区画は名前のつけられた区画の各々に
共通に割り当てられる。
5.1以上の区画名が割り当てられ得るシステム・ハード
ウエアは、MSのストレージ・ブロツク、CPU、拡張記憶
装置中のページ・フレーム、I/Oチヤネル、およびI/Oサ
ブチヤネルである。区画名のうち1つは、システム内の
全資源をグローバルに使用し、全区画と共通に資源を使
うことのできるホストのためにとつておくことができ
る。あるCPUに1以上の区画名が割り当てられると、該C
PUはそれらの区画とともにしか使用できない。専用CPU
がその例である。普通、CPUにはどの区画も指名され得
るようにするため、CPUは区画に対して割り当てられな
い。
6.プログラミング・システムがある区画の資源上でラン
するように割り当てられると、プログラミング・システ
ムは「良好ゲスト」としてランする。このとき、割当区
画名は「良好ゲストの識別子」になる。本発明の資源制
御動作では、良好ゲストが割当区画につき規定されされ
た資源セツトの範囲内に包含されていないシステム資源
を使用することのないように、該識別子が使用される。
7.本発明では、どんなゲストの場合でもシステムを使用
できるようになる前に、ゲストの実および絶対アドレス
のすべてを変更してゲストの割当区画内に再配置する必
要がある。これは、ゲストMS絶対または実アドレスに区
画MS起点絶対アドレスを加算するとともに、加算結果の
アドレスを区画限界絶対アドレスとチエツクすることに
よつて、行われる。
8.本発明によれば、(CPUがどの区画にも割り当てられ
ていない)システムにおいて、ホスト・エンテイテイに
よつて、どのCPUであつても、ホストによつて定められ
るとおりにシステム中の任意の良好ゲストに対して指名
され得る。ホスト・エンテイテイは、ソフトウエア、マ
イクロコード、ハードウエア、またはこれらのうちの2
者以上の組合せによつて具現することができる。
9.本発明では、(CPUが1以上の区画に割り当てられて
いるとき、)CPUが割り当てられていない区画に対して
指名されることを防止する。
10.本発明では、区画識別子が各サブチヤネルに記憶さ
れる。区画識別子はSCH制御ブロツクの中で保持され得
るものであり、各保留I/O割込に対して与えられる。与
えられた識別子は、システムによつて、システム中のど
の良好ゲストがI/O割込を処理することになるのか、そ
してどの実CPUが警告動作を実行するか、を決定するの
に用いられる。警告動作は、ホスト・エンテイテイに対
して、ゲストがどの実CPUでも指定されていないときにI
/O割込を処理し得るゲストを指名することを知らせるも
のである。
11.各CPUのS/370XA割込保留レジスタは、保留I/Oサブチ
ヤネル割込の存在を通信するのに使われる。
12.各CPUのS/370XA割込保留レジスタのI/O割込サブクラ
ス・ビツト位置は、システム内の異なる区画に割り当て
られることができる。これは、システムの区画それぞれ
のI/Oサブチヤネルの保留割込状態を通信するためであ
る。
13.本発明によれば、システム内のCPU上で現在指名され
ているゲストが、ゲストの区画識別子を持つサブチヤネ
ルからの各I/O割込を処理できる。
14.本発明は、どのゲストがI/O割込を処理すべきか、識
別する区画識別子を持つI/O割込信号を受け取ることに
よつて、CPUがホスト指名エンテイテイに警告し得るよ
うにすることができる。ホスト・エンテイテイは、警告
信号を受け取るとともに、システム中のCPUで現在実行
中のその他のゲストとの関連でのI/O割込ゲストの指名
優先順位を決定する。その後、ホストは、CPUに関し
て、現在実行中のゲストをI/O割込ゲストと交換するこ
とができる。その場合、交代させられたゲストは一般に
I/O割込ゲストよりも優先順位が低い。
15.本発明では、(良好ゲストを指名するとき)ホスト
・エンテイテイがシステム中の他のCPUの警告機能をあ
るゲストについて禁止することができ、これによつて、
該良好ゲストに関するI/O割込は、該良好ゲストが実行
中であるCPUによつてのみ処理されることになる。
16.本発明は、割込の原因となるI/Oデバイスの始動時に
どのCPUが良好ゲストを実行していたかに関係なく、現
在該良好ゲストを実行しているCPUにおいてI/O割込の処
理が可能である。
17.ホストは、I/O割込に関連するゲストの方が実行中ゲ
ストよりも優先順位が高いなら、I/O割込を受け取つたC
PUでの実行中ゲストの指名を終了することができる。
18.ホストがI/O割込の警告を受けたとき、受け取ったI/
O割込に関連する区画の指名優先順位が現在指名されて
いるゲストのそれよりも低いならば、ホストはシステム
中のどのCPUにおけるどのゲストによる実行もストツプ
しなくてよい。
19.一般にホストは、良好ゲストが現在指名されているC
PUを選択して、当該ゲストにより始動されたI/Oデバイ
スからのI/O割込を処理するので、システム中の他のCPU
における実行が当該I/O割込によつて妨害されることは
ない。
20.休眠ゲスト(つまり、どのCPUでも実行されていない
ゲスト)の警告は、休眠ゲストの警告を処理可能とされ
たどのCPUによつてもなされる。
21.休眠ゲストはそのI/O割込を使つて、休眠ゲストによ
つて警告され得るCPUに対して警告を行う。
22.複数のCPUが、ホストに対して特定良好ゲストがI/O
割込をもたらしたことを警告し得る。ホストは、CPUを
選んで割込ゲストを指名するために割込ゲストの指名優
先順位を決定する。選ばれるCPUは、警告信号を生成す
るCPU、またはゲストがその上でスタート・サブチヤネ
ル(SSCH)命令(ゲストの警告の原因となつたI/O割込
が由来するI/Oデバイスを始動させたもの)を出したCPU
とは異なつていてもよい。
23.複数のCPUがゲストを警告できるとき、かかるCPUの
何れもがI/O割込を引き起こす休眠ゲストの指名対象候
補となり得る。
24.何れかのCPUで実行中のゲストが待機状態に移行する
と、ホストは、警告信号に応答して、または警告信号を
持つことなしに、アイドル状態のCPUに別のゲストを指
名できる。
25.MPゲストを単独のCPUで実行することもできる。MPゲ
ストがその上で実行されることになる論理CPUが、実CPU
に同時にディスパツチされなくても差し支えない。
E.実施例 第1図 本発明を含むシステム全体が第1図に示されている。
該システムはCPU1〜Kを含むMPである。CPUのいくつ
か、あるいはすべてが、本発明の特徴を備えている。本
発明はUPにおいても利用できる。それは、第1図におい
てシステム中のCPUがCPU1だけしかない場合に当たる。
本発明を利用するCPUの各々は、本発明の特徴に従って
設計され、かつCPU内の従来のマイクロコードのサブセ
ツトとして動作するマイクロコードを含む。マイクロコ
ードは各CPUに含まれるので、CPU間で共有されることは
ない。
ソフトウエア・システム・プログラム制御もアベイラブ
ルであるが、これはホスト・プログラムの一部をなし、
主記憶装置(MS)12および直接アクセス記憶装置(DAS
D)に駐在する。
第1図において、絶対アドレスを複数のゾーン0〜Nに
割り振る形で、MS12は論理的に分割される。ゾーン0は
MSのすべてを含む。それに対し、他のゾーンは相互排的
他的なエリアとして示されている。ただし、例外的にゾ
ーン0はオーバーラツプしている。ゾーン0は、ホスト
・ハイパバイザ(Hypervisor)・プログラムに割り振て
られるが、これはゾーン0に専用のゾーン0エリアに駐
在する。したがつて、ホストだけがホスト制御プログラ
ムにアクセスすることができ、ゲストはアクセできな
い。ゾーン0〜Nはシステム資源区画0〜Nにそれぞれ
割り当てられる。
拡張記憶装置(ES)14はオプションでシステムに備えら
れるが、これはESページ記憶サポートを必要とするプロ
グラムの動作をサポートするためである。MS中のどのゾ
ーンに関する区画もES中に対応するゾーンを持ち得る。
しかし、対応するMSゾーン中で作動するどのプログラム
によつてもESが使用されないならば、対応するESゾーン
は必要とされない。
システム中の個々のI/Oデバイス(図示せず)をサポー
トするために、複数のサブチヤネル(SCH)が設けられ
ている。SCHには、AからZまでのSCH番号が割り当てら
れている。サブチヤネルは、任意の順番で、システム内
の区画へ、そしてホストへ割り当てられる。サブチヤネ
ルに割り当てられたI/Oデバイスのサブセツトは1区画
だけが独占的に使つてもよいし、ホスト専用としてもよ
い。しかし、I/Oデバイスの一部または全部を、2以上
の区画が共有しても差し支えない。各区画は、第1図に
おいて、破線でつながれて排他的なシステム・エリアSA
を持つように示されている。SAエリアは、当該ゾーンに
割り当てられたサブチヤネルを含む。すべてのサブチヤ
ネルは、たとえゾーン1〜Nに割り当てられていても、
自動的にゾーン0のホストに割り当てられる。区画1、
2、3は、V=Fの良好ゲストを表わしている。区画4
は、そのMSゾーンが絶対アドレス0で始まるV=Rの良
好ゲストを表わしている。第1図の例において、区画4
にはMSゾーンだけが割り当てられており、ESゾーンやサ
ブチヤネルは全く割り当てられていないことを注意され
たい。
MSを含むシステム・メモリ・ハードフエアはシステム・
エリア(SA)を含んでよいが、これはシステム中のゲス
ト・プログラムではアドレス指定できないものの、マイ
クロコードによつて、およびホスト制御プログラムによ
つてアドレス指定可能である。ホスト記憶エリアのうち
ゾーン1〜Nに割り当てられていない部分には、“区画
定義セツト”および“ゾーン・ポインタ・テーブル”が
あるが、その詳細は第2図に示されている。
第2図 第2図には、ホスト・ストレージの一部にある区画定義
セツト1〜Nが示されている。各区画定義セツトは複数
のエントリからなる。エントリには、一緒になつて一区
画を規定するシステム資源のサブセツトを規定する情報
が含まれる。区画1〜Nの何れかで動作するように割り
当てられたプログラムは、当該区画定義セツトにおいて
規定されたシステム資源だけを使うように制限されてい
る。
区画定義セツトのエントリの内容は次の通りである。
a.関連する区画に割り当てられた、MS中の一連のゾーン
についての境界絶対アドレス。MSの起点アドレスおよび
限界アドレスを含む。
b.関連する区画に割り当てられた、ES中の一連のゾーン
についての境界絶対アドレス。ESの起点ページ番号およ
び限界ページ番号を含む。
c.関連する区画内で動作しているプログラムによつて要
求される作業のために指名可能であるゲストCPUの数。
d.関連する区画内で動作しているプログラムによつて要
求される作業のために指名可能であるゲスト・ベクトル
・プロセツサの数。
e.別の区画との間でCPU資源についての競合があるとき
に、区画内で動作しているプログラムが使用することの
できるシステムのCPU資源の現在のシエア。
f.区画内で動作し得、使用する資源は区画内の資源に限
定されるゲストOSプログラムを表わす、SIE状態記述子
(SD)のMS中でのアドレス。当該区画内で動作するゲス
トOSは、関連する区画内のOSの下で動作するプログラム
によつてなされる作業の指名をコトロールする。
g.当該区画によつて所有されるサブチヤネル(SCH)。
ゾーン・ポインタ・テーブルは複数のエントリを持つ。
各エントリには、ゾーン識別子(ID)、および識別され
たゾーンを規定する関連区画定義セツトを突きとめるポ
インタ(つまりアドレス)が含まれる。したがつて、ゾ
ーン1〜Nの何れの識別子によつても、ゾーン・ポイン
タ・テーブルを使いその中のゾーンIDをルツクアツプす
ることを通じて、該当する区画定義セツトをアクセスす
ることができる。ゾーン0に割り当てられたホストプロ
グラムだけは、ゾーン・ポインタ・テーブル中の任意の
エントリにアクセスでき、それ故、システム中の任意の
区画にアクセスできる。したがつて、各ゾーンIDは実際
上、“区画識別子”である。なぜなら、ゾーンIDによつ
て、識別ゾーン番号およびMS、ES中の該当するゾーンに
関連するシステム資源区画の全体が識別されるからであ
る。
ホストI/O割込サブクラス(HISC)は、待ち行列Q0〜QM
に対応する。HISCは、ハードウエア待ち行列と考えられ
る。なぜなら、ゲストにはアクセス不可能だからであ
る。
HISC待ち行列0はシステムのホストによる使用のみに割
り当てられるとともに、他のHISC待ち行列1〜Mは実施
例中のM個までのゲストによる使用に割り当てられる。
ホストHISC待ち行列は、実施例中のゲスト割当ゾーンID
番号AZNと同じ待ち行列番号を持つゲストに割り当てら
れている。ゲストに割り当てられたホストHISC待ち行列
を実施例中の他のゲストが使用することはできない。
システム中のN区画の各々は、ゲストI/O割込サブクラ
ス(GISC)のセツトを持つている。各ゾーンIDには、ユ
ニークなGISCのセツトが割り当てられる。該セツトは、
ホスト・ストレージ・エリアに備えられた、0から31ま
での番号を付されたI/O割込持ち行列を有している。ア
クティブな区画は、1以上のゲスト待ち行列を使用でき
るが、32の待ち行列すべてを使用する必要はない。
各ゲストは、32ビツト位置式のGIPR(ゲストI/O割込ペ
ンティング・レジスタ)をもストレージに持つ。GIPRの
各ビツト位置は、ゲスト待ち行列Q0〜Q31の1つに対応
する。各ビツトは位置では、I/O割込が対応する番号の
ゲスト待ち行列でペンディング(保留中)か否かが表さ
れる。
また、ホスト・ストレージ・エリアには、“MPの場合の
アクティブCPUリスト”が設けられている。これは、シ
ステム中で現在動作しているCPU識別子を表示する。ホ
スト・ストレージ・エリアには、この他に従来にもあつ
たエントリがいくつか存在するが、 第3A図 IBM S/370またはS/370アーキテクチヤでの解釈開始実
行(SIE)命令を使つて、実UPまたはMPシステム内の仮
想(つまり論理)CPUが指名される。論理CPUは、SIE命
令の唯一のオペランドである状態記述子(SD)によつて
表現される。SIE命令およびそのSDは従来からの技術で
ある。したがつて、本発明の特徴を規定するのに重要
な、SD中のフィールドだけが、第3A図に表わされてい
る。
SDはそれぞれ異なるゲスト論理CPUを表わしている。し
たがつて、各SDはゲストの論理CPUを表わすと言える。
本発明は、“良好なゲスト”または“V=Fゲスト”と
呼ばれる新しいタイプのSIE制御ゲストを提供する。良
好ゲストとともに、V=Vゲストと1つのV=Rゲスト
と呼ばれる従来タイプのSIE制御ゲストをシステム中に
備えることができる。
従来のSIE制御式システムでは、V=Rゲストはただ1
つだけ認められていた。その理由は、従来のシステムで
は、絶対アドレス・マツピングを行う上で制約があつた
からである。
本発明では、第2図のゾーン識別子テーブルに、そして
第3A図の各ゲスト論理CPUのSDのアクティブ・ゾーン番
号(AZN)フィールドに、割り当てられたゾーン番号を
置くことによつて、良好ゲストに区画1〜Nのゾーン識
別子の1つが割り当てられる。各ゾーン識別子をゲスト
CPUのセツトに対する1つのシステム区画中の資源を使
用する複数のSDに割り当ててもよい。また、同じゾーン
識別子を割り当てられた多数のSDが実CPUを共有しても
よい。
ホスト・プログラムは、そのゲストすべてのシステム制
御を行う。まず、システム中の全資源がゾーン0に割り
当てられる。次いで、それらはゾーン1〜Nのうちの1
つに再割当され、その資源はゾーン0から取られる。ホ
スト・プログラムが常駐しなけれならないMSの一部のよ
うに、資源をホストに独立させる必要がない限り、良好
ゲストの生成の後、ホストと良好ゲストの間で動的に資
源の再割当を行うことが、ホストによつて許される。
人間システム・オペレータは、プログラミング・システ
ムの区画への割当、例えばIBM MVS/370またはMVS/370X
Aのような実または仮想アドレツシングで動作可能なオ
ペレーティング・システムの割当のみならず、システム
資源の区画への割当もコントロールする。
ホスト・プログラムは、ホスト指名(ディスパツチ)機
能を使つてシステム中の実CPU1〜Kのうちの1つを選択
する。それから、ホストは、選ばれたCPU上でシステム
中のゲスト論理CPUのうちの1つを指名する。論理CPUは
一時に1つのCPUで指名可能である。同じ論理CPUが別の
時には部のCPUで指名されることもある。一般的に言つ
て、ゲストの指名される準備ができたときにどのCPUが
アベイラブルであるかに応じて決まる。
しかしながら、実CPUが1つの論理CPU専用であつてもよ
い。
特定のプログラミング・システムがSDに割り当てられる
と、該SDは、破壊されたり、あるいはフィールトすべて
が他のプログラミング・システムに応じて再初期化され
たりするまで、該プログラミング・システムと共に動作
し続ける。該SDのゲストCPUに対する割込およびインタ
ーセプトは、プログラミング・システムへの割当に影響
しない。なぜなら、インターセプトがある度に、SDはプ
ログラミング・システムにとつて必要なアドレスをスト
アし、確実に動作を継続するからである。インターセプ
シヨンの後でのSIE命令の実行により、ゲストおよび以
前に割り当てられていたプログラミング・システムの再
指名が行われる。
SIE命令の下での、割当区画における初段設定されたプ
ログラミング・システムによるゲストの動作は、本発明
を使つたソフトウエア、マイクロコード、回路、および
従来技法によつて制御される。本発明によれば、(プロ
グラミング・オペレーシヨンのすべてを含む)良好ゲス
トの動作は、第3A図でAZNとして示される、ゲストに割
り当てられたゲストSDフィールド中のゾーン識別子によ
つて識別される関連ゾーン定義セツト中で規定される資
源に制限される。
ゲストに対して出されるSIE命令は、該ゲストについて
のSIE命令の実行を終わらせる複数の事象が発生するま
で、(その初段設定されたプログラミング・システム、
および該プログラミング・システム下で動作するすべて
のシステム・プログラミング・タスクおよびアプリケー
シヨン・プログラミング・タスクを含めて)該ゲストに
ついて実行されている考えられている。一時的であつて
もよいが、SIE実行が終了することを、“SIEインターセ
プシヨン”と呼ぶ。SIEインターセプト事象が生じる
と、(その上でSIE命令が関連論理CPUを実行してきた)
実CPUが該SIE命令から解放されるので、別のCPUについ
ての別のSIE命令を出すホストによつて、該CPUに別に論
理CPUのパラメータをロードするべく、該CPUの再割当
(再指名)を行えるようになる。SIEインターセプト事
象の例をいくつか挙げると次のとおりである。
I/O割込、I/O命令、外部リクエスト、I/Oリクエスト、C
PU待機状態、有効性例外(Validity exception)、動作
例外。
本発明によると、従来のSIEインプリメンテーシヨンと
比較して、インターセプシヨンなしのより長いSIE実行
が可能になる。
SIEインターセプトの主な原因はI/O割込である。従前は
V=Rゲストによる直接I/O割込処理が許されていたけ
れども、ほとんどの場合I/O割込はすべてのゲストにつ
いてI/O割込をシユミレートするホスト再指名によつて
処理されてきた。本発明は、直接I/O割込処理を新たな
V=Fゲストに拡張する。
“I/Oパス・スルー”という言葉は、ホストが処理する
代りに、I/O割込処理をゲストにパスしてもよいという
意味で時々使われる。パス・スルー・ゲストは、I/O動
作を開始して結果のI/O割込を処理するゲストである。
パス・スルー可能(enablement)ビツトは、パス・スル
ーが現在可能か否かを示すために各サブチヤネル中に備
えられている。
第3図のSDの中のフィールドは、次のものを含む。
a.MS中でのゲスト起点となる絶対アドレス(つまり、ゲ
ストの絶対アドレスつまり、ゲストの絶対アドレス0が
配置される場所)を与える“ゲストMS起点”フィール
ド。ゲストMS起点は自動的に該ゲストに割り当てられた
ゾーンへ再配置される。
b.ゲストによる使用が可能な、一連のMSのサイズの最大
値を与える“ゲストMSエクステント”フィールド。本発
明は、ゲストに割り当てられたゾーン内で、該エクステ
ントを自動的に維持する。
c.該当SDによつて表わされるゲストに割り当てられた区
画のゾーン識別子を示す、“割当ゾーン番号”(AZN)
フィールド。
d.当該論理CPU動作の割込に関連するデータを有し、か
つ、割込事象に関するパラメータを受け取ることのでき
る“割込エリア・フィールド。
e.オンにセツトされると、ゲスト・ソフトウエア待ち行
列Q1〜Q31何れかが待機中のI/O割込を持つことを示す。
“SQ"フィールド。
f.ゲストがI/O割込処理不能(禁止、disabled)になつ
たときはいつでもオンにセツトされる"Dビツト”フィー
ルド。
g.当該ゲストCPUの動作のインターセプシヨンに関連す
るデータを持ち、SIE動作を終了させ、応答するホスト
動作を呼び出す“インターセプシヨン・エリア”フィー
ルド。
h.現在のインターセプシヨンを引き起こした状態を表示
する値を持つインターセプト・コードを受け取る、“I
コード”フィールド。
i.他のゾーンのゲストのうちのどれかがI/O割込をホス
トに警告させ得るかを示す“警告ゾーン・マスク”(AZ
M)フィールド。該AZMでオンにセツトされるビツト位置
は、当該SDのゲストが指名されている他のAZNのどれが
警告動作を許されているか選択する。警告は、許可され
た他のAZNについて、それがI/O割込を持つときに発生す
る。当該CPUが警告されると、当該SDの中の“現在警告
のAZN“フィールド(後述)によつて、警告割込のAZNが
表示される。この結果、当該ゲストがインターセプトさ
れる。そして、現在ゲストがランしている実CPUで他の
ゲストを指名するか否かの決定を、ホストが決定できる
ようになる。
j.“ゾーン・モード”フィールド。これは、当該SDが良
好ゲストを表わしているのか、それとも既存のタイプの
ゲストを表わしているのかを表示するためのものであ
り、1ビツトだけでもよい。
k.“実行制御エリア”(ECA)フィールド。これには、
当該SDを出したSIE命令の下での動作を制御する様々な
モード状態ビツトが含まれる。
l.“警告モード”フィールド。これは、当該仮想CPUに
ついて、本発明の警告機能がオンかオフかを表示するた
めのものであり、1ビツトだけでもよい。
m.“現在警告のAZN"フィールド。これは当該CPU上での
現在警告信号の原因となつた良好ゲストのゾーンIDを表
示するものである。警告ゲストを指名可能(レデイ)状
態にするために、ホストは当該信号を解釈しなければな
らない。
n.“XAまたは370"フイールド。これは、(その上で当該
ゲストが動作すべき)CPUがS/370XAまたはS/370アーキ
テクチヤを使用せねばならないことを表示する。
o.“ゲスト・プログラム状況ワード”(GPSW)フイール
ド。ゲストが実行する次の命令を決定するために、この
フイールドには、初期化されたPSW、または当該論理CPU
の最近の割込後にセーブされたPSWが含まれる。
p.“ゲストI/O割込可能マスク”(GIEM)フイールド。
これは、S/370XA浮動チヤネル・アーキテクチヤ、つま
りCR6、またはS/370チヤネル・アーキテクチヤ、つまり
CR2の下でのゲストI/O割込サブクラスの論理CPUによる
割込可能性を表示する。
第3B図 第3A図にはSDで表わされる論理(つまり仮想)CPUが示
されたのに対し、第3B図では実CPUが表わされている。
第3B図で説明されるフイールドは、本発明の様々な特徴
を規定するのに重要なものであり、CPUレジスタ、回路
配列、ローカル・ストア、および実CPU中のマイクロコ
ードの形をとつている。図示されているCPUフイールド
は次のとおりである。
a.キヤツシユ、汎用レジスタ、(GR)、および変換索引
バッファ(TLB)。これらはすべて従来の大規模CPU中に
あり、CPUとストレージ(MSおよびES)の間でのデータ
転送を制御するのに使われている。
b.実CPU上で現在指名されているSD中のAZNフイールドの
内容を受け取る“AZN"フイールド。
c.“ホスト現在PSW"(HPSW)は、ホストが現在当該CPU
で実行中であるとき、またはホストが現在は該CPUで実
行されてはいないけれども次に指名されるときに、ホス
トによつて実行されるべき次の命令をアドレスする。HP
SWの中ではビツト位置6が重要である。このビツト位置
6が0状態にあると、当該CPU上のホストはI/O割込処理
が不能になる。ビツト位置6が1状態だと、当該CPUに
よる任意のI/O割込処理が可能になる。この選択のため
に、S/370XAアーキテクチヤ・モードの場合はホストCR6
I/O割込可能マスクが、S/370アーキテクチヤ、モード
の場合はホストCR2 I/O割込可能マスクが、それぞれ存
在する。
d.“ゲスト現在PSW"(GPSW)は、ゲストが当該CPUで実
行中であるときに、ゲストによつて実行されるべき次の
命令をアドレスする。GPSWの中ではビツト位置6が重要
である。ビツト位置6が0状態にあると、当該CPU上の
ゲストはI/O割込処理が不能になる。ビツト位置6が1
状態にあると、当該CPUによる任意のI/O割込処理が可能
になる。この選択のために、S/370XAアーキテクチヤ・
モードの場合はゲストCR6 I/O割込可能マスクが、S/37
0アーキテクチヤ・モードの場合はゲストCR2 I/O割込
可能マスクが、それぞれ存在する。
e.“警告ゾーン・マスク”(AZM)。この警告マスクに
おいてイネーブルである他のゾーンによるI/O割込の際
に、当該CPUがホストに警告する警告可能性を表示す
る。AZMは、当該CPU上で現在指名されているゲストのSD
から得られる。
f.“ゾーンMS起点AA"は、CPU上で現在指名されているゲ
ストに割り当てられた区画において、一連のMS領域が開
始する場所を規定する、主記憶装置(MS)での起点の絶
対アドレス(AA)である。
g.“ゾーンMS限界AA"は、CPU上で現在指名されているゲ
ストに割り当てられた区画において、一連のMS領域が終
了する場所を規定する、MSの限界の絶対アドレスであ
る。
h.“ゾーンES起点PN"は、CPU上で現在指名されているゲ
ストに割り当てられた区画において一連のES領域が開始
する場所を規定する、拡散記憶装置(ES)での起点のペ
ージ番号(PN)である。
i.“ゾーン限界PN"は、CPU上で現在指名されているゲス
トに割り当てられた区画において一連のES領域が終了す
る場所を規定する、ESでの限界のページ番号である。
j.“エミユレーシヨン・モード”フイールド。これは、
CPUがエミユレーシヨン・モードにあるか否かを表示す
るためのものであり、1ビツトだけでもよい。CPUがエ
ミユレーシヨン・モードに入るのはSIE命令の実行によ
るものであり、何れかのゲストが当該CPU上で実行され
る間、継続する。
k.“ゾーン・モード”フイールド。これは、CPUが良好
ゲストを表わしているか、それとも既存タイプのゲスト
を表わしているかを表示するためのものであり、1ビツ
トだけてもよい。
1.“警告モード”フイールド。これは、CPUについて、
本発明の警告機能がオンかオフかを表示するためのもの
であり、1ビツトだけでもよい。
m.“ISCペンデイング・レジスタ”(IPR)は、S/370XA
アーキテクチヤの下でCPUに備えられた、I/O割込サブク
ラス・ペンデイング(保留)・レジスタである。IPR中
のビツト位置0〜MはI/O割込サブグラス、ISCに対応す
るが、これはI/Oプロセッサによつてホストのために維
持されるハードウエアI/O割込待ち行列Q0〜QMに対応す
る。ISCビツト位置0はホストに割り当てられる。IPR中
の1からMまでの任意のビツト位置は、ゲストAZNに対
応する任意の良好ゲストに割り当てることができる。
IPR中のビット位置が低位であればあるほど、対応する
待ち行列についてのCPU処理優先度は高くなる。該当I/O
待ち行列がペンデイングのI/O割込を持つとき、I/Oプロ
セツサによつてIPRビツト位置、つまりISCが1状態にセ
ツトされる。IPRビツト位置が0状態ということは、対
応する待ち行列にはペンデイングのI/O割込がないこと
を示す。
n.“有効I/O割込可能マスク”(EIEM)。これはCPU制御
レジスタ6(GCR6)に含まれる。このマスクの構成は後
述する。マスクの中のビツト位置0〜Mは、IPRビツト
位置0〜Mで存在することが示される。I/O割込のCPUに
よる処理を可能または不能にする。
あるマスク・ビツト位置においてビツト・マスク1状態
であるならば、対応するI/O割込待ち行列中のペンデイ
ングの割込をCPUによつて処理することが可能になる。
反対に、ビツト・マスク0状態であれば、対応するI/O
割込待ち行列中のペンデイングの割込をCPUによつて処
理することが不可能になる。
o.“ゲスト制御レジスタ”(GCR)0〜15のセツト。こ
れらは、S/370またはS/370XAアーキテクチヤで定義され
ている制御レジスタRC0〜15と同様のものである。
p.“ホスト制御レジスタ”(HCR)0〜15のセツト。こ
れらはS/370またはS/370XAアーキテクチヤで定義されて
いる制御レジスタCR0〜15と同様のものである。
第4図 S/370XAのサブチヤネル(SCH)は、第4図に示すSCH制
御ブロツクによつて表わされる。第4図では、本発明の
特徴にとつて重要なフィールドが示されている。サブチ
ヤネルで従来使われていたフィールドは、S/37XAアーキ
テクチヤの刊行物に記載されている。
SCH制御ブロツクは、システム中のI/Oデバイス毎にに提
供される。デバイスに至る2以上のハードウエア接続パ
ス(Path)のスイツチングによつて、例えば様々なチヤ
ネルを通じて、I/Oデバイスに到達できるとき、本発明
は、パス毎に、サブチヤネルを表わすデバイスSCH制御
ブロツクのコピーを別々に提供する。
S/370XAアーキテクチヤでは割込サブチヤネル・サブク
ラスが複数用意されており、サブクラスとI/O割込待ち
行列とを対応させ得る。待ち行列中の次のサブチヤネル
・ブロツクをアドレスすべくサブチヤネル制御ブロツク
中のポインタ・フィールドをセツトすることによりアド
レスを持ち行列中へチエイニングする(連鎖させる)こ
とによつて、サブチヤネル制御ブロツクは待ち行列に乗
せられる。サブチヤネルの除去は、待ち行列中の先行サ
ブチヤネル・ブロツクを再度チエイニングして、先行ブ
ロツクのポインタが除去ブロツクの後に続くブロツクを
アドレスするように変更し、かつ除去ブロツク中のポイ
ンタを無効にセツトすることによつて行われる。
SCH制御ブロツク中のフィールドには次のようなものが
ある。
a.“V"フィールドと”ポインタ”フィールド。前者は1
ビツトのフィールドであり、後者の内容のポインタの有
効性を表示する。
b.“ホストICS#”(HISC)フィールド。その内容はホ
ストによつてサブチヤネルに割り当てられるホストI/O
割込サブクラス番号も含んでおり、どのホストI/O割込
持ち行列が当該サブチヤネルのI/O割込を受け取るかを
表示する。つまり、この割当によって、関連デバイスが
割込信号を発生させると当該サブチヤネル・ブロツクが
チエイニングされることになるホスト割込持ち行列が識
別される。
c.“ゲストISC#”(GISC)フィールド。その内容はゲ
ストによつてサブチヤネルに割り当てられる。ゲストの
I/O割込サブクラス番号を含んでおり、どのゲストI/O割
込待ち行列が当該サブチヤネルのI/O割込を受け取るか
を表示する。つまり、これは、ゲスト割込を処理できる
ようになる前に当該サブチヤネル・ブロツクがチエイニ
ングされることになるゲスト割込待ち行列である。
d.“割当AZN"フィールドは、当該サブチヤネルを使用す
るべく割り当てられた良好ゲストを識別する。このフィ
ールドは本発明の動作の基礎をなす。なぜなら、これ
は、サブチヤネルが割り当てられるシステムの特定画素
を識別するからである。
e.“ゾーンMS起点AA"は、割当AZNについての区画定義セ
ツトからゾーンMS起点AAフィールドの内容をコピーする
ことによつてセツトされる。
f.“ゾーンMS限界AA"は、割当AZNについての区画定義セ
ツトからゾーンMS限界AAフィールドの内容をコピーする
ことによつてセツトされる。
g.“サブチヤネル状況ワード”(SCSW)フィールドは、
S/370アーキテクチヤにおいて様々なサブチヤネル状況
を表示する多数のサブフィールドを持つており、あるI/
O割込、例えばテスト・サブチヤネルまたはストア・サ
ブチヤネルの実行時に読み出される。
h.“サブチヤネル(SCH)#(ナンバー)”フィール
ド、データ処理システムで該サブチヤネルをユニークに
表わす数にセツトされる。
i.“関連デバイス #”フィールドは、当該サブチヤネ
ルによつて表わされる、システム割当のデバイス・ナン
バーを持つ。
j.“チヤネル #”フィールドは、割当AZN区画のMSゾ
ーンとサブチヤネルによつて表わされるI/Oデバイスと
の間のデータ転送用の複数の経路を与えるために、8つ
までの指定チヤネルをサブチヤネルに割り当てる。
k.“X"フィールドは、当該サブチヤネルのI/O状況がペ
ンディングであるときにオンにセツトされる、1ビツト
の1フィールドである。
l.“P"フィールドは1ビツトのフィールドであり、当該
サブチヤネルについてのペンディングI/O割込の処理を
割当ゲストによつて直接行うことができ、ホストの介在
なしでゲストI/O命令を実行できる(つまり、割込を処
理しないホストをパス・スルーする)ことを示すとき
に、オンにセツトされる。
m.“ゲストI/O割込パラメータ・ワード”フィールド
は、S/370XAゲストによつて割り当てられる値を受け取
つてゲスト制御ブロツクのアドレスを保持するととも
に、S/370ゲストによつて割り当てられる値を受け取つ
てI/Oデバイスの370I/Oアドレスを保持する。
第5図 様々な区画に割り当てられたMSゾーンは第1図に示され
るように相互排他的である必要はない。第5図にゾーン
2とゾーン3の領域の重複が示されているが、このよう
に隣接ゾーンに割り当てられたMS起点およびMS限界が重
複していてもよい。
MSゾーンを重複させる理由は、異なる区画に割り当てら
れているプログラミング・システムに共通する通信エリ
アを持つためである。
第6図 第6図には、本実施例におけるMS及びESの起点・限界ア
ドレスの特殊な形式が示されている。MSアドレスの形式
は、S/370XAアーキテクチヤで見られるような31ビツト
・アドレス指定を使う1メガバイト(MB)単位でのMSス
トレージの割当をサポートする。ビツト位置1〜11のフ
ィールドは、1メガバイト境界の起点または限界アドレ
スを表わす。ビツト位置12〜31のフィールドは、MS起点
アドレスの場合はすべて0となつて割当MSゾーンの最初
のIMB領域の起点を表わす一方、MS限界のアドレスの場
合はすべて1となつて割当MSゾーンの最後のIMB領域の
終点を表わす。
ESアドレスの形式は、S/37のXAアーキテクチヤで見られ
るような32ビツト・ページング・アドレスを使う1ペー
ジ単位(1ページ当り4096バイト)でのESストレージ割
当をサポートする。ビツト位置0〜23は、256ページ境
界の起点または限界アドレスを表わす。ビツト位置24〜
31のフィールドは、ES起点アドレスの場合はすべて0と
なつて割当Mゾーンの最初の256ページ単位を表わす一
方、ES終点アドレスの場合はすべて1となつて割当MSゾ
ーンの最後の256ページ単位を表わす。
第7A図 アドレス再配置の保証は、本発明の提供する複数の区画
において、複数のプログラミング・システムをゲストと
して独立して動作可能にする上で重要である。新しく書
かれるプログラムと同様に過去に書かれたプログラム
も、本発明によるシステムの任意の区画でラン可能でな
ければならない。そして、かかるプログラミング・シス
テムは、本発明の原則を使つてマシンが作られる目的で
あるところの全体的なアーキテクチヤの制約の範囲で、
割当区画において完全に動作可能でなければならない。
従来のプログラミング・システムがどの区画に割り当て
られたとしても、該区画が該プログラミング・システム
の変更を全く必要とせずに該プログラミング・システム
を収容できるということは、重要なことである。
どのゲスト・プログラミング・システムもゲスト実アド
レスを提供し、どのゲスト・プログラムも最初はゲスト
仮想アドレスまたはゲスト実アドレスのどちらかを使用
し得るが、ゲストはこれらのアドレスだけを知るのであ
る。他方、区画システムMSはMS絶対アドレスを確認する
のみであるが、これをホストは知るけれどもゲストは知
らない。したがつて、MSにアクセスするためには、すべ
てのゲスト・アドレスをホスト絶対アドレス形式に変形
する必要がある。ゲストの供給するアドレスはホスト絶
対アドレスにならない。したがって、ゲスト提供アドレ
スを変換して、ホスト絶対アドレスのゲスト割当MSゾー
ン中の、スタンドアローン・システムの場合のロケーシ
ョンと等価である相対アドレス位置に再配置しなければ
ならない。このため、ゲストは区画に割り当てられる以
前に使つていたのと同じアドレスを使い続ける。しか
し、このアドレスをホストは知らないわけだから、本発
明を使つて割当ゾーン中の適当な場所に再配置すべく各
アドレスに変更を加えることになる。
区画中のMSゾーンのそれぞれには、MS中の任意の絶対ア
ドレスで始まり得る、ホスト絶対アドレスの一連の拡張
が割り当てられる。各ゲスト・ゾーンには、通常、第1
図に示されるように、MS中の重複しない一連の絶対アド
レスが割り当てられる。しかし、第5図に関して説明し
たように、共通の通信エリアを必要とするプログラミン
グ・システムを持つ区画同士の場合は、MSの隣接ゾーン
同士の間に重複領域が設けられることもある。
区画毎に、そのゾーンに対して、区画定義セツトの“ゾ
ーンMS起点AA"フィールドの形で割り当てられたホスト
絶対アドレスで開始する一連のMSページ・フレームのセ
ツトが割り当てられる。ゾーンは区画定義セツト中の
“ゾーンMS限界AA"で終わる。第6図はこれらの割当絶
対アドレスの形式を示す。
ゲストCPU命令の実・絶対アドレスおよびゲストCPU命令
のオペランドは、ホストのセグメント・テーブルおよび
ページ・テーブルを使つてゲストの割当ゾーンに再配置
される。
しかしながら、各ゲスト毎のホスト・ページ・テーブル
はユニークなやり方でセツト・アツプされる。セツトア
ツプの後では、これらのテーブルは通常のやり方で動作
する。
ページ・テーブルのセツト・アツプのユニークなやり方
とは、ゾーンに割り当てられたページ枠の数と同じだけ
のエントリをホスト・ページ・テーブルに設けることで
ある。当該ページ・テーブルの最初のエントリは、最初
のページ枠に合わせてセツトされ、“ゾーンMS限界AA"
から始まり、再配置されたゲスト実アドレス0に対応す
る。ページ・テーブル・エントリは、ゾーン内の一連の
ページ枠の各ページ枠(PF)のホスト絶対アドレスを使
つて連続してセツトされる。ホスト・ページ・テーブル
中の最後のエントリは、ゲスト・ゾーン中の再配置可能
な最高ゲスト実アドレスに対応するところの、割当“ゾ
ーンMS限界AA"で終わる。セツト・アツプされたエント
リのすべては、有効状態にセツトされる。これらのペー
ジ・エントリを有効状態にセツトすることは、区画の動
作中継続する。ゲスト用のホスト・ページ・テーブルの
説明は、第7C図で行なわれている。
第7A図では、ゾーン2を例にとつて説明する。ゼロから
最終ページKの最後までのゲスト実アドレスの何れも
が、ホスト・ページ枠Rの最初からホスト・ページ枠Q
の最後までの間の、対応するゾーン2の絶対アドレスに
マツプされる。もちろん、ゲストがそのページをゲスト
実アドレス0にプレフイツクスしてゲスト絶対アドレス
を提供して差し支えないが、そのアドレスはさらにゾー
ン再配置用の割当ホスト・ページ枠にマツプされる。こ
のようにして、ゾーン2のゲスト・ページは、第7A図の
ホスト・ページ枠(PF)6〜12に配置される。
第7A図には、ゲストCPUアドレスの変換と再配置の方法
を説明する目的で、0からTまでの、ゾーン2ゲスト仮
想アドレスの広がりが示されている。ゲスト仮想アドレ
スはゲスト実アドレスに変換される。ゲスト実アドレス
はページ枠Rからページ枠Qまでの、ゾーン2に割り当
てられた一連のホスト絶対アドレスの中へ配置される。
これが0からMまでのホスト絶対アドレス全体の広がり
の中で配置される。上記特殊なやり方でホストのセグメ
ント・テーブルとページテーブルを通じてホスト・ペー
ジ枠をゲスト・ゾーンに割り当てると、ゲスト・ページ
と割当ホスト・ページ枠は一対一の対応関係を持つこと
になり、かつページ枠の各区画への割当が存在している
間、割当は有効であり続ける。ゾーンへのページ枠割当
は、後でユーザー・リクエストによつて、動的に増加ま
たは減少し得るけれども、上記一対一の関係は、良好ゲ
ストについてホスト・ページ・テーブルが変更されると
きはいつでも維持される。
このため、MS中のページ境界は、ゾーン境界を区画定義
セツトの“ゾーンMS起点AA"および“ゾーンMS限界AA"に
割り当てる際の制約となる。共通ページ・サイズは4096
バイトである。MSのゾーン境界位置に関するその他の制
約は、ゾーン割当用のMS割振がページよりもずつと大き
なサイズの単位、例えば本実施例で想定するところの1
メガバイト(MB)単位に制限されることである。このと
き、各ゾーンの広がりは、1MB単位の整数倍になる。1MB
単位の境界も、ページ境界上にある。ゾーン割当単位が
(2つの累乗で)大きくなればなるほど、ゾーン境界ア
ドレス中の変更する必要のあるビツトの数が少なくな
る。なぜなら、ゾーンの向き合う境界では、アドレスの
他のビツトはすべて0、すべて1であることがわかつて
いるからである。
最初、ゲスト・アドレスは、ゲスト実アドレスまたはゲ
スト仮想アドレスとして与えられる。
(S/370およびXAアーキテクチヤでは“論理アドレス”
と呼ばれる。)ゲスト仮想アドレスは、まず、第7B図に
示す通常のやり方で、ゲストによつてゲスト実アドレス
に変換される。
次に、ゲストは必要ならばプレフイクシングを行い、さ
らにゲストSIE SDでSD起点およびエクステントとして
規定されるゲスト実アドレスに合わせる調整を行う。こ
のように、ゲスト実アドレスはまずゲスト絶対アドレス
に変換され、その後、第7C図に示される当該ゲスト用の
ホスト・セグメント・テーデル、ページ・テーブルを使
つて、ゲスト絶対アドレスはMS中でアクセス可能なホス
ト絶対アドレスに再配置される。
このため、ゲスト仮想アドレスは、ホストのセグメント
・テーブル、ページ・テーブルを使つて、ホスト・ペー
ジ枠中のホスト絶対アドレスに、アドレス変換・再配置
される。必要ならばホスト・ページ枠実アドレスに対し
てプレフイクシングが行われ、生成されたホスト実アド
レスがCPUの通常のTLBに入力される。エントリが有効で
ある限り、後続単位アクセスについてのMSの該ページ枠
に対してアクセスすべきときは、ここからアクセスされ
る。
このように、先行してゲストの実または絶対アドレスを
ホスト実アドレスに変換するのに使われたホストのセグ
メント・テーブル、ページ・テーブルは、本発明によつ
てユニークにセツト・アツプされ、元のプログラム・ア
ドレスがゲスト実アドレスへの変換を要する仮想アドレ
スであろうとなかろうと、ゲスト・プログラムの与えた
実および絶対アドレスを割当ゾーンへ再配置する。
本発明におけるホスト・ページ・テーブルのユニークや
セツト・アツプ法のおかげで、ゾーンに再配置されつつ
ある実または絶対アドレスをゾーン区画定義セツト中の
ゾーンMS限界アドレスと突き合わせてゲスト・アドレス
が割当ゾーン内に再配置されたことを確かにする必要が
なくなる。ゲスト・アドレスが割当ゾーンの限界アドレ
スを越えることはない。なぜなら、割当ゾーン内のホス
ト・ページ枠だけしか当該ゲストのホスト・ページ・テ
ーブルに存在し得ないからである。
第8図 拡張ストレージ(ES)のアクセスは、S/370のページイ
ン、ページアウト命令を使つて行われる。どちらもESの
みならずMS用のオペランド・アドレスを持つ。したがつ
て、ESアクセス、MSアクセスはともに要求ゾーンに関す
る境界アドレスの範囲内でなければならない。第8図で
は再配置・チエツク動作が示されている。ここで、ペー
ジインまたはページアウト命令のMSオペランド1は、第
7A図ないし第7C図に関して説明したようにして、MSホス
ト絶対アドレスへ変換・再配置される。
ESオペランド2のアドレスは32ビツトのページ番号アド
レスであり、ゾーン区画定義セツト中のゾーンES起点ア
ドレスに加算されてES中の“システムESページ番号”を
生成するが、これは必要とされるゾーン内のESアドレス
でなければならない。ESアドレス・チエツクは、システ
ムESページ番号およびゾーン区画定義セツトの32ビツト
のゾーン限界アドレス(ESストレス割振がページ境界に
あるとき)に比較によつてなされる。
ESゾーン割振が複数のページ割振をまたぐとき、ES再配
置用加算およびチエツク用比較は、それぞれ32ビツト未
満の数値を使つて行うことができる。たとえば、ES割振
が256のページ境界をまたぐとき、各ESアドレスの高位2
8ビツトのみが必要とされる。
チエツク用比較の結果等しくないことがわかれば、ESア
クセスが抑制されるとともに、ゾーン破壊アドレス例外
(エクセプシヨン)信号が生成され、通常プログラム割
込がアドレスを与えるプログラムに対して行われる。チ
エツク用比較の結果等しいことがわかれば、ESアクセス
が許可され、システムは再配置されたESページ番号を使
つてESアクセスを行う。
第9図 第9図は、I/Oチヤネル絶対アドレスがMSに再配置され
る様子を示す。上述のように、本実施例では1MBゾーン
・アドレス境界を想定しており、ゲスト・アドレスの割
当可能要素を31ビツト・アドレス(第9図に示す)のう
ちのビツト位置1〜11に制限する。チヤネル・アドレス
再配置は、(第9図のゲスト・アドレス・ビツト位置1
〜11にある)ゲスト・アドレスの11ビツト割当可能要素
を11ビツトで表現されるゾーンMS起点絶対アドレス(こ
れはアクセスを要求するサブチヤネルの制御ブロツクで
見られるMS起点AAの形式である。)に加算することによ
つて行われる。これは、チヤネルMSにアクセスする度に
行われる。
また、CPUアドレスのゲスト処理と違つて、MSにに加え
たゲストI/Oチヤネル・アドレスがゾーンMS限界絶対ア
ドレス(これもアクセスを要求するサブチヤネルの制御
ブロツク内の11のビツト・フイールドである)と対比し
てチエツクされる。このため、I/Oチヤネル・アドレス
再配置およびチエツクの動作は、それぞれ、アドレス全
体を構成する31ビツト値ではなくて11ビツト値の比較に
よつて行われる。もしどちらかの比較結果が等しくない
ことを示すときは、チヤネルのMSアクセスが抑制され、
アドレス例外信号が生成され、かつ通常はアドレス供給
プログラムに対してプログラム割込が行われる。
第10図および第11図 本実施例の動作のCPUハードウエアに入力される“有効I
/O割込可能マスク”(EIEM)に依存する。EIEMな内容は
S/370XAアーキテクチヤで規定されるI/O割込サブクラス
(ISC)の可能性を直接制御する。間接的には、EIEM内
容によつて、ゲスト割込可能性(許可)および他のCPU
フイーチヤへの警告が制御される。当該CPUのPSWビツト
6の可能性状態が、EIEM動作全体を可能にしたり不可能
にしたりする。
EIEMの個々のビツト位置は、該当するI/Oサブクラス待
ち行列(当該マスクを持つCPUのI/O IRPのISCによつて
表わされる)を選択的に割込可能にする制御を行う。し
たがつて、当該CPUは、当該CPUについての現在のPSWの
ビツト6によつて当該CPUもイネーブル(可能)である
ときに限つて、イネーブルであるISC中のイネーブルで
ある保留I/O割込を処理できる。
良好ゲストについてEIEMマスクが生成されるのは、ホス
ト・プログラムからSIE命令を発することによつてシス
テム中のCPUでゲストが指名されるときである。
このとき、EIEMマスクは第10図で表わされる複数のフイ
ールドから生成されるが、その中にはゲストSDから獲得
した3つのフイールドとホストの提供する1つのフイー
ルドが含まれる。
SDは第3図に示されている。ゲストSDから得る3つのフ
イールドとは、警告ゾーン・マスク(AZM)、アクテイ
ブ・ゾーン番号(AZN)、そしてゲストI/O割込可能マス
ク(GIEM)である。これらのゲスト・フイールドはゲス
トが当該CPUで指名されている間、該CPUのローカル・ス
トアにロードされる。
ホスト・フイールドはCPU制御レジスタ6(CR6)から得
られるが、その内容は“ホストI/O割込可能マスク”(H
IEM)である。
割当ゾーン番号(AZN)は、SIE SDが指名されているCP
Uにとつての現在のゲストを識別する。AZNはSDから取ら
れ、指名CPUによつてNビツト・フイールドの形にデコ
ードされる。Nビツトのうちの、CPUに記憶される、AZN
フイールドを与えるAZNを表わすビツト位置の他のビツ
トは、すべて0である。
警告ゾーン・マスク(AZM)は、システム中の可能をも
つAZN番号に対応するN個のビツト位置を持つ。(SDに
警告ゾーン・マスクが含まれる)現在ゲスト・ゾーン以
外の1以上のゾーンについてAZMビツトがオンにセツト
される。オンにセツトされたビツト位置は、ゲストにつ
いてI/O割込が発見されたときはいつでも警告をするこ
とになる、他のゾーンを表示する。警告の結果、そうい
つた他のゲストは現在ゲストよりも高い優先度を持ち得
ることができる。すなわち、かかる他のゲストに関して
I/O割込がアベイラブルであるときは、いつでも現在ゲ
ストのCPUによつて警告信号が出される。
ホスト指名プログラムは警告信号に対する反応の仕方を
決定する。一般にホストの反応は警告ゲストを該CPUで
指名することになるけれども、ホストは必ずそうしなけ
ればならないわけではなく、他の行動もとり得る。
“ゲストI/O割込可能マスク”(GIEM)はゲスト・プロ
グラムのISCイネーブル・コントロールを与える。
“ホストI/O割込可能マスク”(HIEM)はホスト・プロ
グラムのISCイネーブル・コントロールを与える。
EIEMはCPUの現在ゲストに関するこれらすべてのマスク
を組み合わせ、CPUの現在ゲストによるI/O割込処理動
作、および警告され得る他の良好ゲストのための警告動
作を制御する。
XAモードでEIEMの生成される様子が第10図に示されてい
る。第11A図および第11B図は、XAまたは370モードのど
ちらかにおけるEIEMの生成を制御する一連の制御信号、
およびEIEM生成プロセスの際に使われるタイミングの関
係を示す。
第10図の例は、HIEM、AZM、AZN、およびGIEMの持つ各ビ
ツト・フイールドのAND・ORをCPUでとることによつてEI
EMが生成される様子を示している。
第10図はNビツト・フイールドを示しており、そこでは
N−1個までの良好ゲストを表現することができ、良好
ゲストの最大数は(他の図面でも示されるように)Nで
ある。
第11A図と第11B図は、どんなタイプのゲストを指名中で
あつてもCPUによつてEIEMが生成される様子を示してい
る。第11A図と第11B図は第10図よりも一般的である。な
ぜなら、第11A図と第11B図はマイクロコードまたはソフ
トウエアプログラムを使つたEIEM生成が可能な様を示し
ているからである。
EIEMは、他のCPUのための警告およびI/O割込処理につい
てのCPU動作を制御するのに用いられる。これらの機能
は、ゲストがシステム中のCPU上でSIE指名されている
間、ゲスト毎に独立して決定される。このため、ホスト
・システムは、SIE命令を使つてシステム中のCPU上で良
好ゲストを指名する度に、新しくEIEMを生成する。
GIEMは、当該良好ゲストの動作中、CPU制御レジスタに
保持される。CPUがS/370モードで動作する間、CR2が使
用される。この場合、GIEMをゲスト“CR2 マスク”と
呼ぶこともある。CPUがS370XAモードで動作する間、CR6
が使用される。この場合、GIEMはゲスト“CR6 マス
ク”と呼ぶこともある。
XAゲスト用の第10図の動作では、(ゲストSDから与えら
れる)GIEMがOR回路11によつてオール0状態であるか否
かテストされる。オール0状態ならば、0状態出力が出
されて、セツト16のすべてのANDゲートを不能(inhibi
t)にする。オール0状態は、ゲストが現在はI/O割込を
処理できないことを示す。GIEMがオール0状態でないな
らば、OR回路11は1状態出力を出し、N個のANDゲート
回路16のそれぞれを条件づける。
デコーダ回路12は(ゲストSDから与えられる)Rビツト
のAZN値を受け取り、Rのうちの1つの(one−out−of
−R)AZNコードにデコードする。そこでは、AZN値に対
応するビツト位置だけが1状態にセツトされる。デコー
ダ12のN通りの出力はそれぞれセツト16のANDゲートに
入力される。デコーダ12によるこの動作の結果、セツト
16のANDゲートは、a)AZNビツト位置がGIEM中でイネー
ブルでないときはN個の位置すべてから0出力、または
b)AZNビツト位置がGIEM中でイネーブルのときはAZNビ
ツト位置だけが1状態の信号でその他のビツト位置は0
状態の出力、の何れかを供給する。
また、(ゲストSDから与えられる)AZMは、N個のANDゲ
ートからなるセツト13の入力を条件づけるための、ホス
ト・ビツト位置0が与えられている。
ANDゲート13のその他の入力はNビツトHIEM(ホストCR6
マスク)から来る対応ビツト位置のセツテイングを受け
付ける。EIEMが生成される間、HIEMはCPUのCR6にある。
そして、EIEMの生成が終了すると、HIEMはEIEMと置換さ
れる。
AZMの他のビツト位置1〜Nは、可能性のある良好ゲス
トについての警告状態を表わす。(どんなときでも、ア
クテイブな良好ゲストの数はN未満である。)AZMビツ
ト1〜Nの状態はゲストSDからセツト14のANDゲート1
〜Nの各入力へそれぞれ供給されるが、各ANDゲートは
信号EC.4によつて条件づけられるもう1つの入力を持つ
ている。
信号EC.4はゲストSDの中の実行制御エリア(ECA)の4
番目のビツト位置である。警告モードがイネーブルにな
つたことを示すときに該信号はオンにセツトされ、N個
のNADゲート14の各入力に送られる。
EIEM(有効CR6マウス)はN個のOR回路のセツト17によ
つて生成される。セツト17のOR回路のそれぞれによつ
て、(a)AND回路16から来る対応するNビツト出力、
(b)AND回路13から来る対応Nビツト出力、および
(c)AND回路14から来るN−1ビツト出力のORが求め
られる。
ANDゲート13へ至るHIEMがゲストAZMのビツト0によつて
イネーブルにならないならば、CR回路17から生成される
EIEMを制御するのは、ANDゲート14から来るAZMの良好ゲ
スト・ビツト位置、およびGIEMでイネーブルとされた場
合にセツト16のANDゲートから来るAZMビツト位置だけで
ある。
第11A図は今説明している機能に関連するECAフイールド
中のビツト位置を示している。警告モードの存在を示す
ためにはビツトEC.4がオンにセツトされる。ビツトEC.4
がオフのときはCPUによつて警告が認識されることはな
い。ビツトEC.5はゾーン・モードの存在を示すためにオ
ンにセツトされる。V=VゲストがCPUによつて認識さ
れるべきとき、EC.5ビツトはオフになる。ビツトEC.10
は370パス・スルーの存在をCPUに知らせるためにオンに
セツトされ、370パス・スルー割込がないときはオフセ
ツトされる。EC.4、EC.5、およびEC.10によつて決定さ
れるモードは相互に排他的である。すなわち、これらの
モードを他のモードのセツテイング無関係にオンにセツ
トしてもよい。
SIE命令の実行のうち関係のある部分が第11A図と第11B
図に示されている。ここでは、SIE命令がゾーン(V=
F)ゲストのためのものであるときにEIEMが生成されて
いる。しかし、本発明の警告機能は他の従来からのV=
Vゲストにも適用可能であり、それはこれらの2つの図
面に含まれている。
第11A図はSIE命令の実行開始とともに始まる。ボツクス
11ではビツトEC.5のセツテイングをテストしてCPUがゾ
ーン(zoned)モードであるか否かを判断する。上述の
ように、警告機能は従来のV=Vタイプのゲストでも使
用可能であるが、その場合、本発明での新規なV=Fゲ
ストと違つた動作をする。例えば本発明によるV=Fゲ
ストについてのアドレス再配置はV=Vゲストについて
行われない。
このように、V=Vゲストが指名中のときEC.5ビツトは
オフにセツトされているので、ボツクス12に入つてEC.4
ビツトの状態のテストが行われ、警告の要求の有無が判
断される。その理由は、第11A図と第11B図のプロセスが
任意のV=Fゲストと同様にV=Vゲストについても警
告機能を可能にするものであるからである。V=Rゲス
トについてはそうではない。
EC.4ビツトがオフならば、ボツクス13に入つて、従来IB
M VM370/XAプログラミング・システムで行われていた
ように、マイクロコードによるSIE命令処理が可能にな
る。
EC.4ビツトがオンならば、ボツクス16に入つてホストPS
W.6ビツトを使つてCPUがI/O割込を受け入れるようにす
る。ボツクス17ではゲスト・タイプがV=Rか否かがテ
ストされるが、これはゲストSDにおいて表示されてい
る。V=VゲストでないならばV=Rゲストということ
であり、次にボツクス18に入る。ここでは、CPUが、ホ
スト・スーパバイザ・プログラムを参入させることにな
る有効性インターセプシヨンを受け取る。これはインタ
ーセプシヨンの原因がV=Rゲストについての警告リク
エスト(本実施例では許されない)であることを判断す
るためのものである。しかし、ボツクス17においてV=
Vゲストが検知されると、ボツクス19に入つて、CPUがC
P6中のEIEMをオール0状態にセツトしてこれを不能にす
る。続いて、ボツクス21に入る。
他方、ボツクス11にてEC.5が1状態にセツトされている
と検知されると、それは該CPUがV=Fゲストについて
のゾーン・モードにあることの表示であり、yesの方向
へ進むことになる。次に、ボツクス31に入つて、ゲスト
PSW(ゲストPSW.6)中のI/Oイネーブルメント・ビツト
(ビツト6)が使用される。次のボツクス32ではレジス
タつまりEIEMが生成されるべきレジスタつまりフイール
ドの内容が0にセツトされる。
続いて、ボツクス33にてCPUは警告モードの存在を知る
べくEC.4をテストし、他のゲストに警告すべきか否か判
断する。EC.4が1状態ならば、yesの方向へ進んでボツ
クス21へ入り、警告マスクを入力した状態でEIEMが生成
される。EC.4が0状態ならば、noの方向へ進んでボツク
ス43へ入るので、EIEM生成に使用するAZMステツプ21、4
1、42はスキツプされ、EIEM生成プロセスにAZMは全く含
まれない。
ボツクス21に入るとAZMを含めるプロセスが始まる。ボ
ツクス21ではAZMビツト1〜NとEIEMビツト1〜NのOR
がそれぞれ計算される。ボツクス41ではAZMビツト位置
0(AZM.0)が1状態か否かテストされる。1状態なら
ば、ボツクス42にて、HIEMとEIEMレジスタつまりフイー
ルドのORが各ビツト位置で計算される。
続いて、ボツクス43では、ゾーン・モード・ビツトEC.5
がオンか否かのテストが行われる。オンでないならば、
noの方向へ進んでボツクス48へ入り、SIE命令の実行が
従来どおりに継続される。しかし、EC.5がオンならば、
ボツクス4に入つて、ゲストが370モードまたはXMモー
ドのどちらで動作しているかテストされる。
ゲストがXAモードならば、ボツクス46にて、ゲストSD中
のGIEMの全ビツトが0か、それとも1状態のビツトがあ
るのかを知るテストが行われる。1状態のビツトがある
と、yesの方向へ進んでボツクス47に入り、EIEM中のAZN
ビツト位置のビツト(つまりEIEM.AZN)が1にセツトさ
れる。こうしてEIEM生成が完了するが、SIE命令実行の
残りの部分は従来どおりである。(XAゲストの場合、E
C.10ビツトの状態のテストは行われない。)GIEMの全ビ
ツトが0のときにはボツクス46からnoの方向へ進んでや
はりボツクス48に入る。
しかしながら、ボツクス44において、SIE命令によつて3
70ゲストが指名中であることがわかると、ボツクス51に
入つてEC.10ビツトの状態がテストされ、370ゲストがバ
ス・スルー・モードか否かが判断される。パス・スルー
・モードならば、ボツクス52に入つてEIEM.AZNがオンに
セツトされる。こうしてEIEM生成が完了するが、SIE動
作の残りの部分は従来どおりなので、ボツクス48に入る
ことになる。
I/O割込パス・スルーおよび警告指名 I/O割込処理および警告指名の制御は、MPシステムのCPU
毎に、現在ゲストに関するCPUにセツトされたEIEMを使
つて独立に行われる。各I/O割込信号のブロードキヤス
ト(各CPUのIPRの1以上のビツトをオンにセツトするこ
と)に応答し、以下の一連のアトミツク・マイクロコー
ド(I、II、III参照)を用いることによつて、SIE命令
の下でゾーン・ゲストつまりV=VゲストをCPUがラン
する間、上記制御が行われる。
I.CPUが割込イネーブル(ゲストPSW.6がイネーブル)な
らば、現在のCPU状況をセーブし、IPR.Pを最高として最
高優先度IPR(IPR.N)を決定する。
A.以下のテストを行うことによつて、I/O割込がホスト
についてのものか否か判断する。
1.EC.4がオンであるか 2.AZM.0ビツトがイネーブルであるか 3.ホストCR6マスク・ビツトNがイネーブルか II.I/O割込がホストについてのものでないならば、それ
はゲストについてのものである。
そして、 A.I/O割込が警告可能なゲスト、つまりI/O割込を受け取
るCPU上で現在指名されている良好ゲスト以外のゲスト
についてのものか否かのテストを、次のようにして行
う。
1.I/O割込がサブクラス・ビツトIPR.Nがオンであること
によつて示される別のゲストNについてのものか。
2.ゲストNは警告ビツトAZM.Nがオンになつているか a.こういつた警告条件が存在するならば、警告インター
セプトがホストに与えられる。ホストは警告されたゲス
トを当該CPU上で指名するかもしれない。
B.I/O割込がホストについてのものでもなく、かつ警告
可能ゲストについてのものでもないならば、それは当該
CPU上で指名されているゲストについてのものであるに
ちがいない。ゲストが割込をイネーブルにしたのは以下
によるものか否かのテストを行う。
1.GIEM.(SCH.GISC)=1 2.SCH.P=1 a.指名ゲストについてこういつた条件が存在するなら
ば、ゲストがCPU上で指名される間、そのI/O割込はゲス
トへパス・スルーされて処理される。
C.I/O割込が指名ゲストについてのものであつても、 1.有効CR6マスクのゲストI/O割込サブクラス・ビツトが
イネーブルでない(禁止されている)一方、ゲストPSW.
6がイネーブルまたはSCH.P=0ならば、 a.ホストが、当該I/O割込について表示されたゲスト・
サブクラスに関するゲスト・ソフトウエア待ち行列にゲ
ストI/O割込を置き、 b.ホストはゲストの後続の命令を出して当該CPU上での
ゲスト指名を継続する。
1)ゲストは、ゲストのCR6マスクがイネーブルになる
とI/O割込を後で処理する。
III.しかしながら、CPUが割込不能(つまり、ゲストPS
W.6がイネーブルでない)ならば、 A.当該CPUはI/O割込を全く受けない。I/O割込は、別のC
PUによつて受け取られないならば、ハードウエア割込待
ち行列で保留のままである。I/O割込処理・警告指名制
御は、MPシステム中のCPU毎に独立して行われる。命令
の実行が完了した後(これは“endop"マイクロ命令を使
つてマイクロコードの形で知らされる)、CPUで1以上
のIPRビツトがオンにセツトされたのがわかり、それに
応答して以下の一連の動作を使うことによつてCPがSIE
命令の下でゾーン・ゲストつまりV=Vゲストをランす
る間、上記制御が行われる。
IPRは複数のI/O割込サブクラス(ISC)ビツト位置を持
つが、これらはそれぞれ、I/Oプロセツサ(IOP)によつ
てハードウエア式に管理されるシステム・ストレージ・
エリア内のI/O割込待ち行列に対応する。待ち行列でI/O
割込が待機中であると、対応するISCビツト位置はオン
にセツトされる。IOPがMPのすべてのCPUに対して各I/O
割込信号のISCをブロードキヤストすることによつて、M
P中の各CPUのIPRにおいてISCビツト位置が自動的にオン
にセツトされる。該ISCに関するすべての保留I/O割込が
CPUによつて処理され終わるまで、IPR中のISCはオンで
あり続ける。
命令が完了してendopマイクロ命令が生じる度に、MP中
のI/P割込処理が可能であるCPUは、IPRを見てオン状態
にあるISCを探す。オン状態のISCがあると、CPUは保留
割込の処理を試みる。2以上のISCがオン状態にあるこ
とをCPUが見つけると、IPR中の最低ビツト位置を持つIS
Cが処理されるが、これはIPR中で最も優先度の高いISC
である。
第12A図および第12B図 第12図には本発明を使つたサブチヤネル(SCH)動作が
示されている。同図にはI/Oデバイス1〜Zが表わされ
ているが、これらはそれぞれサブチヤネル1〜Zを伴つ
ている。
各サブチヤネルは第4図に示されるようにSCH制御ブロ
ツクによつて表わされる。その内容は、ユニークなサブ
チヤネル番号、および個々のサブチヤネルによつて表わ
される特定のI/Oデバイスを識別する関連デバイス番号
である。
サブチヤネルについてのSCH制御ブロツク中の他のパラ
メータによつて、サブチヤネルはホストI/O割込サブク
ラス(HISC)、およびゲストI/O割込サブクラス(GIS
C)に割り当てられる。
また、ゲストが良好ゲストならば、その割当ゾーン番号
(AZN)はSCH制御ブロツクに記憶される。それから、ゾ
ーン境界アドレス、つまりゾーンMS起点絶対アドレスと
ゾーンMS限界絶対アドレスもSCH制御ブロツクに記憶さ
れる。
サブチヤネルはさらに、Pパス・スルー・ビツトを含ん
でいる。該ビツトは、SCH制御ブロツクでAZN値を持つゲ
ストによつてサブチヤネルI/O割込が処理されるべきと
きにオンにセツトされる。別のフイールドXは、関連デ
バイスがSCHで保留中のときはいつでもオンにセツトさ
れる。
SCH制御ブロツク中の上記フイールドは、S/370XAサブチ
ヤネル修正命令を使つて割り当てられる。サブチヤネル
制御ブロツクがアクセスされるときはいつでも、SCHロ
ツク・フイールドLがオンにセツトされ、サブチヤネル
に対する変更が完了すると直ちにオフにセツトされる。
デバイス1〜Zの何れかについて何らかのI/O割込が発
生するときはいつでも、チヤネル動作11においてデバイ
ス番号を使つたテーブル9のルツクアツプが行われ、割
当サブチヤネル番号(SCH #)がルツクアツプされ、
デバイス状況が該サブチヤネル制御ブロツクに入力され
る。
IOPは、割込サブチヤネルを調べて当該サブチヤネルの
割当HISC番号を見つけ、当該保留割込をHISC待ち行列Q0
〜QNのうちのどれにつなげる(チエインする)かを決定
する。
続くステツプ13〜17ではエンキュー動作が行われるが、
これは、待ち行列アンカーを突き止め、選ばれたHISC待
ち行列中の最終エレメント(待ち行列が空ならばアンカ
ーである)を突き止め、そしてそのポインタ・フイール
ドを変更して現在I/O割込を持つサブチヤネルをアドレ
スすることである。
また、IOPはISC #をMP中の全CPUにブロードキヤスト
し、各CPUのIPR中の対応するIPRビツトがまだオンでな
いならそれをオンにセツトする。その後、ボツクス21に
て、I/O割込生成・保留表示プロセスがホスト用ハード
ウエアによって終了される。次に、システム上で指名さ
れたゲスト・プロセスおよびホストの非同期I/O割込処
理動作によつて、第12B図に示されるような、そして後
で第13図以下で詳しく説明する保留ゲストI/O割込処理
で使われるような、必要とされるゲストI/O待ち行列が
生成される。
第12B図は、ゾーン2を使うゲストについての0から31
までのゲストI/O割込待ち行列を示す。この良好ゲスト
2にはI/OデバイスQ〜Tが割り当てられる。これらの
デバイスは第4図を使つて説明されたハードウエア・サ
ブチヤネル制御ブロツクを用いるホストによつて管理さ
れる。
しかしながら、ゲスト割当デバイス(例えば良好ゲスト
2に関してQ〜N)についてのハードウエア・サブチヤ
ネル・制御ブロツクのコピーを用いることによつて、ど
んな良好ゲストでもゲストに割り当てられたデバイスの
管理にたずさわることができる。ゲストによるそのI/O
デバイスの管理への関与はゲスト・ソフトウエアによつ
て決まるが、これは一般にゲストが本発明のシステムの
下でランすることも考慮して書かれていない。
サブチヤネルのゲスト・コピーをここでは“ゲスト・サ
ブチヤネル”と呼ぶ。そして、ハードウエア・サブチヤ
ネルもここでは“ホスト・サブチヤネル”と呼ぶ。この
ため、各ゲスト・サブチヤネルには対応するホスト・サ
ブチヤネルが存在することになる。ゲスト・サブチヤネ
ルは、対応するホスト・サブチヤネルの正確なコピーで
あつてもよいし、そうでなくてもよい。
サブチヤネルのシステム管理は、本実施例の待ち行列0
〜31のゲストI/O割込待ち行列も維持する。したがつ
て、サブチヤネルがI/O割込を保留しているとき、ホス
ト・ソフトウエアはゲスト・サブチヤネルをゲスト・ソ
フトウエアI/O割込待ち行列に置くことができる。I/O割
込保留ビツトXのコピーは該ゲスト・サブチヤネルにお
いてオンにセツトされる。ゲスト・サブチヤネルがゲス
ト待ち行列に置かれるとき、当該サブチヤネルのポイン
タは当該ゲスト待ち行列につながれる。サブチヤネルが
待ち行列から除かれるとき、そのポインタは、当該ゲス
ト・サブチヤネルを表わすMS中のソフトウエア制御ブロ
ツクのアドレスにセツトされる。良好ゲストによるI/O
割込の処理では、本発明のパス・スルー機能が用いられ
る。
第13図ないし第20図 I/O割込を処理して、良好ゲストへのパス・スルーとゾ
ーン・V=Vゲストからの警告とを制御するための詳細
なプロセスが第13図ないし第20図に表わされている。
第13、14A、14B図は、SIEインターセプシヨンで終るSIE
命令の下での処理を示している。
第15A〜15H図はSIEインターセプシヨン後の処理を示し
ている。
第17、18、19、20図は、I/O処理で用いられるCPU命令で
あつて、本発明の下でのサブチヤネル処理での使用も可
能にするユニークな変更を含むものを示している。
第13図では、システムの各CPUが命令ストリームを実行
するが、そこでは次にくる命令のフエツチがボツクス11
で行われ、その実行はボツクス12で行われる。ボツクス
13では各命令の実行が“endop"(エンド・オペレーシヨ
ン)マイクロ命令、またはそれと等価なハードウエアで
もつて終了し、これによつて保留割込処理の以下のプロ
セスが始まる。
次のボツクス14は本発明の一部分ではないが、そこでは
CPUが(本明細置で説明されるプロセスによつて処理さ
れる)I/O割込より高い優先度を持つ保留割込を処理す
る。
ボツクス21では、ゲストPSW.6(ゲストのPSWのビツト
6)の状況をテストすることによつて、CPUのI/O割込可
能性をテストする。ボツクス21でPSW.6がイネーブルで
ないとわかると、ボツクス24に入つてI/O割込より低い
優先度の保留割込が処理され、それからボツクス11に再
び入つて普通のCPU動作が継続される。
ボツクス21にてPSW.6がイネーブルだとわかると、次に
ボツクス22ではSDの中のSQビツト(SD.SQ)がテストさ
れる。SD.SQビツトは、ゲストのソフトウエア待ち行列
での保留割込の有無を表示する。
SD.SQがオンならば、それはI/O割込がゲストのソフトウ
エア待ち行列で保留中であることを表しており、それら
の処理はホスト(ハードウエア)I/O割込待ち行列から
の保留I/O割込が処理される前に行われなければならな
い。SD.SQによつてソフトウエア待ち行列I/O割込がオン
状態だと表示されるときは、yesの方向に進んでボツク
ス31に入り、インターセプト・コード24をこのゲストの
SDに記憶する。続いてSIEインターセプトが引き受けら
れ、第15図に示すSIEインターセプトのためのホスト処
理ソフトウエアが呼び出される。インターセプト・コー
ド24はインターセプトされて、必要なアクシヨンがとら
れる。
SD.SQビツトがオフならば、それはゲストのソフトウエ
ア待ち行列に保留I/O割込が存在しないことを表わして
いる。
その場合、ボツクス22からnoの方向へ進んでボツクス23
へ至り、例えば当該ゲストによる処理のため、またはホ
ストへの警告のために、当該ゲストによつて認識される
べきホスト・ハードウエア待ち行列上の保留I/O割込の
有無が判断される。このことは、ゲストが現在使用して
いるCPUのIPRで、EIEMによつてイネーブルとされ、ISC
ビツト中にオンとされたものがあるか否かをテストする
(ボツクス23)により行われる。オンのビツトがあるな
らば、ボツクス26において、CPU処理用にEIEMによりイ
ネーブルとされたIPR中の1状態のISCビツトのうちの最
も左側にあるものが選択される。続いて第14図に示す処
理に入つてIPR中のこの選択されたISCビツトが吟味され
る。この選ばれたISCビツトはホスト待ち行列上の保留I
/O割込を表わす。すなわち、選ばれたISCはHISC値であ
る。
(注:ゲストについての保留I/O割込は、それぞれ、ま
ず当該ゲストについてのホストI/O割込待ち行列上に置
かれ、各CPUのIPR中の割当ISCビツトをセツトする。ホ
スト待ち行列の割当はサブチヤネル制御ブロツクで表示
される。)続いて状況保留ビルト(X)は、待機させら
れる前に(キユーイングされる前に)割込サブチヤネル
制御ブロツク中でオンにセツトされる。
該当するGIEMビツトがオフであるためにゲストが選択的
に禁止されるときはいつでも、ゲストSDの中でSD.Dビツ
トがオンにセツトされる。ゲストが選択的に禁止されて
いる(つまり、SD.Dがオンである)のに、IPRによつて
ホスト・ハードウエア待ち行列中に該ゲストにつき保留
I/O割込みが存在することが表示される(つまり、IPR.A
ZNがオンである)と、該ゲストの割込が該ゲストについ
てのホスト待ち行列からゲスト・ソフトウエア待ち行列
へ移動される。すなわち、GIEMにおいてゲストが“選択
的禁止”である間、保留I/O割込は初期のホスト・ハー
ド待ち行列からホスト・ストレージ中のゲスト・ソフト
ウエア待ち行列へ動かされる。
SD.Dビツトをオンまたはオフにセツトする制御処理は、
CR6のロード制御命令(LCTL6命令)を使う。
第14A図および第14B図 第14A図において、ボツクス41へは第13図のボツクス26
から入る。そして、第13図のボツクス26のプロセスで選
択されたISCビツトの処理が行われる。ボツクス41で
は、ゲストのSD中のECA(実行制御エリア)の警告状況
ビツトEC.4がテストされ、CPU中の警告制御を呼び出す
べきか否かが判断される。
警告判断は、ボツクス42に入つてホスト警告イネーブル
メントAZM.0の状況がテストされるときに始まる。テス
トの結果オフだとわかると、ボツクス52に入つて、選択
されたISCビツトを指標としてAZMビツトの状況(つま
り、AZM.ISCビツト)が調べられる。AZM.ISCビツトがイ
ネーブル(つまり、1に等しい)ならば、ボツクス53に
入る。
ボツクス53では、それぞれホストPSWビツト6および同
7の位置にある、ホストI/O割込および外部割込につい
てのCPUイネーブルメントがオフにセツトされる(つま
り、HPSW.6とHPSW.7が0にセツトされる)。
ボツクス54に入ると、選択されたISC値がゲストSD中の
“現在警告のAZN"フイールドに記憶される。その結果、
ホスト・プログラムに対し、(それが実行されるとき
に、)他のゲストのAZNを表示する。そして、当該警告
信号は、ホストによる当該他のゲストの指名(dispatch
ing)を可能にすべく発生されるのである。次のボツク
ス56では、インターセプト・コード48がゲストSDのIフ
イールドの中へセツトされる。その結果、ホストが他の
ゲストを指名すべきか否か判断するべく、ゲストSDの
“現在警告のAZN"を調べる際に、ホストへの表示が行わ
れる。続いて、ボツクス47に入つて当該SIE動作から、S
IEインターセプシヨンが引き取られて、第15図に入るこ
とになる。
しかしながら、ボツクス42においてホスト警告イネープ
ルメント、ビツト(AZM.0)がオンだとわかると、ボツ
クス43でHIEM.ISCビツトの状態がテストされ、選択され
たISCがホストI/O割込イネーブルメント・マスクにおい
てイネーブルであるか否かが判断される。HIEM.ISCがオ
フならばホストは割込処理が不可能であり、ボツクス52
に入つて選択されたAZM.ISCビツトが調べられる。ゲス
トが別のゲストに警告可能か否かを知るためである。続
いてボツクス53に入り、上記ボツクス53、54、56および
47の動作が実行される。
ボツクス43でHIEM.ISCビツトがオンだとわかると、ボツ
クス44に入つて、ホストPSWビツト6でCPUのI/O割込可
能性(つまり、HPSW.6が1にセツトされているか否か)
がテストされる。CPUがホストI/O割込についてイネーブ
ルならば、ボツクス46によつてSIE動作は無効にされ、
制御はホスト・プログラムに戻されて、ホストI/O割込
処理が行われる。
ボツクス44で、HPSW.6ビツトにより、ホストによるホス
トI/O割込処理が不能だと表示されているならば、ボツ
クス53に入り、ホストI/O割込および外部割込について
のCPUイネーブルメントが確実にオフにされる(つま
り、HPSW.6およびHPSW.7が0にセツトされる)。次にボ
ツクス54に入り、上記ボツクス54、56および47の動作が
実行される。
ボツクス41で警告モードがオフにセツトされている(つ
まりEC.4ビツトが0に等しい)とわかると、ボツクス51
に入つて選択されたISC(第13図に由来するHISC値)が
現在ゲストについてのものか否かのテストが行われる。
これは、サブチヤネル制御ブロツクのホストISC番号(S
CH.HISC)がゲストSDのAZN(つまりSD.AZN)に等しいか
否かテストすることによつてなされる。
ボツクス51でSCH.HISCがSD.AZNに等しくないとわかる
と、ボツクス53に入り、上記ボツクス53、54、56および
57について説明した動作が続く。
ボツクス51でSCH.HISCがSD.AZNに等しいとわかる場合、
選択されたHISCは現在ゲストについてのものである。続
く処理は、第14B図に示す、選択されたHISCの処理とな
る。
第14B図では、テスト61により、パス・スルー・ビツト
PがSCH制御ブロツクでオフにセツトされているか否か
の判断が行われる。オンならば、ボツクス62にて、ゲス
トが370モードまたはXAモードのどちらで動作している
かの判断が行われる。ゲストがI/Oパス・スルーを伴いX
Aモードで動作しているなら、ボツクス63において、サ
ブチヤネルで割り当てられたGISC番号によつて決まるビ
ツト位置の、GIEM中のゲスト・イネーブルメントがチエ
ツクされる。ボツクス63では、GIEMビツトはSD(GIE
M).SCH(GISC)と記されている。GIEMビツトがオンな
らば、yesの方向に進んでボツクス64に至り、ゲストの
割込ハンドラ・プログラムにアクセスしてI/O割込を処
理すべく、GPSWスワツプを使うXAゲストI/O割込を誘発
する。
ボツクス61でパス・スルー・モードが表示されない場
合、あるいはボツクス63でSD(GIEM).SCH(GISC)ビツ
トがオフであるとわかつた場合、ボツクス71に入り、ホ
ストが後で吟味するためにI/O割込コードをゲストSDに
置く。ホストは、後で保留I/O割込をホスト・ハードウ
エア待ち行列からゲスト・ソフトウエア待ち行列へ移転
することができる。次に、ボツクス72においてパス・ス
ルー・モードがオフにセツト・ボックス73においてSD中
のIインターセプト・コード・フイールド(つまり、S
D.I)が60のインターセプト・コード値にセツトされ
る。これもまた、続くボツクス74での第15A図へ至るSIE
出口の後で、ホスト制御プログラムにより解釈される。
しかしながら、ボツクス62においてゲストが370モード
で動作していると判断されたならば、ボツクス66に入
り、SCHについて返された現在の例外状況がチエツクさ
れる。というのは、どんな例外(exception)でも存在
すると、該例外がクリアになるまでゲストはI/O割込を
ハンドルできないからである。ボツクス71からの遅延ハ
ンドリング・パスをとると、そこではボツクス74でのSI
E出口においてCPU制御がホストに引き渡され、ホストは
例外状況をクリアするとともに、ゲストI/O割込待ち行
列に割込を置く(後でゲストは自分の割込をそこからハ
ンドルし得る)か、またはSIE命令によつて制御をゲス
トに返すかのどちらかを行う。
当該デバイスについて例外が存在していないならば、ボ
ツクス67において、現在のI/O割込をもたらす特定チヤ
ネルについてのGIEM中のイネーブルメントのテストが行
われる。これは、割込を引き起すチヤネルのチヤネル番
号にアクセスするとともに、当該チヤネル番号でGIEM中
のビツト位置を指示することによつて行われる。当該GI
EMビツト位置がオンならば、ゲストPSW中の拡張制御(E
C)モード・ビツト(つまり、GPSW.12)の状況のチエツ
クがなされる。オンならば、ボツクス69に入り、370ゲ
ストは、ゲストの割込ハンドラ・プログラムにアクセス
するためのゲストPSWスワツプを伴う通常のやり方で、
自身のI/O割込を処理する。
ボツクス67または同68にてnoの方向へ進むと、ボツクス
71へ至る上記遅延割込ハンドリング・パスがとられる。
なお、第14B図中にBCモードとあるのは基本制御モード
のことである。
通常および異常SIE処理 第16、18、および19図は、良好ゲストの命令ストリーム
で見受けられる、あるS/370XA命令に対するSIE命令の下
での通常の処理を表わしている。第17図と第20図は、被
区分環境制御の際にホスト用に与えられる新しい命令を
記している。これらの命令は、特殊な実行動作に与えら
れる。なぜなら、これらの動作が本発明によつてアドレ
スが自動的に良好ゲストの該当区画へ再配置されるI/O
プログラムについてのI/O割込に関係する可能性がある
からである。
第15A図ないし15G図は、第16図ないし第20図の命令につ
いての、または第13、14A、または14Bで処理される他の
動作についての、通常の処理時に発生し得るあるI/O関
連SIEインターセプト状態に命令が遭遇した際の、異常
処理を表わしている。例えば、これらの動作のいくつか
に関しては、通常処理を試みようとして、該動作に関係
する保留I/O割込の禁止(デイスエーブルメント)の存
在がわかつた、または関係するI/O割込が実行ゲストの
ゾーンに割り当てられていないI/Oデバイスによつても
たらされたことがわかつた、といつた具合に異常状態が
発見されると、通常の実行が禁止される。
第16図 第16図は、システム内の任意のCPUでSIE命令の下で動作
する良好ゲストについてS/370XA TPI命令を実行するプ
ロセスを表わす。通常TPI処理時に異常状態が発見され
ると、第15E図に示される異常状態処理が行われる。第1
6図のTPIプロセスでは、ゲストによるI/O割込処理が禁
止されているか否か、およびI/O割込に関する情報が当
該良好ゲストについて使用可能(アベイラブル)とされ
る前に当該ゲストによつて割込が所有されているか、と
いうチエツクがなされる。TPI処理が完了すると、当該T
PI実行の結果生じた条件コード(CC)を持つ対応ゲスト
のPSW(GPSW)が返される。
TPI処理は、ボツクス11において、当該ゲストがソフト
ウエア待ち行列でI/O割込を待機させているか否か、す
なわち、ゲストSDでSD.SQビツトが1状態にあるか否か
をチエツクすることから始まる。ボツクス11にてゲスト
がI/O割込をソフトウエア待ち行列化していることがわ
かると、ボツクス12にてSIEインターセプト4がセツト
され、ボツクス14でのSIEインターセプトにより現在SIE
命令の実行が異常な終り方をする。ボツクス14で、ホス
トは例えばインターセプト・コード処理等の、他のこと
を実行すべくCPU制御権を獲得する。
ボツクス11にてゲストがI/O割込を待機させていない
(つまり、SD.SQ=0)であることがわかると、ボツク
ス16にて、ゾーン・モード状況ビツトSD.EC.5をテスト
することにより、ゲストがゾーン・モードにあるか否か
が判断される。ゾーン・モードにあるならば、ボツクス
17にて、割当ISCにおいて該ゲストについて保留割込の
表示がなされているか否か(つまり、IPR.AZN=1かど
うか)のテストが行われる。ボツクス17で当該ゲストに
ついて割込が存在しないことが示されると、ボツクス18
に入つてゲストPSW中のCCが0にセツトされる。その
後、endop動作によつてTPI処理が終了する。一方、ボツ
クス17からyesの方向に進むことは、ゲストがゾーン・
モードにあり、かつ保留I/O割込があることを示す。次
にボツクス21に入り、当該ゲストのホストI/O割込待ち
行列から割込サブチヤネルが除かれる。(デキユーされ
る)。
次のボツクス22では、サブチヤネル中のパス・スルー・
ビツトPの状態(つまり、SCH.P)がテストされる。SC
H.Pがオフならば、ゲストは割込を処理できない一方、
ボツクス26においてゲストSDインターセプト・フイール
ドSD.Iにインターセプト・コード64をセツトすることに
より、ホスト介入(intervention)が確保される。SIE
実行は、ボツクス14のSIEインターセプトによつて終了
される。
SCH.Pがオンならば、ゲストによる割込処理は可能であ
る。ボツクス23では、サブチヤネル中のゲストISC割当
により決まるビツト位置にて、ゲストGIEM中の、ゲスト
の選択的イネーブルメントの状態のテスト、つまりビツ
トGIEM.(SCH.GISC)のテストが行われる。
ボツクス23にてゲストが選択的に禁止されている(デイ
スエーブルである)とわかると、noの方向へ進んでボツ
クス24に入り、パス・スルー・ビツトSCH.Pが0にセツ
トされる。さらに、ボツクス26に入つてSD.Iが64にセツ
トされ、SIE実行がインターセプトされる。ボツクス27
では現在割込についての割込コードがゲストのSDに記憶
される。続いてSIEインターセプシヨンが生じ、CPU制御
がホストに渡される。
ボツクス23にてゲストが選択的に許可されている(イネ
ーブルである)とわかると、yesの方向へ進んでボツク
ス31に入り、現在割込についての割込コードがゲストの
ストレージに記憶される。次のボツクス32ではゲストの
CCが1にセツトされる。つまりGPSW.CC=1となる。続
いて、ゲストTPI命令処理に関する動作が終了する。
第17図 第17図は、サブチヤネル・フイールドのDCSI(診断・比
較・スワツプ命令)処理を示している。DCSIは、サブチ
ヤネルがユーザーから隠されたシステム・ストレージに
配置されるためにサブチヤネルにアクセスすることので
きない、従前のS/370比較・スワツプ命令の変形であ
る。DCSIは3つのオペランドを持ち、その第2のものが
診断命令動作コードへの拡張となつている。第1と第3
のオペランドは汎用レジスタ(GR)である。さらにGR1
に含まれる付加的なオペランドがある。そこでは、アク
セス中のサブチヤネルの識別子が保有される。R1のオペ
ランドはサブチヤネルの状況ビツトXとパス・スルー・
ビツトPを持つが、これらはDCSI命令の実行の直前のま
まで存在する。DCSI命令実行時にこれらが変更されなか
つた場合、サブチヤネル中のPビツトはオペランドR3中
の新たなPビツトと置き換えられ、結果として生じるDC
SIの条件コードはそれに従つてセツトされる。
DCSIプロセスは、ボツクス11にてプログラム例外が存在
するか否かをテストするところから始まる。というのは
例外が存在すると、DCSIの正しい実行が妨げられる可能
性があるからである。プログラム・エクセプシヨン(例
外)が存在するならば、yesの方向へ進んでボツクス12
に至り、プログラム割込が生成されるとともにendop信
号を使つて当該DCSIについての動作が終了させられる。
ボツクス11にてプログラム・エクセプシヨンが存在しな
いとわかると、ボツクス13に入り、GR1オペランドで識
別されるサブチヤネルが有効でかつイネーブルであるか
否かテストされる。サブチヤネルが有効・イネーブルで
ないならば、条件コード(HPSW.CC)が3にセツトされ
て当該条件を表示するとともに、endopを使つてDCSI処
理が終了させられる。
ボツクス13にてGR1オペランドで識別されるサブチヤネ
ルが有効かつイネーブルだとわかると、yesの方向へ進
んでDCSIの実行が継続する。
ボツクス16に入ると、ロツクビツトSCH.Lをオンにする
ことによりサブチヤネルがロツクされる。該サブチヤネ
ルを変更しようとするリクエスターに対して警告を発す
るためである。
次のボツクス17ではR3オペランドの新たなPビツトが1
か否かテストされる。yesならば、ボツクス18におい
て、有効ビツトVの状態のテストを通じて、サブチヤネ
ルが割込待ち行列上にあるか否かの判断が行われる。V
によつて有効な待ち行列ポインタの不存在が示されるな
ら、ボツクス19に入り、サブチヤネルが割込待ち行列か
ら外される。
一方、ボツクス17または18でnoの方向へ進むと、ボツク
ス21に入り、ビツトSCH.XおよびSCH.Pに関するアトミツ
クな動作が実行される。すなわち、ボツクス21では、サ
ブチヤネル中のXとPの現在値とオペランドR1に記憶さ
れているXとPの古い値とが比較され、それらが等し
い、つまり値が変化していないかどうかのテストが行わ
れる。変化していないならば、ボツクス27に入つて、SC
H.PビツトがオペランドR3中の新しい値にセツトされ
る。続いてボツクス28にてHPSW.CCがφにセツトされる
とともに、ボツクス24にてロツク・ビツトLがオフにさ
れる。こうしてDCSI動作が終了する。
ボツクス21にてSCH.PまたはSCH.Xが変化したことがわか
ると、ボツクス22に入つてサブチヤネル中のXとPの現
在値でもつてオペランドR1がセツトされ、ボツクス23に
入つてHPSW、CCが1にセツトされ、さらにボツクス24に
入つてロツク・ビツトLがオフにされる。こうしてDCSI
動作が終了する。
第18図 第18図は、SIE命令動作の下でのゲスト命令ストリーム
におけるTSCH(テスト・サブチヤネル)命令の通常処理
を示す。TSCH命令はS/370アーキテクチヤで規定されて
いる。本発明では、I/O割込が当該ゲストに属するのか
否か、および該ゲストは命令の処理を許されているのか
否かに関するテストが追加されている。
第15F図は、何らかの異常状態が生じた場合の、TSCH命
令に関するホスト・インターセプト処理を示している。
TSCH命令が出されるのは普通サブチヤネルから状況(ス
テータス)を得るためである。TSCHによれば、上記“S/
370XA Principles Operation"で規定されるような、
必要な状況情報を持つ情報応答ブロツク(IRB)が生成
される。
したがつて、ボツクス11に入ると、ゲストSD中のフィー
ルドEC.5で表示されるSIE実行状態がテストされ、ゲス
トがゾーン・モードにあるか否かの判断が行われる。ゾ
ーン・モードにないならば、ボツクス13に入り、ゲスト
SD中のインターセプト・コード・フィールドSD.Iがイン
ターセプト・コード4にセツトされる。ボツクス11にお
いてゲストSDがゾーン・モードを表示していることが発
見されると、ボツクス12に入り、サブチヤネルで割り当
てられたAZN(つまり、SCH.AZNの値)がゲストSDで割り
当てられたゲストAZN(つまり、SD.AZNの値)に等しい
か否かテストされる。等しくないならば、ボツクス13に
入り、インターセプト・コード4がセツトされる。等し
いならは、ボツクス16に入つてパス・スルー・ビツトP
がオンかどうか(つまりSCH・P=Dかどうか)のテス
トが行われる。ボツクス16にてSCH.Pが0だとわかる
と、ボツクス13に入つてインターセプト・コード4がセ
ツトされる。
ボツクス13でインターセプト・コード4がセツトされる
と、ボツクス27に入つて当該CPUでのホスト動作(つま
りSIEインターセプト)を復旧することにより、ゲスト
のSEI実行状態が終了する。第15F図で説明するプロセス
は、後でホストがインターセプトされたTSCH命令を処理
するのに使う。
ホストが後でゲストSD中にインターセプト・コード4を
検出すると、第15F図に関して説明する通りにホストは
動作する。そこでは、ゲストについてのTSCH命令の処理
を完了するために、TSCH命令のシミユレーシヨンで起こ
り得る特殊な状態が探査される。ホストに対して次のこ
とを要求することにより、インターセプトはTSCH処理を
継続する。すなわち、要求することは、ゲストについて
の保留割込の有無を判断すべく、ゲストのサブチヤネル
をテストすること、そのような保留割込をゲスト待ち行
列から除去する(デキユーする)こと、現在IRBが存在
しないならば情報リクエスト・ブロツク(IRB)を生成
すること、そして適当な状態コードをゲストPSWにセツ
トすることである。
ボツクス16にてSCH.Pが1状態にあるとわかると、ボツ
クス25にてSCHのチェツクとハードウエア(ホスト)I/O
待ち行列からの除去(デキユー)が行われる。ボツクス
17では、サブチヤネルでの例外状態の有無を判断するこ
とにより、ゲストがIRBの記憶を許可されているか否か
の判断が行われる。もし例外状態が存在するならば、ボ
ツクス24に入つてパス・スルー・ビツトSCH.Pが0にセ
ツトされる。続いてボツクス26に入ると、ゲストSD.Iに
おいてインターセプト・コードが64にセツトされる。イ
ンターセプト・コード64がセツトされるのはTSCH命令に
ついて例外状態が存在するときであり、そのときには第
15F図のプロセスを使つて例外状態の処理を行う。
ボツクス17で例外状態の不存在がわかると、ボツクス18
に入つてIRB(情報応答ブロツク)の獲得・記憶を行う
ことによつて、ゲストTSCH命令についての通常実行プロ
セスが継続する。なお、IRBは、該ゲストについて保留
になつているI/O割込の存否の表示を行う。
ボツクス21では、IRBにコピーされた他の情報ととも
に、サブチヤネルI/O状況保留ビツトSCH.XからIRBにコ
ピーされたI/O状況保留ビツトIRB.Xの状態がテストされ
る。IRB.Xの状態によれば、当該ゲストについての被試
験サブチヤネルにおける保留中のI/O状況の有無がわか
る。
IRB.Xビツトが1状態ならば、それは当該ゲストについ
ての被試験サブチヤネルにおいて状況が保留中であるこ
とを示しており、ボツクス22でゲストPSWのコード(C
C)が0状態にセツトされる。その後、endopにより、TS
CH命令の処理が終了させられる。
ボツクス21でIRB.Xが0状態だとわかると、noの方向に
進んでボツクス23へ至り、ゲストのCCを1に(つまり、
GPSW.CC=1に)セツトする。その後、endopにより、TS
CH命令が終了する。
第19図 第19図はSIE命令の下で動作する良好ゲストについてのL
CTL(ロード制御)の命令の通常実行を示している。ゲ
ストLCTL命令は第3B図に示されるCPUの中の16個の制御
レジスタのうちの1個以上をロードするのに使われる。
LCTL処理ではまずボツクス11に入り、存在するかもしれ
ない初期例外状態の有無がテストされる。例外が存在す
るなら、ボツクス17にてプログラム割込が生成され、en
dopが起こる。
プログラム例外が存在しないなら、ボツクス12に入り、
GIEMを処理しなければならないCR(XAではCR6、370では
CR2)をLCTLでロードするか否かのテストが行われる。y
esなら、ボツクス13に入り、ビツトSD.Dをテストするこ
とによつて、ゲストの選択的なデイスエーブルメントの
状態がテストされる。SD.Dが1状態なら、このときゲス
トが保留I/O割込を取ることは禁止されるとともに、ボ
ツクス15に入つて、ゲストのインターセプト・コード・
フィールドSD.Iが4にセツトされる。この結果、次にCP
U上で実行されるホストによつて、ゲストの現在のSIE動
作はインターセプトされる。
ボツクス14に入ると、LCTL命令で指定されるゲストの制
御レジスタがロードされる。第3B図のCPU例の中にゲス
トCRが示されている。
第20図 第20図は、本発明にユニークな、TPZI(保留ゾーン割込
テスト)命令の動作を示すものである。TPZI命令には2
つのオペランドがあり、それらは汎用レジスタGR1とGR2
に記憶される。GR1のビツト位置0にある制御ビツトC
によつて、TPZI処理は次のように制御される。すなわ
ち、 (A)C=1のとき、任意の保留I/O割込は、GR2に含ま
れるアドレスに記憶される。
(B)C=0のとき、GR1で規定されるAZNを有するゾー
ンについての保留中のI/O割込の有無、およびそれがGR1
中のGIEMによつてイネーブルであるか否かについての判
断が行われる。
TPZI処理はボツクス11から始まる。まず、TPZIの適切な
実行が妨げられることのないよう、プログラム・エクセ
ブシヨンの有無がテストされる。もしプログラム・エク
セプシヨンが存在するなら、yesの方向に進んでプログ
ラム割込が生成され、TPZI処理はendop信号とともに終
了する。
ボツクス11においてプログラム・エクセプシヨンの不存
在が確かめられると、ボツクス13に入り、当該ゾーンに
割り当てられたIPRビツトがオンであるか否か(つまりI
PR.AZN=1かどうか)をテストすることによつて、GR1
で識別されるゾーンについてのI/O割込の存否がテスト
される。保留中のI/O割込がないならば、ボツクス14に
入つてホストPSW中のCCが0にセツトされる(つまり、H
PSW.CC=0にセツトされる)。保留中のI/O割込がある
ならば、ボツクス16に入つてGR1中のCビツトをテスト
することにより、表示されている割込に関してなすべき
処理のタイプが決定される。
ボツクス16でC=0だとわかると、ゾーンI/O割込保留
情報がGR2中のMSアドレスにて記憶された後、ボツクス1
9で当該状態を示すためにHPSW.CCが1状態にセツトされ
る。その後、TPZI動作がendopを伴つて終了する。
ボツクス16でC=1だとわかると、ボツクス21でI/O割
込のデキユーイングが行われる。これは、GR1中のAZNに
よつて指定されたホストI/O割込待ち行列(HIPR.AZN)
から割込サブチヤネルを外す(デキユーする)ことによ
り行われる。ボツクス22では、I/O割込コードの現在
(旧の)パス・スルー・ビツトSCH.Pの値がセーブされ
た後、SCH.Pが0にセツトされる。ボツクス23でI/O割込
コードがGPR2中のMSアドレスにて記憶された後、ボツク
ス24ではHPSW.CCが1状態にセツトされて、割込が記憶
されたことを表示する。その後、TPZI動作がendopをも
つて終了する。
TPZI命令についてのオプシヨンは、GR2に0値をロード
して、ボツクス18で示される動作を生じさせることであ
る。このアドレスは、I/O割込に際してXAI/O割込コード
が記憶されたことになるであろうアドレスとなろう。
第15A図 第15A図は第15A〜15G図の中心となるものである。これ
らの図面はすべて、ゲストのインターセプシヨン・エリ
アSD.Iに先行して配された異常インターセプシヨンのホ
スト処理に関連する。第15A〜15G図で処理されるインタ
ーセプシヨンは、SIE命令下での動作中に生じる良好ゲ
ストについての割込またはI/O状況に関連する。これら
のインターセプシヨンは、第13、14A、14B、15、18、お
よび19図に記されたやり方でのSIE命令下の通常ゲスト
処理に際して発生したものである。インターセプシヨン
のホスト処理後、ホストはたいていの場合SIE命令を再
発令し、インターセプトされたゲストの処理を続けるよ
うにする。ただし、SD.Iに他のゲストへ警告すべくイン
ターセプシヨン・コード48が与えられている場合は除か
れる。
まず、第15A図のボツクス11に入ると、ゲストのSD.I中
のインターセプト・コードの検出が行われる。関連ボツ
クス12では、第15A〜15B図で処理されるインターセプシ
ヨン・コードが示されているが、それらはインターセプ
ト・コード4、24、48、60、および64である。ボツクス
12の中の“その他”のインターセプシヨン・コードは、
本実施例では詳細に述べないインターセプシヨン・コー
ドの検出を表わしている。
SD.Iにインターセプシヨン・コード4が与えられるの
は、インターセプトされるゲストがその実行を試みてい
た命令の処理を実了できなくするような異常状態の場合
である。コード4はボツクス21と22につながつて、イン
ターセプトされた命令が判定される。
ボツクス22を経て処理される完了のタイプは、次のとお
りである。サブチヤネル・テスト(TSCH)命令、これは
15F1出口を経て第15F図に至る。
保留割込テスト(TPI)命令。これは出口15Dを経て第15
D図へ至る。
ロード制御(LCTL)命令。これは出口15Gを経て第15G図
へ至る。
ボツクス22で示せれる「その他」は、本実施例では、詳
しく説明しない、その他のタイプの命令を表わしてい
る。しかし、これらもインターセプトされたゲストにつ
いてのSIE命令処理が再開する前に、ボツクス23でのホ
ストの介入(intervention)および処理を必要とする。
SD.Iのインターセプシヨン・コード24は、ゲスト・ソフ
トウェア待ち行列に、ゲストによつては従前に処理でき
なかつたインターセプトされた保留I/O割込が存在する
ことを示す。この場合、出口15Bを経て第15B図へ至り、
該ゲストによる該割込処理を可能にする。
SD.Iのインターセプシヨン・コード48は、警告がなされ
るべき状態をホストに対して表示するとともに、ホスト
は警告されたCPUで別のゲストを指名するか否かを判断
しなければならない。
出口は15Hであり第15H図へ至る。
SD.Iのインターセプシヨン・コード60は、インターセプ
トされたゲストつき保留I/O割込がSDへデキユーされた
ことを表示する。該ゲストは現在該割込を処理をできな
い。
ホストは、該割込がホスト向けでないならば、後でゲス
トが処理できるように割込情報をSDからゲスト・ソフト
ウエア待ち行列へエンキユーする。
出口は15Cであり第15C図へ至る。
SD.Iのインターセプシヨン・コード64は、TSCHまたはTP
I命令の実行における異常状態を示す。ホストがゲスト
に対して対応するTSCHまたはTPZI命令を出すことが必要
になる。TPIについては出口15E1を経て第15E図へ至り、
TSCH割込については出15Fを経て第15F図へ至る。
第15B図 (第13図で生成された)インターセプト(ICPT)・コー
ド24はボツクス26へ向かう。そこでは、ビツト位置を揃
えてゲストのGIEMとGIPRのAND操作を行うことによつ
て、イネーブル良好ゲスト保留I/O割込の存否が判断さ
れる。ボツクス29では、ボツクス26での操作結果中に1
のビツトが存在するか否かを判断すべくテストが行われ
る。1のビツトが全くないならばボツクス27へ入つてS
D.Dを1状態にセツトし、ゲストが選択的に禁止されて
いる(ディスエーブルである)ことを表示する一方、ボ
ツクス28へ入つてSD.SQを0状態にセツトし、イネーブ
ルであるゲスト・ソフトウェア待ち行列には割込が全く
ないことを表示する。その後、SIEを再開する。
ボツクス29で1状態にあるビツトの存在がわかると、ボ
ツクス30でボツクス26の操作結果の中の最も左に位置す
るイネーブル・ビツトが選択された後、ボツクス31へ入
る。
ボツクス32ではI/O割込がゲストのPSA(プレフィクス・
セーブ・エリア)に記憶される。ボツクス33はゲストに
ついてPSWスワツプを表わしている。続くボツクス34は
ホストによるDCSI命令の実行を表わしており、その詳細
は第17図に示されている。DCSIはゲストが続く割込を処
理できるようにするために、バス・スルー・ビツトSCH.
Pをオンにセツトするために必要な処理を行う。その
後、SIEがゲストについて再指名されて、ゲストが当該
割込を処理できるようになる。
第15C図 ゲストが該ゲストについてのHIPR.AZN中の保留I/O割込
を処理できないときに、該ゲストにインターセプト・コ
ード60が与えられると、第15C図に入ることになる。
サブチヤネルのパス・スルー・ビツトSCH.Pが0にセツ
トされていたならば、割込は既にゲスト・ソフトウェア
待ち行列に加えられ(キユー)されているので、第15C
図の処理はスキツプされ、当該ゲストについてのSIEが
再開される。
ボツクス36でパス・スルー・ビツトSCH.Pが1状態にセ
ツトされていたとわかつたならば、ホストは割込をゲス
トのソフトウェア持ち行列GIPR(SCH.GISC)へ移す。続
くボツクス38では、SD.Dが確実に1セツトされる。その
後ホストは当該ゲストが当該CPUで処理を継続できるよ
うにSIE命令を出す。
第15D図 I/OB割込がゲスト・ソフトウェア待ち行列で(エンキユ
ー)されているために、つまりSD.SQ=1であるため
に、ゲストのTPI命令の実行中にインターセプシヨン4
が与えられると、第15D図に入ることになる。第15図で
はホストが当該ゲストについてのTPI命令を実行する。
まずボツクス41では、ビツト位置を揃えてGIEMとGIPRの
AND操作を行うことにより、当該ゲストがイネーブルで
あるI/O割込を持つか否かのテストが行われる。結果が
どれかのビツト位置で1となるならば、ボツクス41にて
ゲストが割込を処理できると判断される。ボツクス42で
は割込がゲストの待ち行列から除かれ(デキユー)、ボ
ツクス43ではホストが割込コードをゲストのストレージ
に記憶する。ボツクス44ではホストがゲストPSWにおい
て状態コードCCを1にセツトする(つまり、GPSW.CC=
1にセツトする)。その後、ホストはゲストTPI命令に
ついての動作を終了する。ゲストが後に指名されたとき
に該割込を処理することができる。
一方、ボツクス41でゲストがイネーブルであるI/O割込
を全く持たないことがわかると、yesの方向へ進み、接
続子15E2を経て第15E図へ至る。
第15E図 TPI割込コード64に関しては入口15E1が用いられる。ボ
ツクス50ではパス・スルー・ビツトSCH.Pをテストする
ことによつて、当該サブ4チヤネルについての割込がゲ
スト・ソフトウエア待ち行列に既にあるか否かの判断が
行われる。SCH.Pが1であつたなら、ボツクス51におい
て、割込がハードウエア待ち行列からデキユーされたと
きにSDに既に記憶された割込情報から、該割込がゲスト
・ソフトウエア待ち行列にエンキユーされる。
入口15E2が用いられるのは、TPIインターセプシヨン4
の場合で第15D図においてゲスト・イネーブルI/O割込が
見つからなかつたときである。次に、ボツクス52では、
「ホストがTPZI命令を実行し、当該良好ゲストについて
保留ホストI/O割込を獲得するか、あるいは当該良好ゲ
ストについてホストI/O割込が存在しないという情報を
得得し、結果のPSW状態コードをゲストに返す。
ホストPSWはボツクス52のホストTPZIの結果である状態
コード(CC)を受け取る。ボツクス53ではHPSW.CC値が
テストされる。ホストCCが0にセツトされているなら、
ボツクス54ではゲストのGPSW.CCが0にセツトされて、
ゲストにつき保留中のI/O割込がなかつたことを表示す
る。その後、当該ゲストTPI命令についての動作は終了
する。
しかしながら、ボツクス53でHPSW.CCが1であることが
示されており、ゲストについてI/O割込が保留中だと示
されているならば、ボツクス56において、ゲスト・イネ
ーブルメント・ビツトGIEM.(SCH.GISC)をテストする
ことにより、当該割込について当該ゲストがイネーブル
か否かの判断がなされる。イネーブルでないならば、ボ
ツクス50へ戻ることによつて本プロセスはスピンし、こ
れはボツクス53にてゲストが当該割込についてイネーブ
ルである、またはハードウエア待ち行列に割込がない、
という判断がなされるまで続く。ゲストによつてイネー
ブルである割込が見つかると、yesの方向へ進んでボツ
クス57に至り、当該保留I/O割込についての割込コード
がゲストのストレージに記憶される。ボツクス58ではGP
SW.CCが1状態にセツトされ、それに応じて該ゲストTPI
命令についてのホスト動作が終了し、制御はインターセ
プトされていたゲストに戻される。
第15F図 TSCH命令は普通サブチヤネル状況を獲得するのに使われ
る。これによつて、上記“S/370XA Principles of O
peration"に規定されるような割込応答ブロツク(IRB)
が生成される。本発明は、良好ゲストが出すTSCHの実行
を、良好ゲストの所有するサブチヤネルのサブセツトに
制限する。どのゲスト・サブチヤネルの状況も、“TSC
H"命令を出すことによつていつでもテストすることがで
きる。
入口15F1が使われるのはインターセプト・コード4の場
合だが、これはゲストの出したTSCH命令がその実行を終
了できなかつたことを表示する。しかしながら、先行TS
CHがホストによつて完了されており、該状況がゲストに
対して提示されている可能性がある。ここではホストの
介入によつて、ゲスト・サブチヤネルをテストして保留
割込の有無を判断すること、かかる割込をゲスト・ソフ
トウエア待ち行列から除去すること、ゲストについての
IRBを生成すること、およびゲストPSWに適当な状態コー
ドをセツトすることが行われる。
より詳しく述べると、良好ゲストのサブチヤネルが保留
I/O割込を持つときは、ボツクス60にてそれが発見され
る。発見はSCH.Vフィールドがゲストについての有効状
態を示しているか否かテストすることによつて行われ
る。オンにセツトされているなら、良好ゲストについて
ソフトウエア待ち行列にI/O割込が保留中である。続く
ボツクス61では、ゲストSCHが待ち行列からデキユーさ
れる。
ボツクス62では、以前のTSCH実行によつてもたらされ
た、当該割込についてのIRBをゲストが有する(状況が
保留中)か否かがテストされる。状況が保留中なら、ye
sの方向へ進んでボツクス65へ進み、IRBが使われる。先
行する状況が保留中でないならば、ホストがTSCH命令を
出してIRBを獲得すべく、noの方向へ進んでボツクス63
に入る。ボツクス63に入ると、ホストがTSCH命令を出す
ことによつてIRBが生成される。次に、ボツクス64にお
いて、ホストは、ゲストが必要としない情報を削除する
ことにより、ゲストのためにIRBを用意する。ボツクス6
6に入ると、ホストはIRBをゲスト・ストレージに記憶す
る。
ボツクス62でIRBの存在がわかると、ボツクス65からボ
ツクス66に入り、ボツクス63、64はスキツプされる。
次に、ホストが未知の介入によつてSCH.Pビツトのセツ
ティングが影響されることのないように、サブチヤネル
中のXおよびPビツトの現在のセツテイングに関するア
トミツクな動作でもつてSCH.Pビツトをセツトすべく、
(第17図で説明した)DCSIを出すことによつて、パス・
スルー・ビツトSCH.Pがオンにセツトされる。次にボツ
クス68では、SCH.Pがボツクス67でDCSIによりオンにセ
ツトされたか否かがチエツクされる。SCH.Pがオフな
ら、ボツクス71に入つて、ホストはSCHの選んだゲスト
待ち行列にゲストの割込をキューし、ボツクス72に入
る。Pがオンなら、ボツクス68からyesの方向へ進み直
にボツクス72に入る。
ボツクス72では、IRB.Xビツトの状態がテストされる
が、これはサブチヤネルから結果のIRBへコピーされた
ものであつた。IRB.Xビツトがオンなら、ボツクス73に
おいて、ホストは結果のTSCH状態コードをゲストPSWに
セツトする。つまり、GPSW.CC=0になる。IRB.Xビツト
がオフなら、ボツクス74において、ホストは結果のTSCH
状態コードをゲストPSWへとセツトする。つまり、GPSW.
CC=1になる。その後、制御はゲストへ返される。
接続子15F2を経る第15F図への参入は、ゲストの出したT
SCH命令がI/Oエクセプション状況のために完了されなか
つたことを示すインターセプト・コード64の場合に起こ
る。ボツクス63に入るとホストがTSCH命令を出す。その
後の処理は、上述した通り、第15F図の他のボツクス6
4、66〜74へ進む。
第15G図 第15G図はLCTL命令を使つてゲストによつて引き起こさ
れるインターセプト4の動作を示す。
LCTLインターセプシヨン処理はボツクス81から始まり、
ここでは当該LCTLに反するエクセプションの有無が判断
される。ボツクス81でエクセプション状態がみつかる
と、ボツクス82に入つて当該ゲストについてのプログラ
ム割込が生成された後、endopが与えられてLCTL動作が
終了する。ボツクス81でエクセプシヨン状態がみつから
ないときは、ボツクス83に入つて、LTCL命令中のオペラ
ンド2のアドレスにあるデータがコピーされる。該デー
タは、実行中のLCTL命令のRIおよびR3オペランドで指定
される制御レジスタへ、MSからゲストのSDへとロードさ
れる値である。例えば、制御レジスタ2または6を指定
してもよく、あるいは、他のCRとともに指名されてもよ
いが、CRローデイング・プロセスによるGIEM変更を招
く。
ボツクス84に入ると、GIPR(ゲストI/O割込保留レジス
タ)の状況がテストされ、該ゲストについての保留I/O
割込の有無が判断される。該ゲストについてI/O割込が
保留中なら、ボツクス86に入つて保留I/O割込の中にイ
ネーブルのものがあるか否かがテストされる(つまり、
GIPRの31ビツト位置のそれぞれと、対応するGIEMのマス
ク・ビツトとのANDを)。ボツクス86でイネーブルであ
る保留割込がみつかると(つまり、AND演算の結果、1
となるビツト位置があると)、ボツクス87に入り、ゲス
ト・ソフトウエアに待ち行列保留I/O割込ビツトSD.SQが
1状態にセツトされて、ソフトウエア待ち行列の1つに
保留I/O割込存在することを知らせる。また、ボツクス8
8にも入つて、ゲストの選択的禁止(デイスエーブルメ
ント)ビツトが0状態にセツトされ、ゲストが現在まつ
たく禁止されていない(デイスエーブルメントがない)
ことを知らせる。その後、LCTL命令のインターセプトに
ついての処理が終了し、インターセプトされたゲストに
ついてのSIEが開始される。
一方、ボツクス84で保留中のゲスト割込が見つからない
と、ボツクス85に入つてSD.SQが0状態にセツトされ、
該ゲストについて保留中のI/O割込がないことを表示し
た後、ボツクス88に入つてSD.Dが0にセツトされる。ボ
ツクス86でイネーブルである割込が発見されないと、ボ
ツクス86からボツクス89に入る。ボツクス89ではSD.Dが
1状態にセツトされ、ゲストが現在保留I/O割込を受け
取れないことが示される。その後LCTL命令のインターセ
プトについての処理が終了し、SIEが再開される。
第15H図 図15A図の警告インターセプト・コード48の場合は接続
子15Hを経て第15H図のボツクス11に入り、インターセプ
トされたゲストの状況がセーブされる。続くボツクス12
では、ゲストの指名準備が行われる。続くボツクス13で
は、AZM(警告ゾーン・マスク)中に1のビツトが他に
あるか否かを検知することによつて警告可能な良好ゲス
トが他にあるか否かを知るべく、AZMがテストされる。
1のビツトが他に見つかると、そのゾーン番号(AZN)
がAZM中のビツト位置により決定される。次に、ボツク
ス16ではAZMで見つかつた他のAZNについてTPZI命令が実
行され、該他のゲストについて保留中のI/O割込の有無
が判断される。
ボツクス17では、TPZIによつて該他のゲストが保留I/O
割込を持つことがわかつたか否かのテストが行われる。
TPZIによつて割込のないことがわかると、ボツクス13に
入つて、他の良好ゲストでAZMIのビツトを持つものの有
無がテストされる。ボツクス13でAZM中に別の1ビツト
があるとわかると、yesの方向に進んでボツクス16へ行
き、処理が繰り返される。AZMに1ビツトが他にないな
ら、ボツクス18に入り、ホストが、優先度の最も高く、
かつ準備のできているゲストにSIE命令を出し、当該ゲ
ストを指名する。このため、警告されたゲストおよびAZ
Mで表示されたその他のゲストの各々は、警告を受け取
り、インターセプトされたゲストよりも、高い指名優先
度を持ち得る。
第21図 本発明において、各I/Oデバイスが第4図に示されるタ
イプの単独のサブチヤネル(つまりサブチヤネル制御ブ
ロツク)でもつてインプリメントされるならば、それぞ
れのゾーンに割り当てられたI/Oデバイスは該当する区
画に排他的に割り当てられることになり、複数の区画中
のプログラミング・システムによつて共有することは不
可能である。しかし、本発明によれば、第21図に示す技
術を使うと、複数の区画がI/Oデバイスを共有できるよ
うになる。
第21図では、デバイス11が4方向I/Oデバイス・スイツ
チ12に接続されている。スイツチ12のおかげで、最大4
つの異なる区画に接続可能な4つの異なるチヤネル(CH
AN)の何れによつても該I/Oデバイスが使用できるよう
になる。第21図で示される例の中の4個のチヤネル(CH
AN)は、3つの良好ゲストを表わす3つの区画1、2、
3に接続されている。第21図のトリツクによれば、区画
1についてサブチヤネルA、「区画2についてサブチヤ
ネルの個別のコピーがもたらされるようになる。第21図
のサブチヤネルはすべて物理的にあるI/Oプロセツサ(I
OP)に接続されているので、システム中の任意の接続さ
れたCPUは、S/370XAアーキテクチヤで規定されるやり方
で任意のサブチヤネル」を制御することができる。
サブチヤネルB、Cは、異なるチヤネル3、4にそれぞ
れ接続されている。しかし、チヤネル1、2は同じサブ
チヤネルAに接続されている。後者の場合、同一のサブ
チヤネルとその区画によつて様々なチヤネル・パスが使
えるようになるが、これはデバイスのアベイラビリテ
イ、または単一区画に対するデバイスの反応性を向上さ
せる上で有用である。
あるサブチヤネルの、複数個のチヤネルへの接続は、第
4図に示されるチヤネル番号フイールドになされる。す
なわち、そこでは、2つのチヤネル16、17についてのチ
ヤネル番号が、サブチヤネル制御ブロツク中のチヤネル
番号フイールドの2つにおいて割り当てられている。該
ブロツクは8個のチヤネル番号フイールドを持つてお
り、1つのサブチヤネルに対して最高8個までの異なる
チヤネルを割り当てることができる。
ゲストは、I/Oデバイスとの間のデータ転送に際し、与
えられた複数個のチヤネル・パスのどれを使うか選択を
行う。
F.効果 本発明では、ゲストおよびゲストの使用するI/Oデバイ
ス(サブチヤネル)が区画識別子によつて関連づけられ
ている。したがつて、I/O割込の因となるI/Oデバイスを
始動させたときとI/O割込信号が該I/Oデバイスから生じ
たときで、ゲストがデイスパツチされている実CPUが異
なつたとしても、ゲストは容易に自己のタスクに由来す
る保留I/O割込を識別にすることができるので、ホスト
の介入をあおぐことなく直ちに自己の分の保留I/O割込
を処理にかかることができ、したがつてパフォーマンス
が著しく向上する。
【図面の簡単な説明】
第1図は、本発明の実施例を含むシステムの主要部の説
明図である。 第2図は、システムのホストおよびゲストによつて使わ
れる区画およびI/O待ち行列を定義するのに用いられ
る、システム・ストレージの内容の1例の説明図であ
る。 第3A図は、本発明の実施例での良好ゲストを表わすのに
用いられる状態記述子(SP)の1例の説明図である。 第3B図は、本発明の好適な実施例における各CPUの関連
する部分の説明図である。 第4図は、本発明の好適な実施例における各サブチヤネ
ルの関連部分の説明図である。 第5図は本発明を使うシステムの主記憶装置(MS)にお
けるオーバーラツピング・ゾーンの説明図である。 第6図は実施例のMSと拡張記憶装書(ES)に関するリロ
ケーシヨン・プロセスで用いるアドレス形式の説明図で
ある。 第7A、7B、および7C図は元のゲストMSアドレスを実施例
の割当MSゾーンへゾーン再配置するためのCPUアドレス
変換プロセスの説明図である。 第8図は、元のゲストESアドレスを実施例のESゾーンへ
ゾーン再配置・チエツクするのに用いるプロセスの説明
図である。 第9図は、元のゲスト・チヤネル実/絶対アドレスを実
施例の割当MSゾーンへゾーン再配置・チエツクするのに
用いるプロセスの説明図である。 第10図は、本実施例で用いる有効I/O割込イネーブルメ
ント・マスク(EIEM)のエンコーデイング用の回路装置
の説明図である。 第11A図および第11B図は、実施例のS/370XA解釈開始実
行(SIE)命令の下で良好ゲストを始動させるための、C
PU指名(デイスパツチ)プロセスの説明図である。 第12A図は、実施例において、I/Oデバイス割込信号を、
サブチヤネル、割当ゾーン、およびホストI/O割込待ち
行列に関係づけるのに用いるプロセスの説明図である。 第12B図は、サブチヤネル・サブセツトのコピー、およ
び良好ゲストに割り当てられるI/O割込待ち行列のセツ
トの1列の説明図である。 第13図は、良好ゲストへのI/Oパス・スルーおよび良好
ゲストに対する指名警告をサポートするための、SIE命
令下のCPU命令実行プロセスのフロー・チヤートであ
る。 第14A図は、実施例において、I/O割込に応答して他のゲ
ストをCPUにデイスパツチできるようにするために、ホ
ストに警告するプロセスのフロー・チヤートである。 第14B図は、本実施例における、I/O割込の良好ゲストへ
のパス・スルーを制御するプロセスのフロー・チヤート
である。 第15A図は、本実施例において、ゲストによるCPU処理イ
ンターセプトし得るホスト処理I/O割込関連事象を持つ
ゲスト処理に介入する、ホストによるゲスト・インター
セプシヨン・コード検知の説明図である。 第15B図は、ゲスト・ソフトウエア待ち行列の1つにお
けるI/O割込処理するホスト介入プロセスのフロー・チ
ヤートである。 第15C図は、ゲストがI/O割込を処理できないときにホス
トがI/O割込をホスト・ハードウエア待ち行列からゲス
ト・ソフトウエア待ち行列に移動させる、ホスト介入プ
ロセスのフロー・チヤートである。 第15D図はゲストについてのTPI(保留割込テスト)命令
をホストに実行させるための、ホスト介入プロセスのフ
ロー・チヤートである。 第15E図は、ゲストがI/O割込を選択的に禁止されている
際に、ゲストの試みにTPIまたはTSCH(サブチヤネル・
テスト)命令についての、ホスト介入プロセスを示すフ
ロー・チヤートである。 第15F図は、I/O割込を有するゲストについてサブチヤネ
ル・パス・スルー状態がオフであるときに、ゲストの試
みたTPIまたはTSCHについての、ホスト介入プロセスを
示すフロー・チヤートである。 第15G図は、ゲストが制御レジスタ中の選択的I/O割込イ
ネーブルメント・マスクを変更してI/O割込を処理でき
なくした際に、ゲスト実行LCTL(ロード制御)命令につ
いての、ホスト介入プロセスを示すフロー・チヤートで
ある。 第15H図は、保留I/O割込を持つ現在警告可能な各ゲスト
をCPUで指名する用意をするようホストに知らせるゲス
ト警告インターセプシヨンを処理するための、実施例に
おけるホスト介入プロセスである。 第16図は、ゲストが自身の許容されたI/O割込を処理す
ることになる、SIE命令下での良好ゲストによるTPI命令
実行のフロー・チヤートである。 第17図は、パス・スルー状態をオンにすべくサブチヤネ
ルへのアトミツク動作を実行するための、ホストによる
DCSI(診断・比較・スワツプ命令)の実行の説明図であ
る。 第18図は、ゲストが選択的に許容されていて、かつパス
・スルー状態にあるときに、ゲスト自身のI/O割込を許
容する条件を良好ゲストがモニタする場合における、SI
E命令下で動作する良好ゲストによるTSCH命令の実行を
示すフロー・チヤートである。 第19図は、SIE命令下で動作する良好ゲストによるLCTL
命令の実行であつて、ゲストがGIEM(ゲストI/O割込イ
ネーブルメント・マスク)を変更する際にゲストを禁止
(デイスエーブル)状態にするものを示す、フローチヤ
ートである。 第20図は、警告可能ゲスト等の指定ゲストについてI/O
割込が保留中か否かを判断するための、ホストによるTP
ZI(保留ゾーン割込テスト)命令の実行説明図である。 第21図は、I/Oデバイスが実施例中の複数の良好ゲスト
によつて、各ゲストがデバイスに関する同一のサブチヤ
ネル・コピーを持つような態様で共有されるのを可能に
する、スイツチング装置の説明図である。
フロントページの続き (72)発明者 マーク・ステイヴン・フアレル アメリカ合衆国ニユーヨーク州プレゼン ト・ヴアレイ、ボツクス411、アール・デ イー4番地 (72)発明者 ピイーター・ハーモン・ガム アメリカ合衆国ニユーヨーク州ポキプシ イ、マイロン・ドライブ22番地 (72)発明者 ロジヤー・エルデレド・ホウ アメリカ合衆国ニユーヨーク州ハイラン ド、シヤーロン・ドライブ7番地 (72)発明者 フランシス・エドワード・ジヨンソン アメリカ合衆国ニユーヨーク州ポキプシ イ、アルフレツド・ドライブ10番地 (72)発明者 ドナルド・ウイリアム・マクコウリイ アメリカ合衆国ニユーヨーク州ホープウエ ル・ジヤンクシヨン、ボツクス129ビイー、 フオスター・ロード、アール・デイー9番 地 (72)発明者 マーク・イマニユエル・ラクミレヴイツチ アメリカ合衆国ニユーヨーク州キングスト ン、ミラー・レーン31エー・ビイー番地 (72)発明者 ジヨン・コード・ラスジエン アメリカ合衆国ニユーヨーク州ラインベツ ク、アカート・フツク・ロード52番地 (72)発明者 カスパー・アンソニイー・スカールジイー アメリカ合衆国ニユーヨーク州ポキプシ イ、アパートメント7イー、アカデミイ ー・ストリート160番地 (72)発明者 ジヨン・フエントン・スカンロン アメリカ合衆国ニユーヨーク州ハイド・パ ーク、リチヤード・ロード7番地 (72)発明者 レズリイ・ウツド・ワイマン アメリカ合衆国ニユーヨーク州ポキプシ イ、ダーリン・ドライブ23番地 (56)参考文献 特開 昭62−58341(JP,A) 日立評論,VOL.61,NO.12,1979 −12,井村・小平・若井・梅野,仮想計算 機システム“VMS”,P.25−30

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】データ処理システムにおいてゲストに割り
    当てられたシステム資源に対するゲストの動作を制限す
    る方法であって、該システム資源は、1または複数の実
    CPUと、システム主記憶装置(MS)と、オプションとし
    ての拡張記憶装置(ES)と、I/O装置を有する複数のI/O
    装置制御装置を上記システムに接続するI/Oプロセッサ
    を用いる複数のI/Oチャネルと、上記システム中で同時
    的に且つ独立して動作することのできる複数の同一形式
    または異なる形式のソフトウエア制御プログラム(ゲス
    ト)をスーパバイズするホスト・ハイパバイザ(ホス
    ト)と、ホストおよびゲストに対してI/O装置を代表す
    るサブチャネル(SCH)とを有するものであり、各ゲス
    トにシステム資源の割り当てられたサブセット(区画)
    を使用するように制限する方法において、 システム資源の区画を定義するためにシステム主記憶装
    置に複数の区画セットを定め、各区画セットは該当区画
    を使用するように割り当てられたゲストに使用可能なシ
    ステム資源の特定のサブセットを定義し、各区画セット
    は当該区画に割り当てられたシステム資源および人間オ
    ペレータによって記入可能な項目を特定するための複数
    の記入事項からなり、各区画に割り当て可能な項目は、
    一意的な区画識別子(AZN)、主記憶装置MS中の任意の
    場所に位置することができかつ上限および下限主記憶装
    置アドレスによって境界を区切られるMSゾーン、任意数
    のサブチャネルSCH、拡張記憶装置ES中の任意の場所に
    位置し上限および下限拡張記憶装置アドレスによって境
    界を区切られるオプションとしてのESゾーン、の標識を
    含むものであり、 各サブチャネルSCH毎に主記憶装置MS中に制御ブロック
    を設け、各SCHは当該SCHに割り当てられたI/Oインタラ
    プト待ち行列の識別子を含み、SCHの制御ブロックに設
    定された任意数の区画識別子AZNにより指示される任意
    数の区画に割り当て可能であり、 システム中の論理CPUを表すために主記憶装置中に複数
    の状態記述制御ブロック(SD)を設け、各SDは論理CPU
    を定義するパラメータを有するフィールドを含み、 論理CPUを表すSD中にそれぞれの区画セットのAZNを記入
    することによって論理CPUを特定の区画に拘束し、 論理CPUを表すSD中にゲストのパラメータを記入するこ
    とによって論理CPUを特定のゲストに割り当て、 論理CPUのSD中のAZNにより割り当てられた区画において
    ゲストのために論理CPUの実行を開始するために、実CPU
    上で解釈開始実行(SIE)命令をホストにより実行させ
    ることによってデータ処理システム中の選ばれた実CPU
    上にゲストに対する論理CPUをディスパッチし、 ゲスト区画セットに割り当てられたAZNをI/O装置のSCH
    に設定し、SCHの識別子をゲスト区画セットおよびSCHを
    使用せんとする各論理CPUのSDに設定することによってI
    /O装置をゲストに割り当て、 ゲストの論理CPUによるI/O動作の通常の実行の間各ゲス
    トがホストの助けなしにゲストに割り当てられたI/O装
    置を直接制御することができるようにするため、ゲスト
    に割り当てられたI/O装置のSCHにパス・スルー識別子を
    設定してゲストの論理CPUからのI/O命令およびゲストの
    論理CPUへの保留I/O割込の直接ルーティングを可能なら
    しめ、 ゲストがその割り当てられたI/O装置をホストの介入な
    しに制御できるように、かつ各ゲストがゲストに割り当
    てられたSCHおよび区画セット中で示されたのと同じAZN
    を有するSCHのみを限定使用するようにするため、I/O装
    置のSCHがゲストに対してディスパッチされた論理CPUの
    SDに設定されたのと同じAZNに設定されていることを調
    べることによって、ゲストがゲストに割り当てられたI/
    O装置に直接命令しかつそれに対するI/O割込を直接ハン
    ドルすることを可能ならしめる、 データ処理システムにおいてゲストに割り当てられたシ
    ステム資源に対するゲストの動作を制限する方法。
  2. 【請求項2】上記区画セットを任意の順序でアクセスす
    るための区画ポインタ・テーブルを設け、任意のAZN値
    が任意の区画ポインタ・テーブルに割り当てられるよう
    にするためAZNの割り当てをうけとり、 実行可能状態にある論理CPUのうち最高優先順位のCPUに
    実CPUをディスパッチする、 ことを更に含む請求項1の方法。
  3. 【請求項3】他の区画に割り当てられかつ実CPUで現在
    ディスパッチされていない他のゲストに割り当てられた
    1または複数のSCHに対するI/O割込の存在を実CPUでデ
    ィスパッチされたゲストに検出させ、 他のゲストに割り当てられたSCHに対するI/O割込をディ
    スパッチされたゲストが受け取った後ホストに警告し、 ホストはI/O割込を有する他のゲストにディスパッチ可
    能な状態となる、 ことを更に含む請求項2の方法。
  4. 【請求項4】どのゲストが現在ディスパッチされている
    実CPUで次にディスパッチされるべきかを決定するため
    現在ディスパッチされているゲストのディスパッチ優先
    順位をホストによりディスパッチ可能な状態にされた任
    意の他のゲストのディスパッチ優先順位と比較し、 現在のゲストよりも高いディスパッチ優先順位を有する
    他のゲストへのディスパッチのため現在ディスパッチさ
    れているゲストのディスパッチを終了させる、 ことをさらに含む請求項3の方法。
  5. 【請求項5】ディスパッチされているゲストがI/O割込
    可能にイネーブルされているときに、警告可能な他のゲ
    ストに割り当てられたSCHに対しI/O割込が保留となった
    ときディスパッチされているゲストの実行をインターセ
    プトし、 警告可能なゲストのI/O割込を検出し該警告可能なゲス
    トをディスパッチ可能にするためインターセプトされた
    ゲストのCPUでホスト処理を開始する、 ことを更に含む請求項4の方法。
  6. 【請求項6】SCHのハードウエアへの割り当ておよびゲ
    ストI/O割込待ち行列に関する標識をSCHに設け、 ゲストI/O割込待ち行列における保留割込を処理するた
    め、区画を割り当てられた各ゲストのSD中にゲストI/O
    割込イネーブルメント・マスク(GIEM)を設けてゲスト
    のI/O割込イネーブルメント状態を選択的に指示し、 ゲストにより使用可能なハードウエアI/O割込待ち行列
    であって、ディスパッチされたゲストのI/O割込を受け
    取る少なくとも一つのハードウエア待ち行列およびディ
    スパッチされたゲストによって警告可能な1または複数
    の他のゲストのI/O割込を受け取る他のハードウエア待
    ち行列を含む待ち行列に対するI/O割込イネーブルメン
    ト状態を選択的に指示するため、ホストおよび任意のデ
    ィスパッチされ区画を割り当てられたゲストが使用する
    ための有効I/O割込イネーブルメント・マスク(EIEM)
    を設け、 ゲストがディスパッチされている実CPUのホスト制御レ
    ジスタにEIEMをロードし、 ゲストが割り当てられたサブチャネルによるI/O割込の
    処理を選択的に不能にされていることが判ったときゲス
    トのSD中の不能フィールドを設定し、該不能フィールド
    のオン状態はゲストがそれに割り当てられた任意のサブ
    チャネルのためのI/O割込を処理することを阻止するも
    のである、 ことを更に含む請求項1の方法。
  7. 【請求項7】ディスパッチされたゲストに自分自身のI/
    O割込を処理させないようにするため、ディスパッチさ
    れたゲストのSD不能化フィールドがオフに設定されてい
    ても、またはディスパッチされたゲストのCPUにあるEIE
    Mがディスパッチされたゲストを不能にしていても、デ
    ィスパッチされたゲストがそのCPUにあるEIEMによって
    イネーブルされた他の区画に割り当てられたサブチャネ
    ルに対するI/O割込を受け取るときにホストに警告を与
    える。 ことを更に含む請求項6の方法。
  8. 【請求項8】ディスパッチされたゲストが任意のゲスト
    待ち行列中で当該ディスパッチされたゲストに割り当て
    られた任意のSCHに対する保留I/O割込を有するか否かを
    調べるため当該ディスパッチされたゲストに対するSD待
    ち行列標識をテストし、 ディスパッチされたゲストのSD待ち行列標識フィールド
    がオンになっているならば保留割込テスト(TPI)命令
    の処理をインターセプトし、ゲストI/O割込を受け取る
    のに用いられるハードウエアI/O割込待ち行列に対して
    保留I/O割込があるか否かを調べるためゲストに対してT
    PI命令をホストに実行させる、 ことを更に含む請求項6の方法。
  9. 【請求項9】I/O割込が関連するハードウエアI/O割込待
    ち行列中で保留になっているか否かをそれぞれ示すIPR
    ビット位置を有するI/O割込保留レジスタIPRを各CPUに
    設け、 ゲストのそれぞれのIPRビットが当該ゲストに対しI/O割
    込が保留中でないことを示すときに、ゲストのプログラ
    ム状態ワード(PSW)中の条件コード(CC)を第1の所
    定状態に設定する、 ことを更に含む請求項8の方法。
  10. 【請求項10】ゲストが区画されたモードにありかつゲ
    ストのIPRビットが当該ゲストに対しI/O割込が保留中で
    あることを示すときI/O割込を待ち行列から外し、 割込を生じたサブチャネルにおいてパス・スルー・フィ
    ールドがオンに設定されているか否かをテストし、 割込を生じたサブチャネルにおいてパス・スルー・フィ
    ールドがオフに設定されているならばTPI命令の処理を
    インターセプトして、ゲストにそのI/O割込を処理させ
    るためホストにパス・スルー・フィールドをオンに設定
    させる処理を開始させる、 ことを更に含む請求項9の方法。
  11. 【請求項11】パス・スルー・フィールドの状態がゲス
    トがI/O割込を処理しうることを示すときゲストが保留I
    /O割込に対して選択的にイネーブルされているか否かを
    調べるためディスパッチされたゲストのGIEMをテスト
    し、 ゲストが選択的にイネーブルされていることがテストに
    より見いだされたときにディスパッチされたゲストのSD
    中にI/O割込コードを記憶し、 I/O割込が記憶されたときゲストのPSW中の条件コード
    (CC)を第2の所定状態に設定し、 TPI命令の動作を終了する、 ことを更に含む請求項10の方法。
JP63159572A 1987-07-29 1988-06-29 ゲストに割り当てられたシステム資源に対するゲストの動作を制限する方法 Expired - Lifetime JPH0673108B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/079,314 US4843541A (en) 1987-07-29 1987-07-29 Logical resource partitioning of a data processing system
US79314 2008-03-26

Publications (2)

Publication Number Publication Date
JPS6437636A JPS6437636A (en) 1989-02-08
JPH0673108B2 true JPH0673108B2 (ja) 1994-09-14

Family

ID=22149754

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63159572A Expired - Lifetime JPH0673108B2 (ja) 1987-07-29 1988-06-29 ゲストに割り当てられたシステム資源に対するゲストの動作を制限する方法

Country Status (7)

Country Link
US (1) US4843541A (ja)
EP (1) EP0301275B1 (ja)
JP (1) JPH0673108B2 (ja)
AU (1) AU606187B2 (ja)
BR (1) BR8803742A (ja)
CA (1) CA1305799C (ja)
DE (1) DE3850181T2 (ja)

Families Citing this family (291)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63231550A (ja) * 1987-03-19 1988-09-27 Hitachi Ltd 多重仮想空間制御方式
JP2523653B2 (ja) * 1987-07-08 1996-08-14 株式会社日立製作所 仮想計算機システム
JP2510605B2 (ja) * 1987-07-24 1996-06-26 株式会社日立製作所 仮想計算機システム
JP2507756B2 (ja) * 1987-10-05 1996-06-19 株式会社日立製作所 情報処理装置
IL88165A (en) * 1987-12-21 1993-01-31 Honeywell Bull Apparatus and method for a data processing system having a peer relationship among a plurality of central processing units
US5027271A (en) * 1987-12-21 1991-06-25 Bull Hn Information Systems Inc. Apparatus and method for alterable resource partitioning enforcement in a data processing system having central processing units using different operating systems
US5129064A (en) * 1988-02-01 1992-07-07 International Business Machines Corporation System and method for simulating the I/O of a processing system
US4965716A (en) * 1988-03-11 1990-10-23 International Business Machines Corporation Fast access priority queue for managing multiple messages at a communications node or managing multiple programs in a multiprogrammed data processor
JP2629278B2 (ja) * 1988-06-30 1997-07-09 株式会社日立製作所 仮想計算機システム
JPH0291747A (ja) * 1988-09-29 1990-03-30 Hitachi Ltd 情報処理装置
WO1990005338A1 (en) * 1988-11-02 1990-05-17 Hitachi, Ltd. Virtual computer system having extended memory
US5060136A (en) * 1989-01-06 1991-10-22 International Business Machines Corp. Four-way associative cache with dlat and separately addressable arrays used for updating certain bits without reading them out first
JPH02208740A (ja) * 1989-02-09 1990-08-20 Fujitsu Ltd 仮想計算機制御方式
US5134580A (en) * 1990-03-22 1992-07-28 International Business Machines Corporation Computer with capability to automatically initialize in a first operating system of choice and reinitialize in a second operating system without computer shutdown
JP2839201B2 (ja) * 1990-07-30 1998-12-16 株式会社日立製作所 仮想計算機システム
JPH0474229A (ja) * 1990-07-17 1992-03-09 Toshiba Corp 情報処理装置
JPH0496828A (ja) * 1990-08-15 1992-03-30 Hitachi Ltd 多重絶対アドレス空間構成方法および装置
JPH0727445B2 (ja) * 1990-09-04 1995-03-29 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータプロセッサ動作用ユーザインターフェイス
US5269009A (en) * 1990-09-04 1993-12-07 International Business Machines Corporation Processor system with improved memory transfer means
US5381535A (en) * 1990-10-24 1995-01-10 International Business Machines Corporation Data processing control of second-level quest virtual machines without host intervention
US5437033A (en) * 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5414860A (en) * 1991-01-29 1995-05-09 International Business Machines Incorporated Power management initialization for a computer operable under a plurality of operating systems
US5386560A (en) * 1991-05-23 1995-01-31 International Business Machines Corporation Execution of page data transfer by PT processors and issuing of split start and test instructions by CPUs coordinated by queued tokens
JPH0512126A (ja) * 1991-07-05 1993-01-22 Hitachi Ltd 仮想計算機のアドレス変換装置及びアドレス変換方法
US5291599A (en) * 1991-08-08 1994-03-01 International Business Machines Corporation Dispatcher switch for a partitioner
US5257375A (en) * 1991-08-23 1993-10-26 International Business Machines Corp. Method and apparatus for dispatching tasks requiring short-duration processor affinity
US5404563A (en) * 1991-08-28 1995-04-04 International Business Machines Corporation Scheduling normally interchangeable facilities in multiprocessor computer systems
US5222215A (en) * 1991-08-29 1993-06-22 International Business Machines Corporation Cpu expansive gradation of i/o interruption subclass recognition
US5253344A (en) * 1991-09-05 1993-10-12 International Business Machines Corp. Method and apparatus for dynamically changing the configuration of a logically partitioned data processing system
DE69223303T2 (de) * 1991-09-27 1998-06-18 Sun Microsystems Inc Verfahren und Gerät für die dynamische Zuweisung von unadressierten Unterbrechungen
CA2055295C (en) * 1991-11-12 2000-05-23 Jean Gilles Fecteau Logical mapping of data objects using data spaces
EP0543032A1 (en) * 1991-11-16 1993-05-26 International Business Machines Corporation Expanded memory addressing scheme
US5414851A (en) * 1992-06-15 1995-05-09 International Business Machines Corporation Method and means for sharing I/O resources by a plurality of operating systems
US5452455A (en) * 1992-06-15 1995-09-19 International Business Machines Corporation Asynchronous command support for shared channels for a computer complex having multiple operating systems
US5600805A (en) * 1992-06-15 1997-02-04 International Business Machines Corporation Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems
JPH0635732A (ja) * 1992-07-14 1994-02-10 Hitachi Ltd 記憶装置の領域割り当て方法
US5721898A (en) * 1992-09-02 1998-02-24 International Business Machines Corporation Method and system for data search in a data processing system
CA2100540A1 (en) * 1992-10-19 1994-04-20 Jonel George System and method for performing resource reconfiguration in a computer system
US5371867A (en) * 1992-11-10 1994-12-06 International Business Machines Corporation Method of using small addresses to access any guest zone in a large memory
US5479631A (en) * 1992-11-19 1995-12-26 International Business Machines Corporation System for designating real main storage addresses in instructions while dynamic address translation is on
JPH06187178A (ja) * 1992-12-18 1994-07-08 Hitachi Ltd 仮想計算機システムの入出力割込み制御方法
US5758157A (en) * 1992-12-31 1998-05-26 International Business Machines Corporation Method and system for providing service processor capability in a data processing by transmitting service processor requests between processing complexes
US5574914A (en) * 1993-01-04 1996-11-12 Unisys Corporation Method and apparatus for performing system resource partitioning
EP0610583A1 (en) * 1993-02-08 1994-08-17 International Business Machines Corporation Multizone relocation facility computer memory system
JP2550864B2 (ja) * 1993-05-31 1996-11-06 日本電気株式会社 ジョブ実行における分散型制御方法及びその装置
JPH06348584A (ja) * 1993-06-01 1994-12-22 Internatl Business Mach Corp <Ibm> データ処理システム
US5584042A (en) * 1993-06-01 1996-12-10 International Business Machines Corporation Dynamic I/O data address relocation facility
US5377337A (en) * 1993-06-08 1994-12-27 International Business Machines Corporation Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
JPH06348597A (ja) * 1993-06-08 1994-12-22 Hitachi Ltd キャッシュ制御方法および回転形記憶装置
US5530897A (en) * 1993-10-01 1996-06-25 International Business Machines Corporation System for dynamic association of a variable number of device addresses with input/output devices to allow increased concurrent requests for access to the input/output devices
WO1995012165A1 (en) * 1993-10-22 1995-05-04 Gestalt Technologies, Incorporated Distributed management in a partitioned memory system
US5548746A (en) * 1993-11-12 1996-08-20 International Business Machines Corporation Non-contiguous mapping of I/O addresses to use page protection of a process
US5515501A (en) * 1994-01-21 1996-05-07 Unisys Corporation Redundant maintenance architecture
US6128714A (en) 1994-03-17 2000-10-03 Hitachi, Ltd. Method of processing a data move instruction for moving data between main storage and extended storage and data move instruction processing apparatus
JPH07262093A (ja) * 1994-03-17 1995-10-13 Hitachi Ltd 記憶装置の領域再構成制御方式
JP3172387B2 (ja) * 1994-06-01 2001-06-04 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 入出力通信サブシステム及び方法
US5819061A (en) * 1994-07-25 1998-10-06 International Business Machines Corporation Method and apparatus for dynamic storage reconfiguration in a partitioned environment
US5625811A (en) * 1994-10-31 1997-04-29 International Business Machines Corporation Method and system for database load balancing
US5577231A (en) * 1994-12-06 1996-11-19 International Business Machines Corporation Storage access authorization controls in a computer system using dynamic translation of large addresses
US5555414A (en) * 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5717942A (en) * 1994-12-27 1998-02-10 Unisys Corporation Reset for independent partitions within a computer system
US5603005A (en) * 1994-12-27 1997-02-11 Unisys Corporation Cache coherency scheme for XBAR storage structure with delayed invalidates until associated write request is executed
US5649140A (en) * 1995-03-31 1997-07-15 International Business Machines Corporation System for use in translating virtual addresses into absolute addresses
US5659756A (en) * 1995-03-31 1997-08-19 International Business Machines Corporation Method and system for providing access to logical partition information on a per resource basis
US5996026A (en) * 1995-09-05 1999-11-30 Hitachi, Ltd. Method and apparatus for connecting i/o channels between sub-channels and devices through virtual machines controlled by a hypervisor using ID and configuration information
US5784701A (en) * 1995-09-19 1998-07-21 International Business Machines Corporation Method and system for dynamically changing the size of a hardware system area
US6421679B1 (en) 1995-10-27 2002-07-16 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
US5793983A (en) * 1996-01-22 1998-08-11 International Business Machines Corp. Input/output channel interface which automatically deallocates failed subchannel and re-segments data block for transmitting over a reassigned subchannel
US5675768A (en) * 1996-02-01 1997-10-07 Unisys Corporation Store software instrumentation package instruction
US6279098B1 (en) 1996-12-16 2001-08-21 Unisys Corporation Method of and apparatus for serial dynamic system partitioning
US5960455A (en) * 1996-12-30 1999-09-28 Unisys Corporation Scalable cross bar type storage controller
US5970253A (en) * 1997-01-09 1999-10-19 Unisys Corporation Priority logic for selecting and stacking data
US5822766A (en) * 1997-01-09 1998-10-13 Unisys Corporation Main memory interface for high speed data transfer
US6189145B1 (en) 1997-05-28 2001-02-13 International Business Machines Corporation Concurrent patch to logical partition manager of a logically partitioned system
US5907849A (en) * 1997-05-29 1999-05-25 International Business Machines Corporation Method and system for recovery in a partitioned shared nothing database system using virtual share disks
US5802354A (en) * 1997-06-09 1998-09-01 International Business Machines Corporation Method and apparatus for synchronizing selected logical partitions of a partitioned information handling system to a test datesource
US5923890A (en) * 1997-07-30 1999-07-13 International Business Machines Corporation Method and apparatus for optimizing the handling of synchronous requests to a coupling facility in a sysplex configuration
US6704766B1 (en) 1997-09-10 2004-03-09 International Business Machines Corporation Method and apparatus for dynamically controlling the execution of a request handler on a processor resource
US6260068B1 (en) 1998-06-10 2001-07-10 Compaq Computer Corporation Method and apparatus for migrating resources in a multi-processor computer system
US6332180B1 (en) * 1998-06-10 2001-12-18 Compaq Information Technologies Group, L.P. Method and apparatus for communication in a multi-processor computer system
US6647508B2 (en) * 1997-11-04 2003-11-11 Hewlett-Packard Development Company, L.P. Multiprocessor computer architecture with multiple operating system instances and software controlled resource allocation
US6633916B2 (en) 1998-06-10 2003-10-14 Hewlett-Packard Development Company, L.P. Method and apparatus for virtual resource handling in a multi-processor computer system
US6381682B2 (en) 1998-06-10 2002-04-30 Compaq Information Technologies Group, L.P. Method and apparatus for dynamically sharing memory in a multiprocessor system
US6049845A (en) * 1997-11-05 2000-04-11 Unisys Corporation System and method for providing speculative arbitration for transferring data
US6052760A (en) * 1997-11-05 2000-04-18 Unisys Corporation Computer system including plural caches and utilizing access history or patterns to determine data ownership for efficient handling of software locks
US6014709A (en) * 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6625638B1 (en) 1998-04-30 2003-09-23 International Business Machines Corporation Management of a logical partition that supports different types of processors
US6480876B2 (en) * 1998-05-28 2002-11-12 Compaq Information Technologies Group, L.P. System for integrating task and data parallelism in dynamic applications
US6675189B2 (en) * 1998-05-28 2004-01-06 Hewlett-Packard Development Company, L.P. System for learning and applying integrated task and data parallel strategies in dynamic applications
US6247109B1 (en) 1998-06-10 2001-06-12 Compaq Computer Corp. Dynamically assigning CPUs to different partitions each having an operation system instance in a shared memory space
US6516342B1 (en) 1998-07-17 2003-02-04 International Business Machines Corporation Method and apparatus for extending memory using a memory server
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6209106B1 (en) 1998-09-30 2001-03-27 International Business Machines Corporation Method and apparatus for synchronizing selected logical partitions of a partitioned information handling system to an external time reference
US6453392B1 (en) 1998-11-10 2002-09-17 International Business Machines Corporation Method of and apparatus for sharing dedicated devices between virtual machine guests
US6470434B1 (en) * 1998-11-24 2002-10-22 Dell Usa, L.P. Computer system and method for accessing a computer-readable medium
JP4123621B2 (ja) * 1999-02-16 2008-07-23 株式会社日立製作所 主記憶共有型マルチプロセッサシステム及びその共有領域設定方法
US6449699B2 (en) 1999-03-29 2002-09-10 International Business Machines Corporation Apparatus and method for partitioned memory protection in cache coherent symmetric multiprocessor systems
US6453344B1 (en) * 1999-03-31 2002-09-17 Amdahl Corporation Multiprocessor servers with controlled numbered of CPUs
US6959291B1 (en) 1999-05-19 2005-10-25 International Business Machines Corporation Management of a concurrent use license in a logically-partitioned computer
US6681240B1 (en) 1999-05-19 2004-01-20 International Business Machines Corporation Apparatus and method for specifying maximum interactive performance in a logical partition of a computer system independently from the maximum interactive performance in other partitions
US6467007B1 (en) 1999-05-19 2002-10-15 International Business Machines Corporation Processor reset generated via memory access interrupt
US6691146B1 (en) 1999-05-19 2004-02-10 International Business Machines Corporation Logical partition manager and method
JP2000347883A (ja) * 1999-06-03 2000-12-15 Matsushita Electric Ind Co Ltd 仮想計算機装置
US6665761B1 (en) 1999-07-28 2003-12-16 Unisys Corporation Method and apparatus for routing interrupts in a clustered multiprocessor system
US6687818B1 (en) 1999-07-28 2004-02-03 Unisys Corporation Method and apparatus for initiating execution of an application processor in a clustered multiprocessor system
US8032634B1 (en) 1999-08-23 2011-10-04 Oracle America, Inc. Approach for allocating resources to an apparatus based on resource requirements
US6779016B1 (en) * 1999-08-23 2004-08-17 Terraspring, Inc. Extensible computing system
US7568052B1 (en) 1999-09-28 2009-07-28 International Business Machines Corporation Method, system and program products for managing I/O configurations of a computing environment
US7051188B1 (en) 1999-09-28 2006-05-23 International Business Machines Corporation Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment
US6519660B1 (en) 1999-09-28 2003-02-11 International Business Machines Corporation Method, system and program products for determining I/O configuration entropy
US7007276B1 (en) 1999-09-28 2006-02-28 International Business Machines Corporation Method, system and program products for managing groups of partitions of a computing environment
US6587938B1 (en) 1999-09-28 2003-07-01 International Business Machines Corporation Method, system and program products for managing central processing unit resources of a computing environment
US6651125B2 (en) 1999-09-28 2003-11-18 International Business Machines Corporation Processing channel subsystem pending I/O work queues based on priorities
US6986137B1 (en) * 1999-09-28 2006-01-10 International Business Machines Corporation Method, system and program products for managing logical processors of a computing environment
US7010788B1 (en) 2000-05-19 2006-03-07 Hewlett-Packard Development Company, L.P. System for computing the optimal static schedule using the stored task execution costs with recent schedule execution costs
US6941410B1 (en) * 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6854115B1 (en) 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6865657B1 (en) * 2000-06-02 2005-03-08 Sun Microsystems, Inc. Garbage collector for a virtual heap
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6934755B1 (en) 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US6643727B1 (en) * 2000-06-08 2003-11-04 International Business Machines Corporation Isolation of I/O bus errors to a single partition in an LPAR environment
US6629162B1 (en) * 2000-06-08 2003-09-30 International Business Machines Corporation System, method, and product in a logically partitioned system for prohibiting I/O adapters from accessing memory assigned to other partitions during DMA
US6877158B1 (en) * 2000-06-08 2005-04-05 International Business Machines Corporation Logical partitioning via hypervisor mediated address translation
US6823404B2 (en) * 2000-06-08 2004-11-23 International Business Machines Corporation DMA windowing in an LPAR environment using device arbitration level to allow multiple IOAs per terminal bridge
JP2002041304A (ja) * 2000-07-28 2002-02-08 Hitachi Ltd 論理区画の予備リソース自動付与方法及び論理区画式計算機システム
US6912493B1 (en) 2000-09-29 2005-06-28 International Business Machines Corporation Technique for configuring processors in system with logical partitions
US6854021B1 (en) * 2000-10-02 2005-02-08 International Business Machines Corporation Communications between partitions within a logically partitioned computer
US7085705B2 (en) * 2000-12-21 2006-08-01 Microsoft Corporation System and method for the logical substitution of processor control in an emulated computing environment
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
JP2002257658A (ja) * 2001-02-27 2002-09-11 Minebea Co Ltd 高温計測用半導体式圧力センサ
US7065761B2 (en) * 2001-03-01 2006-06-20 International Business Machines Corporation Nonvolatile logical partition system data management
US6820207B2 (en) 2001-03-01 2004-11-16 International Business Machines Corporation Method for rebooting only a specific logical partition in a data processing system as per a request for reboot
US20020124201A1 (en) * 2001-03-01 2002-09-05 International Business Machines Corporation Method and system for log repair action handling on a logically partitioned multiprocessing system
US6665759B2 (en) * 2001-03-01 2003-12-16 International Business Machines Corporation Method and apparatus to implement logical partitioning of PCI I/O slots
US20020124214A1 (en) * 2001-03-01 2002-09-05 International Business Machines Corporation Method and system for eliminating duplicate reported errors in a logically partitioned multiprocessing system
US6567897B2 (en) 2001-03-01 2003-05-20 International Business Machines Corporation Virtualized NVRAM access methods to provide NVRAM CHRP regions for logical partitions through hypervisor system calls
US6957435B2 (en) * 2001-04-19 2005-10-18 International Business Machines Corporation Method and apparatus for allocating processor resources in a logically partitioned computer system
US8150997B2 (en) 2001-04-24 2012-04-03 International Business Machines Corporation Technique for efficient data transfer within a virtual network
US7231519B2 (en) * 2001-06-06 2007-06-12 International Business Machines Corporation Secure inter-node communication
US6792514B2 (en) 2001-06-14 2004-09-14 International Business Machines Corporation Method, system and computer program product to stress and test logical partition isolation features
US20030177280A1 (en) * 2002-03-12 2003-09-18 Webster Steve R. Imbedded interrupt handler
US7170862B1 (en) 2001-07-31 2007-01-30 Cisco Technology, Inc. Partitioning a network element into multiple virtual network elements
US6971002B2 (en) * 2001-08-09 2005-11-29 International Business Machines Corporation Method, system, and product for booting a partition using one of multiple, different firmware images without rebooting other partitions
US7428485B2 (en) * 2001-08-24 2008-09-23 International Business Machines Corporation System for yielding to a processor
US7251814B2 (en) * 2001-08-24 2007-07-31 International Business Machines Corporation Yield on multithreaded processors
JP2003067351A (ja) * 2001-08-28 2003-03-07 Nec System Technologies Ltd 分散型コンピュータの構成制御システム
US6772259B2 (en) * 2001-09-12 2004-08-03 International Business Machines Corporation Interrupt handlers used in different modes of operations
US20030061262A1 (en) * 2001-09-25 2003-03-27 Hahn Stephen C. Method and apparatus for partitioning resources within a computer system
US6883116B2 (en) * 2001-09-27 2005-04-19 International Business Machines Corporation Method and apparatus for verifying hardware implementation of a processor architecture in a logically partitioned data processing system
US6820217B2 (en) * 2001-10-29 2004-11-16 International Business Machines Corporation Method and apparatus for data recovery optimization in a logically partitioned computer system
US6968473B2 (en) * 2001-11-15 2005-11-22 International Business Machines Corporation Method and apparatus for generating a virtual clock in a data processing system
US20030110205A1 (en) * 2001-12-07 2003-06-12 Leith Johnson Virtualized resources in a partitionable server
US7308576B2 (en) * 2001-12-31 2007-12-11 Intel Corporation Authenticated code module
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US20030167379A1 (en) * 2002-03-01 2003-09-04 Soltis Donald Charles Apparatus and methods for interfacing with cache memory
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7099814B2 (en) * 2002-03-29 2006-08-29 International Business Machines Corportion I/O velocity projection for bridge attached channel
US7039769B2 (en) * 2002-05-30 2006-05-02 International Business Machines Corporation Direct addressed shared compressed memory system
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US7916701B1 (en) * 2002-08-27 2011-03-29 Cisco Technology, Inc. Virtual addressing to support wireless access to data networks
US7340486B1 (en) * 2002-10-10 2008-03-04 Network Appliance, Inc. System and method for file system snapshot of a virtual logical disk
US7318235B2 (en) * 2002-12-16 2008-01-08 Intel Corporation Attestation using both fixed token and portable token
JP4123942B2 (ja) * 2003-01-14 2008-07-23 株式会社日立製作所 情報処理装置
US7149821B2 (en) * 2003-01-29 2006-12-12 International Business Machines Corporation Predictably defining input/output configurations for environments employing fabrics
US7281075B2 (en) * 2003-04-24 2007-10-09 International Business Machines Corporation Virtualization of a global interrupt queue
US7168002B2 (en) * 2003-04-25 2007-01-23 International Business Machines Corporation Preservation of error data on a diskless platform
US7000036B2 (en) 2003-05-12 2006-02-14 International Business Machines Corporation Extended input/output measurement facilities
US6996638B2 (en) * 2003-05-12 2006-02-07 International Business Machines Corporation Method, system and program products for enhancing input/output processing for operating system images of a computing environment
US7130938B2 (en) * 2003-05-12 2006-10-31 International Business Machines Corporation Method, system and program products for identifying communications adapters of a computing environment
US6807579B1 (en) 2003-05-12 2004-10-19 International Business Machines Corporation Method, system and program products for assigning an address identifier to a partition of a computing environment
US7174550B2 (en) * 2003-05-12 2007-02-06 International Business Machines Corporation Sharing communications adapters across a plurality of input/output subsystem images
US7290070B2 (en) 2003-05-12 2007-10-30 International Business Machines Corporation Multiple logical input/output subsystem facility
US7127599B2 (en) * 2003-05-12 2006-10-24 International Business Machines Corporation Managing configurations of input/output system images of an input/output subsystem, wherein a configuration is modified without restarting the input/output subsystem to effect a modification
US7177961B2 (en) * 2003-05-12 2007-02-13 International Business Machines Corporation Managing access, by operating system images of a computing environment, of input/output resources of the computing environment
US7469321B2 (en) * 2003-06-25 2008-12-23 International Business Machines Corporation Software process migration between coherency regions without cache purges
DE10333438A1 (de) * 2003-07-23 2005-02-17 Robert Bosch Gmbh Brennraumdrucksensor mit Metallmembran mit piezoresistiver Metalldünnschicht
US7870553B2 (en) * 2003-08-28 2011-01-11 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
US7849297B2 (en) * 2003-08-28 2010-12-07 Mips Technologies, Inc. Software emulation of directed exceptions in a multithreading processor
US20050050305A1 (en) * 2003-08-28 2005-03-03 Kissell Kevin D. Integrated mechanism for suspension and deallocation of computational threads of execution in a processor
US9032404B2 (en) 2003-08-28 2015-05-12 Mips Technologies, Inc. Preemptive multitasking employing software emulation of directed exceptions in a multithreading processor
US7836450B2 (en) * 2003-08-28 2010-11-16 Mips Technologies, Inc. Symmetric multiprocessor operating system for execution on non-independent lightweight thread contexts
EP1660993B1 (en) * 2003-08-28 2008-11-19 MIPS Technologies, Inc. Integrated mechanism for suspension and deallocation of computational threads of execution in a processor
US7424709B2 (en) * 2003-09-15 2008-09-09 Intel Corporation Use of multiple virtual machine monitors to handle privileged events
US7366305B2 (en) * 2003-09-30 2008-04-29 Intel Corporation Platform and method for establishing trust without revealing identity
US7793287B2 (en) * 2003-10-01 2010-09-07 Hewlett-Packard Development Company, L.P. Runtime virtualization and devirtualization of I/O devices by a virtual machine monitor
US7376949B2 (en) * 2003-10-01 2008-05-20 Hewlett-Packard Development Company, L.P. Resource allocation and protection in a multi-virtual environment
US7805723B2 (en) * 2003-10-01 2010-09-28 Hewlett-Packard Development Company, L.P. Runtime virtualization and devirtualization of memory by a virtual machine monitor
US7913226B2 (en) * 2003-10-01 2011-03-22 Hewlett-Packard Development Company, L.P. Interposing a virtual machine monitor and devirtualizing computer hardware at runtime
US7451219B2 (en) 2003-11-05 2008-11-11 International Business Machines Corporation Determining server resources accessible to client nodes using information received at the server via a communications medium
US7401093B1 (en) 2003-11-10 2008-07-15 Network Appliance, Inc. System and method for managing file data during consistency points
US7721062B1 (en) 2003-11-10 2010-05-18 Netapp, Inc. Method for detecting leaked buffer writes across file system consistency points
US7783611B1 (en) 2003-11-10 2010-08-24 Netapp, Inc. System and method for managing file metadata during consistency points
US7826386B2 (en) * 2003-12-08 2010-11-02 International Business Machines Corporation Facilitating the configuring of communications environments
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7277968B2 (en) 2004-01-23 2007-10-02 International Business Machines Corporation Managing sets of input/output communications subadapters of an input/output subsystem
US20050182796A1 (en) * 2004-02-12 2005-08-18 International Business Machines Corporation Method and system for protecting data associated with a replaced image file during a re-provisioning event
CN1658185A (zh) * 2004-02-18 2005-08-24 国际商业机器公司 相互独立地共存多个操作系统的计算机系统与其切换方法
US7802085B2 (en) * 2004-02-18 2010-09-21 Intel Corporation Apparatus and method for distributing private keys to an entity with minimal secret, unique information
US7975270B2 (en) * 2004-03-10 2011-07-05 International Business Machines Corporation Facilitating allocation of resources in a heterogeneous computing environment
US7617438B2 (en) * 2004-04-15 2009-11-10 International Business Machines Corporation Method and apparatus for supporting checksum offload in partitioned data processing systems
US7430571B2 (en) 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
US7409494B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US7409511B2 (en) * 2004-04-30 2008-08-05 Network Appliance, Inc. Cloning technique for efficiently creating a copy of a volume in a storage system
US8024726B2 (en) * 2004-05-28 2011-09-20 International Business Machines Corporation System for correct distribution of hypervisor work
US7490070B2 (en) * 2004-06-10 2009-02-10 Intel Corporation Apparatus and method for proving the denial of a direct proof signature
US8271976B2 (en) * 2004-06-30 2012-09-18 Microsoft Corporation Systems and methods for initializing multiple virtual processors within a single virtual machine
US7606995B2 (en) * 2004-07-23 2009-10-20 Hewlett-Packard Development Company, L.P. Allocating resources to partitions in a partitionable computer
US7930539B2 (en) * 2004-08-03 2011-04-19 Hewlett-Packard Development Company, L.P. Computer system resource access control
US20060031672A1 (en) * 2004-08-03 2006-02-09 Soltis Donald C Jr Resource protection in a computer system with direct hardware resource access
JP2006099332A (ja) * 2004-09-29 2006-04-13 Sony Corp 情報処理装置、プロセス制御方法、並びにコンピュータ・プログラム
US20060107000A1 (en) * 2004-11-15 2006-05-18 Lee Jung-Ik Peer-based partitioning method for system resource sharing
US8924728B2 (en) 2004-11-30 2014-12-30 Intel Corporation Apparatus and method for establishing a secure session with a device without exposing privacy-sensitive information
US7412705B2 (en) 2005-01-04 2008-08-12 International Business Machines Corporation Method for inter partition communication within a logical partitioned data processing system
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
US20060212840A1 (en) * 2005-03-16 2006-09-21 Danny Kumamoto Method and system for efficient use of secondary threads in a multiple execution path processor
US7779164B2 (en) * 2005-04-04 2010-08-17 Oracle America, Inc. Asymmetrical data processing partition
US7653682B2 (en) * 2005-07-22 2010-01-26 Netapp, Inc. Client failure fencing mechanism for fencing network file system data in a host-cluster environment
US7809957B2 (en) 2005-09-29 2010-10-05 Intel Corporation Trusted platform module for generating sealed data
JP4762693B2 (ja) * 2005-11-22 2011-08-31 株式会社日立製作所 ファイルサーバ、ファイルサーバのログ管理システム及びファイルサーバのログ管理方法
US8307371B2 (en) * 2005-12-20 2012-11-06 International Business Machines Corporation Method for efficient utilization of processors in a virtual shared environment
US8521912B2 (en) * 2006-01-12 2013-08-27 Broadcom Corporation Method and system for direct device access
US7693811B2 (en) 2006-02-28 2010-04-06 International Business Machines Corporation Generating unique identifiers for logical partitions
JP5051121B2 (ja) * 2006-02-28 2012-10-17 富士通株式会社 パーティションプライオリティ制御システムおよび方法
US7590660B1 (en) 2006-03-21 2009-09-15 Network Appliance, Inc. Method and system for efficient database cloning
US8014530B2 (en) 2006-03-22 2011-09-06 Intel Corporation Method and apparatus for authenticated, recoverable key distribution with no database secrets
CN101059759B (zh) * 2006-04-21 2011-12-14 鸿富锦精密工业(深圳)有限公司 程序动态烧录的系统及方法
US7650469B2 (en) * 2006-09-06 2010-01-19 International Business Machines Corporation Determining whether a non-running processor has access to an address space
US7500023B2 (en) * 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US20080104586A1 (en) * 2006-10-27 2008-05-01 Microsoft Corporation Allowing Virtual Machine to Discover Virtual Status Thereof
US8185870B2 (en) * 2006-11-29 2012-05-22 International Business Machines Corporation Managing an application software partition
US8156370B2 (en) * 2006-12-22 2012-04-10 Hewlett-Packard Development Company, L.P. Computer system and method of control thereof
US7685401B2 (en) * 2006-12-27 2010-03-23 Intel Corporation Guest to host address translation for devices to access memory in a partitioned system
US8301673B2 (en) * 2006-12-29 2012-10-30 Netapp, Inc. System and method for performing distributed consistency verification of a clustered file system
US8205207B2 (en) * 2007-03-15 2012-06-19 International Business Machines Corporation Method of automated resource management in a partition migration capable environment
US8219821B2 (en) 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US7698530B2 (en) * 2007-03-28 2010-04-13 International Business Machines Corporation Workload management in virtualized data processing environment
US7617375B2 (en) * 2007-03-28 2009-11-10 International Business Machines Corporation Workload management in virtualized data processing environment
US7698531B2 (en) * 2007-03-28 2010-04-13 International Business Machines Corporation Workload management in virtualized data processing environment
US8219995B2 (en) * 2007-03-28 2012-07-10 International Business Machins Corporation Capturing hardware statistics for partitions to enable dispatching and scheduling efficiency
US8479208B2 (en) * 2007-03-30 2013-07-02 Intel Corporation System partitioning to present software as platform level functionality including mode logic to maintain and enforce partitioning in first and configure partitioning in second mode
US7827350B1 (en) 2007-04-27 2010-11-02 Netapp, Inc. Method and system for promoting a snapshot in a distributed file system
US7882304B2 (en) * 2007-04-27 2011-02-01 Netapp, Inc. System and method for efficient updates of sequential block storage
US8219749B2 (en) * 2007-04-27 2012-07-10 Netapp, Inc. System and method for efficient updates of sequential block storage
US7853744B2 (en) * 2007-05-23 2010-12-14 Vmware, Inc. Handling interrupts when virtual machines have direct access to a hardware device
US8527673B2 (en) 2007-05-23 2013-09-03 Vmware, Inc. Direct access to a hardware device for virtual machines of a virtualized computer system
US8605662B2 (en) * 2007-07-20 2013-12-10 Cisco Technology, Inc. Intelligent real access point name (APN) selection using virtual APNS
US20090049456A1 (en) * 2007-08-13 2009-02-19 Ibm Corporation Limiting receipt of unsolicited events by a logical partition in a data storage system
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US8312469B2 (en) * 2008-01-08 2012-11-13 International Business Machines Corporation Implicit interaction of portal application components
US8380674B1 (en) 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US8001298B2 (en) * 2008-02-14 2011-08-16 International Business Machines Corporation Providing extended measurement data in an I/O processing system
US7941570B2 (en) * 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US7937507B2 (en) * 2008-02-14 2011-05-03 International Business Machines Corporation Extended measurement word determination at a channel subsystem of an I/O processing system
US8140834B2 (en) 2008-02-26 2012-03-20 International Business Machines Corporation System, method and computer program product for providing a programmable quiesce filtering register
US8527715B2 (en) * 2008-02-26 2013-09-03 International Business Machines Corporation Providing a shared memory translation facility
US8458438B2 (en) * 2008-02-26 2013-06-04 International Business Machines Corporation System, method and computer program product for providing quiesce filtering for shared memory
US8380907B2 (en) * 2008-02-26 2013-02-19 International Business Machines Corporation Method, system and computer program product for providing filtering of GUEST2 quiesce requests
US8725986B1 (en) 2008-04-18 2014-05-13 Netapp, Inc. System and method for volume block number to disk block number mapping
GB2462258B (en) * 2008-07-28 2012-02-08 Advanced Risc Mach Ltd Interrupt control for virtual processing apparatus
US8892916B2 (en) * 2008-08-06 2014-11-18 International Business Machines Corporation Dynamic core pool management
US9449314B2 (en) * 2008-10-02 2016-09-20 International Business Machines Corporation Virtualization of a central processing unit measurement facility
US7827321B2 (en) 2008-10-02 2010-11-02 International Business Machines Corporation Central processing unit measurement facility
US9086913B2 (en) * 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers
US8949106B2 (en) * 2009-09-18 2015-02-03 International Business Machines Corporation Just in time compiler in spatially aware emulation of a guest computer instruction set
US8332542B2 (en) * 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
KR101833464B1 (ko) * 2010-02-02 2018-02-28 시게이트 테크놀로지 인터내셔날 디스크 장치와 외부 저장 매체 사이의 데이터 전송 방법 및 그 방법을 이용하는 시스템
US8359453B2 (en) 2010-09-13 2013-01-22 International Business Machines Corporation Real address accessing in a coprocessor executing on behalf of an unprivileged process
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US20150186180A1 (en) * 2013-12-30 2015-07-02 David W. Schroth Systems and methods for affinity dispatching based on network input/output requests
JP6151655B2 (ja) * 2014-03-11 2017-06-21 ファナック株式会社 数値制御装置
KR102254099B1 (ko) 2014-05-19 2021-05-20 삼성전자주식회사 메모리 스와핑 처리 방법과 이를 적용하는 호스트 장치, 스토리지 장치 및 데이터 처리 시스템
US10387314B2 (en) * 2015-08-25 2019-08-20 Oracle International Corporation Reducing cache coherence directory bandwidth by aggregating victimization requests
US9715466B1 (en) * 2016-09-23 2017-07-25 International Business Machines Corporation Processing input/output operations in a channel using a control block
US10735529B2 (en) 2017-12-07 2020-08-04 At&T Intellectual Property I, L.P. Operations control of network services

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4253145A (en) * 1978-12-26 1981-02-24 Honeywell Information Systems Inc. Hardware virtualizer for supporting recursive virtual computer systems on a host computer system
US4271468A (en) * 1979-11-06 1981-06-02 International Business Machines Corp. Multiprocessor mechanism for handling channel interrupts
US4399504A (en) * 1980-10-06 1983-08-16 International Business Machines Corporation Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US4480304A (en) * 1980-10-06 1984-10-30 International Business Machines Corporation Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
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
US4494189A (en) * 1982-04-26 1985-01-15 International Business Machines Corporation Method and means for switching system control of CPUs
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
DE3481945D1 (de) * 1984-08-17 1990-05-17 Amdahl Corp Datenverarbeitungssystem mit logischen prozessormitteln.
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS628341A (ja) * 1985-07-05 1987-01-16 Hitachi Ltd 光学的情報記憶再生装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日立評論,VOL.61,NO.12,1979−12,井村・小平・若井・梅野,仮想計算機システム"VMS",P.25−30

Also Published As

Publication number Publication date
DE3850181T2 (de) 1995-01-12
US4843541A (en) 1989-06-27
AU2001488A (en) 1989-02-02
CA1305799C (en) 1992-07-28
DE3850181D1 (de) 1994-07-21
EP0301275B1 (en) 1994-06-15
JPS6437636A (en) 1989-02-08
EP0301275A3 (en) 1992-02-26
EP0301275A2 (en) 1989-02-01
BR8803742A (pt) 1989-02-14
AU606187B2 (en) 1991-01-31

Similar Documents

Publication Publication Date Title
JPH0673108B2 (ja) ゲストに割り当てられたシステム資源に対するゲストの動作を制限する方法
US6711605B2 (en) Multi OS configuration method and computer system
JP2500045B2 (ja) 入出力チャネル・サブシステム・コ―ル命令制御方法およびcecの解釈実行方法
US20170249186A1 (en) Cpu scheduler configured to support latency sensitive virtual machines
JP3546678B2 (ja) マルチos構成方法
US5414848A (en) Method and apparatus for sharing a common routine stored in a single virtual machine with other virtual machines operating in a preemptive muli-tasking computer system
EP2191369B1 (en) Reducing the latency of virtual interrupt delivery in virtual machines
US8271989B2 (en) Method and apparatus for virtual processor dispatching to a partition based on shared memory pages
EP0093267B1 (en) Method for switching the control of central processing units in a data processing system, and apparatus for initiating the switching of cpu control
EP0218884A2 (en) Dynamic assignment of affinity for tasks and of system resources
EP0610677A2 (en) Bimodal communications device driver
JPH0619747B2 (ja) I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム
KR20060108711A (ko) 액티비티 정보를 이용한 가상 머신 관리
JPH01228027A (ja) アドレス空間管理方法
WO2016124259A1 (en) System and method for memory synchronization of a multi-core system
JP2009223842A (ja) 仮想計算機制御プログラム及び仮想計算機システム
JPH06243112A (ja) マルチプロセッサ装置
US8010963B2 (en) Method, apparatus and program storage device for providing light weight system calls to improve user mode performance
JP2001216172A (ja) マルチos構成方法
JP3019317B2 (ja) プロセススケジューリング方法
Tsai et al. On the architectural support for logical machine systems
US11385927B2 (en) Interrupt servicing in userspace
JPH0659919A (ja) 計算機システム
Kruk Prescript to the lectures Operating Systems (EOPSY)(work in progress)
JP2004038995A (ja) マルチos構成方法