JPS63201721A - Program linking system - Google Patents
Program linking systemInfo
- Publication number
- JPS63201721A JPS63201721A JP62034310A JP3431087A JPS63201721A JP S63201721 A JPS63201721 A JP S63201721A JP 62034310 A JP62034310 A JP 62034310A JP 3431087 A JP3431087 A JP 3431087A JP S63201721 A JPS63201721 A JP S63201721A
- Authority
- JP
- Japan
- Prior art keywords
- segment
- page
- attribute
- segments
- rewritable
- 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
Links
- 238000012856 packing Methods 0.000 claims description 25
- 238000000034 method Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 2
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は、コンピュータシステムにおけるプログラムリ
ンク方式に関する。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a program linking method in a computer system.
(従来の技術)
セグメンテーションベージング方式と呼ばれる仮想記憶
制御方式の場合、セグメントと呼ばれる論理単位でアド
レス割付は等の処理を行い、実メモリとの対応をページ
と呼ばれる固定サイズの単位で行っている。(Prior art) In the case of a virtual memory control method called the segmentation baging method, processing such as address allocation is performed in logical units called segments, and correspondence with real memory is performed in fixed-size units called pages. .
ロードモジュール上のページは、リンク時にオブジェク
トモジュールからロードモジュールへ変換され、実行時
にはパッキングストアファイルと呼ばれるファイル上に
移され、そこからページの入出力処理が実行されている
。しかし、書換え不可能なセグメントのみから構成され
るページは、パッキングストアファイル上から入力する
ととがあっても、書戻されることはなく、ロードモジュ
ール上のページを入力するだけで済む。つまり、書換え
可能なセグメントを含むページのみをパッキングストア
ファイルに移せば、パッキングストアファイルの容量を
有効に利用することができる。When a page on a load module is linked, it is converted from an object module to a load module, and when executed, it is moved to a file called a packing store file, from which page input/output processing is executed. However, even if a page consisting only of non-rewritable segments is input from the packing store file, it will not be written back, and only the page from the load module can be input. In other words, by moving only pages containing rewritable segments to the packing store file, the capacity of the packing store file can be used effectively.
セグメンテーションベージング方式において、リンカは
第2図で示されるように、入力されたオブジェクトモジ
ュールに含まれるセグメントに対して、入力順にアドレ
スを割付けていた。In the segmentation baging method, as shown in FIG. 2, the linker allocates addresses to segments included in input object modules in the order of input.
@2図において、4はリンカ、41はセグメント入力処
理、42はセグメント配置処理、43はページ作成処理
、5はオブジェクトファイル、51はオブジェクトモジ
ュール、61はロードモジュールである。In Figure @2, 4 is a linker, 41 is a segment input process, 42 is a segment placement process, 43 is a page creation process, 5 is an object file, 51 is an object module, and 61 is a load module.
第2図を参照して従来のリンク処理を説明する。Conventional link processing will be explained with reference to FIG.
リンカ4において、オブジェクトファイル5の内部にあ
るオブジェクトモジュール(OM)Slを処理するとき
、セグメント入力手段41によってセグメント5fe−
人力し、セグメント配置手段42によってアドレスを割
付け、入力すべきセグメントがなくなったとき、ページ
作成手段43によってロードモジュール52上にページ
を作成する。When the linker 4 processes the object module (OM) Sl in the object file 5, the segment input means 41 inputs the segment 5fe-
When there are no more segments to input, the page creation means 43 creates a page on the load module 52.
(発明が解決しようとする問題点)
上述した従来のリンク方式では、書換え可能なセグメン
トを含むページのみをパッキングストアファイルに移し
たとしても、個々の書換え可能なセグメントのサイズが
小さい。したがって、それぞれが別々のページに分散し
ている場合、それらのページはパッキングストアファイ
ルに移す必要があり、書換え可能なセグメントのサイズ
に比べてパッキングストアファイルがかなシ大きくなる
という問題があつ念。(Problems to be Solved by the Invention) In the conventional linking method described above, even if only pages containing rewritable segments are transferred to the packing store file, the size of each rewritable segment is small. Therefore, if each is distributed in separate pages, those pages must be moved to a packing store file, which creates the problem that the packing store file becomes extremely large compared to the size of the rewriteable segment.
本発明の目的は、リンク処理において、入力オブジェク
トモジュール内のセグメントの属性を識別し、識別され
たセグメントの属性を管理して、同一属性のセグメント
を連続して配置してセグメントからページを作成すると
ともに、実行時においては上記ページ作成処理により作
成されたページのうち書換え可能なページのみをパッキ
ングストアファイルに作成することによって上記欠点を
除去し、パッキングストアファイルが大きくなることが
ないように構成したリンク方式を提供するととKある。An object of the present invention is to identify the attributes of segments in an input object module in link processing, manage the attributes of the identified segments, and create a page from the segments by consecutively arranging segments with the same attributes. At the same time, the above disadvantages are eliminated by creating only rewritable pages among the pages created by the above page creation process in the packing store file during execution, and the packing store file is configured to not grow large. There are K that provide linking methods.
(問題点を解決するための手段)
本発明によるプログラムリンク方式は、セグメント属性
識別手段と、セグメントa性管理手段と、セグメント配
置手段と、ページ作成手段と、パッキングストアファイ
ル作成手段とを具備して構成したものである。(Means for Solving Problems) The program linking method according to the present invention includes a segment attribute identification means, a segment a property management means, a segment arrangement means, a page creation means, and a packing store file creation means. It is composed of
セグメント属性識別手段は、リンク処理において入力オ
ブジェクトモジュール内のセグメントの属性を識別する
だめのものである。The segment attribute identifying means is for identifying attributes of segments within the input object module during link processing.
セグメント属性管理手段は、識別されたセグメントの属
性を管理するためのものである。The segment attribute management means is for managing attributes of the identified segment.
セグメント配置手段は、同一属性のセグメントを連続し
て配置するためのものである。The segment placement means is for consecutively arranging segments of the same attribute.
ページ作成手段は、セグメントからページを作成するだ
めのものである。The page creation means is for creating pages from segments.
パッキングストアファイル作成手段は、実行時において
上記ページ作成手段により作成されたページのうちで書
換え可能なページのみをパッキングストアファイルに作
成するためのものである。The packing store file creation means is for creating, in a packing store file, only rewritable pages among the pages created by the page creation means at the time of execution.
(実施例)
次に、本発明の構成について図面を参照して詳細に説明
する。(Example) Next, the configuration of the present invention will be described in detail with reference to the drawings.
第1図は、本発明によるプログラムリンク方式を実現す
る一実施例を示すブロック図である。第1図において、
1はリンカ、2はオブジェクトファイル、3はローダ、
8はパッキングストアファイルである。また、11はセ
グメント入力手段、12はセグメント属性識別手段、1
3はセグメント属性管理手段、14はセグメント配置手
段、15はページ作成手段、21〜2nはそれぞれオブ
ジェクトモジュール、711dロードモジユール、81
はページである。FIG. 1 is a block diagram showing an embodiment of the program linking method according to the present invention. In Figure 1,
1 is the linker, 2 is the object file, 3 is the loader,
8 is a packing store file. Further, 11 is a segment input means, 12 is a segment attribute identification means, 1
3 is a segment attribute management means, 14 is a segment arrangement means, 15 is a page creation means, 21 to 2n are respectively object modules, 711d load module, 81
is a page.
第1図を参照すると本発明によるプログラムリンク方式
の一実施例は、リンカ1はオブジェクトモジュール内の
セグメントを入力するためのセグメント入力手段11と
、入力されたセグメントの属性を識別するためのセグメ
ント属性識別手段12と、入力されたセグメントを属性
で分類して管理するためのセグメント属性管理手段13
と、属性ごとに分類されたセグメントに仮想アドレスを
割付けるためのセグメント配置手段14と、仮想アドレ
スからページを作成するためのページ作成手段15とか
ら成立っている。オブジェクトフアイル2は、オブジェ
クトファイル2に存在するオブジェクトモジュール21
(OMl−−OMn)を含み、オブジェクトモジュール
OM1の内部には、セグメントS1・・・Snが置かれ
ている。Referring to FIG. 1, in an embodiment of the program linking method according to the present invention, a linker 1 includes a segment input means 11 for inputting a segment in an object module, and a segment attribute for identifying the attribute of the input segment. Identification means 12 and segment attribute management means 13 for classifying and managing input segments by attribute.
, segment arrangement means 14 for allocating virtual addresses to segments classified by attribute, and page creation means 15 for creating pages from virtual addresses. Object file 2 is an object module 21 that exists in object file 2.
(OMl--OMn), and segments S1...Sn are placed inside the object module OM1.
ローダ3は、ロードモジュールのページの書換光可能な
ページのみをパッキングストアファイルに移行するパッ
キングストアファイル作成手段31ヲ含ミ、ロードモジ
ュールI、MとパッキングストアファイルBSとに接続
して構成されている。ロードモジュールLMはパッキン
グストアファイル作成手段31のほかに、ページ作成手
段1Sに接続されている。The loader 3 is connected to the load modules I, M and the packing store file BS, and includes a packing store file creation means 31 for transferring only rewriteable pages of the load module to a packing store file. There is. The load module LM is connected not only to the packing store file creation means 31 but also to the page creation means 1S.
次に、第1図のリンカ1における動作について詳細に説
明する。Next, the operation of the linker 1 shown in FIG. 1 will be explained in detail.
オブジェクトファイル2内にあるオブジェクトモジュー
ルOM1を処理するとき、まずセグメントS1をセグメ
ント入力手段11によって入力する。入力されたセグメ
ントは、次のセグメント属性識別手段12によってセグ
メントの各種属性【対して書換え可能であるか否かの判
別を行う。書、き換え可能か否かの判別の結果は、セグ
メント属性管理手段13によって、書換え可能なセグメ
ントと書換え不可能なセグメントとく分類して管理され
る。一つのセグメントの処理が終了すると、セグメント
入力手段11によって次のセグメントを入力して処理を
繰返す。When processing the object module OM1 in the object file 2, first the segment S1 is input by the segment input means 11. The input segment is judged by the next segment attribute identifying means 12 as to whether it is rewritable or not based on various attributes of the segment. The results of the determination as to whether the segment is writable or rewritable are classified and managed by the segment attribute management means 13 into rewritable segments and non-rewritable segments. When the processing of one segment is completed, the next segment is inputted by the segment input means 11 and the processing is repeated.
オブジェクトファイル上の入力すべきすべてのオブジェ
クトモジュールにあるすべてのセグメントが入力された
とき、次のステップに進む。セグメント配置手段14で
は、セグメント属性管理手段13において、書換え可能
であるか否かの属性で分類して管理されているセグメン
トで同じ属性のもの、つまり書換え可能であるか否かの
どちらかの属性のセグメントのみを連続した仮想アドレ
スで配置し、次に残りのセグメントを連続した仮想アド
レスで配置する。つまり、書換え可能なセグメントと、
書換え不可能なセグメントとに分けて配置することにな
る。その後、仮想アドレスの割付けられたセグメントか
らページ作成手段15によってページをロードモジュー
ル上に作成する。When all segments in all object modules to be input on the object file have been input, proceed to the next step. The segment placement means 14 selects segments that are classified and managed by the attribute of rewritable or non-rewritable in the segment attribute management means 13 and have the same attribute, that is, either the rewritable or non-rewritable attribute. Place only the segments at consecutive virtual addresses, and then place the remaining segments at consecutive virtual addresses. In other words, a rewritable segment and
It will be arranged separately from a non-rewritable segment. Thereafter, a page is created on the load module by the page creation means 15 from the segment to which the virtual address is assigned.
このとき、各ページには書換え可能であるか否かの情報
をもたせる。At this time, each page is provided with information as to whether it is rewritable or not.
次に1実行時において、ローダ3ではパッキングストア
ファイル作成手段31によって、ロードモジュールLM
内のページのうち、書換え可能なセグメントを含むペー
ジのみを、ページ内の書換え可能か否かの情報より判別
してパッキングストアファイルに移してプログラムを実
行させる。Next, during one execution, the loader 3 uses the packing store file creation means 31 to create the load module LM.
Among the pages within the page, only those pages that include rewritable segments are determined based on information on whether the page is rewritable or not, and are moved to the packing store file to execute the program.
(発明の効果)
以上説明したように本発明では、リンク処理において書
換え可能なセグメント群と、書換え不可能なセグメント
群とを分けてアドレス割付けすることにより、書換え可
能なページをまとめることができるため、パッキングス
トアファイルの容量が少なくてすむという効果がある。(Effects of the Invention) As explained above, in the present invention, rewritable pages can be grouped together by assigning addresses to rewritable segment groups and non-rewritable segment groups in link processing separately. , the effect is that the capacity of the packing store file is small.
第1図は、本発明によるプログラムリンク方式を実現す
るための一実施例を示すブロック図である。
第2図は、従来技術によるリンク処理の一例を示すブロ
ック図である。
1.4・・・す/力
2.5・拳・オブジェクトファイル
3・・・ローダ
8・・・パッキングストアファイル
11.41・・・セグメント入力手段
12・・・セグメント属性識別手段
13・・・セグメント属性管理手段
14.42・拳・セグメント配置手段
15.43・・・ページ作成手段
31・・・パッキングストアファイル作成手段51.2
1〜2ne・・オブジェクトモジュール
S、81〜Sn・・・セグメント
61.71・・・ロードモジュール
81・・・ページFIG. 1 is a block diagram showing an embodiment of the program linking method according to the present invention. FIG. 2 is a block diagram showing an example of link processing according to the prior art. 1.4...S/force 2.5.Fist/Object file 3...Loader 8...Packing store file 11.41...Segment input means 12...Segment attribute identification means 13... Segment attribute management means 14.42, fist/segment arrangement means 15.43...page creation means 31...packing store file creation means 51.2
1-2ne...Object module S, 81-Sn...Segment 61.71...Load module 81...Page
Claims (1)
グメントの属性を識別するためのセグメント属性識別手
段と、前記識別されたセグメントの属性を管理するため
のセグメント属性管理手段と、前記属性に対して同一属
性のセグメントを連続して配置するためのセグメント配
置手段と、前記セグメントからページを作成するための
ページ作成手段と、実行時において前記ページ作成手段
により作成されたページのうちで書換え可能なページの
みをパッキングストアファイルに作成するためのパッキ
ングストアファイル作成手段とを具備して構成したこと
を特徴とするプログラムリンク方式。segment attribute identification means for identifying attributes of segments in an input object module in link processing; segment attribute management means for managing attributes of the identified segments; and segments with the same attribute for the attributes. A segment arrangement means for arranging the segments consecutively, a page creation means for creating pages from the segments, and a packing store file that stores only rewritable pages among the pages created by the page creation means at the time of execution. A program linking method characterized in that it comprises a packing store file creation means for creating a packing store file.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62034310A JPS63201721A (en) | 1987-02-17 | 1987-02-17 | Program linking system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62034310A JPS63201721A (en) | 1987-02-17 | 1987-02-17 | Program linking system |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPS63201721A true JPS63201721A (en) | 1988-08-19 |
Family
ID=12410587
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62034310A Pending JPS63201721A (en) | 1987-02-17 | 1987-02-17 | Program linking system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63201721A (en) |
-
1987
- 1987-02-17 JP JP62034310A patent/JPS63201721A/en active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6154852A (en) | Method and apparatus for data backup and recovery | |
| US4587628A (en) | Method and apparatus for dynamic invocation of utilities | |
| JPS63201721A (en) | Program linking system | |
| CN111026890A (en) | Picture data storage method, system, device and storage medium based on index table | |
| JPH0324644A (en) | Automatic expansion system for file in multivolume | |
| JP2720775B2 (en) | File parallel processing unit | |
| JPH05241936A (en) | Garbage collection processing system and storage device for the system | |
| JPH02287875A (en) | Filing system in computer system | |
| US20040088503A1 (en) | Information processing method and information processor | |
| JPS6325730A (en) | Bundling system for plural segments within object program | |
| JP3237591B2 (en) | Compiling device, compiling method, and recording medium recording compiler | |
| JPS59116982A (en) | Data transfer system of memory system | |
| JP2605476B2 (en) | Dump collection processing method | |
| JP2768397B2 (en) | Data processing method | |
| CN115248679A (en) | Engineering splitting method and device for application program architecture | |
| JPH04238532A (en) | Sort processing system | |
| JPS63257850A (en) | Fault space allocation avoidance control system | |
| JPH06236264A (en) | Load module generating system | |
| JPS62216042A (en) | Memory allocation method for data area | |
| CN110990605A (en) | Image data storage method, system and device based on index header and storage medium | |
| JPS63249234A (en) | File allocation system | |
| JPS6314255A (en) | Allocation control system for virtual memory | |
| JPH0436422B2 (en) | ||
| JPS6358534A (en) | Control system for final processing phase in key sort method | |
| JPS6359091A (en) | Memory allocating information output system for telephone exchange system with accumulated program control system |