JPH0740227B2 - Data overlay segment allocation method - Google Patents

Data overlay segment allocation method

Info

Publication number
JPH0740227B2
JPH0740227B2 JP61265346A JP26534686A JPH0740227B2 JP H0740227 B2 JPH0740227 B2 JP H0740227B2 JP 61265346 A JP61265346 A JP 61265346A JP 26534686 A JP26534686 A JP 26534686A JP H0740227 B2 JPH0740227 B2 JP H0740227B2
Authority
JP
Japan
Prior art keywords
data
overlay
allocation method
address space
same address
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
JP61265346A
Other languages
Japanese (ja)
Other versions
JPS63118961A (en
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.)
NEC Corp
Original Assignee
NEC Corp
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 filed Critical NEC Corp
Priority to JP61265346A priority Critical patent/JPH0740227B2/en
Publication of JPS63118961A publication Critical patent/JPS63118961A/en
Publication of JPH0740227B2 publication Critical patent/JPH0740227B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は電子計算機のシステムに関し、特にそのオーバ
レイセグメント割当て方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic computer system, and more particularly to an overlay segment allocation method thereof.

(従来の技術) 従来、この種のオーバレイセグメント割当て方式では、
実行時に同一アドレスに割当てられたデータがアクセス
されたとき、オーバレイローダによりオーバレイは実行
されていた。
(Prior Art) Conventionally, in this type of overlay segment allocation method,
The overlay was being executed by the overlay loader when the data assigned to the same address was accessed during execution.

また、オーバレイ機能を有さないシステムにおいては、
複数のデータでアドレス空間を共有するために、ソース
プログラムを変更していた。
Also, in a system that does not have an overlay function,
The source program was modified to share the address space with multiple data.

(発明が解決しようとする問題点) 上述した従来のオーバレイセグメント割当て方式では、
実行時に、初期値のないデータセグメントに対しても、
オーバレイローダによりオーバレイが実行されているた
め、オーバレイ時のオーバーヘツドが存在するという欠
点がある。また、オーバレイ機能を有さないシステムで
は、ソースプログラムの変更が必要であると云う欠点が
ある。
(Problems to be Solved by the Invention) In the conventional overlay segment allocation method described above,
At run time, even for data segments that do not have initial values,
Since the overlay is executed by the overlay loader, there is a drawback that there is an overhead at the time of overlay. Further, a system having no overlay function has a drawback that the source program needs to be changed.

本発明の目的は、リンカによって割当てられたアドレス
空間が実行時のアドレス空間に対して一対一にマッピン
グされるシステムにおいて、複数のフェーズで構成さ
れ、前記フェーズのそれぞれが複数のモジュールから構
成されるプログラムに対してフエーズ内で局所的に使用
されるデータを、同一アドレスに割当てることを指定し
たコマンドを入力し、その指定に従つて複数のデータを
同一アドレスに割当てることによつて上記欠点を除去
し、オーバレイ時のオーバーヘツドが存在しないように
構成したデータのオーバレイセグメント割当て方式を提
供することにある。
An object of the present invention is to construct a system in which an address space allocated by a linker is mapped one-to-one with respect to a runtime address space, and the system is composed of a plurality of phases, and each of the phases is composed of a plurality of modules. Eliminates the above drawbacks by inputting a command that specifies that data locally used in the phase is assigned to the same address to the program and assigning multiple data to the same address according to the designation. Another object of the present invention is to provide a data overlay segment allocation method configured so that there is no overhead at the time of overlay.

(問題点を解決するための手段) 本発明によるデータのオーバレイセグメント割当て方式
は入力手段と、割当て手段とを具備して構成したもので
ある。
(Means for Solving Problems) The data overlay segment allocation method according to the present invention comprises an input means and an allocation means.

