JP3079228B2 - 基本プログラム実行方法 - Google Patents

基本プログラム実行方法

Info

Publication number
JP3079228B2
JP3079228B2 JP02270752A JP27075290A JP3079228B2 JP 3079228 B2 JP3079228 B2 JP 3079228B2 JP 02270752 A JP02270752 A JP 02270752A JP 27075290 A JP27075290 A JP 27075290A JP 3079228 B2 JP3079228 B2 JP 3079228B2
Authority
JP
Japan
Prior art keywords
program
area
basic
address
address resolution
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 - Fee Related
Application number
JP02270752A
Other languages
English (en)
Other versions
JPH04147336A (ja
Inventor
孝則 寺田
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 JP02270752A priority Critical patent/JP3079228B2/ja
Publication of JPH04147336A publication Critical patent/JPH04147336A/ja
Application granted granted Critical
Publication of JP3079228B2 publication Critical patent/JP3079228B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔概要〕 拡張域で動作するプログラムに静的に結合された基本
プログラムを基本域で動作させる基本プログラム実行方
法に関し、 拡張プログラム中にある基本域で動作しならればなら
ない基本プログラム(モジュール)を基本域で動作させ
ることを目的とし、 ライブラリ共通領域中のライブラリ共通テーブルから
ポイントするアドレス解決テーブルのアドレスでポイン
トし、基本域で動作する基本プログラムを拡張プログラ
ム中に設け、ファイルオープン時などに上記ライブラリ
共通テーブルからポイントする上記アドレス解決テーブ
ルのアドレスでポイントするアドレス解決ルーチンを起
動し、このアドレス解決ルーチンが新たなアドレス解決
テーブルを作成してこれらのアドレスを上記ライブラリ
共通テーブルに設定、基本域にプログラム用領域を確保
してこれの入口(必要に応じて副入口)のアドレスをア
ドレス解決テーブルに設定、およびプログラム用領域に
上記拡張プログラム中の基本プログラムをコピーし、拡
張プログラム中の基本プログラムを基本域で動作可能に
するように構成する。
〔産業上の利用分野〕
本発明は、拡張プログラム中にある基本プログラムを
基本域で動作させる基本プログラム実行方法に関するも
のである。
〔従来の技術〕
データを管理するプログラムは、基本域(アドレスが
224−1で表現できる範囲)にローディングしなければ
ならない。従来、FORTRANの実行時ライブラリのデータ
管理を利用する部分は、トランジェントモジュール(FO
RTRANのプログラムと結合編集時でなく、実行時に結合
されるロードモジュールライブラリ)として提供してい
た。トランジェントモジュールにしておけば、OS(オペ
レーティングシステム)が基本域にローディングする。
〔発明が解決しようとする課題〕
しかし、新しいFORTRANは、このトランジェントモジ
ュールを利用しない形態も提供することとなり、このよ
うなデータ管理を利用する部分もユーザ作成のプログラ
ムと結合されることとなる。ユーザがそのプログラムを
拡張プログラム(アドレスが231−1で表現できる範
囲)として作成した場合、このようなデータ管理を利用
している部分が動作しなくなってしまうという問題があ
る。
本発明は、拡張プログラム中にある基本域で動作しな
ければならない基本プログラム(モジュール)を基本域
で動作させることを目的としている。
〔課題を解決するための手段〕
第1図を参照して課題を解決するための手段を説明す
る。
第1図において、ライブラリ共通テーブル1は、ライ
ブラリ共通領域中に設けたテーブルであって、アドレス
解決テーブル2、2−1のアドレスを設定するテーブル
である。
アドレス解決テーブル2は、拡張プログラム中に設け
た基本域でのみ動作する基本プログラム4の入口、副入
口のアドレスなどを設定したテーブルである。
アドレス解決テーブル2−1は、ファイルオープン時
などに新たに設けたテーブルであって、基本プログラム
用領域4−1にコピーした基本域でのみ動作する基本プ
ログラム4の入口、副入口のアドレスなどを設定するテ
ーブルである。
アドレス解決ルーチン3は、アドレス解決テーブル2
からポイントされ、基本プログラム用領域4−1を確保
したり、これに基本プログラム4をコピーしたりなどす
るルーチンである。
基本プログラム4は、基本域でのみ動作するプログラ
ムである。
〔作用〕
本発明は、第1図に示すように、ファイルオープン時
などにライブラリ共通テーブル1からポイントするアド
レス解決テーブル2のアドレスでポイントするアドレス
解決ルーチン3を起動し、このアドレス解決ルーチン3
が新たなアドレス解決テーブル2−1を作成してこれの
アドレスをライブラリ共通テーブル1に設定、基本域に
プログラム用領域4−1を確保してこれの入口(必要に
応じて副入口)のアドレスをアドレス解決テーブル2−
1に設定、および拡張プログラム域中の基本プログラム
4をプログラム用領域4−1にコピーし、拡張プログラ
ム中の基本プログラム4を基本域で動作可能にしてい
る。
従って、拡張プログロム中にある基本域でのみ動作す
る基本プログラム4を基本域にコピーして動作させるこ
とが可能となる。
〔実施例〕
次に、第1図および第2図を用いて本発明の1実施例
の構成および動作を順次詳細に説明する。
第1図において、ライブラリ共通テーブル(LCA)1
は、ライブラリ共通領域中に設けたテーブルである。こ
のライブラリ共通テーブル1は、後述する第2図に示す
ように、応用プログラムであるFORTRANプログラムで例
えばREAD文を実行するために呼び出されたときに、該当
する処理を呼び出すためのアドレスを設定するテーブル
であって、本実施例ではここにアドレス解決テーブル
2、2−1のアドレスを設定するようにしている。
アドレス解決テーブル2は、拡張プログラムに静的に
結合された基本域でのみ動作する基本プログラム4の入
口、副入口のアドレスなどを設定するテーブルであり、
ここでは先頭にアドレス解決ルーチン3を呼び出すアド
レスを設定したテーブルである。先頭にアドレス解決ル
ーチン3を呼び出すアドレスを設定することにより、フ
ァイルオープ時などにアドレス解決ルーチン3を起動
し、第1図(イ)の初期状態から、第2図フローチャー
トの手順に従って、第1図(ロ)コピー後の状態にする
ことができる。
アドレス解決テーブル2−1は、ファイルオープン時
などに新たに作成したテーブルであって、基本プログラ
ム用領域4−1にコピーした基本域でのみ動作する基本
プログラム4の入口、副入口のアドレスなどを設定する
テーブルである。
アドレス解決ルーチン3は、アドレス解決テーブル2
からポイントされ、基本プログラム用領域4−1を確保
したり、これに基本プログラム4をコピーしたりなどす
るルーチンである。
基本プログラム4は、基本域でのみ動作するプログラ
ムである。
第1図(イ)は、初期状態を示す。これは、基本域で
動作する基本プログラム4を含むモジュールの場合の構
成である。ここで、ライブラリ共通テーブル1からアド
レス解決テーブル2をポイントし()、先頭に格納し
たアドレスによってアドレス解決ルーチン3を起動し
()、後述する第2図のフローチャートの手順に従っ
て、第1図(ロ)に示すように、アドレス解決テーブル
2−1の作成、基本プログラム用領域4−1の確保、こ
れに基本プログラム4のコピーなどを行う。
第1図(ロ)は、コピー後の状態を示す。これは、第
1図(イ)でファイルオープン時に起動されたアドレス
解決ルーチン3が、第2図フローチャートに従って、新
たなアドレス解決テーブル2−1の作成、基本域に基本
プログラム用領域4−1を確保、これに基本プログラム
4をコピー、基本プログラム用領域4−1のアドレスを
アドレス解決テーブル2−1に設定、元の拡張域中の基
本プログラム4のアドレスをアドレス解決テーブル2−
1に設定などを図示のように行う。
次に、第2図フローチャートを用いて第1図(イ)の
状態から、第1図(ロ)の状態にする動作を詳細に説明
する。ここで、FORTRANプログラム中のREAD文を実行
し、ライブラリー(READ文)を呼び出したことに対応し
て、図中のフローチャートに従った処理を開始する(ST
ARTする)。
は、ファイルがOPEN済か否かを判別する。YESの場
合には、既にオープン済であり、第1図(イ)の初期状
態から第1図(ロ)コピー後の状態に設定されているの
で、終了する(END)。一方、NOの場合(オープン済で
ない場合)には、に進む。
は、ローディング位置が基本域か否かを判別する。
これは、FORTRANプログラムを基本域にローディング
(トランジェントモジュールと指定されていたときは基
本域にローディング)したか否かを判別する。YESの場
合には、FORTRANプログラム自体を基本域にローディン
グしたので、本発明で言う。拡張域に基本プログラムを
ローディングしたときに動作しない状態が発生すること
がないので、何もしなく終了する(END)。一方、NOの
場合には、拡張域に基本域でのみ動作する基本プログラ
ム4をローディングしたので、本発明に係る以降の処
理を行う。
は、アドレス解決ルーチン3が新たなアドレス解決
テーブル2−1の領域を確保する。これは、第1図
(イ)の状態で、READ文の実行時にライブラリが呼び出
されとき、第1図ライブラリ共通テーブル1のREAD文に
対応するエントリから、に示すようにアドレス解決テ
ーブル2のアドレスを取り出し、このアドレス解決テー
ブル2の先頭に格納されているアドレスによって、に
示すようにアドレス解決ルーチン3を呼び出して起動
し、このアドレス解決ルーチン3が第1図(ロ)新たな
アドレス解決テーブル2−1の領域を確保する。
は、LCA(ライブラリ共通テーブル)に、確保した
アドレス解決テーブル2−1のアドレスを入れる(第1
図(ロ))。これにより、ライブラリ共通テーブル1
が、元のアドレス管理テーブル2に代わってポイントさ
れることとなる。
は、拡張域で動作可能なプログラムか否かを判別す
る。これは、第1図(イ)元のアドレス解決テーブル2
に格納されている1つのアドレスのプログラムが拡張域
で動作可能なプログラムか否かを判別する。YESの場合
(拡張域で動作可能なプログラムの場合)には、でこ
のプログラムのアドレスを、新たに作成したアドレス解
決テーブル2−1に入れ、で全てのプログラムについ
て処理を終了するまでを繰り返し行う。NOの場合(拡
張域で動作しなく、基本域でのみ動作するプログラムの
場合)には、でプログラム用領域4−1を基本域に確
保し、そのアドレスをアドレス解決テーブル2−1に入
れ(第1図(ロ))、で拡張域にある基本プログラ
ム4を、基本域に基本プログラム用領域4−1を確保し
てコピーし、で更に副入口のプログラムの先頭からの
変位が元のアドレス解決テーブル2に入っているので、
の値にこの変位を加え、アドレス解決テーブル2−1
に入れ(第1図(ロ))、で全てのプログラムにつ
いて処理を終了するまでを繰り返し行う。第1図
(イ)アドレス解決テーブル2のアドレスのプログラム
について全て以降の処理を終了した場合(YESの場
合)、オープン処理を行い、一連のオープン時の処理を
終了する(END)。
以上のオープン時の処理によって、第1図(イ)の初
期状態から、第1図(ロ)のコピー後の状態になり、基
本プログラム4を基本域に確保した基本プログラム用領
域4−1にコピーするため、以降基本域にローディング
した基本プログラム4を利用して、例えばデータ管理を
行うことが可能となる。
〔発明の効果〕
以上説明したように、本発明によれば、拡張プログラ
ム中にある基本域でのみ動作する基本プログラム4をオ
ープン時などに基本域にコピーして動作可能にする構成
を採用しているため、基本プログラムが拡張プログラム
中に作成されても、この基本プログラムを動作させるこ
とができる。これにより、従来は基本域で動作させなけ
ればならないモジュールはトランジェントモジュールと
していたが、本発明により、トランジェントモジュール
を利用しない形態でもサポートすることができるように
なった。
【図面の簡単な説明】 第1図は本発明の1実施例構成図 第2図は本発明の動作説明フローチャートを示す。 図中、1:ライブラリ共通テーブル 2、2−1:アドレス解決テーブル 3:アドレス解決ルーチン 4:基本域で動作する基本プログラム 4−1:基本域に確保した基本プログラム用領域

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】拡張域で動作するプログラムと基本域での
    み動作する基本プログラムを静的に結合してオブジェク
    トプログラムを生成し、該オブジェクトプログラムを拡
    張域にロードして実行する基本プログラム実行方法にお
    いて、 ライブラリ共通領域中のライブラリ共通テーブル(1)
    からポイントするアドレス解決テーブル(2)に、上記
    オブジェクトプログラム中の基本プログラム(4)のア
    ドレスおよびアドレス解決ルーチン(3)のアドレスを
    設定しておき、 ファイルオープン時などに上記ライブラリ共通テーブル
    (1)からポイントする上記アドレス解決テーブル
    (2)のアドレスでポイントするアドレス解決ルーチン
    (3)を起道し、このアドレス解決ルーチン(3)は、
    上記オブジェクトプログラムが拡張域にロードされてい
    ることを検出した場合に、新たなアドレス解決テーブル
    (2−1)を作成してこれのアドレスを上記ライブラリ
    共通テーブル(1)に設定、基本域にプログラム用領域
    (4−1)を確保してこれの入口および副入口がある場
    合にはその副入口のアドレスをアドレス解決テーブル
    (2−1)に設定、および該プログラム用領域(4−
    1)に上記拡張域にロードされている基本域でのみ動作
    する基本プログラム(4)をコピーして基本域で動作さ
    せるように構成したことを特徴とする基本プログラム実
    行方法。
JP02270752A 1990-10-10 1990-10-10 基本プログラム実行方法 Expired - Fee Related JP3079228B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02270752A JP3079228B2 (ja) 1990-10-10 1990-10-10 基本プログラム実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02270752A JP3079228B2 (ja) 1990-10-10 1990-10-10 基本プログラム実行方法

Publications (2)

Publication Number Publication Date
JPH04147336A JPH04147336A (ja) 1992-05-20
JP3079228B2 true JP3079228B2 (ja) 2000-08-21

Family

ID=17490488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02270752A Expired - Fee Related JP3079228B2 (ja) 1990-10-10 1990-10-10 基本プログラム実行方法

Country Status (1)

Country Link
JP (1) JP3079228B2 (ja)

Also Published As

Publication number Publication date
JPH04147336A (ja) 1992-05-20

Similar Documents

Publication Publication Date Title
JP2569092B2 (ja) 入出力機器制御プログラムのアドレス解決方法
JPH06110678A (ja) プログラム実行方式及び実行プログラムの動的変更方法
JPH04245543A (ja) サブプログラム呼び出しを実行する方法および装置と            コンパイラ装置
US20040123308A1 (en) Hybird of implicit and explicit linkage of windows dynamic link labraries
JPH09231077A (ja) コンピュータプログラムのサイズを縮小する方法
JPS63101931A (ja) プログラム制御方式
JP3079228B2 (ja) 基本プログラム実行方法
JPS6378231A (ja) 部分的プログラム結合方式
JPH02304635A (ja) プログラム暴走検知方法
JP2871693B2 (ja) クリティカルセクション最適化方式
JPH0497435A (ja) 例外処理制御方式
JP2990609B2 (ja) 計算機システム
JPH03189819A (ja) プログラムの呼び出し処理装置
JPS62212734A (ja) 中間コ−ドプログラムの実行方式
JPH05282134A (ja) 分割ロードモジュール作成方式
JPH02257224A (ja) 連係編集処理装置
JPS6156816B2 (ja)
JPH0447337B2 (ja)
JPS58132845A (ja) ファイル処理方式
JPH02231639A (ja) サービスプログラム呼出し方式
JPH0465717A (ja) プログラム呼び出し方法
JPS63163543A (ja) 情報処理装置
JP3177845B2 (ja) モジュール結合装置
JPS61128336A (ja) サブプログラム非常駐化方式
JPS62242236A (ja) プログラム自動ロ−デイング制御方式

Legal Events

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