JPH04308927A - Page table storing system - Google Patents

Page table storing system

Info

Publication number
JPH04308927A
JPH04308927A JP9968091A JP9968091A JPH04308927A JP H04308927 A JPH04308927 A JP H04308927A JP 9968091 A JP9968091 A JP 9968091A JP 9968091 A JP9968091 A JP 9968091A JP H04308927 A JPH04308927 A JP H04308927A
Authority
JP
Japan
Prior art keywords
page table
page
load module
increase
virtual space
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
JP9968091A
Other languages
Japanese (ja)
Inventor
Atsushi Goto
淳 後藤
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 JP9968091A priority Critical patent/JPH04308927A/en
Publication of JPH04308927A publication Critical patent/JPH04308927A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

PURPOSE:To suppress the increase of a load module size due to the increase of a page table size by the increase of the occupancy virtual space of a program. CONSTITUTION:At the time of preparing the page table to be stored in a load module 3 by a page table preparing means 4 in a link means 2, the page table is prepared for a part without an initial value such as an area ensured for the purpose of an operational area or the like at the time of executing the program, as the information that the designated number of pages having the same attribute continue. Thus, the page module in the load module can be compressed, and expanded to a form really necessary for a paging processing by a page table expansion processing 6 in a load module executing means 5. Thus, the extremely large virtual space can be occupied, and the increase of the L and M size of the program whose large parts are non-initialized areas can be avoided.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、計算機システムにおけ
るロ−ドモジュ−ルの生成、格納、実行に関するもので
ある。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the generation, storage, and execution of load modules in a computer system.

【0002】0002

【従来の技術】一般に要求時ペ−ジングを行う仮想空間
を有する計算機システムにおいては、実行時に仮想空間
上のペ−ジと実際のペ−ジの内容の格納位置の対応付け
及び、各ペ−ジが書き込み可能か否か等の属性を示す情
報を持つペ−ジテ−ブルと呼ばれるテ−ブルを参照/更
新してペ−ジング処理を行なう。
2. Description of the Related Art Generally, in a computer system having a virtual space that performs paging on demand, it is necessary to establish a correspondence between the storage locations of pages in the virtual space and the contents of the actual pages at the time of execution. Paging processing is performed by referring to/updating a table called a page table that has information indicating attributes such as whether a page is writable or not.

【0003】ペ−ジテ−ブルは仮想空間上の各ペ−ジに
対応した個別の情報(以後これをペ−ジテ−ブルエント
リと称する)から構成される。
A page table is composed of individual information (hereinafter referred to as a page table entry) corresponding to each page in the virtual space.

【0004】ペ−ジテ−ブルの原形は、一般にリンカが
ロ−ドモジュ−ルを生成する際に生成されるが、この最
初期値を有するペ−ジに対するペ−ジテ−ブルエントリ
内のペ−ジイメ−ジ格納位置情報として対応ペ−ジイメ
−ジの存在するロ−ドモジュ−ル上の位置の情報を持つ
よう生成される。ペ−ジイメ−ジは、ペ−ジサイズの単
位で格納されるため、対応ペ−ジに少しでも初期値が指
定されていればロ−ドモジュ−ル上には、1ペ−ジ分の
ペ−ジイメ−ジが格納される。
[0004] The original form of the page table is generally generated when the linker generates the load module, but the page table entry for the page with this initial value is The page image storage location information is generated to have information on the location on the load module where the corresponding page image exists. Page images are stored in units of page size, so if any initial value is specified for the corresponding page, one page worth of pages will be stored on the load module. image is stored.

【0005】これに対して、対応ペ−ジに一切の初期値
を持たないペ−ジに対してはペ−ジイメ−ジは生成され
ず、ペ−ジテ−ブルエントリ内のペ−ジイメ−ジ格納位
置情報も不必要となる。
On the other hand, no page image is generated for a page that does not have any initial values in its corresponding page, and the page image in the page table entry is Storage location information is also unnecessary.

【0006】[0006]

