JPH05324282A - 分散形コンピュータ・システムでのリンクさせる方法、装置及びネットワーク - Google Patents

分散形コンピュータ・システムでのリンクさせる方法、装置及びネットワーク

Info

Publication number
JPH05324282A
JPH05324282A JP4352928A JP35292892A JPH05324282A JP H05324282 A JPH05324282 A JP H05324282A JP 4352928 A JP4352928 A JP 4352928A JP 35292892 A JP35292892 A JP 35292892A JP H05324282 A JPH05324282 A JP H05324282A
Authority
JP
Japan
Prior art keywords
address space
program code
address
code segment
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
JP4352928A
Other languages
English (en)
Other versions
JP3391037B2 (ja
Inventor
James Kempf
ジェイムズ・ケンプ
Michael L Powell
マイケル・エル・ポウェル
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH05324282A publication Critical patent/JPH05324282A/ja
Application granted granted Critical
Publication of JP3391037B2 publication Critical patent/JP3391037B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 コンピュータシステムの機密性を損なわずに
非スーパーバイザ・モードを実行するプロセスに対し交
さアドレススペース・ダイナミックリンクの機能を与え
る。 【構成】 コンピュータシステム10のネットワークは
少なくとも1つのコンピュータシステム12a,12b
からなる。1つ以上のコンピュータ12a,12bを使
用する場合は、システム12a,12bをネットワーク
22を通して互いに接続する。各々のシステム12a,
12bは少くとも1つのCPUと記憶装置16aないし
16bと大量記憶装置18a,18bと入出力装置20
aないし20bを含む。各々のコンピュータ12a,1
2b内に含まれるいくつかのハードウエア要素は、この
広範なシステムのカテゴリーを示すことを意図されたも
のである。クライアントプロセスがプログラムセグメン
トを別のアドレススペース内のプロセスにリンクでき
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は分散形コンピュータ・シ
ステム、分散オペレーティング・システム、オブジェク
ト指向プログラミングに関する。特にプログラム・スタ
ートでのプログラムコード・セグメントの交さアドレス
スペース・ダイナミックリンクと、プロセスへのプログ
ラムコード・セグメントのダイナミックリンクに関す
る。
【0002】
【従来の技術】今日、仮想メモリシステムとマルチプロ
セッシングを有する最新のコンピュータシステムは、1
時に1つ以上のアドレススペースを活性にすることがで
きる。中央演算処理装置(CPU)ないしユニットは活
性のアドレススペース間を高速度でスィッチする。アド
レススペースとは、プログラムやデータを記憶できるメ
モリ位置の範囲を示す論理的なアドレス範囲である。ア
ドレススペースは、コンピュータシステムに対して1層
の機密保護を形成している。1つのアドレススペース内
で非スーパーバイザ・モードで実行するプロセスは一般
に、オペレーティング・システムによりもたらされる特
殊な手段を通す以外は他のアドレススペースで実行して
いるプロセスにアクセスすることはできない。これによ
り機密性が損なわれた1つのアドレススペース内のプロ
セスが全コンピュータシステムに損害を与えるのを防ぐ
ことができる。プロセスは実行中のプログラムの1段階
である。
【0003】他方、スーパーバイザ・モードでのプロセ
スにより遂行される操作は定義上安全である。従ってア
ドレススペース上で操作するためプロセスが許可される
前にスーパーバイザ・モードに入ることで、システムの
機密性が損なわれないことが保証される。従って従来の
オペレーティング・システムでは一般に、それがプログ
ラムをダイナミックにアドレススペースにロード可能と
なる前にプロセスがスーパーバイザ・モードに入ること
を要求している。アドレススペースへプログラムをロー
ドするにはオペレーティング・システムからメモリを獲
得してプログラムのバイナリコードを獲得したメモリと
関連づけることが必要である。
【0004】プログラムがバイナリコードのいくつかの
非接続セグメントからなり、プログラムがアドレススペ
ースにロードされる前にバイナリコードのセグメントが
共に統計的にリンクされていない場合、バイナリコード
のセグメントは、プログラムの実行が行われる前にアド
レススペースにロードされた後に共にダイナミックにリ
ンクする必要がある。一般にプログラムが統計的にリン
クされている場合は、バイナリコードの1つだけの「セ
グメント」がロードされ、さもなくばバイナリコードの
1つ以上のセグメントがロードされる。従来、オペレー
ティング・システムはまた、プロセスがダイナミックリ
ンクをスーパーバイザ・モードないしリンクするプログ
ラムコードが位置するアドレススペース内で遂行するこ
とを要求する。バイナリコードのセグメントをリンクす
るには、他のアドレスを必要とするバイナリコードの1
つのセグメントの基準を分解することが必要である。
【0005】更にダイナミックにリンクされたプログラ
ムは一般に、実行を開始する前に初期化機能を呼び出す
ことが必要である。初期化によりリンクされたプログラ
ムのプログラミング言語走行時間システムにより要求さ
れる初期条件が設定される。この所期条件はリンクされ
たプログラムが正確に機能するために必要である。スー
パーバイザ・モード交さアドレススペース・ダイナミッ
クリンクは最初、Multixオペレーティング・シス
テム及びTENIXの一部であったが、過剰なオーバー
ヘッドが必要と見られたので、スーパーバイザ・モード
交さアドレススペース・ダイナミックリンクはUNIX
システムV(UNIXはユニックス研究所の登録商標)
で再導入されるまで大方のオペレーティング・システム
から取り除かれていた。今日スーパーバイザ・モード交
さアドレススペース・ダイナミックリンクはOSF/1
で提供されている。それらのオペレーティング・システ
ム下でのスーパーバイザ・モード交さアドレススペース
・ダイナミックリンクの更なる説明に付いては、E.I.オ
ルガニック「マルチックシステム:その構造の検査」M
ITプレス1972年、D.L.マーフィ「記憶装置組織とTE
NIX内の管理」フォールジョイントコンピュータ会議
録、AFIPS 1972年、J.Q.アーノルド「ユニックスシステ
ムV上の共用ライブラリ」夏期会議録、USENIX協
会1986年、並びにL.W.アレン、H.G.シン、K.G.ウォレ
ス、M.B.ウェーバー「OSF/1でのプログラム・ロー
ド」USENIX冬季1991年会議録、1991年を参照のこ
と。
【0006】アドレススペース内の非スーパーバイザ・
モードダイナミックリンクは本発明の譲渡人のカリフォ
ルニア州マウンティンビューのサン・マイクロシステム
ズ社が提供するオペレーティング・システムSunOS
4.1 (Sunはサン・マイクロシステムズ社の登録商
標)上で利用できるようになった。SunOS4.1 下で
は、最初にスーパーバイザ・モードに入らなくてもよい
プロセスはそれが開始する時にそれ自身に共用ライブラ
リをダイナミックにリンクすることができる。非スーパ
ーバイザ・モードダイナミックリンクは共用ライブラリ
のプロセス自身へのリンクに限定されるので、機密が損
なわれたプロセスはプロセスが実行しているアドレスス
ペース内だけにしか影響を与えることができない。Su
nOS4.1下でのダイナミックリンクの更なる説明に付
いては、R.A.ギンベル、M.リー、X.T.ダング、M.S.ウィ
ーク「SunOSでの共用ライブラリ」、USENIX
夏期1987年会議録を参照のこと。同様の手順がユニック
スシステムVリリース4上のダイナミックリンクに使用
されており、「システムVアプリケーション結合インタ
ーフェィス」プレンティスホール1991年を参照のこと。
【0007】アドレススペースにわたるダイナミックリ
ンクをスーパーバイザ・モードを実行しているプロセス
ないしリンクするプログラムコードが存在するアドレス
スペース内のプロセスに限定することで機密性が損なわ
れたプロセスが全システムに損害を与えるのを防ぐこと
ができるが、プロセスの実行挙動を安全に変更するのに
ダイナミックリンクを使用できる範囲を厳しく限定する
ことになる。従って非スーパーバイザ・モードで実行し
ているプロセスがシステムの機密性を損なわずにアドレ
ススペースにわたってダイナミックリンクを実施するこ
とができるようにすることが望ましい。
【0008】
【発明が解決しようとする課題】従って本発明の目的は
コンピュータシステムの機密性を損なわずに非スーパー
バイザ・モードを実行しているプロセスに、交さアドレ
ススペース・ダイナミックリンク機能を与えることであ
る。本発明の他の目的はプログラムセグメントの交さア
ドレススペース・ダイナミックリンクの機能をプロセス
並びにプログラムスタートでのプログラムセグメントに
与えることである。
【0009】
【課題を解決するための手段】本発明ではそれらの目的
は、第1のプログラムコード・セグメントを安全な方法
で第1のアドレススペース内で非スーパーバイザ・モー
ドで実行している第1のプロセスに提供するため第1の
プログラムコード・マネージャを設け、第1のプログラ
ムコード・セグメントを第2のアドレススペースに写像
するアドレススペース・マネージャを設けて、第2のア
ドレススペースが実行プロセスを有しない新しいアドレ
ススペースの場合は第2のプログラムコード・セグメン
トにリンクするか、第2のアドレススペースが実行プロ
セスを有する場合は第2のプロセスにリンクすることに
より達成される。第2のアドレススペースが実行プロセ
スを有しない新しいアドレススペースの場合は、本発明
は第2のプログラムコード・マネージャを設けて第2の
プログラムコード・セグメントを第1のプロセスに安全
な方法で提供する。またアドレススペース・マネージャ
を用いて第1のプロセスに対し安全な方法で第2のアド
レススペースへのアクセスを提供し、第2のプログラム
コード・セグメントを第2のアドレススペースに写像す
る。第1のプロセスは、第1と第2のプログラムコード
・セグメントをリンクする前にコードテーブルと記号ア
ドレステーブルを作る。
【0010】第2のアドレススペースが少なくとも1つ
の実行プロセスを有する場合は、アドレススペース・マ
ネージャを用いて第1のプログラムコード・セグメント
が第2のプロセスでリンクされていないことを識別する
コードテーブルを提供し、記号アドレステーブルを生成
する記号アドレス情報を提供する。記号アドレステーブ
ルは第1のプログラムコード・セグメントを第2のアド
レススペース内の第2のプロセスにリンクするのに使用
する。第1のプログラムコード・セグメントとリンクさ
れた第2のプログラムコード・セグメントないし第2の
プロセスの実行は、コントロールを第2のアドレススペ
ース内の開始アドレスに移して開始する。より詳しく
は、第1のプログラムコード・セグメントとリンクされ
た第2のプロセスの実行は、新しい1脈の実行を開始
し、コントロールを第2のアドレススペース内の初期化
機能の開始アドレスに移すことで開始する。初期化機能
は記号アドレステーブルを用いて第1のプロセスにより
探索される。
【0011】更に本発明の実施例では、第3者確認マネ
ージャを設けて第1のプロセスに第1と第2のプログラ
ムコード・セグメント並びに第2のアドレススペースが
与えられる権限を与える。コードテーブルはアドレスス
ペース・マネージャの所定の位置に位置する。更にこの
好ましい実施形態では、第1と第2のプロセス、第1と
第2のプログラムコード・セグメント、第1と第2のア
ドレススペース、第1と第2のプログラムマネージャ、
アドレススペース・マネージャ及び第3者確認マネージ
ャはオブジェクト指向形式で実現される。
【0012】
【実施例】(注記と用語)以下の詳細な説明は、大部分
コンピュータのネットワーク上で実行されるプログラム
手順に関して行う。それらの手順説明や表現は、当業者
が他の当業者に対してその作業の本質を最も効果的に伝
えるのに使用する手段と同じものである。手順はここで
そして一般に、所望の結果に導く首尾一貫したステップ
のシーケンスと考えられる。それらのステップは物理量
の物理的操作を必要とするものである。通常必ずしもそ
うではないが、それらの量は保管、転送、結合、比較、
その他の操作を行うことのできる電気的ないし磁気的信
号の形態を取る。それらの信号はおもに通常に利用され
るという理由で、時としてビット、値、要素、記号、オ
ブジェクト、文字、用語、数などと称すると便利である
ことは明かである。しかしそれら及び類似の用語はすべ
て適切な物理量と関連付けられ、それらの量に対して適
用される便利なラベルでしかないことに留意すべきであ
る。
【0013】更に、行われる操作はしばしば、人間のオ
ペレータが行う心理的なオペレーションに関連した加算
や比較として述べられる。ここに説明し本発明を形作る
操作のいずれにおいてもそのような人間のオペレータの
機能は必要なく、あるいは大方の場合望ましくなく、操
作は機械操作である。本発明の操作を行う有用な機械に
は汎用ディジタル・コンピュータあるいはその他の類似
の装置がある。いずれの場合もコンピュータを操作する
際の方法操作と計算それ自身の方法の間の区別に留意す
る必要がある。本発明は電気ないしその他の物理信号を
処理して他の所望の物理信号を生成する際にコンピュー
タを操作する方法ステップに関するものである。本発明
はまたそれらの操作を行う装置に関する。この装置は要
求される目的のために特別に構築したり、コンピュータ
内に記憶されたコンピュータプログラムにより選択的に
活性化されたあるいは再構成された汎用コンピュータを
含めることができる。特に様々な汎用マシンを本明細書
の教示にしたがって書かれた手順で使用することが出
来、あるいはより特殊な装置を構築して必要な方法ステ
ップを行うことがより便利な場合もあろう。それらの様
々なマシンに必要な構造は以下の記述で説明する。
【0014】以下では非スーパーバイザ・モードで実行
して交差アドレススペース・ダイナミックリンクを行う
プロセスの方法と装置を開示する。以下の説明では本発
明の完全な理解をもたらすため特定の数、材料、構成を
述べるが、本発明はそれらの特定の詳細なしでも実施で
きることが当業者には明かとなろう。他の場合には、本
発明を不必要に曖昧にしないためによく知られたシステ
ムを図式的あるいはブロック図形式で示している。
【0015】図1はハードウエア要素で編成した本発明
の教示を取り入れたコンピュータシステム・ネットワー
クの物理的な配置を示すブロック図である。コンピュー
タシステム10のネットワークは少なくとも1つのコンピ
ュータシステム12aないし12bからなる。1つ以上のコ
ンピュータシステム12a、12bを使用する場合は、コン
ピュータシステム12a、12bをネットワーク22を通して
互いに接続する。各々のコンピュータシステム12a、12
bは少なくとも1つの中央演算処理装置(CPU)14a
ないし14bと、記憶装置16aないし16bと、大量記憶装
置18aないし18bと、入出力装置20aないし20bとを含
んでいる。各々のコンピュータシステム12a、12b上で
のそれらのハードウエア要素の速度、サイズといった特
性は互いに異なる。それらのハードウエア要素は大方の
汎用コンピュータシステムと殆ど全ての特殊コンピュー
タシステムで一般に見られるものである。実際各々のコ
ンピュータシステム12a、12b内に含まれるいくつかの
ハードウエア要素は、この広範なデータ処理システムの
カテゴリーを示すことを意図されたものである。それら
のコンピュータシステム12a、12bの役割を満たす適切
なデータ処理システムの特定例にカリフォルニア州マウ
ンティンビューのサン・マイクロシステムズ社が製造す
るコンピュータシステムがある。もちろん同様の機能を
有する他のコンピュータシステムをそのまま適応して以
下に説明する機能を遂行することができる。
【0016】図2は図1に例示したコンピュータシステ
ムの1つのソフトウエア要素で編成した論理的な図を示
すブロック図である。システムソフトウエア30はオペレ
ーティング・システム32、ファイルシステム34及び少な
く1つの言語コンパイラ36からなる。オペレーティング
・システム32はよく知られたオペレーティング・システ
ムサービス、特にコヒーレント・ページ・キャッシュ・
アルゴリズムでのネットワーク仮想メモリ管理及び非ス
ーパーバイザ・モードを実行するプロセスの代わりにフ
ァイルをアドレススペースに確実に写像するオブジェク
ト指向インターフェイスを提供する。ファイルシステム
34は、開閉、読み取り、書き込みといったよく知られた
ファイルシステム・サービスを提供する。言語コンパイ
ラ36は分解やコード生成といったよく知られたコンパイ
ラサービス及び数学的機能やストリング操作といったよ
く知られた走行時ライブラリ・サービスを提供する。コ
ンピュータシステム上で実行するアプリケーション38
は、システムソフトウエア32−36により提供される基本
的なシステムサービスを利用する。
【0017】オペレーティング・システムを除くそれら
のシステムソフトウエア要素は大方の汎用コンピュータ
システムと殆ど大部分の特殊コンピュータシステムで一
般に見られるものである。実際、各々のコンピュータシ
ステム内に含まれるいくつかの非オペレーティング・シ
ステムのシステムソフトウエア要素は、この非オペレー
ティング・システムのシステムソフトウエアの広いカテ
ゴリーを示すことを意図されたものである。更に各々の
コンピュータシステム上で使用されるシステムソフトウ
エアは、それらが同等の機能を提供し互いに交信できる
ならば異なったものでもよい。コヒーレント・ページ・
キャッシュ・アルゴリズムを有するネットワーク仮想メ
モリ管理を有するオペレーティング・システムの更なる
説明に付いては、ヨセフ・クハリディ「分散オペレーテ
ィング・システム用ハードウエア・サポート」博士論
文、ジョージア工科大学1988年を参照のこと。
【0018】図3は図1に例示したコンピュータシステ
ムのネットワーク上のクライアントプロセスと複数のオ
ブジェクトの論理図を示すブロック図である。図3には
クライアントプロセス42、オブジェクトマネージャ44、
及び複数のオブジェクト46、47、48が示されている。ク
ライアントプロセス42はオブジェクト46、47ないし48を
使用するプロセスである。各々のオブジェクト46、47、
48は、呼び出してデータを操作できるデータ及び操作か
らなる構成要素である。オブジェクト46、47、48を所有
することはオブジェクト46、47、48にアクセスする権限
を意味する。オブジェクト46、47、48にコールを送るこ
とでオブジェクト46、47、48上で操作を呼び出すことが
できる。オブジェクトマネージャ44はオブジェクトの操
作のコードが常駐するアドレススペースである。各々の
オブジェクト46、47、48は1つのオブジェクトタイプを
有している。オブジェクトタイプはその特定のオブジェ
クトタイプのオブジェクト46、47、48上で行うことので
きるオブジェクト操作を定義するものである。オブジェ
クト操作はオブジェクト46、47、48自身とは独立して行
われる。更にオブジェクト46、47、48はそのオブジェク
トタイプにしたがってクラス階層に編成され、それによ
り下層クラスに編成されたオブジェクトタイプは上層ク
ラスで編成された他のオブジェクトタイプのために定義
されて行われたオブジェクト操作を継承することができ
る。各々のオブジェクト46、47、48はあるクラスのクラ
ス段階である。オブジェクト指向設計及びプログラミン
グ手法の更なる説明に付いては、B.マイヤー「オブジェ
クト指向ソフトウエア構成」(パレンティス・ホール19
88年)を参照のこと。
【0019】図1に例示したコンピュータシステムのネ
ットワークには様々なクライアントプロセス、オブジェ
クトマネージャ及びオブジェクトを含めることができる
ことが理解されよう。図3に示すクライアントプロセス
42、オブジェクトマネージャ44及びオブジェクト46、4
7、48は、それらのクライアントプロセス、オブジェク
トマネージャ、オブジェクトの広範なカテゴリーを示す
ことを意図したものである。
【0020】図4は本発明のアドレススペース・マネー
ジャ、アドレススペース・オブジェクト、プログラムコ
ード・マネージャ、プログラムコード・セグメント・オ
ブジェクト、確認マネージャを示すブロック図である。
図にはプログラムコード・セグメント・オブジェクト60
にアクセスするオブジェクト指向インターフェイスをク
ライアントプロセス52に提供するプログラムコード・マ
ネージャ54がある。プログラムコード・セグメント・オ
ブジェクト60はプログラムないしプログラムセグメント
の実行可能なバイナリコードからなる。この好ましい形
態では、プログラムコード・マネージャ54は信頼される
第3者確認マネージャ56を用いてクライアントのアクセ
ス権限を評価する。信頼される第3者確認マネージャの
更なる説明に付いては、マイケル・ブロー、マーチン・
アバディ、ロジャー・ニードハム「確認の論理」コンピ
ュータシステム上でのACMトランザクション、8(1)、1
990年、pp.18-36を参照のこと。
【0021】図4には更に、アドレススペース・オブジ
ェクト62を得るためにオブジェクト指向インターフェイ
スをクライアントプロセス52に提供するアドレススペー
ス・マネージャ58がある。同様に、その好ましい形態で
はアドレススペース・マネージャ58は信頼できる第3者
確認マネージャを用いてクライアントのアクセス権限を
評価する。アドレススペース・オブジェクト62はアドレ
ススペース(図示せず)からなり、非スーパーバイザ・
モードで実行しているクライアントプロセスのためにア
ドレススペース上で限定された操作を行うオブジェクト
指向インターフェイスを提供する。限定された操作には
アドレススペース及びメモリオブジェクトの対応するベ
ースアドレスに写像されたメモリオブジェクトのリスト
を返答する操作とプログラムコード・セグメント及びデ
ータグループをアドレススペースに写像して写像された
メモリに対応するメモリオブジェクトを生成する操作が
ある。写像操作中、プログラムコード及びデータグルー
プはバルクでアドレススペースに挿入され、アドレスス
ペースのアドレスはプログラムコードないしデータと連
関される。先に述べたように、リンク操作中、他のプロ
グラムコード・セグメント内のアドレスを必要とする1
つのプログラムコード・セグメント内の基準が分解され
る。
【0022】更に写像操作中、プログラムセグメントが
蓄積された位置にアクセスすることによりプログラムセ
グメントに付いての記号アドレス情報をプログラムセグ
メントから得ることができる。記号アドレス情報はアド
レススペースに対して名前からアドレスへの相互参照項
目からなる記号アドレステーブルを生成するために用い
る。生成された記号アドレステーブルはまたプログラム
コード・セグメントを他のプログラムコード・セグメン
トないしプロセスにリンクするのを容易にするのに用い
られ、これは後に詳しく説明する。記号アドレス情報は
写像されるプログラムセグメント内の機能とデータの名
前とアドレスからなる。
【0023】限定された操作にはさらに、アドレススペ
ースのコードテーブル(図示せず)からアドレススペー
スのリンクされたプログラムセグメント情報を得る操作
がある。リンクされたプログラムセグメント情報はプロ
グラムコード・セグメントが既にアドレススペース内の
プロセスにリンクされているかどうかを判定するために
用い、これは後に詳しく論ずる。コードテーブルはアド
レススペースの各々のリンクされたプログラムコード・
セグメントに対する項目からなる。各々の項目はリンク
されたプログラムコード・セグメントのベースアドレ
ス、サイズ及び写像されたファイルの名前からなる。更
にコードテーブルにはコードテーブルを使用中にコード
テーブルをロックするセマフォが含まれる。プログラム
コード・セグメントがアドレススペース内にリンクされ
ているという記録、記録項目の除去、プログラムコード
・セグメントが既にアドレススペース内にリンクされて
いるかどうかの確認、セマフォの設定およびクリアの操
作は全て、コードテーブルと関連したメモリオブジェク
トをアドレススペース内に写像し、そこのメモリ上で操
作することにより行われる。その好ましい形態では、コ
ードテーブルは、アドレススペース62内の所定の位置に
配置する。
【0024】図1に示すコンピュータシステムのネット
ワークには、様々なクライアントプロセス、プログラム
コード・マネージャ、プログラムコード・セグメントオ
ブジェクト、確認マネージャ、アドレススペース・マネ
ージャ及びアドレススペースオブジェクトを含めること
ができることが理解されよう。図4に示すクライアント
プロセス52、プログラムコード・マネージャ54、確認マ
ネージャ56、アドレススペース・マネージャ58、プログ
ラムコード・セグメント・オブジェクト60及びアドレス
スペース・オブジェクト62はそれらのクライアントプロ
セス、オブジェクトマネージャ、オブジェクトの広範な
カテゴリーを示すことを意図したものである。
【0025】図5は限定されたプログラムセグメントと
記号アドレス情報にアクセスする別の方法を示すブロッ
ク図である。図5にはコードテーブル・オブジェクト66
からリンクされたプログラムセグメント情報と非スーパ
ーバイザ・モードを実行するクライアントプロセスのた
めに記号アドレステーブル・オブジェクト68から記号ア
ドレス情報にアクセスするオブジェクト指向インターフ
ェイスを提供する名前文脈オブジェクト64がある。コー
ドテーブルはアドレススペースの事前に定められた位置
に配置される代わりに、コードテーブル・オブジェクト
66内に位置している。同様に写像されたプログラムセグ
メントから記号アドレス情報を直接得て記号アドレステ
ーブルを生成する代わりに、記号アドレス情報は記号ア
ドレステーブルオブジェクト68に維持される。この方法
では、アドレススペース・マネージャ52は名前文脈オブ
ジェクト64内の名前文脈にアクセスする操作も支援す
る。
【0026】名前文脈オブジェクト64はアドレススペー
スに対する名前からオブジェクトへの相互参照項目を有
する名前文脈(図示せず)からなる。名前文脈オブジェ
クト64はオブジェクトの名前への結合、名前に対する結
合の除去、オブジェクトに対する名前の分解のための操
作を支援する。コードテーブル・オブジェクト66と記号
アドレステーブル・オブジェクト68は、それらオブジェ
クトに対するよく知られた名前を分解することにより名
前文脈オブジェクト64から得ることができる。
【0027】先に説明した方法とは異なり、コードテー
ブルはセマフォを有していない。コードテーブルはクラ
イアントプロセスによりアクセスされたときに除去さ
れ、それによりコードテーブルが使用されているときに
他のプロセスにより使用されることを防ぐ。コードテー
ブルオブジェクト66はアドレススペースにリンクされた
プログラムコード・セグメントの記録、記録項目の除
去、及びプログラムコード・セグメントが既にアドレス
スペース内にリンクされているかどうかの確認の操作を
支援する。記号アドレステーブルはアドレススペースに
対する名前からアドレスへの相互参照項目からなる。更
に記号アドレスオブジェクト68は名前からアドレスへの
相互参照、名前からアドレスへの相互参照の除去、アド
レススペース内での名前からアドレスへの分解の操作を
支援する。
【0028】図6はプログラム開始時でのプログラムコ
ード・セグメントの非スーパーバイザ・モード交さアド
レススペース・ダイナミックリンクの本発明の方法を例
示した流れ図である。最初にブロック72及び74でクライ
アントプロセスはアドレススペース・マネージャから実
行プロセスを持たない新しいアドレススペース・オブジ
ェクトを獲得し、1つないし複数のプログラムコード・
マネージャからプログラムコード・セグメント・オブジ
ェクトを獲得する。先に説明したように本実施例では、
新しいアドレススペース・オブジェクトとプログラムコ
ード・セグメント・オブジェクトを得るためのクライア
ントプロセスの権限は信頼される第3者確認マネージャ
を用いて評価される。
【0029】クライアントプロセスは次にブロック76で
アドレススペースに対するコードテーブルと記号アドレ
ステーブルを構築する。クライアントプロセスはまた名
前文脈方法を使用する場合は名前文脈を更新する。次に
クライアントプロセスはプログラムコード・セグメント
を新しいアドレススペースとそれ自身のアドレススペー
スに写像し、ブロック78で新しいアドレススペース内の
アドレスに関してそれらを共にリンクする。クライアン
トプロセスは名前文脈方法を使用しない場合は、アドレ
ススペース内のコードテーブルを放逐する。クライアン
トプロセスはプログラムコード・セグメントをリンクし
た後、ブロック80で新しいアドレススペース内のリンク
されたプログラムの開始アドレスにコントロールを移し
てリンクされたプログラムの実行を開始する。
【0030】図7はプロセスに対するプログラムセグメ
ントの非スーパーバイザ・モード交さアドレススペース
・ダイナミックリンクの本発明の方法を例示した流れ図
である。最初にクライアントプロセスはブロック84で実
行プロセスを有するアドレススペースを獲得する。次に
クライアントプロセスはブロック88でコードテーブルが
アドレススペース・マネージャ内の所定の位置ないしコ
ードテーブルオブジェクト内に位置しているかどうかに
より最初に名前文脈を獲得ないし獲得せずにアドレスス
ペースに対するコードテーブルを獲得する。同様に、先
述したように本実施例では、クライアントプロセスのア
ドレススペース、コードテーブル、名前文脈(使用する
場合)を獲得する権限は、信頼される第3者確認マネー
ジャを用いて評価される。
【0031】プログラムコード・セグメントがアドレス
スペース内でリンクされていないことをコードテーブル
が示せば、クライアントは次にブロック92でプログラム
コード・マネージャからプログラムコード・セグメント
・オブジェクトを獲得する。名前文脈方法を使用した場
合は、クライアントはブロック94でアドレススペースに
対する記号アドレステーブルを生成するか記号アドレス
テーブルを獲得する。同様に先述したように、本実施例
ではクライアントプロセスのプログラムコード・セグメ
ントオブジェクトを獲得する権限は信頼される第3者確
認マネージャを用いて評価される。
【0032】クライアントプロセスは次にプログラムコ
ード・セグメントをアドレススペースとそれ自身のアド
レススペースに写像し、実行するプロセス内のアドレス
に関してプログラムコード・セグメントをリンクする
(ブロック96、98)。クライアントプロセスはプログラ
ムコード・セグメントを実行プロセスにリンクすると、
ブロック 100でプログラムコード・セグメントの初期化
機能を探索する。初期化機能を探索すると、クライアン
トプロセスはプログラムコード・セグメントとリンクさ
れた実行プロセスのために新しい1脈の実行を開始し、
コントロールを初期化機能の開始アドレスに移す。
【0033】アドレススペース・オブジェクトのコード
テーブル・オブジェクトを獲得し、プログラムコード・
セグメントが既にアドレススペースにリンクされている
かどうかを判定するブロック88、90のステップは、クラ
イアントプロセスがプログラムコード・セグメントがリ
ンクされているかどうかを知っていればスキップするこ
とができることが理解されよう。同様にブロック86のア
ドレススペース・オブジェクトを獲得するステップもク
ライアントプロセスがアドレススペース・オブジェクト
を獲得していればスキップすることができる。
【0034】また図7に示すプロセスに対するプロセス
セグメントの非スーパーバイザ・モード交さアドレスス
ペース・ダイナミックリンクの本発明の方法をプログラ
ムセグメントをクライアントプロセスそれ自身にダイナ
ミックにリンクすることに適用できることが理解されよ
う。目標アドレススペースはクライアントプロセス自身
のアドレススペースであり、目標プロセスはクライアン
トプロセスそれ自身となる。さらに本発明はオブジェク
ト指向方式で実施しなくても良いことが理解されよう。
本発明の要素はその非オブジェクト指向等価物に適応す
ることが出来、それらの非オブジェクト指向等価物はハ
ンドルといったよく知られた方法でアクセスすることが
できる。
【図面の簡単な説明】
【図1】本発明の教示を取り入れたコンピュータシステ
ムのネットワークのハードウエア要素の物理的な配置を
示す図である。
【図2】図1に例示したコンピュータシステムの1つの
ソフトウエア要素の論理的な図である。
【図3】図1に例示したコンピュータシステムのネット
ワーク上のクライアントプロセスと複数のオブジェクト
の論理図である。
【図4】図1に例示したコンピュータシステムのネット
ワーク上の本発明のアドレススペース・マネージャ、ア
ドレススペース・オブジェクト、プログラムコード・マ
ネージャ、プログラムコードセグメント・オブジェク
ト、確認マネージャの論理図である。
【図5】プログラムコード・セグメントリンクと名前を
アドレススペースに対するアドレス情報に提供する別の
方法としての図1に例示したコンピュータシステムのネ
ットワーク上の本発明のアドレススペース・マネージ
ャ,アドレススペース・オブジェクト,名前文脈オブジ
ェクト、コードテーブル・オブジェクト、記号アドレス
テーブル・オブジェクトの論理図である。
【図6】プログラム開始時でのプログラムコード・セグ
メントの非スーパーバイザ・モード交さアドレススペー
ス・ダイナミックリンクの本発明の方法を例示した流れ
図である。
【図7】プロセスに対するプログラムコード・セグメン
トの非スーパーバイザ・モード交さアドレススペース・
ダイナミックリンクの本発明の方法を例示した流れ図で
ある。
【符号の説明】
10、12a、12b・・・コンピュータシステム 22・・・ネットワーク 14a、14b・・・CPU 16a、16b・・・記憶装置 18a、18b・・・大容量記憶装置 20a、20b・・・入出力装置 30・・・システムソフトウエア
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マイケル・エル・ポウェル アメリカ合衆国 94301 カリフォルニア 州・パロ アルト・エマーソン ストリー ト・2305

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 複数のアドレススペースで複数のプロセ
    スをスーパーバイザおよび非スーパーバイザ実行モード
    の内から選択された1つで実行する少なくとも1つの中
    央演算処理装置(CPU)を含むコンピュータシステム
    のネットワークで、前記コンピュータシステムの機密性
    を損なうことなく、前記非スーパーバイザ・モードで第
    1のアドレススペースで実行するプロセスが第1のプロ
    グラムコード・セグメントを第2のプログラムコード・
    セグメントと第2のアドレススペース内の第2のプロセ
    スの選択された1つにダイナミックにリンクさせる方法
    において、 a) 第1のプログラムコード・マネージャと前記アドレ
    ススペース・マネージャからそれぞれ安全な方法で前記
    プログラムコード・セグメントと前記第2のアドレスス
    ペースのハンドルを獲得し、 b) 前記アドレススペース・マネージャを用いて前記第
    1のプログラムコード・セグメントを前記第1と第2の
    アドレススペースに写像し、 c) 前記第2のアドレススペースのハンドルを用いて前
    記第1のプログラムコード・セグメントを前記第2のプ
    ログラムコード・セグメントと前記第2のプロセスの前
    記選択された1つにリンクし、 d) 実行コントロールを前記第2のアドレススペース内
    の開始アドレスに移すことからなる方法。
  2. 【請求項2】 複数のアドレススペースで複数のプロセ
    スをスーパーバイザおよび非スーパーバイザ実行モード
    の内から選択された1つで実行する少なくとも1つの中
    央演算処理装置(CPU)を含むコンピュータシステム
    のネットワークで、前記コンピュータシステムの機密性
    を損なうことなく、前記非スーパーバイザ・モードで第
    1のアドレススペースで実行するプロセスが第1のプロ
    グラムコード・セグメントを第2のプログラムコード・
    セグメントと第2のアドレススペース内の第2のプロセ
    スの選択された1つにダイナミックにリンクする装置に
    おいて、 a) 前記CPUに接続され、安全な方法で、前記第1の
    プログラムコード・セグメントを前記第1のプロセスに
    提供する第1のプログラムコード・マネージャと、 b) 前記CPUに接続され、前記第2のアドレススペー
    スのハンドルを前記第1のプロセスに安全な形で提供
    し、前記第1のプロセスの要求により前記第1のプログ
    ラムコード・セグメントを前記第1と第2のアドレスス
    ペースに写像するアドレススペース・マネージャとから
    なり、 前記第1のプロセスは、前記第1のプログラムコード・
    セグメントと前記第2のアドレススペースのハンドルを
    獲得した後に前記第2のアドレススペースのハンドルを
    用いて前記第1のプログラムコード・セグメントを前記
    プログラムコード・セグメントと前記第2のプロセスの
    選択された1つにリンクし、前記第1のプログラムコー
    ド・セグメントを前記第1と第2のアドレススペースに
    写像し、 前記第1のプログラムコード・セグメントとリンクされ
    た前記第2のプログラムコード・セグメントと前記第2
    のプロセスの前記選択された1つの実行は、実行が前記
    第2のアドレススペースの開始アドレスに移されたとき
    に開始される装置。
  3. 【請求項3】 複数のアドレススペースで複数のプロセ
    スをスーパーバイザおよび非スーパーバイザ実行モード
    の内から選択された1つで実行する少なくとも1つの中
    央演算処理装置(CPU)を含むコンピュータシステム
    の改善形ネットワークで、前記コンピュータシステムの
    機密性を損なうことなく、前記非スーパーバイザ・モー
    ドで第1のアドレススペースで実行して第1のプログラ
    ムコード・セグメントを第2のプログラムコード・セグ
    メントと第2のアドレススペース内の第2のプロセスの
    選択された1つにダイナミックにリンクするプロセスか
    らなる前記改善形ネットワーク。
