JPH02244237A - 動的リンク時のアドレスリロケーション方式 - Google Patents

動的リンク時のアドレスリロケーション方式

Info

Publication number
JPH02244237A
JPH02244237A JP6514789A JP6514789A JPH02244237A JP H02244237 A JPH02244237 A JP H02244237A JP 6514789 A JP6514789 A JP 6514789A JP 6514789 A JP6514789 A JP 6514789A JP H02244237 A JPH02244237 A JP H02244237A
Authority
JP
Japan
Prior art keywords
segment
address space
address
load module
entry
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.)
Pending
Application number
JP6514789A
Other languages
English (en)
Inventor
Koichi Toyoda
豊田 幸一
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP6514789A priority Critical patent/JPH02244237A/ja
Publication of JPH02244237A publication Critical patent/JPH02244237A/ja
Pending legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明はセグメント方式によりアドレス空間の記憶保護
を行なう計算機システムに関し、特に動的リンク時にア
ドレスリロケーションを行なう動的リンク時のアドレス
リロケーション方式に関する。
〔従来の技術〕
従来、セグメント方式でアドレス空間の記憶保護を行な
う計算機システムに於いては、セグメントのリロケーシ
ョンを行なう場合、動的リンクする入力ロードモジエー
ルのセグメントをアドレス空間の新しいセグメントエン
トリに割り当てるようにしている。従って、例えば、属
性が実行可能にされているセグメントLMI  (E)
及び読み出し/書き込み可能にされているセグメントL
MI(R/W)から構成されるロードモジエールLMl
と、属性が実行可能にされているセグメントLM2 (
E)、lみ出し/書き込み可能にされているセグメント
LM2 (R/w)及び読み出しのみ可能にされている
セグメントLM2 (R)から構成され、ロードモジュ
ールLMIによって呼び出されるロードモジュールLM
2と、属性が実行可能にされているセグメン)LM3 
(E)及び読み出しのみ可能にされているセグメントL
M3 (R)から構成され、ロードモジュールLM2に
よって呼び出されるロードモジエールLM3を入力とし
た場合、アドレス空間は第8図に示すものとなる。
〔発明が解決しようとする課題〕
しかし、上述した従来方式では、第8図に示すように、
小さなセグメントエリアが増えてアドレス空間を圧迫す
るという問題があると共に、ワーキングセットサイズが
増大し、実行性能が落ちるという問題点がある。
本発明の目的はアドレス空間の圧迫を防ぐと共に、ワー
キングセントサイズが増大することを防止することによ
り実行性能を高めるようにすることにある。
〔課題を解決するための手段〕
本発明は上記目的を達成するため、 セグメント方式によりアドレス空間の記憶保護を行なう
計算機システムに於いて、 セグメントの動的リンク時、前記セグメントの属性と同
一の属性を有するセグメントが前記アドレス空間に存在
することにより、前記セグメントを前記アドレス空間に
存在する同一属性のセグメントにバインドする。
〔作 用〕 リンクしようとするセグメントと同一の属性を有するセ
グメントがアドレス空間に存在する場合は、リンクしよ
うとするセグメントをアドレス空間に存在する同一属性
のセグメントにバインドする。
〔実施例〕
次に本発明の実施例について図面を参照して詳細に説明
する。
第1図は本発明の実施例のプロ7り図であり、セグメン
ト情1111sl−33を含むロードモジュールLMI
〜LM3と、ローダ1と、アドレス空間2と、ロードモ
ジュールセグメントエントリテーブル3と、リロケーシ
ョンテーブル4と、セグメントテーブル5とから構成さ
れている。
第2図は本実施例のアドレス形式を示す図であり、アド
レスは16ビツトのセグメント番号と、16ビツトのセ
グメント内オフセントとの計32ビットで表される。
第3図は第1図に示したロードモジュールLMINLM
3の呼び出し関係を示した図であり、ロードモジュール
LM2はロードモジュールLMIによって呼び出され、
ロードモジュールLM3はロードモジュールLM2によ
って呼び出される。
第4図(a)〜FC+はそれぞれロードモジュールLM
1〜11M3に含まれているセグメント情報81〜S3
の内容を示した図であり、ロードモジュールを構成する
各セグメントのセグメント番号に対応してその属性とサ
イズとが格納されている。尚、同図に於いて、属性Eは
実行可能なセグメントであることを示し、属性R/Wは
読み出し/書き込み可能なセグメントであることを、属
性Rは読み出しのみが可能なセグメントであることを示
している。
第5図(al、 (bl、 fc)はそれぞれ第1図に
示したロードモジュールセグメントエントリテーブル3
゜リロケーションテーブル4.セグメントテーブル5の
内容を示した図である。ロードモジエールセグメントエ
ントリテーブル3とリロケーションテーブル4はロード
モジュール中のアドレスをリロケーションするための情
報が格納されるテーブルであり、ロードモジュールセグ
メントエントリテーブル3には同図(alに示すように
ロードモジュール名に対応してロードモジュールを構成
するセグメントの数を示すセグメントエントリ数と、そ
のロードモジュールについての情報が格納されているリ
ロケーションテーブル4のエントリの内の先頭のエント
リを示すテーブルエントリ番号とが格納され、リロケー
ションテーブル4には同図(blに示すようにロードモ
ジュールのセグメントのセグメント番号に対応してリロ
ケーション後のセグメントアドレスと、属性と、サイズ
とが格納される。
また、セグメントテーブル5はアドレス空間のセグメン
トの使用状況を示すテーブルであり、同図telに示す
ようにアドレス空間2のセグメントエントリのセグメン
ト番号に対応してセグメントエントリの属性と、サイズ
とが格納される。
第6図は動的リンク時のローダ1の処理例を示す流れ図
であり、以下各図を参照して本実施例の動作を説明する
ローダ1はロードモジュールLMIのロード時、ロード
モジエールセグメントエントリテーブル3゜リロケーシ
ッンテーブル4及びセグメントテーブル5に必要な情報
を書き込む、ロードモジュールセグメントエントリテー
ブル3に対してはロードモジュールLMIのロードモジ
ュール名LMIを書き込むと共に、それに対応させてセ
グメントエントリ敗「2」と、テーブルエントリ番号「
#1」とを書き込み、リロケーシッンテーブル4に対し
てはそのエントリ#1.#2にそれぞれロードモジュー
ルLMIを構成する2つのセグメントのセグメント番号
rlooOJ、  rloolJを書き込むと共に、そ
れに対応させてリロケーション後のセグメントアドレス
r10000000J、  rloolooooJと、
属性rEJ、rR/WJと、サイズr4000J、  
r8000」とを書き込む、また、セグメントテーブル
5に対してはロードモジエールLMIを構成する2つの
セグメントに割り当てたアドレス空間2のセグメントの
セグメント番号rlooOJ、  rloolJを書き
込むと共に、それに対応させて属性「E」。
rR/WJと、サイズr4000J、  r8000J
とを書き込む。
その後、ロードモジュールLMIが実行され、ロードモ
ジュールLMIからCALL  LM2によってローダ
1が起動されると、ローダ1は第6図の流れ図に示すよ
うに、先ず、ロードモジュールLMZ中のセグメント情
報S2を入力する(ステップA)0次いで、ローダ1は
セグメント情報S2に含まれている3つのセグメントに
対する情報の内の1つを入力セグメントに対する情報と
し、この入力セグメントに対する情報の内の属性に関す
る情報とセグメントテーブル5の内容の内の属性に関す
る情報とに基づいて、アドレス空間2に既に存在してい
るセグメントエントリの中から入力セグメントと属性が
等しいセグメントを格納しているセグメントエントリを
探し出す(ステップB)、そして、入力セグメントと属
性の等しいセグメントを格納している既存のセグメント
エントリを探し出せた場合は、入力セグメントに対する
情報の内のサイズに関する情報と、セグメントテーブル
5の内容の内のサイズに関する情報とに基づいて、探し
出したセグメントエントリに入力セグメントを格納可能
か否かを判断する(ステップC)、そして、入力セグメ
ントをステップBで探し出した既存のセグメントエント
リに格納可能であると判定した場合は入力セグメントを
上記既存のセグメントエントリに格納されているセグメ
ントにバインドする(ステップD)、また、ステップB
で入力セグメントと同一の属性を有するセグメントを格
納している既存のセグメントエントリを探し出せなかっ
た場合及びステップCで既存のセグメントエントリに入
力セグメントを格納できないと判定した場合は入力セグ
メントを新しいセグメントエントリに割り当てる(ステ
ップE)。
上述したようにして、入力セグメントを格納するアドレ
ス空間2内のセグメントエントリを決定すると、ローダ
1は入力セグメントのセグメント番号をすaケージタン
テーブル4の新たなエントリに書き込むと共に、それに
対応して入力セグメントのリロケーション後のセグメン
トアドレス。
属性及びサイズを書き込むことによりリロケーシッンテ
ーブル4の内容を更新する(ステップF)。
尚、リロケーション後のセグメントアドレスは入力セグ
メントを既存のセグメントのバインドした場合は、入力
セグメントをバインドした既存のセグメントの最終アド
レスの次のアドレスとし、入力セグメントを新たなセグ
メントエントリに割り当てた場合は上記新たなセグメン
トエントリの先頭アドレスとするものである0次いで、
ローダ1はセグメントテーブル5の内容を更新する(ス
テップG)、尚、入力セグメントを新たなセグメントエ
ントリに割り当てた場合は、リロケーションテーブル4
の新たなエントリに入力セグメントを割り当てるセグメ
ントエントリのセグメント番号と、入力セグメントの属
性、サイズとを対応して書き込み、入力セグメントを既
存のセグメントにバインドした場合は、入力セグメント
をバインドしたセグメントエントリのサイズを入力セグ
メントのサイズを加算したサイズに変更する。
上述した処理をロードモジエールLM2に含まれている
3つのセグメント全てについて行なうと(ステップH)
、ローダ1はロードモジエールセグメントエントリテー
ブル3の新しいエントリにロードモジュールLM2のロ
ードモジエール名LM2と、セグメントエントリ数「2
」と、テーブルエントリ番号「#3」を書き込むことに
より、ロードモジュールセグメントエントリテーブル3
の内容を更新しくステップI)、その後ロードモジュー
ルセグメントエントリテーブル3とリロケーションテー
ブル4とを参照し、ロードモジエールLMZ中のアドレ
スをリロケーションする(ステップJ)。
ロードモジュールLM2からのCALL  LM3によ
って起動された場合もローダ1は前述したと同様の処理
を行なう、その結果、各テーブル3゜4.5の内容はそ
れぞれ第5図(a)、 (bl、 IcIに示すものと
なり、アドレス空間2は第7図に示すようになる。第7
図と第8図とを比較して判るように、本実施例のように
することにより、セグメントエントリを節約することが
可能となる。尚、第8図に於いて、第7図と同一符号は
同一部分を表している。
(発明の効果) 以上説明したように、本発明は、動的リンク時、リンク
しようとするセグメントをアドレス空間に既に存在する
属性の等しいセグメントにバインドするようにしたもの
であるので、アドレス空間を有効利用することができる
効果があると共に、ワーキングサイズを小さなものとし
、実行性能を高めることができる効果がある。
【図面の簡単な説明】
第1図は本発明の実施例のブロック図、第2図はアドレ
ス形式を示す図、 第3図はロードモジエールLMI〜LM3の呼出し関係
を示す図、 第4図はセグメント情報5l−33の内容を示す図、 第5図は各テーブル3. 4. 5の内容を示す図、第
6図はローダ1の処理例を示す流れ図、第7図はリロケ
ーション後のアドレス空間2を示す図及び、 第8図は従来方式の説明図である。 図に於いて、1・・・ローダ、2・・・アドレス空間、
3・・・ロードモジュールセグメントエントリテーブル
、4・・・リロケーションテーブル、5・・・セグメン
トテーブル、LMI〜LM3・・・ロートモ、ジュール
、81〜S3・・・セグメント情報。

Claims (1)

  1. 【特許請求の範囲】 セグメント方式によりアドレス空間の記憶保護を行なう
    計算機システムに於いて、 セグメントの動的リンク時、前記セグメントの属性と同
    一の属性を有するセグメントが前記アドレス空間に存在
    することにより、前記セグメントを前記アドレス空間に
    存在する同一属性のセグメントにバインドすることを特
    徴とする動的リンク時のアドレスリロケーション方式。
JP6514789A 1989-03-17 1989-03-17 動的リンク時のアドレスリロケーション方式 Pending JPH02244237A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6514789A JPH02244237A (ja) 1989-03-17 1989-03-17 動的リンク時のアドレスリロケーション方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6514789A JPH02244237A (ja) 1989-03-17 1989-03-17 動的リンク時のアドレスリロケーション方式

Publications (1)

Publication Number Publication Date
JPH02244237A true JPH02244237A (ja) 1990-09-28

Family

ID=13278478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6514789A Pending JPH02244237A (ja) 1989-03-17 1989-03-17 動的リンク時のアドレスリロケーション方式

Country Status (1)

Country Link
JP (1) JPH02244237A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052778A (en) * 1997-01-13 2000-04-18 International Business Machines Corporation Embedded system having dynamically linked dynamic loader and method for linking dynamic loader shared libraries and application programs
US6363436B1 (en) 1997-01-27 2002-03-26 International Business Machines Corporation Method and system for loading libraries into embedded systems

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6052778A (en) * 1997-01-13 2000-04-18 International Business Machines Corporation Embedded system having dynamically linked dynamic loader and method for linking dynamic loader shared libraries and application programs
US6363436B1 (en) 1997-01-27 2002-03-26 International Business Machines Corporation Method and system for loading libraries into embedded systems

Similar Documents

Publication Publication Date Title
US6681239B1 (en) Computer system having shared address space among multiple virtual address spaces
US5526523A (en) Interface between operating system and operating system extension
US5553286A (en) System and method for preparing a computer program for execution
JPH05150981A (ja) データ処理装置
US5175830A (en) Method for executing overlays in an expanded memory data processing system
JPH02244237A (ja) 動的リンク時のアドレスリロケーション方式
US6499094B1 (en) Management of memory heap space for data files accessible to programs operating in different addressing modes
JPH01144152A (ja) データ処理システムの制御方法
WO2002037272A2 (en) Improved frameworks for invoking methods in virtual machines
US5450587A (en) Expanded memory addressing scheme
JP2555920B2 (ja) オンラインリアルタイム処理装置
CN117056031B (zh) 一种基于虚拟进程的跨容器动态库共享方法
JP2990609B2 (ja) 計算機システム
JP2865291B2 (ja) モジュール結合制御方式
JPH06110759A (ja) ファイルシステム
JPS63174145A (ja) デ−タ処理装置
JPS62171034A (ja) サブル−チン・リンク方式
KR830000265B1 (ko) 정보처리 장치
JPH01205331A (ja) 大規模プログラムリンク方式
JPH0934788A (ja) アドレス変換装置及びアドレス変換方法
JPS6358555A (ja) フアイルスペ−ス管理方式
JPH02306473A (ja) 磁気ディスク装置
WO2010113380A1 (ja) 計算機システム
JPH01191232A (ja) 外部モジュール獲得方式
JPH05274144A (ja) 情報処理装置