JPH0740227B2 - Data overlay segment allocation method - Google Patents
Data overlay segment allocation methodInfo
- 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
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.
第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)
レス空間に対して一対一にマッピングされるシステムに
おいて、 複数のフェーズで構成され、前記フェーズのそれぞれが
複数のモジュールから構成されるプログラムに対して前
記フェーズの内部で局所的に使用されるデータを同一ア
ドレスに割当てることを指定したコマンドを入力するた
めの入力手段と、 前記指定に従って複数のデータを同一アドレスに割当て
るための割当て手段とを具備して構成したことを特徴と
するリンカによるデータのオーバーレイセグメント割当
て方式。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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2772778B2 (en) * | 1995-10-24 | 1998-07-09 | 智一 福田 | Water stop |
-
1986
- 1986-11-07 JP JP61265346A patent/JPH0740227B2/en not_active Expired - Lifetime
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 |