JPH07219793A - 処理プロセス間で制御の移転を行うシステムおよび方法 - Google Patents

処理プロセス間で制御の移転を行うシステムおよび方法

Info

Publication number
JPH07219793A
JPH07219793A JP6262194A JP26219494A JPH07219793A JP H07219793 A JPH07219793 A JP H07219793A JP 6262194 A JP6262194 A JP 6262194A JP 26219494 A JP26219494 A JP 26219494A JP H07219793 A JPH07219793 A JP H07219793A
Authority
JP
Japan
Prior art keywords
processor
processing system
command
control
computer
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
JP6262194A
Other languages
English (en)
Other versions
JP2866588B2 (ja
Inventor
Bernd Dowedeit
バーンド・ドエダイト
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 JPH07219793A publication Critical patent/JPH07219793A/ja
Application granted granted Critical
Publication of JP2866588B2 publication Critical patent/JP2866588B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

(57)【要約】 【目的】あるプロセスから別のプロセスへ制御を移すこ
とを可能にするコンピュータ・システムの装置と方法を
記述する。 【構成】本発明は、コンピュータ・システムの制御を切
り換えるため、入出力スーパーバイザと本発明による制
御機構とを使う。2つのプロセスの間のデータの転送
は、データ・プールを通して、行われる。このデータ・
プールは、制御機構を介して両方のプロセスからアクセ
ス可能である。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入出力スーパーバイザ
に接続し、第1のプロセスを実行する第1のプロセッサ
と、ディスパッチャと、第2のプロセスを実行する第2
のプロセッサとから構成された、コマンドを実行するコ
ンピュータ処理システムに関するものである。
【0002】
【従来の技術】REXX、すなわち、Restructure Exte
nded Executor、は、明確な、構造化された方式でプロ
グラムを書くことを可能にするIBM社が開発したプロ
グラム言語である。その主な特徴には、強力な文字スト
リング処理、自動データ・タイプ変換および高精度演算
が含まれる。REXXを自動タスクに使うことは、他の
方法に比較して、生産性、整合性、簡略化および使用性
の向上という長所を持つ。加えて、REXXはSAA
(システムズ・アプリケーション・アーキテクチャ)言
語であるので、REXXプログラムとREXXの知識
は、ともに、複数システム間での可搬性を持っている。
【0003】REXX言語は、特に次の面に適してい
る: ・コマンド・プロシージャ ・アプリケーション・フロントエンド ・ユーザ定義マクロ ・プロトタイピング ・パーソナル・コンピュータ REXXは、PL/1のような多目的プログラム言語で
あり、IF、SELECT、DO、WHILE、LEA
VEのような「構造化されたプログラミング」命令およ
びその他の有用な組み込み関数を有している。言語プロ
セッサ(インタープリタ)が、REXXプログラムを実
行させる。すなわち、プログラムは最初の形式が別の形
式に変換される(すなわちコンパイルされる)ことな
く、各行毎に、また、逐語的に処理される。ユーザにと
って、この処理の長所は、プログラムが何らかの構文誤
りで異常終了する場合、異常のポイントが明示されるこ
とにある。REXXプログラム言語は、現在、IBM
VMオペレーティング・システム、IBMオペレーティ
ング・システム/400(OS/400)およびIBM
オペレーティング・システム/2(OS/2)のような
いくつかのオペレーティング・システムの下で使用可能
である。
【0004】VMオペレーティング・システムは、多く
のユーザが同時にコンピュータを使用することができる
対話式オペレーティング・システムである。VMは、各
ユーザの使用のため、1つの閉じたシステム(いわゆる
仮想計算機)を、システムの他のユーザから分離して、
生成する。これによって、多くのユーザが1つのコンピ
ュータを使用することができる。各ユーザは、プリンタ
やディスク装置のような周辺装置を、他のユーザを気に
することなくあたかもそれら装置が自分だけのオペーレ
ーティング・システムに接続されているかのように使用
することができる。すなわち、VMオペレーティング・
システムは、潜在的な使用競合を解決する。ユーザの仮
想機械は、コマンド言語を使用して端末またはワークス
テーションから制御される。
【0005】VMオペレーティング・システムの構成要
素に対応するコマンド言語は、次の通りである: ・周辺装置を含む物理的コンピュータ・システムである
実計算機の資源を制御する制御プログラム(CP)、 ・CPの下で動くように設計された会話式オペレーティ
ング・システムであり、オペレーティング・システムと
ディスク・オペレーティング・システムの機能の多くを
シミュレートすることができ、そのため対話式または会
話式システム環境で実行できる会話式モニタ・システム
(CMS)、および、 ・ソフトウェア障害を報告し診断するため、および、障
害情報と状況を管理するための対話式オンライン機構で
ある対話式問題管理システム。
【0006】コマンド言語の各々は、コマンドが受け入
れられるように活動状態になければならない特有の「コ
マンド・システム環境」を有する。すなわち、CMSの
ユーザにとって、CPコマンド環境とCMSコマンド環
境という2つの基本的コマンド・システム環境がある。
【0007】REXXプログラムを実行させる時、プロ
グラムが稼動するシステムは、REXXプログラムへの
記述項上の省略時解釈で選択される少くとも1つの活動
状態にあるコマンド・システム環境を含むと仮定され
る。例えば、REXXプログラムがCMSから呼び出さ
れるならば、省略時解釈コマンド環境はCMSである。
REXXプログラムが、もう一方のコマンド・システム
環境から呼び出されれば、省略時システム環境は、もう
一方のコマンド環境となる。省略時解釈システム環境
は、組み込み関数ADDRESSを使用することによっ
て変更できる。
【0008】REXXプログラムは、REXXプログラ
ム言語によって供給されるREXXプログラム命令のみ
ならず、REXXプログラムが実行されるコマンド・シ
ステム環境によって処理されることができるコマンドを
も含むことができる。例えば、REXXプログラムが省
略時解釈環境としてCMSを持つならば、REXXプロ
グラムは、また、CMSとCPコマンドを直接持つこと
もできる。REXX言語プロセッサがプログラムの中の
CMSまたはCPコマンドを読む時、システムの制御が
コマンドを処理する(関連処理も行われることは当然だ
が)システム環境に渡され、コマンド実行の完了ととと
もに、制御は、戻りコードをセットした後言語プロセッ
サに戻される。言語プロセッサは、この戻りコードをR
EXX特別変数RCに格納する。
【0009】CMSコマンド行に対する仮想機械インタ
ーフェースは、スーパーバイザによって駆動される。す
なわち、ユーザによるあらゆるCMSコマンド入力は、
関連パラメータと共にスーパーバイザ呼出し(SVC)
割込みに変換される。スーパバイザ呼出し命令は、Ente
rprise Systems Architecture/390 Principles of Oper
ation (IBM 資料番号SA22-7201)に詳細に記述されてい
るし、また、従来技術において広く知られているもので
ある。CMSの比較的旧いバージョンにおいては、SV
C202割込みだけが使われた。新しいバージョンで
は、SVC202とSVC204割込みの両方が使われ
ている。この点は、IBMマニュアル"VM/SP CMS for S
ystem Programming"に詳細に記述されている。同様に、
REXXプロセッサがREXXプログラムの中でCMS
コマンドに出会うと、REXXプロセッサは、CMSコ
マンド行をシミュレートし、スーパーバイザ呼出し(S
VC)割込みを使用する。
【0010】VSE/ESAのようなオペレーティング
・システムにおいては、VSEシステム・サービスを提
供するスーパーバイザ呼出し(SVC)がまた使用され
る。しかし、VSEプログラムは、VSE JCL設計
制約によってSVCを経由してVSE JCLコマンド
の実行を要求することができない。従って、REXX言
語プロセッサをしてREXXプログラムに含められたV
SEジョブ制御言語(JCL)コマンドの実行を可能な
らしめることは、CMSコマンドのREXX言語プロセ
ッサの処理と同等の形態で行うことはできない。
【0011】第1のプロセスを第2のプロセスに切り換
えそれを制御するいくつかの方法が、従来技術で知られ
ている。
【0012】Takaki氏の米国特許第4683549号
は、順序制御方法と装置を開示している。上記発明で、
順序プログラムは、所望の処理段階の複数の部分的プロ
グラムに分割され、部分的プログラムの各々は一旦動き
始めると、実行を継続する。次の部分的なプログラムが
動かされるべき順序の時、現在実行中の部分的プログラ
ムは終了させられ、上記次の部分的プログラムが始ま
り、止められるまでその実行が継続する。部分的プログ
ラムの実行順序の制御は、部分的プログラムの各々の実
行状況を記録し、必要に応じてそれらを始動するメイン
・プログラムによって提供される。
【0013】IBM Technical Disclosure Bulletin, vol
32, no 12, May 1990, pp 414-419における "Process
Control Executive - a new paradigm for operating s
ystem design"という記事は、高度に並列の環境で能率
的に機能することを要求されるオペレーティング・シス
テムを構築する方法を開示している。上記Process Cont
rol Executive(PCE)を使用するには、特定の要求
パスを扱うすべてのモジュールは、資源要求(RRQ)
と呼ばれるパケットを介して動作する。RRQは、シス
テムの中で完全に1単位のワークを定義する。RRQ
は、その処理に必要なすべてのデータあるいはまたそれ
に対するポインタを含む。RRQは、初期化資源管理プ
ログラムによって作成され、サーバ資源管理プログラム
へのPCEによって経路を定められ、処理され、最終的
にはなにかの端末条件発生の結果として破棄される。
【0014】
【発明が解決しようとする課題】本発明の目的は、第1
のプロセスを第2のプロセスに切り換えそれを制御する
方法を提供することである。
【0015】
【課題を解決するための手段】上記目的は、第1のプロ
セッサと第2のプロセッサによって生成されるデータを
記憶するための、第1のプロセッサと第2のプロセッサ
とに接続したデータ・プールと、データ・プールを管理
するためのデータ・プール・マネージャと、第1のプロ
セッサと第2のプロセッサとの間に接続し、第1のプロ
セッサと第2のプロセッサとの間で制御を移すための制
御機構とによって解決される。制御機構を使用して、入
出力スーパーバイザへのアクセスに割り込みを行い、デ
ィスパッチャを使用して、第2のプロセスを実行させる
第2のプロセッサへ制御を移す。
【0016】上記を行うための機構は大部分既にコンピ
ュータに存在し、上記メカニズムを実施するため補足的
に数行のコードを付け加えるだけでよいので、上記方法
は特に有利である。データ・プールの使用によって、プ
ロセスの1つによって作成され、別のプロセスによる使
用に必要なデータの効率的な転送が保証される。データ
・プールは、システム・マネージャによって管理され
る。
【0017】第2のプロセッサは、プログラム言語のコ
マンドを解釈するためのカーネルと、第2のプロセッサ
を第1のプロセッサのシステム環境に適応させるため
の、上記カーネルに接続したモジュールとを持つ。プロ
セッサを2つの部分に分割することによって、様々な異
なるコンピューター・システム環境とオペレーティング
・システムにおいてコードを再利用することができる。
上記モジュールによって、カーネルがオペレーティング
・システムのサービスを活用できることを確実にするた
めに必要な適応性が与えられる。
【0018】コマンドSYSRDR、REXXまたはA
DDRESS JCLは、第1のプロセッサから第2の
プロセッサへ、またはその逆に、コマンドの実行を切り
換えるために使われる。
【0019】本発明の上記目的は、第2の処理システム
から第1の処理システムへ制御を転送する方法によって
達成される。この方法には、以下のステップが含まれ
る: ・第1の処理システムで実行するためコマンドを読み込
む第1のステップ、 ・コンピュータ・システムの制御を制御機構へ移す第2
のステップ、 ・実行可能なコマンドを第1の処理システムの入出力領
域へ渡す第3のステップ、 ・コンピュータ・システムの制御を第1の処理システム
へ切り換える第4のステップ、 ・コマンドを第1の処理システムで実行する第5のステ
ップ、 ・制御を第2の処理システムへ戻す第6のステップ、お
よび、 ・第4と第6のステップに含まれる、コンピュータ・シ
ステムのプログラム状態語(PSW)をスワップするス
テップ。
【0020】本発明の上記目的は、コンピュータ・シス
テムにおいて、第1の処理システムから第2の処理シス
テムを始動させる方法によって更に達成される。この方
法には、以下のステップが含まれる: ・初期状態設定コマンドを入出力スーパーバイザに送り
出す第1のステップ、 ・入出力スーパーバイザによって制御されるディスパッ
チャによってコンピュータ・システムの制御を制御機構
へ移す第2のステップ、 ・コンピュータ・システムの制御を第2の処理システム
へ移す第3のステップ、および、 ・上記第3のステップに含まれる、第1の処理システム
の動作に関連したコンピュータ・システムのプログラム
状態語(PSW)を一時的保管領域に保存するステップ
と第2の処理システムの操作に関連したコンピュータ・
システムのPSWを取り出すステップ。
【0021】上記本発明の実施方法において、第2の処
理システムに対するデータ読み書き要求は、第2の処理
システムと第1の処理システムがアクセス可能なデータ
・プールに渡され、これによって、第1と第2の処理シ
ステムの間でのデータの効率的転送が保証される。
【0022】
【実施例】初めに、本明細書で使われるいくつかの用語
の定義を行う。論理装置 これは、物理的入出力装置に割り当てられる論理的入出
力装置である。VSEにおいては、これは、ASSGN
SYSRDR,00Aというの形式のコマンドを使用
することによって実行される。この例では、論理入出力
装置であるシステム読取装置SYSRDRが、システム
装置アドレス00Aを持つ特定の物理的入出力装置に割
り当てられる。VSEジョブ制御言語(JCL)プロセッサ VSE JCLプロセッサは、バッチ・モードでVSE
コマンドを処理することができるコマンド・プロセッサ
である。VSE JCLは、入出力操作によって論理入
力装置SYSRDRから入力コマンドを読み込み、この
コマンドを処理し、次に、論理入力装置SYSRDRか
ら次のコマンドを読み込む。VSEコマンドに関する入
力データは、X1,X2、..,Xiと符号を付けられ
た多くの論理入力装置の任意の1つから読み込むことが
できる。出力データは、Y1、Y2..,Yjと符号を
付けられた多くの論理出力装置の任意の1つに書き出す
ことができる。VSEにおいて、論理入力装置の例はS
YSINであり、論理出力装置の例はSYSLSTであ
る。手続型言語(PL) 手続き型言語は、コンピュータが与えられた順序で実行
しなければならない命令の特定のセットをユーザが記述
するために用いられるプログラム言語である。REXX
プログラム言語は、手続型言語の1例である。手続言語プロセッサ 手続言語プロセッサは、手続型言語の命令をステップ毎
に解釈するインタープリタである。
【0023】図1は、コンピュータ・システム5に組み
込まれた本発明の概要を示す図である。VSE JCL
プロセッサ10は、VSE JCLプロセッサ10への
入出力動作すべてを制御する入出力スーパーバイザ20
に接続している。入出力スーパーバイザ20は、JCL
コマンドを含むプログラムが記憶される(前述の00A
のような)物理装置30に接続している。入出力スーパ
ーバイザ20は、また、制御機構50に接続している。
制御機構50の役割の詳細は後述される。入出力スーパ
ーバイザ20は、入出力スーパーバイザからプロセスの
処理が行われるコンピュータ・システム5の一部にプロ
セスをディスパッチする機能を持つ入出力ディスパッチ
ャ25とともに提供される。
【0024】制御機構50は、データ・プール70に接
続している。データ・プール70は、データ・プール・
マネージャ75によって制御され、JCLプロセッサ1
0とREXXプロセッサ40との間でデータを転送する
ことを望むプログラムによって必要とされる入出力デー
タを記憶する。データ・プール70は、論理入出力装置
X1、X2...,XiとYl、Y2...,Yjとに
よってアドレス指定される。論理装置を複数の物理入出
力装置アドレスに割り当てることができる。
【0025】制御機構50は、REXXコマンドを含む
プログラムが記憶されている物理装置60に接続したR
EXXプロセッサ40に更に接続している。
【0026】本発明の理解のためには、VSEオペレー
ティング・システムがどのようにその入力データを獲得
するかを理解することがまず必要である。入力データ獲
得は、先ず、JCLコマンド形式ASSGN SYSR
DR,00Aを用いて、特定の物理装置(例えば前述の
00A)をシステム読取論理装置SYSRDRに割り当
てることによって実行される。
【0027】コマンドを実行するため、VSE JCL
は、オペレーティング・システムにシステム読取装置S
YSRDRから必要なデータを読み込むように命令する
システム読取装置SYSRDRに対する読取り要求を実
行する。JCLは、データがどの物理装置(例えば00
A)から来るか知っている必要はなく、システム読取装
置SYSRDR論理装置からデータを読むコマンドを発
するだけでよい。
【0028】読取りコマンドによって、機械語スーパー
バイザ呼出し(SVC)命令0が発せられ、入出力操作
の詳細な実行を記述する入出力チャネル・プログラムの
実行が開始される。入出力チャネル・プログラムの詳細
な記述は上述の"EnterpriseSystems Architecture/390
Principle of Operation"で参照できる。
【0029】上記SVC命令によって、処理システムで
現在実行中のプログラム状態語(PSW)が新しいPS
Wに置き換えられる。現PSWは、一時的記憶域に保存
される。入出力スーパーバイザ20は、ディスパッチャ
25とともに、呼び出し元のJCLプログラムへ割り込
みを行い,入出力スーパーバイザ20は、入出力要求を
待ち行列に入れる。
【0030】次に、入出力スーパーバイザ20は、ディ
スパッチャ25とともに、制御を呼び出し元JCLプロ
グラムへ戻す。これは、入出力操作のためのPSWを一
時記憶域にある始めのPSWと置き換えることによって
実行される。
【0031】JCLプログラム10は、以前に出された
読取要求によって得られることになっている入力データ
がさらに実行を要求するまで現在の実行を続ける。この
時点でデータがディスパッチャ25を介して入出力スー
パーバイザから到着するまで、WAIT(待ち)状態に
入る。JCLプロセッサ10のJCLプログラムのなお
いっそうの実行の間、非同期的に、VSEオペレーティ
ング・システムは、入出力待ち行列中の入出力要求をプ
ロセスする、すなわち、上述の入出力チャネル・プログ
ラムを実行する。入出力チャネル・プログラムは、入手
されるべきデータのタイプとそれがどの装置にあるかま
た入出力操作の結果がどの記憶装置に記憶されるべきか
に関する情報を持つ。
【0032】必要な入力データが一旦物理装置00Aか
ら読まれると、待ち状態から目覚めたJCLプロセッサ
10にデータが渡される。
【0033】上記のプロシージャは、VSE JCLプ
ログラムにおいてREXXプログラムの実行を可能にす
るように以下の通り適応させることができる。本発明が
よく理解できるように、動作の際のプロシージャのデー
タの流れを示す図2と、動作の際のプロシージャの制御
の流れを示す図3とを参照しながら以下本発明の説明を
行う。図2と図3の(A)と図1に共通なエレメントに
対して同じ参照用符号が使われている。
【0034】実行すべきREXXプログラムがない時、
JCLプロセッサ10上で稼動しているJCLプログラ
ムは、物理装置30から入力JCLコマンドCMDn、
CMDn+l等々を読み込む。本明細書における説明の
目的のため、物理装置30は、オリジナル装置と呼び、
上述のようにASSGN SYSRDR,00Aコマン
ドを用いて物理装置アドレス00Aを割り当てられる。
【0035】JCLコマンドによって処理されるべきデ
ータは、物理装置30上に存在しなければならず、上記
入出力ルーチンを使用して入出力される。図3の(A)
で示されるように、物理装置30からのコマンドCMD
nは、入出力プロセッサ20を介してJCLプロセッサ
10に渡される。
【0036】図2で示されるように、JCLプロセッサ
10は、2つの論理的部分に分割される。それらは、入
出力スーパーバイザ20を通してコマンドを読み取るコ
マンド読み取り部105と、コマンドCMDnを処理
し、物理装置30からのコマンドを処理するために必要
な(入力レコードXiの形式115で)データを読み込
むコマンド処理部110とである。コマンド処理部11
0は、処理されたコマンドCMDnからのデータを(出
力レコードYjという形式120で)物理装置30に出
力する。コマンド読み取り部105とコマンド処理部1
10とは、入出力サービス・ルーチンの使用に備えて入
出力領域(図示されていない)を作成する。
【0037】JCLプログラムの処理の間、処理するR
EXXプログラムがある場合、JCLプログラムは先ず
REXXプロセッサ40を起動しなければならない。こ
れは、JCLが物理装置30から読み込む初期設定コマ
ンド125によって実行される。初期設定コマンド12
5は、ASSGN SYSRDR,REXXという形式
を持つ。
【0038】入出力ルーチンにかかわる上記の記述から
理解されるように、このコマンドの実行によって、JC
L入力論理装置SYSRDRが「仮想」REXX専用装
置に割り当てられる。「仮想」という用語は、REXX
コマンドの処理を実行するための物理的装置の接続は行
われないということを示すために使われる。物理的RE
XX専用装置は、適切なコンピュータ・プログラムによ
って提供される。
【0039】このコマンドが処理された後、JCLプロ
セッサ10は、次のコマンドCMDn+lを読み込むた
めの入出力要求を発する。入出力スーパーバイザ20
は、結果として生ずる入出力割り込みを利用して、入出
力スーパーバイザ20のディスパッチャ25を使用して
制御機構50に切り換える。この動作は、図3の(A)
の線205で示される。
【0040】SVC0命令によって、今や、入出力スー
パーバイザ20は、入出力待ち行列に入出力要求を入れ
ることはなく、また、前記のように呼び出し元JCLプ
ログラムへ制御を渡すこともしない。その代わりに、制
御機構50とREXX/VSEプロセッサ40とから集
合的に構成されるREXXディスパッチ機構に制御は渡
される。制御の変更は、現在実行中のPSWを適切な新
PSWとスワップすることによってディスパッチャ25
によって実行される。言い換えれば、SVC0によっ
て、ディスパッチャ25と共に、入出力スーパーバイザ
20は、システムの制御を、オリジナルのJCLディス
パッチ装置へ戻す代わりに、REXXディスパッチ装置
55に渡すこととなる。
【0041】加えて、(通常入出力待ち行列に入出力要
求を入れるために使われた)入出力チャネル・プログラ
ムが、REXX制御機構50に渡される。制御機構50
は、システムの制御をREXXプロセッサ40に渡すべ
きか、あるいは、渡された入出力チャネル・プログラム
を実行してデータのデータ・プール70への保存または
そこからの取り出しを行うべきかを決定しなければなら
ない。
【0042】渡された入出力チャネル・プログラムがシ
ステム読み取り論理装置SYSRDRからの読取り要求
である場合は、制御機構50は、REXXプロセッサ4
0にシステムの制御を渡す。REXXプロセッサ40
は、従来技術のよく知られた方法で、入出力要求を用い
て物理装置60から引き続きREXXコマンドを読み込
む。
【0043】しかしながら、REXXプログラムが仮想
REXX入出力装置へ論理装置XiとYiを既に割り当
てている場合は、論理装置XiとYiへの読み取り書き
込み要求は、下記説明のように制御機構50へ切り換え
られる。次いで、制御機構50は、入出力要求を、図2
の線140と145で示されているように、データ・プ
ール・マネージャ75に導く。
【0044】制御機構50は、すべての将来の読取書込
要求が、コマンド処理部110から物理装置00Aに直
接書かれることはなく、線130と135に沿ってデー
タ・プール・マネージャに渡され、データ・プール70
に記憶されることを保証する。
【0045】図3の(A)で1つの箱で示されるREX
Xプロセッサ40は、実際には、図3の(B)で示され
るように、2つの部分に分かれている点に注意するべき
である。一つの部分は、REXXプログラム言語が提供
されるすべてのオペレーティング・システムに共通のい
わゆるREXXカーネル44である。これは、オペレー
ティング・システムから独立した、REXXプログラム
言語の基本動作を制御する。もう一方の部分、すなわち
VSE/REXXモジュール42は、VSEオペレーテ
ィング・システムの下で実行するようにREXXプログ
ラム言語を適応させるために必要な動作、インターフェ
ースおよびコマンドを提供する。
【0046】REXX言語コマンドを実行する時、RE
XXカーネル44は、従来技術において知られているよ
うに、JCLプロセッサ10への参照を行うことなくそ
れらコマンドを処理する。JCLプロセッサ10の動作
は、REXXコマンドの実行がREXX処理部で実行さ
れている間、中断される。
【0047】今やREXXプロセッサ40は、システム
の制御を獲得したとの想定のもと、JCLコマンドCM
Dm150が実行されなければならない。図4は、この
実行を示す流れ図である。制御の移管が、ADDRES
S JCL'cmd'という形式のREXXコマンドによ
って始動される(ステップ410)。ここで、'cmd'
は、任意のJCLコマンドを指す。上記の通り、REX
X命令「ADDRESS」は、制御がオペレーティング
・システムへ戻されることになっていることをREXX
プロセッサ40に通知する標準インターフェースであ
る。
【0048】ADDRESSコマンドは、REXXカー
ネルによって提供される。ADDRESSコマンドを検
出すると、REXXプロセッサ40のVSE/REXX
モジュール42へ制御が渡される(ステップ420)。
この結果、REXXプロセッサ40から制御機構50へ
制御が渡される(ステップ430)。REXXプログラ
ムは、ADDRESS JCLコマンドを出す前に、J
CL'cmd'の実行に必要な入力レコードXi115を
データ・プール70に書き込む(ステップ405)。J
CLコマンド'cmd'150は、制御プログラム50か
ら、論理装置SYSRDRからの読み取り要求の入出力
領域へ移される(ステップ440)。
【0049】制御機構50は、ディスパッチャ25を用
いて、図3の(A)の戻り経路125に沿って、JCL
ディスパッチ機構に切り換える。次いでステップ450
で、REXX命令の処理に関連するPSWが、将来のJ
CLコマンドの処理に関連するPSWと入れ替えられ
る。コマンド'cmd'は、VSE JCLプロセッサ1
0のコマンド読み取り部105に渡され(ステップ46
0)、コマンド処理部110で処理される(ステップ4
70)。
【0050】JCLがコマンド'cmd'150を実行し
ている間、出力レコードが、論理装置Yiに書かれ、入
力レコードが、論理装置Xiから読み込まれる。REX
Xプログラムが、ASSGN Xi,REXXまたはA
SSGN Yi,REXXという命令を使用して、仮想
REXX入出力装置へ論理装置XiとYiを既に割り当
てたと想定すれば、論理装置XiとYiへの読取り書込
み要求は、論理装置SYSRDRに関するものと同様の
方法で取り扱われる。制御機構50は、制御を獲得し、
データ・プール・マネージャ75を用いてデータ・プー
ル70へのYi、Xiの書き込み読み取りを行う入出力
チャネル・プログラム・プロセッサへ、入出力要求を渡
す。
【0051】JCLコマンド'cmd'が処理された後、
JCLプロセッサ10は、次の入力コマンドを読むた
め、次のSYSRDRからの読取り要求を行う。この時
点で、制御は、再び、REXXプロセッサ40へ切り換
えられる(ステップ480)。これは、上述の通り、P
SWのスワッピングによって実行される。
【0052】REXXプログラムにおけるすべてのRE
XXコマンドの実行の後、REXXプロセッサ40は終
了する。この終了に伴って、制御機構50は、ASSG
NSYSRDR,00Aという形式の命令を使用して、
オリジナルの装置アドレス00AにSYSRDRを再割
り当てする。その後、JCLプロセッサ10は、オリジ
ナルの物理装置00Aから入力コマンドCMDn+1を
読み取る。
【0053】図5は、JCLプログラムからREXXプ
ログラムに切り換える際の制御機構50の詳細な動作の
流れ図を示す。ステップ510で、JCLプロセッサ1
0は、論理装置SYSRDRに対する入出力読み取り要
求が出されたか否かを検知する。これはREXXプログ
ラムが処理されるべきであることを示すので、該当する
場合、REXXプログラムを実行するREXX/VSE
プロセッサ40が呼び出される(ステップ520)。
【0054】そうでない場合、入力レコードXiと出力
レコードYjに関する論理装置に対する入出力要求の各
々は、チャネル・プログラム・プロセッサによって処理
される入出力チャネル・プログラムに関連づけられる
(ステップ580)。ステップ580で入出力チャネル
・プログラムが処理されたあと、ステップ550と56
0で、入出力読取りまたは書込み要求のいずれかが存在
するかのチェックが行われる。入出力要求があれば、ス
テップ580で、データ・プール・マネージャ75へ要
求が向けられ、ステップ590と595でそれぞれ、デ
ータは、データ・プール70からJCLプロセッサ10
の入出力領域へ、または、JCLプロセッサ10の入出
力領域からデータ・プール70へ、移される。
【0055】このステップの終了とともに、プロセス
は、ステップ530へ進み、実行又は転送のためのJC
Lプロセッサ10のデータ入出力領域が用意され、制御
がJCLプロセッサ10へ渡される。しかし、ステップ
580でチャネル・プログラム・プロセッサに渡された
入出力チャネル・プログラムが、入出力読取り書き込み
要求を何も検知しなかった場合は、システムの機能エラ
ーが起きる(ステップ570)。
【0056】本発明の詳細は、上記の通り、(REXX
のような)ある1つのプロセスから(VSE JCLの
ような)別のプロセスへ処理装置の制御を移す機構を提
供するために使うことができる。
【0057】まとめとして、本発明の構成に関して以下
の事項を開示する。 (1)コマンドを実行するコンピュータ処理システムで
あって、入出力スーパーバイザ(20)に接続し、第1
のプロセスが稼動する第1のプロセッサ(10)と、デ
ィスパッチャ(25)と、第2のプロセスが稼動する第
2のプロセッサ(40)と、上記第2のプロセッサ(4
0)と上記第1のプロセッサ(10)とに接続して、上
記第1のプロセッサ(10)と上記第2のプロセッサ
(40)とによって作成されるデータを記憶するための
データ・プール(70)と、上記データ・プール(7
0)を管理するデータ・プール・マネージャ(75)
と、上記第1のプロセッサ(10)と上記第2のプロセ
ッサ(40)との間で制御を移す機能を持ち、上記第2
のプロセッサ(40)と上記第1のプロセッサ(10)
の間に接続される制御機構(50)と、を具備するコン
ピュータ処理システム。 (2)上記第2のプロセッサ(40)が、プログラム言
語のコマンドを解釈するためのカーネル(44)と、上
記カーネル(44)に接続して、上記第2のプロセッサ
(40)を上記第1のプロセッサ(10)の環境に適応
させるためのモジュール(42)と、を更に含む上記
(1)記載のコンピュータ処理システム。 (3)上記第1のプロセッサ(10)が、上記入出力ス
ーパーバイザ(20)からコマンドを読み取るためのコ
マンド読み取り部(105)と、読み取ったコマンドを
処理するためのコマン処理部(110)と、を有する上
記(1)または(2)記載のコンピュータ処理システ
ム。 (4)上記ディスパッチャ(25)が、上記入出力スー
パーバイザ(20)に接続して、上記第1のプロセッサ
(10)から上記第2のプロセッサ(40)へコマンド
を渡すために使われる、上記(1)または(2)または
(3)記載のコンピュータ処理システム。 (5)上記データ・プール(70)が、上記制御機構
(50)に接続し、該制御機構(50)によって、上記
データ・プール(70)のデータが、該データを使用す
るコマンドが実行される上記第1のプロセッサ(10)
または上記第2のプロセッサ(40)へ転送される、上
記(1)または(2)または(3)または(4)記載の
コンピュータ処理システム。 (6)ASSIGN SYSRDR、REXXまたはA
DRESS JCLというコマンドが、コマンド実行の
制御を第1のプロセッサ(10)から第2のプロセッサ
(40)へ、または、その逆に、切り換えるために使用
される、上記(1)または(2)または(3)または
(4)または(5)記載のコンピュータ処理システム。 (7)コンピュータ・システムにおいて、第2の処理シ
ステム(40)から第1の処理システム(10)へ制御
を転送する方法であって、第1の処理システム(10)
で実行するためのコマンドを読み込む第1のステップ
と、コンピュータ・システムの制御を制御機構(50)
へ移す第2のステップと、実行可能なコマンドを第1の
処理システム(10)の入出力領域(115)に渡す第
3のステップと、コンピュータ・システムの制御を第1
の処理システム(10)へ切り換える第4のステップ
と、実行可能なコマンドを第1の処理システム(10)
で実行する第5のステップと、第2の処理システム(4
0)へ制御を戻す第6のステップと、を含むコンピュー
タ・システムの制御を転送する方法。 (8)上記第4と第6のステップが、コンピュータ・シ
ステムのPSW、すなわち、プログラム状態語をスワッ
プするステップを含む、上記(7)記載のコンピュータ
・システムの制御を転送する方法。 (9)上記第1の処理システム(10)と上記第2の処
理システム(40)によって使われるデータが、データ
・プール(70)の中で記憶される、上記(7)または
(8)記載のコンピュータ・システムの制御を転送する
方法。 (10)コンピュータ・システム(5)において、第1
の処理システム(10)から第2の処理システム(4
0)を始動させる方法であって、入出力スーパーバイザ
(20)に初期設定コマンドを送り出す第1のステップ
と、上記入出力スーパーバイザ(20)によって制御さ
れるディスパッチャ(25)によって上記コンピュータ
・システム(5)の制御を制御機構(50)へ移す第2
のステップと、上記コンピュータ・システム(5)の制
御を上記第2の処理システム(40)へ渡す第3のステ
ップと、を含む方法。 (11)上記(10)記載の上記第3のステップが、上
記第1の処理システム(10)の動作に関連するコンピ
ュータ・システム(5)のPSW、すなわち、プログラ
ム状態語を一時的保管領域に保存するステップと、上記
第2の処理システム(40)の動作に関連するコンピュ
ータ・システム(5)のPSWを取り出すステップと、
を更に含む上記(10)記載の方法。 (12)上記第2の処理システム(40)との間のデー
タの読み取り書き込み要求が、上記第2の処理システム
(40)と上記第1の処理システム(10)とによって
アクセス可能であるデータ・プール(70)に渡され
る、上記(10)または(11)記載の方法。
【0058】
【発明の効果】以上のように、本発明によって、第1の
プロセスを第2のプロセスに切り換えそれを制御する方
法が提供されることとなった。
【図面の簡単な説明】
【図1】本発明の概要を示す図である。
【図2】本発明の制御の流れを示す図である。
【図3】(A)で本発明のデータの流れを、(B)でR
EXX/VSEプロセッサの構造をそれぞれ示す図であ
る。
【図4】ある処理環境から呼び出され、別の処理環境で
実行される命令の流れ図である。
【図5】本発明の制御機構の動作を示す流れ図である。
【符号の説明】
5 コンピュータ・システム 10 VSE JCLプロセッサ 20 入出力スーパーバイザ 25 ディスパッチャ 30、60 物理装置 40 REXXプロセッサ 42 VSE/REXXモジュール 44 REXXカーネル 50 制御機構 55 REXXディスパッチ機構 70 データ・プール 75 データ・プール・マネージャ 105 コマンド読み取り部 110 コマンド処理部 115 入力レコードXi 120 出力レコードYj 125 初期設定コマンド 150 JCLコマンド'cmd' 205 切り換え 210 戻り経路

Claims (12)

    【特許請求の範囲】
  1. 【請求項1】 コマンドを実行するコンピュータ処理シ
    ステムであって、 入出力スーパーバイザ(20)に接続し、第1のプロセ
    スが稼動する第1のプロセッサ(10)と、 ディスパッチャ(25)と、 第2のプロセスが稼動する第2のプロセッサ(40)
    と、 上記第2のプロセッサ(40)と上記第1のプロセッサ
    (10)とに接続して、上記第1のプロセッサ(10)
    と上記第2のプロセッサ(40)とによって作成される
    データを記憶するためのデータ・プール(70)と、 上記データ・プール(70)を管理するデータ・プール
    ・マネージャ(75)と、 上記第1のプロセッサ(10)と上記第2のプロセッサ
    (40)との間で制御を移す機能を持ち、上記第2のプ
    ロセッサ(40)と上記第1のプロセッサ(10)の間
    に接続される制御機構(50)と、 を具備するコンピュータ処理システム。
  2. 【請求項2】 上記第2のプロセッサ(40)が、プロ
    グラム言語のコマンドを解釈するためのカーネル(4
    4)と、 上記カーネル(44)に接続して、上記第2のプロセッ
    サ(40)を上記第1のプロセッサ(10)の環境に適
    応させるためのモジュール(42)と、 を更に含む請求項1記載のコンピュータ処理システム。
  3. 【請求項3】 上記第1のプロセッサ(10)が、 上記入出力スーパーバイザ(20)からコマンドを読み
    取るためのコマンド読み取り部(105)と、 読み取ったコマンドを処理するためのコマン処理部(1
    10)と、 を有する請求項1または2記載のコンピュータ処理シス
    テム。
  4. 【請求項4】 上記ディスパッチャ(25)が、上記入
    出力スーパーバイザ(20)に接続して、上記第1のプ
    ロセッサ(10)から上記第2のプロセッサ(40)へ
    コマンドを渡すために使われる、 請求項1または2または3記載のコンピュータ処理シス
    テム。
  5. 【請求項5】 上記データ・プール(70)が、上記制
    御機構(50)に接続し、 該制御機構(50)によって、上記データ・プール(7
    0)のデータが、該データを使用するコマンドが実行さ
    れる上記第1のプロセッサ(10)または上記第2のプ
    ロセッサ(40)へ転送される、 請求項1または2または3または4記載のコンピュータ
    処理システム。
  6. 【請求項6】 ASSIGN SYSRDR、REXX
    またはADRESSJCLというコマンドが、コマンド
    実行の制御を第1のプロセッサ(10)から第2のプロ
    セッサ(40)へ、または、その逆に、切り換えるため
    に使用される、 請求項1または2または3または4または5記載のコン
    ピュータ処理システム。
  7. 【請求項7】 コンピュータ・システムにおいて、第2
    の処理システム(40)から第1の処理システム(1
    0)へ制御を転送する方法であって、 第1の処理システム(10)で実行するためのコマンド
    を読み込む第1のステップと、 コンピュータ・システムの制御を制御機構(50)へ移
    す第2のステップと、 実行可能なコマンドを第1の処理システム(10)の入
    出力領域(115)に渡す第3のステップと、 コンピュータ・システムの制御を第1の処理システム
    (10)へ切り換える第4のステップと、 実行可能なコマンドを第1の処理システム(10)で実
    行する第5のステップと、 第2の処理システム(40)へ制御を戻す第6のステッ
    プと、 を含むコンピュータ・システムの制御を転送する方法。
  8. 【請求項8】 上記第4と第6のステップが、 コンピュータ・システムのPSW、すなわち、プログラ
    ム状態語をスワップするステップを含む、請求項7記載
    のコンピュータ・システムの制御を転送する方法。
  9. 【請求項9】 上記第1の処理システム(10)と上記
    第2の処理システム(40)によって使われるデータ
    が、データ・プール(70)の中で記憶される、 請求項7または8記載のコンピュータ・システムの制御
    を転送する方法。
  10. 【請求項10】 コンピュータ・システム(5)におい
    て、第1の処理システム(10)から第2の処理システ
    ム(40)を始動させる方法であって、 入出力スーパーバイザ(20)に初期設定コマンドを送
    り出す第1のステップと、 上記入出力スーパーバイザ(20)によって制御される
    ディスパッチャ(25)によって上記コンピュータ・シ
    ステム(5)の制御を制御機構(50)へ移す第2のス
    テップと、 上記コンピュータ・システム(5)の制御を上記第2の
    処理システム(40)へ渡す第3のステップと、 を含む方法。
  11. 【請求項11】 請求項10記載の上記第3のステップ
    が、 上記第1の処理システム(10)の動作に関連するコン
    ピュータ・システム(5)のPSW、すなわち、プログ
    ラム状態語を一時的保管領域に保存するステップと、 上記第2の処理システム(40)の動作に関連するコン
    ピュータ・システム(5)のPSWを取り出すステップ
    と、 を更に含む請求項10記載の方法。
  12. 【請求項12】 上記第2の処理システム(40)との
    間のデータの読み取り書き込み要求が、上記第2の処理
    システム(40)と上記第1の処理システム(10)と
    によってアクセス可能であるデータ・プール(70)に
    渡される、 請求項10または11記載の方法。
JP6262194A 1994-01-20 1994-10-26 処理プロセス間で制御の移転を行うシステムおよび方法 Expired - Fee Related JP2866588B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP94100781A EP0664509A1 (en) 1994-01-20 1994-01-20 Method and apparatus for passing control from a first process to a second process
DE94100781.7 1994-01-20

Publications (2)

Publication Number Publication Date
JPH07219793A true JPH07219793A (ja) 1995-08-18
JP2866588B2 JP2866588B2 (ja) 1999-03-08

Family

ID=8215620

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6262194A Expired - Fee Related JP2866588B2 (ja) 1994-01-20 1994-10-26 処理プロセス間で制御の移転を行うシステムおよび方法

Country Status (3)

Country Link
US (1) US5812846A (ja)
EP (1) EP0664509A1 (ja)
JP (1) JP2866588B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1008044B1 (en) * 1997-02-14 2002-10-30 BRITISH TELECOMMUNICATIONS public limited company Information processing
GB2501265A (en) 2012-04-17 2013-10-23 Ibm Constructing instructions for a mainframe by embedding programming in job control language, and executing those instructions at the mainframe
US9886367B2 (en) * 2015-04-29 2018-02-06 International Business Machines Corporation Unified processing test structure

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0262633A (ja) * 1988-08-30 1990-03-02 Fujitsu Ltd プログラム間通知方式
JPH04217059A (ja) * 1990-02-27 1992-08-07 Internatl Business Mach Corp <Ibm> 共用知能メモリを介して結合された複数のプロセッサ間でメッセージを伝達するための機構

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4509119A (en) * 1982-06-24 1985-04-02 International Business Machines Corporation Method for managing a buffer pool referenced by batch and interactive processes
US5062037A (en) * 1988-10-24 1991-10-29 Ibm Corp. Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network
US5253342A (en) * 1989-01-18 1993-10-12 International Business Machines Corporation Intermachine communication services
US5390314A (en) * 1992-10-09 1995-02-14 American Airlines, Inc. Method and apparatus for developing scripts that access mainframe resources that can be executed on various computer systems having different interface languages without modification

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0262633A (ja) * 1988-08-30 1990-03-02 Fujitsu Ltd プログラム間通知方式
JPH04217059A (ja) * 1990-02-27 1992-08-07 Internatl Business Mach Corp <Ibm> 共用知能メモリを介して結合された複数のプロセッサ間でメッセージを伝達するための機構

Also Published As

Publication number Publication date
US5812846A (en) 1998-09-22
JP2866588B2 (ja) 1999-03-08
EP0664509A1 (en) 1995-07-26

Similar Documents

Publication Publication Date Title
US4493034A (en) Apparatus and method for an operating system supervisor in a data processing system
US5437033A (en) System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US6802062B1 (en) System with virtual machine movable between virtual machine systems and control method
US6275893B1 (en) Method and apparatus for providing seamless hooking and intercepting of selected kernel and HAL exported entry points in an operating system
US4912628A (en) Suspending and resuming processing of tasks running in a virtual machine data processing system
EP0210345B1 (en) Virtual machine
EP0559222A2 (en) Improved method for loading programs
JPH02171934A (ja) 仮想計算機システム
JPH0430053B2 (ja)
JPH06100956B2 (ja) ポインタ制御を行うための装置
CN101730881A (zh) 包括多个处理器的系统以及操作该系统的方法
EP1410170B1 (en) Logical substitution of processor control in an emulated computing environment
JP2866588B2 (ja) 処理プロセス間で制御の移転を行うシステムおよび方法
US6263421B1 (en) Virtual memory system that is portable between different CPU types
JPH07225694A (ja) 仮想計算機システム
JPS59154700A (ja) デ−タ処理システム
CN116209979A (zh) 矢量处理
JPH1049397A (ja) 試験プログラム実行制御方法
Bojovic et al. The interactive development and testing system for a RISC-style processor
JP2503318B2 (ja) 文字入出力制御方式
JPS5947626A (ja) 即時復帰型入出力ドライバ
JPH0581336A (ja) データベース演算処理装置
JPS6394339A (ja) 仮想計算機システム
JPH06242975A (ja) 多重情報処理システムの仮想計算機ディスパッチ方式
JPS61240333A (ja) 入出力割込処理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees