JPH05216693A - 仮想記憶間連絡機能を与える方法および装置 - Google Patents

仮想記憶間連絡機能を与える方法および装置

Info

Publication number
JPH05216693A
JPH05216693A JP4239650A JP23965092A JPH05216693A JP H05216693 A JPH05216693 A JP H05216693A JP 4239650 A JP4239650 A JP 4239650A JP 23965092 A JP23965092 A JP 23965092A JP H05216693 A JPH05216693 A JP H05216693A
Authority
JP
Japan
Prior art keywords
communication
application program
operating system
application
memory
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
JP4239650A
Other languages
English (en)
Other versions
JP2501727B2 (ja
Inventor
Gerald P Bozman
ジェラルド、パークス、ボズマン
Jr John A Pershing
ジョン、アーサー、パーシング、ジュニア
Joann Ruvolo-Chong
ジョーン、ルボロ‐チョン
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 JPH05216693A publication Critical patent/JPH05216693A/ja
Application granted granted Critical
Publication of JP2501727B2 publication Critical patent/JP2501727B2/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/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54508Configuration, initialisation
    • H04Q3/54533Configuration data, translation, passwords, databases
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54575Software application
    • H04Q3/54583Software development, e.g. procedural, object oriented, software generation, software testing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13057Object-oriented software

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 分散メモリシステム、単一の分離した共有メ
モリを備えた分散メモリシステム、または複数の分離し
たアプリケーション領域を備えた単一のシステム上にお
いて、アプリケーションプログラム間の低オーバーヘッ
ド仮想記憶間連絡機能を提供する。 【構成】 分離された通信メモリ領域におけるアプリケ
ーションプログラム間での非特権仮想記憶間連絡機能を
備える方法と装置に関する。適切なオペレーティングシ
ステムは、対応する通信メモリ領域において対応するア
プリケーションプログラムにより許可される通信メモリ
領域と動作を示すテーブルを記憶する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、仮想記憶間連絡機能動
作を介して結合した個々のコンピュータシステムの集合
またはクロスアプリケーション領域の動作と結合された
単一のコンピュータシステム上における個々の通信メモ
リ領域でのアプリケーションプログラム間における仮想
記憶間連絡機能を提供するための方法と装置に関する。
【0002】
【従来の技術】並列計算処理システムは、区分可能な問
題を解決する手段および高度の可用性を実現する手段と
して増々評判が良くなってきている。共通のアーキテク
チャは、システム間の信号発信動作、およびシステム間
のメモリの読出しおよび書込み動作またはそれらと対等
の動作を実行したり、例えば個々のシステムにおけるメ
モリ要素の名前付き待ち行列を操作するなどより複雑な
動作を実行することによる分散メモリコンピュータの集
合の相互接続である。他の共通アーテキテクチャは、分
散メモリシステムが、上記のような動作を介して操作さ
れる単一の共通記憶機構を共有するものである。
【0003】上記の集合内のコンピュータ上に汎用オペ
レーティングシステムの機能を備えるのも望ましい。シ
ステム間動作は通常、特権マシン状態(たとえば、37
0における監視プログラム状態)で走行し、オペレーテ
ィングシステムが非特権状態(たとえば、370の問題
プログラム状態)でアプリケーション処理を発送するが
故に非許可使用を禁止するよう設計されている。したが
って、オペレーティングシステムへの呼び出しは、こう
したシステム間動作のために必要であり、このため、問
題プログラム状態から監視プログラム状態へまたはその
逆の変化に関するオーバーヘッドの大きさの順序によっ
てシステム間動作のオーバーヘッド(マシンサイクルで
測定)が容易に増えることになる。実行環境のセーブと
回復に関するオーバーヘッドに加えて、オペレーティン
グシステムのディスパッチャーを通る経路が重要であ
る。たとえば、効率的な実施では、各システムの命令経
路長は、小さなメッセージを送る場合でさえ2500以
上の命令のものとなる。遠隔のアプリケーションへのal
ert (警報)信号は、遠隔システムにおけるディスパッ
チャーへのメッセージの形を取り、ほぼ同じオーバーヘ
ッドである。この大きさのメッセージ渡しのオーバーヘ
ッドは、並列システムで効率的に実行できるアプリケー
ションの種類を厳しく制限する。他方で、非特権実行が
可能な場合は、誤りのあるアプリケーションや悪意のあ
るアプリケーションが、それが許可されてないメモリの
内容を見たり変えたりすることができる。
【0004】分散メモリの内容をアプリケーションに示
す個々のシステム(たとえば、MVS、VM/ESA)
も同様の問題を抱え、マイクロコードで実施されるか又
は実施可能なアプリケーション領域間通信動作の集合
(たとえば、VM/ESA上のIUCV(ユーザー間通
信機能))を備えていれば本発明から利益を得ることも
できる。
【0005】従来の技術では、仮想記憶間連絡動作の性
能の問題は、(1)適正化または専門コード化によりオ
ペレーティングシステム命令経路長の数を減らし、
(2)(アクセス保護のような)いくつかの機能を実行
しないで予想された結果を受け取ることで命令経路長を
回避することにより処理されてきた。
【0006】Bershad その他による「軽量遠隔処理手順
呼出し(Lightweight Remote Procedure Call )」オペ
レーティングシステム原理に関する第12回ACMシン
ポジウム、1989年12月の会報(Proceedings of t
he Twelfth ACM Symposium on Operating Systems Prin
ciples, Dec.1989)、Tzouその他による「DASHメッセー
ジ送付システムの性能上の評価(A Performance Evalua
tion of the DASH Message-Passing System )」技術レ
ポートUCB/CSD 88/452, カリフォルニア大学バークレー
校(Technical Report UCB/CSD 88/452, University of
California, Berkeley )、およびJones その他による
「マッチおよびマッチメーカー:オブジェクト指向分散
システムのカーネルおよび言語支援(Mach and Matchma
ker: Kernel and Language Support for Object-Orient
ed Distributed Systems)」オブジェクト指向プログラ
ミングシステム、言語およびアプリケーションに関する
1986年10月の会議の議事録(Proceedings of the
Conference on Object-Oriented Programming System
s, Language and Applications )などはすべて、最適
化により経路長の数を減らす例である。これらの経路の
数の削減は、本発明により得られるものよりかなり低い
が、それは状態遷移オーバーヘッドが完全に除かれてな
いからである。
【0007】Bershad その他による「軽量遠隔処理手順
呼出し(Lightweight Remote Procedure Call )」19
89年12月のオペレーティングシステム原理に関する
第12回ACMシンポジウムの議事録(Proceedings of
the Twelfth ACM Symposiumon Operating Systems Pri
nciples, Dec.1989)に記載されたFirefly マルチプロ
セッサワークステーション固有の通信システム、SRC
RPCは、性能のために安全性を犠牲にした例であ
る。これにより、非通信アプリケーションは、エラーま
たは意図により潜在的に互いの通信通信データを破壊し
たり汚染することができる。これは「信用された」環境
の中にはこれを受け入れるものもあるが、一般的には、
受け入れ不可能と思われる。
【0008】Angelle その他による米国特許第4493
034号には、他のオペレーティングシステムをディス
パッチするデータ処理システムの監視プログラムが記載
されている。Babecki その他による米国特許第4500
960号には、各プロセッサが通信リンクを介して互い
に通信する複数のプロセッサを支援するマルチプロセッ
サシステムが開示されている。Johnson その他による米
国特許第4530051号には、遠隔処理手順呼出しを
カバーする遠隔通信切替えシステムとその切替えシステ
ムにより使用されるプロセッサ間メッセージの意味論が
開示されている。Kingその他による米国特許第4530
052号には、複数のオペレーティングシステムがコン
ピュータを時分割することを許すハードウェア手段が開
示されている。この特許には、メモリ、制御記憶及び入
出力を分離する手段が記載されている。この特許は、米
国特許第4493034号の先駆者であるホーニウェル
(Honeywell )特許と思われる。
【0009】Weisshaar その他による米国特許第469
4396号には、分散データ処理システムのネットワー
クインターフェースモジュールが開示されている。この
ネットワークインターフェースモジュールは、1つのネ
ットワーク中の様々なセルに常駐するプロセッサ間での
メッセージ送信を容易にするアドレス指定モードを使用
する。各セルは、他のセルとは独立してデータ処理動作
を指揮することができる。Blanset その他による米国特
許第4747040号には、同じコンピュータで2つの
オペレーティングシステムを走行させて、1つのオペレ
ーティングシステムが、非プロテクトモード(MS-DOS&c
R.)で動作し、他のオペレーティングシステムがプロテ
クトモード(UNIX&cR.オペレーティングシステム)で動
作する技術が開示されている。バス上のハードウェアに
より、MS-DOSシステムがUNIXシステムに悪影響を及ぼす
ことを防げる。
【0010】Gossその他による米国特許第479914
5号には、異なるオペレーティングシステムのリブート
を越えて正確に時間情報を渡す手段が開示されている。
Trottierその他による米国特許第4851988号に
は、1つのプロセスが他のプロセスからのプロセス間メ
ッセージを受信するデータ構造(メールボックス)が開
示されている。1つのプロセスは多くのメールボックス
を備えることができるが、各メールボックスは、1つの
プロセスだけに属しており、固有のメールボックス識別
子を備えている。Takaneその他による米国特許第483
7674号には、特定の仮想マシン用の入出力割込み
が、他の仮想マシンに配送される場合、再方向づけされ
る回路構成が開示されている。
【0011】
【発明が解決しようとする課題】本発明の目的は、分散
メモリシステム、単一の分離した共有メモリを備えた分
散メモリシステム、または複数の分離したアプリケーシ
ョン領域を備えた単一のシステム上において、アプリケ
ーションプログラム間の低オーバーヘッド仮想記憶間連
絡機能を提供することにある。 対等のアプリケーショ
ンとの通信専用のアプリケーションメモリ領域の部分集
合は、通信メモリ領域と呼ばれる。特定のアプリケーシ
ョンプログラムとの通信目的に指定されたり専有化され
た共有メモリの一部も、通信メモリ領域と呼ばれる。ア
プリケーション領域も通信メモリ領域と呼ばれる。分散
メモリシステムにおける各ノード(たとえば、プロセッ
サとメモリ)はオペレーティングシステムの制御下にあ
る。このオペレーティングシステムは、各ノードで異な
り、同じオペレーティングシステムの異なる例である。
【0012】本発明のさらに特定の目的は、仮想記憶間
連絡機能(すなわち、オペレーティングシステム間また
はアプリケーション領域間命令)に必要な命令経路長を
減らすことである。仮想記憶間連絡機能は、他のアプリ
ケーションプログラムの通信メモリ領域を用いて1つの
アプリケーションプログラムからの命令の実行を参照す
る。用語「命令」と「動作」は本明細書では交換可能で
ある。
【0013】
【課題を解決するための手段】したがって、本発明は、
分散システムの2つの異なるノードまたは単一システム
上の異なるアプリケーション領域で実行中の少なくとも
2つのアプリケーションプログラム間の仮想記憶間連絡
機能用の方法と装置を備えているものである。この仮想
記憶間連絡機能は、オペレーティングシステムに、アプ
リケーションプログラムにより使用できる通信メモリ領
域を構成するのがどの仮想記憶間動作とメモリのどの部
分かを示すテーブルを記憶させることにより実現され
る。次に、あるアプリケーションプログラムは、そのオ
ペレーティングシステム又は他のオペレーティングシス
テムの他のアプリケーションプログラムと仮想記憶間通
信だけができる。ただし、そのオペレーティングシステ
ム自体または他のオペレーティングシステムのテーブル
が、あるアプリケーションが仮想記憶間動作を実行し他
のアプリケーションの通信メモリ領域を使用することを
示している場合に限る。
【0014】上記のテーブルを使用すると、仮想記憶間
連絡機能命令の特権状態実行の必要性がなくなる。次
に、通信動作を実施するマイクロコードが、そのテーブ
ルの情報を使用して、その動作の実行を許可したり不許
可にする。
【0015】
【実施例】本明細書で記載の実施例は、図1に示すよう
に、分散メモリならびに単純な読取り、書込み及び信号
発信動作を備えているシステムである。図1は、4つの
コンピュータシステム15を相互接続するクロスポイン
トスイッチ10を示す。本発明は、個別の共有メモリ2
0とそこにデータを入れたりそこから出したりする動作
を備えた分散システム(図2)またはアプリケーション
領域30間で通信する動作を備えた単一システム35
(図3)で実施されることも可能である。さらに、本実
施例では単純な仮想記憶間読取りおよび書込み動作が仮
定されているが、本発明はより複雑な動作で実施可能で
ある(たとえば、分離共有メモリで要素を待ち行列化し
たり待ち行列化を解除する動作)。アプリケーションプ
ログラムに指定または専有化されている待ち行列も通信
メモリ領域と呼ぶことができる。
【0016】安全で、オーバーヘッドの低い、問題プロ
グラム状態の仮想記憶間連絡機能は、複数の対等のオペ
レーティングシステム(たとえば、VM/ESAのCP
要素)とシステム間動作を実施するマイクロコード(本
実施例では、読取りと書込み)により実施される。問題
プログラム状態通信は、複数の対等のアプリケーション
(たとえば、VMの仮想マシン)により使用される。複
数のアプリケーションは、標準機能(たとえば、VMの
診断)を介してそれらのローカルオペレーティングシス
テムと通信する。複数の対等のアプリケーションは、そ
れらのローカルオペレーティングシステムとの問題プロ
グラム状態通信を使用するためにそれらの概念を登録す
る。次に、あるアプリケーションはそのローカルオペレ
ーティングシステムにそのアプリケーションを対等アプ
リケーションに結合するよう要求する。それらのアプリ
ケーションが現在通信セッションに関連している。マイ
クロコードは、アプリケーションにより使用された問題
プログラム状態仮想記憶間連絡動作を検査して、安全と
思われればそれらを通常経路(非問題プログラム状態)
で実施する。仮想記憶間書込みは、そのプロセス(アプ
リケーション)が1つのメッセージの到着毎に変更され
ることを示すために遠隔プロセス制御ブロックで使用さ
れる。プロセス制御ブロックは、アプリケーションの状
態(たとえば、VM/ESAにおけるVMDBK)を制
御するためにオペレーティングシステムにより使用され
たソフトウェア構造である。セッションが壊れると、対
等のオペレーティングシステムが、登録および結合プロ
セス中に構築されたそれらのテーブルを消去する。
【0017】初期化 図4,5は、本発明の初期化機能を示す。対等のアプリ
ケーションとの問題プログラム状態通信をセットアップ
しようとするアプリケーションは、最初に、標準通信機
能(たとえば、IBMシステムのAPPC)を介してそ
の対等のアプリケーションと通信して、セッションの作
成に同意する(ステップ100)。次いで、各アプリケ
ーションは、診断命令を介して、バッファアドレスと長
さを備えているそのローカルオペレーティングシステム
により、これらのバッファで許可された動作(たとえ
ば、読取りまたは書込みまたはその両方)と対等のアプ
リケーションの識別(すなわち、アプリケーションid
とシステムid)を登録する(ステップ110)。
【0018】これが遠隔の対等アプリケーションと通信
するアプリケーションの最初の例である場合(ステップ
120)と、そのアプリケーションが問題プログラム状
態仮想記憶間動作を使用するよう許可される場合(ステ
ップ130)、そのオペレーティングシステムは、その
アプリケーションのシステムテーブルを構築し(ステッ
プ150)、そのアドレスを、オペレーティングシステ
ムとマイクロコードの両方に利用可能な保護位置に入力
する(たとえば370における制御レジスタ)(ステッ
プ160)。保護位置の空白アドレスは、そのアプリケ
ーションが仮想システム連絡動作の問題プログラム状態
実行に許可されないことを示す。ステップ130では、
そのアプリケーションはが許可されない場合、エラー指
示が戻される(ステップ140)。
【0019】アプリケーションが目標システムとの通信
をあらかじめ確立してなかった場合(ステップ17
0)、アプリケーションテーブルが構築され(ステップ
180)、そのアドレスがシステムテーブルに記憶され
る(ステップ190)。アプリケーションが、そのアプ
リケーションとではなく、目標システムとの通信をあら
かじめ確立している場合、入力がアプリケーションテー
ブルに追加される(ステップ200)。
【0020】次いで、オペレーティングシステムは、登
録要求に基づいてアプリケーションにより指定された領
域に対応するページ集合を固定(pin)し(すなわ
ち、ページ区分不可にし)、論理アドレスとその対応す
る真アドレスとサイズを含む領域サブテーブルを作成す
る。この真アドレスとサイズは各メモリ領域で許可され
たインターフェースと動作に適切である(ステップ22
0)。この領域サブテーブルはその後目標のオペレーテ
ィングシステムに送られる。オペレーティングシステム
が制御をアプリケーションに戻す度に、アプリケーショ
ンの論理アドレスと長さの集合と各メモリ領域で認めら
れる動作が変更される(ステップ230)。
【0021】アプリケーションがアドレスを登録し交換
した後で、アドレスの1つが、再び診断命令を介して、
対等のアプリケーションと指定するそのオペレーティン
グシステムに結合呼出しを発行しなければならない(ス
テップ240)。次に、オペレーティングシステムは通
常の通信機能を介して、各アプリケーションが登録され
たかどうか検査する(ステップ250)。登録されてな
い場合、結合要求は拒絶される(ステップ260)。登
録されている場合、領域サブテーブルが交換される(ス
テップ270)。遠隔の対等のアプリケーション用のテ
ーブル入力は、領域サブテーブルを指示するよう更新さ
れる(ステップ280)。
【0022】問題プログラム状態実行 図6は、本発明の問題プログラム状態実行機能を示す。
問題プログラム状態の仮想記憶間動作の安全性を保証す
るためには、仮想記憶間動作を実施するマイクロコード
によりさらに検査を実行して、プログラム例外が違反と
して発行される。仮想記憶間動作を検出すると(ステッ
プ400)、マイクロコードは、その動作が問題プログ
ラム状態で発行されたかどうかを判定する(ステップ4
10)。そうでない場合、通常の命令経路に従う(ステ
ップ480)。その動作が問題プログラム状態であり、
アプリケーションがシステムテーブルをもってない場合
(ステップ420)、そのアプリケーションへの特権動
作例外が発行される(ステップ430)。アプリケーシ
ョンがシステムテーブルをもっているが目標システム用
のアプリケーションテーブルがない場合(ステップ44
0)、特権動作例外が発行される(ステップ430)。
目標アプリケーション用の入力はあるが目標領域が領域
サブテーブルに見いだせなかった場合(ステップ45
0)、アドレス指定例外が発行される(ステップ47
0)。目標システムへの入力はあるが動作が許可されて
ない場合(ステップ460)、特権動作例外が発行され
る(ステップ430)。目標領域が領域サブテーブル内
にある場合、問題プログラム状態の仮想記憶間動作が安
全と評価され動作が実行される(ステップ480)。
【0023】目標システムでのタスク指名 図7は本発明のタスク指名機能を示す。ディスパッチャ
ーは、割込み可能待機状態を決して入力しないが、割込
みが許可されている間(使用中待機(busy wait )(た
とえば、VM/ESAにおいて))その活動処理の状態を継続
的に走査するよう実施できる。
【0024】ディスパッチャーは、アプリケーションテ
ーブルで定義された処理制御ブロックの形で付属状態情
報を探索するようにも修正可能である(ステップ60
0)。他のシステムにおける許可アプリケーションは選
択的に、目標システムにおける処理制御ブロックに関連
された記憶単位をオン値に設定してそれと対等アプリケ
ーションを「起動」ことができる。これらの活動状態に
ある付属領域の任意のものを発見すると(ステップ61
0)、その付属領域が消去され(すなわち、非活動状態
になり(ステップ640))、警報(たとえば、VMに
おける仮想外部割込み)が対応するアプリケーションに
対して保留になるよう指示されている。
【0025】この警報は、それが通信用対等プログラ厶
により引き起こされたことを示す特殊な外部割込みコー
ドを備えており、さらに、選択的に、起動アプリケーシ
ョンのアプリケーションidとシステムidを定義する
コードを備えている。この保留警報によりシステムはア
イドル状態から脱するので、通常のタスク指名活動がス
テップ630で実行される(この場合、外部割込みによ
るアプリケーションのタスク指名)。ステップ610
で、領域が活動化されてない場合、ステップ620で、
システム状態の検査が行なわれる。システムがアイドル
状態の場合、ステップ600に再帰する。さもなけれ
ば、ステップ630で、通常のタスク指名活動が実行さ
れる。
【0026】終了 図8は、本発明の終了機能を示す。通常の終了は、指定
された対等アプリケーションによるセッションが終了し
たことをオペレーティングシステムに通知する特定の対
等アプリケーションにより実施される(ステップ70
0)。活動状態通信セッションを終了する意図をオペレ
ーティングシステムに通知することなくアプリケーショ
ンが終了すると、異常終了が発生する(ステップ71
0)。
【0027】次に、オペレーティングシステムは、バッ
ファページの固定解除(unpinning)(ステップ72
0)と適切なテーブルの更新を調整するために対等のオ
ペレーティングシステムと連絡する。領域サブテーブル
が除去される(ステップ730)。対等アプリケーショ
ンの入力がアプリケーションテーブルから除去される
(ステップ740)。アプリケーションがこれ以上入力
を備えてない場合(ステップ750)、アプリケーショ
ンテーブルが除去され(ステップ760)、そのアドレ
スはシステムテーブルから除去される(ステップ77
0)。対等アプリケーションが活動状態にないことが分
かると他の型の異常終了が発生する(ステップ80
0)。この場合、そのシステムに関連する記憶機構が、
通信が再設定されるまで他の目的のために使用されるこ
とはない(ステップ810)。
【0028】アプリケーション通信テーブル 図9には、問題プログラム状態環境において安全な実行
を支援するアプリケーション通信テーブルが示されてい
る。これら3つのアプリケーション通信テーブルは、シ
ステムテーブル(900)、アプリケーションテーブル
(902)および領域サブテーブル(904と916)
である。対等アプリケーションによる少なくとも1つの
通信セッションを有している各アプリケーションに対す
るアプリケーション通信テーブルの集合がある。システ
ムテーブル(900)は、アドレス順にクラスター内の
各システム用のベクトル(906)または空ポインタ9
09を備えている。所与の例では、テーブルは、32の
システムを備えた分散メモリシステム用のものである。
このテーブルに関連したアプリケーションでは、通信は
システム3によってのみ可能になる。他のシステム用
の、システムテーブルにおける空ポインタは、このアプ
リケーションによるこれら他のシステムとの結合はない
ことを示す。各結合システム(906)のベクトルは、
目標アプリケーション(902)に特定の情報を含むテ
ーブルを示す。各アプリケーションテーブルの第1のワ
ードは、そのテーブル(908)に含まれた入力の数を
含む。各入力は、アプリケーション名(910)と、例
えば、VM/ESAにおけるVMDBK 等の各アプリケーション
(912)のプロセス制御ブロックに関連した小記憶単
位のアドレスを含む。このテーブルに関連したアプリケ
ーションは、システム3上のアプリケーションAとBに
より確立されたセッションを備えている。このアプリケ
ーションテーブルは、各目標アプリケーション用の領域
サブテーブル(904、916)へのポインタ(91
4)も備えている。領域サブテーブルはアプリケーショ
ンAとBのバッファ領域(918、920、922)
と、これらのバッファ領域で許可された仮想記憶間動作
(924)を備えている。特に、バッファ領域は、論理
アドレス(918)とそれに対応する各領域の真アドレ
ス(920)とサイズにより定義される。
【0029】他の環境へのアプリケーション 本実施例に記載された技術は、どちらのアプリケーショ
ンも1つのオペレーティングシステムの制御下にある環
境に直接適用可能である。この場合、すべてのアプリケ
ーション/オペレーティングシステムの対話が発生する
が、当然、オペレーティングシステム間の通信は不必要
である。アプリケーション通信テーブルは単一オペレー
ティングシステムにより作成される。
【0030】さらに、分離型共有メモリ環境は、アプリ
ケーション通信テーブルの適切な動作と通信メモリ領域
を指定することにより支援可能である。たとえば、共有
メモリはアプリケーションメッセージの待ち行列から構
成される場合、アプリケーションのインバウンドメッセ
ージ待ち行列のために認められた動作は通常、待機解除
され、他のアプリケーションにメッセージを送信するア
プリケーションは待機することが許される。通信メモリ
領域は、適切なメッセージ待ち行列を表す。オペレーテ
ィングシステムが許可情報に独立してアクセスするとい
うほどには、オペレーティングシステムはこの環境で通
信する必要はなく、独立して適切なアプリケーション通
信テーブルを独立してセットアップすることができる。
本明細書で記載された通信メモリ領域上の様々な動作、
読取り/書込みと待機加入/待機解除、は記載された環
境の任意の場所で使用できる。さらに、他のより複雑な
動作は、もし可能なら、アプリケーション通信テーブル
内て指定すれば使用できる。
【0031】
【発明の効果】本発明によれば、アプリケーションプロ
グラム間の低オーバーヘッドの仮想記憶間連絡機能を提
供することができる。
【図面の簡単な説明】
【図1】システムが直接メモリアクセス動作を介して対
等システムとの間でデータを読みだしたり書き込んだり
できるようにマトリックススイッチを介して接続された
分散メモリシステムを示す構成図。
【図2】1つの共通の共有メモリを備えた分散メモリシ
ステムを示す構成図。
【図3】分離された複数のアプリケーション領域を備え
た単一システムを示す構成図。
【図4】アプリケーションを満たす対等のオペレーティ
ングシステムが問題状態通信を使用するよう要求する初
期化プロセスを説明する流れ図。
【図5】アプリケーションを満たす対等のオペレーティ
ングシステムが問題状態通信を使用するよう要求する初
期化プロセスを説明する流れ図。
【図6】通信環境が初期化された時の問題プログラム状
態の実行を説明する流れ図。
【図7】目標のオペレーティングシステムが目標アプリ
ケーションのタスク指名をする方法を示す流れ図。
【図8】対等オペレーティングシステムがアプリケーシ
ョンセッションを終了する方法を示す流れ図。
【図9】問題プログラム状態環境で安全な実行を支援す
るテーブルを示す流れ図。
【符号の説明】
10 クロスポイントスイッチ 15 コンピュータシステム 20 共有メモリ 30 アプリケーション領域
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジョン、アーサー、パーシング、ジュニア アメリカ合衆国ニューヨーク州、ブキャナ ン、コートラント、ストリート、162 (72)発明者 ジョーン、ルボロ‐チョン アメリカ合衆国ニューヨーク州、ピークス キル、メイプル、クレスト、ドライブ、23

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】複数のアプリケーションプログラムと少な
    くとも1つのオペレーティングシステムを備え、前記ア
    プリケーションプログラムの少なくとも2つが異なる通
    信メモリ領域を有しているコンピュータシステムにおい
    て、 (a)前記各オペレーティングシステムが非特権状態仮
    想記憶間連絡機能を許す場合に、前記コンピュータシス
    テムの前記各オペレーティングシステムにより、どの通
    信メモリ領域が前記アプリケーションプログラムにより
    使用されるか、およびどの動作が前記通信メモリ領域に
    おいて前記アプリケーションプログラムにより許可され
    るか示すテーブルを記憶する手段と、 (b)前記の1つのアプリケーションプログラムが前記
    他のアプリケーションプログラムの通信メモリ領域内で
    実行中の動作を使用できることを前記コンピュータシス
    テムの対応するオペレーティングシステムにおける前記
    テーブルが示すときに、前記アプリケーションプログラ
    ムの1つを他のアプリケーションプログラムと相互通信
    可能にする手段と、 を備えていることを特徴とする異なる通信メモリ領域を
    もつ異なるアプリケーションプログラム間での非特権状
    態相互通信を与える装置。
  2. 【請求項2】前記各通信メモリ領域は前記アプリケーシ
    ョンプログラムの1つにより使用されるよう指定された
    複数のページを備えている請求項1記載の装置。
  3. 【請求項3】前記各通信メモリ領域は、前記アプリケー
    ションプログラムの1つにより使用されるよう指定され
    た待ち行列を備えている請求項1記載の装置。
  4. 【請求項4】前記通信メモリ領域の一部が、前記アプリ
    ケーションプログラム用の通信データが到着したことを
    前記オペレーティングシステムのディスパッチャー構成
    要素に合図するために使用される請求項1記載の装置。
  5. 【請求項5】複数のアプリケーションプログラムと少な
    くとも1つのオペレーティングシステムを備え、前記ア
    プリケーションプログラムの少なくとも2つが異なる通
    信メモリ領域を有しているコンピュータシステムにおい
    て、 (a)前記各オペレーティングシステムが非特権状態仮
    想記憶間連絡機能を許す場合に、前記コンピュータシス
    テムの前記各オペレーティングシステムにより、どの通
    信メモリ領域が前記アプリケーションプログラムにより
    使用されるか、およびどの動作が前記通信メモリ領域に
    おいて前記アプリケーションプログラムにより許可され
    るか示すテーブルを記憶するステップと、 (b)前記の1つのアプリケーションプログラムが前記
    他のアプリケーションプログラムの通信メモリ領域内で
    実行中の動作を使用できることを前記コンピュータシス
    テムの対応するオペレーティングシステムにおける前記
    テーブルが示すときに、前記アプリケーションプログラ
    ムの1つが他のアプリケーションプログラムと相互通信
    可能にするステップと、 を備えていることを特徴とする異なる通信メモリ領域を
    もつ異なるアプリケーションプログラム間の非特権状態
    相互通信を与える方法。
  6. 【請求項6】複数のオペレーティングシステムとアプリ
    ケーションプログラムを備え、前記アプリケーションプ
    ログラムのそれぞれは前記オペレーティングシステムの
    対応するものにより監視されているコンピュータシステ
    ムにおいて、 (a)前記各オペレーティングシステムが非特権状態仮
    想記憶間連絡機能を許す場合に、前記オペレーティング
    システムの対応するもののメモリのどの通信メモリ領域
    が前記アプリケーションプログラムにより使用され、ど
    の動作が前記通信メモリ領域上のアプリケーションプロ
    グラムにより許可されるかを示す、前記オペレーティン
    グシステムのそれぞれ用のテーブルを記憶する手段と、 (b)前記1つのアプリケーションプログラムが前記オ
    ペレーティングシステムの第1のものにより監視され前
    記他のアプリケーションプログラムが前記オペレーティ
    ングシステムの第2のものにより監視される時に前記ア
    プリケーションプログラムの1つは他のアプリケーショ
    ンプログラムと仮想記憶間連絡機能を可能にし、前記第
    1のアプリケーションプログラムが前記第2のオペレー
    ティングシステムのメモリの第1の通信メモリ領域内で
    実行される動作を使用することを前記第2のオペレーテ
    ィングシステムに記憶された前記テーブルが示すととも
    に前記第1の通信メモリ領域が前記通信によりアドレス
    指定される時に前記仮想記憶間連絡機能が可能になる手
    段と、 を備えていることを特徴とする前記オペレーティングシ
    ステムの異なるものにより監視されている少なくとも2
    つの前記アプリケーションプログラムの2つの異なる通
    信メモリ領域間の非特権状態仮想記憶間連絡機能を与え
    る装置。
  7. 【請求項7】前記各テーブルは、前記各オペレーティン
    グシステムのベクトルを備え、前記各ベクトルは真アド
    レスと長さのサブテーブルおよび対応する許可動作を示
    し、前記アドレスと長さの各対が、特定の動作のための
    対応するアプリケーションプログラムセットにより使用
    される、前記オペレーティングシステムの中の目標オペ
    レーティングシステムの通信メモリ領域を示す請求項6
    記載の装置。
  8. 【請求項8】前記各テーブルは、前記オペレーティング
    システムの中の対応する目標オペレーティングシステム
    の通信メモリ領域を使用するよう許可されない、前記オ
    ペレーティングシステムのそれぞれ用の空ベクトルを備
    えている請求項6記載の装置。
  9. 【請求項9】複数のオペレーティングシステムとアプリ
    ケーションプログラムを備え、前記アプリケーションプ
    ログラムはそれぞれ前記オペレーティングシステムの対
    応するものにより監視されているコンピュータシステム
    において、 (a)前記各オペレーティングシステムが非特権状態仮
    想記憶間連絡機能を許す場合に、前記オペレーティング
    システムの対応するもののメモリのどの通信メモリ領域
    が前記アプリケーションプログラムにより使用され、ど
    の動作が前記通信メモリ領域上のアプリケーションプロ
    グラムにより許可されるかを示す、前記各オペレーティ
    ングシステム用のテーブルを記憶するステップと、 (b)前記1つのアプリケーションプログラムが前記オ
    ペレーティングシステムの第1のものにより監視され前
    記他のアプリケーションプログラムが前記オペレーティ
    ングシステムの第2のものにより監視される時に前記ア
    プリケーションプログラムの1つは他のアプリケーショ
    ンプログラムと仮想記憶間通信を可能にし、前記第1の
    アプリケーションプログラムが前記第2のオペレーティ
    ングシステムのメモリの第1の通信メモリ領域内で実行
    される動作を使用することを前記第2のオペレーティン
    グシステムに記憶された前記テーブルが示すとともに前
    記第1の通信メモリ領域が前記通信によりアドレス指定
    される時に前記仮想記憶間通信が可能になるステップ
    と、 を備えていることを特徴とする前記オペレーティングシ
    ステムの異なるものにより監視されている少なくとも2
    つの前記アプリケーションプログラムの2つの異なる通
    信メモリ領域間の非特権状態仮想記憶間連絡機能を与え
    る方法。
JP4239650A 1991-10-30 1992-09-08 問題プログラム状態におけるメモリ間通信機能を提供するための方法 Expired - Lifetime JP2501727B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US785135 1985-10-07
US07/785,135 US5371890A (en) 1991-10-30 1991-10-30 Problem state cross-memory communication using communication memory domains

Publications (2)

Publication Number Publication Date
JPH05216693A true JPH05216693A (ja) 1993-08-27
JP2501727B2 JP2501727B2 (ja) 1996-05-29

Family

ID=25134550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4239650A Expired - Lifetime JP2501727B2 (ja) 1991-10-30 1992-09-08 問題プログラム状態におけるメモリ間通信機能を提供するための方法

Country Status (2)

Country Link
US (1) US5371890A (ja)
JP (1) JP2501727B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0818119A1 (de) * 1995-03-27 1998-01-14 AUSTEL Licensing GmbH Verfahren zum betrieb einer vermittlungsanlage und erweiterbares digitales schaltsystem zur durchführung des verfahrens
US5640591A (en) * 1995-05-15 1997-06-17 Nvidia Corporation Method and apparatus for naming input/output devices in a computer system
US6222529B1 (en) 1999-05-05 2001-04-24 Shareware, Inc. Method and apparatus for providing multiple sessions on a single user operating system
US8225053B1 (en) * 2007-09-29 2012-07-17 Symantec Corporation Method and apparatus for mitigating performance impact of background processing on interactive application
US9098354B2 (en) * 2008-12-23 2015-08-04 International Business Machines Corporation Management of application to I/O device communication requests between data processing systems
US8370855B2 (en) * 2008-12-23 2013-02-05 International Business Machines Corporation Management of process-to-process intra-cluster communication requests
US8521895B2 (en) * 2008-12-23 2013-08-27 International Business Machines Corporation Management of application to application communication requests between data processing systems
US8499029B1 (en) 2008-12-23 2013-07-30 International Business Machines Corporation Management of process-to-process communication requests
US9009214B2 (en) * 2008-12-23 2015-04-14 International Business Machines Corporation Management of process-to-process inter-cluster communication requests
GB2507339A (en) 2012-10-29 2014-04-30 Ibm Accessing privileged objects in a server by means of semi privileged instruction
US20160034411A1 (en) * 2014-08-04 2016-02-04 Qualcomm Innovation Center, Inc. Subsystem Peripheral Ownership Scheduling and Reconfiguration for Highly Integrated System on Chips
US10191911B2 (en) * 2017-05-27 2019-01-29 Plesk International Gmbh Permanent website hosting on mobile devices

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62134728A (ja) * 1985-12-06 1987-06-17 Nec Corp プログラム間デ−タ転送方式

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4355355A (en) * 1980-03-19 1982-10-19 International Business Machines Corp. Address generating mechanism for multiple virtual spaces
US4442484A (en) * 1980-10-14 1984-04-10 Intel Corporation Microprocessor memory management and protection mechanism
US4521846A (en) * 1981-02-20 1985-06-04 International Business Machines Corporation Mechanism for accessing multiple virtual address spaces
US4777589A (en) * 1985-06-28 1988-10-11 Hewlett-Packard Company Direct input/output in a virtual memory system
US4979098A (en) * 1988-02-10 1990-12-18 International Business Machines Corporation Multiple address space token designation, protection controls, designation translation and lookaside

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62134728A (ja) * 1985-12-06 1987-06-17 Nec Corp プログラム間デ−タ転送方式

Also Published As

Publication number Publication date
JP2501727B2 (ja) 1996-05-29
US5371890A (en) 1994-12-06

Similar Documents

Publication Publication Date Title
US3377624A (en) Memory protection system
US5357612A (en) Mechanism for passing messages between several processors coupled through a shared intelligent memory
US6044415A (en) System for transferring I/O data between an I/O device and an application program's memory in accordance with a request directly over a virtual connection
US5511217A (en) Computer system of virtual machines sharing a vector processor
JP6328134B2 (ja) クラスタ化されたコンピュータ・システムで通信チャネルのフェイルオーバを実行する方法、装置、およびプログラム
US6415332B1 (en) Method for handling of asynchronous message packet in a multi-node threaded computing environment
US20150058847A1 (en) Pass-through network interface controller configured to support latency sensitive virtual machines
JPH06202883A (ja) プロセス間通信装置及び通信方法
KR20040036535A (ko) 버츄얼 머신 또는 다른 컴퓨터 엔티티 간의 데이터를전송하기 위한 시스템 및 방법
JPH05216693A (ja) 仮想記憶間連絡機能を与える方法および装置
US6012121A (en) Apparatus for flexible control of interrupts in multiprocessor systems
US6256660B1 (en) Method and program product for allowing application programs to avoid unnecessary packet arrival interrupts
US20220156103A1 (en) Securing virtual machines in computer systems
US11586567B2 (en) Techniques for virtualizing PF-VF mailbox communication in SR-IOV devices
JP2000076087A (ja) マルチオペレーティングシステム制御方法
US6412018B1 (en) System for handling asynchronous message packet in a multi-node threaded computing environment
JPH10307732A (ja) メッセージ伝送方法
JPH0638237B2 (ja) マルチプログラミング・モードで動作するデータ処理システム
US6032267A (en) Apparatus and method for efficient modularity in a parallel, fault tolerant, message based operating system
US7320044B1 (en) System, method, and computer program product for interrupt scheduling in processing communication
Schröder PEACE: The distributed SUPRENUM operating system
US7360222B2 (en) Extensions to coupling channels to support multiple coupling facility sharing, interrupts, and message passing
JPH0496167A (ja) マルチプロセッサシステムの割込み方式
EP3255544B1 (en) Interrupt controller
JPS63167938A (ja) 信号処理装置及び信号処理方法