JPH04170643A - 最適セグメンテーション決定システム - Google Patents

最適セグメンテーション決定システム

Info

Publication number
JPH04170643A
JPH04170643A JP2299537A JP29953790A JPH04170643A JP H04170643 A JPH04170643 A JP H04170643A JP 2299537 A JP2299537 A JP 2299537A JP 29953790 A JP29953790 A JP 29953790A JP H04170643 A JPH04170643 A JP H04170643A
Authority
JP
Japan
Prior art keywords
module
segment
storage device
modules
information table
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
JP2299537A
Other languages
English (en)
Inventor
Misako Asao
朝生 美佐子
Tomiyuki Wakatsuki
若槻 冨幸
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
NEC Solution Innovators Ltd
Original Assignee
NEC Corp
NEC Software Chubu 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 NEC Corp, NEC Software Chubu Ltd filed Critical NEC Corp
Priority to JP2299537A priority Critical patent/JPH04170643A/ja
Publication of JPH04170643A publication Critical patent/JPH04170643A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は最適セグメンテーシ1ン決定システムに関し、
特にプログラムのロードモジュール構造に関し、特にオ
ーバレイ構造におけるセグメンテーションに関する。
〔従来の技術〕
一つのプログラムを主記憶領域に格納できない場合、ロ
ードモジュールをオーバレイ構造にして実行する。つま
り、そのプログラムを同時に実行されることのない幾つ
かの部分(セグメントとよぶ)に分割し、必要となった
セグメントのみを主記憶領域に格納して実行する。多く
の場合、プログラムは構造化プログラミング技法などに
より多数のモジュール(あるいはサブプログラムとよば
れる場合もある)から構成されて詔り、リンク時にそれ
らのモジュールをまとめて複数個のセグメントを形成す
る。この時、どのモジュールとどのモジュールとをまと
めて一つにする(この作業をセグメンテーションという
)かにおいては、ただ単にセグメントの大きさのみに着
目して行なわれていた。
〔発明が解決しようとする課題〕
上述した従来のセグメントの大きさのみに着目したので
は、必ずしも最適なセグメンテーションでなく、実行時
に必要なセグメントが主記憶領域に存在していない確率
が高く、頻繁にセグメントの置き換えが発生し、そのた
めスルーブツト等の性能低下の一要因となっていた。ま
た、最適なセグメンテーションにするためにシニミレー
ションなどにより試行錯誤を繰り返していたため多大な
時間を必要としていた。
〔課題を解決するための手段〕
本発明の最適セグメンテーシロン決定システムは、操作
の指示を入力する入力装置と、ロードモジュールを格納
する外部記憶装置と、プログラムを実行する中央処理装
置と、プログラムの実行時にプログラムを格納する主記
憶装置と、構造化プログラミングなどにおけるモジュー
ル間のインクフェースの有無を記憶するモジュール関連
情報テーブルと、セグメントとしてまとめるモジュール
名を記憶するセグメントテーブル群と、実行結果を出力
する出力装置とを有している。
〔実施例〕
次に、本発明について図面を参照して説明する。
第1図は本発明の一実施例を示し、これにもとすいて基
本的な考え方を説明する。第1図において、一般にプロ
グラムの実行は、外部記憶装置12に記憶しであるロー
ドモジュールを主記憶装置14上に展開し、その−命令
ずつを中央処理装置13で処理するという形態で行われ
る。また、それらの実行開始の指示等は入力装置11か
ら行われ、処理結果は出力装置17に出力される。オー
バレイ構造のロードモジュールでは主記憶装置14に展
開する単位がセグメントであり、本発明はその展開する
回数を可能な限り少なくすることを目的としている。
セグメンテーションを行う場合、まずモジュールの呼ぶ
/呼ばれる関係と呼ばれる回数を記憶する領域とを持つ
モジュール関連情報テーブル16を予め作成しておく。
次に、仮にリンクしたロードモジュールを実行させどの
モジュールからどのモジュールが呼ばれたかの回数をモ
ジュール関連情報テーブル15に記憶する。そして、そ
の回数の多い関係のモジュール同士からまとめてセグメ
ントテーブル群16を作成する。この時、セグメントの
大きさには制限があるのでこれを越えないようにする。
モジュール関連情報テーブル15について説明すると、
いまプログラム“PROGl”が“PROGOO”〜“
PROG95”の複数のモジュールで構成され、それが
第2図に示す階層構造であるとき、モジュール関連情報
テーブル15を作成すると第3図のようになる。
次に、セグメントテーブル群16の作成について説明す
る。前提として仮にリンクしたロードモジュールを実行
させてモジュールが呼ばれた回数が第5図に示す値を取
り、プログラム“PROGl”を構成するそれぞれのモ
ジュールの大きさが第4図に示す値(単位はバイト)で
あるとする。
さらに、セグメントサイズは、16KB(キロバイト)
までとする。第5図のモジュール関連情報テーブル15
は回数をキーにして降順にソートし第6図の状態にする
最初に第6図のモジュール関連情報テーブル15の項番
1について行う。セグメントテーブル16−1を作成し
、ここにモジュール“PROG30”、”PROG32
”とそれぞれの大きさとを登録し、大きさの合計を計算
する。そうすると第7図に示す状態となる。
同様にして項番2について行うと、前述のセグメントテ
ーブル16−1に登録しであるモジュールとは全く関係
ないので新たにセグメントテーブル16−2を作成しモ
ジュール名、モジュールの大きさ、合計値をそれぞれ登
録すると第8図の状態となる。
このように、今までと無関係なモジュールが出現した場
合は新たにセグメントテーブルを作成し登録を行う。ま
た、既に呼ぶモジュールか呼ばれるジュールかがセグメ
ントテーブルに登録されている場合はそのセグメントテ
ーブルに登録されていないほうのモジュールを追加し、
大きさを加算するという処理を繰り返す。
、項番7について行うと、”PROGIO”と“PRO
Gl3”をまとめる処理であるが、呼ぶモジュールの“
PROGlo”は第8図に示すようにセグメントテーブ
ル16−2に登録されているので、ここに“PROGl
 3”を追加すればよい。しかし、大きさを合計すると
17E38OB(バイト)となりセグメントサイズの1
6KBを越えるので加えることができない。結果として
第9図のセグメントテーブル16−5のように1つのモ
ジュールのセグメントテーブルとなる。
項番12について行うと、”PROG20”と“PRO
G92”とをまとめる処理である。その直前の状態は第
10図に示すように“PROG20”はセグメントテー
ブル16−4に“PROG92”はセグメントテーブル
16−8にそれぞれ登録されている。二つのセグメント
テーブルの大きさを合計すると13520Bで16KB
以下であるので統合が可能となり第11図のセグメント
テーブル16−4のようになる。ここで、統合された方
のセグメントテーブル16−8は不用となるので削除す
る。
項番15について行うと、”PROG32”と“PRO
G94”とをまとめる処理であるが、それぞれセグメン
トテーブル16−1とセグメントテーブル16−6に既
に登録されている。二つのセグメントテーブルの大きさ
を合計すると16720Bとなり16KBを越えるので
統合できず結果として第12図に示す状態となる。以上
のような処理を行った結果、セグメントサイズが18K
Bの場合第13図に示すセグメンテーションになる。
それでは、セグメントサイズが32KBのである時を考
える。この場合もセグメントテーブルの大きさが32K
B以下でなければならないことを除けばセグメントサイ
ズが16KBの場合と全く同じ処理を行えばよい。ただ
し、第6図のモジュール関連情報テーブル15における
項番19の“PROG30”と“PROG33”とをま
とめる処理では、項番18の処理を終えた状態で第14
図に示すようにセグメントテーブル16−1に既に二つ
のモジュールとも登録されている。このような場合は、
セグメントテーブル群16は変更せず、次の項番の処理
を行う。
以上のような処理を行った結果、セグメントサイズが3
2KBの場合第15図に示すセグメンテーションになる
〔発明の効果〕
以上説明したように本発明は、呼ばれる回数の多い関係
を優先してまとめるので必要とするモジュールが主記憶
上に存在する確率が高く、結果としてセグメントの置き
換え回数が少なくなる。さらに、セグメンテーションは
、仮にリンクしたロードモジュールを実行する時間とセ
グメントテーブル群を作成する時間のみであるので多く
の時間を必要としない。
【図面の簡単な説明】
第1図は本発明の概要図、第2図はプログラムの構造の
例を示す図、第3図は第2図の構造図をもとにしたモジ
ュール関連情報テーブルの登録例を示す図、第4図は第
2図の構造図を構成するモジュール−覧を示す図、第5
図は仮リンクしたロードモジュールの実施後のモジュー
ル関連情報テーブルの作成例を示す図、第6図は第5図
のモジュール関連情報テーブルのソート後の状態を示す
図、第7図から第12図はセグメントサイズが18KB
の時のセグメントテーブル群の作成例を示す図、第13
図は“セグメントサイズが18KBの時のセグメンテー
ション結果の出力例を示す図、第14図はセグメントサ
イズが32KBの時のセグメントテーブル群の作成例を
示す図、第15図はセグメントサイズが32KBの時の
セグメンテーション結果の出力例を示す図である。 11・・・入力装置、12・・・外部記憶装置、13・
・・中央処理装置、14・・・主記憶装置、15・・・
モジュ−ル関連情報テーブル、16・・・セグメントテ
ーブル群、17・・・出力装置、16−1〜16−8・
・・セグメントテーブル。

