JPH0736172B2 - データ使用領域へのアクセスを制御する制御装置および方法 - Google Patents
データ使用領域へのアクセスを制御する制御装置および方法Info
- Publication number
- JPH0736172B2 JPH0736172B2 JP3163833A JP16383391A JPH0736172B2 JP H0736172 B2 JPH0736172 B2 JP H0736172B2 JP 3163833 A JP3163833 A JP 3163833A JP 16383391 A JP16383391 A JP 16383391A JP H0736172 B2 JPH0736172 B2 JP H0736172B2
- Authority
- JP
- Japan
- Prior art keywords
- area
- task
- data
- access
- attribute
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1458—Protection against unauthorised use of memory or access to memory by checking the subject access rights
- G06F12/1491—Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
Description
【0001】
【産業上の利用分野】本発明はコンピュータ・システム
の保全に関し、特にシステム・メモリ中のデータにアク
セスするようコンピュータ・システムで実行中のタスク
に付与された権利の制御に関する。
の保全に関し、特にシステム・メモリ中のデータにアク
セスするようコンピュータ・システムで実行中のタスク
に付与された権利の制御に関する。
【0002】
【従来の技術】現在の大型コンピュータ・システムは通
常マルチ・タスク方式である。すなわち、これらの大型
コンピュータ・システムでは、複数のユーザが様々なタ
スクを同時に実行できる。本明細書で使用する「タス
ク」とはユーザのために実行中の処理を意味する。「タ
スク」はその実行を管理する機械命令(「プログラム」
または「処理手順」)とは区別される。「プログラム」
と「処理手順」は両方とも機械読取り可能な命令の集合
であるが、「プログラム」は普通、ある作業を管理する
独立した命令の集合を意味するが、「処理手順」は他の
プログラムまたは処理手順から呼び出される命令の集合
を意味することが多い。本明細書では、「プログラム」
と「処理手順」の間に区別はないが、「処理手順」とい
う用語は独立した処理手順すなわち「プログラム」を含
むと理解していただきたい。1つのタスクはその目的を
実行するために複数の処理手順を呼び出す。ただし1つ
しか処理手順がない場合いつでも実行される。1つの処
理手順は複数のユーザにより同時に利用されることも、
同じユーザにより複数箇所で同時に利用されることも可
能であるので、処理手順のコピー(すなわち、機械命
令)が1つしかシステム・メモリにない場合でさえ処理
手順は個別のタスクとして使用される。「オブジェク
ト」とは、システム・メモリまたは大容量記憶装置にお
いてシステムに含まれたアドレス可能なデータの集合の
ことである。データには機械命令が含まれているので、
用語「オブジェクト」にはプログラムと処理手順が含ま
れている。1台のコンピュータ・システムが複数のタス
クを実行しているので、必然的に複数のタスクで中央演
算処理装置(CPU)、システム・メモリ、記憶装置な
どシステム・ハードウェアを共有することになる。通常
は、任意の時点においてはCPUで実行されているタス
クは1つだけである。しかし、各タスク毎に割り当てら
れるシステム・メモリと記憶装置の容量は可変である。
割当て容量は連続的に変化する。システム・ハードウェ
アはメモリまたは記憶装置の任意の位置にアクセスする
機能を有している。制限がなければ、CPUで実行中の
タスクは、完了するまでに他のタスクに割り当てられた
メモリまたは記憶装置にアクセスし(割当てられた容量
を変更し)、他のタスクの能力を破壊することになる。
したがって、マルチ・タスキングの出現以来、システム
上で利用できるすべてのデータにアクセス可能な個別の
タスクの能力を制限する保護機構が利用されてきた。
常マルチ・タスク方式である。すなわち、これらの大型
コンピュータ・システムでは、複数のユーザが様々なタ
スクを同時に実行できる。本明細書で使用する「タス
ク」とはユーザのために実行中の処理を意味する。「タ
スク」はその実行を管理する機械命令(「プログラム」
または「処理手順」)とは区別される。「プログラム」
と「処理手順」は両方とも機械読取り可能な命令の集合
であるが、「プログラム」は普通、ある作業を管理する
独立した命令の集合を意味するが、「処理手順」は他の
プログラムまたは処理手順から呼び出される命令の集合
を意味することが多い。本明細書では、「プログラム」
と「処理手順」の間に区別はないが、「処理手順」とい
う用語は独立した処理手順すなわち「プログラム」を含
むと理解していただきたい。1つのタスクはその目的を
実行するために複数の処理手順を呼び出す。ただし1つ
しか処理手順がない場合いつでも実行される。1つの処
理手順は複数のユーザにより同時に利用されることも、
同じユーザにより複数箇所で同時に利用されることも可
能であるので、処理手順のコピー(すなわち、機械命
令)が1つしかシステム・メモリにない場合でさえ処理
手順は個別のタスクとして使用される。「オブジェク
ト」とは、システム・メモリまたは大容量記憶装置にお
いてシステムに含まれたアドレス可能なデータの集合の
ことである。データには機械命令が含まれているので、
用語「オブジェクト」にはプログラムと処理手順が含ま
れている。1台のコンピュータ・システムが複数のタス
クを実行しているので、必然的に複数のタスクで中央演
算処理装置(CPU)、システム・メモリ、記憶装置な
どシステム・ハードウェアを共有することになる。通常
は、任意の時点においてはCPUで実行されているタス
クは1つだけである。しかし、各タスク毎に割り当てら
れるシステム・メモリと記憶装置の容量は可変である。
割当て容量は連続的に変化する。システム・ハードウェ
アはメモリまたは記憶装置の任意の位置にアクセスする
機能を有している。制限がなければ、CPUで実行中の
タスクは、完了するまでに他のタスクに割り当てられた
メモリまたは記憶装置にアクセスし(割当てられた容量
を変更し)、他のタスクの能力を破壊することになる。
したがって、マルチ・タスキングの出現以来、システム
上で利用できるすべてのデータにアクセス可能な個別の
タスクの能力を制限する保護機構が利用されてきた。
【0003】データ保全の1つの方法は、複数の離散領
域を作成することであった。1つの領域とは、画定され
た領域とそれらの領域を横切るデータの流れへの画定さ
れた障壁をもつ統一体である。その遂行においては、そ
の領域は、アドレス範囲、メモリの物理領域、特定の属
性を備えたオブジェクトの集合等として存在している。
離散領域システムでは、データが離散領域に含まれ、タ
スクはその離散領域で実行される。1つのタスクはその
領域に含まれたデータにアクセス可能であるが、他の領
域のデータにはアクセスできない。汎用的なアクセスが
なければオペレーティング・システムの機能を実行する
ことは不可能なので、こうしたシステムはさらに、全シ
ステムでデータにアクセスする汎用的な権限をいくつか
の特権タスクに付与する機構を備えている。
域を作成することであった。1つの領域とは、画定され
た領域とそれらの領域を横切るデータの流れへの画定さ
れた障壁をもつ統一体である。その遂行においては、そ
の領域は、アドレス範囲、メモリの物理領域、特定の属
性を備えたオブジェクトの集合等として存在している。
離散領域システムでは、データが離散領域に含まれ、タ
スクはその離散領域で実行される。1つのタスクはその
領域に含まれたデータにアクセス可能であるが、他の領
域のデータにはアクセスできない。汎用的なアクセスが
なければオペレーティング・システムの機能を実行する
ことは不可能なので、こうしたシステムはさらに、全シ
ステムでデータにアクセスする汎用的な権限をいくつか
の特権タスクに付与する機構を備えている。
【0004】IBMシステム/360コンピュータはこ
の離散領域方式の例である。メモリ中の各タスクの位置
は0から15の保護キーに関連している。キー0は汎用
アクセス・キーで、特権タスクに指定される。すべての
ユーザ・タスクは異なるキーで実行され、そのキーに関
連したデータだけにアクセスが許される。汎用アクセス
・キーで動作していないタスクを代表して書込み動作が
CPUにより実行される場合には、現在実行中のタスク
のキーがメモリ位置のキーと対照されて、それらが同じ
であることが確認される。そうでない場合には、書込み
動作は許可されない。
の離散領域方式の例である。メモリ中の各タスクの位置
は0から15の保護キーに関連している。キー0は汎用
アクセス・キーで、特権タスクに指定される。すべての
ユーザ・タスクは異なるキーで実行され、そのキーに関
連したデータだけにアクセスが許される。汎用アクセス
・キーで動作していないタスクを代表して書込み動作が
CPUにより実行される場合には、現在実行中のタスク
のキーがメモリ位置のキーと対照されて、それらが同じ
であることが確認される。そうでない場合には、書込み
動作は許可されない。
【0005】離散領域方法は1つの領域のデータを他の
領域で実行中のタスクから保護するものである。この方
法は、たとえばあるユーザのデータを他のユーザから保
護するのにも使用できる。しかし、1つのタスクが他の
領域にアクセスするのが望ましい環境が多々ある。他の
領域のデータに直接アクセスする機能はないので、この
機能が望ましい場合には新たな機構をシステムに追加し
なければならない。一般的に、これは、あるオペレーテ
ィング・システムのタスクが、データ所有者から権限の
許諾を受けてユーザ・タスクを代表してデータにアクセ
スすることを意味している。こうした機構の導入はオペ
レーティング・システムを複雑にして、性能を低下させ
る。
領域で実行中のタスクから保護するものである。この方
法は、たとえばあるユーザのデータを他のユーザから保
護するのにも使用できる。しかし、1つのタスクが他の
領域にアクセスするのが望ましい環境が多々ある。他の
領域のデータに直接アクセスする機能はないので、この
機能が望ましい場合には新たな機構をシステムに追加し
なければならない。一般的に、これは、あるオペレーテ
ィング・システムのタスクが、データ所有者から権限の
許諾を受けてユーザ・タスクを代表してデータにアクセ
スすることを意味している。こうした機構の導入はオペ
レーティング・システムを複雑にして、性能を低下させ
る。
【0006】システムの保全性を実現する他の方法は階
層領域を使用することである。複数の領域は、ある領域
のタスクはその領域とそれより下位の階層におけるデー
タにアクセスできるという限定された階層関係で設定さ
れている。通常、こうしたシステムは、整数値を各領域
に指定し、領域値を比較して、アクセス権決定すること
により実現される。この方法は離散領域方法のもつ問題
をいくつか解決するが、新たな問題が発生する。特に、
この方法は、2人のユーザが同時に互いを保護する機構
を備えていない。両人とも同じ領域を共有するか、また
は1方のユーザがより高い領域で実行するかである。前
者の場合、互いに無防備であり、後者の場合、他方のユ
ーザが無防備である。
層領域を使用することである。複数の領域は、ある領域
のタスクはその領域とそれより下位の階層におけるデー
タにアクセスできるという限定された階層関係で設定さ
れている。通常、こうしたシステムは、整数値を各領域
に指定し、領域値を比較して、アクセス権決定すること
により実現される。この方法は離散領域方法のもつ問題
をいくつか解決するが、新たな問題が発生する。特に、
この方法は、2人のユーザが同時に互いを保護する機構
を備えていない。両人とも同じ領域を共有するか、また
は1方のユーザがより高い領域で実行するかである。前
者の場合、互いに無防備であり、後者の場合、他方のユ
ーザが無防備である。
【0007】他の方法が、IBMシステム/38コンピ
ュータとIBMアプリケーション・システム/400コ
ンピュータなどオブジェクト・ベース・システムで使用
される。こうしたシステムでは、データはオブジェクト
に含まれており、メモリ全体が永続アドレスをそれぞれ
もつ複数のオブジェクトを含む単一アドレス空間を構成
している。すべてのユーザ・タスクとオブジェクトにた
いして1つの保護領域しかない。この方法を用いるとあ
るユーザ・タスクが他のユーザに属するオブジェクトの
データにアクセスするのが容易になるが同時に保全性が
失われる。無制限で、他のデータを破壊するかもしれな
いアクセスを防ぐために追加機構が必要となる。オブジ
ェクト・ベース・システムは、1つのオブジェクト内で
データの直接のアドレス指定を制限することにより保全
性を維持する。データはオブジェクトを参照しながらア
クセスされることになる。ある従来例では、1つのオブ
ジェクト内でデータにアクセスする要求は、呼出しレベ
ル・インターフェースと呼ばれる1つまたは複数の特権
処理手順を介して送られる。これらの特権処理手順は、
オブジェクトのアクセス制御データに基づきオブジェク
トにアクセスする特権を検査する。残念ながら、この実
施例は、性能面で負担を課すことになる。その負担は、
PASCALやCなどポインタ・ベース・コンピュータ
言語で書かれたプログラムの場合に特に重くなる。指定
されたデータに直接アクセスする代わりに、別の処理手
順が呼び出されて、各ポインタ参照のために余分な時間
が必要になる。
ュータとIBMアプリケーション・システム/400コ
ンピュータなどオブジェクト・ベース・システムで使用
される。こうしたシステムでは、データはオブジェクト
に含まれており、メモリ全体が永続アドレスをそれぞれ
もつ複数のオブジェクトを含む単一アドレス空間を構成
している。すべてのユーザ・タスクとオブジェクトにた
いして1つの保護領域しかない。この方法を用いるとあ
るユーザ・タスクが他のユーザに属するオブジェクトの
データにアクセスするのが容易になるが同時に保全性が
失われる。無制限で、他のデータを破壊するかもしれな
いアクセスを防ぐために追加機構が必要となる。オブジ
ェクト・ベース・システムは、1つのオブジェクト内で
データの直接のアドレス指定を制限することにより保全
性を維持する。データはオブジェクトを参照しながらア
クセスされることになる。ある従来例では、1つのオブ
ジェクト内でデータにアクセスする要求は、呼出しレベ
ル・インターフェースと呼ばれる1つまたは複数の特権
処理手順を介して送られる。これらの特権処理手順は、
オブジェクトのアクセス制御データに基づきオブジェク
トにアクセスする特権を検査する。残念ながら、この実
施例は、性能面で負担を課すことになる。その負担は、
PASCALやCなどポインタ・ベース・コンピュータ
言語で書かれたプログラムの場合に特に重くなる。指定
されたデータに直接アクセスする代わりに、別の処理手
順が呼び出されて、各ポインタ参照のために余分な時間
が必要になる。
【0008】
【発明が解決しようとする課題】性能面での理由のた
め、オブジェクト・ベース・アーキテクチャでは、1つ
のタスクが、たとえば、データを含むアドレスを指定す
るポインタにより、そのデータを含むオブジェクトへの
呼出しレベル・インターフェースを使用することなく直
接データにアクセス可能であることが望ましい。1つの
選択子は、未許可アクセスを防ぐために、ポインタ・ベ
ース言語からオブジェクト・コードを生成する「確実
な」コンパイラを使用することである。しかし、あるコ
ンパイラがすべての保全性の露呈を保護するとともにデ
ータへの合法的なアクセスを許可することを保証するこ
とはほとんど不可能である。他の選択子は、各メモリ参
照番号でアクセス権を検査することである。しかし、こ
の選択子では、検査方法が極めて原始的な場合を除き、
性能がさらに低下する。従来技術は、保全性が露呈する
ことなくこうしたアクセスのための単純かつ効果的な手
段を示唆していない。
め、オブジェクト・ベース・アーキテクチャでは、1つ
のタスクが、たとえば、データを含むアドレスを指定す
るポインタにより、そのデータを含むオブジェクトへの
呼出しレベル・インターフェースを使用することなく直
接データにアクセス可能であることが望ましい。1つの
選択子は、未許可アクセスを防ぐために、ポインタ・ベ
ース言語からオブジェクト・コードを生成する「確実
な」コンパイラを使用することである。しかし、あるコ
ンパイラがすべての保全性の露呈を保護するとともにデ
ータへの合法的なアクセスを許可することを保証するこ
とはほとんど不可能である。他の選択子は、各メモリ参
照番号でアクセス権を検査することである。しかし、こ
の選択子では、検査方法が極めて原始的な場合を除き、
性能がさらに低下する。従来技術は、保全性が露呈する
ことなくこうしたアクセスのための単純かつ効果的な手
段を示唆していない。
【0009】したがって、本発明の目的は、コンピュー
タ・システムにおいてデータへのアクセスを制御する拡
張方法と装置を提供することである。本発明の他の目的
は、コンピュータ・システムにおいてデータの保全性を
より高めることにある。本発明のさらに他の目的は、コ
ンピュータ・システムにおいてより柔軟な保全性領域構
造を提供することにある。本発明のさらに他の目的は、
オブジェクト・ベース・コンピュータ・システムにおい
てオブジェクトの保全性をより高めることにある。本発
明の他の目的は、データ保全性を保護することによりコ
ンピュータ・システムの性能を増大し、特に、1つのオ
ブジェクトに含まれたデータにアクセスするときにオブ
ジェクト・ベース・コンピュータ・システムの性能を増
大することにある。本発明のさらに他の目的は、低価格
でデータ保全性保護を備えているコンピュータ・シスム
を提供することにある。
タ・システムにおいてデータへのアクセスを制御する拡
張方法と装置を提供することである。本発明の他の目的
は、コンピュータ・システムにおいてデータの保全性を
より高めることにある。本発明のさらに他の目的は、コ
ンピュータ・システムにおいてより柔軟な保全性領域構
造を提供することにある。本発明のさらに他の目的は、
オブジェクト・ベース・コンピュータ・システムにおい
てオブジェクトの保全性をより高めることにある。本発
明の他の目的は、データ保全性を保護することによりコ
ンピュータ・システムの性能を増大し、特に、1つのオ
ブジェクトに含まれたデータにアクセスするときにオブ
ジェクト・ベース・コンピュータ・システムの性能を増
大することにある。本発明のさらに他の目的は、低価格
でデータ保全性保護を備えているコンピュータ・シスム
を提供することにある。
【0010】
【課題を解決するための手段】オブジェクト・ベース・
コンピュータ・システムでは、各オブジェクトが領域属
性を含む。領域属性は数値フィールドであり、好ましい
実施例では2バイトから成る。システムで実行中の各タ
スクは領域属性に関連する。最高位の代表番号FFFF
(16進数)は汎用領域を表す。この領域のオブジェク
トは最もアクセスが制限されているが、この領域のタス
クはシステム全体のオブジェクトへの汎用アクセスが可
能である。最下位代表番号0001(16進数)は、共
通問題領域を表す。この領域のオブジェクトはシステム
で実行中のどのタスクにもアクセス可能である。他の追
加階層領域レベルは汎用領域と共通問題領域の間に画定
される。好ましい実施例では3つの追加レベルがある。
8000(16進数)の領域属性をもつ共通システム領
域は、1つのレベルを占める。8001(16進数)と
FFFE(16進数)のあいだの属性をもつすべての領
域は、汎用領域と共通システム領域間にある他のレベル
を占める。0002(16進数)と7FFF(16進
数)間の属性をもつ領域は、共通問題領域と共通システ
ム領域間にある他のレベルを占める。
コンピュータ・システムでは、各オブジェクトが領域属
性を含む。領域属性は数値フィールドであり、好ましい
実施例では2バイトから成る。システムで実行中の各タ
スクは領域属性に関連する。最高位の代表番号FFFF
(16進数)は汎用領域を表す。この領域のオブジェク
トは最もアクセスが制限されているが、この領域のタス
クはシステム全体のオブジェクトへの汎用アクセスが可
能である。最下位代表番号0001(16進数)は、共
通問題領域を表す。この領域のオブジェクトはシステム
で実行中のどのタスクにもアクセス可能である。他の追
加階層領域レベルは汎用領域と共通問題領域の間に画定
される。好ましい実施例では3つの追加レベルがある。
8000(16進数)の領域属性をもつ共通システム領
域は、1つのレベルを占める。8001(16進数)と
FFFE(16進数)のあいだの属性をもつすべての領
域は、汎用領域と共通システム領域間にある他のレベル
を占める。0002(16進数)と7FFF(16進
数)間の属性をもつ領域は、共通問題領域と共通システ
ム領域間にある他のレベルを占める。
【0011】現在実行中のタスクの領域属性は領域レジ
スタに記憶されている。1つのオブジェクト内でデータ
にアクセスする場合、そのオブジェクトの領域属性は、
領域レジスタに記憶された領域属性と比較される。領域
属性が両方とも同じ場合または領域レジスタの領域属性
の方が高階層レベルにある場合に、アクセスが可能にな
る。それ以外の場合は、アクセスは不可能である。
スタに記憶されている。1つのオブジェクト内でデータ
にアクセスする場合、そのオブジェクトの領域属性は、
領域レジスタに記憶された領域属性と比較される。領域
属性が両方とも同じ場合または領域レジスタの領域属性
の方が高階層レベルにある場合に、アクセスが可能にな
る。それ以外の場合は、アクセスは不可能である。
【0012】アドレス・レジスタはベース・レジスタと
オフセット・レジスタから構成される。ベース・レジス
タは、アドレスの高位ビットを保持し、オフセット・レ
ジスタはアドレスの低位ビットを保持する。単一ベース
・レジスタ内のすべてのアドレスは単一オブジェクトに
属している(ただし、これらがオブジェクトを構成する
唯一のアドレスであるとは限らない)。ベース・レジス
タがロードされて現在のベース・レジスタ値の範囲外の
メモリ位置にアクセスするときはいつも、領域レジスタ
の領域属性は、上記のようにアクセスが可能であるかど
うか決定するためにロードされるアドレス範囲を含むオ
ブジェクトの領域属性となる。アクセスが認められる場
合は、ロード動作はうまくいくが、そうでない場合に
は、ベース・アドレスはロードされない。ひとたびベー
ス・アドレスがロードされると、同じベース・レジスタ
・アドレスへのその後のメモリ・アクセスのアクセス権
を必ずしも検査する必要はない。したがって、本発明に
よるアクセス検査は、オフセット・レジスタのアドレス
範囲内のすべてのアクセスにたいして1度だけ行なわれ
る。
オフセット・レジスタから構成される。ベース・レジス
タは、アドレスの高位ビットを保持し、オフセット・レ
ジスタはアドレスの低位ビットを保持する。単一ベース
・レジスタ内のすべてのアドレスは単一オブジェクトに
属している(ただし、これらがオブジェクトを構成する
唯一のアドレスであるとは限らない)。ベース・レジス
タがロードされて現在のベース・レジスタ値の範囲外の
メモリ位置にアクセスするときはいつも、領域レジスタ
の領域属性は、上記のようにアクセスが可能であるかど
うか決定するためにロードされるアドレス範囲を含むオ
ブジェクトの領域属性となる。アクセスが認められる場
合は、ロード動作はうまくいくが、そうでない場合に
は、ベース・アドレスはロードされない。ひとたびベー
ス・アドレスがロードされると、同じベース・レジスタ
・アドレスへのその後のメモリ・アクセスのアクセス権
を必ずしも検査する必要はない。したがって、本発明に
よるアクセス検査は、オフセット・レジスタのアドレス
範囲内のすべてのアクセスにたいして1度だけ行なわれ
る。
【0013】
【実施例】本発明の実施例のコンピュータ・システム1
00の主な構成要素の構成図が図1に示される。中央演
算処理装置(CPU)101は、算術論理演算機構(A
LU)102、マイクロコード制御記憶機構107およ
び複数のレジスタ103、104、105、106から
成る。複数のレジスタは領域レジスタ103、ベース・
アドレス・レジスタ104、およびオフセット・アドレ
ス・レジスタ105を含む。CPU101はメモリ・ア
ドレス・バス111とメモリ・データ・バス112を介
してランダム・アクセス・システム・メモリ110と通
信する。CPU101とシステム・メモリ110はシス
テム入出力バス113に接続される。入出力制御機構1
20はシステム入出力バス113に接続されており、そ
のバスを介して制御機構120はCPU101とシステ
ム・メモリ110に通じている。入出力制御機構120
は記憶バス121を介して不揮発性大容量記憶装置12
2と123へのアクセスを制御する。1つの入出力制御
機構と2つの記憶装置が図1に示してあるが、システム
入出力バス113に接続された入出力制御機構の設置数
と各入出力制御機構に接続された記憶装置の設置数は変
えることができる。他の入出力装置をシステム入出力バ
ス113に接続することも、複数の入出力バスをシステ
ムに接続することもできる。
00の主な構成要素の構成図が図1に示される。中央演
算処理装置(CPU)101は、算術論理演算機構(A
LU)102、マイクロコード制御記憶機構107およ
び複数のレジスタ103、104、105、106から
成る。複数のレジスタは領域レジスタ103、ベース・
アドレス・レジスタ104、およびオフセット・アドレ
ス・レジスタ105を含む。CPU101はメモリ・ア
ドレス・バス111とメモリ・データ・バス112を介
してランダム・アクセス・システム・メモリ110と通
信する。CPU101とシステム・メモリ110はシス
テム入出力バス113に接続される。入出力制御機構1
20はシステム入出力バス113に接続されており、そ
のバスを介して制御機構120はCPU101とシステ
ム・メモリ110に通じている。入出力制御機構120
は記憶バス121を介して不揮発性大容量記憶装置12
2と123へのアクセスを制御する。1つの入出力制御
機構と2つの記憶装置が図1に示してあるが、システム
入出力バス113に接続された入出力制御機構の設置数
と各入出力制御機構に接続された記憶装置の設置数は変
えることができる。他の入出力装置をシステム入出力バ
ス113に接続することも、複数の入出力バスをシステ
ムに接続することもできる。
【0014】本実施例では、コンピュータ・システム1
00はIBM AS/400コンピュータ・システムで
あるが、他のコンピュータ・システムも使用できる。こ
のシステムでは、1つのアドレスが48ビットを含み、
システムに大きな仮想アドレス空間201を作りだす。
システムの仮想アドレス空間201の部分の例を図2に
示す。システムのアドレス空間のアドレスの数は、メモ
リまたは記憶装置に物理的に存在しているアドレス可能
位置の数よりもはるかに大きい。システムに記憶され
た、プログラムを含むすべてのデータはオブジェクトに
含まれている。1つのオブジェクトが作られると、その
オブジェクトには永続的に仮想メモリアドレスの範囲が
割り当てられる。仮想メモリアドレスがセグメント21
0、220、230、240で割り当てられ、各セグメ
ントは64のアドレスを含む。各々が同じ32の高位ア
ドレスビットのアドレスからなるセグメントは1つのア
ドレスの32の高位ビットにより識別される。セグメン
ト内のアドレスのオフセットはアドレスの16の低位ビ
ットにより識別される。各セグメントの最初の16バイ
トはセグメント・ヘッダ211、221、231、24
1に割り当てられる。ヘッダのバイト7と8は、セグメ
ントが属するオブジェクトの領域属性212、222、
232、242を含む。データ213、223、23
3、243がセグメント・ヘッダ211、221、23
1、241に続き、このデータ213、223、23
3、243は機械命令に相当する。
00はIBM AS/400コンピュータ・システムで
あるが、他のコンピュータ・システムも使用できる。こ
のシステムでは、1つのアドレスが48ビットを含み、
システムに大きな仮想アドレス空間201を作りだす。
システムの仮想アドレス空間201の部分の例を図2に
示す。システムのアドレス空間のアドレスの数は、メモ
リまたは記憶装置に物理的に存在しているアドレス可能
位置の数よりもはるかに大きい。システムに記憶され
た、プログラムを含むすべてのデータはオブジェクトに
含まれている。1つのオブジェクトが作られると、その
オブジェクトには永続的に仮想メモリアドレスの範囲が
割り当てられる。仮想メモリアドレスがセグメント21
0、220、230、240で割り当てられ、各セグメ
ントは64のアドレスを含む。各々が同じ32の高位ア
ドレスビットのアドレスからなるセグメントは1つのア
ドレスの32の高位ビットにより識別される。セグメン
ト内のアドレスのオフセットはアドレスの16の低位ビ
ットにより識別される。各セグメントの最初の16バイ
トはセグメント・ヘッダ211、221、231、24
1に割り当てられる。ヘッダのバイト7と8は、セグメ
ントが属するオブジェクトの領域属性212、222、
232、242を含む。データ213、223、23
3、243がセグメント・ヘッダ211、221、23
1、241に続き、このデータ213、223、23
3、243は機械命令に相当する。
【0015】1 つのオブジェクトにはアドレス空間の2
つ以上のセグメントが割り当てられているが、任意の特
定のセグメント内のすべてのアドレスは同じオブジェク
トに属している。オブジェクトの第1のセグメントは、
基本セグメントである。そのオブジェクトの他のすべて
のセグメントは基本セグメントを示すポインタを含み、
それらのセグメントが属するオブジェクトを識別する
(同じオブジェクトに属するセグメントは必ずしも連続
していない)。仮想メモリは複数の64Kセグメントに
割り当てられているので、すべてのアドレス空間がデー
タに必ずしも使用されるわけではない。セグメント22
0と230は部分的にしか使用されていない。処理手
順、すなわち、機械命令の集合を含むセグメントもあ
る。セグメント220は処理手順223を含む。各処理
手順223は2バイト実行領域属性224を含む。
つ以上のセグメントが割り当てられているが、任意の特
定のセグメント内のすべてのアドレスは同じオブジェク
トに属している。オブジェクトの第1のセグメントは、
基本セグメントである。そのオブジェクトの他のすべて
のセグメントは基本セグメントを示すポインタを含み、
それらのセグメントが属するオブジェクトを識別する
(同じオブジェクトに属するセグメントは必ずしも連続
していない)。仮想メモリは複数の64Kセグメントに
割り当てられているので、すべてのアドレス空間がデー
タに必ずしも使用されるわけではない。セグメント22
0と230は部分的にしか使用されていない。処理手
順、すなわち、機械命令の集合を含むセグメントもあ
る。セグメント220は処理手順223を含む。各処理
手順223は2バイト実行領域属性224を含む。
【0016】概念上は、本発明は、図3に示すように複
数の保護領域と階層保護領域レベルを設置している。各
領域は単一の階層レベルを占めている。ただし、2つ以
上の保護領域がそのレベルを占めることもできる。シス
テムに含まれた各オブジェクトは保護領域に含まれてお
り、システムで動作する各タスクは保護領域で実行され
る。レベルNを含む保護領域が、N以下のレベルを占め
る保護領域に配置された任意のオブジェクトにアクセス
可能であるという意味において、保護領域レベルは階層
的である。逆に、Nより大きいレベルを占める保護領域
に配置されたオブジェクトにアクセスすることはできな
い。同じ階層レベルN内では、タスクはそれが実行され
ている領域に含まれたオブジェクトにアクセスできる
が、そのレベルの他の領域に含まれたオブジェクトには
アクセスできない。
数の保護領域と階層保護領域レベルを設置している。各
領域は単一の階層レベルを占めている。ただし、2つ以
上の保護領域がそのレベルを占めることもできる。シス
テムに含まれた各オブジェクトは保護領域に含まれてお
り、システムで動作する各タスクは保護領域で実行され
る。レベルNを含む保護領域が、N以下のレベルを占め
る保護領域に配置された任意のオブジェクトにアクセス
可能であるという意味において、保護領域レベルは階層
的である。逆に、Nより大きいレベルを占める保護領域
に配置されたオブジェクトにアクセスすることはできな
い。同じ階層レベルN内では、タスクはそれが実行され
ている領域に含まれたオブジェクトにアクセスできる
が、そのレベルの他の領域に含まれたオブジェクトには
アクセスできない。
【0017】本実施例によると、図3に示すように5つ
の保護領域レベルがある。最高レベル301は単一汎用
領域310により占められている。この領域は領域属性
FFFF(16進数)をもつすべてのオブジェクトから
構成される。汎用領域は、最も基本的で保護されたオペ
レーティング・システム機能のために予約されている。
この領域属性をもつオブジェクトはアクセスが最も制限
されているが、この領域で実行中のタスクはシステム全
体を通してオブジェクトに汎用アクセスを実行できる。
離散システム領域レベルに指定された第4のレベル30
2は、8001とFFFE(16進数)間の領域属性に
より表された複数の離散システム領域320、321、
322を含む。この領域属性の範囲では、このレベルで
32574個もの属性を定義できるが、一般に、実際に
使用されるのはこの領域の数よりはるかに少ない。この
レベルは、大半のユーザから保護される必要はあるが、
基本的なシステム機能への汎用アクセスは必要としない
システム・タスクとデータ用に主に意図されている。
の保護領域レベルがある。最高レベル301は単一汎用
領域310により占められている。この領域は領域属性
FFFF(16進数)をもつすべてのオブジェクトから
構成される。汎用領域は、最も基本的で保護されたオペ
レーティング・システム機能のために予約されている。
この領域属性をもつオブジェクトはアクセスが最も制限
されているが、この領域で実行中のタスクはシステム全
体を通してオブジェクトに汎用アクセスを実行できる。
離散システム領域レベルに指定された第4のレベル30
2は、8001とFFFE(16進数)間の領域属性に
より表された複数の離散システム領域320、321、
322を含む。この領域属性の範囲では、このレベルで
32574個もの属性を定義できるが、一般に、実際に
使用されるのはこの領域の数よりはるかに少ない。この
レベルは、大半のユーザから保護される必要はあるが、
基本的なシステム機能への汎用アクセスは必要としない
システム・タスクとデータ用に主に意図されている。
【0018】この第3のレベル303、共通システム領
域レベルは、8000(16進数)の領域属性をもつ共
通システム領域として示された単一領域330により占
められている。この領域は、システム・スタックまたは
ヒープなど離散システム領域レベルで実行中のタスク中
で共有されたデータ用に主に意図されている。第3のレ
ベル304、離散問題領域は、0002と7FFF(1
6進数)の間の領域属性で表わされる複数の離散問題領
域340、341、342を有している。離散システム
領域レベルの場合のように、多くの個別の領域を定義す
ることができるが、実際に使用されるのは極めてわずか
であろう。離散問題領域レベルは、他のタスクによるア
クセスから保護されるのが望ましいユーザ・タスクとデ
ータ用のものである。最下位レベル305は共通問題領
域レベルであり、0001(16進数)の領域属性をも
つ、共通問題領域と示された単一領域350により占め
られている。このレベルは、すべてのタスクがアクセス
する、処理手順を含むデータ用のものである。
域レベルは、8000(16進数)の領域属性をもつ共
通システム領域として示された単一領域330により占
められている。この領域は、システム・スタックまたは
ヒープなど離散システム領域レベルで実行中のタスク中
で共有されたデータ用に主に意図されている。第3のレ
ベル304、離散問題領域は、0002と7FFF(1
6進数)の間の領域属性で表わされる複数の離散問題領
域340、341、342を有している。離散システム
領域レベルの場合のように、多くの個別の領域を定義す
ることができるが、実際に使用されるのは極めてわずか
であろう。離散問題領域レベルは、他のタスクによるア
クセスから保護されるのが望ましいユーザ・タスクとデ
ータ用のものである。最下位レベル305は共通問題領
域レベルであり、0001(16進数)の領域属性をも
つ、共通問題領域と示された単一領域350により占め
られている。このレベルは、すべてのタスクがアクセス
する、処理手順を含むデータ用のものである。
【0019】本実施例によると、各オブジェクトは2バ
イト領域属性を含む。領域属性はオブジェクトが属する
領域を定義する。領域それ自体は概念上のものであり、
メモリの特定のアドレス位置を占めているものではな
い。1つの領域は、特定の領域属性をもつすべてのオブ
ジェクトの集合にすぎない。領域レジスタ103は、タ
スクが実行されている領域を識別する、現在実行中のタ
スクの領域属性を含む。タスクは処理に過ぎず、様々な
オブジェクトと領域内に配置された複数の処理手順(機
械命令の集合)の呼出しと実行を要求するものである。
タスクが実行されている領域は固定されてないが、様々
な処理手順が呼び出されて追い出されるに応じて変化す
る。各処理手順のコードは実行領域属性224を含み、
処理手順が実行される領域を指定する。この実行領域属
性224は、処理手順の機械読み取り可能命令を含むオ
ブジェクトの領域属性222と同じものである必要は必
ずしもない。
イト領域属性を含む。領域属性はオブジェクトが属する
領域を定義する。領域それ自体は概念上のものであり、
メモリの特定のアドレス位置を占めているものではな
い。1つの領域は、特定の領域属性をもつすべてのオブ
ジェクトの集合にすぎない。領域レジスタ103は、タ
スクが実行されている領域を識別する、現在実行中のタ
スクの領域属性を含む。タスクは処理に過ぎず、様々な
オブジェクトと領域内に配置された複数の処理手順(機
械命令の集合)の呼出しと実行を要求するものである。
タスクが実行されている領域は固定されてないが、様々
な処理手順が呼び出されて追い出されるに応じて変化す
る。各処理手順のコードは実行領域属性224を含み、
処理手順が実行される領域を指定する。この実行領域属
性224は、処理手順の機械読み取り可能命令を含むオ
ブジェクトの領域属性222と同じものである必要は必
ずしもない。
【0020】あるタスクが新しい処理手順を呼び出すと
きに、そのタスクは必要な任意の他のデータにアクセス
可能でなければならないのと同様に処理手順の機械読取
り可能命令にアクセス可能でなければならない。したが
って、呼び出された処理手順を構成する命令は、そのタ
スクがアクセスするオブジェクトに含まれてなければな
らない。処理手順を含むオブジェクトへのアクセスは、
上記のように、任意の他のデータを含むオブジェクトへ
のアクセスと同じ条件下で可能になる。処理手順へのア
クセスが可能になると、処理手順に含まれた実行領域属
性(処理手順を含むオブジェクトの領域属性と必ずしも
同じである必要はない)は領域レジスタ103にロード
される。したがって、その処理手順はその実行領域属性
により指定された領域で実行される。領域レジスタ10
3における以前の領域属性値は、呼び出されている処理
手順から戻るとともにタスク実行を継続するのに必要な
他の状態変数とともに安全なスタックにセーブされる。
その処理手順から戻ると、そのスタックにセーブされた
領域属性値は領域レジスタに復帰する。ある処理手順に
記憶されている0000(16進数)の実行領域属性は
領域の継承を示す。この場合、その処理手順はそれを呼
び出したタスクの領域で実行される。こうした処理手順
が呼び出されると、0000(16進数)の記憶された
実行領域は、領域レジスタの値を変更しないようにシス
テムを指示する。
きに、そのタスクは必要な任意の他のデータにアクセス
可能でなければならないのと同様に処理手順の機械読取
り可能命令にアクセス可能でなければならない。したが
って、呼び出された処理手順を構成する命令は、そのタ
スクがアクセスするオブジェクトに含まれてなければな
らない。処理手順を含むオブジェクトへのアクセスは、
上記のように、任意の他のデータを含むオブジェクトへ
のアクセスと同じ条件下で可能になる。処理手順へのア
クセスが可能になると、処理手順に含まれた実行領域属
性(処理手順を含むオブジェクトの領域属性と必ずしも
同じである必要はない)は領域レジスタ103にロード
される。したがって、その処理手順はその実行領域属性
により指定された領域で実行される。領域レジスタ10
3における以前の領域属性値は、呼び出されている処理
手順から戻るとともにタスク実行を継続するのに必要な
他の状態変数とともに安全なスタックにセーブされる。
その処理手順から戻ると、そのスタックにセーブされた
領域属性値は領域レジスタに復帰する。ある処理手順に
記憶されている0000(16進数)の実行領域属性は
領域の継承を示す。この場合、その処理手順はそれを呼
び出したタスクの領域で実行される。こうした処理手順
が呼び出されると、0000(16進数)の記憶された
実行領域は、領域レジスタの値を変更しないようにシス
テムを指示する。
【0021】処理手順へのアクセスはある属性(その処
理手順を含むオブジェクトの領域属性)により管理さ
れ、実行中に処理手順がもつことになるデータへのアク
セスは他の属性(その処理手順に記憶された実行領域属
性)により管理される。したがって、かなり柔軟な処理
動作が可能である。たとえば、しばしばユーザが要求す
る比較的基本的なシステム処理手順は、共通問題領域の
オブジェクトに記憶可能であるので、システム・スタッ
クなどの必要なデータ構造にアクセスする、より高いレ
ベル実行領域属性をもっている間は、汎用アクセスを可
能にする。継承された実行領域属性(0000 16進
数)を使用すれば、柔軟性は高まりより全体的に処理手
順が支援される。
理手順を含むオブジェクトの領域属性)により管理さ
れ、実行中に処理手順がもつことになるデータへのアク
セスは他の属性(その処理手順に記憶された実行領域属
性)により管理される。したがって、かなり柔軟な処理
動作が可能である。たとえば、しばしばユーザが要求す
る比較的基本的なシステム処理手順は、共通問題領域の
オブジェクトに記憶可能であるので、システム・スタッ
クなどの必要なデータ構造にアクセスする、より高いレ
ベル実行領域属性をもっている間は、汎用アクセスを可
能にする。継承された実行領域属性(0000 16進
数)を使用すれば、柔軟性は高まりより全体的に処理手
順が支援される。
【0022】CPUが命令参照メモリを起動すると、オ
ペランドの仮想アドレスはベース・レジスタ104とオ
フセット・レジスタ105に保持される。ベース・レジ
スタ104は、アドレスを含むセグメントを識別する高
位アドレスビットを保持する32ビット・レジスタであ
る。オフセット・レジスタ105は、セグメント内のア
ドレスのオフセットを識別する低位アドレス・ビットを
保持する16ビット・レジスタである。オフセット・レ
ジスタ105はベース・レジスタ104とは独立してロ
ード可能である。レジスタ104と105に記憶された
仮想アドレスは、図4に示すように、システム・メモリ
の物理アドレスに変換される。ベース・レジスタ104
の32ビットとオフセット・レジスタ105の高位7ビ
ットは、39ビット識別子401を形成する。この39
ビット識別子401は、データを含むシステム・メモリ
のページ(512バイト)を選択するのに使用される。
最も最近参照されたページはルック・アサイド・バッフ
ァ402に保持される。ルック・アサイド・バッファ4
02に含まれてない入力は、ハッシュ・テーブルを介し
てシステム・メモリのページ入力を含む基本ディレクト
リにアクセスされる。ルック・アサイド・バッファまた
は基本ディレクトリにおける39個の高位仮想アドレス
・ビットにたいして入力が見つからない場合、ページの
障害が発生し、そのページが記憶機構122、123か
らシステム・メモリ110にもたらされる。そのページ
・アドレスは、オフセット・レジスタ105の低位9ビ
ットと連結されており、物理メモリ・アドレス404を
作成する。その物理メモリ・アドレス404はメモリ・
アドレス・バス111を介してシステム・メモリ110
に送られる。
ペランドの仮想アドレスはベース・レジスタ104とオ
フセット・レジスタ105に保持される。ベース・レジ
スタ104は、アドレスを含むセグメントを識別する高
位アドレスビットを保持する32ビット・レジスタであ
る。オフセット・レジスタ105は、セグメント内のア
ドレスのオフセットを識別する低位アドレス・ビットを
保持する16ビット・レジスタである。オフセット・レ
ジスタ105はベース・レジスタ104とは独立してロ
ード可能である。レジスタ104と105に記憶された
仮想アドレスは、図4に示すように、システム・メモリ
の物理アドレスに変換される。ベース・レジスタ104
の32ビットとオフセット・レジスタ105の高位7ビ
ットは、39ビット識別子401を形成する。この39
ビット識別子401は、データを含むシステム・メモリ
のページ(512バイト)を選択するのに使用される。
最も最近参照されたページはルック・アサイド・バッフ
ァ402に保持される。ルック・アサイド・バッファ4
02に含まれてない入力は、ハッシュ・テーブルを介し
てシステム・メモリのページ入力を含む基本ディレクト
リにアクセスされる。ルック・アサイド・バッファまた
は基本ディレクトリにおける39個の高位仮想アドレス
・ビットにたいして入力が見つからない場合、ページの
障害が発生し、そのページが記憶機構122、123か
らシステム・メモリ110にもたらされる。そのページ
・アドレスは、オフセット・レジスタ105の低位9ビ
ットと連結されており、物理メモリ・アドレス404を
作成する。その物理メモリ・アドレス404はメモリ・
アドレス・バス111を介してシステム・メモリ110
に送られる。
【0023】メモリの参照が(ベース・レジスタ104
の値により識別された)現仮想メモリ・セグメントの外
で行なわれると、新しいセグメント値がベース・レジス
タ104にロードされなければならない。ロード/検査
タグ(LVT)と呼ばれる命令は新しいセグメント値を
ベース・レジスタにロードすると同時にいくつかの検査
機能を実行する。本実施例によると、LVT命令が実行
されるときプロセッサにより実行された機能の1つは、
アクセス権限の検査である。以前記載したように、所与
のセグメント内のすべてのアドレスは同じオブジェクト
に属しているので、同じアクセス状態下にある。LVT
命令が実行されるときアクセス権を検査することによ
り、アクセスは、ベース・レジスタにロードされている
新しい値により識別されたセグメント全体にたいして検
査される。アクセス権を再び検査することなく同じセグ
メント内で複数のメモリ参照を実施することができる。
の値により識別された)現仮想メモリ・セグメントの外
で行なわれると、新しいセグメント値がベース・レジス
タ104にロードされなければならない。ロード/検査
タグ(LVT)と呼ばれる命令は新しいセグメント値を
ベース・レジスタにロードすると同時にいくつかの検査
機能を実行する。本実施例によると、LVT命令が実行
されるときプロセッサにより実行された機能の1つは、
アクセス権限の検査である。以前記載したように、所与
のセグメント内のすべてのアドレスは同じオブジェクト
に属しているので、同じアクセス状態下にある。LVT
命令が実行されるときアクセス権を検査することによ
り、アクセスは、ベース・レジスタにロードされている
新しい値により識別されたセグメント全体にたいして検
査される。アクセス権を再び検査することなく同じセグ
メント内で複数のメモリ参照を実施することができる。
【0024】各メモリ参照を用いるよりも各セグメント
に1度アクセス権の検査を行なえば、システム性能が向
上するだけでなく、より複雑な領域構造が可能になる。
各メモリ参照を検査するシステムはより単純な領域構造
に限られる。離散的または階層的な従来の領域構造は、
アクセス権を検査するために単純な演算が必要である。
本発明には複数の階層レベルで複数の離散領域を含む。
したがって、アクセス検査には2つ以上の演算が必要で
ある。アクセス検査は各セグメントに1度だけ実行され
るので、複数ステップ検査処理が可能である。
に1度アクセス権の検査を行なえば、システム性能が向
上するだけでなく、より複雑な領域構造が可能になる。
各メモリ参照を検査するシステムはより単純な領域構造
に限られる。離散的または階層的な従来の領域構造は、
アクセス権を検査するために単純な演算が必要である。
本発明には複数の階層レベルで複数の離散領域を含む。
したがって、アクセス検査には2つ以上の演算が必要で
ある。アクセス検査は各セグメントに1度だけ実行され
るので、複数ステップ検査処理が可能である。
【0025】図5は、現在実行中のタスクがあるオブジ
ェクトに含まれたアドレスにアクセス可能かどうかを決
定するのに必要な工程を示す判断トリーである。領域レ
ジスタ103に記憶されたタスクの領域属性はオブジェ
クトの領域属性と比較される。2つの領域属性が等しい
場合(501)はアクセスが可能である。そうでない場
合はタスク属性の高位ビットが検査される(502)。
タスク属性の高位ビットが1である場合、15個の低位
ビットが7FFF(16進数)と比較され(503)、
等しい場合はアクセスが可能である。等しくない場合は
オブジェクト属性が8000(16進数)と比較される
(504)。8000(16進数)以下の場合(50
4)はアクセスが可能になる。そうでなければ、アクセ
スは否定される。502で検査されたタスク属性の高位
ビットが0である場合、オブジェクト属性は0001
(16進数)と比較される(505)。等しい場合、ア
クセスは可能になる。そうでない場合、アクセスは否定
される。図5の判断トリーは、本発明によりアクセス検
査を実施する1つの方法にすぎない。多くの代替の判断
トリーがあることは当分野の技術者の理解するところで
あろう。
ェクトに含まれたアドレスにアクセス可能かどうかを決
定するのに必要な工程を示す判断トリーである。領域レ
ジスタ103に記憶されたタスクの領域属性はオブジェ
クトの領域属性と比較される。2つの領域属性が等しい
場合(501)はアクセスが可能である。そうでない場
合はタスク属性の高位ビットが検査される(502)。
タスク属性の高位ビットが1である場合、15個の低位
ビットが7FFF(16進数)と比較され(503)、
等しい場合はアクセスが可能である。等しくない場合は
オブジェクト属性が8000(16進数)と比較される
(504)。8000(16進数)以下の場合(50
4)はアクセスが可能になる。そうでなければ、アクセ
スは否定される。502で検査されたタスク属性の高位
ビットが0である場合、オブジェクト属性は0001
(16進数)と比較される(505)。等しい場合、ア
クセスは可能になる。そうでない場合、アクセスは否定
される。図5の判断トリーは、本発明によりアクセス検
査を実施する1つの方法にすぎない。多くの代替の判断
トリーがあることは当分野の技術者の理解するところで
あろう。
【0026】本実施例によると、第5図の判断トリー
は、システム・マイクロコード107で実施される。マ
イクロコードにおける判断トリーの実施により設計とそ
の後の修正が一層柔軟に行なえる。さらに、各メモリ参
照によるのではなく、現在の仮想メモリが変化するとき
に限りアクセスは検査されるので、マイクロコード化さ
れた実施例の性能上の衝撃は最小のものである。他の実
施例として、こうした判断トリーはハードウェアにより
実施することもできる。当分野の技術者に周知の共通技
術を使用すれば、こうした判断トリーをマイクロコード
またはハードウェアで実施できる。
は、システム・マイクロコード107で実施される。マ
イクロコードにおける判断トリーの実施により設計とそ
の後の修正が一層柔軟に行なえる。さらに、各メモリ参
照によるのではなく、現在の仮想メモリが変化するとき
に限りアクセスは検査されるので、マイクロコード化さ
れた実施例の性能上の衝撃は最小のものである。他の実
施例として、こうした判断トリーはハードウェアにより
実施することもできる。当分野の技術者に周知の共通技
術を使用すれば、こうした判断トリーをマイクロコード
またはハードウェアで実施できる。
【0027】本明細書で記載されたオブジェクト保全性
を実現するための領域の利用により、オブジェクト内に
含まれたデータへの直接的な参照が可能になる。本発明
によると、たとえば、ポインタ・ベース・コンピュータ
言語に書き込まれた処理手順は、オブジェクトにアクセ
スするために呼出しレベル・インターフェース処理手順
を呼び出すことなく、こうしたデータに直接アクセスで
きる。システムが本明細書に記載された領域構造をもっ
ているとしても、システム内のオブジェクトへの呼出し
レベル・インターフェースは依然として存在している。
本発明の直接データ・アクセス代替法により、いくつか
の処理手順の性能が改善されることになる。 実施例に
おいて5つの階層保護領域レベルが設定され、その内3
つのレベルはされぞれ単一の保護領域が占めているが、
本発明は、レベルと領域の数を多くしても少なくしても
実施できる。たとえば、他の実施例では、3つのレベル
があり、第1と第3のレベルは単一領域により占めら
れ、中間レベルは複数の離散領域により占められる。共
通レベル(単一領域により占められる)と複数の離散領
域により占められたレベルのインターリーブを取る必要
はない。他の実施例では、3以上のレベルがあり、最高
のレベルは、汎用アクセスを要求するシステム機能用の
共通レベルであり、残りのレベルは複数の離散領域によ
り占められている。本発明の実施例はいくつかの代替例
とともに開示されたが、当分野の技術者には当然のこと
ながら、形式および詳細の変更は特許請求の範囲内で可
能である。
を実現するための領域の利用により、オブジェクト内に
含まれたデータへの直接的な参照が可能になる。本発明
によると、たとえば、ポインタ・ベース・コンピュータ
言語に書き込まれた処理手順は、オブジェクトにアクセ
スするために呼出しレベル・インターフェース処理手順
を呼び出すことなく、こうしたデータに直接アクセスで
きる。システムが本明細書に記載された領域構造をもっ
ているとしても、システム内のオブジェクトへの呼出し
レベル・インターフェースは依然として存在している。
本発明の直接データ・アクセス代替法により、いくつか
の処理手順の性能が改善されることになる。 実施例に
おいて5つの階層保護領域レベルが設定され、その内3
つのレベルはされぞれ単一の保護領域が占めているが、
本発明は、レベルと領域の数を多くしても少なくしても
実施できる。たとえば、他の実施例では、3つのレベル
があり、第1と第3のレベルは単一領域により占めら
れ、中間レベルは複数の離散領域により占められる。共
通レベル(単一領域により占められる)と複数の離散領
域により占められたレベルのインターリーブを取る必要
はない。他の実施例では、3以上のレベルがあり、最高
のレベルは、汎用アクセスを要求するシステム機能用の
共通レベルであり、残りのレベルは複数の離散領域によ
り占められている。本発明の実施例はいくつかの代替例
とともに開示されたが、当分野の技術者には当然のこと
ながら、形式および詳細の変更は特許請求の範囲内で可
能である。
【図1】本発明の実施例によるコンピュータ・システム
の主要構成要素を示す構成図。
の主要構成要素を示す構成図。
【図2】本発明の実施例によるシステムのアドレス空間
の代表的な部分を示す図。
の代表的な部分を示す図。
【図3】本発明の実施例による階層保護領域レベルと保
護領域の構成図。
護領域の構成図。
【図4】実施例によるベースおよびオフセット・レジス
タからのアドレスの流れを示す図。
タからのアドレスの流れを示す図。
【図5】アクセスを許諾するかどうかの判定に関わる工
程を示す決定木の図。
程を示す決定木の図。
100 コンピュータ・システム 102 ALU 103 領域レジスタ 104 ベース・レジスタ 105 オフセット・レジスタ 106 レジスタ 107 マイクロコード 110 システム・メモリ 111 メモリ・アドレス・バス 112 メモリ・データ・バス 113 入出力バス 120 入出力制御機構 201 仮想アドレス空間 223 処理手順 310 単一汎用領域 320、321、322 離散システム領域 330 共通システム領域 340、341、342 離散問題領域 350 共通問題領域
フロントページの続き (72)発明者 ジェームズ、グレゴリー、ランウェイラー アメリカ合衆国ミネソタ州、ロチェスタ ー、グレンクロフト、レーン、エス、ダブ リュ、5720 (72)発明者 ジョージ、デイビッド、ティムズ アメリカ合衆国ミネソタ州、ロチェスタ ー、ノール、コート、エヌ、ダブリュ、 1129
Claims (26)
- 【請求項1】複数のオブジェクトに含まれたデータをも
つコンピュータ・システムにおいて、 前記複数のオブ
ジェクトを記憶する手段と、前記オブジェクトに含まれ
たデータへのアクセスを要求する複数のタスクを実行す
る手段と、複数の階層保護領域レベルと、前記階層レベ
ルの1つをそれぞれが占める複数の保護領域と、タスク
が1つのオブジェクトに含まれたデータにアクセス可能
かどうかを決定する手段と、前記データにアクセスする
ために、タスクが1つのオブジェクトに含まれたデータ
にアクセス可能かどうかを決定する前記手段に応答する
手段とを、備え、前記保護領域の少なくとも2つは同じ
階層レベルを占め、実行中の前記タスクはそれぞれ前記
保護領域の1つで実行され、前記記憶された各オブジェ
クトは前記保護領域の1つに含まれており、前記決定す
る手段は、タスクが実行されている保護領域がアクセス
すべきデータが含まれたオブジェクトを含む領域である
場合または前記タスクが実行されている保護領域が前記
オブジェクトを含む領域より高い階層レベルを占める場
合には、前記タスクが前記データにアクセス可能である
と決定することを特徴とするコンピュータ・システム。 - 【請求項2】タスクがオブジェクトに含まれたデータに
アクセス可能かどうかを決定する前記手段は、領域属性
を各領域に関連づける手段と、前記タスクがデータにア
クセス可能かどうかを決定するために、前記タスクが実
行されている領域に関連した領域属性と前記オブジェク
トを含む領域に関連づけられた領域属性を比較する手段
とを備えていることを特徴とする請求項2記載のコンピ
ュータ・システム。 - 【請求項3】前記記憶された各オブジェクトは、領域を
識別する領域属性を含み、前記オブジェクト含む保護領
域が、前記領域属性により識別された領域であると定義
されることを特徴とする請求項1記載のコンピュータ・
システム。 - 【請求項4】前記実行される各タスクは領域を識別する
領域属性に関連づけられ、タスクがオブジェクトに含ま
れたデータにアクセス可能かどうかを決定する前記手段
は前記タスクがデータにアクセス可能かどうかを決定す
るために前記タスクに関連づけられた領域属性と前記オ
ブジェクトに含まれた領域属性を比較する手段を備えて
いることを特徴とする請求項3記載のコンピュータ・シ
ステム。 - 【請求項5】前記タスクの実行中にタスクに関連づけら
れた領域属性を変更する手段を含むことを特徴とする請
求項4記載のコンピュータ・システム。 - 【請求項6】タスクに関連づけられた領域属性を変更す
る前記手段は、オブジェクトに含まれた複数の処理手順
と、前記処理手順のそれぞれに実行領域属性を関連づけ
る手段と、タスクが処理手順を呼び出したときに前記タ
スクに関連づけられた領域属性を前記処理手順に関連づ
けられた実行領域属性に代替する手段とを備えているこ
とを特徴とする請求項5記載のコンピュータ・システ
ム。 - 【請求項7】各々が複数のアドレス位置を有するセグメ
ントに分割できるアドレス空間を備え、前記各オブジェ
クトは1つまたは複数の前記セグメントを含み、タスク
がオブジェクトに含まれたデータにアクセス可能かどう
かを決定する前記手段は、前記オブジェクトに含まれた
セグメント内の第1データ位置にアクセスする要求に応
えてこうした決定を下し、オブジェクトに含まれたデー
タにアクセスする前記手段は、タスクがオブジェクトに
含まれたデータにアクセス可能かどうかを決定する前記
手段を用いないで、前記第1データ位置のアクセスに続
いて前記セグメント内の第2のデータ位置に含まれたデ
ータに直接アクセスする手段を備えていることを特徴と
する請求項1記載のコンピュータ・システム。 - 【請求項8】前記階層保護領域レベルの最下位のレベル
は単一保護領域により占められることを特徴とする請求
項1記載のコンピュータ・システム。 - 【請求項9】前記階層保護領域レベルの少なくとも2つ
のそれぞれは、2つ以上の保護領域により占められるこ
とを特徴とする請求項1記載のコンピュータ・システ
ム。 - 【請求項10】コンピュータ・システムに記憶されたオ
ブジェクトに含まれたデータへのアクセスを、前記シス
テムで実行中のタスクにより制御する制御方法におい
て、複数の階層保護領域レベルを定める段階と、それぞ
れが前記階層レベルの1つを占める複数の保護領域を、
その保護領域の少なくとも2つが同じ階層レベルを占め
るように定める段階と、前記コンピュータ・システムに
記憶された各オブジェクトに保護領域を関連づける段階
と、タスクに関連づけられた保護領域がオブジェクトに
関連づけられた保護領域と同じ場合またはタスクに関連
づけられた保護領域がオブジェクトに関連づけられた保
護領域より高い階層レベルを占める場合に、前記システ
ムで実行中のタスクが前記システムに記憶されたオブジ
ェクトに含まれたデータにアクセス可能であると決定す
る段階と、タスクがデータにアクセス可能であると決定
する前記段階に応じて前記データにアクセスする段階と
を備えていることを特徴とする制御方法。 - 【請求項11】保護領域を各オブジェクトに関連づける
前記段階は領域属性を各オブジェクトに関連づけ、保護
領域を各タスクに関連づける前記段階は領域属性を各タ
スクに関連づけ、タスクがオブジェクトに含まれたデー
タにアクセス可能であることを決定する前記段階は、前
記タスクに関連づけられた領域属性と前記オブジェクト
に関連づけられた領域属性を比較する段階を備えている
ことを特徴とする請求項10記載の制御方法。 - 【請求項12】複数の保護領域を定める前記段階は、前
記階層保護領域の最下位を占めるような唯一の保護領域
を定めることを特徴とする請求項10記載の制御方法。 - 【請求項13】複数の保護領域を定める前記段階は、前
記階層保護領域のレベルの1つを占めるよう第1および
第2保護領域を定め、前記階層保護領域レベルの他のレ
ベルを占めるよう第3および第4保護領域を定めること
を特徴とする請求項10記載の制御方法。 - 【請求項14】コンピュータ・システムに記憶されたデ
ータへのアクセスを、前記システムで実行中のタスクに
より、制御する制御装置において、複数の階層保護領域
レベルと、前記階層レベルの1つをそれぞれが占める複
数の保護領域と、タスクがデータ位置にアクセス可能か
どうかを決定する手段とを備え、前記保護領域の少なく
とも2つは同じ階層レベルを占め、最下位階層レベルは
単一領域により占められ、前記システムで実行中の前記
タスクはそれぞれ前記保護領域の1つで実行され、前記
システムの各データ位置は前記保護領域の1つに含ま
れ、前記決定する手段は、タスクが実行されている保護
領域がアクセスすべきデータが含まれたオブジェクトを
含む領域である場合または前記タスクが実行されている
保護領域が前記オブジェクトを含む領域より高い階層レ
ベルを占める場合には、前記タスクが前記データにアク
セス可能であると決定することを特徴とする制御装置。 - 【請求項15】前記各データ位置はデータを含む保護領
域を識別する領域属性に関連づけられ、 前記システム
で実行中の前記各タスクは、前記タスクを含む保護領域
を識別する領域属性に関連づけられ、タスクがデータ位
置にアクセス可能かどうかを決定する前記手段は、前記
データ位置に関連づけられた領域属性と前記タスクに関
連づけられた領域属性を比較する手段を備えていること
を特徴とする請求項14記載の制御装置。 - 【請求項16】前記タスクの実行中にタスクに関連づけ
られた領域属性を変更する手段を更に備えた請求項15
記載の制御装置。 - 【請求項17】タスクに関連づけられた領域属性を変更
する前記手段は、複数の処理手順と、実行領域属性を前
記処理手順のそれぞれに関連づける手段と、タスクが処
理手順を呼び出すと、前記タスクに関連づけられた領域
属性を前記処理手順に関連づけられた実行領域属性に代
替する手段とを備えていることを特徴とする請求項16
記載の制御装置。 - 【請求項18】前記コンピュータ・システムは複数のセ
グメントに分割可能なアドレス空間を有し、各セグメン
トはデータを記憶するための複数のデータ位置を有し、
任意の1つのセグメント内のすべてのアドレス位置は同
じ保護領域に含まれており、タスクがデータ位置をアク
セス可能かどうかを決定する前記手段は、セグメント内
の第1データ位置にアクセスする要求に応えてこうした
決定を下し、さらに、タスクがデータ位置をアクセス可
能かどうかを決定する前記手段を用いないで、前記第1
データ位置のアクセスに続いて前記セグメント内の第2
データ位置に直接アクセスする手段を備えていることを
特徴とする請求項14記載の制御装置。 - 【請求項19】コンピュータ・システムに記憶されたデ
ータへのアクセスを、前記システムで実行中のタスクに
より制御する制御装置において、複数の階層保護領域レ
ベルと、前記階層レベルの1つをそれぞれが占める複数
の保護領域と、タスクがデータ位置をアクセス可能かど
うかを決定する手段と備え、前記システムで実行中の前
記タスクのそれぞれは前記保護領域の1つで実行され、
前記システムの各データ位置が前記保護領域置1つに含
まれており、前記第1の保護領域と第2保護領域は前記
階層レベルの1つを占め、前記第3の保護領域と第4の
保護領域は前記階層レベルの他のものを占め、前記決定
する手段は、タスクが実行されている保護領域がデータ
を含む領域である場合またはタスクが実行されている保
護領域はデータを含む領域より高い階層レベルを占める
場合に、タスクがデータにアクセス可能であると決定す
ることを特徴とする制御装置。 - 【請求項20】前記データ位置はそれぞれのデータを含
む保護領域を識別する領域属性に関連づけられ、前記コ
ンピュータ・システムで実行中の前記タスクはそれぞれ
のタスクを含む保護領域を識別する領域属性に関連づけ
られ、タスクがデータ位置にアクセス可能かどうかを決
定する前記手段は、前記データ位置に関連した領域属性
を前記タスクに関連した領域属性と比較する手段を備え
ていることを特徴とする請求項19記載の制御装置。 - 【請求項21】タスクの実行中に前記タスクに関連づけ
られた領域属性を変更する手段を更に備えたことを特徴
とする請求項20記載の制御装置。 - 【請求項22】タスクに関連づけられた領域属性を変更
する前記手段は、複数の処理手順と、前記処理手順のそ
れぞれに実行領域属性を関連づける手段と、タスクが処
理手順を呼び出すとき、前記タスクに関連づけられた領
域属性を前記処理手順に関連づけられた実行領域属性と
代替する手段とを備えていることを特徴とする請求項2
1記載の制御装置。 - 【請求項23】前記コンピュータ・システムが複数のセ
グメントに分割可能なアドレス空間を有し、各セグメン
トはデータを記憶するための複数のデータ位置を有し、
任意の1つのセグメント内のすべてのアドレス位置は同
じ保護領域に含まれており、タスクがデータ位置をアク
セス可能かどうかを決定する前記手段は、セグメント内
の第1データ位置にアクセスする要求に応えてこうした
決定を下し、さらに、タスクがデータ位置をアクセス可
能かどうかを決定する前記手段を用いないで、前記第1
データ位置のアクセスに続いて前記セグメント内の第2
データ位置に直接アクセスする手段を備えていることを
特徴とする請求項19記載の制御装置。 - 【請求項24】複数のセグメントに分割可能なアドレス
空間をもつコンピュータ・システムに記憶されたデータ
へのアクセスを、前記システムで実行中のタスクにより
制御する制御装置において、複数の階層保護領域と、前
記階層レベルの1つをそれぞれ占める複数の保護領域
と、前記コンピュータ・システムに含まれたアドレスの
各セグメントに、前記セグメントが含まれる領域を識別
する領域属性を関連づける手段と、前記コンピュータ・
システムで実行中の各タスクに、前記タスクが実行中の
領域を識別する領域属性を関連づける手段と、タスクが
セグメントに含まれた第1データ位置にアクセスするか
どうかを判断するために前記セグメントの領域属性と前
記タスクの領域属性を比較する手段と、 前記比較する
手段に接続されて、前記領域属性を比較することなく、
前記第1データ位置のアクセスに続いて前記セグメント
に含まれた第2データ位置を直接アクセスする手段とを
備え、前記保護領域の少なくとも2つは同じ階層レベル
を占め、前記システムで実行中の前記タスクのそれぞれ
は前記保護領域の1つで実行され、前記システムに記憶
されたアドレスの各セグメントが前記保護領域の1つに
含まれており、前記決定する手段は、前記タスクに関連
づけられた領域属性が前記セグメントに関連づけられた
領域属性に等しい場合または前記タスクに関連づけられ
た領域属性により識別された領域が前記セグメントに関
連した領域属性により識別された領域より高い階層レベ
ルを占める場合に、タスクが前記データにアクセス可能
であると決定することを特徴とする制御装置。 - 【請求項25】前記階層保護領域レベルの最下位のもの
は単一保護領域により占められることを特徴とする請求
項24記載の制御装置。 - 【請求項26】前記階層保護領域レベルの少なくとも2
つは、それぞれ複数の保護領域により占められることを
特徴とする請求項24記載の制御装置。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US07/570,477 US5280614A (en) | 1990-08-21 | 1990-08-21 | Apparatus and method for controlling access to data using domains |
| US570477 | 2000-05-12 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH04239354A JPH04239354A (ja) | 1992-08-27 |
| JPH0736172B2 true JPH0736172B2 (ja) | 1995-04-19 |
Family
ID=24279797
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3163833A Expired - Lifetime JPH0736172B2 (ja) | 1990-08-21 | 1991-06-07 | データ使用領域へのアクセスを制御する制御装置および方法 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US5280614A (ja) |
| EP (1) | EP0472487A3 (ja) |
| JP (1) | JPH0736172B2 (ja) |
Families Citing this family (67)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5426747A (en) * | 1991-03-22 | 1995-06-20 | Object Design, Inc. | Method and apparatus for virtual memory mapping and transaction management in an object-oriented database system |
| US5627987A (en) * | 1991-11-29 | 1997-05-06 | Kabushiki Kaisha Toshiba | Memory management and protection system for virtual memory in computer system |
| US5361356A (en) * | 1992-03-06 | 1994-11-01 | International Business Machines Corporation | Storage isolation with subspace-group facility |
| US5790406A (en) * | 1995-10-20 | 1998-08-04 | International Business Machines Corporation | Hierarchical system of the simple modification of process steps for a manufacturing tool |
| US5794044A (en) * | 1995-12-08 | 1998-08-11 | Sun Microsystems, Inc. | System and method for runtime optimization of private variable function calls in a secure interpreter |
| US5845129A (en) * | 1996-03-22 | 1998-12-01 | Philips Electronics North America Corporation | Protection domains in a single address space |
| US6542919B1 (en) * | 1996-03-22 | 2003-04-01 | Koninklijke Philips Electronics N.V. | Operating system for use with protection domains in a single address space |
| US6088693A (en) * | 1996-12-06 | 2000-07-11 | International Business Machines Corporation | Data management system for file and database management |
| US6035297A (en) * | 1996-12-06 | 2000-03-07 | International Business Machines Machine | Data management system for concurrent engineering |
| US5826265A (en) * | 1996-12-06 | 1998-10-20 | International Business Machines Corporation | Data management system having shared libraries |
| US6360244B1 (en) * | 1997-04-11 | 2002-03-19 | Fujitsu Limited | System and method for multi-level memory domain protection |
| US5995750A (en) * | 1997-12-16 | 1999-11-30 | Micro Motion, Inc. | Memory protection system for a multi-tasking system |
| US6173404B1 (en) * | 1998-02-24 | 2001-01-09 | Microsoft Corporation | Software object security mechanism |
| JP2000047875A (ja) * | 1998-06-30 | 2000-02-18 | Sun Microsyst Inc | クラスロ―ダ |
| JP4051510B2 (ja) * | 1998-07-16 | 2008-02-27 | ソニー株式会社 | データ記憶装置およびデータ記憶方法 |
| JP4029234B2 (ja) * | 1998-07-16 | 2008-01-09 | ソニー株式会社 | 情報処理装置および情報処理方法 |
| EP1222537B1 (en) * | 1999-09-03 | 2005-01-12 | General Instrument Corporation | Resource access control system |
| US6782537B1 (en) | 1999-09-23 | 2004-08-24 | International Business Machines Corporation | Establishing a communicator across multiple processes in a multithreaded computing environment |
| US6748592B1 (en) | 2000-02-14 | 2004-06-08 | Xoucin, Inc. | Method and apparatus for protectively operating a data/information processing device |
| WO2001095088A1 (en) * | 2000-06-05 | 2001-12-13 | Altoweb Systems, Inc. | Converting, and presenting the source document in a target format |
| EP1225512A1 (en) * | 2001-01-19 | 2002-07-24 | Eyal Dotan | Method for protecting computer programs and data from hostile code |
| US7613930B2 (en) * | 2001-01-19 | 2009-11-03 | Trustware International Limited | Method for protecting computer programs and data from hostile code |
| EP1225513A1 (en) * | 2001-01-19 | 2002-07-24 | Eyal Dotan | Method for protecting computer programs and data from hostile code |
| 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 |
| US20040011786A1 (en) * | 2001-04-20 | 2004-01-22 | Wade Wayne Allen | Thermoplastic molded tank |
| JP2002342166A (ja) | 2001-05-15 | 2002-11-29 | Fujitsu Ltd | 情報処理装置及びアクセスレベル制御方法 |
| US7188209B2 (en) * | 2003-04-18 | 2007-03-06 | Nextio, Inc. | Apparatus and method for sharing I/O endpoints within a load store fabric by encapsulation of domain information in transaction layer packets |
| US8346884B2 (en) | 2003-01-21 | 2013-01-01 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
| US7512717B2 (en) | 2003-01-21 | 2009-03-31 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
| US7917658B2 (en) * | 2003-01-21 | 2011-03-29 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for link initialization in a shared I/O environment |
| US7953074B2 (en) | 2003-01-21 | 2011-05-31 | Emulex Design And Manufacturing Corporation | Apparatus and method for port polarity initialization in a shared I/O device |
| US7493416B2 (en) | 2003-01-21 | 2009-02-17 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
| US7836211B2 (en) * | 2003-01-21 | 2010-11-16 | Emulex Design And Manufacturing Corporation | Shared input/output load-store architecture |
| US7664909B2 (en) * | 2003-04-18 | 2010-02-16 | Nextio, Inc. | Method and apparatus for a shared I/O serial ATA controller |
| US7174413B2 (en) * | 2003-01-21 | 2007-02-06 | Nextio Inc. | Switching apparatus and method for providing shared I/O within a load-store fabric |
| US7617333B2 (en) * | 2003-01-21 | 2009-11-10 | Nextio Inc. | Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture |
| US7698483B2 (en) * | 2003-01-21 | 2010-04-13 | Nextio, Inc. | Switching apparatus and method for link initialization in a shared I/O environment |
| US8102843B2 (en) | 2003-01-21 | 2012-01-24 | Emulex Design And Manufacturing Corporation | Switching apparatus and method for providing shared I/O within a load-store fabric |
| US8032659B2 (en) * | 2003-01-21 | 2011-10-04 | Nextio Inc. | Method and apparatus for a shared I/O network interface controller |
| US7457906B2 (en) * | 2003-01-21 | 2008-11-25 | Nextio, Inc. | Method and apparatus for shared I/O in a load/store fabric |
| US7046668B2 (en) * | 2003-01-21 | 2006-05-16 | Pettey Christopher J | Method and apparatus for shared I/O in a load/store fabric |
| US7219183B2 (en) * | 2003-01-21 | 2007-05-15 | Nextio, Inc. | Switching apparatus and method for providing shared I/O within a load-store fabric |
| US7103064B2 (en) * | 2003-01-21 | 2006-09-05 | Nextio Inc. | Method and apparatus for shared I/O in a load/store fabric |
| US7502370B2 (en) | 2003-01-21 | 2009-03-10 | Nextio Inc. | Network controller for obtaining a plurality of network port identifiers in response to load-store transactions from a corresponding plurality of operating system domains within a load-store architecture |
| DE10315763A1 (de) * | 2003-04-07 | 2004-11-18 | Infineon Technologies Ag | Mikroprozessoranordnung und Verfahren zur Verwaltung von Zugriffen auf in einem Speicher abgelegte Daten oder Programme |
| US7373640B1 (en) | 2003-07-31 | 2008-05-13 | Network Appliance, Inc. | Technique for dynamically restricting thread concurrency without rewriting thread code |
| 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 |
| US9152785B2 (en) * | 2004-01-30 | 2015-10-06 | Hewlett-Packard Development Company, L.P. | Providing a flexible protection model in a computer system by decoupling protection from computer privilege level |
| EP1742152B1 (en) * | 2005-07-07 | 2012-09-12 | Texas Instruments Inc. | Method and system for a multi-sharing memory access control |
| US8347293B2 (en) * | 2005-10-20 | 2013-01-01 | Network Appliance, Inc. | Mutual exclusion domains to perform file system processes on stripes |
| US8677457B2 (en) * | 2007-02-09 | 2014-03-18 | Marvell World Trade Ltd. | Security for codes running in non-trusted domains in a processor core |
| JP4618259B2 (ja) * | 2007-02-16 | 2011-01-26 | ソニー株式会社 | データ記憶装置およびデータ記憶方法 |
| JP4764406B2 (ja) * | 2007-11-15 | 2011-09-07 | 株式会社藤商事 | 遊技機 |
| US8850428B2 (en) | 2009-11-12 | 2014-09-30 | Trustware International Limited | User transparent virtualization method for protecting computer programs and data from hostile code |
| JP5582971B2 (ja) * | 2009-12-15 | 2014-09-03 | キヤノン株式会社 | メモリ保護方法および情報処理装置 |
| 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 |
| EP2958021A1 (en) * | 2014-06-20 | 2015-12-23 | Nederlandse Organisatie voor toegepast- natuurwetenschappelijk onderzoek TNO | Data verification in a distributed data processing system |
| DE102014212018A1 (de) * | 2014-06-23 | 2015-12-24 | Continental Teves Ag & Co. Ohg | Verfahren und Schaltkreis zur Vermeidung von Speicherschutzverletzungen |
| CN108701025B (zh) | 2016-02-27 | 2023-08-22 | 金辛格自动化有限责任公司 | 安全的存储器寻址方法 |
| WO2020005857A1 (en) | 2018-06-24 | 2020-01-02 | Hex Five Security, Inc. | Configuring, enforcing, and monitoring separation of trusted execution environments |
| US11481241B2 (en) | 2018-08-30 | 2022-10-25 | Micron Technology, Inc. | Virtual machine register in a computer processor |
| US11500665B2 (en) | 2018-08-30 | 2022-11-15 | Micron Technology, Inc. | Dynamic configuration of a computer processor based on the presence of a hypervisor |
| US11914726B2 (en) | 2018-08-30 | 2024-02-27 | Micron Technology, Inc. | Access control for processor registers based on execution domains |
| US10942863B2 (en) | 2018-08-30 | 2021-03-09 | Micron Technology, Inc. | Security configurations in page table entries for execution domains using a sandbox application operation |
| US10915465B2 (en) | 2018-08-30 | 2021-02-09 | Micron Technology, Inc. | Memory configured to store predefined set of domain registers for instructions being executed in computer processors |
| US11182507B2 (en) | 2018-08-30 | 2021-11-23 | Micron Technology, Inc. | Domain crossing in executing instructions in computer processors |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4525780A (en) * | 1981-05-22 | 1985-06-25 | Data General Corporation | Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information |
| AU556499B2 (en) * | 1981-05-22 | 1986-11-06 | Data General Corporation | Data processing system |
| US4545012A (en) * | 1981-05-22 | 1985-10-01 | Data General Corporation | Access control system for use in a digital computer system with object-based addressing and call and return operations |
-
1990
- 1990-08-21 US US07/570,477 patent/US5280614A/en not_active Expired - Fee Related
-
1991
- 1991-06-07 JP JP3163833A patent/JPH0736172B2/ja not_active Expired - Lifetime
- 1991-07-17 EP EP19910480112 patent/EP0472487A3/en not_active Withdrawn
Also Published As
| Publication number | Publication date |
|---|---|
| EP0472487A2 (en) | 1992-02-26 |
| JPH04239354A (ja) | 1992-08-27 |
| EP0472487A3 (en) | 1993-08-11 |
| US5280614A (en) | 1994-01-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5280614A (en) | Apparatus and method for controlling access to data using domains | |
| US5075848A (en) | Object lifetime control in an object-oriented memory protection mechanism | |
| US6745307B2 (en) | Method and system for privilege-level-access to memory within a computer | |
| US5075845A (en) | Type management and control in an object oriented memory protection mechanism | |
| US7467271B2 (en) | Operating system permitting limited access to a system page | |
| US7401358B1 (en) | Method of controlling access to control registers of a microprocessor | |
| US7043616B1 (en) | Method of controlling access to model specific registers of a microprocessor | |
| US3916385A (en) | Ring checking hardware | |
| US5809546A (en) | Method for managing I/O buffers in shared storage by structuring buffer table having entries including storage keys for controlling accesses to the buffers | |
| US7130977B1 (en) | Controlling access to a control register of a microprocessor | |
| EP0115877B1 (en) | Critical system protection | |
| US4355355A (en) | Address generating mechanism for multiple virtual spaces | |
| EP0220920B1 (en) | Instruction for implementing a secure computer system | |
| US6349355B1 (en) | Sharing executable modules between user and kernel threads | |
| US6003123A (en) | Memory system with global address translation | |
| US5220669A (en) | Linkage mechanism for program isolation | |
| US4945480A (en) | Data domain switching on program address space switching and return | |
| US6189074B1 (en) | Mechanism for storing system level attributes in a translation lookaside buffer | |
| US7082507B1 (en) | Method of controlling access to an address translation data structure of a computer system | |
| US5555395A (en) | System for memory table cache reloads in a reduced number of cycles using a memory controller to set status bits in the main memory table | |
| JP2005509946A (ja) | メモリ管理システム及び線形アドレスに基づいたメモリアクセスセキュリティ付与方法 | |
| CN86103675A (zh) | 虚拟存储系统中的直接输入/输出 | |
| JPS60221851A (ja) | メモリ・アクセス・コントローラを具えるデータ処理装置 | |
| JPS6041379B2 (ja) | 多重仮想アドレス空間式デ−タ処理システム | |
| JP3454854B2 (ja) | メモリ管理装置及び方法 |