JPS5818708B2 - 共用アクセス多重プログラム型デ−タ処理システムにおいて情報を記憶しアクセスするための方法及び装置 - Google Patents

共用アクセス多重プログラム型デ−タ処理システムにおいて情報を記憶しアクセスするための方法及び装置

Info

Publication number
JPS5818708B2
JPS5818708B2 JP50047334A JP4733475A JPS5818708B2 JP S5818708 B2 JPS5818708 B2 JP S5818708B2 JP 50047334 A JP50047334 A JP 50047334A JP 4733475 A JP4733475 A JP 4733475A JP S5818708 B2 JPS5818708 B2 JP S5818708B2
Authority
JP
Japan
Prior art keywords
descriptor
program
register
segment
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.)
Expired
Application number
JP50047334A
Other languages
English (en)
Other versions
JPS50146229A (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.)
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Original Assignee
HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
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 HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc filed Critical HANEIUERU INFUOOMEISHON SHISUTEMUSU Inc
Publication of JPS50146229A publication Critical patent/JPS50146229A/ja
Publication of JPS5818708B2 publication Critical patent/JPS5818708B2/ja
Expired 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/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1483Protection against unauthorised use of memory or access to memory by checking the subject access rights using an access-table, e.g. matrix or list
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 本発明は一般にデータ処理装置、特にデータ処理装置に
おける情報の記憶及びアクセスに関する。
今日の大規模データ処理システムは、複数の処理装置を
備え、局所あるいは遠方の使用者による多重の相互作用
的なプログラムの実行を可能にしている。
そして、このような処理を提供するには、使用者プログ
ラム及びデータ、オペレーティングシステムソフトウェ
ア並びに共用応用プログラムに対して可変ボリュームの
記憶装置が設けられねばならない。
更に、処理装置で種々の作業が実行されるときには、プ
ログラム及びデータを処理しやすいようにするためのソ
フトウェア及びハードウェアが必要である。
また、システムの磁心記憶装置をあまりにも高価格なも
のにすることな(利用者の要求な満たすには、一次記憶
装置の磁心記憶装置に例えば磁気ディスクのような二次
の大容量記憶装置を補足したような拡張化記憶装置がデ
ータ処理システムに使用される。
このため、プログラムの実行中に主記憶装置の小部分を
占有している使用者には、それよりはるかに大きな仮想
記憶装置、即ち二次記憶装置によって拡張された主記憶
装置を有しているかのように見える。
主記憶装置及び拡張記憶装置における情報の記憶は、セ
グメントやページの形態をとってよ(、その場合使用者
プログラムは可変長セグメントに分割され、さらにこれ
らセグメントには複数の一様な長さのデータページが含
まれる。
そしてページングを用いれば、使用者はページテーブル
により記憶ページを捜し出すことができるため、利用可
能な記憶スペースが何処に位置してもそのスペースに自
在に情報を記憶することができる。
米国特許第3412382号には、前述した型で市販さ
れている共用アクセス多重プログラムデータ処理システ
ムが開示されている。
この特許に記載されているように、実記憶装置の記憶セ
ルには絶対アドレスが与えられ、他方利用者は相対アド
レスを使用して記憶セルをアクセスする。
例えば、相対セルアドレスがデータ処理装置によって与
えられているような利用者ページ化セグメントの実行期
間中、その中間的な、即ち相対的なセグメントアドレス
によりアドレス指定されているページの特殊データ語、
即ちポインタを捜し出し、この特殊データ語を相対アド
レスに結合させて所望の記憶セルの絶対アドレスが与え
られる。
更に詳細には、実記憶装置にはそこに記憶されたデータ
を捜し出すための基準(基底)指定が幾つか与えられ、
これら基底指定は共用データの記述子語の一部を構成す
る。
そしてデータは実記憶装置内を移動するため記憶データ
の絶対アドレスは絶えず変化し、所望のページのみなら
ずページテーブル及びセグメントのロケーションにも記
述子語が使用される。
このようにして、セグメント記述子語は対応セグメント
がページ化されないときにはそのセグメントの基底アド
レスを含み、対応セグメントがページ化されているとき
にはその対応セグメントページテーブルの基底アドレス
を含む。
ページテーブル語は対応セグメント内のページ基底アド
レスを与えるものである。
シス≠ムプロセッサはセグメント内に規定された利用者
プログラムの部分部分を周期的に実行する。
而して、実行するために準備されたプログラムセグメン
トは利用可能なスペースがセルアドレスメモリに存在す
るならばそれが何処にあろうとそこに記憶され得る。
そしてそのプログラムセグメントの相対アドレスは、そ
の相対アドレスの語番号とその記憶セグメントに対する
対応ページテーブル中の基底アドレスとを組み合わせる
ことにより、絶対実記憶アドレスに変換される。
絶対アドレスのロケーションにおいては、手続基底レジ
スタ(P rocedure Ba5e Regist
er )が現行手続セグメントに対して使用されるとと
もに、複数のアドレス基底レジスタ(Address
Ba5e Register )が現行手続セグメント
の外部のセルに対して使用される。
また記述子語の識別か又は記述子語の相対アドレスのい
ずれかに用いられるポインタは、現行アドレス変換操作
中にテンポラリ基底レジスタTBRに記憶される。
この現行アドレス変換操作においては、ページ化されて
いない場合はセグメント記述千語が、ページ化されてい
る場合はページ化テーブル語が、マツチングポインタに
対する探索操作を通して主メモリ又は拡張呼出しアドレ
スメモリ(仮想メモリ)内で捜し出される。
そしてセグメント記述子語またはページ化テーブル語が
捜し出されると、これをポインタと組み合わせることに
より所望の記憶場所のセグメント絶対アドレスが得られ
る。
ある利用者プログラムを実行する際、オペレーティング
システムは利用者の要求する仕事を遂行するように必要
なシステム部分を利用者プログラムセグメントに関連さ
せる。
このオペレーティング手続は利用者プログラムの処理の
一部として実行されて区別できないため、認められてい
ないアクセスおよび変更に対して特別の保護手段を要す
る。
従来、オペレーティングシステムセグメントおよび利用
者プログラムセグメントは、異なるレベルの保護ステー
タスを有する多数の相互排他的サブセットあるいはリン
グ内に存在し、かつその内部で実行される。
ある処理が実行されるとき、その処理は利用者コードの
他のセグメント及びオペレーティングシステムのセグメ
ントを呼び込む。
現に実行されているセグメントと同一の保護ステータス
あるいはリング内に存在するセグメントに外部参照が与
えられている間はそれらセグメントのアクセスに対しリ
ング保護チェックが行われない。
このため、セグメントは如何なるレベルの保護ステータ
スあるいはリング内にあっても、それよす低いステータ
スレベルのセグメントからの認められていないアクセス
に対しては保護されるが、しかしそれと同等かそれより
専いステータスレベルのセグメントからの認められてい
ないアクセスに対しては保護されない。
本発明は大規模システムにおいてデータを記憶しアクセ
スするための方法と装置の改良に関する。
本発明によれば、ある一部は共用され、他の一部は排他
的に割当てられるような仮想メモリ区劃を用いることに
より、安全性の増した利用者プログラム及びデータが与
えられる。
また、記憶装置内のセグメントを識別する記述子を設け
ることにより、呼び込まれたプログラムに対して保護領
域への限定されたアクセス許諾を確実に行うことができ
る。
また、バッチ処理や時分割処理を行う利用者にあっては
、安全性よりも効率の方に関心のあることが多々である
が、本発明によれば、これらの利用者は従来の非セグメ
ント化操作モードでプログラムを実行できる。
本発明の目的は、システム利用者(利用者プログラム)
に改善された安全性を与えるデータ処理システムを提供
することKある。
本発明の他の目的&ζデータ処理装置内における情報の
記憶及びアクセスの方法を改善することにある。
本発明の他の目的&ζある利用者には改善された安全性
を与えるととも罠安全性匠はあまり関心のない利用者に
対しては効率的なプログラム実行を可能にするデータ処
理システムを提供することにある。
本発明の更に他の目的は、呼び込まれた手続(プログラ
ム)に対する記憶情報アクセス許容範囲を確実に限定す
る装置をデータ処理システムに与えることにある。
第1図は本発明が適用可能な共用アクセスデータ処!シ
ステムのブロック図である。
この装置においてデータ処理装置10は全てのプログラ
ムによって要求されるデータ処理機能を遂行する。
すなわちデータ処理装置10は、異なる利用者プログラ
ムの複数の異なる命令に交互に応答して受信した情報に
ついて対応するデータ処理操作を行なう。
各プログラムの命令は所定の順序で逐次処理装置10に
供給され、処理装置10が対応するデータ処理操作を実
行するのを制御する。
従って処理装置10は利用者プログラムの所定の最大数
の命令を実行してから次のプログラムのサービスを始め
る。
各サービス期間中処理装置10は利用者プログラムの全
命令又はその一部のみを実行する1なお第1図には単一
の処理装置が示されているが本発明は多重処理装置共用
アクセスシステムにも適用可能である。
複数のメモリ12.13.14及び15は処理されるべ
き情報をあられすデータ語、処理の結果である情報をあ
られすデータ語及びデータ処理装置によって実行される
べきグログラムの命令をあられすデータ語を記憶する。
各データ語は離散(分布)型メモリ位置部ちセルに記憶
される。
データ語を特定のセルに入れ又はそこから検索する場合
には、そのセルの識別すなわちアドレスがメモリに与え
られねばならない。
複数のメモリ制御器16〜19は夫々のメモリ12〜1
5と通信し、アクセスを制御し、セルアドレスをメモリ
に与え、命令用データ語をアドレスセルttc 供給L
、かつアドレスされたセルから検索されたデータ語を
受信する。
データ処理装置10は、夫々のメモリ制御器を介してメ
モリ12〜1501つ又はそれ以上と通信して処理用の
命令及びデータ語を受信しかつデータ処理操作の結果と
して生ずるデータ語を記憶のために伝送する。
入力/出力制御器20は自動情報転送装置として機能し
、限られた数の命令を実行してメモリ制御器16〜19
と複数の外部装置間の通信を行なう。
外部装置は処理用の情報及び情報処理のためのプログラ
ムをデータ処理装置に供給し処理結果の情報を受信する
外部装置の一例としてここでは一般に周辺装置21.2
2及び23として示す。
これらの周辺装置は例えば磁気ディスク、ドラム。
テープ操作器、バンチカード及び紙テープ読取器及び書
類読取器である。
この型式の周辺装置は、情報及びプログラムを機械的表
示として記憶し、また記憶情報の検索中はこれらの機械
的表示を対応する電気信号に変換してその電気信号を周
辺装置制御器24に送る。
制御器24は、周辺装置によって伝送されてきた電気信
号を入力/出力制御器20に転送する。
周辺装置21,22及び23の他の型式は、処理情報を
自動的に受信し、これを利用者システムによって特定さ
れた形に変換するように機能する。
利用者システムには、例えば処理情報を受信し、これを
データ処理システムが次に利用できるように記憶する磁
気テープ操作器、カードパンチや処理情報を即座に利用
できるようにこれを表示する高速プリンタ等がある。
すなわち、この後者の型式の周辺装置は制御器24から
の電気信号を受信しこれらの信号を必要な機械的表示に
変換する。
なお、この電気信号は、周辺装置制御器24が入力/出
力制御器20かも受信する。
利用者によって直接手動的に制御される利用者通信装置
26.27.28及び29は、処理装置10により実行
されるためのプログラムを供給するとともに周辺装置2
1.22及び23に記憶されているプログラムの実行を
開始しかつ制御するだめの制御情報を供給する。
外部装置21,22及び23と同様に通信装置26〜2
9は処理されるべき情報を供給しかつ処理された情報を
表示する。
利用者装置制御器30は、通信装置26〜29によって
供給されたプログラム、処理用情報及び制御情報なあら
れす電気信号を入力/出力制御器20に転送する。
更に制御器30は、入力/出力制御器20によって供給
される処理情報及び制御情報をあられす信号を利用者通
信装置26〜29に転送する。
入力/出力制御器20は、制御器24及び30から受信
した信号をメモリ制御器16〜19を介して1つまたは
それ以上のメモリ12〜15に転送するときの制御を行
う。
また人力/出力制御器20は、1つ又はそれ以上の制御
器16〜19から受信した信号を制御器24及び30の
一方へ転送する。
従って第1図のシステムは複数の利用者に対して直接か
つ同時的データ処理サービスを与え、各利用者は夫々の
利用者通信装置を介してこのシステムと通信してプログ
ラムの実行を開始し制御して、処理されるべきデータを
供給しかつ処理されたデータを受信する。
そしてシステムは、これといつ何時直接通信しているか
もしれない全ての利用者プログラムを交互に実行し、か
かる利用者が蒙る最大遅れをその利用者の反応時間と同
程度の時間に制限する。
このようにしてこのシステムは各利用者のために充分に
連続的な処理を行なってその要求を満たしたり、あるい
は通信装置の入出力速度能力と調和をとる。
その結果、利用者は、処理装置が個々のサービス要求に
連続的に供しておらず、複数の利用者にシステムのいわ
ば同時的処理及び操作を提供していることに気付かない
本発明の一つの特徴によれば、システム利用者から見た
仮想メモリは全ての情報が記憶される複数の大型区劃(
パーティション)に分割される。
例えば第2図の実症例においてシステム仮想メモリ32
は256個の区劃に分割され、各区劃は234語(23
6バイト)の記憶容量を有する。
後述するようにこの区劃の大きさは、後述の安全性は保
証されないが効率的なプログラム実行を図るためのバッ
チ処理に一区側を委ねられるような大きさである。
従来、仮想メモリは単にプログラムセグメントに適応す
るに充分な大きさのユニット、例えば220バイト程度
の大きさのユニットに分割されていた。
従ってここで使用されている区劃は従来の仮想メモリセ
グメントの約75000倍の大きさである。
区劃の中には全てのシステム利用者によって共用される
ものがあるが、他方特定の利用者だけに供されるものも
ある。
オペレーティングシステム(i、例えば1つの区劃を占
有しうるがこの区劃は全ての利用者にとってアクセス可
能である。
一方、利用者プログラム及びデータは、その指定された
利用者またはプログラムによって規定された処理あるい
は手続に対してのみアクセス可能な特定の区劃に記憶さ
れる。
例えば第3図において、実行中のプログラムは、利用者
プログラムは区劃識別を与える識別レジスタIDO〜I
D7を以って第2図の256区劃のうちの8つの区劃へ
のアクセスを行なう。
これにより、利用者データ及びプログラムの分離が行な
われ、大型のメモリ区劃によす直接的なメモリアドレス
が行なわれる。
同時にメモリへの利用者アクセスをプログラムの実行に
必要な数個の区劃に制限することによって安全性が強化
される。
複数の区劃における情報の記憶は周知のページング技術
を通して行われる。
データは、均一な大きさ、例えば1024語(すなわち
4096バイト)のグループまたはページ単位で実メモ
リ内の利用可能なスペースに記憶される。
またページングによりメモリマツピング機能が可能とな
って周期的なメモリ圧縮の必要性が除去され、さらにプ
ログラム実行中の子メモリにおける利用者要件が減少す
る。
情報は確定された区劃−記憶されるので、システム内の
どの能動要素もページアドレスに区劃識別子を結合する
ことによって記憶データを参照できる。
本実施例においてページアドレスは1つの語とページ内
バイト位置とを含む。
例えば各々236バイト容量を有する256個の区劃を
用いると、4096バイト容量の各ページは、第4図に
示スように8ビット区劃識別子に連結されている36ビ
ツトアドレス(24ビツトはページアドレスのためのも
ので、12ビツトはそのページ内の語バイト位置のため
のものである)′を使用する。
従って2 ヘージまでの作業スペースがページ当り10
24語及び語当り4バイトで参照できる。
第5図に示すように、システムノ・−ドウエアは結果的
に得られる32ビツトページアドレスで連想メモリを利
用することによってページアドレスを物理的位置に変換
する。
もしページアドレスが連想メモリ内にあれば、そのペー
ジ内の12ビットバイト位置に連結されるべき14ビツ
トのページ位置が発生される。
連結の結果得られる26ビツト位置はメモリ内のバイト
又は語の実際の位置である。
ページ位置が発生されると同時に、当該プログラムがペ
ージをアクセスするかどうか、そのページを変更するか
否か又はそのページが存在するか否かを決めるアクセス
制御ビットが生成される。
もしページリファレンスが連想メモリ内になければ、2
つの方法のうちのいずれかを用いて第6図に示すような
ページ検索を行うことができる。
これら2つの方法のいずれにおいても、区劃番号な用い
て区劃ページテーブルの位置を与えるメモリテーブルを
参照する。
第1のページ検索法においては、インデックスとしての
ページアドレスを使用して線形ページテーブルを参照し
、アクセス制御フラグ(ビット)と実際のページ記憶位
置が得られる。
その後その記憶位置及びフラグは連想メモリに書き込ま
れる。
なお線形ページテーブルは仮想スペースレファレンスの
各ページ毎に1つのエントリを必要としまた大型データ
ベースが参照される場合は大型になるという欠点がある
第2のページ検索法においては、ページアドレスを用い
て擬似連想(Psendo −associative
)ページテーブルを参照し、実際のページ記憶位置及
びアクセスフラグ(アクセス制御ビット)を得る。
擬似連想ページテーブルは、占有されている実メモリの
1ページ毎に約4語のテーブルな必要とする。
従って、非常に大きなデータベースを参照するのに非常
に小さいページテーブルで足りる。
しかし、擬似連想ページテーブルは、コア内のページ数
が全仮想スペースの相当なパーセントになったときに、
このテーブルがスペースを無駄に使用したり又はテーブ
ル操作に多くの時間を費やすという欠点がある。
本発明の他の特徴によれば、プログラムは、セグメント
と呼ばれる論理要素に分割され、利用者に割当てられた
メモリスペースに検索可能に記憶される。
これらのセグメントは、プログラムを実行するだめのデ
ータを獲得し記憶するため記述子によって参照される。
記述子は、区劃、区劃内の出発点又は基底、セグメント
の大きさまたは境界およびセグメントに対する利用者の
アクセス権を規定する。
アクセス権には、読出し、書込み、実行等がある。
第7図は、1対の36ビツト語を結合して1つのセグメ
ントを規定する例を示す。
語0は区劃レジスタ、アクセスフラグ及びセグメントの
境界(大きさ)を指示する。
語1はその区劃内の当該セグメントベース(基底)を指
示する。
1つのプログラムによって参照される全セグメントはそ
のプログラムの領域(ドメイン)を形成する。
プログラムのドメインは、そのプログラムに永久的にリ
ンクされたセグメントばかりでな(後述するように呼び
込み(コール)およびリターンのために他のドメインの
入口点や他のプログラムによって当該プログラムに供さ
れるセグメントをも含む。
本発明によればプログラム実行中に記述子が勝手に変更
されることを防ぐために、メモリ内の3つの付加的記述
子セグメントに記述子を安全に記憶する。
これら3つの記述子セグメントは、リンケージセグメン
ト、パラメータセグメント及びアーギュメントセグメン
トである。
リンケージセグメントは、実行に先立ってリンカ−プロ
グラムにより作られた記述子または実行中にオペレーテ
ィングシステムにより作られた記述子を含む。
パラメータセグメントは、実行中の呼び込み手続(Ca
lling proceduce ”I によって作
られる記述子を含む。
アーギュメントセグメントは呼び込み手続に戻されるべ
き実行中の呼び込まれた手続(called proc
educe )によって作られる記述子を含む。
呼び込み(コール)命令が実行されると、全記述子レジ
スタの内容は後のリターンのために保管され、リンケー
ジセグメント記述子レジスタには新たなリンケージセグ
メント用記述子がロードさ;れ、アーギュメントセグメ
ント記述子レジスタの内容は呼び込まれた手続への転送
のためにパラメータセグメント記述子レジスタにおかれ
る。
リターン命令の実行ではステップが逆転し、呼び込まれ
た手続は実行完了時にセグメント記述子をそのパラメー
タセグメント記述子レジスタにロードする。
このパラメータセグメント記述子レジスタは。リターン
時には呼び込み手続のアーギュメント記述子レジスタと
なる。
また、手続は記述子をそのままの形態でまたは収縮(s
krinkage )ルーチンによって収縮させた形態
でアーギュメントセグメントに移動させることができ、
これによってセグメントへのアクセスはセグメント内の
特定の語又はデータに限定される。
第8図は、本発明により採用される区劃配置(マツピン
グ)を示す。
上述したように各区劃50は、仮想メモリアドレスを実
メモリ54内の対応記憶位置に関連させるページテーブ
ル52によって支持されている。
図示の如(区劃50は複数のセグメントA−Iを含み、
例えばセグメントAは0の基底と1000の境界(長さ
)を有し、セグメントDは70000基底と10000
の境界を有し、セグメントHは25000の基底と20
00の境界を有する。
実メモリ54は実際のメモリをあられす。
またこの実メモリ54内の1つの構成要素56は、図示
の仮想メモリ用ページテーブル52である。
システムの実行処理が区劃50で行われており次の命令
がセグメントDの位置5200にあるとする。
セグメントDの基底は7000であるから仮想アドレス
は12200である。
ページテーブル52は、12000から始るページに対
する実メモリアドレスが274000であることを示し
ている。
第8図においてこのページには参照符号PIが付され、
このページPIの最初の命令はLDQ(セグメントG中
の語2600)として識別される。
セグメントGの基底は22000であるから、LDQは
22000+2600=24600をアドレスする。
その仮想ページに対する実ページは136000にあり
(ページテーブル52から)、従ってLDQは実メモリ
54中の実記憶位置136000からロードされる。
この操作の参照は第8図の記号57で水声れる。
次の命令は5TQ(セグメントBの語3600’である
セグメントBの基底は1000(区劃50から)叛から
、1000+3600=4600である。
この仮想ページに対する実ページは472000にあり
(ページテーブル52から)従ってTRAは実ページ4
72600内に記憶される。
この操作の参照は第8図の記号58で示される。
次の命令はTRA(セグメントD中の語6000 ”)
である。
セグメントDの基底7000 (区fl150から)で
、7000+6000=13000である。
この例ではその仮想ページに対する実ページは脱落して
おり、従ってハードウェアページ障害が生じて拡張メモ
リすなわちバッキングメモリから脱落ページを捜し出す
ためのソフトウェア手続が開始する。
上述したように図示の実施例では、各プロセスは最大8
区劃を参照することができ、各処理装置は8つの区劃レ
ジスタを含む。
また上述したようにセグメント記述子は、0から7の値
を表示してセグメントが属する区劃の割当番号(0〜2
55)を含むレジスタを指示する区劃レジスタ用フィー
ルドを有している。
第9図は、異なる区劃中にある異なるセグメントにおけ
る2語の記憶位置のマツピングを示す。
セグメントAは共用パッケージ中のルーテンでよく、セ
グメントBは利用者ルーチンの一つでよい。
セグメントAに対しては区劃レジスタ3が使用され、レ
ジスタ7がセグメントBに対して使用される。
そしてこれらの区劃レジスタは、セグメントAが区劃1
7に属しセグメントBが区劃241に属することを示し
ている。
区劃番号は、その区劃を支持しているページテーブルの
実メモリ位置を規定する区劃ページテーブルを参照する
ためにのみ使用される。
区劃ページテーブルは、図示の如くセグメントA及びB
に対するセグメントページテーブルを指示する。
この例においては第9図の底部に示すように基底763
0に200を加え(8進で7630+200=1003
0)、次にそのセグメント(区劃レジスタ7、区劃&2
41、ページテーブル位置、ページテーブルの第5エン
トリ=P5)のページ位置1000を見つけ、これに3
0(ページの始めからのオフセット)を加えることによ
りセグメントBの位置200が見出される。
従ってセグメントBの位置200はページP5.オフセ
ット30にて見出される。
第8図及び第9図から、本発明によれば2レベルのメモ
リ配置があることがわかる。
区劃仮想メモリはプログラムセグメントに配置され、実
メモリページは区劃に配置される。
従って相対セグメントアドレスはその割当てられた区劃
内において固定されたままであるが、実際のメモリ位置
は変化し支持ページテーブルを介して見つけねばならな
い。
次に第9図において、セグメントB内の語200のアク
セスについて考える。
第10図はこのアクセスに使用できる数種のレジスタの
組み合せ及び命令を示す。
第10図には、アドレスレジスタ、駈2(AR2)及び
インデックスレジスタ&4(XR4)を使用してオペラ
ンド記述子レジスタ、駈2(ODR2)のセグメントB
の語200をロードするための7つの異なる命令を示す
最右欄中の命令はアドレス及びインデックスレジスタを
使用することも使用しないこともある。
実行中のプログラムの命令は第4エントリでのセグメン
トBに対するセグメント記述子を含むものとする。
このとき「第4エントリから0DR2をロードせよ」と
いう命令はシステムにライン1の命令の使用を許容する
この場合200のオフセットが指定され、インデックス
レジスタは使用されずアドレスレジスタは0にセットさ
れる。
またアドレスレジスタ及びインデックスレジスタが適当
にロードされているとすれば、ライン2〜4の命令も許
される。
第10図のライン5〜7は、記述子を収縮する能力を示
す。
セグメントBに対する記述子を得るに当って0DR2は
7630の基底及び2400の長さく第9図から)を有
する。
しかしながらライン5及び6において、「収縮」命令は
基底に100を加え、その加えた分を長さから減じてイ
ンデックスまたはアドレスレジスタにロードする。
収縮命令は、基底に加算しあるいは上記長さから減算し
たりまたはこれら加減算つ双方を行うこともできる。
ライン7において基底は少なくても(200だけ)変形
される。
「収縮」手続は、呼び込まれたルーチンに対して利用可
能な記述子レジスタの内容にのみ適用するだけで記述子
語対(第7図)のメモリフォーマットを変更しない。
上述したように記述子を収縮する基本的理由は保護のた
めである。
大型のデータセグメントが感度の高い情報を多数含んで
いて、呼び込まれたルーチンはデータの小部分のみしか
参照できないとするならば、記述子を収縮することによ
り、呼び込まれたルーテンに供されるウィンドセグメン
トを1語程度に小さくなしうる。
第10図のライン2及び7において、呼び込まれたルー
チンは両ラインで同一な命令によりセグメントB内の語
200をアクセスできる。
しかしライン7においては、記述子が8+200におい
て開始するため、このルーテンがセグメントBの最初の
200個の語をアクセスすることはできない。
しかしながらライン2のフォーマットでは、ODRかセ
グメントBの基底を指示するのでそれら200個の語の
アクセスを許容する。
呼び込まれたルーチンはアドレスレジスタAR2の値を
負に指示するかまたは変化させるだけである。
このように、ライン7は保護を重視するがライン2はそ
うではない。
上述の如くある手続のドメインには、排他的或いは共用
的な形態でこの手続に永久的にリンクされているセグメ
ントとパラメータとしてこの手続に供される(渡される
)セグメントとが含まれる。
上記の如くこれらのセグメントは記述子(区劃、基底及
び境界)によって識別される。
これらの記述子は、リンケージ、パラメータ及びアーギ
ュメントセグメントと呼ばれるメモリ中の特別なセグメ
ントに記憶される。
リンケージセグメントは、実行に先立ってリンカ−プロ
グラムにより作られた記述子又は実行中にオペレーティ
ングシステムによって作られた記述子を含む。
パラメータセグメントは、呼び込み手続によって作られ
た記述子を含む。
またアーギュメントセグメントは呼び込まれた手続に渡
されるよう実行中の手続によって作られた記述子を含む
すなわち、リンケージセグメントは手続のドメインに永
久的にリンクされたセグメントを指示する記述子を含む
パラメータセグメントは、呼び込まれた手続が制御され
たアクセスを許容されるところの別のドメインに属する
セグメントを指示する記述子を保持する。
アーギュメントセグメントは呼び込み手続がアクセスを
許されるセグメントを指示する記述子を含む。
第11図は、リンケージセグメント70、パラメータセ
グメント72及びアーギュメントセグメント74中に記
憶されるセグメント記述子を説明するための機能的ブロ
ック図である。
これらのセグメント70,72.74をアクセスするに
は、メモリ内でこれらセグメントを識別するための記述
子をリンケージ記述子レジスタ71、パラメータ記述子
レジスタ73及びアーギュメント記述子レジスタ75に
それぞれロードする。
ルーテンの実行中は、リンケージセグメント70パラメ
ータセグメント72又はアーギュメントセグメント74
からの記述子がオペランド記述子レジスタ78にロード
される。
これら記述子は1反想スペース80内のセグメントを参
照する。
それらセグメントに対する実メモリ記憶位置は、第5図
及び第6図に示されるように実メモリ84中の記憶位置
を識別するための実スペース中のページテーブル82を
介して見い出される。
呼び込みに先立ち手続(プログラム)は、記述子をその
ままの形態で又は前述したような収縮操作により縮小さ
れた形態でアーギュメントセグメントに移すことができ
る。
呼び込み命令が実行されると記述子レジスタの全てが(
点線で示すように)セグメント86に安全に記憶(保管
)され、リンケージセグメント記述子レジスタ71には
リンケージセグメント又はパラメータセグメントかう新
たなリンケージセグメントに対する記述子がロードされ
、アーギュメントセグメント74の記述子はパラメータ
セグメント72におかれる。
同様に、リターン命令が実行されると前述したステップ
が逆転する。
従って呼び込み命令およびリターン命令の実行によりド
メインの完全な変更を生ぜしめ、これら2つのドメイン
は呼び込みのパラメータとして供される(関連する)セ
グメントのみを共用する。
既知のセグメント名を使用し、実行に先立つリンカ−プ
ログラムにより記述子が作られ仮想スペースが割り当て
られる。
もしプログラムの実行までセグメント名が知られなけれ
ば、仮想スペースに大型スペースが割当てられ、オペレ
ーティングシステムへのトラップを有する記述子がリン
ケージセグメント中にロードされる。
プログラムが実行に先立ってロードされたとき、プログ
ラムによって参照される各ファイルセグメントに関連し
たアクセス許容リストがオペレーティングシステムによ
ってチェックされ、使用者がそのセグメントをアクセス
しうるのを確実にする。
同様に、プログラムの実行中に生じるアクセス要求は、
アクセス許可のためにチェックされる。
ファイルセグメントへのアクセス許可を確認するに加え
て、オペレーティングシステムはリンカ−プログラムに
よって作られた記述子をチェックし、手続によってアク
セスされる仮想スペースの外側の領域への参照を許容し
ないことを確認する。
ファイルセグメントが参照されるべきときは何時でも、
プログラムルーチンは、呼び込み手続がアクセスを認め
られる記録フィールドに対する記述子を作り、リターン
時にはこれらの記述子な呼び込み手続に渡す。
サブルーチンはフィールド全体へのアクセスを行なうけ
れど、呼び込み手続は記述子が作られかつリターンされ
るための記録フィールドしか参照できない。
第11図において呼び込みがあるとすると、呼び込み手
続は呼び込まれた手続に渡されるべき記述子をアーギュ
メント記述子レジスタ75によって記述されるアーギュ
メントセグメント74中にロードし、呼び込み手続の他
の全てのレジスタの内容は保管記憶記述子レジスタ88
によって記述されるセグメント86に保管される。
その後その呼び込み手続は中止されて呼び込まれた手続
がロードされる。
呼び込まれたルーチンがロードされると、処理装置は、
転送された(渡された)パラメータ(及び共有記述子)
を除いては全く新たなドメインに入る。
パラメータセグメント72内の記述子は、リンク記述子
セグメントに関して上述したものと同様の方法でメモリ
をアクセスするために使用される。
リターン時には、□情報が呼び込まれた手続によって記
憶され、その手続に関係する記述子はアーギュメント記
述子レジスタ75に記憶され、制御は先の呼び込み手続
に戻される。
本発明によれば、仮想メモリの区劃化及び実メモリに対
するページングの利用により、直接アクセス機能を有す
るデータ操作及び記憶に柔軟性を与えるとともに、他方
論理要素へのプログラムのセグメント化及び記述子の使
用により利用者(プログラム)の安全性が確保される。
また、記述子パラメータの転送により、要求されるドメ
イン規定に柔軟性が許される。
【図面の簡単な説明】
第1図は本発明の適用可能な共用アクセス多重プログラ
ム型データ処理システムのブロック図、第2図は本発明
によるメモリ区劃のブロック図、第3図は本発明による
データ処理システムの利用者に利用可能な区劃及びレジ
スタのブロック図、第4図は本発明の一実施例によるペ
ージアドレス用の語のフォーマット図、第5図及び第6
図はページアドレスからメモリ内の物理的位置を得るた
めの3つの方法を示す図、第7図は本発明の一実施例に
よるセグメント記述子用の一対の語のフォーマット図、
第8図は本発明の一実施例によるプログラムセグメンテ
ーション及びメモリページングのマツピング図、第9図
は本発明によるプログラムセグメントの記述子位置を示
す図、第10図は命令フォーマット及び記述子の収縮を
示す図、第11図は本発明によるシステム利用者プログ
ラムでの記述子パラメータの移動及びセグメント記述子
を介したメモリアクセスを示すための機能的ブロック図
である。 10・・・データ処理装置、12,13,14,15・
・・メモリ、16〜19・・・メモリ制御器、20・・
・入力/出力制御器、21,22,23・・・周辺装置
、24・・・周辺装置制御器、26.27,28,29
・・・利用者通信装置、30・・・利用者装置制御器。

Claims (1)

  1. 【特許請求の範囲】 1 メモリ内の複数個のデータ記憶セグメントの記憶位
    置を規定するための相対アドレスを含む複数個の記述子
    語な使用し、記述子語な保持するだめの第1および第2
    の記述子レジスタとオペランド記述子レジスタとを備え
    、メモリ内の特定の記憶セルをアクセスするためにオペ
    ランド記述子レジスタに保持された記述子語の相対アド
    レスを絶対アドレスに変換する共用アクセス多重プログ
    ラム型データ処理システムのメモリに情報を記憶しアク
    セスするための方法において、 第1のプログラムに割当てられかつ前記第1のプログラ
    ムの実行に必要なデータを含むデータ記憶セグメントを
    それぞれ識別する複数個の記述子語を前記メモリの第1
    のデータ記憶セグメントに記憶させること、 第2のプログラム忙割当てられかつ前記第1のプログラ
    ムの実行に必要なデータを含む付加的データ記憶セグメ
    ントをそれぞれ識別する選択された記述子語を前記メモ
    リの第2のデータ記憶セグメントに記憶させること、 前記第1のプログラムが実行されるべきとき、前記第1
    のデータ記憶セグメントを識別する記述子を前記第1の
    記述子レジスタにロードすること、前記第1の記述子レ
    ジスタの内容の制御の下で前記第1のデータ記憶セグメ
    ントから前記オペランド記述子レジスタに記述子語なロ
    ードすることKより前記第1のプログラムを実行させる
    こと。 前記第2のデータ記憶セグメントを識別する記述子語な
    前記第2の記述子レジスタにロードすること、 前記第1のプログラムの実行中前記第2の記述子レジス
    タの内容の制御の下で前記第2のデータ記憶セグメント
    から前記オペランド記述子レジスタに記述子語をロード
    すること、 の諸ステップを含む、情報を記憶しアクセスするための
    方法。 2 メモリ内の複数個のデータ記憶セグメントの記憶位
    置を規定するための相対アドレスを含む複数個の記述子
    語を使用し、記述子語を保持するための第1および第2
    の記述子レジスタとオペランド記述子レジスタとを備え
    、メモリ内の特定の記憶セルをアクセスするためにオペ
    ランド記述子レジスタに保持された記述子語の相対アド
    レスを絶対アドレスに変換する共用アクセス多重プログ
    ラム型データ処理システムのメモリに情報を記憶しアク
    セスするための方法において、 第1のプログラムに割当てられかつ前記第1のプログラ
    ムの実行に必要なデータを含むデータ記憶セグメントを
    それぞれ識別する複数個の記述子語を前記メモリの第1
    のデータ記憶セグメントに記憶させること、 第2のプログラムに割当てられかつ前記第1のプログラ
    ムの実行に必要なデータを含む付加的データ記憶セグメ
    ントをそれぞれ識別する選択された記述子語な前記メモ
    リの第2のデータ記憶セグメントに記憶させること、 前記第1のプログラムが実行されるべきとき、前記第1
    のデータ記憶セグメントを識別する記述子語を前記第1
    の記述子レジスタにロードすること、 前記第1のプログラムの実行中前記第1の記述子レジス
    タの内容の制御の下で前記第1のデータ記憶セグメント
    から前記オペランド記述子レジスタに記述子語をロード
    すること、 前記第1のプログラムの実行中前記第2のデータ記憶セ
    グメントを識別する記述子語を前記第2の記述子レジス
    タにロードすること、 前記第1のプログラムの実行中箱2の記述子レジスタの
    内容の制御の下で前記第2のデータ記憶セグメントから
    前記オペランド記述子レジスタに記述千語をロードする
    こと、 の諸ステップを含む、情報を記憶しアクセスするための
    方法。 3 複数の利用者プログラムセグメントな複数の仮想メ
    モリ区劃に記憶し、前記区劃内の基底および境界番号に
    より記憶位置を識別する記述子語によって前記セグメン
    トを規定するデータ処理システムにおいて、手続の記述
    子語の記憶位置を識別し、記述子語により規定される排
    他的記憶領域で実行中の第1の手続が前記第1の手続に
    より呼び込まれて実行される第2の手続に対して記憶領
    域への限定されたアクセスを安全に引渡せるようにする
    情報を記憶しアクセスするだめの装置であって、 前記第1の手続の記述子語の記憶位置を識別するだめの
    第1のレジスタ装置と、 アクセスが引渡される記述子語の記憶位置を識別゛する
    ための第2のレジスタ装置と、 前記第2の手続の実行中保管された前記第1のレジスタ
    装置の内容の記憶位置を識別するための第3のレジスタ
    装置と、 を具備する、情報を記憶しアクセスするための装置。
JP50047334A 1974-04-18 1975-04-18 共用アクセス多重プログラム型デ−タ処理システムにおいて情報を記憶しアクセスするための方法及び装置 Expired JPS5818708B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US46214474A 1974-04-18 1974-04-18
US462144 1974-04-18

Publications (2)

Publication Number Publication Date
JPS50146229A JPS50146229A (ja) 1975-11-22
JPS5818708B2 true JPS5818708B2 (ja) 1983-04-14

Family

ID=23835317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50047334A Expired JPS5818708B2 (ja) 1974-04-18 1975-04-18 共用アクセス多重プログラム型デ−タ処理システムにおいて情報を記憶しアクセスするための方法及び装置

Country Status (6)

Country Link
JP (1) JPS5818708B2 (ja)
AU (1) AU505596B2 (ja)
DE (1) DE2516050A1 (ja)
FR (1) FR2268302B3 (ja)
GB (1) GB1498116A (ja)
HK (1) HK36880A (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU506710B2 (en) * 1974-10-21 1980-01-24 Honeywell Information Systems Incorp. Method of accessing priviledged memory in a multiprogrammed data processing system
US4079453A (en) * 1976-08-20 1978-03-14 Honeywell Information Systems Inc. Method and apparatus to test address formulation in an advanced computer system
GB2127994B (en) * 1982-09-29 1987-01-21 Apple Computer Memory management unit for digital computer
US4926316A (en) * 1982-09-29 1990-05-15 Apple Computer, Inc. Memory management unit with overlapping control for accessing main memory of a digital computer
US4545016A (en) * 1983-01-07 1985-10-01 Tandy Corporation Memory management system
US4972338A (en) * 1985-06-13 1990-11-20 Intel Corporation Memory management for microprocessor system
US5075845A (en) * 1989-12-22 1991-12-24 Intel Corporation Type management and control in an object oriented memory protection mechanism
US7707385B2 (en) * 2004-12-14 2010-04-27 Sony Computer Entertainment Inc. Methods and apparatus for address translation from an external device to a memory of a processor
CN115083463B (zh) * 2022-08-23 2022-11-08 旋智电子科技(上海)有限公司 用于控制存储器访问权限的方法、电子系统和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
THE MULTICS VIRTUAL MEMORY:CONCEPTS AND DESIGN=1972 *

Also Published As

Publication number Publication date
FR2268302B3 (ja) 1978-10-06
AU505596B2 (en) 1979-11-29
AU7994975A (en) 1976-10-14
DE2516050A1 (de) 1975-11-06
FR2268302A1 (ja) 1975-11-14
JPS50146229A (ja) 1975-11-22
GB1498116A (en) 1978-01-18
HK36880A (en) 1980-07-18

Similar Documents

Publication Publication Date Title
US4300192A (en) Method and means for storing and accessing information in a shared access multiprogrammed data processing system
Bensoussan et al. The Multics virtual memory: Concepts and design
US4742450A (en) Method to share copy on write segment for mapped files
KR920005853B1 (ko) 페이지 분할형 가상 메모리 데이타 처리 시스템에서의 데이타 전송 방법
US4992936A (en) Address translation method and apparatus therefor
Bensoussan et al. The Multics virtual memory
Arden et al. Program and addressing structure in a time-sharing environment
JPH0571975B2 (ja)
JPH01228039A (ja) コンピユータ・システム
JPS62165249A (ja) ペ−ジ・セグメント化仮想記憶デ−タ処理システムにおけるセグメント・サイズを自動的に大きくする方法
US5129070A (en) Method of using the memory in an information processing system of the virtual addressing type, and apparatus for performing the method
JPH04506720A (ja) ディジタル・データ処理システムのための仮想メモリ管理及び割付け装置
JP2002268933A (ja) クラスタシステム
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
JPS5818708B2 (ja) 共用アクセス多重プログラム型デ−タ処理システムにおいて情報を記憶しアクセスするための方法及び装置
EP0175398A2 (en) Data processing system comprising a memory access controller which is provided for combining descriptor bits of different descriptors associated with virtual addresses
KR890017640A (ko) 파일시스템
JPH0430062B2 (ja)
JP2994162B2 (ja) ベースアドレス空間のアクセス方法及びシステム
JPS63240653A (ja) 記憶装置管理ユニットと仮想一実アドレス間の翻訳方法
JPH0548500B2 (ja)
JPH01228038A (ja) アクセス・レジスタ変換機構
JPS59140566A (ja) 情報処理装置
JP2748504B2 (ja) 入力処理装置
JP2612173B2 (ja) 仮想計算機