JPH0560620B2 - - Google Patents

Info

Publication number
JPH0560620B2
JPH0560620B2 JP62091085A JP9108587A JPH0560620B2 JP H0560620 B2 JPH0560620 B2 JP H0560620B2 JP 62091085 A JP62091085 A JP 62091085A JP 9108587 A JP9108587 A JP 9108587A JP H0560620 B2 JPH0560620 B2 JP H0560620B2
Authority
JP
Japan
Prior art keywords
virtual
pseudo
virtual machine
storage
control program
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
JP62091085A
Other languages
English (en)
Other versions
JPS62281039A (ja
Inventor
Soru Sharutsu Suchiibun
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 JPS62281039A publication Critical patent/JPS62281039A/ja
Publication of JPH0560620B2 publication Critical patent/JPH0560620B2/ja
Granted 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
A 産業上の利用分野 本発明はオペレーテイング・システム制御プロ
グラムに仮想記憶資源を与える新規な方法に関す
る。より具体的には本発明は、制御プログラムし
か使用できないデイスパツチ不可能な仮想計算機
制御ブロツクの形成を通じて、オペレーテイン
グ・システム制御プログラムに仮想記憶資源を与
える方法に関する。 B 従来技術 IBM社から入手可能な仮想計算機/システム
製品(VM/SP)は例えばIBMシステム/370等
の計算機で使用されるオペレーテイング・システ
ムを含んでおり、これは可変な数のタスク実行は
支援し、タスクの間でシステム資源を割り振る。
これあはマルチプログラミングとも呼ばれてい
る。 また複数の端末又はユーザをシステム/370を
含む中央の機構に接続する事ができる。各ユーザ
毎に、VM/SPは仮想計算機を形成する。これ
は中央の計算機及びその全ての関連装置の機能的
シミユレーシヨンである。VM/SPは単一のシ
ステム/370上で多数の仮想計算機の並行的実行
を制御する。 VM/SPは制御プログラム(CP)を含んでお
り、これは各ユーザがシステム/370の資源を単
独で完全に制御しながら操作しているように見え
るように仮想計算機を用いて中央の計算機の資源
を管理する。 マルチ・ユーザ・システムにおいて、新しいユ
ーザがサイン・オンした時、制御プログラムはそ
のユーザのために仮想計算機を形成する。仮想計
算機を形成する時、CPは370のCPU等の処理装
置のソフトウエア・エミユレーシヨンから成る見
かけのハードウエア資源及び仮想記憶資源を形成
する。さらに、CP中に仮想計算機制御ブロツク
(VMBLOK)が形成される。VMBLOKはCPと
仮想計算機との間のリンケージを与えるデータ構
造である。VMBLOKは多数のステータス・イン
ジケータ及びコネクタを含んでいる。その中に
は、形成された仮想計算機に割り振られる仮想記
憶へのリンケージが含まれている。これらの記憶
リンケージは、割り振られた仮想記憶の識別、位
置及び大きさの指示を含んでいる。 CPの初期設定中、VM/SPが計算機によつて
最初にコンパイルされる時、システム仮想計算機
(SVM)が生成される。SVMはCPの仮想計算機
であつて、CPがシステム資源の制御を実現する
時に使用する。 通常、VM/SPにより制御される計算機は実
記憶装置と直接アクセス記憶装置とから成る仮想
記憶機構を含んでいる。実記憶部分はプログラム
により直接的にアドレスされ、そこから命令及び
他のデータが後の実行又は処理のためにプロセツ
サ・ハードウエアに転送される記憶装置を含んで
いる。第2の部分は、間接的にアドレス可能な直
接アクケセス記憶装置(DASD)の形の、補助記
憶装置から成る。典型的には、補助記憶装置は、
CP中のプログラムにより間接的にアドレスされ
る。これには、論理アドレスを絶対メモリ・アド
レスに変換するためのCPのモジユール中に存在
するマツピング又はトランスエーシヨン機能が関
与する。仮想記憶は例えばMcGraw−Hill社1984
年発行の、Hwang及びBriggs著、“Computer
Architecture and Parallel processing”に一般
的に解説されている。 VM/SPのCPは、計算機の仮想記憶資源の一
部をプロセスに割り当てるためのサブシステムを
含んでいる。典型的には、仮想記憶資源の割り当
ては仮想計算機が形成された時に行なわれる。他
のCPサブシステムは実記憶装置と補助記憶装置
との間でのプログラム情報の転送を管理する。 現在実行中のプロセスに対する実記憶資源の割
り当てはVM/SPにおいてセグメント化ページ
方式で行なわれ、割り当てはCPのページング・
サブシステムによつて処理される。VM/SPの
ページング・サブシステムを理解するには、
IBM社の刊行物LY20−0892−3、Release4、
“Virtual Machine System Product System
Logic and Prblem Determination Guide”を
参照されたい。 VM/SPのCPは、上述のような複数のユーザ
にサービスを行なうマルチプログラム方式でシス
テム/370を動作させる事を可能にする、基本的
な機能のセツトを有している。しかし次第に、シ
ステム・プログラムは、CPの主要な目的を増強
する新規な機能をCPに統合する事によつてこの
基本機能の総量を増加させている。システム/
370のマルチ端末バージヨンの多くのユーザに特
有の変型において、他の特殊化した機能もCPに
付加されている。CPの機能の大きさが成長する
と共に、記憶資源に対する需要も増加する。しか
し、SVMを経てCPに利用可能な仮想記憶資源は
16メガバイトに制限されている。この割り当てら
れた容量のうち11メガバイトは、典型的には、現
在使用していないCP部分を補助記憶装置に記憶
するために必要である。CPは、それ自身の現在
のタスクのために、実記憶装置と約5メガバイト
までの仮想記憶装置とを使用する。現在、付加さ
れたCP機能のために余分の記憶装置は、仮想記
憶のこの余分の5メガバイト中に見い出される。 C 発明が解決しようとする問題点 CPに割り当てられた記憶容量の不使用部分を
得るために2つの手続きが存在する。第1の方式
では、SVMがCPプロセス呼び出しに応答して、
何らかのスペースが利用可能か否かを判定するた
めに5メガバイトの仮想記憶を調べる。もしスペ
ースが利用可能であれば、SVMはそれを呼び出
しプロセスに割り振る。しかし、一般には5メガ
バイトよりも遥かに少ないスペースしか利用可能
ではなく、そのようなスペースが利用可能になる
までCPプロセスが記憶スペースを待機する休止
状態がしばしば生じる。 CPプロセスのために記憶容量を得るための第
2の技法は拡張と呼ばれる。拡張は、システム/
370のVM/SPバージヨンで利用可能な拡張制御
プログラム・サポート機構で実施されている。こ
の拡張サポート機構はCPに割り振られた部分の
外に実記憶容量を得る。しかし、その動作は実記
憶領域が取得され又は解決されている間、全ての
仮想計算機を活動を休止させる必要がある。従つ
て、拡長サポート機構はVM/SPのオーバーヘ
ツド・コストを増加させ、その動作効率を減少さ
せる。 D 問題点を解決するための手段 本発明はSVMのコンテキストの外側で且つメ
モリ拡張の必要なしにオペレーテイング・システ
ム制御プログラムに仮想記憶資源を動的に与える
ための方法及び装置を提供する。これは、デイス
パツチ不可能であつてCPプロセスにだけ利用可
能な疑似仮想計算機を形成する事により、種々の
CPプロセスをシステムの端末と同様に取り扱う
事ができるという知見に基づいている。ここで、
「デイスパツチ」とは、実行可能であつて現在
CPU時間資源とを求めて競合している仮想計算
機にCPU時間と資源をCPにより割り振る事を意
味する。これに対して、「デイスパツチ不可能」
という用語は、CP機能に応答してしか実行でき
ずユーザ仮想計算機に応答しない仮想計算機及び
仮想計算機の付属物を意味する。 本発明の方法は、仮想計算機により共有される
仮想記憶機構を有する計算機上で、複数の仮想計
算機の並行的な実行を制御する制御プログラムに
仮想記憶資源を動的に与える。この方法は要求を
処理する制御プログラムを支援するために記憶資
源を要求するステツプを含む。制御プログラム要
求に応答して、仮想記憶資源リンケージを含むデ
イスパツチ不可能な疑似仮想計算機制御ブロツク
が形成される。最後に、仮想記憶資源は処理要求
に当てられ、疑似仮想計算機制御ブロツクの記憶
資源リンケージに結合される。 この方法によれば、CP機能を、本質的に疑似
仮想計算機で提供される特殊なCP端末として取
り扱う事により、CP機能を実行をVM/SPの全
体的なマルチプログラミング方式の中に統合する
事が可能になる。しかし、CPプロセスのために
作られた構造を、外部のシステム端末により作ら
れたものと区別するために、「疑似」という接頭
語が使用されている。疑似仮想計算機はデイスパ
ツチ不可能な仮想計算機でもある。疑似仮想計算
機は本質的にVMBLOKから成り、VMBLOKに
リンクされた仮想記憶資源が割り振られる事を、
念のため、仮定する。しかし、これは必要であれ
ばCP機能により完全な仮想計算機が形成される
可能性を除外するものではない。 また本発明は計算機のオペレーテイング・シス
テム制御プログラムに動的に仮想記憶資源を提供
するためのシステムとしても表現される。このシ
ステムは仮想記憶機構を有し且つ1つ以上の遠隔
の端末に接続され得る多機能計算機を含んでい
る。多機能制御プログラムは計算機中にあつて、
複数の独立した端末が関連の仮想計算機により計
算機の機構にアクセスするのを制御する。制御プ
ログラムは、計算機内にあつて計算機と端末との
間の唯一のインターフエースを提供する仮想計算
機を形成するための機能を有している。また制御
プログラムは、計算機内にあつて計算機と各制御
ブログラム機能との間の唯一の機能インタフエー
スを提供するデイスパツチ不可能な疑似仮想計算
機を形成するための仮想バツフアを含んでいる。
仮想バツフアは、各制御プログラム機能が仮想記
憶資源を要求するのに応答して疑似仮想計算機を
形成し、形成された疑似仮想計算機を仮想記憶機
構内の仮想記憶資源にリンクする。 従つて、本発明の目的は、従来技術により提供
される以上にオペレーテイング・システム制御プ
ログラムに仮想記憶資源を与える事である。 F 実施例 第1図を参照すると、計算機内の計算機構及び
記憶機構を利用して種々の計算機プログラムを実
行するために複数の遠隔の端末を中央の計算機に
接続する事を可能にするマルチプログラミングを
実現するIBMシステム/370のVM/SPにおける
実資源及び内部のプログラム的構造が示されてい
る。 IBMシステム/370のアーキテクチヤは“IBM
システム/370Principles of Qeration”IBM社
刊行物CA22−000−6に記憶されている。また
VM/SPはIBM社が入手可能なVM/SPライブ
ラリと題するマニユアルの集合物に記載されてい
る。本発明の方法及び装置を理解する上で特に役
立つのはVM/SPライブラリの“System logic
and Problem Determination Guide(CP)”、
Rlease4、IBM刊行物LY20−0892−3である。 この実施例において、VM/SPを走行させる
IBMシステム/370を含む中央計算機複合体10
は通常、複数の遠隔端末に接続されており、その
うち2つが参照番号12及び14により示されて
いる。端末と計算機との間の物理的及び電気的接
続は当業者に良く理解されている。VM/SPラ
イブラリを参照すると示されているように、計算
機10VM/SP型のオペレーテイング・システ
ムを有している。オペレーテイング・システム
(OS)16は制御プログラム(CP)部分20を
有する。CP20は、計算機10に接続された複
数の端末が計算機10の資源にアクセスするのを
周知のマルチプログラミング及び仮想計算機の形
成の手続きにより管理する。これに関して、1対
の仮想計算機VMe及びVMn22及び24が、
各々、端末12及び14と計算機10の資源との
間の唯一の機能的インターフエースを与えるため
に形成されている。 仮想計算機22及び24の形成及び動作は通常
のものである。本質的に、その手続きは、コンソ
ール又は端末からの割り込みに応答し、その端末
に関して仮想計算機が存在していなければそれを
形成し、そして周知の初期プログラム・ロード
(IPL)手続きにより仮想計算機を初期化するも
のである。これについては“System Logic and
Problem Determination Guide”250〜251頁を
参照されたい。 さらに、オペレーテイング・システム16が計
算機10に最初にロードされる時、オペレーテイ
ング・システムのIPLプロセスの一部としてシス
テム仮想計算機(SVM)26が生成される。 仮想計算機22,24及び26は、計算機10
の計算資源及び記憶資源の使用要求を発生する複
数の独立に実行されるプログラムに相当する。こ
れらの要求はCP20により調停され、資源に対
するプログラム・アクセスま直列化される。特
に、本発明に関して言えば、そのような直列化
は、計算機10の仮想記憶機構の資源に対する独
立なプロセスのアクセスに関する。仮想記憶機構
資源は、実記憶30、即ち1次記憶装置資源及び
直接アクセス記憶装置(DASD)32により表わ
される補助資源に相当する。また仮想記憶機構は
仮想記憶アクセス・サブシステム34も含んでい
る。通常、仮想記憶アクセス・サブシステム34
は、制御プログラム18を構成する多数の資源制
御サブシステムの1つである。第1図ではサブシ
ステム34は説明の便宜上、制御プログラム18
とは別に示されているが、サブシステム34は制
御プログラム18の資源制御機能の基本的セツト
のサブシステムである事を理解されたい。 仮想記憶アクセス・サブシステム34の動作は
周知である。簡単に言うと、サブシステム34
は、仮想計算機が形成される時に各仮想計算機に
仮想記憶資源を割り振る。またサブシステム34
は、仮想記憶資源に対する仮想計算機のアクセス
を直列化し、実記憶30とDASD32との間のコ
マンド及びデータの転送を処理する。 これまで説明したきたように、第1図のマルチ
端末の計算機構成は本発明の動作環境を形成して
いる。ここで、本発明の必要性を生じる条件を仮
定する。その条件とは:CP18の制御機能の基
本セツトがさらに制御プログラム機能(CPF)
36によら増強されている事である。CPFは通
常、CP18の機能モジユールを形成するステー
トメント及びコマンドの系列として表される。ま
たCPF36を実行させるには、以前に説明した
手続きによつては充分に満足され得ない仮想記憶
資源の要求を伴なうと仮定する。従つて、効率的
にCPF36を実行するために、本発明は疑似仮
想計算機38を提供する。これはCPFが仮想計
算機22,24、及び26と同じ基礎に立つて計
算機10の資源へのアクセスを競合する事を可能
にする。しかし、疑似仮想計算機(PVM)38
はデイスパツチ不可能であつて、外部に接続され
た端末と計算機10の資源との間の機能的インタ
ーフエースを提供できない。むしろ、PVM38
は、CPF36が起動される毎に、CPFと計算機
の資源との間の機能的接続を提供する。ここで、
PVM38と仮想記憶制御サブシステム34との
間の接続は、PVM38がデイスパツチ不可能で
ある事を下記の方式でサブシステム34が3解さ
せられている点を除けば、サブシステム34と仮
想計算機22,24及び26との間の接続と基本
的に同じである。 発明の必要性を生じさせた条件をより良く理解
するために、第2図を参照する。第2図で、
CPF36は例えば制御プログラム18に含まれ
る言語機能モジユールであるとする。この例で
は、計算機10に接続された端末の間で用語翻訳
及びメツセージ伝達サービスを提供するのはこの
用語モジユールの機能である。例えば端末40が
フランス語を話すユーザにより操作され、この人
が端末42のドイツ語を話すユーザにメツセージ
を伝達しようとする事がある。端末40からメツ
セージをデイスパツチする時、翻訳及びメツセー
ジ伝達サービスが要求されたという指示がCP1
8に与えられる。これに応答して、CP18は用
語モジユール46を起動する。言語モジユール4
6の機能的構造は、受信ユニツト50、翻訳ユニ
ツト52、保管ユニツト56、通知ユニツト57
及び検索ユニツト58を含む。動作時に、受信ユ
ニツト50は端末40からフランス語のメツセー
ジを受信し、翻訳ユニツト52及び通知ユニツト
57を呼び出す。翻訳ユニツト52はメツセージ
をフランス語からドイツ語に翻訳し、保管ユニツ
ト56を呼び出す。保管ユニツト56は計算機の
仮想記憶機構59中の言語モジユール46に割り
当てられた仮想記憶資源中のメツセージ保管領域
にメツセージを置く。その間、通知ユニツト57
は端末42に関して翻訳されたメツセージが保持
されている事を端末42に通知する。端末42は
言語モジユール46を起動し検索ユニツト58を
使用する事によりメツセージを検索し、仮想記憶
59からメツセージを取得する。 言語モジユール46の実行は、モジユールに相
当するプログラムを記憶し、メツセージ保管領域
を保持し、そしてモジユールが実行される時にデ
ータ及びコマンドを一時的に記憶するための作業
領域を提供するために仮想記憶資源を必要とす
る。そのような制御プログラム機能の記憶域要求
はかなりの大きさになり、CPに関して許された
5Mバイトの実記録に近いものになるか又はそれ
を越える事さえあり得る。 例えば第2図の言語モジユールのような制御プ
ログラム機能に必要な記憶資源を与えるために、
本発明は、CPFと計算機との間の機能インター
フエースとして働くデイスパツチ不可能な疑似仮
想計算機の形成を提供する。外部的な接続された
端末に関する化仮想計算機の形成と同様に、疑似
仮想計算機の形成はそれに対する仮想記憶資源の
割り当てを伴なう。これに関して、仮想計算機の
初期化は仮想計算機制御ブロツク(VMBLOK)
の形成を伴なう。VMBLOKは制御プログラム中
に存在するデータ・オブジエクトであつて、デイ
スパツチ可能な仮想計算機に関しては、その仮想
計算機のデイスパツチ及び優先順位レベル、仮想
計算機のCPUレジスタ、仮想計算機が何のため
に使われているかの表示、及びその仮想計算機に
割り当てられた仮想記憶資源へのリンケージを含
んでいる。疑似仮想計算機の形成時には、それに
関する疑似VMBLOKが形成される。これは他の
情報にまじつて、その仮想計算機がデイスパツチ
不可能である事の表示、その優先順位レベル、そ
れにより使用されるCPUレジスタ、及びそれに
割り当てられた仮想記憶資源を含んで今る。さら
に、疑似仮想計算機に割り当てられる資源は主と
してCPF36により要求される仮想記憶である。
しかし、これは他の実施例において、端末用に形
成された仮想計算機と同時に資源を割り当てられ
た疑似仮想計算機を作る可能性を排除するもので
はない。 疑似仮想計算機を形成するための手段は、基本
的には、デイスパツチ可能な仮想計算機を形成す
るために制御プログラムが使用するものに対応す
る。但し形成された疑似仮想計算機の疑似
VMBLOKにおいては、デイスパツチ不可能の指
示が記入されており、且つ疑似VMBLOKは下記
に記述する疑似VMBLOKリスト用に予約された
制御プログラムのセクターに置かれる。 疑似VMLOKの形成を通じて、仮想記憶資源
を割り振る手続を、第3図の流れ図で説明する。
第3図において、CPFの初期化は、CPFのため
に既に何が形成されたかを決定するために、疑似
VMBLOKをリストするために保持された制御プ
ログラムのセクタへの呼び出しを生じる。従つ
て、その手続への呼び出しは必要な仮想記憶資源
のサイズ及び疑似VMBLOKの識別(ID)を含
む。最初、呼び出しは判定ステツプ62で受理さ
れ、そこで指定された疑似VMBLOK PVM−ID
が存在するか否かが判定される。もしブロツクが
存在すると、ステツプ64でエラー表示が生成さ
れ、ステツプ66でリターンが行なわれる。呼び出
しを行なうCPFはそのようなエラー表示に応答
して適当な動作を取る手段を有している事を理解
されたい。 呼び出しを行なうCPFに関して、疑似仮想計
算機が形成されていない場合、判定ステツプ62か
らは否定的結果が得られる。それに続く最初のス
テツプでは、呼び出しCPFに関して形成される
疑似仮想計算機のための疑似VMBLOKが作られ
る。これはステツプ68である。次にステツプ70
で、手続きは、呼び出しによつて要求された仮想
記憶資源を取得し、その資源をステツプ68で作ら
れた疑似VMBLOKにリンクする。次にステツプ
72で、仮想記憶制御サブシステム34が使用する
ためのメモリ割り振りマツプが形成される。周知
のように、メモリ割り振りマツプは、現在使用中
の仮想計算機プログラムの部分を追跡するために
サブシステム34が使用するVM/SPオペレー
テイング・システムは仮想記憶システムに関して
セグメント/ページ構造に基づいており、ステツ
プ72で形成された割り振りマツプはページ割り振
りマツプである。ページ化セグメントを有する記
憶システムの構造及び動作を理解するには、
Hwnag及びBriggsの著書の第77〜80頁を参照さ
れたい。 最後に、本発明は制御プログラム18による疑
似VMBLOKリストの形成と維持を伴なう。これ
は疑似VMBLOKが形成された時にそれが接続さ
れる通常のFIFOキユーを含んでいる。疑似
VMBLOKリストは判定ステツプ62を実現したプ
ロセスにより走査する事ができる。これに関し
て、このリストは、CPFを呼び出すプログラム
により識別される疑似VMBLOKがリスト中に含
まれるか否かを判定するために走査される。もし
そうであれば、YESの経路が取られ、さもなけ
ればNOの経路が取られる。 最後に、疑似VMBLOKの形成、リンケージ、
及び連鎖の後、第3図の手続きは、疑似仮想計算
機がCPFのために形成され、疑似仮想計算機が
疑似VMBLOKを通じてCPFを仮想記憶資源にリ
ンクしたという表示と伴に、呼び出しCPFに戻
る。 ステツプ68を形成する疑似VMBLOKを構成す
る手段は、CP18中にあるプログラム・モジユ
ールを含む。便宜上、以下そのモジユールは
DMKVBMVMと呼ぶ。DMKVBMVMをインプ
リメントするために通常のプログラミング手段例
えばアセンブリ用語が利用できる。対応する公知
の機能DMKBLDVMは、前述の文献“System
Logic and Problem Detetmination Guide”の
278頁に説明されている。本発明において
DMKVBMVMは表に概略を示した機能シーケ
ンスにより疑似VMBLOKを構成するCPプロセ
スである。 表 DMKVBMVM 1 呼び出しを行なうCPFの要求を満足するの
に充分な大きさの空き仮想記憶を取得し割り当
てる。 2 仮想記憶以外の仮想ハードウエア資源の不在
を表示する。 3 この疑似仮想計算機がデイスパツチ不可能で
ある事を表示する。 4 この疑似仮想計算機がデイスエーブルされて
いる事を示す。 仮想記憶資源の捕獲及びリンケージのステツプ
70は、良好な実施例ではVM/SP CPの周知の
DMKBLD機能によつて実施される。DMKBLD
機能を理解するには、VM/SPライブラリを参
照されたい。簡単に言うと、DMKBLD機能は、
仮想計算機のために記憶域を割り振り、割り振ら
れた記憶域に対して仮想計算機を識別しリンクす
るVMBLOKの部分を初期化する手段を含んでい
る。モジユールはさらに、要求された仮想記憶資
源の大きさの関数としてセグメント・ヘージ及び
スワツプ・テーブルを形成し初期化する。モジユ
ールは、仮想計算機に関するVMBLOKを形成し
初期化するより広い機能を引き受けながらこれら
の機能を実行する。 割り振りマツプの形成(ステツプ72)及びチエ
イニング(ステツプ74)の機能は周知であり、こ
れ以上の説明は要しない。 疑似VMBLOKを形成するための手続きの疑似
コード・リストを表に与えた。通常そうである
ように、表は入力パラメータを含む。これは本
発明の場合、必要な仮想記憶資源の大きさより成
る。これは仮想アドレス空間の大きさとして表現
されるが、それは記憶域の大きさを表わす周知態
様である。表のプロセスは、最初、指定された
仮想空間に関して疑似VMBLOKリストが走査さ
れる、周知のリスト走査手続(第82行)を含む。
第83行及び第84行は第3図の判定ステツプ62の肯
定結果の経路を実現し、第85〜101行は否定結果
の経路を実現している。否定結果の経路を実現し
ているプロセスの部分の中で特に興味深いのは、
疑似VMBLOKを形成し仮想記憶資源をそのブロ
ツクに割り振り且つリンクするCPルーチン
DMKVBMVM及びDMKBLDの呼び出しであ
る。第93〜96行で、上記の割り振りマツプが形成
される。形成されたVMBLOKは第97〜99行で疑
似VMBLOKリストにリンクされる。このプロセ
スは第100〜101行で通常に終端する。
【表】 第4図は、CP機能をその要求された仮想記憶
空間に割り振り且つリンクするデータ・オブジエ
クトを示している。第4図で、表の手続きによ
り形成された疑似VMBLOKは参照番号90で示さ
れる。ブロツク90はブロツクの識別子が記憶さ
れているフイールド92を含む。この例では、ブ
ロツク識別子はブロツクの名前PVMBLOKiであ
る。第2のフイールド94はセグメント・テーブ
ル96及びページ・テーブル98へのポインタ
(RTR1)を含む。これらのテーブルはブロツク
に関する表のプロセスにより形成される。通常
そうであるように、セグメント・テーブル96及
びページ・テーブル98は、疑似VMBLOK90
を用いるCPF中に含まれる仮想記憶アドレスを
計算機10の仮想記憶資源中の実際のメモリ・ア
ドレスにマツピングするための手段を実現してい
る。ブロツクのフイールド100は表のプロセ
スにより形成されたページ割り振りテーブル10
2を指す第2のポインタ(RTR2)を含む。ペー
ジ割り振りテーブル102は、現在使用中の、割
り振られた仮想記憶の部分(ページ)をビジーと
してマークする点で通常のものである。ブロツク
90のフイールド102は、ブロツク90に関連
した疑似仮想計算機がデイスパツチ不可能である
事を示すデイスパツチ不可能識別子(NDI)を
含んでいる。最後に、フイールド104はCP1
8により維持されるPVMBLOKリストへのリン
クのためのスペースを与える。第4図で、疑似
VMBLOK90はリストへの最後の記入項目なの
で、リスト・テーブルを含む。次の疑似
VMBLOKがリストへブロツク90の後に付加さ
れる時、そのブロツクへのポインタはフイールド
104に置かれる。 制御プログラム18により維持される疑似
VMBLOKリストは、疑似VMBLOK106及び
108を含む通常のリンクされた連鎖である。こ
の連鎖は制御プログラム18のプレフイツクス記
憶領域(PSA)110からポインタ(PTR)に
よつて接続される。PSA110は制御プログラ
ム18に割り振られた記憶ブロツクであつて、そ
の位置は、プログラムが計算機10内に存在する
間は決して変更されない。 従つて、第3図及び表のプロセスによつて形
成され第4図に示された疑似VMBLOKは本発明
の仮想記憶資源提供の良好な実施例に関する重要
な要素である事が認められる。というのはそれら
は制御プログラム機能に必要な仮想記憶資源を割
り振りリンクさせるために必要な中心的機構を提
供するからである。 F 発明の効果 本発明を用いれば、5Mバイトの制限を越えて、
制御プログラムに必要な仮想記憶資源を獲得する
事ができ且つそれに伴なつて動作効率と減少させ
る事もない。
【図面の簡単な説明】
第1図は疑似仮想計算機(PVM)を伴なつた
制御プログラム機能(CPF)を含む制御プログ
ラムを有する計算機複合体の図、第2図は第1図
のCPFをより詳細に示す図、第3図は本発明の
方法の実施例を示す流れ図、第4図は種々の制御
ブロツク及びデータ領域を示す図である。

Claims (1)

  1. 【特許請求の範囲】 1 仮想計算機のオペレーシヨン・システム制御
    プログラムに仮想記憶資源を動的に提供するシス
    テムであつて、 仮想記憶装置を有する計算機複合体と、 複数の仮想計算機による上記計算機複合体の機
    能へのアクセス制御する制御プログラム手段と、 上記計算機複合体中にデイスパツチ不能の疑似
    仮想計算機を作り、上記仮想記憶装置を上記制御
    プログラム手段の機能と接続するための仮想バツ
    フア手段とを備え、 上記仮想バツフア手段は、上記制御プログラム
    の所与の機能による仮想記憶資源要求に応じて上
    記デイスパツチ不能の疑似仮想計算機を作り、該
    疑似仮想計算機を上記仮想記憶装置における仮想
    記憶資源にリンクさせるようにした上記システ
    ム。
JP62091085A 1986-05-30 1987-04-15 制御プログラムに仮想記憶資源を動的に提供するシステム Granted JPS62281039A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/869,084 US4916608A (en) 1986-05-30 1986-05-30 Provision of virtual storage resources to an operating system control program
US869084 1997-06-04

Publications (2)

Publication Number Publication Date
JPS62281039A JPS62281039A (ja) 1987-12-05
JPH0560620B2 true JPH0560620B2 (ja) 1993-09-02

Family

ID=25352895

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62091085A Granted JPS62281039A (ja) 1986-05-30 1987-04-15 制御プログラムに仮想記憶資源を動的に提供するシステム

Country Status (4)

Country Link
US (1) US4916608A (ja)
EP (1) EP0247374B1 (ja)
JP (1) JPS62281039A (ja)
DE (1) DE3770872D1 (ja)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0664536B2 (ja) * 1986-01-17 1994-08-22 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション 仮想端末サブシステムの制御方法
JP3226525B2 (ja) * 1988-10-07 2001-11-05 株式会社日立製作所 主記憶管理方法
CA2001298C (en) * 1988-10-24 1996-08-27 Yasuhiko Nakashima Input and output processing system for a virtual computer
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
GB2228599B (en) * 1989-02-24 1993-03-17 Sun Microsystems Inc Method and apparatus for per-process mounting of file systems in a hierarchical file system environment
JP2708608B2 (ja) * 1990-05-25 1998-02-04 富士通株式会社 仮想計算機のipl処理方式
US5175679A (en) * 1990-09-28 1992-12-29 Xerox Corporation Control for electronic image processing systems
JP2945498B2 (ja) * 1991-04-12 1999-09-06 富士通株式会社 システム間通信方式
JPH04348434A (ja) * 1991-05-27 1992-12-03 Hitachi Ltd 仮想計算機システム
US5522075A (en) * 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US5305454A (en) * 1991-08-12 1994-04-19 International Business Machines Corporation Notification of event handlers in broadcast or propagation mode by event management services in a computer system
US5237684A (en) * 1991-08-12 1993-08-17 International Business Machines Corporation Customized and versatile event monitor within event management services of a computer system
US5625821A (en) * 1991-08-12 1997-04-29 International Business Machines Corporation Asynchronous or synchronous operation of event signaller by event management services in a computer system
US5355484A (en) * 1991-08-12 1994-10-11 International Business Machines Corporation Dynamically established event monitors in event management services of a computer system
US5367637A (en) * 1992-03-26 1994-11-22 International Business Machines Corporation Self-tuning virtual storage management for dedicated real-time computer system
JP2682770B2 (ja) * 1992-05-15 1997-11-26 富士通株式会社 仮想計算機システムのcpu制御方式
US5761738A (en) * 1993-04-08 1998-06-02 International Business Machines Corporation Computer system which stores management or control information in different address space but same offset as corresponding data
US5617568A (en) * 1994-12-14 1997-04-01 International Business Machines Corporation System and method for supporting file attributes on a distributed file system without native support therefor
US6772419B1 (en) * 1997-09-12 2004-08-03 Hitachi, Ltd. Multi OS configuration system having an interrupt process program executes independently of operation of the multi OS
US5999963A (en) * 1997-11-07 1999-12-07 Lucent Technologies, Inc. Move-to-rear list scheduling
US6266739B1 (en) * 1998-02-12 2001-07-24 International Business Machines Corporation Method and apparatus for ultra high-speed formatting of a disk drive volume
US6393493B1 (en) * 1998-04-20 2002-05-21 National Instruments Corporation System and method for optimizing serial USB device reads using virtual FIFO techniques
ATE480822T1 (de) * 2001-02-13 2010-09-15 Candera Inc Failover-verarbeitung in einem speicherungssystem
US7203730B1 (en) 2001-02-13 2007-04-10 Network Appliance, Inc. Method and apparatus for identifying storage devices
US7298903B2 (en) * 2001-06-28 2007-11-20 Microsoft Corporation Method and system for separating text and drawings in digital ink
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
US20030093258A1 (en) * 2001-11-14 2003-05-15 Roman Fishstein Method and apparatus for efficient simulation of memory mapped device access
US20030135615A1 (en) * 2001-12-31 2003-07-17 Wyatt David A. Method for rebalancing resources within a global resource namespace
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
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
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
US6782424B2 (en) * 2002-08-23 2004-08-24 Finite State Machine Labs, Inc. System, method and computer program product for monitoring and controlling network connections from a supervisory operating system
US7340486B1 (en) * 2002-10-10 2008-03-04 Network Appliance, Inc. System and method for file system snapshot of a virtual logical disk
US7752294B2 (en) * 2002-10-28 2010-07-06 Netapp, Inc. Method and system for dynamic expansion and contraction of nodes in a storage area network
US7318141B2 (en) * 2002-12-17 2008-01-08 Intel Corporation Methods and systems to control virtual machines
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US8079034B2 (en) 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor
US7783779B1 (en) * 2003-09-19 2010-08-24 Vmware, Inc Storage multipath management in a virtual computer system
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
US7401093B1 (en) 2003-11-10 2008-07-15 Network Appliance, Inc. System and method for managing file data during consistency points
US7552436B2 (en) * 2003-11-25 2009-06-23 International Business Machines Memory mapped input/output virtualization
US7698289B2 (en) * 2003-12-02 2010-04-13 Netapp, Inc. Storage system architecture for striping data container content across volumes of a cluster
US7409494B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US7430571B2 (en) 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
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
US20060095690A1 (en) * 2004-10-29 2006-05-04 International Business Machines Corporation System, method, and storage medium for shared key index space for memory regions
US7730486B2 (en) * 2005-02-28 2010-06-01 Hewlett-Packard Development Company, L.P. System and method for migrating virtual machines on cluster systems
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
US7698334B2 (en) * 2005-04-29 2010-04-13 Netapp, Inc. System and method for multi-tiered meta-data caching and distribution in a clustered computer environment
US7904649B2 (en) * 2005-04-29 2011-03-08 Netapp, Inc. System and method for restriping data across a plurality of volumes
US7698501B1 (en) 2005-04-29 2010-04-13 Netapp, Inc. System and method for utilizing sparse data containers in a striped volume set
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
WO2007053356A2 (en) * 2005-10-28 2007-05-10 Network Appliance, Inc. System and method for optimizing multi-pathing support in a distributed storage system environment
US7590660B1 (en) 2006-03-21 2009-09-15 Network Appliance, Inc. Method and system for efficient database cloning
US8392565B2 (en) * 2006-07-20 2013-03-05 Oracle America, Inc. Network memory pools for packet destinations and virtual machines
US8301673B2 (en) * 2006-12-29 2012-10-30 Netapp, Inc. System and method for performing distributed consistency verification of a clustered file system
US8489811B1 (en) 2006-12-29 2013-07-16 Netapp, Inc. System and method for addressing data containers using data set identifiers
US8312046B1 (en) 2007-02-28 2012-11-13 Netapp, Inc. System and method for enabling a data container to appear in a plurality of locations in a super-namespace
US8219821B2 (en) 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US8281301B2 (en) * 2007-03-30 2012-10-02 Hitachi, Ltd. Method and apparatus for controlling storage provisioning
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
US7827350B1 (en) 2007-04-27 2010-11-02 Netapp, Inc. Method and system for promoting a snapshot in a distributed file system
US7797489B1 (en) 2007-06-01 2010-09-14 Netapp, Inc. System and method for providing space availability notification in a distributed striped volume set
US8856332B2 (en) 2007-10-09 2014-10-07 International Business Machines Corporation Integrated capacity and architecture design tool
US9116734B1 (en) * 2011-01-14 2015-08-25 Dispersive Networks Inc. Dispersive storage area networks
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US8615757B2 (en) * 2007-12-26 2013-12-24 Intel Corporation Negotiated assignment of resources to a virtual machine in a multi-virtual machine environment
US8380674B1 (en) 2008-01-09 2013-02-19 Netapp, Inc. System and method for migrating lun data between data containers
US7996607B1 (en) 2008-01-28 2011-08-09 Netapp, Inc. Distributing lookup operations in a striped storage system
US8725986B1 (en) 2008-04-18 2014-05-13 Netapp, Inc. System and method for volume block number to disk block number mapping
US20100017801A1 (en) * 2008-07-18 2010-01-21 Vmware, Inc. Profile based creation of virtual machines in a virtualization environment
WO2010023052A2 (en) 2008-08-26 2010-03-04 International Business Machines Corporation A method, apparatus and computer program for provisioning a storage volume to a virtual server
US8117388B2 (en) * 2009-04-30 2012-02-14 Netapp, Inc. Data distribution through capacity leveling in a striped file system
US9778946B2 (en) 2009-08-07 2017-10-03 Dell Software Inc. Optimized copy of virtual machine storage files
US9569446B1 (en) 2010-06-08 2017-02-14 Dell Software Inc. Cataloging system for image-based backup
US9311375B1 (en) * 2012-02-07 2016-04-12 Dell Software Inc. Systems and methods for compacting a virtual machine file
US9417891B2 (en) * 2012-06-11 2016-08-16 Vmware, Inc. Unified storage/VDI provisioning methodology
US9262492B2 (en) 2012-11-30 2016-02-16 Hewlett Packard Enterprise Development Lp Dividing and combining operations

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5958553A (ja) * 1982-09-28 1984-04-04 Nec Corp 統合型仮想計算機のディスパッチ制御方式
JPS59167756A (ja) * 1983-01-31 1984-09-21 Nec Corp 仮想計算機のデイスパツチ制御方式

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2258113A5 (ja) * 1973-11-30 1975-08-08 Honeywell Bull Soc Ind
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
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
US4410940A (en) * 1980-12-05 1983-10-18 International Business Machines Corporation Transfer of control method and means among hierarchical cooperating sequential processes
US4475156A (en) * 1982-09-21 1984-10-02 Xerox Corporation Virtual machine control
US4649479A (en) * 1985-02-28 1987-03-10 International Business Machines Corp. Device driver and adapter binding technique

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5958553A (ja) * 1982-09-28 1984-04-04 Nec Corp 統合型仮想計算機のディスパッチ制御方式
JPS59167756A (ja) * 1983-01-31 1984-09-21 Nec Corp 仮想計算機のデイスパツチ制御方式

Also Published As

Publication number Publication date
US4916608A (en) 1990-04-10
JPS62281039A (ja) 1987-12-05
EP0247374A3 (en) 1988-11-02
DE3770872D1 (de) 1991-07-25
EP0247374A2 (en) 1987-12-02
EP0247374B1 (en) 1991-06-19

Similar Documents

Publication Publication Date Title
JPH0560620B2 (ja)
US6711605B2 (en) Multi OS configuration method and computer system
US7412702B1 (en) System software displacement in a virtual computer system
JP3546678B2 (ja) マルチos構成方法
US4742450A (en) Method to share copy on write segment for mapped files
US6763518B2 (en) Automatic client/server translation and execution of non-native applications
US5459869A (en) Method for providing protected mode services for device drivers and other resident software
JPH0695898A (ja) 仮想計算機の制御方法および仮想計算機システム
JP2003531434A (ja) Javaコンピュータプログラムを実行するためのコンピュータ方法およびシステム
GB2273591A (en) Microcomputer control systems for interprogram communication and scheduling methods
JP4692912B2 (ja) リソース割り当てシステム、及びリソース割り当て方法
JP6198858B2 (ja) 計算機、及び、ハイパバイザによる資源スケジューリング方法
US6263421B1 (en) Virtual memory system that is portable between different CPU types
JPH1185547A (ja) 仮想クラスタ構成方法
JPS603229B2 (ja) 情報処理方式
JP2864255B2 (ja) 仮想計算機方式の計算機システム
JPS6336012B2 (ja)
JPH0754469B2 (ja) 仮想計算機システムのための入出力命令実行装置
CN115904634A (zh) 资源管理方法、系统级芯片、电子组件及电子设备
JP3585956B2 (ja) 情報処理装置及びその方法
JP2000194668A (ja) 計算機システム及び同システムに適用される中間コ―ド実行装置並びに中間コ―ド実行方法
JPH08263377A (ja) キャッシュメモリ管理方式
JPS6269341A (ja) 仮想計算機システム
JPH0659919A (ja) 計算機システム
Armitage A virtualizable machine for multiprogrammed operation based on non-virtualizable microprocessors