JPS61272833A - デ−タ処理装置 - Google Patents

デ−タ処理装置

Info

Publication number
JPS61272833A
JPS61272833A JP61088408A JP8840886A JPS61272833A JP S61272833 A JPS61272833 A JP S61272833A JP 61088408 A JP61088408 A JP 61088408A JP 8840886 A JP8840886 A JP 8840886A JP S61272833 A JPS61272833 A JP S61272833A
Authority
JP
Japan
Prior art keywords
vmdbk
virtual
machine
guest
console
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP61088408A
Other languages
English (en)
Other versions
JPH0754471B2 (ja
Inventor
ジェームズ・ロバート・ウォルシュ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPS61272833A publication Critical patent/JPS61272833A/ja
Publication of JPH0754471B2 publication Critical patent/JPH0754471B2/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Abstract

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

Description

【発明の詳細な説明】 以下の順序で本発明を説明する。
A、産業上の利用分野 B、従来技術 C0発明が解決しようとする問題点 り0問題点を解決するための手段 E、実施例 el、MPシステムと実サービス・プロセッサをもつ装
置(第1図) e 2.  従属マシン(第2〜5図)e 3.  主
MPまたはUP構成へのサービス(第(5a、6d、7
a、7b図) F1発明の効果 A、産業上の利用分野 この発明は、一般的には実(ホスト)マシンのゲスト・
マシンである仮想マシンに関するものである。特に、こ
の発明は、仮想(ベース)マシンにサービスするかまた
は多重処理構成を形成するかのどちらかである従属仮想
マシンに関するものである。
B、従来技術 仮想ゲストが実(ホスト)ユニプロセッサ(Up)シス
テムまたは実(ホスト)マルチプロセッサ(MP)にロ
グ・オンするとき、ホストの記憶装置のある領域には仮
想マシン定義制御ブロック(ゲストVMDBK)が形成
される。この領域はゲストを定義するために必要な装置
情報と制御ブロックをすべて含んでいる。とのゲス) 
VMD BKのポインタは保持されている記憶領域、す
なわちホスト中核内の5YSGEN共通領域内にある。
データ処理装置の動作の間の任意の時点で、走行中のゲ
ス)VMDBKはいくつかのタイプ、例えばIBMシス
テム/370−XAまたはIBMシステム/370のう
ちの1つである。そのタイプは、VMDBKが形成され
て定義コマンドにより変換され得るとき割シ当てられる
。このVMDBKがあられす仮想CPUのアドレスは、
もし2つ以上のゲストがシステムにログ・オンするとき
大域巡回リスト(VMDCYOLE)と呼ばれるVMD
BKのチェイン中に含まれる。ゲストVMDBKは次の
ものを含む。
(1)ホスト・システムに対して仮想ゲストを記述する
ゲスト状態記述子。これは次のものからなる。
(1a)ゲストのモード(タイプ)、例えばシステム/
370の記述。
(1b)ゲスト・プログラム状況ワード(p sw)。
(1C)ゲストの制御レジスタ0〜15の内容。
e) ゲストの汎用レジスタ0〜15の内容。
(3)  ゲストの浮動点レジスタ0〜乙の内容。
米国特許第4456954号には、仮想(ゲスト)ユニ
プロセッサーシステムが実UPまたは実MPシステムで
エミュレートされることを可能ならしめる開始解釈実行
命令(SIE)について記述され、SIEは、オペレー
ション・コードト、制御ブロックの実主記憶(MS)中
のオペランド・アドレスからなる。この制御ブロックは
状態記述子(SD)であシ、上述のようにゲス) VM
D BKとともに収められている。このSDは、仮想シ
ステム、すなわち仮想記憶をもつ仮想CPUの状態と、
仮想システムが実(ホスト)システム上でどのように動
作する予定であるかを制御するためのある状態とを定義
するデータを受は取る複数のフィールドを含んでいる。
それゆえ、実主記憶中に存在する1つのSDは、仮想U
Pシステム、すなわち1つの仮想ゲストを定義する。そ
して、2個以上のSDは複数の仮想UPシステム、すな
わち複数のゲストを定義する。実(ホスト)システムが
、各々対応するSDによシ仮想ゲストを記述するSIE
命令を逐次的に実行するとき、複数の仮想ゲストが作動
している。呼び出しSIEと呼ばれる処理は、SIE命
令がホスト・プログラムの命令ストリーム中で実行され
るときには常に発生する。この処理は、実CPU中のマ
イクロコードとハードウェアが、SIE命令により呼び
出された仮想命令を支援するのを可能ならしめることに
よシ、エミュレートされるべきゲストに備える。
SIE命令が呼び出された後は、ゲスト・プログラムが
、SIE命令によシ指示されたSDによシ定義される仮
想ゲストの実行を開始する。
仮想MPシステムもまた、共通の実主記憶に緊密に連結
された複数の実CPUをもつ実MPシステム中に設ける
ことができる。そのような実MPシステムにおいては、
実UPシステムについて前に説明したように実主記憶中
の複数のVMD B Kの各々によって複数の仮想MP
システムが定義さる。こうして、複数のVMDBKの各
々が実MPシステム中の異なる仮想ゲストを定義する。
MPシステム中の実CPUの1つまたはそれ以上が、任
意の時点で、ゲスト・プログラムが個々のSIE命令の
もとで実行されるようなエミュレーション・モードにあ
ることができる。言いかえると、実MP主記憶中の異な
るVMDBKによって朧別された複数の仮想MPシステ
ムが同時にプログラムを実行することができる。
解釈実行についてのさらなる記述は、IBMジャーナル
・オン・リサーチ・アンド・デベロップメント(Jou
rnal  of Re5earch  andDev
elopment )Vol 、27、&6 、198
3年11月6日、P、H,ガム(gum)  による1
システム/370拡張アーキテクチヤ:仮想マシンのた
めの機構(System/370 ExtendedA
rchitecture  :  F’aeilit+
sis  forVirtual  Machine3
)# と題する論文に見出される。この他の関連情報は
特開昭60−171552号公報及び係属中の米国特許
出願第635388号にも見出される。
他には、コンピュータ(Computer )、IEE
JVol、9、I6.2.1976年2月、pI)、3
8−420G、D、バグレー(Baglay )による
1スカウトー拡張仮想マシン(The  5cout 
−An  Extended  Virtual  M
achine )”と題する文献も関連がある。スカウ
ト・マシンにおいては、1次ゲスト・オペレーティング
・システムをもつゲスト実記憶の一部が、1次ゲスト・
オペレーティング・システムを変更する能力をもつ特定
の(2次)オペレーティング・システムのために保持さ
れる。しかし、多くの問題によシ、スカウト・マシンの
概念は一般には受は入れられないものとなっている。例
えば、ゲスト・オペレーティング・システム間の衝突を
防止するためには2つのコンソールが必要であシ、ペー
ジ・ゼロを処理するために特定のゲスト・オペレーティ
ング・システムが変更され、I/O割シ込みは、それら
が正しいオペレーティング・システムを反映するように
解釈される。さらに、1次ゲスト・オペレーティング・
システムから2次ゲスト・オペレーティング・システム
までに実記憶の損失がある。
C1発明が解決しようとする問題点 この発明の目的は、あるシステム制御プログラム・コン
ソール機能の実行の間に、他のすべてのシステム制御プ
ログラム・コンソール機能を使用者に利用可能とするこ
とにある。
この発明の他の目的は、ベース仮想マシンCPUにサー
ビスを与えるとともに、そのサービスを要求するすべて
のベース仮想マシンのためのモデルとして使用すること
のできるプロトタイプ従属仮想マシンCPUを構成する
ことにある。
この発明のさらに他の目的は、任意の個数の仮想マシン
によって一度だけ使用されるプロトタイプ従属仮想マシ
ンCPUを構成するために、単一ディレクトリ中で従属
仮想マシンCPUのアーキテクチャを定義することにあ
る。
この発明のさらに他の目的は、仮想システムとその従属
仮想システムの両方について1個のコンソールを使用す
ることにある。
この発明のさらに他の目的は、ゲスト・サービスまたは
ゲスト・マルチプロセッサ構成のどちらかで従属仮想マ
シンを利用することにある。
この発明のさらに他の目的は、v=vまたはV=Rのゲ
ストのどちらかにサービスを与える従属仮想マシンを構
成することにある。
この発明のさらに他の目的は、主UPまたはMP構成の
記憶を共有しない従属仮想サービス・マシンを利用する
ことにある。
D1問題点を解決するための手段 本発明によれば、実CPUをもつ実マシンと、実記憶と
、I/O装置及びそのI/O装置を制御するために実C
PU中で走行するホスト・オペレーティング・システム
と、その上で走行するゲスト−オペレーティング・シス
テムをもつベース仮想CPUとを有するデータ処理装置
が与えられる。
この装置は、ベース仮想CPUに接続された従属仮想C
PUをもつ従属仮想マシンを具備している。
そのホスト・オペレーティング・システム・プログラム
は、ベース仮想マシン中で実行されるゲスト拳オペレー
ティング・システム・プログラムと、各従属仮想マシン
中で実行される少くとも1つのプログラムとともに実行
される。
E、実施例 el、 MPシステムと実サービス・プロセッサをもつ
装置 別のプロセッサ(単数または複数)にサービスするプロ
セッサは従来知られている。ハードウェアの観点から、
サービス・プロセッサ、例えば11M3082が、実(
主)UPシステム、例えばIBM3083、または実(
主)MPシステム、例えばI BM3081にサービス
と診断機能を与える( I BM3081は2個の集積
された中央処理装置をもち、その各々は中央記憶装置と
、I/O装置に連結するための2組のチャネルに等しく
アクセスし得る)。サービス・プロセッサは、それがサ
ービスするUPまたはMPシステムの記憶を共有する。
別のプロセッサにサービスするプロセッサが第1図のデ
ータ処理装置によって示されている。特に、このデータ
処理装置は、第1及び第2の実CPU1CPO,CPl
、システム制御装置SC。
主記憶MS及び外部データ制御装置EXDCを有シテい
る。各C’PUはバッファ制御要素B CI。
命令要素IE、実行要素EE及び制御記憶要素C8Eを
有している。そして、システムの初期化の間に、マイク
ロコードが、バッファとMSの指定された領域にロード
される。制御記憶要素C8Eは命令要素IEにマイクロ
コードの制御を与える。
IEは、マイクロコードの制御下にあって、MSから命
令を受は取って解釈し、適当な実行領域にオペランドを
指名するCPUの部分である。記憶オペランドは、IE
によシ、バッファ制御要素BCEから7エツチされる。
BCEは、CPUとシステム制御装置SCの間のデータ
経路及びCPU内のデータ経路を制御する。実行要素E
Eは、ハードウェアの制御下で命令を実行する。外部デ
ータ制御装置EXDCは、制御装置とI/O装置のため
のI/Oチャネルを支援するために、ハードウェアとマ
イクロコードの制御を与える。
第1図のデータ処理装置にはまた、MPシステムのため
の機能を与え且つ実行するための(実)サービス・プロ
セッサSPが含まれている。例えば、SPはほぼすべて
のコンソールに制御機能を与え、MPシステム中のすべ
ての動作をモニタし監視するために用意する。サービス
・プロセッサSPは、第1図に破線で表示されたように
、 MSとMPシステムの実CPUにアクセスを有する
s 2.  従属マシン 従属マシンは、第2図のデータ処理装置に示すように、
存在する仮想マシンと並列に構成(接続)された仮想マ
シンである。この場合、仮想マシン1はペース仮想マシ
ンまたはペースCPUと呼ぶことにする。ペースCPU
と従属マシン1aは、データ処理装置の主記憶中のホス
ト・オペレーティング・システムのゲストである(仮想
マシンnなどの別の仮想マシンも、MS中のホスト・オ
ペレーティング・システムのゲストとして構成すること
ができる)。従属仮想マシンは、そのペース・マシント
仮想マシン・コンソールヲ共有スル。
この従属マシンは特定の仮想マシンに類似性を有するの
で、ペース・マシン中で処理されているどのような活動
についても、従属マシン中で実行する機能を作成するこ
とができる。そして、すべての従属マシンの連絡をペー
ス・マシン、!: 同一+7) :7ンソールを通じて
行なうようにすることによシ、従属マシンで実行されて
いる機能を進行させるためにペース・マシンからログ・
オフまたは連絡を切断する必要がない(従属マシン環境
においては、従属マシンのオペレータのコンソール7%
、従Rマシンのオペレータが、システム制御プログラム
(sep)と連絡する装置である)。従属マシンのこの
態様は、(ペース・マシンの)使用者との対話を維持す
るホスト・オペレーティング・システム制御プログラム
(sep)コンソール機能の構築を可能とし、さらには
その他のすべてのsep機能がその対話の間使用者に利
用できるようにすることを可能とする。これにより、コ
ンソール機能の実行の間の他のすべてのSCPコンソー
ル機能についての、使用者に対する通常の使用不能が克
服される。また、論理的にはSC2内に所属していない
サービスを実行する何らかの大型の処理が従属マシン(
中のプログラム)の一部として与えられることがあシ、
そのとき従属マシンは仮想マシン・システム・スケジュ
ール及ヒ指名機能ヲ利用できるが、依然としてsep及
び計数処理からは分離することができる。そのようなサ
ービス機能ハ、スプール・ファイル編集プロクラム力、
SCP実行タイプの機能か、またはフォーマット・プロ
グラムである。従属マシンにプログラムを配置すること
によシ、サービス・プログラム(または機能)がsep
の内部機能領域から離隔され、以てホストSCPのサー
ビス・プログラムにおけるエラーに対する危険性が低減
される。尚、アプリケーション・プログラムのみならず
、オペレーティング・システム・プログラム及びサービ
ス−プログラムもまた各従属マシン中で実行され得る。
従属マシンは、VMDBKを作成するためのモジュール
HCPBVMに対する呼び出しと、LOGONモジュー
ルに対する呼び出しによシ構成される(特に、モジュー
ルI(CPLOGは仮想I/O装置を構成するために呼
び出され、モジュールHCPBvMは仮想CPUを構成
するために呼び出される。モジ!−ルHcPBVMはV
MD B Kを作成しそれを一部初期化する。モジュー
ルHCPLOGとHCPLGNI!VMDBKフィール
)’に残シのエントリを与える。モジュールHCPL0
GはHCPUDRを呼び出す。HCPUDRは、さらに
VMDBKを作成するためのブイレフ) IJ・エント
リを使用するモジュールである。これらのモジュールの
うちのいくつかについては後で説明する。)。呼び出し
者(使用者)は構築されるべき従属マシンのタイプを識
別する。もし従属マシンを構成するためにLOGONが
使用されるならば、すなわち使用者が、従属マシンの作
成を制御しその記憶をセット・アップするモジュール(
HCPADJ )を呼び出すsepコマンドを発行する
場合、ディレクトリのエントリは、仮想マシンとその構
成を定義するために使用される。すなわち、そのディレ
クトリはペース仮想マシンと、ベースCPUとともにゲ
ストMPシステムを形成することになる任意の初期従属
マシンを決定する。
その少しあとの時点で、使用者は、MP構成中で別のブ
トセッサとして使用されることになるか、または何らか
のサービス機能を走行させるサービス・プロセッサとし
て使用されることになる別の従属マシンを定義すること
ができる。従属(仮想)マシンは、対応する制御ブロッ
クと使用者のためのVMDBKを指定するフィールド及
びアドレスをもつ従属仮想マシン定義ブロック(従属V
MDBK)を構築することによって作成される。この従
属VMDBKは、フォーマット及び機能において、ゲス
ト(ベース)VMDBKに類似している。
両VMDBKは、仮想マシン構成を実現するために、ホ
スト・オペレーティング・システムにより、すなわち初
期的にはモジュールHCPBVM(後で説明する)によ
り作成される。従属VMDBKはベースVMDBKに緊
密に結合されうるものであシ、この場合、従属VMDB
Kは記憶とそのIloとを共有することができるのみな
らず、従属VMDBKがベースVMDBKとは異なシ自
身の記憶とIloをもつことを可能ならしめるように柔
軟結合サービス・システムを作成することもできる。仮
想I/O構成は、ベースVMDBKに対する接続機構の
列として特定のIloのシミュレーションを与えること
によシ、ホスト・オペレーティング・システム、すなわ
ちモジュールHCPLOGによって作成される。典型的
なVMD B Kのいくつかのフィールドが第5図に示
されている。
従属VMDBKが表示する従属マシンCPUのアドレス
は論理巡回リスト(VMDLCYCL)と称するチェイ
ンに含まれている。従属VMD B Kはさらに、ベー
スCPUに対して従属マシンを記述する従属マシン状態
記述子を含んでいる。さらに、VMDBKのタイプ、す
なわちベース(EQU  VMDTYPUS)または従
属(EQU  VMDTYPAD)のタイプを識別する
VMD T YPEフィールドが存在する。
従属マシンはベースCPUにサービスを与える目的で、
例えば制御プログラム・コマンドのシーケンスを実行す
る目的で作成される。そのようなサービス従属マシンに
は、有効化するために、プログラムすなわちゲスト・オ
ペレーティング・システムをロードする必要がある。こ
のプログラムは、初期プログラム・ロード(IPL)に
続いて直接アクセス記憶装置からロードすることができ
、あるいは多数のホスト−オペレーティング・システム
常駐装置からソフトウェア・モジュールとしてホストに
よりロードすることもできる。(言いかえると、spc
はゲスト記憶中に再ロードされるシステム・データ・フ
ァイル中にゲスト・オペレーティング・システムのイメ
ージを保持することができる)。選択された(IPLさ
れた)sepはゲス)MP構成及びホスト・オペレーテ
ィング・システム中の各従属マシンCPHに対応して作
業を作成することができ、次に従属マシンCPUを指名
することができる(仮想マシンの使用者がSCP  I
PLコマンドに入った後は、仮想マシンが初期的に仮想
マシンSCPコマンド環境に入ることは広く理解されて
いる)。従属マシンは、ペース・マシンと同時に走行す
るかまたは、ペース・マシンと交互に走行するために構
築される。
従属マシンの記憶はペース・マシンの記憶とは異なる(
このことはサービス従属マシンの場合にもあてはまる)
。現在実行中の従属マシンは、実MptたはUP構成と
記憶を共有することはない。
各従属マシンは特定のペース仮想マシンに対応づけられ
ているので、同一のペース・マシンに連結された従属マ
シンは局所巡回リストにつながれ、通常の大域巡回リス
) (GCL)にはつながれない。大域システム巡回リ
ストはシステムの各活動使用者毎のペース仮想マシンを
含んでいる。言いかえると、各活動使用者毎に、第3図
に示す仮想マシン定義ブロック(ゲストVMDBK)に
よって表示されるペース仮想マシン(ゲスト)が存在す
る。第3図は1〜nまでの各使用者のゲストvMDBK
を示しており、各ゲス)VMDBKは別の1つのゲスト
VMDBKに対するポインタを含む。最初のゲス)VM
DBKは実オペレーティング・システム(ホス)−オペ
レーティングもシステム)をあられすシステムVMDB
K中のポインタによって指定される(システム’/MD
 B KはScp中の固定部分であシ、システム初期時
間にシステムによって使用するために作成される。その
後のすべてのVMDBKは、チェイン、すなわちシステ
ムVMDBKで始tリシステムVMDBKで終わる大域
巡回リストに加えられる)。すなわち、最初のゲス)V
MDBKを指定するシステムVMDBKで開始され、最
初のゲストVMD B Kに指定が戻るn番目のゲス)
VMDBKtでに至るVMDBKポインタのチェイy(
VMDCYCLE)が大域システム巡回リストを形成す
る。この巡回リストはシステムVMDBKに連結されて
いるので、システムは、大域巡回リストを検索すること
によって(すべての活動使用者の)各活動ペース仮想マ
シンを検出することができる。しかし、従属マシンがペ
ース仮想マシンとともに構成される場合は、VMDBK
の局所巡回リス)(LCL)もまた作成される。言いか
えると、局所巡回リストはペース仮想マシン(単一使用
者)にのみ連結されていて、一般的には、システム(ホ
スト)コマンドがシステム上で活動している仮想マシン
の大域巡回リストを検索している間に、システム・コマ
ンドが従属マシンを検出しないようにする。第4図を参
照すると、もし1番目(i=1〜n)が1つまたはそれ
以上の従属マシンを利用しているとすると、局所巡回リ
ストが作成されることになり、これによりi番目のゲス
トVMDBK(ペース・マシン)が最初のi番目のゲス
ト従属マシンVMDBKを指定することになる。1番目
のゲス)VMDBKで開始され、指定が1番目のゲス)
VMDBKに戻る最後の(k番目)i番目のゲスト従属
マシンVMDBKに至るVMDBKポインタのチェイン
が局所巡回リストを形成する。1番目のペース・マシン
をあられすVMD BKは大域巡回リスト中に依然とし
て残っているが、システムは1番目のペース・マシンに
連結された従属マシン(から分離されている)を検出す
ることができない。局所巡回リストは単一の使用者のシ
ステムのみに関与し大域巡回リストからは分離している
ので、大域巡回リストは各活動ペース仮想マシン、すな
わち各ゲス)VMDBKを示すのミテ、従属マシン、す
なわち各従属VMDBKは示さない。その結果、1つの
活動ペース仮想マシンの局所巡回リストは、別の活動ペ
ース仮想マシンの巡回リストで使用されているVMDB
K名称の重複である二−モニツクVMDBK名称を含む
ことができる。このことは、もし局所巡回リストが大域
リストの一部であるなら許容されないことである。それ
ゆえ、従属マシンの単一ディレクトリの定義は、従属マ
シンの特定タイプのサービスを要求する(コマンドを発
行する)各々の使用者(ベース仮想マシン)のためのプ
ロトタイプとしての役割を果たす(従属マシンのタイプ
のアーキテクチャを定義する)ことができる。言いかえ
ると、スプール・ファイルの編集またはホスト制御プロ
グラム・コマンドのシーケンスの発行及び実行等のサー
ビス機能を与える従属マシンは、これらのサービスを要
求する使用者毎にではなく、一度だけ定義されることに
なる。一般的には、従属マシンのディレクトリ定義が、
単一のシステム・セツションの間に任意の数の設定従属
マシンを作成するためのプロトタイプとして使用するこ
とができる。このプロトタイプは、単一のペース仮想マ
シンまたは任意の数の異なるペース仮想マシンに対して
多くの類似する従属マシンを定義するために使用するこ
とができる。そのディレクトリは、各初期仮想マシン構
成、すなわち使用者によシ要求されたI/O装置とベー
ス及び従属仮想マシンを記述するレコードの列を含み、
システム・プログラマによって維持されるファイルであ
る(そのディレクトリは、システムに対するアクセスを
制御し、ログ・オンしようとしている使用者のだめの特
定の仮想マシン構成を記述するステートメントを与える
ために使用されるシステム・ボリューム(すなわちディ
スク・バック等)上の指定領域中の制御ブロックの列で
ある。このステートメントは、使用者識別、装置構成、
及びログ・オンの時点で使用者のために作成される仮想
マシンの初期セットアツプを含む。このディレクトリは
また、アクセスを要求する使用者以外の使用者によって
所有されているディレクトリに定義されている直接アク
セス記憶装置(DASD)ボリュームにアクセスする要
求を有効化するためにも使用される。
)。
もし仮想MPシステムが従属仮想マシンを使用して作成
されるならば、ディレクトリ中の情報は各活動ベース仮
想マシン毎の従属CPUの最大個数をあられす。マルチ
・プロセッサ構成の場合、各従属CPUは基本CPU1
すなわちシステム/370またはシステム/370拡張
アーキテクチヤと同一のアーキテクチャを持っている。
しかし、上述したように、もし従属マシンがサービス機
能、例えばスプール・ファイルの編集用に使用されてい
るならば、ディレクトリはベースCPUのアーキテクチ
ャとは異なる従属マシンのアーキテクチャを定義するこ
とになる。その結果、そのサービスを実行する従属マシ
ンは、そのベース・マシンがIBMシステム/370拡
張アーキテクチャを利用することができる間にIBMシ
ステム/370アーキテクチャを利用することができる
。サービス従属マシンのディレクトリ定義は必要ならば
、それと同一のサービスを実行するべく別の従属マシン
を作成するためのプo)タイプとして使用されることに
なる。
典型的なディレクトリは次のエントリを含む。
(1)  使用者識別、権限分類及び会計データ。
(2)  ポインタ11の種類、例えば通常またはプロ
トタイプ(サービス従属マシン)。
(3)  使用者のCPU記述(システム/370また
はシステム/370−XA)。
(4)定義され得る従属CPUの数。
(5)省略及び最大ゲスト(ペース仮想マシン)実記憶
サイズ。
(6)  使用者を共有された直接アクセス記憶装置に
接続するコマンド。
(7)  使用者自身の直接アクセス記憶装置の定義。
(8)使用者のプリンタと、パンチと、カード・リーダ
と、コンソールの構成。
(9)  自動的にプログラムを初期ロードされるべき
装置(もし存在するなら)。
VMDBKは仮想マシンについての状況情報を含む。V
MDBKに含まれていない仮想マシンについての情報は
、VMDBK中に右柱されているポインタによって指定
される。例えば、VMDBKは、仮想マシンのI/O構
成を記述するV I) E Vに対するポインタを含む
(VDEVは装置のタイプ、キュー(queue )さ
れたI/O要求、キューされたタスク、その所有者であ
るVMDBKに対するポインタ、及びそれの関連RDE
Vを含む)。
一部を第5図に示した典型的なVMDBKは次のような
フィールドを含む。
(1)  VMDCYCLEは、大域巡回!J、’、ト
・チェイン用の前進ポインタとして機能する大域巡回リ
スト・チェイン・ポインタである。このシステム中のす
べてのゲストVMDBKは第3図に示すように、システ
ムVMDBK中に在駐されていル単一スレッド(thr
ead )  チェイン中に連結されている。しかし、
システムVMDBKは巡回リストの中にはない。
(2)  VMDLCYCLは局所巡回リスト・チェイ
ンの前進ポインタとして機能する。従属仮想マシン構成
においては、その構成におけるすべての従属仮想CPU
を連結するために局所巡回リストが使用される。局所巡
回リストは、第4図に示すようにペースVMDBKに在
駐された単一スレッドの前進指定チェインである。
(3)  VMDORIGはLOGONで確立されたゲ
スト(ペース)VMDBKのアドレスを含み、局所巡回
リストのためのアンカー(anchor )である。従
属仮想VMDBKはペースVMDBKから定義される。
すべての従属VMDBKは、位置構成のペースVMDB
KをアドレスするためにVMDORIGを使用する。
(4)  VMDBASEは、記憶及びI/O構成を所
有するVMDBKのアドレスを含む(VMDBASEは
すべての従属マシンに対してその従属VMDBKを指定
する。)。
(5)  VMDTYPEはVMDBKのタイプ、例え
ばシステムVMDBKと、(ログオンから生じる)使用
者VMDBKと、従属VMDBKと、定義されたCPU
  VMDBK(仮想MP構成の一部)などである。