【発明が解決しようとする課題】ペ−ジテ−ブルエント
リは、ペ−ジ1個に対して1エントリ消費されるため、
仮想空間サイズの大きさに比例してペ−ジテ−ブル全体
のサイズが増大する。
[Problem to be Solved by the Invention] Since one page table entry is consumed for one page,
The overall size of the page table increases in proportion to the size of the virtual space.

【0007】しかし、一般に非常に大きな仮想空間を占
有するプログラムにおいては、実際初期値が設定されて
いる領域の大きさに対して、作業用として確保されてい
る初期値を持たない領域が占有する領域の大きさが非常
に大きいため、ペ−ジテ−ブル上の領域もほとんどが、
属性情報のみを持つペ−ジテ−ブルエントリとなる。こ
のため、プログラムの占有する仮想空間が非常に大きい
場合にはペ−ジテ−ブルのサイズが増大するが、仮想空
間内で作業領域の占める領域の割合が非常に大きい場合
にはロ−ドモジュ−ル内でペ−ジテ−ブルの占める割合
が、不自然に大きくなる場合がある。このため、大きな
仮想空間を占有するロ−ドモジュ−ルに対してもロ−ド
モジュ−ルサイズをある程度小さく抑えることが、課題
となっていた。
However, in a program that generally occupies a very large virtual space, an area that does not have an initial value that is reserved for work occupies the size of the area where the actual initial value is set. Since the size of the area is very large, most of the area on the page table is
This is a page table entry with only attribute information. For this reason, if the virtual space occupied by the program is very large, the page table size will increase, but if the proportion of the work area in the virtual space is very large, the load module will increase. The proportion of the page table within the file may become unnaturally large. Therefore, it has been a challenge to keep the load module size small to a certain extent even for a load module that occupies a large virtual space.

【0008】[0008]

【課題を解決するための手段】本発明におけるペ−ジテ
−ブル格納方式は、ロ−ドモジュ−ルを生成する際に、
ロ−ドモジュ−ルに含まれるペ−ジテ−ブルとして、初
期値の無い書き込み可能ペ−ジが、多数連続する領域に
対する部分のペ−ジテ−ブルについては、実際のペ−ジ
テ−ブル情報ではなく、初期値の無い書き込み可能ペ−
ジがいくつ連続するかを、示す情報を格納することによ
り圧縮したペ−ジテ−ブルを生成する機能を持つリンク
手段と、ロ−ドモジュ−ルを実行する際に、ロ−ドモジ
ュ−ル内の圧縮されたペ−ジテ−ブエルを展開して正式
なペ−ジテ−ブルを生成する機能を持つロ−ドモジュ−
ル実行手段とを有する。
[Means for Solving the Problems] The page table storage method according to the present invention, when generating a load module,
Regarding the page table included in the load module, the page table for the area where there are many consecutive writable pages without initial values is not the actual page table information. A writable page with no initial value.
A link means has a function of generating a compressed page table by storing information indicating how many consecutive pages there are. A load module that has the function of expanding a compressed page table and generating a formal page table.
and a file execution means.

【0009】[0009]

【実施例】以下、本発明の1実施例を図面を参照して説
明する。
DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present invention will be described below with reference to the drawings.

【0010】図1は本発明の全体の構成を示した図であ
る。
FIG. 1 is a diagram showing the overall configuration of the present invention.

【0011】リンク手段2はオブジェクトモジュ−ル1
を入力しロ−ドモジュ−ル3を生成する。
[0011] The linking means 2 is an object module 1
is input to generate load module 3.

【0012】この際、ペ−ジテ−ブル生成処理4はロ−
ドモジュ−ル3内に圧縮した形式のペ−ジテ−ブルと各
ペ−ジの初期値であるペ−ジイメ−ジとを生成する。
[0012] At this time, the page table generation process 4
A compressed page table and a page image as an initial value of each page are generated in the module 3.