JP35292892A 1991-12-18 1992-12-14 ダイナミックにリンクさせる方法、および、装置 Expired - Fee Related JP3391037B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US809,668 1991-12-18
US07/809,668 US5359721A (en) 1991-12-18 1991-12-18 Non-supervisor mode cross address space dynamic linking

Publications (2)

Publication Number Publication Date
JPH05324282A true JPH05324282A (ja) 1993-12-07
JP3391037B2 JP3391037B2 (ja) 2003-03-31

Family

ID=25201931

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35292892A Expired - Fee Related JP3391037B2 (ja) 1991-12-18 1992-12-14 ダイナミックにリンクさせる方法、および、装置

Country Status (4)

Country Link
US (1) US5359721A (ja)
EP (1) EP0547759B1 (ja)
JP (1) JP3391037B2 (ja)
DE (1) DE69230778T2 (ja)

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2272085A (en) * 1992-10-30 1994-05-04 Tao Systems Ltd Data processing system and operating system.
CA2102883A1 (en) * 1993-02-26 1994-08-27 James W. Arendt System and method for lazy loading of shared libraries
JP3553991B2 (ja) * 1993-05-27 2004-08-11 キヤノン株式会社 プログラム制御方法
US5615400A (en) * 1993-06-30 1997-03-25 Apple Computer, Inc. System for object oriented dynamic linking based upon a catalog of registered function set or class identifiers
US5655077A (en) * 1994-12-13 1997-08-05 Microsoft Corporation Method and system for authenticating access to heterogeneous computing services
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
CN101359350B (zh) 1995-02-13 2012-10-03 英特特拉斯特技术公司 用于安全地管理在数据项上的操作的方法
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
JP3590688B2 (ja) * 1995-04-05 2004-11-17 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーションを導入するための導入計画オブジェクトを構築する方法、及びそのシステム
US5867713A (en) * 1995-04-05 1999-02-02 International Business Machines Corporation Committing an install plan object for the network installation of application programs
US5797015A (en) * 1995-04-18 1998-08-18 Pitney Bowes Inc. Method of customizing application software in inserter systems
US6078945A (en) * 1995-06-21 2000-06-20 Tao Group Limited Operating system for use with computer networks incorporating two or more data processors linked together for parallel processing and incorporating improved dynamic load-sharing techniques
US5923882A (en) * 1995-08-29 1999-07-13 Silicon Graphics, Inc. Cross-module optimization for dynamically-shared programs and libraries
US5768503A (en) * 1995-09-25 1998-06-16 International Business Machines Corporation Middleware program with enhanced security
US6332168B1 (en) 1995-09-28 2001-12-18 International Business Machines Corporation Method of, system for, and computer program product for providing a run time subsystem for run time libraries
US5872973A (en) * 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US5793982A (en) * 1995-12-07 1998-08-11 International Business Machine Corporation Validating an installation plan containing multiple transports and redirectors by adding data structure of the modules to the plan if the indicated transport and redirector modules are unavailable
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US5764889A (en) * 1996-09-26 1998-06-09 International Business Machines Corporation Method and apparatus for creating a security environment for a user task in a client/server system
US5832209A (en) * 1996-12-11 1998-11-03 Ncr Corporation System and method for providing object authorization in a distributed computed network
US6687761B1 (en) 1997-02-20 2004-02-03 Invensys Systems, Inc. Process control methods and apparatus with distributed object management
US6691183B1 (en) 1998-05-20 2004-02-10 Invensys Systems, Inc. Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation
WO2000070417A1 (en) 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6510352B1 (en) 1999-07-29 2003-01-21 The Foxboro Company Methods and apparatus for object-based process control
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
US6467084B1 (en) * 1999-12-16 2002-10-15 Emware, Inc. Systems and methods for reprogramming an embedded device with program code using relocatable program code
US7213247B1 (en) * 2000-01-10 2007-05-01 Wind River Systems, Inc. Protection domains for a computer operating system
US6385722B1 (en) * 2000-01-27 2002-05-07 Sun Microsystems, Inc. Method, system, and article of manufacture for limiting access to program files in a shared library file
US6779128B1 (en) 2000-02-18 2004-08-17 Invensys Systems, Inc. Fault-tolerant data transfer
US7020773B1 (en) 2000-07-17 2006-03-28 Citrix Systems, Inc. Strong mutual authentication of devices
US6986040B1 (en) 2000-11-03 2006-01-10 Citrix Systems, Inc. System and method of exploiting the security of a secure communication channel to secure a non-secure communication channel
US7233998B2 (en) * 2001-03-22 2007-06-19 Sony Computer Entertainment Inc. Computer architecture and software cells for broadband networks
US7562146B2 (en) 2003-10-10 2009-07-14 Citrix Systems, Inc. Encapsulating protocol for session persistence and reliability
US20050198379A1 (en) * 2001-06-13 2005-09-08 Citrix Systems, Inc. Automatically reconnecting a client across reliable and persistent communication sessions
US7100200B2 (en) * 2001-06-13 2006-08-29 Citrix Systems, Inc. Method and apparatus for transmitting authentication credentials of a user across communication sessions
US7661129B2 (en) 2002-02-26 2010-02-09 Citrix Systems, Inc. Secure traversal of network components
US7984157B2 (en) 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US20030217054A1 (en) 2002-04-15 2003-11-20 Bachman George E. Methods and apparatus for process, factory-floor, environmental, computer aided manufacturing-based or other control system with real-time data distribution
US7844734B2 (en) * 2002-11-18 2010-11-30 Innopath Software, Inc. Dynamic addressing (DA) using a centralized DA manager
US7523157B2 (en) * 2003-09-25 2009-04-21 International Business Machines Corporation Managing a plurality of processors as devices
US7549145B2 (en) * 2003-09-25 2009-06-16 International Business Machines Corporation Processor dedicated code handling in a multi-processor environment
US7415703B2 (en) * 2003-09-25 2008-08-19 International Business Machines Corporation Loading software on a plurality of processors
US7444632B2 (en) * 2003-09-25 2008-10-28 International Business Machines Corporation Balancing computational load across a plurality of processors
US20050071828A1 (en) * 2003-09-25 2005-03-31 International Business Machines Corporation System and method for compiling source code for multi-processor environments
US7496917B2 (en) * 2003-09-25 2009-02-24 International Business Machines Corporation Virtual devices using a pluarlity of processors
US7475257B2 (en) 2003-09-25 2009-01-06 International Business Machines Corporation System and method for selecting and using a signal processor in a multiprocessor system to operate as a security for encryption/decryption of data
US7516456B2 (en) * 2003-09-25 2009-04-07 International Business Machines Corporation Asymmetric heterogeneous multi-threaded operating system
US7389508B2 (en) * 2003-09-25 2008-06-17 International Business Machines Corporation System and method for grouping processors and assigning shared memory space to a group in heterogeneous computer environment
US7478390B2 (en) * 2003-09-25 2009-01-13 International Business Machines Corporation Task queue management of virtual devices using a plurality of processors
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US9251497B2 (en) * 2005-09-29 2016-02-02 International Business Machines Corporation Dynamic binding of process patterns in a method architecture
WO2007123753A2 (en) 2006-03-30 2007-11-01 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
RU2495476C2 (ru) 2008-06-20 2013-10-10 Инвенсис Системз, Инк. Системы и способы для иммерсивного взаимодействия с действительными и/или имитируемыми техническими средствами для управления технологическим процессом, контроля состояния окружающей среды и производственного контроля
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US8769373B2 (en) 2010-03-22 2014-07-01 Cleon L. Rogers, JR. Method of identifying and protecting the integrity of a set of source data

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4366537A (en) * 1980-05-23 1982-12-28 International Business Machines Corp. Authorization mechanism for transfer of program control or data between different address spaces having different storage protect keys
US4430705A (en) * 1980-05-23 1984-02-07 International Business Machines Corp. Authorization mechanism for establishing addressability to information in another address space
US4445177A (en) * 1981-05-22 1984-04-24 Data General Corporation Digital data processing system utilizing a unique arithmetic logic unit for handling uniquely identifiable addresses for operands and instructions
US4652990A (en) * 1983-10-27 1987-03-24 Remote Systems, Inc. Protected software access control apparatus and method
US4669043A (en) * 1984-02-17 1987-05-26 Signetics Corporation Memory access controller
US5175828A (en) * 1989-02-13 1992-12-29 Hewlett-Packard Company Method and apparatus for dynamically linking subprogram to main program using tabled procedure name comparison
US5170465A (en) * 1989-06-30 1992-12-08 Digital Equipment Corporation Incremental-scanning compiler for source-code development system
US5182806A (en) * 1989-06-30 1993-01-26 Digital Equipment Corporation Incremental compiler for source-code development system
US5193191A (en) * 1989-06-30 1993-03-09 Digital Equipment Corporation Incremental linking in source-code development system
US5159678A (en) * 1990-06-11 1992-10-27 Supercomputer Systems Limited Partnership Method for efficient non-virtual main memory management