(5)  VMDCFREQはコンソール機能入力フラ
グである。このフィールドは、コンソール機能入力要求
を支援するために(以下で述べる)モジュールHCP 
CF’Mを入力するようにペースVMDBKが要求され
た時を表示する。このフィールドは、任意のコンソール
機能が実行される前にすべてのVMDBKがHCPCF
Mに入ることを保証するために使用される。これは、局
所巡回リスト中のすべてのVMDBKに、コンソール機
能を実行する前にENDOP(CPUがアイドルである
時点)に達することを要求する技術の一部である。
(7)  VMDCFDSPはコンソール機能END(
)P7ラグである。このフィールドは、ゲストがコンソ
ール機能モードのためにENDOPに保持されている時
を示す。モジュールHCPCF’Mは、コンソール機能
モードに入るためにVMD BKが停止されたときは何
時でもこのフィールドをセットする。このフィールドは
、別のVMDBKが走シ始める前にリセットされる。
(8)  VMDCFCPUは、SCP:r−vyドを
受は取ることになっているMP構成中のVMD BKの
アドレスを含む。(ペースCPUアドレスを含む)ペー
スCPUに関連づけられた従属VMDBKがこのフィー
ルドに割シあてられることになる。
(9)  VMDVRTERMは、使用者表示ステーシ
ョン実装置ブロック・アドレスを含む。これは、使用者
がログ・オンした端末のRD EVである。
(/O)VMDVCONSは、ゲスト・システム・コン
ソールに対応する仮想装置ブロック(VDEV)のアド
レスを含む。
(11)VMDCPUIDは、ゲストVMDBKが作成
されるときにログオンの時点で特定されるゲストCPU
を識別する。
(12)VMDCPSERは、ログオンまたはゲストの
ディレクトリにおいて特定されるゲストCPUの直列番
号を識別する。
(13)VMDCPUAD&’!、VMDBKが表示す
る仮想CPUの2進アドレスを含む。
(14)VMDCFCNTは、コンソール機能ENDO
Pカウントを含む。このフィールドの正の値は、仮想構
成中で走行するVMDBKのカウントをあられす。これ
のゼロの値はアイドル構成、すなわち仮想構成中のすべ
てのCPUがENDOPにあることを示す。これの負の
値は、コンソール機能がその構成のために走行している
ことを示す。このフィールドは、コンソール機能の処理
を直列化するためのC0N5OLE  FUNCTIO
N  LOCKである。このフィールドが排他的(VM
DCFCNT=O)に保持されると、コンソール機能タ
スクが走行中となり、いかなる第2のコンソール機能も
開始できない(このフィールドはHCPCFM出口処理
により変更されることになる)。
(15)VMDCFPNDは、コンソール機能がベンデ
ィングであることを示す。このフィールドは仮想マシン
構成のためのコンソール機能タスクの処理を制御する。
CFタスクが開始されると(VMDCFREQ=16進
IFF’l  )、このフィールドは、扱うべきよシ多
くのコンソール機能が存在する限、9CFタスクの活動
を維持するためにゼロにセットされる。
(16)VMDCFPDRKは、現在ノスヘテノコンソ
ールRBAD要求が処理された時にすべて1が割シあて
られる。このフィールドは、新しいREAD要求が何ら
ベンディングでないことを保証するためにテストされる
。もしこのフィールドがゼロを含むならば、そのフィー
ルドが位置するVMDBKのためにCP  READが
スケジュールされる。
従属仮想マシンまたはペース仮想マシンのすべてのコン
ソール(端末)動作はモジュールHCPCFM(CPの
コンソール機能管理)を介してホスト・オペレーティン
グ・システムによシ管理さレル(コンソールは、仮想マ
シン・オペレーティング・システムと連絡するために使
用される実際の端末の1つの態様であると考えられてい
る。端末は、仮想マシン中のゲスト・オペレーティング
・システムを初期化するべく仮想装置にプログラムを初
期ロードするために使用された後は、仮想マシン・コン
ソールとなる。しかし、その同一の物理端末がホスト・
オペレーティング・システムのみならずゲスト・オペレ
ーティング・システムとも連絡する。言いかえると、仮
想マシンがシステムにログオンするときは、その仮想マ
シンの仮想オペレータのコンソールが実際の端末のキー
ボードである)。システム・オペレータによる初期プロ
グラム・ロードの間は、実システムをコンソール機能モ
ード待機コマンドに配置するためにモジュールHCPC
FMが入力される。ゲスト仮想マシンの仮想マシン使用
者は、使用者の仮想マシンを初期化するためにホスト・
システムにLOGONコマンドを発行する(LOGON
コマンドはモジュールHCPLOGとHCPLGNとを
使用する)。LOGONコマンドに応答して、使用者の
ディレクトリ・エントリが予め確立されているファイル
から読み出される。そのディレクトリ・エントリに与え
られている情報を用いて、LOGONはモジュールHc
PBVMに、ヘ−、’1.CPUを定義するペースVM
DBKを構成することを要求する(そのディレクトリは
、新しく作成されたペースCPU上で走らせるべきオペ
レーティング・システムに初期プログラムをロードする
こともできる)。もしそのディレクトリが従属マシンの
ためのエントリをさらに含むならば、モジュールHCP
BVMは各々が従属プロセッサを表示するような追加的
なVMDBKを繰シ返し構成する。
この追加的なVMDBKは第4図に示すようにペースV
MDBKから(VMDLCYCLチェインに沿って)連
鎖されている。
従属VMDBKはゲス)VMDBKの特性を共有するこ
とができ、その場合、従属VMDBKはそのIloをも
共有してもよく、あるいはゲストVMDBKとは異なシ
固有のIloを有してもよい。その後者の場合、仮想I
/O構成が発生されなくてはならない時は常に、SCP
がタスク生成し、連結し、ゲス)VMDBKに対する接
続機構の列として特定されたIloのシミュレーション
を与える。
仮想マシンの初期化が完了すると、ホストSCPが、少
くとも1つのVMDBKと、少くトモ1つのVDEVと
、セグメント・テーブルとを作成しておシ、これらはす
べて自由記憶及び動的ベージング領域に記憶されている
仮想マシンが仮想記憶中のアドレスを参照するとすぐに
、CPがページを構築し、テーブルをスワップする。C
Pは、そのページ及びスワップ・テーブルのための動的
ページング領域から記憶を受は取る。この1ページは、
仮想マシンが占有する仮想記憶の1メガ・バイトに対応
する。
% ’):x−−ルHCP CF Mは、ケスト仮想マ
シン構成中のどのVMDBKを走行させるべきかを判断
し、ゲスト・マシンによる使用者端末(端末l/O)上
での情報読み取シまたは書き込み要求を管理し制御する
ためのSCPの一部である。端末I/Oに対する要求は
(ベースまたはその従属CPU上で走行するゲストSC
Pによシ、またはサービス従属CPU上で走行するサー
ビスSCPによシ、またはホスト・システムもしくはシ
ステム・オペレータから初期化することができる。もし
データ、例えばメツセージが一度に1ライン分端末のデ
スプレイに書き込む(表示される)ならば、混合メツセ
ージまたは部分的に終了されたメツセージという問題が
生じることはない。しかし、端末画面が一度に画面一杯
にデータを与えると、上記すべての要求が単一の端末に
対して同時に発生することが許容することは、すなわち
単一のディスプレイに書き込み要求を行うことであるの
で、不完全で困難したメツセージ(例えば不完全な、使
用者とシステムの対話)を生じかねないであろう。モジ
ュールHCP CFMは、例えばI/O実行要求を行っ
たゲスト(ペース・マシンまたは従属マシンを表示する
VMDBKに、そのコンソールの”所有権”を割シあて
ることによシ、この問題が発生するのを防止する。そし
て、工/O実行要求が認められたゲストは、実際にはメ
ツセージが個別のディスプレイ映像上でクループ分けさ
れているときに、あたかもその端末を“所有”している
かのように端末ディスプレイをそのメツセージを書き込
む。ゲストSCPは使用者がシステムをクリアするため
のキーを押すまで端末との間でデータのやり取シをする
。もし、システム、例えばサービス従属マシン、ゲスト
に対するホストSCPの連絡、ホスト・オペレーティン
グ・システムのオペレータからの(警告)メツセージま
たは他の使用者によってメツセージが発生されることが
ないなら、HCPCFMがゲストSCPに“クリア”割
シ込みをかけ、これによシ端末画面ディスプレイをブラ
ンクにする。この割シ込みは、あたかもゲストが実際に
(実)端、末を管理しているかのように、すなわち使用
者が端末上で表示クリア・キーを押したかのように受は
取られる。もしシステムがメツセージを発生したなら、
 ”表示クリア”割シ込みをゲストSCPに渡す前に、
HCPCFMがこれらのすべてのメツセージの書き込み
を許容する。もしシステムが端末に割シあてられている
間にゲストが端末との間でデータをやり取シしようと試
みると、HCPCFMは、システムがその端末を最早゛
所有”しなくなるまでゲストに使用中(busy)の状
況を受は取らせる。もし、使用者が予定の相応の時間(
この時間は、端末ディスプレイ上に表示されるメツセー
ジの緊急性に依存する)内に端末をクリアしないときは
、HCPCFMが端末自体をクリアする。このモジュー
ルは、もしゲストが別のゲストと同時に実行される予定
でないなら、その端末を引き渡そうとするゲストを留保
する。端末は、ペース仮想マシンと従属仮想マシンとの
間で、前後にスワップすることができる。
e 3.  主MPまたはUP構成へのサービスサービ
ス従続マシンには、主構成(maincon−figu
ration )  を検査するために使用されるプロ
グラムがロードされ得る。例えば、デバッグ・サービス
従属マシンが、主構成中で走行するSCPを検査し、テ
ストし、変更しあるいはデバッグするように、そのプロ
グラムはデバッグ・サービスを与えることもできる。
従属マシン中で重大なエラーが発生すると、そ゛のエラ
ーは仮想マシン中で走行するアプリケーション・プログ
ラムと同様に処理される。従属マシン中の機能に応じて
、その機能が終了されるかまたは、仮想マシンがリセッ
トされて記憶がクリアされる。
第6a及び6b図は、モジュールHCP B VMがど
のようにしてVMDBKを構成するかについて示すフロ
ーチャートである。
このフローチャートにおいて、ブロック/O0はいくつ
かの汎用レジスタ(GPR)からの入力パラメータを与
える。このパラメータは、仮想マシンのタイプ、(もし
使用者がこのように識別されているなら)端末RDEV
のアドレス、使用者(要求者)のVMDBKのアドレス
、モジュール(HCPBVMBK)に対する入口地点の
アドレス及び保管域のアドレスである(このモジュール
から出たとき、そのモジュールによって作成されたVM
DBKのアドレスが予定のGPR中にロードされる。以
下の記載を参照)。ブロック1/Oでは、実記憶のフレ
ームが新しいVMDBKのために得られる。このフレー
ムは新しいVMDBKを含み、 ′CP”と7ラグされ
てロックされる(もしV=−R(好ましいゲス))VM
DBKを確立するための要求がなされなかったなら、そ
の新しいVMDBKのために記憶にフレームが確保され
る)。ログ・オンで確立されたVMDBKのアドレスは
新しいVMDBK中のフィールドVMDORIGに与え
られ、そのゲス)MP構成の記憶とI/O構成を所有す
るVMDBKのアドレスはその新しイVMD B K1
7)フィールドVMDBASEに与えられる。
ブロック120は、チャネル・コマンド・ワード変換が
有効であることを示す。このCCWは、そのコマンドが
実行されるべきことを記述し、I/O動作を開始するコ
マンドに対しては、その動作に関連する記憶領域と、そ
の領域との間の転送が完了したとき行なわれるべき動作
(その他にも、この分野で広く知られている他のオプシ
ョンも)を指定する。
ブロック130は、作成されるべきVMDBKのタイプ
に応じて初期化されるべきVMDBK中の他のフィール
ドを用意する。VMDBKのタイプは新しいVMDBK
中のフィールドVMDTYPE中にコードされている(
他の初期化はスケジューラ・フィールド及びフレーム・
テーブル・ポインタに関与している。フレーム・テーブ
ル・ポインタは、使用者が現在はフレーム・テーブル・
エントリを所有しないように初期化される)。ブロック
130もまた、コンソール機能待機のための状況を指名
するための設定を用意する。そして、省略時メツセージ
・レベルがセットされ、使用者は末だシステムにログ・
オンしていないとしてフラグされる。使用者のページ・
ゼロは使用できないとしてフラグされ、“停止”状態に
置かれる。
このとき、そのVMDBKがマスターCPU上にのみ指
定されていることを示すためにフラグがセットされ、ま
た陰のテーブルが存在しないことを示すために7ラグが
セットされる。ゲス)CPUIDがデフオールド値、す
なわちホストCPUIDに初期化され、すべての外部側
シ込みがベンディングであシ有効化されているとしてセ
ットされることになる(これは、後でタスク指名によシ
訂正される)。
ブロック140はVMDBK自由記憶領域を初期化する
ブロック150はチャネル割シ込みブロック、保管域ブ
ロック及び仮想CPUタイマのためのタイマ要求ブロッ
クなどの制御ブロックに記憶を割シ振る。このとき命令
オペランド・バッファも割)振られる。
ブロック160は、セットされるべきシステム/370
モード・デフオールドを用意する。
ブロック165は、作成されつつあるVMD BKがペ
ース・マシンのためのものであるか、または仮想MP構
成における従属マシンのためのものであるかを判断する
ためのテストを与える(もし作成されるべきVMDBK
が従属マシンまたはペース・マシンのどちらかのための
ものであるならば、新しいVMDBK中にプロセッサ制
御データ・ブロック(FINBK)のためのスペースが
割シ振られることになる)。
ブロック170は、もしその作成されているVMDBK
がペースまたは従属マシンのためのものであるならば、
FINBKに自由記憶を割シ振る。
そうでなければ、ブロック180が、(前に作成された
)ベースVMDBKから得られ新しいVMDBKのフィ
ールドに記憶されるべきF INBKのアドレスを用意
する。
ブロック185は、セグメントがゼロ、すなわちもしそ
のセグメントが生成されておらずまたは無効(コア中に
ページがない)ではないなら通常そのゲストにはアドレ
スできないことを示すために、そのゲストのセグメント
・テーブル・エントリを初期化する。また、そのゲスト
のセグメント・テーブル・起点へのポインタも初期化さ
れる。
ブロック190は、監視−呼び出し割シ込みを代行受信
するために新しいVMDBKを用意する。
SVC代行受信は、命令5UPERVISORCALL
が実行されるとき生じる。このSVC代行受信は、古い
プログラム状況ワード(psw)を予定の実位置に記憶
させ、新しいpswを予定の実位置からフェッチさせる
ブロック200は、使用者が自動ログされた使用者であ
るか、またはあるタイプの端末にログ・オンされた使用
者であるかを判断するためのテストを与える。後者の場
合、実質的に新しいVMDBKが作成される。そうでな
ければ、新しいVMDBKは、ログ・オンに使用されて
いる端末のタイプに基づきさらに初期化される(自動ロ
グされた使用者とは、その仮想マシンがSCP初期化処
理の間に自動的にログオンされ、または使用者の自動ロ
グされるべきディレクトリ・エントリに記述されている
ような1次システム・オペレータである)。ブロック2
/Oは、使用者の端末のタイプに基づき新しいVMDB
Kの初期化の継続を用意する。使用者はこのとき実装置
制御ブロック(RDEV)によ)識別されることになる
ブロック220は、新しいVMDBKのために一時的な
ログオンIDを作成する。
ブロック230は、このデータ処理装置上で現在活動し
ているVMDBKの巡回リストに指名されるべき新しい
VMDBKを用意する。
こうしてモジュールHCPBVMが−たん完了すると、
新しいVMDBKが作成され、クリアされ、(部分的に
)初期化されて他のVMDBKに連鎖されている。汎用
レジスタ11は、現在作成されたばかりのVMDBKを
含んでいる。
第78及び7b図は、モジュールI(CPCFMの動作
をあられすフローチャートをあられす。このモジュール
は一般的には使用者の端末からのCP  READ(制
御プログラム)要求を処理し、処理のためそれらを適当
なコンソール機能ルーチンに案内し、ENDOPに保持
されている仮想MPによりcp機能を開始する(コンソ
ール機能とは、システム・オペレータが実際の端末で実
行するタスクである)。すべての仮想MPが停止したと
き、HCPCFMは、どのVMDBKが特定のコンソー
ル機能動作をベンディングとし、そのコンソール機能に
制御を渡すかについて判断する)。
ブロック300は、コマンド・ラインを読み取シ処理す
るために必要な入力パラメータを用意する。それらのう
ち最も重要なパラメータは、使用者のVMDBKアドレ
スである。
ブロック3/Oは、コンソール機能処理が開始可能とな
る前に、局所巡回リスト(仮想MPシステム)中の各V
MDBKifENDOP (命令動作終了)になければ
ならないことを要求する(ENDOPはいかなる命令シ
ミュレーションも活動していない、すなわちゲスト命令
ストリームの実行が命令の間にあることを示す)。その
巡回リストの保留ロックが得られる。局所巡回リスト中
の各VMDBKが走査されると、局所巡回リスト・ロッ
クカリリースサれ、各V M D B KはENDOP
に設定される(I(CPCFMは、コンソール機能タス
クが、HCPCFMにより実行されるべくキューされて
いることをSCPが認識した時に仮想プロセッサにEN
DOPで停止することを命じるVMDBK中のフラグを
セットする)。使用者は、コンソール機能モードへ入る
ことが要求され、局所巡回リスト中で別のVMDBKに
転送が行われるときに、そのモジュールを出てディスパ
ッチャ(dispatcher )へ至る。使用者はま
た、CF’Mへ入ることが要求され、(使用者のVMD
 B Kを除いて)すべてのVMDBKがENDOPに
はないときにもそのモジュールを出てディスパッチャへ
至る。さらにまた、使用者は、実行されるべきコンソー
ル機能動作が残っておらf、(VMDBKがログ・オフ
しているときに仮想マシンが実装置からの応答を待って
いるのでないならば)局所巡回リスト中の仮想マシンが
走行するようにセットされているときにも使用者はこの
モジュールを出る。使用者はさらに、CFMに入ること
以外のよシ優先度の高い機能が実行されなくてはならな
い時にもこのモジュールを出る(フィールドVMDCF
DSPの内容が、VMDBK中17)フィールドVMD
CFONTの内容と一致してないときkは、エラーが生
じ、使用者はこのモジュールを出る。これらのフィール
ドは、前忙説明されている)。
ブロック320は、コンソール機能処理、例えば(使用
者にデータ入力を促すことを)開始するためのCF  
READ要求を用意する。仁の時点で、局所巡回リスト
中のすべてのVMDBKはENDOPになくてはならず
、ログ・オフしているVMDBKからの任意のI/O要
求応答は削除されなくてはならない(sepは、その構
成のすべてのプロセッサがENDOPに到達している時
のみ、仮想CPUのためにいくつかの機能をシミュレー
トすることができる)。
ブロック330は、どれかのVMDBKがログ・オフし
ているかどうかを判断するために巡回リスト中の各VM
DBKのVMDFORCEを検査する(最も優先度が高
いコンソール機能がログオフ機能である)。もしログオ
フされるべきVMDBKが使用者のVMDBKではない
なら、モジュールはログオフしているVMDBKにスワ
ップする。もしログオフしているVMDBKがベースv
MDBKではないなら、モジュールは、ログオフしてい
るVMDBKが使用者のコンソールの所有権を持ってい
るかどうかを判断する。そして、もしそうなら、所有権
は放棄されなければならない。
また、ペースVMDBKが指名される。ログオフ手続き
が次に呼び出され、システムから非ベースVMDBKが
除去される。
ブロック340は、選択されるべき最も高い優先度のコ
ンソール機能を含むVMDBKを用意する。もしとのV
MDBKが現在のVMDBKであるなら、CFMが進行
する。そうでなければ、選択された(最高優先度の)V
MDBKK切換えが行われ、すでに終了しているEND
OPの同期化に続く時点でHCPCFMに再び入る。次
にコンソールがこの(最高優先度)VMDBKによって
使用される(第7a図においては、HCPCF’Mへの
再入力が2イン345によって示されている。
すなわち、ライン345は、CF処理開始の直前にモジ
ュールHCPCFMへの再入力が行われることを示す)
。次のような(最高から最低への)階層によシ、実行す
ることのできる残シのcp機能動作の優先権が確立され
る。
(1)スタックされたコンソール機能出力の処理。
(2)モしベンディングであるなら追跡ディスプレイの
実行。
(3)  (CP E B Kの検査によって)ベンデ
ィングであるなら、CF’M呼び出しの発行。
(4)コンソール機能バッファ中でのコマンドの実行。
(5)ベンディング・コンソール機能読み取シの発行(
最低優先度)。
もし最高優先度のVMDBKが選択されたならば、(そ
の最高優先度のVMDBKへの)切換が行われた前のV
MDBKはログオフされず現在のVMDBKがシステム
に対してログオンされない。
こうして1つのコンソールが各VMDBKによって共有
される。
上記“スタックされたコンソール機能出力の処理”動作
は表示すべきコンソール機能出力を用意する。しかし、
もし使用者がログオフの処理中かまたはそのライン出力
に介入しそれを停止しているならば、この動作はCF比
出力与えることがない。
もしベンディングのCFM呼び出しが1つのVMDBK
上で生るがそれが異なるVMDBK上で実行されなくて
はならないなら、 1もしペンディングであるならCF
M呼び出しの発行”動作が、そのベンディングCFM呼
び出しを発生したVMDBKから、CFの実行を意図さ
れたVMDBKへ、ベンディングCFM呼び出しを移す
。このことは、仮想マシンのオペレータがCPUコマン
ドを、仮想構成中のCPUにコマンドを導くために使用
する場合に生じうる。もしCFM呼び出しがないなら、
この動作はコンソール読み取りを探すことになる。
ブロック350(第7a図と第7b図に示されている)
はコンソール機能処理が終了することを示す、。即ち;
そρ仮想構成について全てのコンソール機能は完全であ
る。また、任意の走行可能な従属マシンがあるかどうか
を判断するために局所巡回リストが走査される。そして
走行可能な従属マシンが存在するなら、そのコンソール
に連結された走行可能な従属マシンに対してスワップが
行われる。もし走行可能な従属マシンが存在しないのナ
ラ、ペース仮想マシンがコンソールに連結され、そのペ
ース・マシンに対してスワップが行われる。
第7b図は、コンソール機能処理が終了し、走行中のV
MDBKが存在しているか否かを判断するために局所巡
回リストが走査される場合に生じる状況を示す(上記ブ
ロック650を参照)。ブロック400は、局所巡回リ
スト中のどれかの従属マシンが走行可能か否かを判断す
る。もし走行可能な従属マシンが存在しなければ、GP
Rllがペース・マシンVMDBKを指定するように(
GPRl 1の内容の)スワップが行われる(ブロック
4/O)。コンソールの所有権は以下で述べるようにし
てペース・マシンに与えられる(ブロック420)。尚
、GPR9は復帰コードを含む。
もし活動するcpゲストI/Oが存在するなら、遊休ゲ
スト用の全画面はそのIloを表示するために留保され
なければならない(ブロック425)。
そうでなく、走行可能な従属マシンが存在するなら、G
PRllが、走行中の従属マシンVMD BKを指定す
るようにスワップが行われる(ブロック430)。次に
コンソールはこの従属マシンによって所有される(ブロ
ック440)。次に、その従属マシンが走行するために
、保管域とともに制御プログラム実行ブロック、すなわ
ちCPEXブロック(またはCPEBK)が作成される
(ブロック450)。
どの場合でも、CPUが走行可能であるなら(ブロック
460)、CF  READがベンディングでない場合
(ブロック470)に仮想マシンVMDBKが走る(ブ
ロック480)。もしCFREADがヘンディング(V
MDBK中(7)VMDCFPDRフィールドの説明を
参照)であるなら、コマンド処理が行われ(ブロック4
75)、C1Mタスクが再開される(ブロック3/Oに
行く)。
実際、モジュールHCPCFMは、仮想構成のために処
理すべき要求がそれ以上なくなるまで巡回し続ける。
もしCPUが走行可能でないなら(ブロック460)、
1ラン・オフ・セット(set  runoff )”
 が有効になるときコンソール機能READが要求され