【0013】ロ−ドモジュ−ル実行手段5は、ロ−ドモ
ジュ−ルを読み込み、仮想空間上に展開した後、実行を
開始させる。
The load module execution means 5 reads the load module, expands it on the virtual space, and then starts execution.

【0014】この際、ペ−ジテ−ブル展開処理6におい
ては、ロ−ドモジュ−ル3内の前記、ペ−ジテ−ブル生
成処理4によって生成された圧縮したペ−ジテ−ブルを
展開し、仮想空間でのペ−ジング処理に利用可能な正式
な形式のペ−ジテ−ブルに変換する。
At this time, in the page table expansion process 6, the compressed page table generated by the page table generation process 4 in the load module 3 is expanded, Convert to a formal format page table that can be used for paging processing in virtual space.

【0015】図2は、一般的なペ−ジテ−ブルの形式を
表した図である。ペ−ジテ−ブルとは、ペ−ジテ−ブル
エントリの列であり、各ペ−ジテ−ブルエントリは1対
1でペ−ジに対応し、m番目のペ−ジテ−ブルエントリ
はm番目のペ−ジに対する情報を有する。
FIG. 2 is a diagram showing the format of a general page table. A page table is a sequence of page table entries, where each page table entry corresponds one-to-one to a page, and the m-th page table entry corresponds to the m-th page table entry. It has information about the page.

【0016】図3は、一般的なペ−ジテ−ブルエントリ
の形式を示した図である。ペ−ジテ−ブルエントリ内に
は、そのペ−ジテ−ブルエントリに対応するペ−ジが、
書き込み可能である等のペ−ジ属性情報とペ−ジイメ−
ジの格納位置を示すペ−ジイメ−ジ格納位置情報とを含
む。
FIG. 3 is a diagram showing the format of a general page table entry. Within a page table entry, the page corresponding to that page table entry is
Page attribute information such as writability and page image
and page image storage location information indicating the storage location of the page.

【0017】実行開始以前のロ−ドモジュ−ルに含まれ
るペ−ジテ−ブル内のペ−ジイメ−ジ格納位置情報は、
全てロ−ドモジュ−ル内のペ−ジイメ−ジの格納位置を
指すが、初期値を持たないペ−ジに関しては無意味な情
報となる。
The page image storage position information in the page table included in the load module before the start of execution is as follows:
They all indicate the storage location of the page image within the load module, but the information is meaningless for pages that do not have initial values.

【0018】図4は圧縮時のロ−ドモジュ−ル内ペ−ジ
テ−ブルエントリ(以下LM内ペ−ジテ−ブルエントリ
と称す)を示した図である。LM内ペ−ジテ−ブルエン
トリは初期化フラグを持ち、初期化フラグが(1)の場
合は初期化ペ−ジを指し、通常のペ−ジテ−ブルエント
リと同等の情報を持つが、初期化フラグが(0)の場合
は繰り返し回数分のペ−ジ属性情報で示される属性を持
つペ−ジテ−ブルエントリが連続することを示す。
FIG. 4 is a diagram showing page table entries within the load module (hereinafter referred to as page table entries within the LM) during compression. The page table entry in LM has an initialization flag, and when the initialization flag is (1), it points to the initialization page, and has the same information as a normal page table entry, but the initialization flag is (1). When the conversion flag is (0), it indicates that page table entries having the attributes indicated by the page attribute information corresponding to the number of repetitions are consecutive.

【0019】図5は、リンク手段2内のペ−ジテ−ブル
生成処理4の処理の概要を示したフロ−チャ−トである
FIG. 5 is a flowchart showing an overview of the page table generation process 4 in the linking means 2. As shown in FIG.

【0020】まずP1、P2で変数ATTに属性の既定
値を変数CNTに0をセットして初期化し、全ての圧縮
したペ−ジテ−ブルエントリの生成が終了するまでP4
〜P15を繰り返す。
First, in P1 and P2, initialize by setting the default value of the attribute in the variable ATT and 0 in the variable CNT, and then in P4 until the generation of all compressed page table entries is completed.
~Repeat P15.

