JPH03161835A - プログラムの動的ローディング処理方式 - Google Patents

プログラムの動的ローディング処理方式

Info

Publication number
JPH03161835A
JPH03161835A JP30125789A JP30125789A JPH03161835A JP H03161835 A JPH03161835 A JP H03161835A JP 30125789 A JP30125789 A JP 30125789A JP 30125789 A JP30125789 A JP 30125789A JP H03161835 A JPH03161835 A JP H03161835A
Authority
JP
Japan
Prior art keywords
program
load module
library
address
module library
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
JP30125789A
Other languages
English (en)
Inventor
Seikichi Yokoo
横尾 清吉
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP30125789A priority Critical patent/JPH03161835A/ja
Publication of JPH03161835A publication Critical patent/JPH03161835A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概 要〕 システムプログラムを必要な時に動的にローディングす
るプログラムの動的ローディング処理方式に関し, プログラムの呼出し性能を重視しつつ主記憶の有効利用
を可能とすることを目的とし,プログラムに呼出されて
グローバルサービスのためのプログラム群をローディン
グするスーパバイザを設け,ローカルサービスのための
プログラム群は主記憶上に存在させると共に制御表にお
いてそのアドレスをポイントさせ,かつ前記グローバル
サービスのためのプログラム群は前記主記憶以外に存在
させると共に前記制御表において対応するアドレスを所
定の状態とし,前記プログラムが前記制御表におけるア
ドレスが所定の状態である場合に前記スーパバイザを呼
出し,当該呼出されたスーパバイザが前記所定の状態の
アドレスに対応する前記グローバルサービスのためのプ
ログラム群を前記主記憶上にローディングするように構
威する。
〔産業上の利用分野〕
本発明はプログラムの動的ローディング処理方式に関し
,更に詳しくは,システムプログラムを必要な時に動的
にローディングするプログラムの動的ローディング処理
方弐に関する。
システムプログラムは,データ処理システムを使用する
上で基本的なソフトウェアであり.データ処理システム
の性能は,システムプログラムの質及びその取り扱いに
よって大きく左右される。
〔従来の技術〕
システムプログラムを使用する際にはシステムプログラ
ムを呼出す必要があるが,この呼出し方によってデータ
処理システムの性能が左右される。
そこで,高速な呼出しを可能にする等,システムプログ
ラムの呼出し性能を向上する必要がある。
このような要求に対応するために,本願出願人は.先に
プログラム呼出し性能を重視したプログラム番号呼出し
方式を提案している。この方式の概略を第5図に示す。
第5図は本発明の前提となった技術の説明図であり,プ
ログラム叩出し方式を示している。
第5図において,5はロードモジュールライブラリ番号
管理テーブル(Lmlib−number Table
 : LLT,以下,ライブラリテーブル),11はロ