る。もしすべてのCPUが停止しているなら、走行する
予定であったタスクがスタックされ(ブロック463)
、CF  READがベンディングにされる(コンソー
ル機能READの通知が完了すると(前記VMDCFP
DRの説明を参照)GPRlがコンソール読み取シ一般
システム・データ・ブロック(GSDBK)のアドレス
を含むことになる)。
コンソールを特定のVMDBKに連結することは、はぼ
次のようにして行われる。
(1)仮想装置(VDEV)ロックが入手される(この
ことは、仮想コンソールへの出力が停止した後に行われ
る)。
(2)  もしロックが入手された稜“待機”が要求さ
れたなら、VDEVロックがドロップされ、ディスパッ
チャが入力される。そうでなければ、VDEVロックが
保持され、実装置(RDEV)ロックが入手される。
(3)すでに連結されている仮想装置ブロックとコンソ
ール実装置ブロックの間のポインタがり   ′リアさ
れる。
(4)RDEV及びVDEVelツクがリリースされる
(5)実装置ブロックがペース/従属VMD B Kの
ための仮想コンソール装置ブロックに接続される。
(6)次にRDEV及びVDEVロックが入手されリリ
ースされる(VDEVは仮想マシン装置構成の一部であ
る仮想装置の記述を含む仮想装置ブロックである。それ
は、シミュレーション及び状況情報のみならず別の装置
特性をも含む。
この構成の各仮想装置毎に1つのVDEVが存在する。
sepは、初期仮想装置構成を作成するためにディレク
トリ中の情報を使用する。RDEVは実システムの実装
置構成の一部である実装置の記述を含む実装置ブロック
である。このRDEVはまた、装置記述のみならず状況
情報も含む。
F1発明の効果 以上のように、本発明に基づく従属マシンを含む構成に
よれば、あるシステム制御プログラム・コンソール機能
の間に、それ以外のシステム制御プログラム・コンソー
ル機能が使用者に利用可能となる、という効果が得られ
る。
さらにこの発明によれば、1個のコンソールで、仮想シ
ステムとその従属仮想システムの両方を使用することが
できる。
【図面の簡単な説明】 第1図は、MPシステム及び実サービス・プロセッサを
もつデータ処理装置のブロック図、第2図は、従属マシ
ンを含むデータ処理装置のブロック図、 第3図は、大域巡回リストを示す図、 第4図は、局所巡回リストを示す図、 第5図は、ゲストVMDBKのエントリを示す図、 第6a図及び第6b図は、第2図のデータ処理装置の使
用者のためにVMDBKを作成し、一部を初期化する動
作を示すフローチャート、第7a図及び第7b図は、仮
想MPがENDOPに保持された後にどのようにしてコ
ンソール機能処理を開始することができるか、特にどの
ようにして選択された使用者のVMDBKが同一のコン
ソールを共有できるかを示すフローチャートである。 出願人インタi九eナル・ヒ々ス・フシ−2ズ・コづ幀
ト→タン4追蔦マーJン吃含む梶戊 第2図 第4図 第5図 デストVMDBにのエントリ VMO8に

Claims (1)

  1. 【特許請求の範囲】 (a)主記憶とI/O装置と、該I/O装置を制御する
    ためのホスト・オペレーティング・システム・プログラ
    ムを走らせる実CPUとを有する少くとも1つの実マシ
    ンと、 (b)ゲスト・オペレーティング・システム・プログラ
    ムを走らせるベース仮想CPUを有するベース仮想マシ
    ンと、 (c)複数の従属仮想マシンとを具備し、 上記複数の従属仮想マシンは、上記ホスト・オペレーテ
    ィング・システム・プログラムが、上記ベース仮想マシ
    ン中で実行されるゲスト・オペレーティング・システム
    ・プログラムと上記複数の従属仮想マシンの各々で実行
    される少くとも1つのプログラムとともに上記実CPU
    中で実行されるように上記ベース仮想CPUに接続され
    てなるデータ処理装置。
JP61088408A 1985-05-23 1986-04-18 デ−タ処理装置 Expired - Lifetime JPH0754471B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/737,355 US4660144A (en) 1985-05-23 1985-05-23 Adjunct machine
US737355 1985-05-23

Publications (2)

Publication Number Publication Date
JPS61272833A true JPS61272833A (ja) 1986-12-03
JPH0754471B2 JPH0754471B2 (ja) 1995-06-07

Family

ID=24963586

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61088408A Expired - Lifetime JPH0754471B2 (ja) 1985-05-23 1986-04-18 デ−タ処理装置

Country Status (9)

Country Link
US (1) US4660144A (ja)
EP (1) EP0210345B1 (ja)
JP (1) JPH0754471B2 (ja)
AU (1) AU579234B2 (ja)
BR (1) BR8602065A (ja)
CA (1) CA1234634A (ja)
DE (1) DE3665946D1 (ja)
ES (1) ES8707351A1 (ja)
MX (1) MX165180B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097602A (ja) * 2006-10-10 2008-04-24 Internatl Business Mach Corp <Ibm> 仮想マシンのための多数コンフィギュレーションによる通信管理のためのシステム、方法、およびプログラム

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4975836A (en) * 1984-12-19 1990-12-04 Hitachi, Ltd. Virtual computer system
JPS61190638A (ja) * 1985-02-20 1986-08-25 Hitachi Ltd 仮想計算機のフアイル制御方式
JPS61206057A (ja) * 1985-03-11 1986-09-12 Hitachi Ltd アドレス変換装置
US4849880A (en) * 1985-11-18 1989-07-18 John Fluke Mfg. Co., Inc. Virtual machine programming system
JPS62159239A (ja) * 1985-12-30 1987-07-15 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 仮想マシンの編集システム
JPH0658650B2 (ja) * 1986-03-14 1994-08-03 株式会社日立製作所 仮想計算機システム
US4920481A (en) * 1986-04-28 1990-04-24 Xerox Corporation Emulation with display update trapping
US5088033A (en) * 1986-04-28 1992-02-11 Xerox Corporation Data processing system emulation in a window with a coprocessor and I/O emulation
US5038281A (en) * 1986-09-19 1991-08-06 International Business Machines Corporation Acceleration of system interrupts between operating systems in guest-host relationship
US5062040A (en) * 1986-12-22 1991-10-29 At&T Bell Laboratories Handling of notification of asynchronous events by user and stub processes of a distributed process executing on a plurality of processors of a multi-processor system
US4845624A (en) * 1987-03-05 1989-07-04 International Business Machines Corporation Relational data base lock avoidance system
JPH02151926A (ja) * 1988-12-02 1990-06-11 Fujitsu Ltd 端末装置切替方式
US5339418A (en) * 1989-06-29 1994-08-16 Digital Equipment Corporation Message passing method
JP2708608B2 (ja) * 1990-05-25 1998-02-04 富士通株式会社 仮想計算機のipl処理方式
US5381535A (en) * 1990-10-24 1995-01-10 International Business Machines Corporation Data processing control of second-level quest virtual machines without host intervention
US6411697B1 (en) * 1999-05-20 2002-06-25 International Business Machines Corp. System and method for providing customer personalized and modifiable subscriber services
JP4291964B2 (ja) * 2001-04-19 2009-07-08 株式会社日立製作所 仮想計算機システム
US20050060704A1 (en) * 2003-09-17 2005-03-17 International Business Machines Corporation Managing processing within computing environments including initiation of virtual machines
US7082981B2 (en) * 2004-02-09 2006-08-01 Perez Jr Jose R Retractable pet guard
US7975270B2 (en) * 2004-03-10 2011-07-05 International Business Machines Corporation Facilitating allocation of resources in a heterogeneous computing environment
US8972977B2 (en) * 2004-06-30 2015-03-03 Microsoft Technology Licensing, Llc Systems and methods for providing seamless software compatibility using virtual machines
US20070283147A1 (en) * 2006-05-30 2007-12-06 Fried Eric P System and method to manage device access in a software partition
CN104025032B (zh) * 2011-12-30 2018-03-30 英特尔公司 处理作业至辅助处理器的直接环3提交
CN103150279B (zh) * 2013-04-02 2015-05-06 无锡江南计算技术研究所 一种主机与基板管理控制器共享设备的方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
JPS6057438A (ja) * 1983-09-08 1985-04-03 Hitachi Ltd 仮想計算機システム制御装置
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008097602A (ja) * 2006-10-10 2008-04-24 Internatl Business Mach Corp <Ibm> 仮想マシンのための多数コンフィギュレーションによる通信管理のためのシステム、方法、およびプログラム

Also Published As

Publication number Publication date
EP0210345A2 (en) 1987-02-04
EP0210345A3 (en) 1987-12-09
JPH0754471B2 (ja) 1995-06-07
ES555235A0 (es) 1987-07-16
AU5572586A (en) 1986-11-27
ES8707351A1 (es) 1987-07-16
AU579234B2 (en) 1988-11-17
DE3665946D1 (en) 1989-11-02
EP0210345B1 (en) 1989-09-27
CA1234634A (en) 1988-03-29
BR8602065A (pt) 1987-01-06
MX165180B (es) 1992-10-30
US4660144A (en) 1987-04-21

Similar Documents

Publication Publication Date Title
JPS61272833A (ja) デ−タ処理装置
US6711605B2 (en) Multi OS configuration method and computer system
JP5015665B2 (ja) カーネル間でカーネル・サービスを共用するための方法、装置、およびコンピュータ・プログラム
US5553291A (en) Virtual machine control method and virtual machine system
US9189291B2 (en) Sharing a kernel of an operating system among logical partitions
US5062042A (en) System for managing data which is accessible by file address or disk address via a disk track map
JPS58151655A (ja) 情報処理装置
JPH0792761B2 (ja) 仮想計算機システムの入出力制御方法
JPH0673108B2 (ja) ゲストに割り当てられたシステム資源に対するゲストの動作を制限する方法
US7574696B2 (en) Multiprocessor application interface requiring no utilization of a multiprocessor operating system
US5355488A (en) Method for adaptively building a library of program threads
Davis et al. A building block approach to multiprocessing
JP2866588B2 (ja) 処理プロセス間で制御の移転を行うシステムおよび方法
JPH0552535B2 (ja)
JPH086819A (ja) デバイスドライバプログラムのテスト装置およびその方法
Gupta et al. Operating system
JP3075359B2 (ja) プログラムデバッグ開始処理方式
JPH10222361A (ja) 計算機等の処理装置におけるromプログラムモニタ装置
JPH0991237A (ja) 周辺装置のリソース管理装置
JPS635790B2 (ja)
JPH0820962B2 (ja) 高級言語処理方法
SITKIN et al. A real-time Kernel for a 1750A-based multiprocessor
JPS6210758A (ja) プロセツサモジユ−ル
JPS61240333A (ja) 入出力割込処理方式
Davies Operating systems for experimental physics