【0021】P4においてそのペ−ジが初期値を持つペ
−ジであるか否かを判定する。
At P4, it is determined whether the page has an initial value.

【0022】この際、初期値を持つペ−ジであったなら
、P5において変数CNTの値を判定するが、CNTの
値が非0であったなら現在処理対象としているペ−ジ以
前に変数ATTで示される属性を持つ非初期化ペ−ジが
、変数CNTで示される個数分、連続していた事を示す
ため、P6においてペ−ジ属性情報として変数ATTの
値を、繰り返し回数として変数CNTの値を持つ非初期
化ペ−ジ列を示すLM内ペ−ジテ−ブルエントリを生成
した後、P7において処理対象ペ−ジに対するLM内ペ
−ジテ−ブルエントリを生成する。最後のP8、P9に
おいて変数ATT/CNTを再び初期化した後、初期化
ペ−ジ1個分の処理を終了する。
[0022] At this time, if the page has an initial value, the value of the variable CNT is determined in P5, but if the value of CNT is non-zero, the variable is In order to indicate that the number of consecutive non-initialized pages with the attribute indicated by ATT is the number indicated by the variable CNT, in P6, the value of the variable ATT is set as the page attribute information, and the value of the variable CNT is set as the number of repetitions. After generating an LM internal page table entry indicating a non-initialized page sequence having a value of , an LM internal page table entry for the page to be processed is generated in P7. After the variables ATT/CNT are reinitialized at the final steps P8 and P9, the processing for one initialization page is completed.

【0023】非初期化ペ−ジに対する処理の場合には、
P10において現在処理対象とするペ−ジの属性が、変
数ATTに格納されている属性と同等か否かを判定し、
同等であるならばP15において変数CNTの値を1増
す。
In the case of processing for a non-initialized page,
In P10, it is determined whether the attributes of the page currently being processed are equivalent to the attributes stored in the variable ATT,
If they are equal, the value of the variable CNT is increased by 1 in P15.

【0024】属性が変更になっていたなら、P11にお
いて変数CNTの値を判定する。この際、CNTの値が
非0であったなら現在処理対象としているペ−ジ以前に
変数ATTで示される属性を持つ非初期化ペ−ジが、変
数CNTで示される個数分、連続していた事を示すため
、P12においてペ−ジ属性情報として変数ATTの値
を、繰り返し回数としてペ−ジテ−ブルエントリを生成
した後、新しい属性の非初期化ペ−ジ列の始まりを示す
ために、変数ATTに新しい属性情報を、変数CNTに
1をセットして非初期化ペ−ジ1個分の処理を終了する
If the attribute has been changed, the value of the variable CNT is determined in P11. At this time, if the value of CNT is non-zero, there are consecutive non-initialized pages with the attribute indicated by the variable ATT before the page currently being processed for the number indicated by the variable CNT. In order to indicate that the page has been initialized, a page table entry is generated using the value of the variable ATT as the page attribute information and the number of repetitions in P12. The new attribute information is set in the variable ATT and 1 is set in the variable CNT, and the processing for one non-initialized page is completed.

【0025】全てのペ−ジに対する処理が終了した後、
P16において変数CNTの値を判定する。この際、C
NTの値が非0であったなら全ペ−ジ列の最後に変数A
TTで示される属性を持つ非初期化ペ−ジが、変数CN
Tで示される個数分、連続していた事を示すため、P1
7においてペ−ジ属性情報として変数ATTの値を、繰
り返し回数として変数CNTの値を持つ非初期化ペ−ジ
列を示すLM内ペ−ジテ−ブルエントリを生成した後、
ペ−ジテ−ブル生成処理を終了する。
[0025] After processing for all pages is completed,
In P16, the value of variable CNT is determined. At this time, C
If the value of NT is non-zero, variable A is added at the end of all page sequences.
A non-initialized page with the attribute indicated by TT is set to variable CN.
To show that the number of pieces shown by T is continuous, P1
After generating a page table entry in the LM indicating a non-initialized page string having the value of the variable ATT as the page attribute information and the value of the variable CNT as the number of repetitions in step 7,
The page table generation process ends.