ードモジュールライブラリエントリテーブル(Lmli
bEntry Table : LET ,以下エント
リテーブル),12はシステムプログラム.13はロー
ドモジュールライブラリである。
ライブラリテーブル5は,ロードモジュールライブラリ
番号を管理し,ロードモジュールライブラリ番号に対応
するエントリから当該ロードモジュールライブラリ番号
に対応するエントリテーブル11のアドレスをポイント
する。ロードモジュールライブラリ番号は,ロードモジ
ュールライブラリ13毎にシステムにおいて一意に割り
当てられた番号である。
ロードモジュールライブラリ13は,複数のシステムプ
ログラム12のロードモジュールを格納する(含む)も
のであって,ローディングの最小単位である。即ち,1
回のロードモジュールローディングで複数のシステムプ
ログラム12をローディングして,その性能を上げてい
る。
ロードモジュールライブラリ13には,エントリテーブ
ル11が設けられる。エントリテーブル11は,プログ
ラム番号と人口アドレスを管理し,プログラム番号に対
応するエントリから当該システムプログラムl2の人口
アドレスをポイントする。プログラム番号は.ロードモ
ジュールライブラリ13内プログラム番号であり.ロー
ドモジュールライブラリ内で一意に割り当てられた番号
である。
このプログラム呼出し方式においては,システムプログ
ラム12を呼出すプログラムの実行に先立って.予め全
てのシステムプログラム12(全てのロードモジュール
ライブラリ13)が,主記憶上にローディングされてい
る。そして,システムプログラム12を呼出すプログラ
ムは,ロードモジュールライブラリ番号及びプログラム
番号を指定することによって,システムプログラム12
を呼出す。この呼出しは,ローディングを伴わず,また
.ライブラリテーブル5及びエントリテーブル11を検
索するだけで入口アドレスを求めることができるので,
極めて高速である。
〔発明が解決しようとする課題〕
前述のプログラム番号呼出し方式によれば,プログラム
の呼出し性能は大幅に向上できるが,一方で主記憶の使
用量が膨大なものとなってしまうという問題を生ずる。
即ち.最低でも全てのシステムプログラム12の合計サ
イズ分以上の主記憶が必要になり,また,主記憶の有効
利用は不可能となる。
このことは.システムプログラム12のサイズがデータ
処理システムの機能充実に伴って増大する傾向にあるこ
とを考えると,実用化の大きな障害となる。
本発明は.プログラムの呼出し性能を重視しつつ主記憶
の有効利用を可能とするプログラムの動的ローディング
処理方式を提供することを目的とする。
〔課題を解決するための手段〕
第1図は本発明の原理構威図である。
第1図において1 2はプログラム,3はスーパバイザ
.4は主記憶.5は制御表(ライブラリテーブル),6
はシステムプログラム群,7はローカルサービスのため
の(LS用)ロードモジュールライブラリ,8はグロー
バルサービスのための(GS,Q3)  ロードモジュ
ールライブラリ,9は補助記憶である。
プログラム2は,制御表5に基づいて.システムプログ
ラム(12)を呼出す。システムプログラム群6は,各
々が複数のシステムプログラム(12)を含む複数のL
S用ロードモジュールライブラリ(プログラム群)7と
複数のGS用ロードモジュールライブラリ (プログラ
ム群)8とからなる。
制御表5は.ロードモジュールライブラリ7及び8毎に
,その主記憶4上におけるアドレスをポイントする。
プログラム2の実行に先立って,LS用ロードモジュー
ルライブラリ7は,予め,補助記憶9から主記憶4ヘロ
ーディングされ.主記憶4上に存在する。一方,GS用
ロードモジュールライブラリ8は,プログラム2の実行
の際に,主記憶4以外,即ち.補助記憶9に存在する。
これと共に,制御表5において,LS用ロードモジュー
ルライブラリ7については,その主記憶4上におけるア
ドレスがポイントされる。一方,゛GS用ロードモジュ
ールライブラリ8については.主記憶4上に存在しない
ので,対応するアドレスが所定の状態,例えば,「Oj
の如く実際にあり得ない状態とされる。なお,この状態
を「番号フォルト」という。
〔作 用〕
呼出しの対象がLS用ロードモジュールライブラリ7で
ある場合,プログラム2は,制御表5から,当該LS用
ロードモジュールライブラリ7の主記憶4上のアドレス
を知り,これを呼出すことができる。
一方,呼出しの対象がGS用ロードモジュールライブラ
リ8である場合,プログラム2は.制御表5から,当該
GS用ロードモジュールライブラIJ 8に対応するア
ドレスが所定の状態にあること(番号フォルト)を検出
する。そこで,プログラム2は スーパバイザ3を呼出
す。
呼出されたスーパバイザ3は,所定の状態とされたアド
レスに対応するGS用ロードモジュールライブラリ8を
.主記憶4上にローディングする。
これにより,プログラム2は,主記憶4上のGS用ロー
ドモジュールライブラリ8′を呼出すことができる。こ
のように,GS用ロードモジュールライブラリ8は.シ
ステムの動作中に番号フォルトが発生した時に.動的に
ローディングされる。
以上によれば,システムプログラム群6のうちLS用ロ
ードモジュールライブラリ7については,予め主記憶4
上に存在するので,高速に呼出すことが可能である。一
方,GS用ロードモジュールライブラリ8については,
番号フォルトが発生した時,即ち必要となった時に,初
めて、必要なもののみが,主記憶4上にローディングさ
れるので.主記憶4を不要に占有することが無く,主記
憶4を削減し,有効利用することができる。また,ロー
ディングされたGS用ロードモジュールライブラリ8′
に含まれる複数のシステムプログラム(l2)について
は,その後は主記憶4上に存在するので,高速に呼出す
ことが可能となる。
〔実施例〕
第2図は実施例構戒図であり.データ処理システムを示
している。
第2図において,10は管理テーブル.11はエントリ
テーブル,12はシステムプログラム,15はオペレー
ティングシステム(OS),16は処理装置である。
LS用及びGS用ロードモジュールライブラリ7及び8
は,図示の如く,同様の構威を有する。
即ち,LS用及びGS用ロードモジュールライブラリ7
及び8は,複数のシステムプログラム12のロードモジ
ュールを格納する(含む)ものであって,ローディング
の最小単位である。即ち,1回のロードモジュールロー
ディングで複数のシステムプログラム12をローディン
グして.その性能を上げている。LS用及びGS用ロー
ドモジュールライブラリ7及び8には,エントリテーブ
ル(LET)1 1が設けられる。エントリテーブルエ
1は,プログラム番号と入口アドレスを管理し,プログ
ラム番号に対応するエントリ0,1,・・・・・・10
23から当該システムプログラムl2の人口アドレスを
ポイントする。プログラム番号は,ロードモジュールラ
イブラリ内プログラム番号であり,LS用及びGS用ロ
ードモジュールライブラI7 7及び8の各々において
一意に割り当てられた番号である。
エントリテーブルIlにおいて,「X▼3FF ▼」は
,当該エントリテーブルl1のエントリが(3FF)+
b= (1 023) 1。まであることを示している
。従って,1つのLS用及びGS用ロードモジュールラ
イブラリ7及び8は,0番から1023番までの102
4個のシステムプログラム12を格納し得る.1つのL
S用及びGS用ロードモジュールライブラリ7及び8に
まとめられた複数のシステムプログラム12は.これら
のうちの1つが呼出されると続けて呼出される可能性が
極めて高いものの集合である。即ち,このようなシステ
ムプログラム12を1つの群としてまとめてライブラリ
を構威している. LS用ロードモジュールライブラリ7は.多重仮想記憶
制御において,各々の空間で共通に必ず使用される(シ
ステム)プログラム群である。GS用ロードモジュール
ライブラリ8は.多重仮想記憶制御において,各々の空
間で必要に応じて使用される(システム)プログラム群
である。LS用及びGS用ロードモジュールライブラリ
7及び8を主記憶4上即ち実記憶にローディングするこ
とにより.これらは各空間にバインドされる。
LS用ロードモジュールライブラリ7を予めローディン
グしておくことにより,これに含まれるシステムプログ
ラム12を,プログラム2が極めて高速に呼出すことが
できる。GS用ロードモジュールライブラリ8について
も,1度ローディングした後は,これに含まれ極めて高
い確率で連続して呼出されるシステムプログラムl2を
,プログラム2が極めて高速に呼出すことができる。そ
して.各クリ4s用ロードモジュールライブラリ8は,
それが必要になった時にのみ,主記憶4上にローディン
グされるので.主記憶4を有効利用しこれを削減するこ
とができる。
ライブラリテーブル(LLT)5は.ロードモジュール
ライブラリ番号を管理し.ロードモジュールライブラリ
番号に対応するエントリ0,・・・n−1,n,・・・
,511から当該ロードモジュールライブラリ番号に対
応するエントリテーブル11のアドレスをポイントする
。ロードモジュールライブラリ番号は,LS用及びGS
用ロードモジュールライブラリ7及び8毎にシステムに
おいて一意に割り当てられた番号である。
なお,初期状態のライブラリテーブル5において,LS
用ロードモジュールライブラリ7に対応するエントリに
は「アドレス」がセットされ,GS用ロードモジュール
ライブラリ8に対応するエントリには「0」がセットさ
れている。従って,ライブラリテーブル5は,LS用ロ
ードモジュールライブラリ番号管理テーブルであると見
ることもできる。
ライブラリテーブル5のエントリの内容のセットは,ス
ーパバイザ3によって行われる。また,スーパバイザ3
は.プログラム2の実行に先立って,LS用ロードモジ
ュールライブラリ7のローディングを行う。即ち,スー
パバイザ3は,システムプログラム12の管理を行う。
このためにスーパバイザ3は,管理テーブル10を持つ
。管理テーブル10は,例えば,各ロードモジュールラ
イブラリ7及び8がLS用かGS用かの識別情報,各L
S用及びGS用ロードモジュールライブラリ7及び8に
ついてのロードモジュールライブラリ番号とロードモジ
ュールライブラ゛リ名との対応情報等を格納する。スー
パバイザ3は,プログラム2の実行に先立って,識別情
報及び対応情報を用いて,LS用ロードモジュールライ
ブラリ7のみを主記憶4上にローディングし,プログラ
ム2の動作する空間にバインドする。また,スーパバイ
ザ3は,プログラム2の実行に先立って,識別情報等を
用いて,プログラム2の動作する空間についてのライブ
ラリテーブル5のエントリの各々に,主記憶4上でのロ
ーディング先の「アドレス」又は「0」をセットする。
なお,プログラム2及びスーパバイザ3は,オペレーテ
ィングシステム15を構威する。オペレーティングシス
テム15は,主記憶4上に常駐する。主記憶4は,中央
処理装置(CPU)と共に処理装置16を構威する。
第3図は動的ローディング処理フローであり.第4図は
プログラム呼出し説明図である。以下,第4図を参照し
つつ,第3図に従ってシステムプログラム12の呼出し
について説明する。
プログラム2の実行に先立って,スーパバイザ3が,管
理テーブル10に基づいて,ライブラリテーブル5を前
述の如き初期状態とすると共に,LS用ロードモジュー
ルライブラリ7を補助記憶9から主記憶4上にローディ
ングする。一方.GS用ロ一ドモジュールライブラリ8
は,補助記憶9に存在させられる。
プログラム2において.システムプログラム12の呼出
しは,第4図(A)図示の如く,コマンド「プログラム
の呼出要求」で当該システムプログラム12の入口番号
を指定することによって行われる。入口番号としては,
ロードモジュールライブラリ番号及びプログラム番号が
用いられ,この順に指定される。この場合,第4図(A
)図示の如<,「入口番号(10.20)Jと指定され
ているものとする。
■ プログラム2の実行が開始され,コマンド「プログ
ラムの呼出要求」が実行される。
■ 当該要求が実行されると,プログラム2は,まず第
4図(A)図示の如く,ライブラリテーブル5のロード
モジュールライブラリ番号「10」に対応するエントリ
を参照する。当該エントリの内容が第4図(A)図示の
如<,  ro」であれば,プログラム2は,番号フォ
ルトが発生したこと,即ち、当該システムプログラム1
2が含まれているGS用ロードモジュールライブラリ8
をローディングする必要があることを知る。
■ 番号フォルトを検出したプログラム2は.スーパバ
イザ3を呼出す。
■ スーパバイザ3は,管理テーブル10をサーチして
,当該要求のロードモジュールライブラリ(要求2I!
.1)番号「10」に対応するGS用ロードモジュール
ライブラリ名を知る。
■ スーパバイザ3は,GS用ロードモジュールライブ
ラリ名を用いて該当するGS用ロードモジュールライブ
ラリ8を補助記憶9から主記憶4上にローディングする
と共に,これをプログラム2の動作する空間にバインド
する。
■ スーパバイザ3は,ライブラリテーブル5のロード
モジュールライブラリ番号「10」に対応するエントリ
に,主記憶4上のGS用ロードモジュールライブラリ8
′のエントリテーブル11のアドレスをセットする。こ
れにより,第4図(B)の如く,番号フォルト(要求l
lt番号のフォルト)が解決される。
■ スーパバイザ3は,ロードモジュールライブラリ番
号「10」によりライブラリテーブル5のエントリ「1
0」を参照し,更にその内容が指すエントリテーブル1
lを参照し,プログラム番号「20」により当該エント
リテーブル11のエントリ「20」の内容を求める。こ
れが,呼出し先プログラム入口アドレスである。
■ スーパバイザ3は,求めた呼出し先プログラム入口
アドレスと共に,プログラム2に復帰する。
■ プログラム2は,スーパバイザ3から当該人口アド
レスを受け取ると,これに基づいて,第4図(B)の如
く,呼出し先プログラムであるシステムプログラムl2
に制御を渡す。即ち,システムプログラム12の呼出し
が行われる。
一方.処理■において番号フォルトが検出されない場合
.プログラム2は.第4図(B)の如く9ロードモジュ
ール番号「10」によりライブラリテーブル5のエント
リ「10」を参照し.更にその内容が指すエントリテー
ブル11を参照し.プログラム番号「20」により当8
亥エントリテーブル11のエントリ「20」の内容,即
ち,呼出し先プログラム人口アドレスを求める。この後
,処理■と同様の処理が行われる。
なお,番号フォルトの発生によりローデイングされたG
S用ロードモジュールライブラリ8′の格納アドレスは
,予め定められたものではなく,動的に求められる。そ
して,一度ローディングされたGS用ロードモジュール
ライブラリ8′に含まれるシステムプログラム12につ
いては,プログラム2自体が.ライブラリテーブル5及
びエントリテーブル11をサーチすることによって,高
速に呼出すことができる。
〔発明の効果〕
以上説明したように,本発明によれば,プログラムの動
的ローディング処理方式において,システムプログラム
をプログラム番号等で呼出すようにすると共にシステム
プログラムの一部を予めローディングし,一部を必要に
応じてローディングするようにすることによって,プロ
グラムからのシステムプログラムの呼出しを高速で行う
ことができ.また,主記憶の有効利用によりこれを削減
することができる。
【図面の簡単な説明】
第1図は本発明の原理構威図, 第2図は実施例構戒図, 第3図は動的ローディング処理フロー 第4図はプログラム呼出し説明図, 第5図は本発明の前提となった技術の説明図。 2はプログラム,3はスーパバイザ,4は主記憶,5は
制御表(ライブラリテーブル),6はシステムプログラ
ム群,7はローカルサービスのための(LS用)ロード
モジュールライブラリ,8はグローバルサービスのため
の(GS用)ロードモジュールライブラリ,9は補助記
憶,10は管理テーブル,11はエントリテーブル,1
2はシステムプログラム,13はロードモジュールライ
ブラリ, 15はOS, 16は処理装置である。