入力手段は、リンカによって割当てられたアドレス空間
が実行時のアドレス空間に対して一対一にマッピングさ
れるシステムにおいて、複数のフェーズで構成され、前
記フェーズのそれぞれが複数のモジュールから構成され
るプログラムに対して前記フェーズの内部で局所的に使
用されるデータを同一アドレスに割当てることを指定し
たコマンドを入力するためのものである。
The input means is composed of a plurality of phases in a system in which the address space allocated by the linker is mapped one-to-one with the address space at the time of execution, and each of the phases is composed of a plurality of modules. On the other hand, it is for inputting a command designating that the data locally used within the phase is assigned to the same address.

割当て手段は、上記コマンドによる指定に従つて複数の
データを同一アドレスに割当てるためのものである。
The allocating means is for allocating a plurality of data to the same address according to the designation by the command.

(実 施 例) 次に、本発明について図面を参照して説明する。(Example) Next, the present invention will be described with reference to the drawings.

第1図は、本発明によるデータのオーバレイセグメント
割当て方式を実現する一実施例を示すブロツク図であ
る。第1図において、1はオブジエクトモジユールライ
ブラリ、2はリンカ、2aは入力手段、2bは割当て手段、
3は入力コマンド、4はロードモジユルライブラリであ
る。
FIG. 1 is a block diagram showing an embodiment for realizing the data overlay segment allocation system according to the present invention. In FIG. 1, 1 is an object module library, 2 is a linker, 2a is an input means, 2b is an allocation means,
Reference numeral 3 is an input command, and 4 is a load module library.

第1図を参照すると、本発明は複数のデータを同一アド
レスに割当てるように指定したコマンドを入力するため
の入力手段2aと、入力手段2aで指定されたコマンドに従
つてそれらのデータを同一アドレスに割当てるための割
当て手段2bとを備えたリンカ2によつて構成される。リ
ンカ2は、オブジエクトモジユール1を入力し、入力コ
マンドに従つてロードモジユールを出力する。
Referring to FIG. 1, according to the present invention, an input means 2a for inputting a command designated to allocate a plurality of data to the same address, and those data are assigned to the same address according to the command designated by the input means 2a. And a allocating means 2b for allocating to the linker. The linker 2 inputs the object module 1 and outputs the load module according to the input command.

第2図は、入力プログラムにもとずいて本実施例の詳細
を図示する説明図である。第2図において、21は入力プ
ログラム、22はリンカ、23は入力コマンド、24はアドレ
ス空間である。
FIG. 2 is an explanatory diagram showing the details of the present embodiment based on the input program. In FIG. 2, 21 is an input program, 22 is a linker, 23 is an input command, and 24 is an address space.

次に、本発明を第2図を参照して具体的な入力プログラ
ムにもとずいて実施例の詳細を説明する。
Next, the details of the embodiment of the present invention will be described with reference to FIG. 2 based on a specific input program.

第2図において、21は入力プログラムの構成であり、主
プログラムMAINと、MAINから逐次的に呼び出される3つ
のフェーズ(副プログラムの場合)とから成るプログラ
ムであることを示す。A,B,Cは、それぞれフエーズ1〜
3で定義された初期値のないデータであり、各フエーズ
の中だけで使用される局所的なデータであるものとす
る。このように、フエーズ内で局所的な初期値のないデ
ータにおいては、同時に各データの記憶域が必要ではな
いため、各データを同一のアドレスに割当てることがで
きる。そこで、リンカ22への入力コマンドとして、デー
タ(A,B,C)を同一のアドレス空間に割当てることを指
定できる。この状況は、第2図に示す入力コマンド23よ
り明らかである。
In FIG. 2, reference numeral 21 denotes the structure of the input program, which is a program consisting of the main program MAIN and three phases (in the case of a sub program) sequentially called from MAIN. A, B, C are the phases 1 to 1, respectively.
It is assumed that the data has no initial value defined in 3 and is local data used only in each phase. In this way, in the data having no initial value locally in the phase, the storage area of each data is not required at the same time, so that each data can be assigned to the same address. Therefore, as the input command to the linker 22, it is possible to specify that the data (A, B, C) is assigned to the same address space. This situation is clear from the input command 23 shown in FIG.

