JPS62165251A - 仮想記憶仮想計算機型データ処理システムの入出力制御方法 - Google Patents

仮想記憶仮想計算機型データ処理システムの入出力制御方法

Info

Publication number
JPS62165251A
JPS62165251A JP62002015A JP201587A JPS62165251A JP S62165251 A JPS62165251 A JP S62165251A JP 62002015 A JP62002015 A JP 62002015A JP 201587 A JP201587 A JP 201587A JP S62165251 A JPS62165251 A JP S62165251A
Authority
JP
Japan
Prior art keywords
page
virtual
file
memory
segment
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
JP62002015A
Other languages
English (en)
Other versions
JPH0578857B2 (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 JPS62165251A publication Critical patent/JPS62165251A/ja
Publication of JPH0578857B2 publication Critical patent/JPH0578857B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • G06F12/1036Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB] for multiple virtual address spaces, e.g. segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1081Address translation for peripheral access to main memory, e.g. direct memory access [DMA]

Landscapes

  • Engineering & Computer Science (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)

Abstract

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

Description

【発明の詳細な説明】 (産業上の利用分野) この発明は総括的に、UNIX型のオベレーテインク・
システムを用いるマルチタスキング仮想記憶データ処理
システムに関するものであり、詳細にいえば、システム
の一次記憶装置および二次記憶装置の間のデータのベー
ジングのため、簡単なロード命令および記憶命令を用い
た、改善された入出力操作のための装置に関するもので
ある。
(開運出願) オクィイン他(0°Quin、 et al )の名義
で本願と同時出願され、本願と同一譲受人に譲渡された
米国特許願シリアル番号819459は、仮想記憶にペ
ージ処理をもたらすシステム事象を論理的に直列化し、
仮想ページおよびページ・フレームの現在のび態を記録
する、システムのデータ構造の完全性を維持する方法を
開示したものである。
デュバル他(Duvall et al )の名義で本
願と同時出願され、本願と同一譲受人に譲渡された米国
特許願シリアル番号819455は、UNIX型のオペ
レーティング・システムを有する、仮想計算機を作成す
ることができる仮想記憶データ処理システムにおいて「
書込み時コピー」セグメントを共有する方法を開示した
ものである。
デュパル他(Duvall et al )の名義で本
願と同時出願され、本願と同一譲受人に譲渡された米国
特許願シリアル番号819456は、この出頼で説明す
るシステムにしたがって作成されたマツプ化ファイルを
記憶するために用いられる、セグメントの拡張機能を作
成する方法を開示したものである。
(従来技術) 従来技術は、UNIX型のオペレーティング・システム
を稼動することのできる、多数のデータ処理システムを
開示している。米国特許第4536837号、第447
0115号、第4104718号および第404724
4号は、UNIXに基づいたデータ処理システムを記載
した代表的な特許である。
さらに、UNIXオベレーテインク・システムのアーキ
テクチャおよび操作、ならびに基本的なUNIXシステ
ムの各種バージョン、リリース、および類似した派生物
を、さまざまなレベルで記述した多数の刊行物および取
扱い説明書がある。
このような刊行物の代表的なサンプルを以下に示す。
1、rUNIXファイル・システムについて」ジェーム
ズ・ジョイス、1983年10月、pp。
170−182、バイト・パブリケーションズ・インク (”A Tour Through the UNIX
 System、” James J。
yce、0ctober  1983.pp  170
−182.  Byte  Publieations
、  Inc、) 2、「適用業務環境としてのUNIXJマーク・クリー
ガ他、1983年10月、pp、209−214、バイ
ト・パブリケーションズ・インク(UNIX as a
n Application Environment
、” MarkKrie8er、 et al、 0c
tober 1983. pp 209−214. B
yte Publications、 InC,)3、
rUNIXシステム・コール」ブライアン・W・カーニ
ガン他、1984年、pp、203−231、UNIX
プログラミング・エンパイロメント (UNIX System Ca1l、” Br1an
 W、 Kerni8han、etal、 1984.
 pp 203−231. The UNIX Pro
grammin8Env i ronment 4、rUNIXのタイム・シェアリング:その歴史JD
−M・リッチ、1977年1月、pp1947−196
9、ベル・システム・テクニカル・ジャーナル、197
8年7−8月 (”UNIX Time−Sharing: A Re
trospective、” D、  M。
Ritehie、 January 1977、 pp
 1947−1969、  The Be1l  Sy
stem Technical  Journal、J
uly−Au8ust、  1978 5、「マルチプロセッサ・システムを管理する道を開<
UNIXの変形物」ボール・ジャクソン、1988年7
月、ppH8−124、エレクトロニクス (UNIX Variant 0pens a Pat
h to ManaBin8Nuttiprocess
or Systems、” Paul  Jaeson
、  July 1983゜pp 118−124. 
Electronics6、rUNIXオペレーティン
グ・システムにネットワーク・サポートを与えるUNI
Xパークリイ版4.2」ビル・ジョイ、1983年7月
、ppH4−118、エレクトロニクス C”UNIX −Berkley 4.2 Gives
 UNIX 0peratinB System Ne
twork 5upport、” B111 Joy、
 July 1983゜pp 114−118. El
ectronics7、rUNIX自習書、第1部」デ
ビット・フィードラ、1983年8月、pp186−2
19、バイト・パブリケーションズ・インク (”UNIX Tutorial、 Part 1.”
 David Fielder、August、 19
83. pp 786−219. Byte Publ
ications、 InC・) 8、rUNIX自習書、第2部」デビット・フィードラ
、1983年9月、pp257−278、バイト・パブ
リケーションズ・インク (°°U旧X Tutorial、 Part 2.”
 David Fielder、September、
 1983. pp 257−278. Byte P
ublications。
Inc、 ) UNIXのファ ル UNIXオベレーテインク・システムが情報を記憶する
ために使用する基本的な構造は、ファイルである。ファ
イルは典型的な場合、長さが8ビツトのバイトが連続し
たものであって、文字と同等なものである。UNIXは
ファイルの各々に独自の識別番号を指定することによっ
て、ファイルを内部で追跡する。これらの番号はiノー
ド番号とU乎ばれるものであって、UNIXオベレーテ
インク・システムのカーネル自体の内部だけで使用され
るものである。LINIXは1ノ一ド番号を使用して、
ファイルを参照するが、これによってユーザがユーザの
指定した名前で、各ファイルを識別することを可能とす
るものである。ファイル名は1ないし14文字を含む任
意の列である。
tJNIXのファイル・システムには次の3種類のファ
イルがある。(1)実行可能なプログラム、テキスト、
あるいは入力として使用されたり、あるいは何らかの操
作による出力として生成される他の型式のデータである
、通常ファイル。(2)ファイルのリストを含んでいる
ディレクトリ・ファイル。(3)入出力装置をアクセス
する標準的な方法を与える特殊ファイル。
UNIXのディレクトリ UNIXはユーザに、ファイルの編成方法を与える。フ
ァイルをディレクトリ内でグループ化することができる
。内部的に、ディレクトリは通常ファイルおよび他のデ
ィレクトリの名前、およびこれらの対応するiノード番
号を含んでいるファイルである。ファイルの名前を与え
ると、UNIXはファイルのディレクトリを探し、ファ
イルに対応したiノード番号を得る。このiノード番号
によって、TJNIXは他の内部テーブルを検討し、フ
ァイルが記憶されている場所を決定し、このファイルを
ユーザがアクセスできるようにすることができる。UN
IXのディレクトリ自体は名前を持っており、そのそれ
ぞれも14個の文字を含むことができる。
UN IXの  ファ ル・システム ディレクトリがユーザにファイルをグループ化する手段
を与えるのとまったく同じように、UNIXは階層ファ
イル・システムにディレクトリをグループ化することを
サポートする。階層の一番上に、ディレクトリが置かれ
る。ディレクトリは個々のファイルの名前を含むことが
でき、また他のディレクトリの名前を含むこともできる
。これらの他のディレクトリはさらに、個々のファイル
の名前や、さらに他のディレクトリを含むことができる
。ファイルの階層は、この結果である。
II N I Yの7−Pイノ1ノの翳昂は k目を1
171.たト下逆の木に類似している。ディレクトリが
木の葉に対応する個々のファイルへのパスに最終的に達
するまで、さまざまなディレクトリが枝分れしていく。
UNIXのファイル・システムは、「相構造」といわれ
るものであって、ルート・ディレクトリと呼ばれる単一
のディレクトリが、階層の一番上にある。バスをルート
・ディレクトリからディレクトリの階層を下へたどるこ
とによって到達できるすべてのファイルが、ファイル・
システムを構成する。
U N I Xファイル・システムの編゛UNIXは、
これが管理するファイルに関する多量の情報を維持する
。各ファイルに関して、ファイル・システムはファイル
の大きさ、位置、所有権、セキュリティ、型式、作成時
間、変更時間、およびアクセス時間を記憶している。フ
ァイルを作成し、使用するたびに、この情報はすべで、
ファイル・システムによって自動的に維持される。
UN’lXファイル・システムは、ディスク・ファイル
などの大容量記憶装置に常駐する。これらのディスク・
ファイルは固定型の媒体、あるいは脱着型の媒体を使用
することができ、これらの媒体は剛性のものであっても
、可撓性のものであってもかまわない。LINIXはデ
ィスクを一連のブロックとして編成し、これらのブロッ
クがファイル・システムを構成する。これらのブロック
の長さは、通常512バイトまたは2048バイトのい
ずれかである。ファイルの内容はひとつまたはそれ以上
のブロックに記憶され、ブロックはディスク上の広い範
囲に分散していることが可能である。
通常ファイルはiノード構造によってアドレスされる。
各iノードはl−リストに含まれているインデックスに
よってアドレスされる。l−リストはファイル・システ
ムの大きさに基づいて生成されるものであり、一般に、
ファイル・システムが大きければ、ファイルが大きいこ
とを意味するのであるから、i−リストは大きくなる。
各1ノードは4バイトのディスク・アドレス要素ヲ18
個含んでいる。直接iノードは最大10個のブロック・
アドレスを含むことができる。ファイルがこれよりも大
きいと、11番目のブロックは第ルベルの間接ブロック
をポイントする。アドレス12および13が、それぞれ
第2レベルおよび第8レベルの間接ブロックに使用され
、間接iノードに新しいアドレス・スロットが必要にな
るたびに、最初のデータ・ブロックの前の間接アドレッ
シング・チェインが、ルベル増加する。
すべての入出力は、ファイルを読んだり、書いたりする
ことによって行われるが、これはすべての周辺装置、端
末さえもが、ファイル・システム内のファイルだからで
ある。最も一般的な場合、ファイルの読み書きを行う前
に、ファイルをオーブンすることによって、ユーザが何
を行おうとしているかを、システムに対して知らせなけ
ればならない。ファイルへの書込みを行うには、ファイ
ルを生成することが必要なこともある。ファイルをオー
ブンするか、生成すると(openまたはcreate
システム・コールによって)、システムはこれを行う権
限のチェックを行い、権限がある場合には、ファイル記
述子という負でない整数を返す。入出力をこのファイル
に対して行う場合には、名前の代わりにファイル記述子
を使用して、ファイルヲ識別する。このオーブン・ファ
イル記述子はファイルを、ファイルをオーブンしたユー
ザの「プロセス」空間に保持されているファイル・テー
ブル項目と関連付ける。UNIXの用語においては、「
プロセス」という語は実行されるプログラムと同じ意味
で使用される。ファイル・テーブル項目は、ファイルに
対するiノード・ポインタおよびファイルに対するファ
イル・ポインタを含む、オーブン・ファイルに関する情
報を含んでおり、この情報はファイルへの読み書きを行
う現在位置を定義する。オーブン・ファイルに関するす
べての情報は、システムによって維持される。
従来のUNIXにおいては、入力および出力は2つのシ
ステム・コール、readおよびwriteによって行
われ、これらのシステム・コールは同じ名前の機能を有
するプログラムからアクセスされる。両システム・コー
ルに対する最初の引数はファイル記述子である。第2の
引数はバッファに対するポインタであって、データ源ま
たはデータの宛先として機能する。第3の引数は転送さ
れるバイトの数である。各readまたはwriteシ
ステム・コールは、転送されるバイト数を計数する。読
取り時に、返されるバイト数は要求された数より少なく
なるが、これは残っている読み取らなければならない数
が、要求された数よりも少ないからである。ゼロという
戻値はファイルの終りを意味し、−1という戻値は何ら
かのエラーを示す。書込み時に、戻される値は実際に書
き込まれたバイト数である。この値が書き込まれると考
えられる数と等しくなければ、エラーが発生している。
readおよびwriteというシステム・コールのパ
ラメータは、ファイルにアクセスしている適用業務プロ
グラムによって課外される。したがって、適用業務は標
準システム・メモリ階層に特有な、多層記憶特性に敏感
で、かつこの特性を利用できるものでなければならない
。適用業務の観点から考えた場合、システムのメモリ構
成要素を単一レベルの階層と見ることができれば、有利
である。これを適切に行えれば、適用業務は入出力管理
オーバーヘッドのほとんどを省くことができよう。
従来技術は多数のマルチタスク仮想メモリ・データ処理
システムを開示しているが、これらのシステムのシステ
ム・アーキテクチャはシステムで同時に稼動する適用業
務の各々に、異なる「仮想計算機」または端末を確立す
ることに基づくものである。このようなシステムにおい
て、オペレーティング・システムは、仮想資源管理プロ
グラムによって確立される仮想計算機で実行される。仮
想資源管理プログラム(VRM)は、プログラムまたは
プロセスのグループであって、システムの処理装置又は
マイクロプロセッサ、およびシステムのメモリ管理装置
を拡張して、仮想計算機環境にあるオペレーティング・
システムの高レベルのボートを与えるものである。
プログラムおよびオペレーティング・システムと、仮想
資源管理プログラムとの間のソフトウェア・インタフェ
ースが確立され、仮想計算機インタフェース(VMI)
と呼ばれる。したがって、仮想計算機は極めて高レベル
の物理機械類似のインタフェースを有するものである。
マルチタスク仮想計算機環境で作動する従来技術のシス
テムのほとんどにおいて、仮想資源管理プログラムは仮
想記憶をこの仮想計算機に転送することによって、仮想
記憶を仮想計算機に与える。
仮想記憶のアドレス空間t−管理する各種の構成が、こ
れらの仮想記憶システムで使用されている。
「ページ化セグメンテーション」という公知の手法のひ
とつにおいては、仮想記憶の全アドレス範囲が同じ大き
さのセグメントに分割される。仮想アドレスはしたがっ
て、2つの部分、すなわちセグメント識別子とオフセッ
トで構成される。たとえば、仮想アドレス空間は2(4
0)のアドレス位置からなり、40ビツトの仮想アドレ
スが必要となる。12ビツトのセグメント識別子と28
ビツトのオフセットを、仮想アドレスの書式に使用した
場合、212すなわち4,096の独立したセグメント
が与えられ、各セグメントは228すなわち256X1
09の独立したアドレス位置を有する。各アドレス位置
が1ページのデータを記憶でき、かつ1ページのデータ
が248(2K)バイトを保持できると仮定した場合、
仮想記憶の容量は1テラバイト(243)となる。
これらの従来技術のシステムはシステムの処理装置のア
ーキテクチャに応じて、仮想アドレスを発生するのに異
なる構成も用いている。32ビツトの有効実記憶を有す
る処理装置が用いている手法のひとつは、所定数nの高
次アドレス・ビットを用いて、2ないし21のセグメン
ト識別子レジスタからひとつを選択することである。セ
グメント識別子レジスタの各々は、必要な長さを有する
セグメント識別子を記憶することができる。40ビツト
の仮想アドレスの上記の例において、セグ子を記憶する
ための12のステージを有することになる。この12ビ
ツトのセグメント識別子は処理装置の残りの28ビツト
の有効実アドレスと連結され、この有効実アドレスは4
0ビツトの仮想アドレスのオフセット部分を与える。
VRMによって作成された仮想計算機は一般に、多数の
メモリ・セグメントを定義し、これらによって仮想計算
機は任意の時点で作動する。セグメントのひとつにある
データにアクセスするため、仮想計算機はアドレス指定
手法の上記の例を使用して、セグメント識別子を16の
セグメント・レジスタのひとつにロードする。仮想計算
機が他の仮想計算機へのアクセスを認めていない限り、
仮想計算機が選択したセグメントは通常、専用のもので
ある。セグメントへのアクセスは、仮想計算機の牙ベレ
ーテイングシステムが制御することができる。
仮想記憶システムは一般に、ページ不在メカニズム゛を
用いており、このメカニズムはシステム・−ジンクを制
御する機能を果たす。これらの記憶装置を一次および二
次記憶装置、またはフロントおよびパック記憶装置と呼
ぶことが、しばしばある。ベージング機能はある程度ま
で、適用業務プログラムによって行われる入出力操作と
類似している。それ故、単純なベージング・システムの
中には、適用業務プログラムおよびオペレーティング・
システムによって制御されているファイル入出力操作と
、ベージング操作の間で衝突を起こすものがある。たと
えば、ファイル装置ドライバがディスク・データをメモ
リ・バッファに読み込み、次いで独立して作動するベー
ジング・システムが新たにバッファされたデータをディ
スクに再度書き込む。ファイル入出力サブシステムとベ
ージンク入出力サブシステムとの間の作動に調整が行わ
れていない場合、ローダがプログラムをパック記憶装置
のライブラリ・セクシ異ンから、フロント記憶装置に読
み込み、同時にベージング人出力機能がページ・アウト
操作中に、プログラムを異なるディスク・アドレスに戻
すという、重複の可能性が、プログラムのローディング
時に存在することになる。
(発明が解決しようとする問題点) したがって、重要なのは、データ処理システムが2つの
同様な機能の間の調整度を反映することであって、この
調整を行うために、従来技術において各種の構成が開示
されている。しかしながら、必要な調整はシステムの性
能に影響をおよぼすことになり、極めて大きな仮想記憶
を有するマルチタスク、マルチユーザ仮想記憶のUNI
Xタイプの環境で、従来技術の調整手法を実施しようと
した場合、これらの手法を管理することが極めて困難に
なる。
(問題点を解決するための手段) この発明によれば、仮想計算機を確立する仮想資源管理
プログラムの一部であるメモリ管理装置のページ不在メ
カニズムに、すべてのファイル入出力操作を割り当てる
ことのできる仮想計算機環境が確立される。ページ不在
メカニズムが用いる公知のデータ構造と同様に、UNI
X構造化ファイルに対するtJNIXのreadおよび
writeシステム・コールは、維持される。仮想記憶
のアドレスと実アドレスの間の一致、およびディスク・
ファイル上のデータの実アドレス位置を記録するための
、外部ページ・テーブルなどの構造が、システム・メモ
リ内のページの仮想アドレスを、システム・メモリの実
アドレスと相関させる転置ページ・テーブルと同様に維
持される。
通常、適用業務プログラムを作動させた結果として作成
される仮想記憶のセグメント内のデータはプログラムの
実行後も継続するものではない。
この発明においては、仮想記憶管理プログラムによって
、セグメントに含まれているデータが仮想計算機のファ
イル・システムのファイルと関連付けられ、それ故プロ
グラムの実行後、データが存在できるようになる。仮想
ページへのファイ・ル・データのこの関連付けは、以下
においてマツプ化ファイルまたはファイルのマツピンク
と呼ばれるものによって達成される。
ト用のルベル記憶環境を作成する能力を、仮想計算機に
可能とするため、マツプ・ページ範囲サービスが確立さ
れる。留意しておかなければならないのは、UNIXオ
ペレーティング・システムなどのほとんどのオペレーテ
ィング・システムが一般に、従来の入出カシステム・コ
ールによって、ディスク・ファイルにアクセスする能力
を、適用業務プログラムに与えるということである。一
方、適用業務プログラムは一般に、ディスク駆動機構な
どの二次記憶ファイルにアクセスする、オペレーティン
グ・システムとは独立な能力を有していない。一方、適
用業務プログラムはマイクロプロセッサと密接な作動を
行って、いわゆるロード命令および記憶命令によってシ
ステム・メモリをアドレスするように、設計されている
マツプ・ページ範囲サービスを設け、個々のファイルの
マツピンクなどの、サブセット用の「ルベル記憶」環境
を作成する能力を仮想計算機に可能とする。仮想計算機
で実行されるオペレーティング・システムも、仮想資源
管理プログラムもファイルをマツプする機能を有してい
ないため、このサービスが必要となる。仮想計算機は仮
想記憶管理プログラムのテーブルにアクセスできず、か
つ仮想記憶管理プログラムは仮想計算機のファイル・シ
ステム構造と無関係になるように設計されている。マツ
プ・ページ範囲サービスは仮想計算機に、ファイルなど
の論理エンテイテイーと、ディスク上のその位置との関
係をVMMに伝える能力を与える。
この方法はさらに、ファイルのディスク・ブロックを異
なるメモリ・セグメントに選択的にマツプする、tJN
IXオベレーテインク・システムに対する拡張機能を与
えることを含んでいる。マツピング処理は、所定のファ
イルに対する磁気ディスク装置に割り振られているブロ
ックの範囲(1ブロツクは2Kに等しい1ページを含ん
でいる)を動的に定義する。マツプは仮想計算機に割り
当てられた空間の実記憶に記憶される。
このマツピングが行われると、仮想計算機で作動するプ
ログラムがアクセス時のデータの物理位置に関係なく、
機械レベルのデータ・アクセス操作を実行できるように
なる。参照時にデータが活動メモリにない場合、ページ
不在が惹起される。
不在のアドレス位置を参照することによって、下位のベ
ージング・システムはページ不在を解゛決し、かつデー
タが実際に二次記憶装置に割り振られている場合には、
このアドレス位置が、このセグメント・アドレスに対す
るページ・マツピングによって定義される二次記憶装置
の物理的位置に対応する。セグメント範囲内の各仮想ア
ドレスが二次記憶装置に有する物理データ位置は、多く
てもひとつである。逆に、二次装置の各物理データ位置
を、2,048個の独立したセグメント・アドレスで参
照することもできる。ページとデータのブロックの関係
の論理的および物理的な範囲が、上記の関係を定義する
。この場合、アドレスの指定はバイト・レベルで分離し
て見るが、しかし常に実際の二次装置の位置の最初の2
にの境界まで、切捨られるものと見ることができる。
オベレーテインク・システムの「カーネル」を拡張する
ことによって、マツプされたページ範囲サポートが「マ
ツプ化実行可能プログラム」の形で実現される。プログ
ラムをロードすると、カーネルはプログラムのディスク
・ブロックを、個別の仮想記憶テキストとデータ・セグ
メントにマツプする。tJNIXの用語において、「テ
キスト」は固定されたプログラムの一部であり、一方テ
ーブルや定数などの可変データは、「データ」と呼ばれ
る。カーネルがプログラムをロードするために行う物理
的入出力は、極く僅かである。プログラムにおいて、フ
ァイルの初めがカーネルによって読み取られる。他のデ
ィスク入出力はすべて、プログラムが実行されると、デ
マンド・ページ化される。このことは、マツプ・ページ
範囲のサポートがなければ、全部をメモリに読み込み、
おそらくはページング監視プログラムによってページ・
アウトしなければならない、大きなプログラムに対する
性能を、大幅に改善する。
このマツプ・ファイル・サポートは、マツプ・ページ範
囲機能に対するシステム・コール・インタフェースから
なっている。従来技術のUNIXのシステム・コール°
’shmat”を変更して、この方法にしたがってs 
hma tシステム・コールに指定することのできるフ
ラグ・ビットを含むようにした。SHM  MAPフラ
グを指定した場合、指定されたオーブン・ファイル記述
子と関連するデータ・ファイルが、呼出しプロセスのア
ドレス空間にマツプされる。ファイルのマツピングが成
功すると、マツプ・ファイルのセグメント開始アドレス
が戻される。マツプされるデータ・ファイルは、二次記
憶装置に常駐する正規ファイルでなければならない。オ
プションのフラグを°゛s hma t″システムコー
ルによって与えて、ファイルのマツプ方法を指定するこ
ともできる。
ファイルをマツプする別な方法は一般に、基本的なtJ
NIXシステムで利用できる方法、すなわち読取り専用
、書込み専用、書込み時コピー(SHM  C0PY)
に対応している。
同じファイルを読取り専用または書込み専用にマツプす
るすべてのプロセスは、同じ仮想記憶セグメントをマツ
プする。ファイルをマツプする最後のプロセスが、この
セグメントをクローズするまで、このセグメントはマツ
プされたままである。
同じファイルを書込み時コピーにマツプするすべてのプ
ロセスは、同じ書込み時コピー・セグメントにマツプす
る。書込み時コピー・セグメントに対する変更は、rf
syncJという特別なコマンドを発行して、ユーザが
変更を要求するまで、ファイル・システムに常駐するフ
ァイルの内容に影響を与えない。プロセスがファイルに
対して書込み時コピー・マツピンクを要求し、しかも書
込み時コピー・セグメントが存在しない場合、このセグ
メントが作成され、このセグメントは最後のプロセスが
このセグメントに接続されるまで、共有状態に維持され
、最後のプロセスがクローズ・システム・コールによっ
て、このセグメントとの接続から外されると、その時点
でセグメントは破壊される。同じファイルに対する書込
み時にコピー・マツピングの次の要求によって、新しい
セグメントがこのファイルに対して作成される。
ファイル記述子を使用して、対応するファイルを一回だ
けマツプすることができる。多重ファイル記述子(多重
「オーブン」システム・コールによってもたらされる)
を使用して、ファイルを多重マツプすることができるが
、しかし−人またはそれ以上のユーザが一度に、ファイ
ルを読取−書込および書込み時コピーの両方にマツプす
ることはできない。
ファイルがセグメントにマツプされると、上述のように
、ロード命令および記憶命令によってセグメントをアク
セスすることによって、ファイルが直接参照される。仮
想記憶ベージング・システムは自動的に、物理的入出力
を引き受ける。しかしながら、ファイルの終りを超える
参照によって、ファイルはページ・サイズ、すなわち2
に単位で拡張される。マツプ化ファイルの参照に対する
一般的なシステムのフローを、以下で説明する。以下の
説明において、適用業務は現在メモリに存在しないファ
イル内のデータ領域を参照しようとしている。この参照
によってメモリ不在が発生し、適用業務を操作している
プロセスは待ち状態に置かれる。仮想資源管理プログラ
ムは新しいデータのために、ページを割り振る。仮想資
源管理プログラムは次いで、マツプ・ファイル・サービ
ス機能によってファイルに対してそれ以前に作成されて
いるファイル・マツプから、データがディスク上の、ど
の物理アドレスに常駐しているのかを決定する。開始入
出力操作がディスクに対して開始され、ディスク・アダ
プタがファイルからの2にバイトのデータ・ブロックに
よって、メモリ位置の用意を整え、割込が仮想計算機、
すなわちUNIXのカーネルに対して行われる。UN 
IXのカーネルは文脈スイッチであり、オペレーティン
グ・システムが制御を得ることを可能とする。プロセス
はタスク指名可能となり、次いでオペレーティング・シ
ステムのカーネルは制御を、仮想資源管理プログラムに
戻し、仮想資源管理プログラムはその後プロセスに再度
タスク指名を行う。
ファイルをマツピンクするシステム・コールのtX型の
ファンクション・コールをマツプ化ファイル・セグメン
トと共に使用することが、可能となる。
したがって、この発明の目的は、UNIX型のオペレー
ティング・システムを用いる仮想計算機仮想記憶型のデ
ータ処理システムにおけるファイル入出力操作を制御す
る、改善されたシステムを与えることである。
この発明の他の目的は、記憶サブシステムが別々な前部
および後部型の記憶装置からなっているとしても、仮想
記憶を有する仮想計算機上で作動する適用業務プログラ
ムが、メモリを蛍−レベルの記憶機構としてアドレスす
ることを可能とする、改善されたシステムを与えること
である。
この発明のさらに他の目的は、仮想計算機で作動する適
用業務プログラムが発生するロード命令および記憶命令
が、システム・メモリをアドレスしたときに生じるペー
ジ不在を、メモリ管理プログラムのページ不在メカニズ
ムを用いて、解決すス 正相f4.竹鳥IF相和梼小I
T kl I V番R−マレ1たデータ処理システムで
使用される立証済みのシステムを与えることである。
上記以外の目的および利点は、図面と関連した下記の説
明から明らかとなろう。
(実施例) 之囚元人豊里互。第1図は、この発明のシステムが用い
られる仮想記憶システムの略図である。
第1図に示すように、システムはハードウェア部分10
およびソフトウェアまたはプログラミング部分11で構
成されている。図示のように、ハードウェア部分10は
処理装置機能12、メモリ管理機能13、システム・メ
モリ機能またはFtAM14、システム・パス15、入
出力チャネル制御装置(IOCC)16、および入出力
パス21で構成されている。ハードウェア部分はさらに
、l0CC16を介して入出力パス21に接続された一
群の入出力装置を含んでおり、これらの入出力装置群は
磁気ディスク装置機能17、表示機能18、コプロセッ
サ機能19、およびキーボードやマウス型の装置を表す
ブロック20を含んでいる。
システムのソフトウェア部分はシステムで作動させられ
る適用業務プログラム22、一群の適用業務開発プログ
ラム、つまり新しい適用業務の開発を援助するツール2
3、たとえばUNIXシステム■のカーネルを拡張した
ものであってもかまわないオベレーテインク・システム
のカーネル24、仮想資源管理プログラム25を含んで
いる。
仮想資源管理プログラムによって、それぞれが異なるオ
ベレーテインク・システム上で作動するが、システムの
資源を共有する、多数の仮想計算機を作成することが可
能となる。したがって、システムはマルチタスク、マル
チユーザ環境で作動可能であり、これが大型の仮想記憶
型の記憶システムを必要とする主な理由のひとつである
第2図は、システムの他の構成要素に対する仮想資源管
理プログラム25の関係を示したものである。第2図に
示すように、仮想計算機は22a−22Cなどの、ひと
つまたはそれ以上の適用業務プログラム、および少なく
ともひとつのオベレーテインク・システム30を含んで
いる。仮想計算機インタフェース31が、仮想計算機と
VRM25の間に設定されている。ハードウェア・イン
タフェース32もVRM25とハードウェア部分10の
間に設定されている。VRM25は仮想記憶をサポート
している。説明のため、第1図に示すハードウェアのメ
モリ機能が、システム・メモリ14に対する16メガバ
イトの容量に等しい、システム・メモリ14用の24ビ
ツトのアドレス空間と、1テラバイトのメモリに等しい
、仮想記憶用の40ビツトのアドレス空間とを含んでい
るものと、想定する。ページ化セグメンテーション手法
がメモリ管理装置13に対して実施されているので、仮
想アドレスの総空間は4,096のメモリ・セグメント
に分割され、各メモリ・セグメントは256メガバイト
を占めている。
第3図は、仮想記憶のモデルを示すものである。
処理装置12は、たとえば適用業務プログラムによって
指定される32ビツトの有効アドレス空間える。32ビ
ツトのアドレスの内高次の4ビツトは、メモリ管理装置
(MMU)13に配置されている16個のセグメント・
レジスタから1個を選択する機能を果たす。各セグメン
ト・レジスタは、特別な制御型式のビットと共に、12
ビツトのセグメントID部分を含んでいる。12ビツト
のセグメントIDは、初期有効アドレスの残りの28ビ
ツトと連結され、システムに40ビツトの仮想アドレス
を与える。40ビツトの仮想アドレスは次いで、24ビ
ツトの実アドレスに変換され、この実アドレスを使用し
て、システム・メモリ14をアドレスする。
MMU 13は変換索引バッファ(TLB)を利用して
、最も近い時点で使用された仮想アドレスの変換を含め
る。ハードウェアを使用して、新しい仮想アドレスが変
換のためにTLBに提示された場合に、主記憶ページ・
テーブルからのTLB項目を自動的に更新する。
第4図は、TLB再ロード機能の概念を示すものである
第4図に示すように、逆ページ・テーブル(IPT)で
40ビツトの仮想アドレスを索引することによって、こ
れらのアドレスをTLBにロードする。テーブルが「逆
転」されるのは、このテーブルが仮想ページあたり1項
目ではなく、各実メモリ・ページに対して1項目を含ん
でいるからである。それ故、サポートされているプロセ
スまたは仮想セグメントの数に関係なく、IPTに実メ
モリの固定部分が必要となる。アドレスを変換するため
、ハツシュ機能を仮想ページ数(40ビツトの仮想アド
レスの高次部分−ページ・オフセットを除いた)に適用
し、ハツシュ・アンカ・テーブル(HAT>に対する索
引を得る。各HAT項目は同じハツシュ値を有するIP
T項目の連鎖をポイントする。ハツシュ連鎖の線形探索
によって、IPT項目と、それ故、当初の40ビツトの
仮想アドレスに対応する実ページ数が得られる。このよ
うな項目が見つからなかった場合、仮想ページがシステ
ムにマツプされず、ページ不在割込が生じる。
ページ不在ハンドラ(PFH)の機能は、実記憶を参照
された仮想ページに割り当て、要求されたデータを実記
憶に変換するために必要な人出力を行うことである。そ
れ故、システムは要求時ベージング型のシステムである
実記憶が一杯になった場合、PFHもデータのどのペー
ジをページ・アウトするかの選択を行わなければならな
い。選択はクロック・ページ置換アルプリズムなどの3
内当なアルプリズムによって行われる。クロック・ペー
ジ置換アルゴリズムは、ページが最後に使用された、ま
たは参照された時期に基づいて、ページを置換するもの
である。
ページは磁気ディスク装置に転送される。
1、テ、   −タ 告。仮想記憶管理データ構造の特
性を、一部第5図を参照して以下で説明する。
セグメント・テーブル。セグメント・テーブル(S I
 DTABLE ”)は活動セグメントを記述する情報
を含んでいる。このテーブルは次のような特性を有して
いる。このテーブルは実記憶に固定され、その大きさは
予め定められている。テーブルはメモリ内でワード類に
なっていなければならず、かつセグメント・テーブルを
ベージング・サブシステムのクリチカル・セクションで
変更しなければならない。
外部ページ・テーブル。外部ページ・テーブル(XPT
)はページをディスクにマツプする方法を記述したもの
である。仮想記憶の定義された各ページにXPT項目が
ひとつある。セグメントが作成されると、セグメントに
対するXPT項目が連続項目として割り振られる。1メ
ガバイト未満の、小さなセグメントに対するXPT項目
は、XPTのページ境界を横切らない。1メガバイト以
上の、大きなセグメントに対するXPT項目は、XPT
ページの開始部分に揃えられる。XPT項目は、65,
536バイト(64K)の仮想記憶をマツプする32項
目単位で、割り振られる。各項目には4バイト必要であ
る。このテーブルは次のような特性を有している。メモ
リに固定しなければならないのは、XPT/レート項目
だけである。
この項目の大きさは予め定められており、ワードlid
でなければならない。仮想ページ番号がXPTテーブル
に対する索引となっている。XPTを変更するのは、ベ
ージング・サブシステムのクリチカル・セクションにお
いてだけでなければならない。
逆ページ・テーブル。逆ページ・テーブル(IPT)は
、上記したように、仮想アドレスと実アドレスの間の関
係を記述したものである。IPTは2つのアレイで構成
されている。第1のアレイは主として、メモリ管理装置
によって定義され、変換機能を制御する情報を含んでい
る。第2のアレイはベージング・サブシステムのページ
状態情報を含んでおり、ページ不在処理を制御するため
に使用される。このアレイは次のような特性を有してい
る。このアレイは固定されており、その大きさは初期プ
ログラム・ローディング(IPL)時にセットされる実
記憶の大きさによって決定される。このアレイは実記憶
の大きさにしたがって、揃えられる。実ページ番号がI
PTに対する索引になっている。上述の構造と同様に、
このアレイの変更は、ベージング・サブシステムのクリ
チカル・セクションで行わなければならない。各実ベー
ジ・フレームはIPTに項目を有している。すべてのペ
ージは3つのリストのひとつにある。
各有効セグメントには、主リストがひとつある。
このリストは二重に連係され、セグメント制御ブロック
に固定される。このリストは有効仮想アドレスによって
セグメントに割り当てられたすべてのページ・フレーム
を連係する。このリストに対して、有効な変換索引バッ
ファ(TLB)項目が存在することもある。
再割り当てできるページ・フレームを連係する、システ
ム全体に渡る自由リストがひとつある。この二重に連係
された循環リストは、ページ1に対してIPTに固定さ
れている。このリストのページは有効なTLB項目を有
しておらず、これらのページに対するアクセスは常にペ
ージ不在をもたらす。ページが主リストおよび自由リス
トの両方にあってもかまわない。これが行われるので、
ページを自由リストの探索を行わずに、解放することも
可能である。未命名(未ハツシュ)のページは、リスト
の最初の部分に置かれ、命名済み(ハツシュ済み)のペ
ージは最後の部分に置かれる。
現在ディスクから読み取られているか、あるいはディス
クに書き込まれている、すべてのページを連係するシス
テム全体に渡る人出カリストがひとつある。この二重に
連係された循環リストは、ページ2に対してIPTに固
定されている。このリストのページは有効なTLB項目
を有しておらず、これらのページに対するアクセスもペ
ージ不在をもたらす。先入先出し法でないディスク・ス
ケジューリングが行われていなくとも、入出力をブロッ
クごとに先入先出し法で、確実に処理するため、ページ
入出カリストはひとつだけでなければならない。
通知制御ブロック。通知制御ブロック(NCB)は仮想
計算機に、非同期ベージング要求が完了したことを通知
するのに必要な情報を含んでいる。
非同期要求はパージ・ページ範囲サービス・コール(S
VC)、あるいは非同期肯定応答が認められた場合のペ
ージ不在のいずれかである。NCBはシステム制御ブロ
ック領域内の自己記述制御ブロックである。NCBの記
述子フィールドを使用して、NCBをシステム制御ブロ
ック領域内の他の型式の制御ブロックと区別することが
できる。
これが必要なのは、NCBがプロセス制御ブロック(P
CB)と同じ待ち行列に入れられるからである。NCB
は固定されており、必要に応じ、システム制御ブロック
領域に割り振られる。上記の構造と同様に、NCBの変
更はベージング・サブシステムのクリチカル・セクショ
ンで行わなければならない。NCBが割り振られるのは
、ページ不在ハンドラがプロセスに代わって機能を果た
しており、したがって、システム制御ブロックが不十分
なことによるシステムの異常終了を引き起こさない場合
だけである。
ページ不在待ちリスト。仮想記憶管理プログラムは内部
プロセスまたは仮想計算機プロセスのいずれかを、3つ
の循環待ちリストのひとつに置くことができる。
システム内の各フレームに対して、ページ人出力待ちリ
ストがひとつある。ページの人出力待ちリストはページ
のIPT項目に固定されており、かつページへの人出力
が完了するのを同期的に待っているプロセスのプロセス
制御ブロック(PCB)と、入出力完了通知を非同期的
に待っているプロセスのNCRを連係する。プロセスが
入出力が行われているページを再利用するか、あるいは
ページ不在の結果として、プロセスが入出力にページを
開始した場合に、プロセスがページの入出力待ちリスト
に置かれる。
大域システム自由ページ・フレーム待ちリストがひとつ
ある。このリストはPCBまたはNCBを、自由ページ
・フレームを待っているプロセスに連係する。このリス
トは先入先出し法で処理される。プロセスが自由ページ
・フレームを必要としており、しかもこれがない場合に
、プロセスがこのリストに置かれる。プロセスのPCB
は同期待ちのためのリストの待ち行列に入れられ、NC
Bは非同期待ちのためのリストの待ち行列に入れられる
。最後に、大域システム・ページ人出力持ちリストがひ
とつある。このリストはPCBまたはNCBを、特定の
ページ入出力レベル以下のすべてのページ・アウト人出
力を待っているプロセスに連係する。このリストはペー
ジ入出力レベルによって、分類される。仮想記憶管理プ
ログラム・サービス・コールの幾つかによって、プロセ
スをこのリストに置き、ディスクの内容が確実にメモリ
の内容と合致するようにする。同期要求に対して、PC
Bがリストの待ち行列に入れられるか、あるいは非同期
要求に対して、NCBがリストの待ち行列に入れられる
。ディスク・スケジューリングが先入先出し法でない場
合、ページ入出力レベルによって、プロセスが必要以上
に長い間待つことになることがあることに、留意された
い。
ベージング・ミニディスク・テーブル。ベージング・ミ
ニディスク・テーブルは仮想記憶管理プログラムのスロ
ット番号を、ミニディスク入出力装置番号(IODN)
および論理ブロック番号に変換することを制御する。こ
のテーブルの項目数が、仮想記憶管理プログラムがベー
ジング操作を行うことのできるミニディスクの最大数を
定義する。このアレイは次のような特性を有している。
このアレイは固定されており、その大きさは予め定めら
れており、かつワード順になっている。ベージング空間
のミニディスク項目は、システムの初期設定時に割り振
られるものであり、かつテーブルの最初の項目でなけれ
ばならない。マツプされたページ範囲サービス・コール
が項目を、マツプされたミニディスクに割り振る。ディ
スク・アドレスの最上位ビットが、このテーブルに対す
る索引となる。上記のデータ構造と同様に、これを変更
できるのは、仮想記憶管理プログラムのクリチカル・セ
クションにおいてだけである。
ディスク割振りビット・マツプ。仮想記憶管理プログラ
ムは各ベージング空間のミニディスクに対して、ビット
・マツプを管理する。各ビットはページが割り振られて
いるか、自由であるかを示す。システムの初期設定時に
ミニディスクをオーブンすると、パッド・スロットが割
振り済みとマークされる。このアレイは次のような特性
を有している。このアレイはページ可能ではなく、ベー
ジング空間がページ・アウト時に割り振られ、ディスク
・アドレスの最下位ビットが、このアレイに対する索引
となり、かつ上記の構造と同様に、このアレイを変更で
きるのは、仮想記憶管理プログラムのクリチカル・セク
ションにおいてだけである。
ベージング装置拡張機構。仮想記憶管理プログラムがサ
ポートしている各ページ空間に対して、ベージング装置
拡張機構(PDX)がひとつある。
PDXはベージング・ミニディスク・テーブルのベージ
ング空間項目に対する拡張機構である。仮想記憶管理プ
ログラムがベージング空間を管理し、PDXはこの管理
の際に管理プログラムを導くために使用される。PDX
の属性は次のとおりである。PDXは固定されており、
システムの初期設定時にシステム制御ブロックから割り
振られる。
PDXはリストに連係され、大域ポインタによって固定
され、上記の構造と同様に、PDXを変更できるのは、
仮想記憶管理プログラムのクリチカル・セクションにお
いてだけである。PDXの割振りは動的ではない。シス
テムの初期設定によってすべてのPDXが割り振られ、
初期設定される。
ページ不在処理。同期ページ不在処理が典型的なページ
不在処理の型式である。この操作時に、ページ不在を解
決するに必要な入出力が完了するまで、不在処理は待ち
状態に置かれる。各入出力要求の完了時に、仮想記憶管
理プログラムは処理を再開する。タスクの再指名時に、
プロセスはページ不在を生じて、不在状態を解決するた
めに付加的な入出力をスケジュールするか、あるいはペ
ージ不在を生じないで、ページ不在が解決されているか
のいずれかとなる。仮想計算機が「ページ不在クリア」
という機械通信割込を受信するので、仮想計算機が不在
タスクを作動可能タスク・リストに戻すことができる。
これによって、仮想計算機における実行に関して、ペー
ジ不在の非同期的な処理が可能となる。仮想計算機はペ
ージ不在通知を割込禁止とすることによって、同期ペー
ジ不在処理を行うことができる。留意しなければならな
いのは、ページ不在クリア割込を、仮想計算機によって
直接割込禁止とすることができないことである。ページ
不在によって発生する割込をもたらした不在状態に対す
る入出力が完了すると、ページ不在クリア割込が常に与
えられる。ページ不在クリア割込を、ページ不在によっ
て発生した割込を割込禁止とすることによって、閉接的
に割込禁止とすることができる。
同期ページ不在処理。同期不在に対して、不在を発生し
たプロセスのプロセス制御ブロック(PCB)はページ
の入出力待ちリストに置かれるか、あるいは入出力が必
要な場合には、自由ページ・フレームに置かれるかのい
ずれかとなる。このプロセスは仮想記憶管理プログラム
がページに対する入出力を開始したか、あるいは既に進
行中のページに対する入出力を開始した場合に、ページ
入出力待ちリストに置かれる。入出力を行うのに利用で
きる自由ページがない場合、プロセスは自由ページ・フ
レーム・リストに置かれる。
非同期ページ不在処理。非同期ページ不在が発生した場
合、不在を生じた仮想計算機には不在となったセグメン
ト識別子が通知され、仮想アドレスは最も近いページ境
界まで切り下げられる。特に留意しなければならないの
は、通知が与えられるのが、仮想計算機が不在を生じた
アドレスに対してではなく、そのページに対してである
ことである。たとえば、仮想計算機がアドレスX゛80
6°、X’856°、X’87E”を不在e生じた場合
、この仮想計算機はX’800’について、3つのペー
ジ不在発生通知を受は取り、X“800°についてひと
つのページ不在クリア通知を受は取る。通知制御ブロッ
ク(NCB)が割り振られ、入出力が要求されると、ペ
ージの入出力待ちリストに連鎖される。このチェインは
PCBが連鎖されたチェインと同じものである。PCB
およびNCBをタイプし、これらが別のものであること
を、通知できる。PCBは同期ページ不在に連鎖され、
NCBは非同期ページ不在に連鎖される。
外部ページ・テーブルにおけるページ不在(当初の不在
以外の)のため、通知が与えられた場合、通知制御ブロ
ックはXPTがページ・インされたIPTとの連鎖から
外されるが、当初のページ不在のアドレスは通知制御ブ
ロックにある。
自由フレーム待ちリストは特別な場合である。
仮想計算機には通知が与えられ、そのNCBはPCBと
共に、自由フレーム待ちリストに先入先出しで連鎖され
る。このNCBが自由フレーム待ちリストの先頭にある
場合に、フレームを解放させる最初のページ・アウトが
、通知を与える。
ページ不在発生通知。非同期不在が発生し、人出力が要
求された場合に、ページ不在ハンドラがページ不在発生
割込を発生させる。この機能を実行するには、VRM待
ち行列要素は必要ない。ページ不在ハンドラは実際には
、仮想計算機のPSBと実行レベルをスワップする。こ
れを可能とする前提は、機械通信上のページ不在または
プログラム・チェック・レベルが、通知なしに同期的に
処理されることである。このことは仮想計算機がページ
不在発生割込を常に受は入れることができるため、割込
を待ち行列に入れる必要がないことを意味する。
ページ不在クリア通知。ページ不在に対する入出力が完
了すると、仮想記憶管理プログラムが終結処理のために
、呼び出される。ページ不在完了割込はVFtM待ち行
列管理機能によって、仮想計算機に対して待ち行列に入
れられる。このことは待ち行列要素が必要であることを
意味する。通知制御ブロックがこの機能のために使用さ
れる。
非同期ページ不在シナリオ。ページ不在はこれが生成し
た入出力が完了すると、完了したものとみなされる。仮
想計算機は合計n個のページ不在発生割込を受は取り、
かつn回の入出力を満たすことが必要なページ不在に対
して、n個のページ完了割込を受は取る。例(n=3の
場合)。仮想計算機が存在しているが、メモリ上にない
ページで、ページ不在を発生し、メモリにこれをページ
・インする自由フレームがなく、かつ仮想記憶管理プロ
グラムが当初のページに対して、XPTでページ不在を
発生したものと想定する。以下のリストはイベントの順
序を表したものである(このシナリオが典型的なもので
ないことに、留意されたい)。
1、VMがページ不在を発生する 2、VMMがページ・アウト要求を待ち行列に入れ、自
由ページ・フレーム・リストを構築する3、VMMが仮
想計算機に、当初のページ不在を通知する 4、VMにタスク指名がされる(VMが切り換えを行う
か、待ちになると考えられる) 5、ページ・アウト人出力が完了する 6、VMMが仮想計算機に、当初のページ不在が解決さ
れたことを通知する 7、VMにタスク指名がされる 8、VMがページ不在を再度同じアドレスに発生する 9、VMMがXPTにページ不在を発生する10、VM
MがXPTに対して、ページ・イン要求を待ち行列に入
れる 11、VMMが仮想計算機に、当初のページ不在を通知
する 12、VMにタスク指名がされる(VMが切り換えを行
うか、待ちになると考えられる) 13、XPTページ・イン人出力が完了する14、VM
Mが仮想計算機に、当初のページ不在が解決されたこと
を通知する 15、VMにタスク指名がされる 16、VMがページ不在を再度同じアドレスに発生する 17、VMMがページ不在に対して、ページ・イン要求
を待ち行列に入れる 18、VMMが仮想計算機に、ページ不在を通知する 19、VMにタスク指名がされる(VMが切り換えを行
うか、待ちになると考えられる) 20、ページ・イン入出力が完了する 21、VMMが仮想計算機に、当初のページ不在が解決
されたことを通知する 22、VMにタスク指名がされる パージ・ページ範囲通知。システムには入出力完了通知
を、仮想記憶管理プログラムから受は取る他の方法があ
る。これはパージ・ページSVCの非同期強制書込みオ
プションにある。パージに対する人出力の完了時に、機
械通信割込がひとつ、仮想計算機に提示される。ページ
不在完了割込と同様に、仮想計算機がページ不在通知を
割込可能にするかどうかに関係なく、これは仮想計算機
に与えられる。
これはPCBと共にNCBを、ページ入出力待ちリスト
に連鎖するように作動する。NCBにおいて、パージ人
出力を完了したものとみなせるようになる前に、達成し
なければならないページ入出力レベルがマークされる。
このページ入出力レベルが達成されると、仮想計算機に
通知が行われる。
ページ不在ハンドラ。ページ不在ハンドラの主要機能、
すなわち同期および非同期ページ不在を処理する方法に
ついては、「ページ不在処理」で検討した。以下の説明
において、「不在発生源に通知」などのステートメント
が出された場合、これは不在発生源が非同期的に不在を
発生したのであれば、これが通知され、これ以外の場合
には、上述の規則にしたがって、作動不能となることを
意味する。ページ不在ハンドラがページ不在を解決する
ために行うプロセスを、以下で説明する。
ページ不在ハンドラはすべての割込装置の下にある下位
の割込レベルにおいて、プログラム・チェック・ハンド
ラの拡張機能として作動する。
このハンドラはパック・トラック状態で作動し、それ故
、仮想記憶管理プログラムのデータ構造上でページ不在
を発生することが可能となる。
ページ不在ハンドラを入力すると、このハンドラは直ち
に、仮想アドレスなどの、不在に関する情報を与える。
これを行う理由は、ページ不在ハンドラがハンドラ自体
の内部でページ不在を発生し、この不在が入出力を行わ
なければならない場合、ページ不在ハンドラがどのアド
レスを仮想計算機に与えて、非同期通知を行わなければ
ならないかを、知っていなければならないからである。
このことはページ不在のためページ不在ハンドラがをり
消された場所と、ハンドラ自体のページ不在を処理する
ためハンドラが再度呼び出された場所との間のウィンド
に、ページ不在が認められないということを意味する。
ページ不在ハンドラを割り込ませることのできる重要な
工程が数種類ある。
−ページ再利用 ページを再利用できる場合、ページ不在ハンドラが実行
される。ページ・インまたはページ・アウト入出力がこ
のページに対して実行されている場合、不在発生源がこ
のページの入出力待ちリストに連鎖される。入出力の完
了時に、プロセスがフレームで待ちになっているかどう
かを調べるためのテストが行われ、待ち状態がある場合
には、その旨が通知される。ページが自由リスト上にあ
る場合には、ページ・フレームがアクセス可能になった
のち、ページ不在ハンドラに再度タスク指名が行われる
。不在発生源に通知が行われたり、あるいは待ちにされ
ることはない。
−自由ページ・リストの構築 自由リストが下方論理限界よりも低いことが判明した場
合、ページ・アウトを開始し、リストを上方論理限界ま
で上げる。これらの論理限界はシステム調整パラメータ
である。自由リストを満たそうとしたのちも、このリス
トがまだ空の場合には、不在発生源に当初の不在が通知
される。
セカンド・チャンス付きクロックは、置換されるページ
を選択するために使用される手法である。
−不在の処理 ページ不在ハンドラは仮想記憶管理プログラムの構造の
ほとんどと関連付けられている。しかし、最も重要なの
は、ページ不在ハンドラがページ不在を生じたページに
ついてXPTを検査し、ハンドラがこの時点で、ページ
不在を生じることもあることである。ハンドラはベージ
ング空間ディスク・スロットをこのページに割り振る。
ページ不在終了。このプロシージャは仮想記憶管理プロ
グラムに対するすべての入出力完了割込を処理する。ハ
ード・ファイル装置ドライバが仮想記憶管理プログラム
の要求を待ち行列から外した場合に、このプロシージャ
は待ち行列管理プロダラムによって、実行されるようス
ケジュールされる。予め空にされた仮想記憶管理プログ
ラムのクリアカル・セクションが完了するまで、このル
ーチンの実行が遅らされることに留意されたい。
「ページ不在処理」に記載した規則にしたがって、ペー
ジ不在クリア通知が、このプロシージャによって与えら
れる。このプロシージャはページ不在を生じることがで
きず、したがってXPTその他のページ可能なデータ構
造に対する参照は認められない。仮想記憶管理プ°ログ
ラムに対して行える入出力には、次の2つの型式がある
−ページ・イン −ページ・アウト フレームで待ちになっているすべてのプロセスは、作動
可能となり、通知される。また、ページ人出力レベルも
更新される。これは完了したすべての人出力のカウント
である。更新されたページ入出力レベル以下のページ入
出力レベルで待ちとなっているすべてのプロセスは、最
も古い入出力操作が完了すると、作動可能となり、通知
される。
解放されていないページに対するすべてのページ・イン
の完了および再使用されたページ・アウトの完了に対し
て、IPTタグ・ワードの妥当性を検査することによっ
て、フレームはアクセス可能とされる。それ以外の場合
には、フレームは自由リストに置かれる。
自由システム制御ブロックの数が上方論理限界よりも少
なく、かつ自由フレームが存在している場合に、このプ
ロシージャはシステム制御ブロック領域を満たそうとす
る。自由システム制御ブロック領域で待ちになっている
すべてのプロセスは次いで、作動可能とされる。このプ
ロシージャは自由フレームを待っているプロセスの起動
も行う。自由フレームは自由フレームの待ち時間が最も
長いプロセスに割り当てられる。次いで、このプロセス
は通知され7作動可能とされる。
ベージング空間。仮想記憶管理プログラムはひとつまた
はそれ以上のベージング空間に対して、ベージングをサ
ポートする。現在、サポートされているベージング装置
はハードファイルだけであるが、この分野の設計は将来
の拡張に備えて、比較的融通性のあるものとなっている
。すべてのベージング空間を512バイトのブロックで
書式化する必要がある。
ベージング空間の初期設定。システムの初期設定時に、
すべてのベージング空間が仮想記憶管理プログラムにわ
かっていなければならない。ユーザがミニディスク管理
プログラムを使用してベージング空間を作成した場合、
仮想記憶管理プログラムがこの空間にページする前に、
システムを再初期プログラム・ロードまたは再初期設定
しなければならない。これを行う理由は、仮想記憶管理
プログラムのベージング空間のデータ構造が構築される
のが、システムの初期設定時だけだからである。すべて
のベージング空間、ならびにディスク割振りビット・マ
ツプは、ミニディスク管理プログラム初期設定時にセッ
ト・アップする。ミニディスク管理プログラムはすべて
のミニディスクに照会を行い、ベージング空間ミニディ
スクが発見された場合には、ベージング空間IVMMに
効果的に「定義」するルーチンを呼び出す。定義べ一ジ
ンク空間ルーチンを呼び出す前に、ミニディスク管理プ
ログラムはベージング・ミニディスクをオーブンする(
これはオーブンされたままとなる)。定義ベージング空
間ルーチンは次のように作動する。
1、PDXをベージング空間に割り振る2、PDXを初
期化する 3゜ベージング・ミニディスク・テーブルを初期化する 4、新しいPDXをすべての既存のPDXの連係された
リストに挿入する 5、各PDXt!:そのベージング・ミニディスク・テ
ーブル項目にポイントさせ、かつ逆を行わせる6、この
ベージング空間に対するディスク割振りビット・マツプ
(一時ディスク・マツプ)をセット・アップする ディスク割振りビット・マツプがひとつあり、これはす
べてのベージング空間に区分されている。
複数のビット・マツプではなく、ひとつ設ける理由は、
ページ空間をひとつのビット・マツプにパックすること
によって、ビット・マツプに対する参照の局所性が改善
されるからである。ビット・マツプに対するXPTは、
ビット・マツプが当初すべて論理的にゼロになるように
、セットされる。
ページ空間が64にの倍数でない場合、システム初期設
定はサイズを、次の64にの境界まで切り上げ、境界間
のブロック(ビット)を割振り済みとマークする。これ
にはシステム初期設定がこの時点で、最初の参照ページ
不在を取り入れる能力を必要とする。
ページ空間の定義後、ミニディスク管理プログラムはベ
ージング空間の不良ブロックをチェックする。不良ベー
ジング空間が発見された場合、ミニディスク管理プログ
ラムはルーチンを呼び出して、仮想記憶管理プログラム
の一時ディスク・マツプに割り振られているとおりに、
不良ベージング空間をマツプする。ミニディスク管理プ
ログラムはその後、このベージング空間上で、不良ブロ
ックの再配置を行う。
ベージング空間管理。ベージング・ディスク・ブロック
はベージング空間に、循環式に一度にひとつずつ割り振
られる。ポインタは各ベージング空間に割り振られた最
後の位置に維持される。この特定のベージング空間にお
ける次の割振りの際に、空のスロットの探索が、最後に
割り振られたスロットで始まり、ベージング空間で増分
状に行われる(最後で、ラップして)。このように割振
りを行うことの背景にあるアイデアは、ページ・アウト
の類似性およびページ・アヘッドを改善することである
。ベージング空間を通る循環ポインタは、このページ空
間で「最も古い」点、換言すれば、最も古い時点で書き
出された点をポイントするものとみなすことができる。
このディスク・スロットが自由になっている(これが古
い時点で割り振られたものであるから)、と十分考えら
れる。すべてのディスク・スロットがページ・アウト時
に割り振られるので、パージ・ページの大きな範囲が与
えられた場合、多くのスロットが一度に割り振られる。
これはスロットを緊密に割り振るものである。このこと
はパージを行って、特定のプロセスの実行ページ・セッ
ト、または仮想計算機のエンティティをページ・アウト
するものと想定している。このプロセスが再度活動した
場合、その実行ページ・セットはディスク上で密着し、
アームの連動を最小とし、ページ・アヘッド効率を最大
とする。
2つ以上のベージング空間が存在する場合、これらの空
間の各々は、上記したような挙動をする。
仮想記憶管理プログラムのディスク割振りは、どのペー
ジング・ミニディスクにブロックを割り振るかを決定す
る。ディスク・スケジューラはディスクのアームがどこ
にあるかを追跡する(概略位置を)。仮想記憶管理プロ
グラムは最後に割振りを行った点が、ディスク・アーム
のある場所に最も近いベージング空間に割振りを試みる
ことによって、これを利用する(すべてのディスクに対
して)。
仮想記憶管理プログラムSVC,仮想記憶管理プログラ
ムSVCはすべて、仮想計算機の拡張機能として実行さ
れる。これらのSVCはパージされたページのページ・
アウトなどの明示入出力、またはコード、スタック、ま
たはデータにおけるページ不在などの暗黙入出力をもた
らす。同期SVCに対するすべての入出力は、人出力が
完了するまで、仮想計算機を同期ページ不在待ち状態に
する。入出力が完了するまで、仮想計算機を同期ページ
不在待ち状態にするのは、非同期SVCに対する暗黙入
出力だけである。明示人出力が開始され、仮想計算機に
は完了したことが通知される。
特殊プログラム・チェック・エラー処理。仮想計算機内
でコードを実行している間に発生したプログラム・チェ
ック・エラーは、プログラム・チェック仮想割込を介し
て仮想計算機に報告される。VRM内で実行している間
に発生したプログラム・チェック・エラーは、異常シス
テム終了をもたらす。Vl’tMのSVCはVRM内で
実行され、仮想計算機の機能を果たす。したがって、プ
ログラム・チェック・ハンドラは低メモリの値を調べて
、VRMのSVCコード内で発生したエラーが、SVC
を指定する古いIAFtを有するプログラム・チェック
仮想割込として仮想計算機に報告しなければならないも
のかどうか、あるいはエラーが異常システム終了かどう
かを決定する。
選択されたVMMのSVCはこの機能を使用して、パラ
メータ・リストをアクセスしたときに、エラー状態をチ
ェックせずに、経路長さを保管する。プログラム・チェ
ック・ハンドラはこれらに対するエラー回復を行う。
仮想記憶管理プログづム・サービス。すべての仮想記憶
管理プログラム・サービスは発呼者に関して、同期的に
実行される。これらのサービスのうち幾つかはページ不
在を生じ、この場合、発呼者のプロセスは解決すべきペ
ージ不在に対して待ちにされる。
非同期ページ不在と同期ページ不在。VRMは仮想計算
機に対する非同期および同期両方のページ不在処理をサ
ポートする。同期ページ不在処理の場合、ページ不在が
解決するまで、仮想計算機全体は待ちにされる。非同期
ページ不在処理の場合、仮想計算機によって、他のタス
ク指名が可能になる。ページ不在が解決するまで、待ち
にされるのは、不在処理タスクだけである。このため、
同期ページ不在処理をもたらすあらゆる操作は、実行で
きる並行タスクの数を減らす傾向があり、一方非同期ペ
ージ不在処理をもたらすあるゆる操作は、実行できる並
行タスクの数を最大とする傾向がある。
第6図は、2つの付加的なデータ構造を示すものであっ
て、これらはこの発明の方法を組み込んだマツプ・ペー
ジ範囲サービスと独自に関連付けられる。第1のデータ
構造はファイルをマツプした場合に、動的に作成される
マツプ・ノード70と、上述の外部ページ・テーブル(
XPT)の一般フオーマットと類似したマツプ化ファイ
ル・ページ構造71である。
第6図に示すマツプ・ノード70は72−75で示す4
つのフィールド・を含んでいる。フィールド72はセグ
メントIDを示しており、マツプされたファイルを記憶
するのに使用されるセグメント識別子を記憶する機能を
果たす。フィールド73はマツプ・カウント・フィール
ドであって、これは書込み時コピー型のマツピング以外
のファイルをマツプすることを、同時に要求したユーザ
の数を管理する機能を果たす。マツプ・ノード70のフ
ィールド74はCW上セグメントD、すなわち書込み時
コピー・セグメントIDを示すものであって、書込み時
コピー・セグメントのみに使用される独自のセグメント
rDを識別する。フィールド75は書込み時コピー・マ
ツプ・カウント・フィールドであって、この書込み時に
コピー・セグメントを共有しているユーザの数を管理す
る機能を果たす。
データ構造80は2Å以上のユーザが共有しているセグ
メントIDセグメントを記憶するために使用される、セ
グメント・テーブルの特別なセクションである。
マツプ化ファイル・ページ構造71はXPTと類似して
おり、マツプされるファイルの各ページに対する項目を
含んでいる。第6図に示す項目は、保護フィールド81
、ページ状態フィールド82およびディスク・アドレス
・フィールド83を含んでいる。マツプ化ファイル・ペ
ージ構造は、第6図に略図で示すXPTブール86から
割り振られる。
破線のブロック・ラベル90は仮想記憶を表している。
セグメント・レジスタによってアドレス可能なメモリの
セグメントは、参照番号91で示されている。セグメン
トのページは、参照番号91で示されている。
ブロック95はシステムで作動するプロセスを表す。ブ
ロック96は作動しているプロセスと関連するセグメン
トに対する、セグメント識別子のリストを表す。システ
ム上でプロセスnの順番になったときに、これらのID
は適切なセグメント・レジスタからロードされる。32
ビツトの有効アドレスは、この明細書で前述したように
、12ビツトのセグメント識別子および28ビツトのオ
フセットからなる40ビツトの仮想アドレスに変換され
る。12ビツトのセグメントIDが16ビツトのセグメ
ント・レジスタのひとつによって与えられ、このレジス
タは32ビツトの有効アドレスの高次4ビツトによって
選択される。
VRMはページ不在ハンドラを含んでおり、このハンド
ラは第6図において、それぞれブロック97および98
で表されている2つの独立した機能を含んでいる。ブロ
ック97はシステム・メモリをアドレスする機能を果た
し、かつ要求されたページが主メモリに存在しない場合
に、ブロック98にページ不在割込を与える機能を果た
す。
マツプ化ファイル・ページ構造が、上述のように、フィ
ールド83にディスク・アドレス含んでいるのであるか
ら、ブロック98はマツプ化ファイル・ページ構造にア
クセスすることによって、ページ不在を解決する機能を
果たす。
第7a図はフロー・チャートであって、適用業務プロセ
スnが各種のUNIX型のシステム・コールを行う場合
に、システムに含まれる主な工程を示すものである。ブ
ロック101はオーブン・ファイル操作を行う。ファイ
ルを読取/書取ファイル、読取専用ファイル、または書
込み専用ファイルとしてオーブンすることができる。ブ
ロック102はlノードを、UNIXファイル管理シス
テムが管理しているディレクトリ参照103から、主メ
モリへ読み込む機能1g:泉たす。
ファイルがオーブンされているζ仮定すると、次のシス
テム・コールがブロック104に対するSHMAT(2
)読取専用コールである。ブロック105はセグメント
・テーブルへの参照によって、ファイルが現在マツプさ
れているかどうかを決定する。セグメントが現在マツプ
されていない場合、テストをブロック106で行い、セ
グメントが作成されたかどうかを調べる。セグメントが
作成されていない場合、ブロック107がセグメントを
作成する。ブロック108は参照されたカウントを、セ
グメント・カウント・フィールドで増加させる機能を果
たす。ブロック109はセグメントIDを獲得する機能
を果たし、一方ブロック110はセグメント・レジスタ
をロードする。
ブロック111による決定で、セグメントが現在マツプ
されている場合、読取りシステム・コールに対するアド
レス指定操作は完了する。ファイルが現在マツプされて
いない場合、マツプ・ページ範囲サービス・コールが開
始され、ファイルの外部ページ・テーブルによって示さ
れるように、システム内で活動しているページの範囲を
マツプする。ブロック112は第6図に示すマツプ・ノ
ード70およびマツプ化ファイル・ページ構造71を作
成する機能を果たす。
ブロック120で表されている実際の読取り操作は、ブ
ロック121に示すようにファイルがマツプされている
かどうかを調べるため、チェックを行う。ファイルがマ
ツプされていない場合、ブロック122は標準的な読取
り操作を行う。書込み操作に関する同様な操作が、ブロ
ック123によって行われる。
ファイルがマツプされている場合、読取り操作または書
込み操作のいずれかに対して、ブロック124はUNI
Xシステム・コール・パラメータのファイル・オフセッ
トおよび長さのパラメータを、セグメントおよびオフセ
ットのパラメータに変換する。システム・コールが書込
み時にコピー操作または読み書き操作に対するものであ
る場合には、ブロック125は入出力操作用の共有セグ
メント・テーブルからセグメント・レジスタIDを獲得
する。ブロック126はテストを行って、書込み操作が
含まれているかどうかを調べ、また含まれている場合に
は、ブロック127のディスク・ファイルに新しいブロ
ックを割り振る。書込み操作が含まれていない場合には
、ブロック127はバイパスされ、ブロック128がデ
ィスクと主メモリとの間のコピーを行う。ブロック12
9は次いで、プロセスを再度指名する。
第7b図は、ブロック130で示すように、SHMAT
読取/書取システム・コールを行うプロセスAt示すも
のである。ブロック131はファイルが、読取/書取操
作に対して現在マツプされているかどうかを調べる。マ
ツプされていない場合、ブロック132はテストを行っ
て、セグメントが存在しているかどうかを調べる。セグ
メントが存在していない場合、ブロック133はマツプ
されたファイルに対してメモリ・ファイルを作成し、一
方ブロック134および135はマツプされたファイル
に対してセグメントIDの付いたセグメト・レジスタを
獲得し、ロードする。ブロック136はテストを行って
、ファイルがマツプされているかどうかを調べ、マツプ
されている場合、機能は完了する。ファイルが現在読み
書きにマツプされていない場合、マツプ・ページ範囲サ
ービス・ブロック137はページ・マツピングを行って
、第6図のデータ構造70および71を作成する。
マツプ・ページ範囲サービス・ブロック112または1
37によって行われる主要工程を、第7C図に示す。セ
グメントを作成したのち、ファイルをセグメントにマツ
プしなければならない。これが動的な操作なのは、−次
記憶割振りが仮想割振りであって、セグメントの割り当
てが一時的なものだからである。第7c図に示すように
、ファイルに割り振られる各ページのブロック・アドレ
スに対して、1ノード構造181が読み取られる。
隣接して割り振られたブロックの各グループは合計され
、カウントはマツプ・ページ範囲構造のスタート・ブロ
ック番号2の項目に隣接するブロックに記録される。隣
接しないブロックはマツプ・ページ範囲構造の独立した
項目に反映される。ファイル全体のiノード構造を走査
した場合、マツプ・ページ範囲SVCが発行され、適切
なセグメントに対する外部ページ・テーブル・スロット
項目が、ファイルの各ページに対するブロック・アドレ
スによって更新される。
(発明の効果) この発明によれば、仮想計算機を確立する仮想資源管理
プログラムの一部であるメモリ管理装置のページ不在ハ
ンドラに、すべてのファイル入出力操作を割り当てるこ
とのできる仮想計算機環境を確立することができるので
、適用業務プログラムやオペーレーティング・システム
で制禦されるファイル入出力操作と、ページ不在ハンド
ラが制御するベージング操作との間で衝突を生ずること
が回避される。
【図面の簡単な説明】
第1図は、この発明を用いると有利である仮想記憶シス
テムの略図である。 第2図は、データ処理システムおよび仮想記憶計算機に
対する、第1図に示す仮想資源管理プログラムの相互関
係を示す図面である。 第3図は、第1図に示すシステム用の仮想記憶モデルの
図面である。 第4図は、第1図に示すシステムのアドレス変換機能の
概念を示す図面である。 第5図は、第1図のシステムで用いられるデータ構造の
幾つかの相互関係を示す図面である。 第6図は、仮想資源管理プログラム、仮想記憶、および
実記憶に対する多数のデータ構造の相互関係を示す図面
である。 第7aないし第7c図は、この発明にしたがって各種の
UN IXのシステム・コールに応じたファイルのマツ
ピンクおよびアクセスに含まれる各種の工程を示す、フ
ローチャートである。 10、、、、ハードウェア部分、11.、、、ソフトウ
ェアまたはプログラミング部分、12.、、、処理装置
機能、13.、、、  メモリ管理機能(MMU)、1
4.、、、システム・メモリ機能またはRAM、 15
 、、、、システム・パス、16.、、、人出力チャネ
ル制御装置(IOCC)、17.、、。 磁気ディスク装置、18.、、、表示機能、19918
.コプロセッサ機能、20.、、、ブロック21、、、
、入出力バス、22.、、、適用業務プログラム、23
.、、、適用業務開発プログラム、24 、、、、オベ
レーテインク・システムのカーネル、25、、、、仮想
資源管理プログラム、30.、、。 オベレーテインク・システム、31.、、、仮想計算機
インタフェース、32.、、、ハードウェア・インタフ
ェース、70 、、、、マツプ・ノード71、、、、マ
ツプ化ファイル・ページ構造、72−75.、、、フィ
ールド、80.、、、セグメント・テーブル、81.、
、、保護フィールド、82.、、。 ページ状態フィールド、83.、、、ディスク・アドレ
ス・フィールド、86 、、、、XPTプール、90、
、、、仮想記憶、91.、、、メモリ・セグメント、9
2.、、、セグメント、95.、、、プロセス、101
.102.、、、ブロック、103.、、。 ディレクトリ参照、104−112 、、、、ブロック
、120−136 、、、、ブロック、181.、、。 iノード構造。 出願人  インターナショナル・ビジネス・マシーンズ
・コーポレーション 復代理人  弁理士  合  1)   潔第1図 第2図 仮定7ドレス 第4図 ・

Claims (1)

  1. 【特許請求の範囲】 ページ・セグメント型の仮想記憶と、少なくともひとつ
    のオペーレーティング・システムを作動させることので
    きる仮想計算機を確立する仮想資源管理手段(VRM)
    と、を有する仮想記憶仮想計算機型データ処理システム
    で入出力操作を制御する装置であって、前記オペーレー
    ティング・システムがディスク・ファイルに記憶されて
    いる情報に、入出力操作を行うためのシステム・コール
    を含んでいるものにおいて、 前記VRMが、仮想計算機により実行されている適用業
    務プログラムによって、仮想ページのひとつに対する前
    記データ処理システムのメイン・メモリをアクセスした
    場合に発生するページ不在を解決するためのページ不在
    ハンドラ手段を有しており、 前記ページ不在ハンドラ手段が、前記ディスク・ファイ
    ルに対する前記システム・コールに応じての入出力ディ
    スク操作を行う手段を有している、 ことを特徴とする、仮想記憶仮想計算型のデータ処理シ
    ステムにおいて入出力操作を制御する装置。
JP62002015A 1986-01-16 1987-01-09 仮想記憶仮想計算機型データ処理システムの入出力制御方法 Granted JPS62165251A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US06/819,458 US4742447A (en) 1986-01-16 1986-01-16 Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US819458 1986-01-16

Publications (2)

Publication Number Publication Date
JPS62165251A true JPS62165251A (ja) 1987-07-21
JPH0578857B2 JPH0578857B2 (ja) 1993-10-29

Family

ID=25228218

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62002015A Granted JPS62165251A (ja) 1986-01-16 1987-01-09 仮想記憶仮想計算機型データ処理システムの入出力制御方法

Country Status (7)

Country Link
US (1) US4742447A (ja)
EP (1) EP0229691A3 (ja)
JP (1) JPS62165251A (ja)
KR (1) KR920005853B1 (ja)
CN (1) CN1016829B (ja)
BR (1) BR8606308A (ja)
CA (1) CA1266531A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01239654A (ja) * 1988-03-19 1989-09-25 Hitachi Ltd データ入出力方式
JP2017529612A (ja) * 2014-09-01 2017-10-05 華為技術有限公司Huawei Technologies Co.,Ltd. ファイル・アクセス方法及び装置、並びにストレージ・システム
US10157143B2 (en) 2014-09-01 2018-12-18 Huawei Technologies Co., Ltd. File access method and apparatus, and storage system

Families Citing this family (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4763244A (en) * 1986-01-15 1988-08-09 Motorola, Inc. Paged memory management unit capable of selectively supporting multiple address spaces
JPH0821009B2 (ja) * 1986-09-22 1996-03-04 日本電気株式会社 チャネル制御装置のイニシャライズ方法及びそのイニシャライズのためのシステム
US5475836A (en) * 1987-04-01 1995-12-12 Lotus Development Corporation Interface for providing access to external data sources/sinks
US4942541A (en) * 1988-01-22 1990-07-17 Oms, Inc. Patchification system
US5155822A (en) * 1987-08-13 1992-10-13 Digital Equipment Corporation High performance graphics workstation
US5109515A (en) * 1987-09-28 1992-04-28 At&T Bell Laboratories User and application program transparent resource sharing multiple computer interface architecture with kernel process level transfer of user requested services
US4862349A (en) * 1987-10-19 1989-08-29 International Business Machines Corporation Method for extracting and/or replacing control system information in a computer operating system
US4903194A (en) * 1987-11-12 1990-02-20 International Business Machines Corporation Storage addressing error detection circuitry
EP0323013B1 (en) * 1987-11-30 1995-08-30 International Business Machines Corporation Method of operating a multiprocessor system employing a shared virtual memory
US5239643A (en) * 1987-11-30 1993-08-24 International Business Machines Corporation Method for reducing disk I/O accesses in a multi-processor clustered type data processing system
US5761413A (en) * 1987-12-22 1998-06-02 Sun Microsystems, Inc. Fault containment system for multiprocessor with shared memory
US4918653A (en) * 1988-01-28 1990-04-17 International Business Machines Corporation Trusted path mechanism for an operating system
US4949254A (en) * 1988-09-29 1990-08-14 Ibm Corp. Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
JP3226525B2 (ja) * 1988-10-07 2001-11-05 株式会社日立製作所 主記憶管理方法
US5095420A (en) * 1988-11-21 1992-03-10 International Business Machines Method and system for performing virtual address range mapping in a virtual storage data processing system
US5222217A (en) * 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
JPH02195453A (ja) * 1989-01-25 1990-08-02 Toshiba Corp ファイルアクセス制御方式
JPH0373037A (ja) * 1989-05-26 1991-03-28 Hitachi Ltd データベース障害回復方法
US5101485B1 (en) * 1989-06-29 1996-12-10 Frank L Perazzoli Jr Virtual memory page table paging apparatus and method
US5125086A (en) * 1989-06-29 1992-06-23 Digital Equipment Corporation Virtual memory paging apparatus with variable size in-page clusters
US5129083A (en) * 1989-06-29 1992-07-07 Digital Equipment Corporation Conditional object creating system having different object pointers for accessing a set of data structure objects
US5339449A (en) * 1989-06-30 1994-08-16 Digital Equipment Corporation System and method for reducing storage channels in disk systems
US5182805A (en) * 1989-07-14 1993-01-26 Ncr Corporation Method and system for determining copy-on-write condition
EP0416767A3 (en) * 1989-09-08 1992-04-29 Digital Equipment Corporation Position independent code location system
JPH04211844A (ja) * 1990-01-19 1992-08-03 Texas Instr Inc <Ti> ファイルシステムディフラグメント化装置及び方法
US5367652A (en) * 1990-02-02 1994-11-22 Golden Jeffrey A Disc drive translation and defect management apparatus and method
US5218695A (en) * 1990-02-05 1993-06-08 Epoch Systems, Inc. File server system having high-speed write execution
US6507909B1 (en) 1990-02-13 2003-01-14 Compaq Information Technologies Group, L.P. Method for executing trusted-path commands
EP0459912B1 (en) * 1990-05-30 1996-09-11 Fujitsu Limited An issue processing system for a right to use a resource
US5179666A (en) * 1990-06-07 1993-01-12 Unisys Corporation Block oriented peripheral device interface
US5276896A (en) * 1990-06-11 1994-01-04 Unisys Corporation Apparatus for implementing data communications between terminal devices and user programs
US5363121A (en) * 1990-06-29 1994-11-08 International Business Machines Corporation Multiple protocol communication interface for distributed transaction processing
US5269009A (en) * 1990-09-04 1993-12-07 International Business Machines Corporation Processor system with improved memory transfer means
US5175679A (en) * 1990-09-28 1992-12-29 Xerox Corporation Control for electronic image processing systems
US5379391A (en) * 1991-03-01 1995-01-03 Storage Technology Corporation Method and apparatus to access data records in a cache memory by multiple virtual addresses
JP2945498B2 (ja) * 1991-04-12 1999-09-06 富士通株式会社 システム間通信方式
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
US5283888A (en) * 1991-08-27 1994-02-01 International Business Machines Corporation Voice processing interface unit employing virtual screen communications for accessing a plurality of primed applications
CA2078312A1 (en) 1991-09-20 1993-03-21 Mark A. Kaufman Digital data processor with improved paging
CA2078310A1 (en) * 1991-09-20 1993-03-21 Mark A. Kaufman Digital processor with distributed memory system
JP2870254B2 (ja) * 1991-10-02 1999-03-17 日本電気株式会社 仮想計算機の入出力割り込み処理方式
CA2285096C (en) * 1991-11-12 2000-05-09 Ibm Canada Limited-Ibm Canada Limitee Logical mapping of data objects using data spaces
JPH0619785A (ja) * 1992-03-27 1994-01-28 Matsushita Electric Ind Co Ltd 分散共有仮想メモリーとその構成方法
US5386561A (en) * 1992-03-31 1995-01-31 International Business Machines Corporation Method of integrated system load control through dynamic time-slicing in a virtual storage environment
US5276878A (en) * 1992-10-07 1994-01-04 International Business Machines Corporation Method and system for task memory management in a multi-tasking data processing system
JP3098344B2 (ja) * 1992-12-18 2000-10-16 富士通株式会社 データ転送処理方法及びデータ転送処理装置
JP2974526B2 (ja) * 1992-12-18 1999-11-10 富士通株式会社 データ転送処理方法及びデータ転送処理装置
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US6138126A (en) 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
EP1003103B1 (en) * 1993-06-03 2008-10-01 Network Appliance, Inc. Write anywhere file-system layout method and apparatus
WO1994029796A1 (en) * 1993-06-03 1994-12-22 Network Appliance Corporation A method for allocating files in a file system integrated with a raid disk sub-system
EP0701715A4 (en) * 1993-06-04 1999-11-17 Network Appliance Corp METHOD FOR PROVIDING PARITY IN A RAID SUBSYSTEM USING REMANENT MEMORY
US5564011A (en) * 1993-10-05 1996-10-08 International Business Machines Corporation System and method for maintaining file data access in case of dynamic critical sector failure
US5606685A (en) * 1993-12-29 1997-02-25 Unisys Corporation Computer workstation having demand-paged virtual memory and enhanced prefaulting
EP0667573A1 (en) * 1994-02-14 1995-08-16 International Business Machines Corporation Incorporation of services written in one operating system environment into another operating system environment
US5483649A (en) * 1994-07-01 1996-01-09 Ybm Technologies, Inc. Personal computer security system
US5842226A (en) * 1994-09-09 1998-11-24 International Business Machines Corporation Virtual memory management for a microkernel system with multiple operating systems
US5657470A (en) * 1994-11-09 1997-08-12 Ybm Technologies, Inc. Personal computer hard disk protection system
US5778443A (en) * 1994-12-14 1998-07-07 International Business Machines Corp. Method and apparatus for conserving power and system resources in a computer system employing a virtual memory
US5544349A (en) * 1995-01-23 1996-08-06 International Business Machines Corporation Method and system for improving the performance of memory in constrained virtual memory environments by reducing paging activity
US5721876A (en) * 1995-03-30 1998-02-24 Bull Hn Information Systems Inc. Sockets application program mechanism for proprietary based application programs running in an emulation environment
US5640591A (en) * 1995-05-15 1997-06-17 Nvidia Corporation Method and apparatus for naming input/output devices in a computer system
US5812820A (en) * 1995-09-29 1998-09-22 Pacific Commware, Inc. Virtual UART
US5950221A (en) * 1997-02-06 1999-09-07 Microsoft Corporation Variably-sized kernel memory stacks
US6148387A (en) 1997-10-09 2000-11-14 Phoenix Technologies, Ltd. System and method for securely utilizing basic input and output system (BIOS) services
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6681238B1 (en) * 1998-03-24 2004-01-20 International Business Machines Corporation Method and system for providing a hardware machine function in a protected virtual machine
US6496847B1 (en) 1998-05-15 2002-12-17 Vmware, Inc. System and method for virtualizing computer systems
US6457008B1 (en) * 1998-08-28 2002-09-24 Oracle Corporation Pluggable resource scheduling policies
US7516453B1 (en) * 1998-10-26 2009-04-07 Vmware, Inc. Binary translator with precise exception synchronization mechanism
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6895418B1 (en) * 1999-04-28 2005-05-17 Emc Corporation Versatile indirection in an extent based file system
US6874027B1 (en) 2000-04-07 2005-03-29 Network Appliance, Inc. Low-overhead threads in a high-concurrency system
US6715016B1 (en) * 2000-06-01 2004-03-30 Hitachi, Ltd. Multiple operating system control method
US6934755B1 (en) 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US6941410B1 (en) 2000-06-02 2005-09-06 Sun Microsystems, Inc. Virtual heap for a virtual machine
US6854115B1 (en) * 2000-06-02 2005-02-08 Sun Microsystems, Inc. Process persistence in a virtual machine
US6957237B1 (en) 2000-06-02 2005-10-18 Sun Microsystems, Inc. Database store for a virtual heap
US6718404B2 (en) * 2000-06-02 2004-04-06 Hewlett-Packard Development Company, L.P. Data migration using parallel, distributed table driven I/O mapping
US6505285B1 (en) * 2000-06-26 2003-01-07 Ncr Corporation Scratch segment subsystem for a parallel processing database system
US8014993B1 (en) * 2000-08-15 2011-09-06 Cypress Semiconductor Corporation Transportable volume, local environment repository
US6728922B1 (en) 2000-08-18 2004-04-27 Network Appliance, Inc. Dynamic data space
US6636879B1 (en) 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US7072916B1 (en) 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US7574346B2 (en) * 2000-10-30 2009-08-11 Microsoft Corporation Kernel emulator for non-native program modules
US7694302B1 (en) 2001-04-05 2010-04-06 Network Appliance, Inc. Symmetric multiprocessor synchronization using migrating scheduling domains
US7178137B1 (en) 2001-04-05 2007-02-13 Network Appliance, Inc. Automatic verification of scheduling domain consistency
US7251814B2 (en) * 2001-08-24 2007-07-31 International Business Machines Corporation Yield on multithreaded processors
US7428485B2 (en) * 2001-08-24 2008-09-23 International Business Machines Corporation System for yielding to a processor
US7107584B2 (en) * 2001-10-23 2006-09-12 Microsoft Corporation Data alignment between native and non-native shared data structures
US7099866B1 (en) * 2001-11-16 2006-08-29 Hewlett-Packard Development Company, L.P. Method of generating and presenting kernel data
WO2004049709A1 (ja) * 2002-11-22 2004-06-10 Sony Corporation Avサーバーに蓄積されたavデータの参照システム及び方法
US7900017B2 (en) * 2002-12-27 2011-03-01 Intel Corporation Mechanism for remapping post virtual machine memory pages
US7000051B2 (en) * 2003-03-31 2006-02-14 International Business Machines Corporation Apparatus and method for virtualizing interrupts in a logically partitioned computer system
US7281075B2 (en) * 2003-04-24 2007-10-09 International Business Machines Corporation Virtualization of a global interrupt queue
US7406694B2 (en) * 2003-06-20 2008-07-29 Microsoft Corporation Method and system for tracking kernel resource usage
US7603442B2 (en) * 2003-06-20 2009-10-13 Microsoft Corporation Method and system for maintaining service dependency relationships in a computer system
US7373640B1 (en) 2003-07-31 2008-05-13 Network Appliance, Inc. Technique for dynamically restricting thread concurrency without rewriting thread code
US7783779B1 (en) * 2003-09-19 2010-08-24 Vmware, Inc Storage multipath management in a virtual computer system
US7793287B2 (en) * 2003-10-01 2010-09-07 Hewlett-Packard Development Company, L.P. Runtime virtualization and devirtualization of I/O devices by a virtual machine monitor
US8171480B2 (en) * 2004-01-27 2012-05-01 Network Appliance, Inc. Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor
US7475093B2 (en) * 2004-10-15 2009-01-06 Microsoft Corporation Memory cache management in XML/relational data mapping
TWI330783B (en) * 2005-01-13 2010-09-21 Via Tech Inc Memory address monitoring device and method thereof
US7457985B2 (en) * 2005-09-09 2008-11-25 International Business Machines Corporation Method to detect errors in computer systems by using state tracking
US7996585B2 (en) * 2005-09-09 2011-08-09 International Business Machines Corporation Method and system for state tracking and recovery in multiprocessing computing systems
US20070083867A1 (en) * 2005-09-09 2007-04-12 International Business Machines Corporation Method and system to recover from control block hangs in a heterogenous multiprocessor environment
US7502957B2 (en) * 2005-09-09 2009-03-10 International Business Machines Corporation Method and system to execute recovery in non-homogeneous multi processor environments
US8347293B2 (en) * 2005-10-20 2013-01-01 Network Appliance, Inc. Mutual exclusion domains to perform file system processes on stripes
KR100755701B1 (ko) 2005-12-27 2007-09-05 삼성전자주식회사 내장형 시스템을 위한 요구 페이징 장치 및 방법
CN101506793B (zh) * 2006-08-23 2012-09-05 陈锦夫 在动态虚拟记忆中运行操作系统
JP2008077144A (ja) * 2006-09-19 2008-04-03 Ricoh Co Ltd 仮想化システム、メモリ管理方法及び制御プログラム
US20080104590A1 (en) * 2006-11-01 2008-05-01 Mccrory Dave Dennis Adaptive, Scalable I/O Request Handling Architecture in Virtualized Computer Systems and Networks
US8171205B2 (en) * 2008-05-05 2012-05-01 Intel Corporation Wrap-around sequence numbers for recovering from power-fall in non-volatile memory
US20100217952A1 (en) * 2009-02-26 2010-08-26 Iyer Rahul N Remapping of Data Addresses for a Large Capacity Victim Cache
US8627331B1 (en) 2010-04-30 2014-01-07 Netapp, Inc. Multi-level parallelism of process execution in a mutual exclusion domain of a processing system
WO2015131403A1 (zh) * 2014-03-07 2015-09-11 华为技术有限公司 访问文件的方法和相关设备
CN105830022B (zh) * 2014-11-28 2019-03-08 华为技术有限公司 访问文件的方法和装置
CN104461853A (zh) * 2015-01-07 2015-03-25 浪潮(北京)电子信息产业有限公司 一种k-ux操作系统资源管理记录及报告的方法和装置
US10437735B2 (en) * 2017-12-13 2019-10-08 Red Hat, Inc. Process isolation for out of process page fault handling
CN108427546B (zh) * 2018-05-03 2022-03-08 深圳Tcl新技术有限公司 显示装置的全屏幕适配方法、显示装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5353231A (en) * 1976-10-26 1978-05-15 Toshiba Corp Input/output processing system at virtual memory
JPS5856058A (ja) * 1981-09-29 1983-04-02 Fujitsu Ltd 仮想計算機システムcp常駐ボリユ−ムのdasd共用管理方式

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4528624A (en) * 1981-03-25 1985-07-09 International Business Machines Corporation Method and apparatus for allocating memory space based upon free space in diverse memory devices
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
US4533996A (en) * 1982-02-23 1985-08-06 International Business Machines Corporation Peripheral systems accommodation of guest operating systems
US4481583A (en) * 1981-10-30 1984-11-06 At&T Bell Laboratories Method for distributing resources in a time-shared system
US4636946A (en) * 1982-02-24 1987-01-13 International Business Machines Corporation Method and apparatus for grouping asynchronous recording operations
US4519032A (en) * 1982-06-09 1985-05-21 At&T Bell Laboratories Memory management arrangement for microprocessor systems
US4571674A (en) * 1982-09-27 1986-02-18 International Business Machines Corporation Peripheral storage system having multiple data transfer rates
US4577274A (en) * 1983-07-11 1986-03-18 At&T Bell Laboratories Demand paging scheme for a multi-ATB shared memory processing system
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4558413A (en) * 1983-11-21 1985-12-10 Xerox Corporation Software version management system
US4660130A (en) * 1984-07-24 1987-04-21 Texas Instruments Incorporated Method for managing virtual memory to separate active and stable memory blocks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5353231A (en) * 1976-10-26 1978-05-15 Toshiba Corp Input/output processing system at virtual memory
JPS5856058A (ja) * 1981-09-29 1983-04-02 Fujitsu Ltd 仮想計算機システムcp常駐ボリユ−ムのdasd共用管理方式

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01239654A (ja) * 1988-03-19 1989-09-25 Hitachi Ltd データ入出力方式
JP2017529612A (ja) * 2014-09-01 2017-10-05 華為技術有限公司Huawei Technologies Co.,Ltd. ファイル・アクセス方法及び装置、並びにストレージ・システム
US10061711B2 (en) 2014-09-01 2018-08-28 Huawei Technologies Co., Ltd. File access method and apparatus, and storage system
US10157143B2 (en) 2014-09-01 2018-12-18 Huawei Technologies Co., Ltd. File access method and apparatus, and storage system

Also Published As

Publication number Publication date
CN1016829B (zh) 1992-05-27
JPH0578857B2 (ja) 1993-10-29
CN86108127A (zh) 1987-07-29
KR870007462A (ko) 1987-08-19
EP0229691A3 (en) 1990-06-13
US4742447A (en) 1988-05-03
CA1266531A (en) 1990-03-06
EP0229691A2 (en) 1987-07-22
BR8606308A (pt) 1987-10-06
KR920005853B1 (ko) 1992-07-23

Similar Documents

Publication Publication Date Title
JPS62165251A (ja) 仮想記憶仮想計算機型データ処理システムの入出力制御方法
US4761737A (en) Method to automatically increase the segment size of unix files in a page segmented virtual memory data processing system
US4742450A (en) Method to share copy on write segment for mapped files
US4730249A (en) Method to operate on large segments of data in a virtual memory data processing system
EP0239181B1 (en) Interrupt requests serializing in a virtual memory data processing system
USRE36462E (en) Method to control paging subsystem processing in virtual memory data processing system during execution of critical code sections
US5377337A (en) Method and means for enabling virtual addressing control by software users over a hardware page transfer control entity
US5317728A (en) Storage management of a first file system using a second file system containing surrogate files and catalog management information
EP0144792B1 (en) Method for dynamic invocation of a utility computer program from an application program
Clark et al. Application System/400 performance characteristics
Lampson et al. An open operating system for a single-user machine
US6493816B1 (en) Method and apparatus for encapsulating address translation for shared persistent virtual storage
JPS61275949A (ja) 多数の保護リングを有する仮想マシ−ンモ−ド式のコンピユ−タ
Lindström et al. Persistence in the grasshopper kernel
Clark The facilities and evolution of MVS/ESA
Mapp An object-oriented approach to virtual memory management
JPS59140566A (ja) 情報処理装置
McParland Data acquisition at the Bevalac, an example: The HISS facility
Mapp Technical Report iZy
Johnson et al. Operating system design considerations for microprogrammed mini-computer satellite systems
JPH05265846A (ja) メモリ管理方式
Stigdon et al. International Business Machines Corporation MVS/XA with RACF Version 1. 8
Maguschak et al. Final Evaluation Report International Business Machines Corporation, MVS/ESA Operating System
WIUTIROEUT MVS/XA with RACF Version 1.8 D", C
JPH02244239A (ja) 計算機システム