【0026】図6は、ロ−ドモジュ−ル実行手段5内の
ペ−ジテ−ブル展開手段6の処理の概要を示したフロ−
チャ−トである。
FIG. 6 is a flowchart showing an overview of the processing of the page table expansion means 6 in the load module execution means 5.
It is a chart.

【0027】全てのLM内ペ−ジテ−ブルエントリに対
してU2〜U4を繰り返す。
Repeat steps U2 to U4 for all LM page table entries.

【0028】U2においては、処理対象のLM内ペ−ジ
テ−ブルエントリ内の初期化フラグがオン(1)である
か否かを判定する。
At U2, it is determined whether the initialization flag in the LM page table entry to be processed is on (1).

【0029】この際、オン、即ち初期化ペ−ジであるな
らばU3で初期化ペ−ジ用の正規のペ−ジテ−ブルエン
トリを一個生成する。
At this time, if it is on, that is, it is an initialization page, one regular page table entry for the initialization page is generated in U3.

【0030】初期化フラグがオフ(0)、即ち非初期化
ペ−ジであったならば、U4においてLM内ペ−ジテ−
ブルエントリ内のペ−ジ属性情報で示される属性を持つ
非初期化ペ−ジ用のペ−ジテ−ブルエントリを繰り返し
回数分生成する。
If the initialization flag is off (0), that is, it is a non-initialized page, the LM internal page data is
A page table entry for a non-initialized page having the attribute indicated by the page attribute information in the table entry is generated for the number of repetitions.

【0031】以上を繰り返すことにより、圧縮されたペ
−ジテ−ブルを展開する。
By repeating the above steps, the compressed page table is expanded.

【0032】[0032]

【発明の効果】以上説明したように本発明によれば、ロ
−ドモジュ−ル内のペ−ジテ−ブルにおいては、非初期
化領域に対する部分のペ−ジテ−ブルを圧縮し、ロ−ド
モジュ−ル内のペ−ジイメ−ジの占める領域を縮小する
ことにより、大きな仮想空間を占有するようなプログラ
ムのロ−ドモジュ−ルのサイズの増大を抑制することが
可能になるという効果がある。
As explained above, according to the present invention, the page table in the load module is compressed in the portion corresponding to the non-initialized area, and the page table in the load module is compressed. By reducing the area occupied by the page image in the file, it is possible to suppress an increase in the size of a program load module that occupies a large virtual space.

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

【図1】本発明の実施例の構成図FIG. 1: Configuration diagram of an embodiment of the present invention

【図2】一般的なペ−ジテ−ブルの構成を示す図[Figure 2] Diagram showing the configuration of a general page table

【図3
】圧縮されない状態のペ−ジテ−ブルエントリの構成を
示す図
[Figure 3
] Diagram showing the structure of a page table entry in an uncompressed state

【図4】圧縮されたペ−ジテ−ブルを有するロ−ドモジ
ュ−ル内のペ−ジテ−ブルエントリを示した図
FIG. 4 shows page table entries in a load module with a compressed page table.

【図5】
リンク手段内のペ−ジテ−ブル生成処理の処理の概要を
示すフロ−チャ−ト
[Figure 5]
Flowchart showing an overview of page table generation processing within the linking means

【図6】ロ−ドモジュ−ル実行手段内のペ−ジテ−ブル
展開処理の処理の概要を示すフロ−チャ−トである
FIG. 6 is a flowchart showing an overview of page table development processing within the load module execution means.

【符号の説明】[Explanation of symbols]

1    オブジェクトモジュ−ル 2    リンク手段 3    ロ−ドモジュ−ル 4    ペ−ジテ−ブル生成処理 5    ロ−ドモジュ−ル実行手段 6    ペ−ジテ−ブル展開処理 1 Object module 2 Link means 3 Load module 4 Page table generation process 5 Load module execution means 6 Page table expansion processing

