JP2989608B2 - Cell pool management device - Google Patents
Cell pool management deviceInfo
- Publication number
- JP2989608B2 JP2989608B2 JP63082731A JP8273188A JP2989608B2 JP 2989608 B2 JP2989608 B2 JP 2989608B2 JP 63082731 A JP63082731 A JP 63082731A JP 8273188 A JP8273188 A JP 8273188A JP 2989608 B2 JP2989608 B2 JP 2989608B2
- Authority
- JP
- Japan
- Prior art keywords
- cell
- pool
- page
- cells
- empty
- 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
Description
【発明の詳細な説明】 〔概要〕 所定の単位の記憶領域よりなるセルページを1つ以上
有するセルプールから、アプリケーションプログラムか
らの記憶領域獲得要求に応じて、より小単位であるセル
を1つ以上割り当て、また、記憶領域返却要求に応じ
て、セルプールにセルを解放する制御をおこなうセルプ
ール管理装置に関する。DETAILED DESCRIPTION OF THE INVENTION [Summary] From a cell pool having one or more cell pages each having a storage area of a predetermined unit, one or more cells of a smaller unit are selected in response to a storage area acquisition request from an application program. The present invention relates to a cell pool management device that performs control to release cells to a cell pool in response to allocation and a storage area return request.
従来方式のセルプールからのセルの獲得とセルプール
へのセルの返却時に毎回セルプール領域の縮退処理(空
き領域が多くなったとき、セルプール自体を縮少する処
理)を考慮することによるオーバヘッドを無くして、高
速にセルの獲得,解放を行うことを目的とする。Eliminating the overhead due to considering cell pool area degeneration processing (processing to reduce the cell pool itself when free space increases) every time a cell is acquired from the conventional cell pool and the cell is returned to the cell pool, The purpose is to acquire and release cells at high speed.
そのため、セルプール内の空きセルを1つのチェイン
に繋ぎ、アプリケーションプログラムにセルを割り当て
るときは、空きセルのチェインの先頭から、要求された
数のセルを切り出し、アプリケーションプログラムがセ
ルを返却してきたときは、返却される一連のセルを空き
セルチェインの先頭に繋ぐことにより管理する手段と、 所定の時点になると、空きセルがどのセルページに属
するか分類し、すべてが空きセルであるセルページを検
出して、そのセルページをセルプールから除去すること
によりセルプール縮退処理を行う手段と を備えることにより、セル割り当て管理処理とセルプー
ルの縮退処理とを、互いに切り離した処理とするように
構成する。Therefore, when connecting the empty cells in the cell pool to one chain and allocating the cells to the application program, the required number of cells are cut out from the head of the empty cell chain, and when the application program returns the cells, A means for managing a series of returned cells by linking them to the beginning of an empty cell chain, and at a predetermined time, classifying which cell page an empty cell belongs to and detecting a cell page in which all the empty cells are empty cells A means for performing a cell pool degeneration process by removing the cell page from the cell pool is provided, so that the cell allocation management process and the cell pool degeneration process are separated from each other.
本発明は、アプリケーションプログラムの要求に従っ
て、記憶領域を割付け、回収をおこなうためのセルプー
ルを管理するセルプール管理装置に関する。The present invention relates to a cell pool management device that manages a cell pool for allocating and reclaiming a storage area according to a request of an application program.
最近の計算機システムの普及に伴って、該計算機シス
テムで処理されるデータ量が増加しており、該計算機シ
ステムに要求される処理能力の向上には際限がない。こ
のような状況下において、アプリケーションプログラム
からの要求に基づいて、記憶領域を割り付け回収すると
きに生ずるオペレーティングシステムのオーバヘッドは
できる限り小さいことが要求される。With the recent spread of computer systems, the amount of data processed by the computer systems has increased, and there is no limit to the improvement in the processing capacity required for the computer systems. Under such circumstances, it is required that the overhead of the operating system generated when allocating and retrieving a storage area based on a request from an application program is as small as possible.
セルプールの管理は、セルプールの開設/セルペー
ジの確保、セルの割付(アプリケーションプログラム
から見ればセルの獲得)、セルの回収(アプリケーシ
ョンプログラムから見ればセルの開放)、セルプール
の拡張、セルプールの縮退の5段階の処理よりなる。The management of the cell pool includes opening a cell pool / securing a cell page, allocating a cell (acquiring a cell from an application program), collecting a cell (opening a cell from an application program), expanding a cell pool, and degenerating a cell pool. It consists of five stages of processing.
セルプール領域は、通常、仮想記憶制御等の都合によ
り、その1ページ(例えば4KB)を単位として記憶領域
を獲得する。従ってセルプールは1つ以上のセルプール
ページよりなる。The cell pool area usually acquires a storage area in units of one page (for example, 4 KB) due to virtual storage control or the like. Thus, a cell pool consists of one or more cell pool pages.
アプリケーションプログラムは、記憶領域を必要とす
るとき、必要なだけの大きさの領域を要求する。通常、
その大きさは1ページより小さい16B〜256B等を単位と
する任意の大きさである。従って、アプリケーションプ
ログラムの要求に応じて効率よく記憶領域を割り当てる
には、セルプールページをより小さな単位(セル)に区
分し、その単位で管理する必要がある。When an application program needs a storage area, it requests an area of a necessary size. Normal,
The size is an arbitrary size in units of 16B to 256B smaller than one page. Therefore, in order to efficiently allocate a storage area in response to a request from an application program, it is necessary to divide a cell pool page into smaller units (cells) and manage the pages in smaller units.
また、アプリケーションプログラムは必要が生じるた
びにセルを獲得し、必要がなくなればセルを開放する。
従って、状況に応じてセルプールをページ単位で拡張し
たり縮少(縮退)したりする制御が必要になる。In addition, the application program acquires a cell each time it becomes necessary, and releases the cell when it becomes unnecessary.
Therefore, control for expanding or reducing (reducing) the cell pool in page units according to the situation is required.
第7図は従来のセルプール管理装置を説明する図であ
る。FIG. 7 is a diagram for explaining a conventional cell pool management device.
(a)はセルの割り当て(獲得)の場合を示し、
(b)はセルの回収(解放)の場合を示し、(c)はセ
ルプールページの除去(縮退)の場合を示している。本
例においては1セルプールページが5セルからなってい
るものとする。(A) shows the case of cell allocation (acquisition),
(B) shows a case of cell collection (release), and (c) shows a case of cell pool page removal (degeneration). In this example, it is assumed that one cell pool page is composed of five cells.
図はある時点におけるセルプールの状態を示すもの
で、□は1セルプールページの管理情報を示し、○は使
われていないセル(空きセル)を示す。従って、本図に
おいては6セルページが使われ、先頭のページは3セル
が使用され、2番目のページはすべて空きセルであるこ
とを示している。The figure shows the state of the cell pool at a certain point in time, □ indicates management information of one cell pool page, and ○ indicates an unused cell (empty cell). Therefore, in this figure, a 6-cell page is used, the first page uses 3 cells, and the second page indicates that all the cells are empty cells.
セルの獲得においては、先頭のセルプールページから
順に、アプリケーションプログラムの要求を満たす数の
空きセル(○で示す)が存在するかどうかを調べ、空き
セルが存在しなかったり、不足する場合には、次のセル
プールページを調べて必要なだけ取り出す{本図(a)
参照}。この例では、5つのセル獲得要求に対して先頭
のページから2セル、次のページから3セルを獲得した
ことを示す。また、セルプール全体でも空きセル数が要
求されたセル数に満たない場合は、セルプールページを
追加する(拡張処理)。In acquiring cells, it is checked in order from the top cell pool page whether there are a number of empty cells (shown by を 満 た す) satisfying the request of the application program. And examines the next cell pool page and extracts as many as necessary.
reference}. This example shows that two cells have been acquired from the first page and three cells have been acquired from the next page in response to five cell acquisition requests. If the number of empty cells is less than the requested number of cells in the entire cell pool, a cell pool page is added (expansion processing).
また、セルを解放する場合には、例えば、各セルの先
頭にある管理情報を調べて、解放される各セル(◎で示
す)がどのセルプールページに属すかを判断して、対応
するセルプールページに解放する{本図(b)参照}。When releasing a cell, for example, the management information at the head of each cell is checked to determine which cell pool page each cell to be released (indicated by ◎) belongs to, and a corresponding cell is determined. Release to the pool page {see this figure (b)}.
以上の処理をセルの獲得、解放処理ごとに繰り返し、
かつ、例えば、セルプール内にすべてのセルが空きセル
であるセルプールページが一定数以上あるとき、それら
のセルプールページを除去し、セルプール自体を縮少す
る{本図(c)参照}(縮退処理)。The above process is repeated for each cell acquisition and release process,
In addition, for example, when there are a certain number or more of cell pool pages in which all cells are empty cells in the cell pool, those cell pool pages are removed and the cell pool itself is reduced {see FIG. processing).
上記セルの獲得処理においては、アプリケーションプ
ログラムが要求するセル数を各セルプールページ毎に検
索しなければならないし、セルの解放処理においては、
解放されるセルがどのセルプールページに属するかを調
べ、該当するセルプールページの管理下に戻す必要があ
った。In the above cell acquisition processing, the number of cells requested by the application program must be searched for each cell pool page. In the cell release processing,
It was necessary to check which cell pool page the released cell belongs to and return it to the management of the corresponding cell pool page.
これらは、それぞれのセルの獲得,解放の処理におい
て、各セルプールページの縮退処理を行うことを考慮し
た動作となっていることに起因している。さらに、ある
アプリケーションプログラムにおいて、特定のセルを保
持していると、絶対に縮退することはないにも関わら
ず、アプリケーションプログラムからのセルの獲得,解
放要求が生起する毎にセルプールページの縮退を考慮し
た処理を実行するという無駄な処理を行っている。These are due to the fact that the operations of acquiring and releasing each cell are performed in consideration of performing the degeneration process of each cell pool page. Furthermore, when a specific cell is held in a certain application program, the cell pool page is degenerated every time a cell acquisition / release request is generated from the application program, even though the cell is never degenerated. A useless process of executing the process in consideration is performed.
従って、性能を重視するアプリケーションプログラム
にとっては、セルの獲得,解放時のオペレーティングシ
ステムでのオーバヘッドが大きくなると言う問題があっ
た。Therefore, there is a problem that an application program that emphasizes performance has a large overhead in the operating system when acquiring and releasing a cell.
本発明は、アプリケーションプログラムからの要求が
あれば、すぐに記憶ページのセルプールからセルを割り
当て、無駄な処理による時間経過を少なくすることを目
的とするものである。An object of the present invention is to allocate a cell from a cell pool of a storage page immediately upon receiving a request from an application program, and reduce the time elapsed due to unnecessary processing.
第1図は本発明のセルプール管理装置の原理説明図で
ある。上記問題点は下記のように構成されたセルプール
管理装置によって解決される。FIG. 1 is a diagram illustrating the principle of the cell pool management device of the present invention. The above problem is solved by a cell pool management device configured as follows.
セルプール内のすべての空きセルを1つのチェインに
繋ぎ、 アプリケーションプログラムにセルを割り当てるとき
は、空きセルのチェインから、要求を満たす数のセルを
切り出し、 アプリケーションプログラムがセルを返却してきたとき
は、返却された一連のセルを空きセルのチェインに繋ぐ ことにより管理する空きセル管理手段と、 所定の時点になると、空きセルのチェインの各セルがど
のセルページに属するか分類し、すべてが空きセルであ
るセルページを検出して、そのセルページをセルプール
から除去するセルプール縮退処理手段と を有するように構成する。When connecting all empty cells in the cell pool to one chain and assigning cells to the application program, cut out as many cells as required from the empty cell chain and return them when the application program returns cells. An empty cell management means for managing the connected cells by linking them to an empty cell chain, and at a predetermined time, classifying which cell page each cell of the empty cell chain belongs to, Cell pool degeneration processing means for detecting a certain cell page and removing the cell page from the cell pool.
本発明によれば、空きセル管理手段は、全ての空きセ
ルを1つのチェインで繋いでおき、セルの獲得要求があ
った場合には、例えばチェインされた空きセルチェイン
の先頭から切り出し{第1図(a)参照}、セルの解放
要求があった場合には、空きセルチェインの先頭に繋ぐ
処理だけを行う{第1図(b)参照}ので、アプリケー
ションプログラムからの要求に対して高速にセルの獲
得,解放処理を実行することができるようになる。According to the present invention, the empty cell management means connects all the empty cells by one chain, and when there is a cell acquisition request, for example, cuts out from the head of the empty cell chain that has been chained. When a cell release request is issued (see FIG. 1A), only the process of connecting to the beginning of an empty cell chain is performed (see FIG. 1B). Cell acquisition and release processing can be executed.
そして、セルプール縮退処理手段は、所定の時点に縮
退処理を実行する。Then, the cell pool degeneration processing unit executes the degeneration processing at a predetermined time.
このときの縮退処理{第1図(c)参照}において
は、空きセルチェインに繋がっている各々のセルについ
て、どのセルプールページに属するか、例えば、各セル
の先頭に設けてある制御情報を見る等して調べ、セルプ
ールページ毎に分類する{第1図(5)、(6)参
照}。この分類において、各セルプールページに空きセ
ルを戻す際の順番は任意である。これは、セルプールの
縮退においては、各セルプールページで使用中のセルが
存在するか否かが問題になるだけだからである。In the degeneration processing (see FIG. 1 (c)) at this time, for each cell connected to the empty cell chain, which cell pool page belongs, for example, the control information provided at the head of each cell is determined. It is examined by seeing, etc., and classified by cell pool page {see FIGS. 1 (5) and (6)}. In this classification, the order of returning empty cells to each cell pool page is arbitrary. This is because in the degeneration of the cell pool, it is only a matter of whether or not there is a cell being used in each cell pool page.
次に、各分類されたセルプールページについて、その
セルプールページ内のセルがすべて空きセルであれば、
そのセルプールページを解放し、残った空きセルを再び
上記のチェインに繋ぐように処理する{第1図(7)、
(8)参照}。Next, for each classified cell pool page, if all cells in the cell pool page are empty cells,
The cell pool page is released, and the remaining empty cells are processed so as to be connected again to the above-mentioned chain {FIG. 1 (7),
See (8).
従って、本発明によるセルプール管理装置において
は、セルの獲得,解放時にはセルプールページの縮退を
考慮した処理を行う必要がないので、セルの獲得,解放
時の処理速度が向上する効果がある。Therefore, in the cell pool management device according to the present invention, it is not necessary to perform processing in consideration of the degeneration of the cell pool page when acquiring and releasing a cell, so that the processing speed at the time of acquiring and releasing a cell is improved.
セルプールの縮退処理はシステムの負荷が小さくなっ
た等の適当な時点に行えばよい。例えば、オペレーティ
ングシステムが必要に応じて起動する縮退処理指定等を
きっかけとして、あるいはより単純に一定周期毎、また
は、チェインのセル数が所定の数になった時点に行う。The degeneration processing of the cell pool may be performed at an appropriate time such as when the load on the system is reduced. For example, the process is performed in response to a degeneration process designation or the like that is activated by the operating system as needed, or more simply at regular intervals, or at a time when the number of cells in the chain reaches a predetermined number.
以下本発明の実施例を図面によって説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
前述の第1図が本発明のセルプールページ管理装置の
動作を説明する原理説明図であり、(a)はセル獲得処
理の場合、(b)はセルの解放処理の場合、(c)はセ
ルプールの縮退処理の場合を示す。FIG. 1 is a diagram for explaining the principle of the operation of the cell pool page management apparatus of the present invention. FIG. 1 (a) shows a cell acquisition process, FIG. 1 (b) shows a cell release process, and FIG. The case of the degeneration processing of the cell pool is shown.
第2図は本発明によるセルプールの開放処理を示した
図であって、(a1,a2)は全体の構成例を示し、(b)
はセルの構成例を示す。FIG. 2 is a diagram showing a cell pool release process according to the present invention, wherein (a1, a2) shows an example of the entire configuration, and (b)
Shows a configuration example of a cell.
第3図は本発明によるセルの獲得処理を示した図であ
り、第4図は本発明によるセルの解放処理を示した図で
あり、第5図は本発明によるセルプールの拡張処理を示
した図であり、第6図は本発明によるセルプールの縮退
処理を示した図である。なお、全図を通して同じ符号は
同じ対象を示している。FIG. 3 is a diagram showing a process for acquiring a cell according to the present invention, FIG. 4 is a diagram showing a process for releasing a cell according to the present invention, and FIG. 5 is a diagram showing a process for expanding a cell pool according to the present invention. FIG. 6 is a diagram showing a cell pool degeneration process according to the present invention. Note that the same reference numerals indicate the same objects throughout the drawings.
以下、第1図を参照しながら、第2図〜第6図によっ
て本発明のセルプール管理装置を説明する。セルプール
の開設処理、セルプールの獲得と解放処理、セルプール
の拡張処理、セルプールの縮退処理の順に説明する。Hereinafter, the cell pool management apparatus of the present invention will be described with reference to FIGS. 2 to 6 while referring to FIG. The process of opening a cell pool, the process of acquiring and releasing a cell pool, the process of expanding a cell pool, and the process of degenerating a cell pool will be described in this order.
(1)セルプールの開設処理:{第2図参照} ユーザ(アプリケーションプログラム)が最初に記憶
領域を要求してきたとき、本図(a1,a2)に示したよう
にセルプール管理簿1a,と所定数のセルプール情報エン
トリ1b用の領域を生成し、所定数のセルページ数(例え
ば初期値で指定された数)の領域を獲得し、それらをチ
ェインする。以下に詳細に記述する。(1) Cell pool opening processing: {see FIG. 2} When a user (application program) first requests a storage area, a cell pool management book 1a and a predetermined number are stored as shown in this figure (a1, a2). Area for the cell pool information entry 1b is obtained, a predetermined number of cell page areas (for example, the number specified by the initial value) are obtained, and these are chained. The details are described below.
セルプールの初期値で指定された数だけ、以下の処理
を繰り返す。The following processing is repeated by the number specified by the initial value of the cell pool.
1) 所定数のセルページ領域を獲得し、そのアドレ
スをセルプール管理簿1aの空きセルページ情報エントリ
ポインタより取り出したセルページ情報エントリ1bのセ
ルページポインタに格納する。1) A predetermined number of cell page areas are acquired, and their addresses are stored in the cell page pointer of the cell page information entry 1b extracted from the empty cell page information entry pointer of the cell pool management book 1a.
2) セルサイズに従って、セルページにセル11を割
り当てて、その先頭アドレスにセルページ情報エントリ
1bのセルページポインタのアドレスを格納,し、次
ポインタにより各セルをチェインしていく。2) Cell 11 is allocated to the cell page according to the cell size, and the cell page information entry is added to the head address.
The address of the cell page pointer of 1b is stored and each cell is chained by the next pointer.
次に、セルプール管理簿1aのセルページ情報エントリ
ポインタに使用中のセルページとして1つのセルページ
情報エントリ1bをチェインし、空きセルページ情報エン
トリポインタにその他のセルページ情報エントリ1bをチ
ェインする。セルプール管理簿1aにセルサイズ,セルプ
ール数,セルの先頭アドレス,セルページ内セル数,
残りのセル数(総セル数)等を指定により、またはデフ
ォルト値により設定する。例えば、セルサイズは、セル
ページ情報エントリポインタの大きさ+ユーザの指定し
たセルサイズで決める。Next, one cell page information entry 1b is chained as a cell page in use as a cell page information entry pointer of the cell pool management book 1a, and another cell page information entry 1b is chained with an empty cell page information entry pointer. Cell size, number of cell pools, cell start address, number of cells in cell page,
The number of remaining cells (total number of cells) and the like are specified or set by default. For example, the cell size is determined by the size of the cell page information entry pointer + the cell size specified by the user.
そして、セルプール管理簿1aのアドレスを「セルプー
ルID」としてユーザ(アプリケーションプログラム)に
通知する。Then, the address of the cell pool management book 1a is notified to the user (application program) as the "cell pool ID".
セルプール開設処理で作成したセル11は(b)図に示
すように、ユーザの要求した大きさ(セルサイズ)+セ
ルプールの縮退管理のための領域(セルページ情報エン
トリポインタ:本例では4バイト)11aからなり、ユー
ザの利用できる領域には、空きセル管理の為の「次の空
きセルのポインタ」が含まれている。The cell 11 created in the cell pool opening process has a size (cell size) requested by the user + an area for degeneration management of the cell pool (cell page information entry pointer: 4 bytes in this example) as shown in FIG. 11a, the area available to the user includes a "next empty cell pointer" for empty cell management.
また、縮退管理用の領域11aには、そのセルに属する
セルページを管理するセルプール管理簿1aが指すセルペ
ージ情報エントリ1bのアドレスが格納される。In the degeneration management area 11a, the address of the cell page information entry 1b indicated by the cell pool management book 1a managing the cell page belonging to the cell is stored.
(2)セルの獲得処理:{第3図参照} 本図において、(a)は獲得前の状態、(b)は獲得
後の状態を示している。(2) Cell acquisition process: {see FIG. 3} In this figure, (a) shows a state before acquisition, and (b) shows a state after acquisition.
まず、獲得要求個数がセルプール管理簿1aの「残りの
セル数」より大きければ、後述のセルプールの拡張を行
う。First, if the acquisition request number is larger than the “remaining cell number” in the cell pool management book 1a, the cell pool described later is expanded.
もし、大きくなければ、その先頭セルアドレスをセル
プール管理簿1aの「先頭セルポインタ」から取り出し、
使用者通知用の先頭獲得セルポインタに代入する。先頭
獲得セルアドレスから獲得個数分のセル(斜線で示す)
を取り出し、最後のセルアドレスを最終獲得セルポイン
タに代入し、そのセルの先頭4バイトの内容(次の空き
セルへのポインタ)をセルプール管理簿1aの「先頭セル
ポインタ」に代入し、「残りのセル数」より獲得したセ
ル数を減ずる。If it is not large, the head cell address is taken out from the "head cell pointer" of the cell pool management book 1a,
Substitute in the top acquisition cell pointer for user notification. Cells for the acquired number from the top acquired cell address (shown by oblique lines)
And assigns the last cell address to the last acquired cell pointer, assigns the contents of the first 4 bytes of the cell (pointer to the next empty cell) to the "first cell pointer" of the cell pool management book 1a, and The number of cells obtained is subtracted from the number of cells.
(3)セルの解放処理:{第4図参照} 本図において、(a)は解放前の状態、(b)は解放
後の状態を示している。(3) Cell release processing: {see FIG. 4} In this figure, (a) shows a state before release, and (b) shows a state after release.
まず、最終解放セルポインタが示すセルの先頭4バイ
ト(次の空きセルへのポインタ)に、セルプール管理簿
1aの「先頭セルポインタ」の内容を代入する。そして、
「先頭セルポインタ」に当該先頭解放セルポインタの内
容を設定し、「残りのセル数」に解放個数を加える。First, the first four bytes (pointer to the next empty cell) of the cell indicated by the last released cell pointer are stored in the cell pool management list.
Substitute the contents of the “top cell pointer” in 1a. And
The contents of the head released cell pointer are set in the “head cell pointer”, and the released number is added to the “remaining cell number”.
(4)セルプールの拡張処理:{第5図参照} 本図において、(a)は拡張前の状態、(b)は拡張
後の状態を示している。(4) Expansion processing of cell pool: {see FIG. 5} In this figure, (a) shows a state before expansion, and (b) shows a state after expansion.
まず、前述のセルプール拡張が必要と判断すると、例
えば、4Kバイトの領域(セルページ)を1つ獲得する。First, when it is determined that the above-mentioned cell pool expansion is necessary, for example, one area (cell page) of 4 Kbytes is acquired.
次に、管理簿1aの「空きセルページ情報エントリポイ
ンタ」の指すセルページ情報エントリ1bを1つ取り出
し、セルページ情報エントリポインタのチェインに繋ぐ
(セルページ情報エントリ2で示す)。Next, one cell page information entry 1b pointed to by the "empty cell page information entry pointer" of the management book 1a is taken out and connected to the chain of the cell page information entry pointer (indicated by cell page information entry 2 ).
すなわち、「空きセルページ情報エントリポインタ」
の指すセルページ情報エントリ1bの次のセルページ情報
エントリポインタの内容(アドレス)を一時退避し
て、その領域(該取り出した空きセルページ情報エント
リの「次のセルページ情報エントリポインタ」)に管理
簿1aの「セルページ情報エントリポインタ」を設定し、
管理簿1aの「空きセルページ情報エントリポインタ」の
内容を管理簿1aの「セルページ情報エントリポインタ」
に設定し、上記退避しておいた“空きセルページ情報
エントリ2"のアドレスを管理簿1aの「空きセルページ情
報エントリポインタ」に設定してチェインする。That is, the “empty cell page information entry pointer”
Temporarily saves the contents (address) of the cell page information entry pointer next to the cell page information entry 1b pointed to by the area (the "next cell page information entry pointer" of the extracted empty cell page information entry). Set "cell page information entry pointer" of book 1a,
The contents of the "free cell page information entry pointer" in the management book 1a are changed to the "cell page information entry pointer" in the management book 1a.
, And the address of the saved “empty cell page information entry 2 ” is set as the “empty cell page information entry pointer” in the management book 1a and chained.
空きエントリから切り出したセルページ情報エントリ
(セルページ情報エントリ2)のセルページポインタ2
に獲得したセルページの先頭アドレスを設定する。Cell page pointer 2 of cell page information entry (cell page information entry 2 ) cut out from an empty entry
Is set to the start address of the acquired cell page.
獲得したセルページより、セルサイズで指定された大
きさのセル11を1セルページ内セル数個分(斜線で示
す)切り出して、各セル11の先頭に、セルページ情報エ
ントリ1bのアドレスを設定し、その先頭アドレス+4バ
イト目をポインタでチェインする。From the acquired cell page, the cell 11 of the size specified by the cell size is cut out by several cells in one cell page (shown by oblique lines), and the address of the cell page information entry 1b is set at the head of each cell 11 Then, the leading address + the fourth byte is chained by the pointer.
拡張した最終セルの先頭4バイトにセルプール管理簿
1aの「先頭セルポインタ」の内容を設定し、「先頭セル
ポインタ」には、拡張したセルページの先頭のセルアド
レスを格納する。Cell pool management book in the first 4 bytes of the expanded last cell
The contents of the “top cell pointer” of 1a are set, and the “top cell pointer” stores the top cell address of the expanded cell page.
そして、セルプール管理簿1aの「セルページ数」,
「残りのセル数」をそれぞれ更新する。Then, "number of cell pages" in cell pool management book 1a,
"Remaining cell number" is updated respectively.
(5)セルプールの縮退処理:{第6図参照} 本図において、(a)は縮退前の状態を示し、(b)
は縮退中の状態を示し、(c)は縮退後の状態を示して
いる。(5) Degeneration processing of cell pool: {see FIG. 6} In this figure, (a) shows a state before degeneration, and (b)
Shows a state during degeneration, and (c) shows a state after degeneration.
まず、セルプール管理簿1aが示す「セルページ数」が
‘1'であると、縮退は不可であるのでそのまま復帰す
る。また、セルページ数が‘2'以上であっても、残りの
セル数が1セルページのセル数以下ならば、やはり縮退
は不可であるので、そのまま復帰する。First, when the “number of cell pages” indicated by the cell pool management book 1a is “1”, since the degeneration is impossible, the process returns as it is. Even if the number of cell pages is equal to or greater than '2', if the number of remaining cells is equal to or less than the number of cells of one cell page, since the degeneration is impossible, the process returns as it is.
セルプール管理簿1aが示す「セルページ数」が‘2'以
上の場合には、セルプール管理簿1aの「先頭セルポイン
タ」に繋がるセル11の最後まで、以下の処理を繰り返
す。When the “number of cell pages” indicated by the cell pool management book 1a is “2” or more, the following processing is repeated until the end of the cell 11 linked to the “top cell pointer” of the cell pool management book 1a.
セルの先頭−4バイト目迄のセルページ情報エントリ
ポインタ11a{第2図(b1)参照}の指すセルページ情
報エントリ1bのセルページ内先頭セルポインタのキュー
にそのセル11を繋ぐ。{本図の(b)参照} すなわち、セルページ情報エントリ1b内のセルページ
内最終セルポインタの指すセル11の次セルポインタと,
セルページ内最終セルポインタにそのセル11のアドレス
を設定し、セルページ情報エントリ1bのセルページ内セ
ル数に‘1'を加える。The cell 11 is connected to the queue of the first cell pointer in the cell page of the cell page information entry 1b indicated by the cell page information entry pointer 11a (see FIG. 2 (b1)) up to the first four bytes of the cell. {See (b) of this figure} That is, the next cell pointer of the cell 11 indicated by the last cell pointer in the cell page in the cell page information entry 1b,
The address of the cell 11 is set in the last cell pointer in the cell page, and '1' is added to the number of cells in the cell page of the cell page information entry 1b.
最終セル迄、上記の処理が終了したらセルページ管理
簿1aの「セルページ情報エントリポインタ」に繋がるセ
ルページ情報エントリ1bを順に検索し、以下の処理を行
う。When the above processing is completed up to the last cell, the cell page information entry 1b linked to the "cell page information entry pointer" in the cell page management book 1a is searched in order, and the following processing is performed.
1) 現セルページ情報エントリ1bのセルページ内セ
ル数がセルページ管理簿1aの「1セルページ内セル数」
と同じであるならば、現セルページ情報エントリ1bのセ
ルページポインタが指す4Kバイトの領域を解放し、セル
ページ管理簿1aの「セルページ数」,「残りのセル数」
を更新する。1) The number of cells in the cell page of the current cell page information entry 1b is “the number of cells in one cell page” of the cell page management book 1a.
If it is the same as the above, the area of 4 Kbytes indicated by the cell page pointer of the current cell page information entry 1b is released, and the "number of cell pages" and "the number of remaining cells" of the cell page management book 1a are released.
To update.
そして、現セルページ情報エントリ1bを管理簿1aの
「空きセルページ情報エントリポインタ」のキューに繋
ぐ。Then, the current cell page information entry 1b is linked to the queue of the "free cell page information entry pointer" in the management book 1a.
すなわち、現セルページ情報エントリ1bの次のセルペ
ージ情報エントリポインタを前セルページ情報エントリ
1bの次のセルページ情報エントリに設定し、セルページ
管理簿1aの「空きセルページ情報エントリポインタ」を
現セルページ情報エントリ1bの次のセルページ情報エン
トリポインタに設定し、セルページ管理簿1aの「空きセ
ルページ情報エントリポインタ」に現セルページ情報エ
ントリ1bのアドレスを設定する。That is, the next cell page information entry pointer of the current cell page information entry 1b is set to the previous cell page information entry.
The next cell page information entry of 1b is set, and the "free cell page information entry pointer" of the cell page management book 1a is set as the next cell page information entry pointer of the current cell page information entry 1b, and the cell page management book 1a is set. The address of the current cell page information entry 1b is set in the "free cell page information entry pointer".
2) 現セルページ情報エントリ1bのセルページ内セ
ル数が、セルページ管理簿1aの「1セルページ内セル
数」より小さければ、そのエントリ1bに繋がるセル11を
返却するのみの処理で終了する。2) If the number of cells in the cell page of the current cell page information entry 1b is smaller than the "number of cells in one cell page" of the cell page management book 1a, the process ends only by returning the cell 11 connected to the entry 1b. .
以上、詳細に説明したように、本発明のセルプール管
理装置は、すべてのセルを1つのチェインで繋いで空き
セルチェインを構成し、セルを獲得するときは空きセル
チェイン切り出し、セルの返却時には空きセルチェイン
に繋ぐだけの処理として高速化するという、セルの獲得
と返却処理を高速に行うようにした点に特徴がある。As described above in detail, the cell pool management device of the present invention configures an empty cell chain by connecting all cells by one chain, cuts out an empty cell chain when acquiring a cell, and extracts an empty cell chain when returning a cell. It is characterized in that the process of acquiring and returning cells is performed at high speed, in which the speed is increased as the process only for connecting to the cell chain.
空きセルが溜まってきたときのセルプールの縮退処理
は必要に応じて実行するが、そのときに空きセルのチェ
インを調べ、各空きセルがどのセルページに属するかを
明らかにする。すなわちセルプール領域の縮退処理に必
要な処理は独立に管理するようにしたものであるので、
セルの獲得,解放時にセルプール領域の縮退時を考慮し
た処理を行う必要がなく、セルの獲得,解放時の処理速
度が向上する効果がある。The process of degenerating the cell pool when vacant cells accumulate is executed as needed. At that time, the chain of vacant cells is examined to clarify which cell page each vacant cell belongs to. In other words, since the processing required for the degeneration processing of the cell pool area is managed independently,
There is no need to perform processing in consideration of the degeneration of the cell pool area at the time of cell acquisition and release, and the processing speed at the time of cell acquisition and release is improved.
第1図は本発明のセルプール管理装置の原理説明図、 第2図は本発明によるセルプール開設処理を示した図、 第3図は本発明によるセルの獲得処理を示した図、 第4図は本発明によるセルの解放処理を示した図、 第5図は本発明によるセルプールの拡張処理を示した
図、 第6図は本発明によるセルプールの縮退処理を示した
図、 第7図は従来のセルプール管理装置を説明する図、 である。 図において、 1aはセルプール管理簿、 1bはセルページ情報エントリ、または空きセルページ情
報エントリ、 11はセル、 11aはセルページ情報エントリポインタ、 〜,〜は設定処理、 をそれぞれ示す。1 is a diagram illustrating the principle of the cell pool management device of the present invention, FIG. 2 is a diagram illustrating a cell pool opening process according to the present invention, FIG. 3 is a diagram illustrating a cell acquiring process according to the present invention, and FIG. FIG. 5 is a diagram showing a cell release process according to the present invention, FIG. 5 is a diagram showing a cell pool expansion process according to the present invention, FIG. 6 is a diagram showing a cell pool degeneration process according to the present invention, and FIG. FIG. 3 is a diagram illustrating a cell pool management device. In the figure, 1a indicates a cell pool management book, 1b indicates a cell page information entry or an empty cell page information entry, 11 indicates a cell, 11a indicates a cell page information entry pointer, and.
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭60−5358(JP,A) 特開 昭62−118454(JP,A) 特開 昭60−118949(JP,A) ────────────────────────────────────────────────── (5) References JP-A-60-5358 (JP, A) JP-A-62-118454 (JP, A) JP-A-60-118949 (JP, A)
Claims (1)
1つ以上有するセルプールから、アプリケーションプロ
グラムからの記憶領域獲得要求に応じて、より小単位で
あるセルを1つ以上割り当て、また、記憶領域返却要求
に応じて、セルプールにセルを解放する制御をおこなう
セルプール管理装置であって、 セルプール内のすべての空きセルを1つのチェインに繋
ぎ、 アプリケーションプログラムにセルを割り当てるとき
は、空きセルのチェインから、要求を満たす数のセルを
切り出し、 アプリケーションプログラムがセルを返却してきたとき
は、返却された一連のセルを空きセルのチェインに繋ぐ ことにより管理する空きセル管理手段と、 所定の時点になると、空きセルのチェインの各セルがど
のセルページに属するか分類し、すべてが空きセルであ
るセルページを検出して、そのセルページをセルプール
から除去するセルプール縮退処理手段と、 を有することを特徴とするセルプール管理装置。1. A method according to claim 1, further comprising: allocating, in response to a storage area acquisition request from an application program, at least one cell of a smaller unit from a cell pool having at least one cell page having a storage area of a predetermined unit. A cell pool management device that controls release of cells to a cell pool in response to a return request. When all empty cells in a cell pool are connected to one chain and cells are allocated to an application program, the cell pool management device starts from the empty cell chain. When the application program returns a cell that satisfies the request and returns the cell, a vacant cell management means that manages the returned series of cells by connecting them to a vacant cell chain, Classify which cell page each cell in the empty cell chain belongs to, and There pool of cells management apparatus characterized by comprising detecting the cell pages a empty cell, and cell pools degeneration processing means for removing the cell pages from pool of cells, the.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63082731A JP2989608B2 (en) | 1988-04-04 | 1988-04-04 | Cell pool management device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63082731A JP2989608B2 (en) | 1988-04-04 | 1988-04-04 | Cell pool management device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH01255055A JPH01255055A (en) | 1989-10-11 |
| JP2989608B2 true JP2989608B2 (en) | 1999-12-13 |
Family
ID=13782564
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63082731A Expired - Lifetime JP2989608B2 (en) | 1988-04-04 | 1988-04-04 | Cell pool management device |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2989608B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03246730A (en) * | 1990-02-26 | 1991-11-05 | Fujitsu Ltd | Deadlock state detection control system |
| US5561785A (en) * | 1992-10-29 | 1996-10-01 | International Business Machines Corporation | System for allocating and returning storage and collecting garbage using subpool of available blocks |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS605358A (en) * | 1983-06-24 | 1985-01-11 | Fujitsu Ltd | Cell control system of storage area |
| JPS62118454A (en) * | 1985-11-19 | 1987-05-29 | Nec Corp | Buffer resource controlling system in data processor |
-
1988
- 1988-04-04 JP JP63082731A patent/JP2989608B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH01255055A (en) | 1989-10-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2571664B2 (en) | Computer main storage management system and method | |
| EP0938706B1 (en) | Data processor with localised memory reclamation | |
| KR100446339B1 (en) | Real time data migration system and method employing sparse files | |
| JPH02300949A (en) | Memory control | |
| US6360233B1 (en) | Dynamic memory space allocation | |
| JP2858795B2 (en) | Real memory allocation method | |
| JP3612339B2 (en) | Data processing method and apparatus | |
| US6219772B1 (en) | Method for efficient memory allocation of small data blocks | |
| US5678024A (en) | Method and system for dynamic performance resource management within a computer based system | |
| EP0694831A2 (en) | Computer system having storage unit provided with data compression function andmethod of management of storage area thereof | |
| JP2989608B2 (en) | Cell pool management device | |
| US6338125B1 (en) | Dynamic slot allocation and tracking of multiple memory requests | |
| JPH06214874A (en) | Memory managing system | |
| JPH07182225A (en) | Online resource increase / decrease method for OS resources | |
| US20020124164A1 (en) | Method for starting computer system | |
| JP3356090B2 (en) | Memory management method, memory management device, and recording medium | |
| CN121542054B (en) | Memory allocation method and electronic equipment | |
| JP3328283B2 (en) | Free memory of a computing device, dynamic management of free memory subdivided into at least two logic memory areas with different access characteristics | |
| JP3353376B2 (en) | Storage area management method | |
| JP3030030B2 (en) | Area management processing method | |
| JPH10312297A (en) | Resource management method, resource management device, and recording medium in information processing system having multitask function | |
| JPH0895849A (en) | Memory management method | |
| JP3945886B2 (en) | Allocation method of main memory in computer system and recording medium therefor | |
| JP3014490B2 (en) | Fault handling device | |
| JP2636484B2 (en) | Buffer management method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071008 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081008 Year of fee payment: 9 |
|
| EXPY | Cancellation because of completion of term | ||
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081008 Year of fee payment: 9 |