Claims (1)

  1. 【特許請求の範囲】 各々が複数のシステムプログラム(12)を含むローカ
    ルサービスのための及びグローバルサービスのための複
    数のプログラム群(7、8)とからなるシステムプログ
    ラム群(6)と、 前記プログラム群(7、8)毎に主記憶(4)上のアド
    レスをポイントする制御表(5)と、前記制御表(5)
    に基づいて前記システムプログラム(12)を呼出すプ
    ログラム(2)とを備えたデータ処理システムにおいて
    、 前記プログラム(2)に呼出されて前記グローバルサー
    ビスのためのプログラム群(8)をローディングするス
    ーパバイザ(3)を設け、 前記ローカルサービスのためのプログラム群(7)は前
    記主記憶(4)上に存在させると共に前記制御表(5)
    においてそのアドレスをポイントさせ、かつ前記グロー
    バルサービスのためのプログラム群(8)は前記主記憶
    (4)以外に存在させると共に前記制御表(5)におい
    て対応するアドレスを所定の状態とし、 前記プログラム(2)が前記制御表(5)におけるアド
    レスが所定の状態である場合に前記スーパバイザ(3)
    を呼出し、 当該呼出されたスーパバイザ(3)が前記所定の状態の
    アドレスに対応する前記グローバルサービスのためのプ
    ログラム群(8)を前記主記憶(4)上にローディング
    する ことを特徴とするプログラムの動的ローディング処理方
    式。