第3図は、データが割当てられたアドレスの内部形式を
示す説明図である。第3図から明らかなように、リンカ
22は該当コマンド23を入力し、コマンドで指定されたデ
ータ(A,B,C)の定義アドレスに同一アドレス(8.10.00
00)をセツトする。これによつて、データ(A,B,C)が
同一のアドレス空間に割当てられ、第2図のアドレス空
間24に示すように、セグメント8.10はオーバレイセグメ
ントとなる。
FIG. 3 is an explanatory diagram showing the internal format of an address to which data is assigned. As is clear from Fig. 3, the linker
22 Input the corresponding command 23, and enter the same address (8.10.00) as the definition address of the data (A, B, C) specified by the command.
00) is set. As a result, the data (A, B, C) are assigned to the same address space, and the segment 8.10 becomes an overlay segment, as shown in the address space 24 in FIG.

第4図は、実行時にセグメントがデータによつてオーバ
レイされるようすを示した説明図である。
FIG. 4 is an explanatory diagram showing how segments are overlaid with data at the time of execution.

リンカ22によつて割当てられた8.10のセグメントが実行
される時、A,B,Cから成る3つのデータによつてオーバ
レイされることを、第3図と第4図を参照して説明す
る。第3図に示すように、データA〜Cはそれぞれの定
義アドレスによつてアクセスされる。従つて、第4図に
示すように、フエーズ1では、8.10のセグメントはデー
タAの記憶域として使用され、フエーズ2,フエーズ3と
制御が移行すると、8.10のセグメントはデータB、およ
びデータCによつてオーバレイされてゆく。
It will be explained with reference to FIGS. 3 and 4 that when the 8.10 segment allocated by the linker 22 is executed, it is overlaid by three data consisting of A, B and C. As shown in FIG. 3, the data A to C are accessed by their defined addresses. Therefore, as shown in FIG. 4, in phase 1, the 8.10 segment is used as a storage area for data A, and when control is transferred to phase 2 and phase 3, the 8.10 segment becomes data B and data C. It will be overlaid.

以上述べた処理によつて、リンク時に複数の初期値のな
いデータが同一アドレスに割当てられることによつて、
実行時には各データを同一のアドレスでアクセスするこ
とになる。つまり、オーバレイローダの介入なしに、初
期値のないデータのオーバレイが可能となる。
By the processing described above, by assigning a plurality of data without initial values to the same address at the time of linking,
At the time of execution, each data is accessed with the same address. That is, it is possible to overlay data without initial values without intervention of the overlay loader.

(発明の効果) 以上説明したように本発明は、オーバレイローダの介入
なしに同一アドレス空間を複数の初期値のないデータで
共有することにより、オーバレイによるオーバーヘツド
なしにアドレス空間を有効に活用できるという効果があ
る。
(Effect of the Invention) As described above, according to the present invention, the same address space can be shared by a plurality of data having no initial value without intervention of the overlay loader, so that the address space can be effectively utilized without the overhead due to the overlay. There is an effect.

特に、仮想記憶のないシステムでは、いつたんセグメン
トがメモリにロードされると、プログラムの実行終了ま
でメモリが解放されないため、メモリが有効に活用でき
るという効果がある。また、オーバレイ機能のないシス
テムでも、ソースプログラムの変更なしにアドレス空間
を有効に活用できるという効果がある。
In particular, in a system without virtual memory, once the segment is loaded into the memory, the memory is not released until the execution of the program ends, so that the memory can be effectively used. Further, even in a system having no overlay function, the address space can be effectively used without changing the source program.

【図面の簡単な説明】[Brief description of drawings]