Claims (1)

【特許請求の範囲】[Claims] 【請求項1】  ロ−ドモジュ−ルを生成する際に、ロ
−ドモジュ−ルに含まれるペ−ジテ−ブルとして、初期
値の無い書き込み可能ペ−ジが、多数連続する領域に対
する部分のペ−ジテ−ブルについては、実際のペ−ジテ
−ブル情報ではなく、初期値の無い書き込み可能ペ−ジ
がいくつ連続するかを、示す情報を格納することにより
圧縮したペ−ジテ−ブルを生成する機能を持つリンク手
段と、ロ−ドモジュ−ルを実行する際に、ロ−ドモジュ
−ル内の圧縮されたペ−ジテ−ブルを展開して正式なペ
−ジテ−ブルを生成する機能を持つロ−ドモジュ−ル実
行手段とから構成されることを特徴とする、ペ−ジテ−
ブル格納方式。
Claim 1: When generating a load module, a writable page with no initial value is generated as a page table included in the load module, which is a part of a page for a large number of consecutive areas. - Regarding the page table, a compressed page table is generated by storing information indicating the number of consecutive writable pages without initial values, rather than actual page table information. The link means has the function of A page table comprising a load module execution means having
Bull storage method.
JP9968091A 1991-04-05 1991-04-05 Page table storing system Pending JPH04308927A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9968091A JPH04308927A (en) 1991-04-05 1991-04-05 Page table storing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9968091A JPH04308927A (en) 1991-04-05 1991-04-05 Page table storing system

Publications (1)

Publication Number Publication Date
JPH04308927A true JPH04308927A (en) 1992-10-30

Family

ID=14253750

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9968091A Pending JPH04308927A (en) 1991-04-05 1991-04-05 Page table storing system

Country Status (1)

Country Link
JP (1) JPH04308927A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4944033B2 (en) * 2005-07-27 2012-05-30 パナソニック株式会社 Information processing system, information processing method, execution binary image creation device, execution binary image creation method, execution binary image creation program, computer-readable recording medium recording the execution binary image creation program, execution binary image execution device, execution binary image Execution method, execution binary image execution program, and computer-readable recording medium recording execution binary image execution program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4944033B2 (en) * 2005-07-27 2012-05-30 パナソニック株式会社 Information processing system, information processing method, execution binary image creation device, execution binary image creation method, execution binary image creation program, computer-readable recording medium recording the execution binary image creation program, execution binary image execution device, execution binary image Execution method, execution binary image execution program, and computer-readable recording medium recording execution binary image execution program

Similar Documents

Publication Publication Date Title
JPH07205496A (en) Page printer and method for data compression
JP3606729B2 (en) Rich text material display method and video information providing system
JPH04308927A (en) Page table storing system
JP2002064714A (en) Image processing unit and method and storage medium
KR100938277B1 (en) Method and apparatus for file compression and restoration of compression format
JP2004258865A (en) Method of processing information
JP3218088B2 (en) Printer
JPH04181424A (en) Page table storage system
JPH05204591A (en) Image plotting device
JP2005108107A (en) Method and apparatus for document processing
JP4775484B2 (en) PDL data processing apparatus and PDL data processing program
JPS5824799B2 (en) Kanji output system
JP3226834B2 (en) Multiple screen printing system
JP2000163264A (en) Program storage device for cpu
JPH064167A (en) Restoring system for fault of disk medium
JP3912849B2 (en) Character processing apparatus, character processing method, and recording medium
JPH02121856A (en) Printing system
JPH0696183A (en) Method and device for image processor
JPH0255162A (en) Information output device
JPH0495998A (en) Font recording circuit
JPH09282477A (en) Specification generating method and its system
JPH11348357A (en) Printing apparatus
JPS6068439A (en) Storing system of hierarchical array data
JPS62217367A (en) Information registering and retrieving device
JP2002247248A (en) Information processor, information processing method, program and storage medium