JP30125789A 1989-11-20 1989-11-20 プログラムの動的ローディング処理方式 Pending JPH03161835A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP30125789A JPH03161835A (ja) 1989-11-20 1989-11-20 プログラムの動的ローディング処理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30125789A JPH03161835A (ja) 1989-11-20 1989-11-20 プログラムの動的ローディング処理方式

Publications (1)

Publication Number Publication Date
JPH03161835A true JPH03161835A (ja) 1991-07-11

Family

ID=17894645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30125789A Pending JPH03161835A (ja) 1989-11-20 1989-11-20 プログラムの動的ローディング処理方式

Country Status (1)

Country Link
JP (1) JPH03161835A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191853A (ja) * 1993-12-27 1995-07-28 Nec Corp メモリファイル化処理システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5949641A (ja) * 1982-09-14 1984-03-22 Fujitsu Ltd プログラム呼出制御方式
JPS59180736A (ja) * 1983-03-31 1984-10-13 Fujitsu Ltd 計算機システムにおけるプログラムのリンケージ方式
JPS62231360A (ja) * 1986-03-31 1987-10-09 Pfu Ltd Ipl制御方式
JPS6476323A (en) * 1987-09-18 1989-03-22 Fujitsu Ltd Load module replacement system in on-line mode

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5949641A (ja) * 1982-09-14 1984-03-22 Fujitsu Ltd プログラム呼出制御方式
JPS59180736A (ja) * 1983-03-31 1984-10-13 Fujitsu Ltd 計算機システムにおけるプログラムのリンケージ方式
JPS62231360A (ja) * 1986-03-31 1987-10-09 Pfu Ltd Ipl制御方式
JPS6476323A (en) * 1987-09-18 1989-03-22 Fujitsu Ltd Load module replacement system in on-line mode

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191853A (ja) * 1993-12-27 1995-07-28 Nec Corp メモリファイル化処理システム