Also Published As

Publication number Publication date
EP0547759A3 (en) 1994-11-09
DE69230778T2 (de) 2000-10-26
DE69230778D1 (de) 2000-04-20
JP3391037B2 (ja) 2003-03-31
US5359721A (en) 1994-10-25
EP0547759B1 (en) 2000-03-15
EP0547759A2 (en) 1993-06-23

Similar Documents

Publication Publication Date Title
JP3391037B2 (ja) ダイナミックにリンクさせる方法、および、装置
US9189263B1 (en) Object synchronization in shared object space
Mullender et al. Amoeba: A distributed operating system for the 1990s
JP4771378B2 (ja) ファイル・システム逐次化再初期設定の装置、システム、および方法
US5835906A (en) Methods and apparatus for sharing stored data objects in a computer system
JP2708294B2 (ja) オブジェクト指向環境においてオブジェクトを処理する方法
US7213247B1 (en) Protection domains for a computer operating system
KR100473162B1 (ko) 로그인 서비스 변수를 보관하는 방법
US5574903A (en) Method and apparatus for handling request regarding information stored in a file system
US5581761A (en) Methods and apparatus for providing an extensible set of auxiliary services for objects in an object-oriented system
US7543301B2 (en) Shared queues in shared object space
EP0700000A2 (en) System and method combining a global object identifier with a local object address in a single object pointer
JPH06231029A (ja) データ処理装置およびデータ処理装置においてローカル・コンピュータから遠隔ファイルをアクセスする方法
JP4171537B2 (ja) データベース情報をアクセスする方法
US20040019887A1 (en) Method, system, and program for loading program components
US20040059882A1 (en) Method and apparatus for making independent data copies in a data processing system
US6829761B1 (en) Method and apparatus for managing shared memory in a run-time environment
US7689971B2 (en) Method and apparatus for referencing thread local variables with stack address mapping
US5615374A (en) Lock control method for resource
US20060253858A1 (en) Software service application and method of servicing a software application
JPS6339933B2 (ja)
JP3559571B2 (ja) データ処理装置およびデータ処理方法
Villela et al. Working with Microsoft CRT/UCRT and Memory Management
JPS62226367A (ja) デイジタル計算機システム
Soulard et al. A generic fragmented object structured framework for distributed storage support

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees