JPH05257704A - Memory area managing system - Google Patents
Memory area managing systemInfo
- Publication number
- JPH05257704A JPH05257704A JP5588192A JP5588192A JPH05257704A JP H05257704 A JPH05257704 A JP H05257704A JP 5588192 A JP5588192 A JP 5588192A JP 5588192 A JP5588192 A JP 5588192A JP H05257704 A JPH05257704 A JP H05257704A
- Authority
- JP
- Japan
- Prior art keywords
- memory area
- area
- pointer
- memory
- intermediate data
- 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.)
- Withdrawn
Links
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明はメモリ領域管理方式に関
し、特に中間データを格納するコンパイラの作業用メモ
リ領域の確保領域と解放領域との管理方式に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory area management system, and more particularly to a management system of a reserved area and a released area of a working memory area of a compiler for storing intermediate data.
【0002】[0002]
【従来の技術】従来のメモリ領域管理方式は、コンパイ
ラの中間データ毎に中間データの可変長サイズで確保し
た各種サイズのメモリ領域を管理する方式や、データ長
の異なる複数の種類の中間データを格納する大容量固定
長(例えば20480バイト等)領域を確保して大容量
領域を管理する方式であった。2. Description of the Related Art A conventional memory area management method manages a memory area of various sizes secured by a variable length size of intermediate data for each intermediate data of a compiler, and manages a plurality of types of intermediate data having different data lengths. This is a method of managing a large-capacity area by securing a large-capacity fixed-length area (for example, 20480 bytes) to be stored.
【0003】[0003]
【発明が解決しようとする課題】上述した従来のメモリ
領域管理方式は、中間データ毎に中間データの可変長サ
イズでメモリ領域を確保したり、各種サイズの中間デー
タを格納する大容量固定長領域を確保して管理する方式
であった為に、ある中間データが不要になったときに使
用していたメモリ領域や大容量固定長領域内の該当する
中間データ部分を解放しても、解放した領域が中間デー
タのサイズであるので、このサイズを超える中間データ
の領域として再利用できないという欠点がある。The above-mentioned conventional memory area management system secures a memory area with a variable length size of intermediate data for each intermediate data, and a large capacity fixed length area for storing intermediate data of various sizes. Since it was a method that secures and manages certain intermediate data, even if the corresponding intermediate data part in the memory area or large fixed length area used when certain intermediate data became unnecessary, it was released. Since the area is the size of the intermediate data, there is a drawback that it cannot be reused as an area of the intermediate data that exceeds this size.
【0004】[0004]
【課題を解決するための手段】本発明のメモリ領域管理
方式は、コンパイラの中間データを格納するメモリ領域
管理方式において、小容量固定長(例えば2048バイ
ト単位)でメモリ領域の確保を行い,1メモリ領域に格
納する中間データを1種類として,メモリ領域を確保す
るメモリと、メモリ状のデータ格納領域であるメモリ領
域と、確保したメモリ領域をポインタで繋いだ確保領域
群の先頭領域のアドレスを格納している先頭確保領域ポ
インタ領域と、使用済みとなり解放されたメモリ領域を
ポインタで繋いだ解放領域群の先頭領域のアドレスを格
納している先頭解放領域ポインタ領域とを備えて構成さ
れる。According to the memory area management method of the present invention, in the memory area management method for storing intermediate data of a compiler, a memory area is secured with a small fixed length (for example, in units of 2048 bytes). With one type of intermediate data to be stored in the memory area, the memory for securing the memory area, the memory area that is the memory-like data storage area, and the address of the head area of the secured area group that connects the secured memory area with the pointer It is configured to include a stored head secured area pointer area and a head released area pointer area that stores an address of a head area of a released area group in which used and released memory areas are connected by a pointer.
【0005】[0005]
【実施例】次に、本発明について図面を参照して説明す
る。DESCRIPTION OF THE PREFERRED EMBODIMENTS Next, the present invention will be described with reference to the drawings.
【0006】図1は本発明の一実施例のメモリ領域管理
方式の構成を示すブロック図である。FIG. 1 is a block diagram showing the configuration of a memory area management system according to an embodiment of the present invention.
【0007】本実施例のメモリ管理方式は、1つのメモ
リ領域103の大きさを例えば2048バイトの小容量
固定長の1種類に統一し、1つのメモリ領域103には
1種類の中間データのみを割り当てる方式とし、次メモ
リ領域ポインタ105によって繋がっている確保された
メモリ領域103の先頭のメモリ領域へのポインタが格
納されている先頭確保領域ポインタ領域101と、次メ
モリ領域ポインタ105によって繋がっている解放され
たメモリ領域103の先頭のメモリ領域2へのポインタ
が格納されている先頭解放領域ポインタ領域102と、
必要に応じて確保されるメモリ領域2とから構成されて
いる。また、1つのメモリ領域を見ると、メモリ領域1
02の先頭に次のメモリ領域の開始アドレスが入ってい
る次メモリ領域ポインタ105と中間データBとから構
成されている。In the memory management system of this embodiment, the size of one memory area 103 is unified into one kind of small capacity fixed length of 2048 bytes, and only one kind of intermediate data is stored in one memory area 103. In the allocation method, the head secured area pointer area 101 in which the pointer to the head memory area of the secured memory area 103 connected by the next memory area pointer 105 is stored and the release connected by the next memory area pointer 105 A head free area pointer area 102 in which a pointer to the head memory area 2 of the stored memory area 103 is stored,
It is composed of a memory area 2 secured as necessary. Looking at one memory area, memory area 1
02 is composed of the next memory area pointer 105 in which the start address of the next memory area is entered and the intermediate data B.
【0008】次に、このように構成された本実施例のメ
モリ領域管理方式の動作について説明する。Next, the operation of the memory area management system of this embodiment constructed as described above will be described.
【0009】図2は、中間データAとBとCとの領域が
確保された本実施例のブロック図である。先頭確保領域
ポインタ201と次メモリ領域ポインタ204のそれぞ
れには次のメモリ領域203を示す値が設定されてお
り、メモリ領域5の次メモリ領域ポインタ204には次
のメモリ領域203が無いのでNULL値が設定されて
いる。一方、解放されたメモリ領域203は存在しない
ので先頭解放領域ポインタ202にはNULL値が設定
されている。FIG. 2 is a block diagram of this embodiment in which areas for intermediate data A, B and C are secured. A value indicating the next memory area 203 is set in each of the head secured area pointer 201 and the next memory area pointer 204, and the next memory area pointer 204 of the memory area 5 does not have the next memory area 203, so a NULL value is set. Is set. On the other hand, since the released memory area 203 does not exist, the NULL value is set in the head release area pointer 202.
【0010】図3は、図2に対し中間データBの領域を
解放した本実施例である。中間データBが使用していた
メモリ領域2とメモリ領域5とを解放する為に、メモリ
領域1の次メモリ領域ポインタ304にメモリ領域2の
次メモリ領域ポインタ304の値を設定し、メモリ領域
4の次メモリ領域ポインタ304にメモリ領域5の次メ
モリ領域ポインタ304の値を設定することで、確保し
ているメモリ領域の繋がりを修正でき、一方、解放され
たメモリ領域の繋がりは、初めての解放であるので先頭
解放領域ポインタ302にメモリ領域2の開始アドレス
を設定し、メモリ領域2の次メモリ領域領域ポインタ3
04にメモリ領域5の開始アドレスを設定し、メモリ領
域5の次メモリ領域ポインタ304には次の解放された
メモリ領域が無いのでNULL値を設定することで作成
終了となり、解放処理が終了する。FIG. 3 shows the present embodiment in which the area of the intermediate data B is released as compared with FIG. In order to release the memory areas 2 and 5 used by the intermediate data B, the value of the next memory area pointer 304 of the memory area 2 is set in the next memory area pointer 304 of the memory area 1, and the memory area 4 is set. By setting the value of the next memory area pointer 304 of the memory area 5 to the next memory area pointer 304 of, the connection of the secured memory area can be corrected, while the connection of the released memory area is released for the first time. Therefore, the start address of the memory area 2 is set in the head release area pointer 302, and the next memory area pointer 3 of the memory area 2 is set.
The start address of the memory area 5 is set in 04, and there is no next released memory area in the next memory area pointer 304 of the memory area 5. Therefore, by setting a NULL value, the creation is completed and the release processing is completed.
【0011】図4は、図3に対し中間データDの領域が
確保された本実施例のブロック図である。中間データD
のメモリ領域403には解放されたメモリ領域の繋がり
を先頭解放領域ポインタ402から検索して最初のメモ
リ領域2を割り当てられることが判明する。この時点
で、先頭解放領域ポインタにメモリ領域2の次メモリ領
域ポインタ404の値を設定し、一方、確保しているメ
モリ領域の繋がりの端末のメモリ領域403であるメモ
リ領域4の次メモリ領域ポインタ404にメモリ領域2
の開始アドレスを設定し、メモリ領域2の次メモリ領域
ポインタ404にNULL値を設定することで、メモリ
領域2の再利用が可能となり中間データDのメモリ領域
403として確保が終了する。FIG. 4 is a block diagram of this embodiment in which the area of the intermediate data D is secured as compared with FIG. Intermediate data D
It is found that the first free memory area 2 is allocated by searching the connection of the free memory areas from the head free area pointer 402 for the memory area 403 of FIG. At this point, the value of the next memory area pointer 404 of the memory area 2 is set in the head release area pointer, while the next memory area pointer of the memory area 4 which is the memory area 403 of the terminal connected to the secured memory area. Memory area 2 in 404
By setting the start address of the memory area 2 and setting the NULL value to the next memory area pointer 404 of the memory area 2, the memory area 2 can be reused and the securing of the intermediate data D as the memory area 403 is completed.
【0012】[0012]
【発明の効果】以上説明したように本発明は、1メモリ
領域を小容量固定長とし、確保するメモリ領域の容量を
1種類に統一し、1つのメモリ領域に格納する中間デー
タを1種類とすること、メモリ領域の確保および解放を
1メモリ領域単位で行うことで、解放したすべてのメモ
リ領域の再利用が可能になりメモリに無駄な部分がなく
なりメモリ利用効率が向上するこいう効果がある。As described above, according to the present invention, one memory area has a small capacity and fixed length, the capacity of the memory area to be secured is unified into one type, and the intermediate data stored in one memory area is defined as one type. In addition, by securing and releasing the memory area in units of one memory area, it is possible to reuse all the released memory areas, and there is an effect that there is no unnecessary portion in the memory and the memory utilization efficiency is improved. ..
【図面の簡単な説明】[Brief description of drawings]
【図1】本発明の一実施例の構成を示すブロック図。FIG. 1 is a block diagram showing the configuration of an embodiment of the present invention.
【図2】中間データA,BおよびCの領域が確保された
本実施例のブロック図。FIG. 2 is a block diagram of the present embodiment in which areas for intermediate data A, B, and C are secured.
【図3】図2に対して中間データBの領域が解放された
本実施例のブロック図。3 is a block diagram of the present embodiment in which the area of intermediate data B is released as compared with FIG.
【図4】図3に対して中間データDの領域が確保された
本実施例のブロック図。FIG. 4 is a block diagram of the present embodiment in which an area for intermediate data D is secured with respect to FIG.
1〜n メモリ領域 101 先頭確保領域ポインタ領域 102 先頭解放領域ポインタ領域 103 メモリ領域 104 1つのメモリ領域 105 次メモリ領域ポインタ 1 to n memory area 101 head secured area pointer area 102 head released area pointer area 103 memory area 104 one memory area 105 next memory area pointer
Claims (1)
リ領域管理方式において、小容量固定長でメモリ領域の
確保を行い,1メモリ領域に格納する中間データを1種
類として,メモリ領域を確保するメモリと、メモリ状の
データ格納領域であるメモリ領域と、確保したメモリ領
域をポインタで繋いだ確保領域群の先頭領域のアドレス
を格納している先頭確保領域ポインタ領域と、使用済み
となり解放されたメモリ領域をポインタで繋いだ解放領
域群の先頭領域のアドレスを格納している先頭解放領域
ポインタ領域とを備えて成ることを特徴とするメモリ領
域管理方式。1. A memory area management system for storing intermediate data of a compiler, wherein a memory area is secured with a small fixed capacity and a memory area is secured with one type of intermediate data stored in one memory area. , A memory area that is a memory-like data storage area, and a head secured area pointer area that stores the address of the head area of the secured area group that connects the secured memory area with a pointer, and the memory area that has been used and released A free area pointer area that stores the address of the free area group of the free area group connected by a pointer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5588192A JPH05257704A (en) | 1992-03-16 | 1992-03-16 | Memory area managing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5588192A JPH05257704A (en) | 1992-03-16 | 1992-03-16 | Memory area managing system |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05257704A true JPH05257704A (en) | 1993-10-08 |
Family
ID=13011444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5588192A Withdrawn JPH05257704A (en) | 1992-03-16 | 1992-03-16 | Memory area managing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05257704A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038397A (en) * | 1994-05-20 | 2000-03-14 | Matsushita Electric Industrial Co., Ltd. | System for allocating the memory area of second data which value need not be preserved to another data of some of the processes |
-
1992
- 1992-03-16 JP JP5588192A patent/JPH05257704A/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038397A (en) * | 1994-05-20 | 2000-03-14 | Matsushita Electric Industrial Co., Ltd. | System for allocating the memory area of second data which value need not be preserved to another data of some of the processes |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0623968B2 (en) | Data transfer control system | |
JPH05257704A (en) | Memory area managing system | |
JPH0452968B2 (en) | ||
JPH0833856B2 (en) | Serial number management method | |
JPH04219836A (en) | Block control system | |
JPH05108462A (en) | Intermediate control system for dynamic memory in table system editor | |
JPS5987567A (en) | Variable length data storage controlling system | |
JPH04223537A (en) | Image file storing system | |
JPH05189299A (en) | Memory management device | |
JPH08249225A (en) | Memory management device | |
JPS631182A (en) | Teletext receiving device | |
JPH05134909A (en) | Idle space retrieving method | |
JPH06309197A (en) | Storage area management system | |
JPH09223058A (en) | System for managing file space for bit map setting index part and data part as independent files | |
JPH0348950A (en) | Memory control system | |
JPS633349A (en) | Processing system for allocating file space | |
JPS63177234A (en) | File save loading method | |
JPS5817587A (en) | Blank area controller for main memory | |
JP2000200211A (en) | Memory pool control circuit | |
JPH1049433A (en) | Memory storage system | |
JPH1083340A (en) | Device and method for memory area management, and medium where memory area managing program is recorded | |
JPS5850369B2 (en) | Data transfer method | |
JPH06188919A (en) | Communication controller | |
JPS6065354A (en) | Data store system | |
JPS6358555A (en) | Control system for file space |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 19990518 |