Similar Documents

Publication Publication Date Title
US4991088A (en) Method for optimizing utilization of a cache memory
JP3209793B2 (ja) データ処理装置
JP3155537B2 (ja) 実記憶管理方法
US5404476A (en) Multiprocessing system having a single translation lookaside buffer with reduced processor overhead
US6374238B1 (en) Routine executing method in database system
US4970639A (en) Virtual machine architecture independent program loader
JP2001508212A (ja) インスタンス化を用いた共有オペレーティングシステムカーネルコードに対する効率的なマルチユーザアクセスを提供するためのオブジェクトおよび方法
Bensoussan et al. The Multics virtual memory
JPH03161835A (ja) プログラムの動的ローディング処理方式
US5410663A (en) Method and system for cache memory congruence class management in a data processing system
US5794240A (en) Multi-threaded sorting system for a data processing system
JPH02211560A (ja) 情報処理システム
JPH0465717A (ja) プログラム呼び出し方法
CN117056031B (zh) 一种基于虚拟进程的跨容器动态库共享方法
JPH0324695B2 (ja)
US5925121A (en) Data processing system and method for accessing a common data memory
US8527484B2 (en) Accessing a data structure
JPH0221610B2 (ja)
JPH04217032A (ja) アドレス空間割り付け方式
JPH0327439A (ja) プログラムの共有モジュール管理方式
JPH02253337A (ja) リンケージエディタにおける内部テーブルのメモリ管理方式
JPH0128414B2 (ja)
JPS6340940A (ja) 共用プログラムの非共用パツチ方式
JPH0652510B2 (ja) エントリパージ処理方式
JPH07141189A (ja) オーバレイリンク方式