JPS59180744A - リエントラントプログラムの作業領域管理方式 - Google Patents

リエントラントプログラムの作業領域管理方式

Info

Publication number
JPS59180744A
JPS59180744A JP58056703A JP5670383A JPS59180744A JP S59180744 A JPS59180744 A JP S59180744A JP 58056703 A JP58056703 A JP 58056703A JP 5670383 A JP5670383 A JP 5670383A JP S59180744 A JPS59180744 A JP S59180744A
Authority
JP
Japan
Prior art keywords
program
work area
control table
pool
reentrant
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
JP58056703A
Other languages
English (en)
Other versions
JPH0452491B2 (ja
Inventor
Takanobu Fujimoto
孝信 藤本
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 JP58056703A priority Critical patent/JPS59180744A/ja
Publication of JPS59180744A publication Critical patent/JPS59180744A/ja
Publication of JPH0452491B2 publication Critical patent/JPH0452491B2/ja
Granted legal-status Critical Current

Links

Landscapes

  • Executing Machine-Instructions (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔発明の技術分野〕 本発明は、リエントラントプログラムの作業領域管理方
式に関し、特にGET MAIN/FREEMAINマ
クロ命令を用いることなしに、必要な作業域を未使用域
から容易に確保し管理することができる作業領域管理方
式に関する。
〔技術の背景〕
マルチプログラミングシステムあるいはマルチプロセッ
サシステムでは、関数計算など各プログラムが共通に必
要とする処理のサブルーチンを1それぞれのプログラム
が別々に保有した場合、主記憶装置の利用効率が低下す
ることから、そのようなサブルーチンについては主記憶
装置上に1つだけ置いて、各プログラムに共有させるこ
とが望ましい。
しかし、共有サブルーチンは、複数のプログラムによシ
同時並行的に使用されることがあるため、共有サブルー
チン内の命令あるいはデータはどのプログラムによって
も書き替えられないようにし、かつその作業領域は、共
有サブルーチンから切シ離して、共有サブルーチンを呼
び出した各プログラムごとに管理する必要がある。この
ような構造のサブルーチンは、リエントラント(再入可
能)プログラムと呼ばれる。
リエントクントプログラムの作業領域は、呼び出し元プ
ログラムが確保するか、あるいはりエンドラントプログ
ラムが実行されるときりエンドラントプログラムで動的
に確保する必要がある。第1図は後者の例を示し、1.
2はリエントプログラムである。各リエントラントプロ
グラムの先頭にGETMAINマクロを置き、最後にF
REEMAINマクロを置く。GETMAINマクロに
よシ、スーパーバイザにリージョン(メモリのユーザ域
)内領域の確保を依頼し、またFREEMA I Nマ
クロによシ、先に確保した領域の返却をスーパーバイザ
に依頼する。通常は、この方法が多くとられているが、
スーパーバイザの負担とな夛、処理性能を低下させる欠
点がある。
また、リエントラントプログラム自体の将来の性能向上
を考慮して、予め十分な大きさの領域をGETMAIN
マクロで確保しておき、実行時に、その中から必要々ス
ペースを自前で確保する方法がある。しかし、この方法
では、呼び出し関係にあるプログラム間のインタフェー
スが複雑にな9、第2図に示すように、3,4で示すリ
エントラントプログラムA、Hの間に、領域管理方式が
異なる5のプログラムXが介在するようなときには、リ
エントラントプログラムA、B間の領域を連結する領域
管理が困難となるため、適用できるプログラムに制約が
生じる。
〔発明の目的および構成〕
本発明の目的は、呼び出し関係にある複数のりエンドラ
ントプログラムの間に領域管理方式が異 3 − なる他のプログラムが挾まれている場合にも、スーパー
バイザに依存することなく、自前でかつ簡単な手段で作
業領域の確保を行なうことが可能なりエンドラントプロ
グラムの作業領域管理方式を提供することにある。
そして、本発明はそのための構成として、リエントラン
トプログラムを含む複数のプログラムが多重の呼び出し
関係で結合されているシステムにおいて、最初のりエン
ドラントプログラムが実行されるとき、自身および後続
のプログラムのための十分な作業領域プールを確保し、
かつ該作業領域プールの先頭位置情報を含む制御表を作
成するとともに、上記作業領域プールの所定の位置に空
き領域情報を格納し、上記制御表は、順次1つのプログ
ラムから呼び出された次のプログラムに制御が渡される
とき同時に引き渡され、各呼び出されたプログラムがリ
エントラントプログラムであるとき、核制御表から作業
領域プールの位置情報を得て、該プール内に格納されて
いる空き領域情報にもとづいて必要な作業領域を確保し
かつ空き 4− 領域情報を更新し、そして上記作業領域プール内に作業
領域を確保したプログラムが処理を終了したとき、該作
業領域を返却するとともに空き領域情報を復元すること
を特徴としている。
〔発明の実施例〕
以下に、本発明の詳細を実施例にしたがって説明する。
第3図は、第2図と同じプログラム例について本発明を
適用したものである。図中3,4は、それぞれリエント
ラントプログラムA、B、5は領域管理方式が異なるプ
ログラムX、6はスーパーバイザ、7は作業領域プール
、8は制御表Tを示す。最初にリエントラントプログラ
ムAが、実行開始時にGETMAINマクロによシ十分
大きな作業領域プール7を確保する。このとき作業領域
を管理する制御表Tが作成される。制御表Tは、確保さ
れている作業領域プールを指すポインタを含んでいる。
リエントラントプログラムAから、たとえば非すエント
ラントプログラムXへ、およびプログラムXからりエン
ドラントプログラムBへ、それぞれ呼び出しが行なわれ
たとき、制御表Tが引き渡される。この場合、プログラ
ムXは領域管理方式が異なるため、制御表Tは使用せず
に、次のリエントラントプログラムBへそのまま引き渡
す。リエントラントプログラムBは、制御表T中のポイ
ンタから、確保されている作業領域プールを知力、後述
するように、その中から自身の作業領域を確保する。
第4図は、作業領域の管理方法の1例を示したものであ
り、図中、7は作業領域プール、8は制御表T、9はプ
ログラムXの作業領域を示す。
制御表TKよシボインタされた作業領域プール7の先頭
アドレスには、作業領域プール7の最終アドレスP1が
格納され、次のアドレスには空き領域の先頭アドレスP
2が格納されている。
Pl、 P2の設定は、各リエントプログラムA、Bに
よシ行なわれ、プログラム中にはそのための記述を含ん
でいる。たとえばリエントラントプログラムBは、制御
表Tから作業領域プール7の先頭7− アドレスを求め、Pt l P2からプール中の空き領
域の大きさをチェックし、その中に自身の作業領域を設
定し、P2を新しい空き領域の先頭アドレスP′2で更
新する。
リエントラントプログラムBは処理を終了すると、作業
領域を返却し、P′2をP2に復元し、プログラムXに
実行権を戻す。プログラムXが処理を終了するとりエン
ドラントプログラムAに実行権を戻す。リエントラント
プログラムAは、処理の終シにFREEMA I Nマ
クロを実行し、スーパバイザ6に、作業領域プール7お
よび制御表8の返却処理を依頼する。
このように、リエントプログラムがいくつ続いても、各
リエントプログラムは、最初に確保された作業領域プー
ルの中に自身の作業領域を設定することができる。また
制御表を順次呼び出したプログラムへ引き渡す処理のプ
ログラム記述は、コンパイラによシ各プログラムに自動
的に付加されるようにすることができる。
〔発明の効果〕
−8= 以上のように本発明によれば、GETMAIN/FRE
EMA I NKよルスーハーパイザ−r−/l/ (
SVC)は最初のりエンドラントプログラムに限られる
ため、スーパーバイザの負担は軽減され、実行性能の向
上が得られる。
【図面の簡単な説明】
第1図および第2図は、それぞれ従来のりエンドラント
プログラムの作業領域を確保するための異なる方式を示
す図、第3図は本発明方式の実施例図、第4図はその空
き領域管理の説明図である。 図中、3,4はリエントラントプログラム、5は領域管
理方式が異なるプログラム、6はスーパーバイザ、7は
作業領域プール、8は制御表を示す。 特許出願人   富士通株式会社 代理人 弁理士 要否用 文 廣 (外1名) 第 ll1211 3   第 2 図 旺TMAIN          5    BCAl
j                cALLF RH
E MAIIJ A@域 X棒機

Claims (1)

    【特許請求の範囲】
  1. リエントラントプログラムを含む複数のプログラムが多
    重の呼び出し関係で結合されているシステムにおいて、
    最初のりエンドラントプログラムが実行されるとき、自
    身および後続のプログラムのための十分な作業領域プー
    ルを確保し、かつ該作業領域プールの先頭位置情報を含
    む制御表を作成するとともに、上記作業領域プールの所
    定の位置に空き領域情報を格納し、上記制御表は、順次
    1つのプログラムから呼び出された次のプログラムに制
    御が渡されるとき同時に引き渡され、各呼び出されたプ
    ログラムかりエンドラントプログラムであるとき、該制
    御表から作業領域プールの位置情報を得て、該プール内
    に格納されている空き領域情報にもとづいて必要な作業
    領域を確保しかつ空き領域情報を更新し、そして上記作
    業領域プール内に作業領域を確保したプログラムが処理
    を終了したとき、該作業領域を返却するとともに空き領
    域情報を復元することを特徴とするりエンドラントプロ
    グラムの作業領域管理方式。
JP58056703A 1983-03-31 1983-03-31 リエントラントプログラムの作業領域管理方式 Granted JPS59180744A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP58056703A JPS59180744A (ja) 1983-03-31 1983-03-31 リエントラントプログラムの作業領域管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP58056703A JPS59180744A (ja) 1983-03-31 1983-03-31 リエントラントプログラムの作業領域管理方式

Publications (2)

Publication Number Publication Date
JPS59180744A true JPS59180744A (ja) 1984-10-13
JPH0452491B2 JPH0452491B2 (ja) 1992-08-24

Family

ID=13034823

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58056703A Granted JPS59180744A (ja) 1983-03-31 1983-03-31 リエントラントプログラムの作業領域管理方式

Country Status (1)

Country Link
JP (1) JPS59180744A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61276041A (ja) * 1985-05-31 1986-12-06 Fujitsu Ltd 主メモリ共通作業領域の使用制御方式
JP2004234634A (ja) * 2003-01-06 2004-08-19 Matsushita Electric Ind Co Ltd コンパイラプログラム、コンパイラプログラムを記録したコンピュータ読み取り可能な記録媒体、コンパイル方法及びコンパイル装置
WO2016035354A1 (ja) * 2014-09-03 2016-03-10 三菱重工業株式会社 制御装置及び空調システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61276041A (ja) * 1985-05-31 1986-12-06 Fujitsu Ltd 主メモリ共通作業領域の使用制御方式
JP2004234634A (ja) * 2003-01-06 2004-08-19 Matsushita Electric Ind Co Ltd コンパイラプログラム、コンパイラプログラムを記録したコンピュータ読み取り可能な記録媒体、コンパイル方法及びコンパイル装置
WO2016035354A1 (ja) * 2014-09-03 2016-03-10 三菱重工業株式会社 制御装置及び空調システム
JP2016053440A (ja) * 2014-09-03 2016-04-14 三菱重工業株式会社 制御装置

Also Published As

Publication number Publication date
JPH0452491B2 (ja) 1992-08-24

Similar Documents

Publication Publication Date Title
JPH10500505A (ja) データ管理システム
JPS59180744A (ja) リエントラントプログラムの作業領域管理方式
JP2990286B2 (ja) マルチスレッド環境の計算機システム
JP2790472B2 (ja) 多重会話処理制御方式
JPS6351288B2 (ja)
JPS6150356B2 (ja)
JP2860990B2 (ja) プログラムの再実行用データ退避/復元方式
JPH04213733A (ja) 仮想プロセッサ方式
JPS61134844A (ja) 記憶装置における共用空間制御方式
JPS63109555A (ja) 仮想記憶空間サイズ動的変換方式
JPH04346136A (ja) 仮想命令プロセッサ構成制御方法
JPH0394346A (ja) バッファ拡張装置
JP3022398B2 (ja) 仮想計算機方式
JP3085202B2 (ja) メモリプライオリティ制御方式
JPS6123262A (ja) ドメイン動的再配置処理方式
JP2941809B2 (ja) 画像処理方法及びその装置
JP2623968B2 (ja) ジャーナルレスファイルのコミット同期制御方式
JPH0337748A (ja) 主記憶を利用した外部記憶アクセス方式
JPS5860357A (ja) タスク制御テ−ブル管理方式
JPH03218532A (ja) 任意起動プログラム管理方式
JPH02257232A (ja) 割り込み処理プログラム管理方法
JPS58168168A (ja) 端末のスワツプ・イン・スワツプ・アウト方式
JP2926873B2 (ja) 計算機システム
JPH01222335A (ja) マルチタスク処理方式
JPS60254228A (ja) マルチジヨブ環境下における画面表示制御方式