第1図は、本発明によるデータのオーバレイセグメント
割当て方式の一実施例を示すブロツク図である。第2図
は、具体的な入力プログラムにもとずいて本実施例の詳
細を図示した説明図である。第3図は、データが割当て
られたアドレスの内部形式を示す説明図である。第4図
は、実行時にセグメントがデータによつてオーバレイさ
れるようすを示した説明図である。 1……オブジエクトモジユールライブラリ 2,22……リンカ 2a……入力手段 2b……割当て手段 3……入力コマンド 4……ロードモジユールライブラリ 21……入力プログラム 23……入力コマンド 24……アドレス空間
FIG. 1 is a block diagram showing an embodiment of a data overlay segment allocation system according to the present invention. FIG. 2 is an explanatory diagram showing details of the present embodiment based on a concrete input program. FIG. 3 is an explanatory diagram showing the internal format of an address to which data is assigned. FIG. 4 is an explanatory diagram showing how segments are overlaid with data at the time of execution. 1 …… Object module library 2,22 …… Linker 2a …… Input means 2b …… Assignment means 3 …… Input command 4 …… Load module library 21 …… Input program 23 …… Input command 24 …… Address space

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】割当てられたアドレス空間が実行時のアド
レス空間に対して一対一にマッピングされるシステムに
おいて、 複数のフェーズで構成され、前記フェーズのそれぞれが
複数のモジュールから構成されるプログラムに対して前
記フェーズの内部で局所的に使用されるデータを同一ア
ドレスに割当てることを指定したコマンドを入力するた
めの入力手段と、 前記指定に従って複数のデータを同一アドレスに割当て
るための割当て手段とを具備して構成したことを特徴と
するリンカによるデータのオーバーレイセグメント割当
て方式。
1. In a system in which an allocated address space is mapped one-to-one with respect to a runtime address space, a program is composed of a plurality of phases, and each of the phases is composed of a plurality of modules. And an allocating means for allocating a plurality of data to the same address according to the specification, and an input means for inputting a command designating that data locally used in the phase is allocated to the same address. A data overlay segment allocation method by a linker characterized by being configured as follows.
JP61265346A 1986-11-07 1986-11-07 Data overlay segment allocation method Expired - Lifetime JPH0740227B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61265346A JPH0740227B2 (en) 1986-11-07 1986-11-07 Data overlay segment allocation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61265346A JPH0740227B2 (en) 1986-11-07 1986-11-07 Data overlay segment allocation method

Publications (2)

Publication Number Publication Date
JPS63118961A JPS63118961A (en) 1988-05-23
JPH0740227B2 true JPH0740227B2 (en) 1995-05-01

Family

ID=17415899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61265346A Expired - Lifetime JPH0740227B2 (en) 1986-11-07 1986-11-07 Data overlay segment allocation method

Country Status (1)

Country Link
JP (1) JPH0740227B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2772778B2 (en) * 1995-10-24 1998-07-09 智一 福田 Water stop

Also Published As

Publication number Publication date
JPS63118961A (en) 1988-05-23

Similar Documents

Publication Publication Date Title
JPS6027964A (en) Memory access control circuit
JPH01154267A (en) Incorporating system for input/output device control program of operating system
US3778776A (en) Electronic computer comprising a plurality of general purpose registers and having a dynamic relocation capability
US6665700B1 (en) Distributed-memory multiprocessor system utilizing plural multiprocessors with virtual storage space
US5369750A (en) Method and apparatus for configuring multiple absolute address spaces
JPH0752420B2 (en) I / O device address method
JPH0740227B2 (en) Data overlay segment allocation method
US5511206A (en) Microprocessor based computer with virtual memory space in overwritable memory
JPS5844263B2 (en) memory control circuit
JP3304445B2 (en) Program generation processing device
KR920008959B1 (en) Method of transferring information for virtual computer system
JPS6143743B2 (en)
JPH0324644A (en) Automatic expansion system for file in multivolume
JP2552287B2 (en) System bus method
JP3333527B2 (en) Computer equipment
JPS63285647A (en) System for forming output file name
JP2943401B2 (en) External storage device allocation processing method for virtual machine
JPS635790B2 (en)
JPS5856885B2 (en) Address control method
JPS58168166A (en) Memory extension system
JPS6345669A (en) Multi-processor system
JPH0390931A (en) Generation of rom transformation program
JPH0470944A (en) Controlling system for multiplexer channel
JPH0344328B2 (en)
JPH02136929A (en) Reduction system for instruction sentence of object program