JPH0344328B2 - - Google Patents

Info

Publication number
JPH0344328B2
JPH0344328B2 JP60178984A JP17898485A JPH0344328B2 JP H0344328 B2 JPH0344328 B2 JP H0344328B2 JP 60178984 A JP60178984 A JP 60178984A JP 17898485 A JP17898485 A JP 17898485A JP H0344328 B2 JPH0344328 B2 JP H0344328B2
Authority
JP
Japan
Prior art keywords
entry
address
instruction
dynamic link
extended
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
Application number
JP60178984A
Other languages
English (en)
Other versions
JPS6238954A (ja
Inventor
Koichi Furugaki
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 JP60178984A priority Critical patent/JPS6238954A/ja
Publication of JPS6238954A publication Critical patent/JPS6238954A/ja
Publication of JPH0344328B2 publication Critical patent/JPH0344328B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

【発明の詳細な説明】 〔概要〕 例えば24ビツトでアドレスされる仮想空間で動
作するプログラムモジユールと、31ビツトで動作
するプログラムモジユールとの間で制御を移行す
る場合、アドレスモードの切換えを行う必要があ
る。本発明は、動的リンクの制御において動作モ
ードが異なるとき、プログラム管理部が、動的リ
ンク用テーブルから制御が渡される拡張移行用エ
ントリを付与することにより、この拡張移行用エ
ントリによつて、アドレスモードの切換えを伴う
拡張分岐命令が発行されるようにし、特に既存の
24ビツト・モードで動作するモジユールに修正を
加えることなく、アドレス拡張移行をなし得るよ
うにしている。
〔産業上の利用分野〕
本発明は仮想空間の上限が異なるアドレスモー
ドの切換え制御方式に係り、特に、動的リンク構
造の既存プログラムについて、スムーズに「アド
レス拡張移行」をできるようにした動的リンクに
よるアドレスモード切換え制御方式に関するもの
である。
〔従来の技術と問題点〕
特に、大型計算機システムでは、年々、プログ
ラムの規模が巨大化する傾向にあり、例えば24ビ
ツトのアドレスでは、ユーザプログラムは16MB
の仮想空間しか使用できないため、31ビツトによ
りアドレスするアドレス拡張機能が提供され、ユ
ーザプログラムは、2GBまでの巨大仮想空間を
利用できるようになつている。しかし、従来、
16MBの仮想空間で動作していたプログラムは、
そのままで2GBの仮想空間を使用できるわけで
はなく、16MB以上のアドレスを参照するために
は、プログラム内において、アドレスモードを切
換える必要がある。即ち、いわゆるBX命令や
BASX命令等のアドレス切換えを伴つて分岐す
る拡張分岐命令等を使用することにより、プログ
ラム状態語(PSW)上にアドレスモードを指定
する必要がある。
従つて、既存のユーザプログラムが、2GBの
仮想空間を使用するためには、まずプログラム内
でアドレスモードを切換えるための処理を、プロ
グラムに追加しなければならない。しかし、一般
に既存のモジユールは、何百、何千とあり、一度
に修正することは、極めて困難であるという問題
がある。
そのため、既存のユーザプログラムが、2GB
の仮想空間を使用できるようにするためのコンバ
ージヨン、即ち、「アドレス拡張移行」を容易に
する手段の提供が望まれている。
本発明の詳細を説明するに先立ち、本発明に関
連する従来の動的リンク構造について、第4図に
従つて説明する。
第4図において、10は呼出し元モジユール、
11はブランチアンドリンク命令、12はV形式
アドレス定数、13は動的リンク用テーブル、1
4は呼出し先モジユールに対応して作られるネー
ムエントリ、15は呼出し処理で使用されるリン
ケージエントリ、20は呼出し先モジユール、2
1は分岐命令、22は動的リンク時に制御が渡さ
れる制御プログラム内のプログラム管理部、23
はロードモジユールを主記憶へローデイングする
ローダ、27はロードモジユールが格納されたラ
イブラリを表す。
呼出し元モジユール10は、呼出し先モジユー
ル20を呼出して制御を渡す必要がある場合、予
めV形式アドレス定数12により、呼出し先モジ
ユール20の入口点名XYZを指定する。この指
定があると、リンクエデイツト時にリンケージエ
デイタによつて、動的リンク用テーブル13が作
成される。この動的リンク用テーブル13には、
アドレスが未解決のV形式アドレス定数に対応し
て、ネームエントリ14が設けられ、最後にリン
ケージエントリ15が設けられる。
ネームエントリ14には、リンケージエントリ
15の先頭へ分岐する命令14Aと、入口点アド
レス(初期値=0)と、入口点名が設定され、リ
ンケージエントリ15には、プログラム管理部2
2を呼出すスーパバイザコール(SVC)命令と、
入口点アドレスをレジスタにロードする命令と、
入口点アドレスへ分岐する命令とが、予め設定さ
れる。
動的リンクにおける動作は、以下の通りであ
る。
呼出し元モジユール10が、V形式アドレス
定数12をレジスタR15に指定して、ブラン
チアンドリンク命令11を発行すると、ネーム
エントリ14に制御が渡る。
呼出し先モジユール20の呼出しが初めて行
われた場合には、分岐命令14Aは、リンケー
ジエントリ15の先頭を指しているので、
SVC命令が実行される。
これにより、プログラム管理部22が起動さ
れ、プログラム管理部22は、ローダ23によ
つて、ライブラリ27から呼出し先モジユール
20を主記憶へロードし、分岐命令14Aのデ
イスプレイスメントdispに、2を加算する。ま
た、呼出し先モジユール20の入口点アドレス
が決まるので、ネームエントリ14に入口点ア
ドレスを設定する。
プログラム管理部22からの復帰により、入
口点アドレスのロード命令が実行される。
そして、分岐命令によつて、呼出し先モジユ
ール20の入口点(XYZ)へ制御が渡される。
呼出し先モジユール20による処理が終了する
と、分岐命令21によつて、呼出し元モジユー
ル10のブランチアンドリンク命令11の後
に、制御が戻される。
呼出し元モジユール10が、呼出し先モジユ
ール20を再び呼出す場合には、分岐命令14
Aのデイスプレイスメントが更新されているの
で、プログラム管理部22は呼出されず、直
接、リンケージエントリ15を介して、呼出し
先モジユール20へ制御が移行される。
なお、上記従来の動的リンクは、呼出し元と呼
出し先とのアドレスの動作モードが同じである場
合にのみ、有効となることは言うまでもない。
〔問題点を解決するための手段〕
本発明は上記問題点の解決を図り、ユーザプロ
グラムを修正することなく、動的リンク時に自動
的にアドレスモードの切換えがなされるように
し、例えば16MBの仮想空間で動作していたユー
ザプログラムが、2GBの仮想空間を使用できる
ようにするアドレス拡張移行を容易にする手段を
提供するものである。
第1図は本発明の原理ブロツク図を示す。
第1図において、第4図と同符号のものは、第
4図図示のものに対応する。16は動作モードが
異なるモジユール間の動的リンクにあたつて、プ
ログラム管理部22が割当てる拡張移行用エント
リ、17は入口点アドレスを所定のレジスタにロ
ードする命令、18はアドレス切換えを伴う拡張
分岐命令、24は呼出し元モジユール10と呼出
し先モジユール20とのアドレスの動作モードが
異なるか否かを判別するモード判別部、25は動
作モードが異なるとき、呼出し元モジユール10
に対し拡張移行用エントリ16を動的に割当てる
拡張移行用エントリ割当て部、26は拡張移行用
エントリ16が動的リンク用テーブル13の分岐
命令から制御が渡されるように動的リンク用テー
ブル13を更新するテーブル更新部を表す。
呼出し元モジユール10は、呼出し先モジユー
ル20のアドレスの動作モードが、自動作モード
と異なる場合であつても、従来と同様のインタフ
エースにより、動的リンクを指示する。本発明の
場合、ローダ23がライブラリ27から呼出し先
モジユール20をロードした後、モード判別部2
4によつて、呼出し先モジユール20の動作モー
ドを判別する。そして、呼出し元モジユール10
の動作モードと異なつていれば、拡張移行用エン
トリ割当て部25を起動する。拡張移行用エント
リ割当て部25が、拡張移行用エントリ16を用
意した後、テーブル更新部26によつて、動的リ
ンク用テーブル13から拡張移行用エントリ16
へ制御が移行されるように、動的リンク用テーブ
ル13を更新する。即ち、呼出し元モジユール1
0から呼出し先モジユール20への制御移行時
に、拡張移行用エントリ16が自動的に介入する
ようにして、ここで拡張分岐命令18により、ア
ドレスモードの切換えがなされるようにしてい
る。
動的リンク時の動作は、以下の通りである。図
面に付した番号ないしは、以下の説明番号に
対応している。
ブランチアンドリンク命令11により、V形
式アドレス定数12で指定されたネームエント
リ14の先頭に制御が渡される。
分岐命令14Aは、最初、リンケージエント
リ15の先頭を指しており、リンケージエント
リ15へ制御が移る。
SVC命令(SVC番号=45)により、プログ
ラム管理部22が起動される。
(i) ローダ23は、ライブラリ27から呼出し
先モジユール20をロードする。
(ii) モード判別部24は、アドレスの動作モー
ドを判別し、動作モードが異なるとき、拡張
移行用エントリ割当て部25を起動する。
(iii) テーブル更新部26は、拡張移行用エント
リ16に呼出し先モジユール20の入口点ア
ドレスを格納し、ネームエントリ14の入口
点アドレス設定部14Bに、拡張移行用エン
トリ16の先頭アドレスを設定する。分岐命
令14Aは、SVC命令の後を指すように更
新する。
プログラム管理部22からの制御復帰によ
り、入口点アドレス設定部14Bのデータがロ
ードされる。
入口点アドレス設定部14Bのデータは、拡
張移行用エントリ16の先頭アドレスとなつて
いるので、実際の入口点アドレスをロードする
命令17と、拡張分岐命令18とが実行され
る。
拡張分岐命令18により、アドレスモードが
切換えられると共に、呼出し先モジユール20
へ制御が渡される。
2回目以降の呼出し先モジユール20の呼出
し時には、SVC命令の実行が省略されて、リ
ンケージエントリ15および拡張移行用エント
リ16を介して、呼出し先モジユール20が呼
出される。
または、テーブル更新部26は、以下のよう
にテーブルを更新して、拡張移行用エントリ1
6を介在させるようにしてもよい。即ち、入口
点アドレス設定部14Bに、呼出し先モジユー
ル20の入口点アドレスを格納し、分岐命令1
4Aが拡張移行用エントリ16へ分岐するよう
に分岐先アドレスを設定する。これにより、2
回目以降の呼出し時には、分岐命令14Aか
ら、リンケージエントリ15を通らずに、拡張
移行用エントリ16へ制御が移行され、拡張分
岐命令18により、呼出し先モジユール20が
呼出される。
〔作用〕
動的リンク構造を持つプログラムは、静的リン
クの場合と異なり、モジユールは細分化されてい
る。そして、各モジユールは、要求時に制御プロ
グラムのプログラム管理部22によりロードさ
れ、制御が渡される。本発明はこの点に着目して
なされたもので、動的リンクでは、必ず最初にプ
ログラム管理部22が関与することから、プログ
ラム管理部22が、アドレスモードに関する動作
モードを判別し、アドレスモードを切換える命令
発行機構、即ち、拡張移行用エントリ16を動的
に付加することにより、ユーザプログラムが意識
することなく、アドレスモードを切換えて、呼出
し先のモジユールへ制御を移行できるようにして
いる。従つて、細分化されたモジユールを、必要
に応じて各モジユール毎に段階的にアドレス拡張
移行することが可能となる。
〔実施例〕
第2図は本発明の一実施例を説明するための
図、第3図は本発明の他の一実施例を説明するた
めの図である。
第2図に示す実施例は、呼出し元モジユール1
0から呼出し先モジユール20の呼出し時にも、
また呼出し先モジユール20から呼出し元モジユ
ール10への復帰時にも、自動的にアドレスモー
ドの切換えがなされるようにしたものである。
最初、動的リンク用テーブル13は、第2図イ
図示のようになつており、ネームエントリ14の
分岐命令14Aのデイスプレイスメントは、リン
ケージエントリ15までの相対距離aが設定され
ている。
呼出し元モジユール10が、「L 15、
VCON」命令を発行すると、ネームエントリ1
4のアドレスがレジスタR15にロードされ、
「BALR 14,15」命令によつて、レジスタ
R14に復帰アドレスが設定されると共に、分岐
命令14Aへの分岐が行われる。次に、分岐命令
14Aから「SVC 45」命令へ制御が渡され、
プログラム管理部が制御を得る。
本実施例の場合、プログラム管理部は、拡張移
行用エントリ16が設定される拡張テーブル30
が既に確保されているか否かを判定し、確保され
ていない場合には、ユーザ領域等から拡張テーブ
ル30を切り出し、その中に、ネームエントリ1
4に対応して、拡張移行用エントリ16を用意す
る。そして、動的リンク用テーブル13を、第2
図ロ図示のように更新する。即ち、分岐命令14
Aのデイスプレイスメントを「a+2」とし、入
口点アドレス設定部14Bに拡張移行用エントリ
16の先頭アドレスを設定する。拡張移行用エン
トリ16には、レジスタR14の退避域および入
口点アドレス設定部14Bの代わりとなる入口点
アドレス設定部19が設けられ、該設定部19に
呼出し先モジユール20の入口点アドレスが設定
される。
「SVC 45」命令からの戻りにより、また
は2回目以降の分岐命令14Aによる分岐によつ
て、「L 15,4,15」命令が実行されると、
レジスタR15には、拡張移行用エントリ16の
アドレスが設定される。そして、「BR 15」
命令により、拡張移行用エントリ16へ制御が移
行される。
拡張移行用エントリ16における命令aは、リ
ンク時に破壊してしまうレジスタR14を、領域
fに退避する命令である。命令bは、入口点アド
レスをロードする命令17であつて、領域gの内
容をレジスタR15にロードする。命令cは、拡
張分岐命令18であり、特に復帰アドレスをレジ
スタR14に退避し、かつアドレスモードを切換
えてレジスタR15のアドレスに分岐する命令で
ある。
呼出し先モジユール20からの復帰により、命
令dに制御が渡され、命令dは、領域fからレジ
スタR14の内容の内容を復元する。その後、命
令eによつて、呼出し元モジユール10へ制御を
戻す。命令eは、拡張分岐命令の1つであり、ア
ドレスモード切換えを伴う分岐命令である。これ
により、制御が呼出し元モジユール10に戻され
る場合にも、元のアドレスモードへの切換えが自
動的になされることになる。
第3図に示す実施例は、呼出し先モジユール2
0から、呼出し元モジユール10へ制御を戻すと
きに、呼出し先モジユール20が明示的にアドレ
スモード切換えを伴う拡張分岐命令を発行し、直
接、呼出し元モジユール10へ制御を戻す例であ
る。第2図に示した実施例との違いは、以下の通
りである。
拡張移行用エントリ16は、例えば仮想空間の
第1ページである固定アドレス領域に、ただ1つ
だけ設けられる。そして、呼出し先モジユール2
0への最初の動的リンクによつて、プログラム管
理部が起動されると、プログラム管理部は、動的
リンク用テーブル13を、第3図イの状態から第
3図ロ図示のように更新する。即ち、分岐命令1
4Aの分岐先を、拡張移行用エントリ16の先頭
アドレスFICEとする。入口点アドレス設定部1
4Bに呼出し先モジユール20の入口点(XYZ)
アドレスを設定する。また、入口点アドレス設定
部14Bの先頭1ビツトに、アドレスモードの表
示14B′を行う。即ち、先頭1ビツトを“1”
にして、拡張アドレスモードであることを記憶す
る。
動的リンク用テーブル13の更新後に、分岐命
令14Aが実行されると、拡張移行用エントリ1
6に制御が移行され、入口点アドレスをロードす
る命令17によつて、入口点アドレス設定部14
Bの内容がロードされる。そして、拡張分岐命令
18である「BX 0,15」命令によつて、ア
ドレスモード切換えと、呼出し先モジユール20
への分岐が同時に実行される。
例えば、24ビツト・モードのモジユール(以
下、旧モジユールという)から、31ビツト・モー
ドのモジユール(以下、新モジユールという)を
呼出す場合、新モジユールは、新たに作成または
修正されたモジユールであるので、第3図に示す
実施例を利用できる。新モジユールから旧モジユ
ールを動的リンクにより呼出す場合には、第2図
に示す実施例が都合がよい。第2図に示す実施例
と、第3図に示す実施例とを併存させて、実施す
ることも可能である。この場合、プログラム管理
部は、モジユール間の動作モードの組合わせによ
つて、拡張移行用エントリ16を使い分ける。も
ちろん、アドレスモードの切換えが必要でない場
合には、拡張移行用エントリ16は使用されず、
従来と同様な動的リンク制御がなされると考えて
よい。
〔発明の効果〕
以上説明したように、本発明によれば、動的リ
ンク時に自動的にアドレスモードを切換える拡張
分岐命令の発行機構が付与されるので、例えば、
24ビツト・モードの旧モジユールを何ら修正する
ことなく、旧モジユールと、31ビツト・モードの
新モジユールとの制御の受け渡しを実現できるよ
うになる。従つて、既存のユーザプログラムが、
旧大仮想空間を使用できるようにするためのコン
バージヨン、即ち、アドレス拡張移行を、必要に
応じて適当なモジユールから段階的に実施できる
こととなり、モジユールの修正に要する時間と労
力とを大幅に削減することが可能となる。
【図面の簡単な説明】
第1図は本発明の原理ブロツク図、第2図は本
発明の一実施例を説明するための図、第3図は本
発明の他の一実施例を説明するための図、第4図
は従来の動的リンク構造を説明する図である。 図中、10は呼出し元モジユール、13は動的
リンク用テーブル、14はネームエントリ、15
はリンケージエントリ、16は拡張移行用エント
リ、18は拡張分岐命令、20は呼出し先モジユ
ール、22はプログラム管理部、23はローダ、
24はモード判別部、25は拡張移行用エントリ
割当て部、26はテーブル更新部、27はライブ
ラリを表す。

Claims (1)

  1. 【特許請求の範囲】 1 仮想空間の上限が異なる複数の走行アドレス
    モード属性を有し、該アドレスモードの切換えを
    伴う拡張分岐命令機構を備えた計算機システムで
    あつて、動的リンク対象の呼出し先入口点情報が
    格納されるネームエントリ14および動的リンク
    を処理するプログラム管理部22を呼出す命令と
    分岐命令とが用意されたリンケージエントリ15
    を有する動的リンク用ケーブル13によつて、動
    的リンクを制御するようにされた計算機システム
    において、 上記リンケージエントリ15により呼出される
    プログラム管理部22は、 呼出し元モジユール10と呼出し先モジユール
    20のアドレスモードに関する動作モードが異な
    るか否かを判別する手段24と、 動作モードが異なるとき、少なくとも、所定の
    領域に格納された呼出し先入口点アドレスを所定
    のレジスタにロードする命令17とアドレスモー
    ドの切換えを伴う拡張分岐命令18とを含む命令
    コード列が格納された拡張移行用エントリ16を
    割当てる手段25と、 上記動的リンク用ケーブル13における制御移
    行先が、上記拡張移行用エントリ16に格納され
    た命令コード列の先頭になるよう上記動的リンク
    用テーブル13を更新する手段26とを備え、 上記拡張移行用エントリ16に格納された命令
    コード列の実行により、アドレスモードの切換え
    が行われるようにしたことを特徴とする動的リン
    クによるアドレスモード切換え制御方式。
JP60178984A 1985-08-14 1985-08-14 動的リンクによるアドレスモ−ド切換え制御方式 Granted JPS6238954A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP60178984A JPS6238954A (ja) 1985-08-14 1985-08-14 動的リンクによるアドレスモ−ド切換え制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP60178984A JPS6238954A (ja) 1985-08-14 1985-08-14 動的リンクによるアドレスモ−ド切換え制御方式

Publications (2)

Publication Number Publication Date
JPS6238954A JPS6238954A (ja) 1987-02-19
JPH0344328B2 true JPH0344328B2 (ja) 1991-07-05

Family

ID=16058079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60178984A Granted JPS6238954A (ja) 1985-08-14 1985-08-14 動的リンクによるアドレスモ−ド切換え制御方式

Country Status (1)

Country Link
JP (1) JPS6238954A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150126459A (ko) * 2014-05-02 2015-11-12 조익훈 센서 모듈 및 센서 모듈의 제조 방법

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2841363B2 (ja) * 1988-01-26 1998-12-24 日本電気株式会社 外部モジュール獲得方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150126459A (ko) * 2014-05-02 2015-11-12 조익훈 센서 모듈 및 센서 모듈의 제조 방법

Also Published As

Publication number Publication date
JPS6238954A (ja) 1987-02-19

Similar Documents

Publication Publication Date Title
US4587628A (en) Method and apparatus for dynamic invocation of utilities
JP3645276B2 (ja) 直接的な図形アクセスを可能にする方法および装置
US5136709A (en) Method for generating an operating system by a static link-editor
US6681267B2 (en) Virtual computer system and method for swapping input/output devices between virtual machines and computer readable storage medium
JP3138171B2 (ja) システム機能をダウンロードする方法
JPH0644085A (ja) アクセスを実行する方法及び装置並びにコンピュータシステム
JPH02272652A (ja) プログラム・モジュール・ロード及び実行方法
JPH09506457A (ja) アプリケーション・プログラム間のデータを統合するマネージング・リンクのためのリンク・マネジャ
US4719564A (en) Interpreter linkage system for linking extension interpreters to a basic interpreter
JPH06110715A (ja) 仮想計算機システムにおける計算機資源の動的割付け方法
JPH0344328B2 (ja)
JP2555920B2 (ja) オンラインリアルタイム処理装置
JPS585848A (ja) プログラム呼出し制御方式
JPH11249873A (ja) ドライバ機能の動的管理方式及び動的管理方法
JP2002024037A (ja) ダイナミック・リンク・ライブラリ・ファイルの更新方法
JP2990609B2 (ja) 計算機システム
JPS5856058A (ja) 仮想計算機システムcp常駐ボリユ−ムのdasd共用管理方式
JPH064477A (ja) 副ロードモジュール置換方式
JPH01207824A (ja) モジュール結合制御方式
JPH036535B2 (ja)
KR100308251B1 (ko) 실행시간백업정보의통합관리방법및그시스템
JPS6356728A (ja) プログラム修正実行方式
JPH04147340A (ja) データ管理呼出方式
JPH1021067A (ja) プログラムの動的修正方法
JPS6210725A (ja) マルチジヨブシステムでの画像管理方式

Legal Events

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