Claims (1)

    【特許請求の範囲】
  1. 操作の指示を入力する入力装置と、ロードモジュールを
    格納する外部記憶装置と、プログラムを実行する中央処
    理装置と、プログラムの実行時にプログラムを格納する
    主記憶装置と、構造化プログラミングなどにおけるモジ
    ュール間のインタフェースの有無を記憶するモジュール
    関連情報テーブルと、セグメントとしてまとめるモジュ
    ール名を記憶するセグメントテーブル群と、実行結果を
    出力する出力装置とを有するシステムにおいて、仮にリ
    ンクされたロードモジュールを実行させ、どのモジュー
    ルからどのモジュールが何回呼ばれたかをモジュール関
    連情報テーブルに記録し、その回数の多い関係から結合
    することを特徴とする最適セグメンテーシヨン決定シス
    テム。
JP2299537A 1990-11-05 1990-11-05 最適セグメンテーション決定システム Pending JPH04170643A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2299537A JPH04170643A (ja) 1990-11-05 1990-11-05 最適セグメンテーション決定システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2299537A JPH04170643A (ja) 1990-11-05 1990-11-05 最適セグメンテーション決定システム

Publications (1)

Publication Number Publication Date
JPH04170643A true JPH04170643A (ja) 1992-06-18

Family

ID=17873893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2299537A Pending JPH04170643A (ja) 1990-11-05 1990-11-05 最適セグメンテーション決定システム

Country Status (1)

Country Link
JP (1) JPH04170643A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293383A (ja) * 2006-04-20 2007-11-08 Toshiba Corp プログラム開発支援装置及びプログラム開発支援装置の動作方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293383A (ja) * 2006-04-20 2007-11-08 Toshiba Corp プログラム開発支援装置及びプログラム開発支援装置の動作方法

Similar Documents

Publication Publication Date Title
JPH04170643A (ja) 最適セグメンテーション決定システム
JPH05113818A (ja) 多重プログラム機能を有する数値制御装置
JPH0377135A (ja) 関数並び換え方式
JP2578887B2 (ja) プログラムのテスト方式
JP3046126B2 (ja) プログラムモジュールの呼び出し方式
JPS63106047A (ja) 動的サブル−チン呼び出し方式
JP2663600B2 (ja) 制御表再配置処理方式
JPH0465717A (ja) プログラム呼び出し方法
JPH0675757A (ja) 仮想空間常駐プログラムのリンク方式
JPH03282841A (ja) 可変長レコードの直接入出力処理方式
JPH02273828A (ja) 内部ソート方式
JPH07129408A (ja) 言語処理プログラムの実行方式
JPH05250410A (ja) 階層シンボル修正システム
JPH0371229A (ja) プログラム制御装置
JPH03290730A (ja) データの種別分類方式
JPH06175862A (ja) 電子計算機装置
JPS62163145A (ja) コンパイラ装置
JPS61206041A (ja) プログラム言語の拡張方法
JPH03269619A (ja) 漢字フィールドをソートキーとするソート処理方式
JPS63136227A (ja) プログラム格納フアイルの検索方式
JPH01205331A (ja) 大規模プログラムリンク方式
JPH02230333A (ja) 変数領域割当て方式
JPS62216037A (ja) ソ−スライブラリによるメツセ−ジ管理方式
JPH08329095A (ja) リレーショナルデータベースにおけるデータ検索方式
JPH0588951A (ja) ライブラリデータの保存方法及びコンピユータシステム