JP2636484B2 - Buffer management method - Google Patents

Buffer management method

Info

Publication number
JP2636484B2
JP2636484B2 JP2249242A JP24924290A JP2636484B2 JP 2636484 B2 JP2636484 B2 JP 2636484B2 JP 2249242 A JP2249242 A JP 2249242A JP 24924290 A JP24924290 A JP 24924290A JP 2636484 B2 JP2636484 B2 JP 2636484B2
Authority
JP
Japan
Prior art keywords
real memory
buffer
memory
allocated
area
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 - Fee Related
Application number
JP2249242A
Other languages
Japanese (ja)
Other versions
JPH04127338A (en
Inventor
圭也 江藤
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2249242A priority Critical patent/JP2636484B2/en
Publication of JPH04127338A publication Critical patent/JPH04127338A/en
Application granted granted Critical
Publication of JP2636484B2 publication Critical patent/JP2636484B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術と発明が解決しようとする課題 課題を解決するための手段 作用 実施例 発明の効果 〔概要〕 仮想記憶方式をとり、ページフォールトの発生が許さ
れない状態を有する計算機システムにおいて、未使用の
バッファ領域を、実メモリを固定的に割当てない状態で
プール管理する方式に関し、 不要なバッファプールに対しては、実メモリを棄却し
て奪われやすい状態とすることで、実メモリを割当てな
い状態で管理することができ、且つ、必要なときには、
高速に、実メモリが固定状態のバッファを獲得すること
ができるバッファ管理方式を提供することを目的とし、 実メモリが割当てられていない仮想メモリ領域に対し
て自己が確保している空き状態の実メモリ(プールにも
存在せず、又、ページテーブル上にもない空き状態の実
メモリ)か,又は、仮想メモリ領域に割当てられている
が、参照/更新もされていない実メモリを仮想メモリか
ら奪って{ページテーブルのバリッドビット(V)を
‘オフ’にして}割当てる{ページテーブルの別のエン
トリのバリッドビット(V)を‘オン’とする}実メモ
リ割当装置と,不要となった実メモリ割当て状態の仮想
メモリに対して、参照/更新ビットを無効化する実メモ
リ棄却装置と,バッファ領域をページ単位で管理し、バ
ッファ領域の獲得依頼の要求があったときには、プール
からバッファを切り出し、該切り出したバッファに実メ
モリが割当てられていない領域であると、上記実メモリ
割当装置により、該切り出したバッファ領域に実メモリ
を割当て、該切り出したバッファに実メモリが割当てら
れたその侭で、上記参照/更新ビットを無効化になって
いる領域であると、その侭、該バッファを獲得{ユーザ
プログラムに通知}し、バッファ領域の返却依頼の要求
があったときには、該バッファの返却により、該バッフ
ァの存在するページが全て不要になったとき、上記実メ
モリ棄却装置により、上記参照/更新ビットを無効化し
て実メモリを棄却するバッファプール管理装置とを設け
て、未使用のバッファ領域を実メモリを固定的に割当て
ない状態、つまり、実メモリを再使用し易い状態、即
ち、ワーキングセットとならない状態で管理するように
構成する。
Detailed Description of the Invention [Table of Contents] Overview Industrial application field Conventional technology and problems to be solved by the invention Means to solve the problem Action Embodiment Effect of the invention [Overview] Take virtual storage method, In a computer system that has a state in which page faults are not allowed to occur, a method of pool management of unused buffer areas without permanently allocating real memory. Regarding unnecessary buffer pools, reject real memory. By making it easy to be deprived, it can be managed without allocating real memory, and when necessary,
The purpose of the present invention is to provide a buffer management method in which a real memory can acquire a buffer in a fixed state at a high speed. Either memory (free real memory that is neither in the pool nor on the page table) or real memory allocated to the virtual memory area but not referenced / updated from the virtual memory Take it, {set the valid bit (V) of the page table to 'off', {assign it}, set the valid bit (V) of another entry of the page table to 'on', {real memory allocation device and real A real memory rejection device that invalidates the reference / update bit for the virtual memory in the memory allocation state and a buffer area acquisition request that manages the buffer area in page units and requests a buffer area acquisition request When there is a buffer, the buffer is cut out from the pool, and if the real memory is not allocated to the cut out buffer, the real memory allocation device allocates real memory to the cut out buffer area, and If the reference / update bit is invalidated while the real memory is allocated to the buffer, the buffer is acquired {notified to the user program} and the request for the buffer area return request is made. A buffer pool management device for invalidating the reference / update bit and rejecting the real memory by the real memory rejecting device when all the pages in the buffer become unnecessary by returning the buffer. In a state where the unused buffer area is not fixedly allocated to the real memory, that is, the state in which the real memory can be easily reused. In other words, the management is performed in a state that does not become a working set.

〔産業上の利用分野〕 本発明は、仮想記憶方式をとり、ページフォールトの
発生が許されない状態を有する計算機システムにおい
て、未使用のバッファ領域を、実メモリを割当てない状
態でプール管理する方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a method of pool management of unused buffer areas in a computer system having a virtual memory system and having a state in which a page fault is not allowed to occur without allocating real memory. .

最近の計算機システムによるデータ処理の多様化によ
り、システムプログラムの配下で実行されるユーザプロ
グラムの数も増大する動向にあり、システムプログラム
が管理している共通資源、例えば、実メモリに対する獲
得,棄却の要求が多発する状況にある。
With the recent diversification of data processing by computer systems, the number of user programs executed under the control of system programs has also been increasing, and acquisition and rejection of common resources managed by the system programs, for example, real memory, have been increasing. There are many requests.

特に、仮想記憶方式をとり、ページフォールトが許さ
れない状態を有する計算機システムの場合、論理メモリ
空間に対して、実メモリ空間が固定されている必要があ
るが、このような構成で、メモリを管理すると、未使用
の実メモリをプールしてしまい、実メモリ空間を圧迫す
る、即ち、ワーキングセットとなる問題がある。
In particular, in the case of a computer system that employs a virtual memory system and has a state in which page faults are not allowed, it is necessary that the real memory space be fixed with respect to the logical memory space. Then, there is a problem that the unused real memory is pooled and the real memory space is squeezed, that is, it becomes a working set.

従って、該実メモリの獲得,棄却処理のオーバヘッド
を少なくして、獲得時には、高速に実メモリを獲得で
き、棄却時には、該返却領域がワーキングセットとなら
ない状態、即ち、実メモリを割当てて、メモリ領域を圧
迫することのない状態にして、効率よく、メモリ領域を
管理することができるバッファ管理方式が必要とされ
る。
Therefore, real memory can be acquired at high speed at the time of acquisition by reducing the overhead of the acquisition and rejection processing of the real memory, and at the time of rejection, the return area does not become a working set. There is a need for a buffer management method that can efficiently manage a memory area without squeezing the area.

〔従来の技術と発明が解決しようとする課題〕[Problems to be solved by conventional technology and invention]

第3図は従来のバッファ管理方式を説明する図であ
る。
FIG. 3 is a diagram for explaining a conventional buffer management system.

本図に示したような、システムプログラムの配下で、
多くのユーザプログラムが実行される計算機システムに
おいて、ユーザプログラムがシステムプログラムに対し
て、該システムプログラムが管理している資源(実メモ
リ)を使用するような処理の場合に、該要求された処理
を完遂する為に、該システムプログラムを実行するメモ
リ領域(作業領域:バッファという)の獲得機構は、従
来は、以下のように行われていた。
Under the system program as shown in this figure,
In a computer system in which many user programs are executed, when a user program uses a resource (real memory) managed by the system program for the system program, the requested process is executed. Conventionally, a mechanism for acquiring a memory area (work area: buffer) for executing the system program has been performed as described below.

システムプログラムは、一時には一つの処理しか実行
しないものであるので、通常、ページフォールトが許さ
れない状態で走行する必要がある。
Since the system program executes only one process at a time, it is usually necessary to run in a state where a page fault is not allowed.

このような計算機システムにおいては、該システムプ
ログラムは、実メモリが固定されている領域を、上記バ
ッファとして獲得する。
In such a computer system, the system program acquires an area where the real memory is fixed as the buffer.

特に、該バッファの獲得を高速に行う必要がある場合
には、実メモリが固定状態にあるバッファをプール管理
して、高速な領域の獲得,返却を可能としている。
In particular, when it is necessary to obtain the buffer at high speed, the buffer in which the real memory is in a fixed state is pool-managed, and high-speed area acquisition and return are enabled.

このようなプール管理により領域獲得,返却論理を構
築した場合、 領域獲得,返却処理を高速に行う為に、前述のよう
に、プール内には、常に、未使用であるが、実メモリが
固定状態のバッファが、多数存在していることになる。
When the area acquisition / return logic is constructed by such pool management, the area is always unused, but the real memory is fixed in the pool, as described above, in order to perform the area acquisition / return processing at high speed. A large number of state buffers exist.

ユーザプログラムからの多数の要求により、一度、
該プール管理機構が、実メモリが固定状態のバッファを
獲得(具体的には、プール内に保持する)して、ユーザ
プログラムに、使用を許可すると、ユーザプログラムか
ら返却があっても、該プール内に、該実メモリの固定さ
れたバッファをプール内に持ち続ける為(即ち、従来方
式においては、以降でのユーザプログラムからの要求
に、即、対応できるように、該ユーザプログラムから返
却されたバッファを棄却する機構が存在していなかっ
た)、未使用の実メモリが、段々と、プール内に保持さ
れたままとなり、実メモリ領域を圧迫する可能性が大き
くなるという問題があった。
Due to many requests from the user program, once
When the pool management mechanism acquires a buffer in which the real memory is in a fixed state (specifically, holds the buffer in the pool) and permits the user program to use the buffer, even if there is a return from the user program, the pool In order to keep the fixed buffer of the real memory in the pool within the pool (that is, in the conventional method, the buffer is returned from the user program so that it can immediately respond to a subsequent request from the user program). There was no mechanism for rejecting the buffer), and there was a problem that unused real memory was gradually kept in the pool, and the possibility of pressing down the real memory area was increased.

勿論、該プール管理機構でのプールが極端に多くなっ
た場合には、図示されていないページテーブル管理機構
が、後述のページテーブルの特定のエントリを消去し
て、実メモリを開放する機構は存在するので、全ての実
メモリがプールされることはない。又、必要により、該
エントリを獲得する場合もある。
Of course, when the number of pools in the pool management mechanism becomes extremely large, there is a mechanism that a page table management mechanism (not shown) deletes a specific entry of a page table described later and releases real memory. Therefore, not all real memory is pooled. Also, the entry may be obtained as needed.

このページテーブルのエントリの消去,獲得機構を使
用することで、実メモリを固定的に割当てられていない
状態、つまり、実メモリを再使用し易い状態のバッファ
管理、即ち、ワーキングセットとなりないバッファ管理
を行うことができるが、その為には、多くの処理時間を
必要とする上記ページテーブルの消去,獲得処理を実行
する必要があり、計算機システムの処理能力を著しく低
下させてしまう問題があった。
By using this page table entry erasure and acquisition mechanism, buffer management in a state in which real memory is not fixedly allocated, that is, in a state in which real memory is easily reused, that is, buffer management that does not become a working set However, for that purpose, it is necessary to execute the erasure and acquisition processing of the page table which requires a lot of processing time, and there is a problem that the processing capacity of the computer system is significantly reduced. .

本発明は上記従来の欠点に鑑み、未使用のバッファ領
域を、実メモリを固定的に割当ててない状態でプール管
理するのに、不要なバッファプールに対しては、実メモ
リを棄却、即ち、参照/更新ビットを無効化して奪われ
やすい状態とすることで、実メモリを固定的に割当てな
い状態、つまり、実メモリを再使用し易い状態(ワーキ
ングセットとならない状態)で管理することができ、且
つ、必要なときには、高速に実メモリが固定状態のバッ
ファを獲得することができるバッファ管理方式を提供す
ることを目的とするものである。
In view of the above-mentioned conventional disadvantages, the present invention manages an unused buffer area in a pool without real memory being fixedly allocated, and rejects the real memory for an unnecessary buffer pool, that is, By invalidating the reference / update bit to make the state easy to be deprived, it is possible to manage the real memory in a state where it is not fixedly allocated, that is, in a state where the real memory is easily reused (a state that does not become a working set). It is another object of the present invention to provide a buffer management method that can acquire a buffer in which a real memory has a fixed state at a high speed when necessary.

〔課題を解決するための手段〕[Means for solving the problem]

第1図は、本発明の原理構成図である。 FIG. 1 is a diagram showing the principle of the present invention.

上記の問題点は下記の如くに構成されたバッファ管理
方式によって解決される。
The above problem is solved by a buffer management system configured as follows.

仮想記憶方式をとり、ページフォールトの発生が許さ
れない状態を有する計算機システムにおいて、未使用の
バッファ領域を、実メモリを固定的に割当てない状態
で、つまり、実メモリを再使用し易い状態でプール管理
する方式であって、 実メモリが割当てられていない仮想メモリ領域に対し
て自己が確保している空き状態の実メモリ(プールにも
存在せず、又、ページテーブル上にもない空き状態の実
メモリ)か,又は、仮想メモリ領域に割当てられている
が、参照/更新もされていない実メモリについて、仮想
メモリ−実メモリの対応関係を切り離して、割当てる
{即ち、ページテーブルの該当のエントリのバリッドビ
ット(v)を‘オン’とする}実メモリ割当装置1と, 不要となった実メモリ割当て状態の仮想メモリに対し
て、参照/更新ビットを無効化する実メモリ棄却装置2
と, バッファ領域をページ単位で、バッファ領域の獲得依
頼の要求があったときには、プールからバッファを切り
出し、該切り出したバッファに実メモリが割当てられて
いない領域であると、上記実メモリ割当装置1により、
該切り出したバッファ領域に実メモリを割当て、該切り
出したバッファに実メモリが割当てられた侭で、上記参
照/更新ビットを無効化になっている領域であると、そ
の侭、該バッファを獲得して、ユーザプログラムに通知
し、 バッファ領域の返却依頼の要求があったときには、該
バッファの返却により、該バッファの存在するページが
全て不要になったとき、上記実メモリ棄却装置2によ
り、上記参照/更新ビットを無効化して、実メモリを棄
却するバッファプール管理装置3とを設けて、 未作用のバッファ領域を実メモリを固定的に割当てな
い状態、つまり、実メモリを再使用し易い状態で管理す
るように構成する。
In a computer system using a virtual storage method and having a state in which page faults are not allowed to occur, unused buffer areas are pooled in a state in which real memory is not fixedly allocated, that is, in a state in which real memory is easily reused. This is a management method in which the real memory in the free state which is allocated to the virtual memory area to which the real memory is not allocated (the free real memory which does not exist in the pool nor exists in the page table). (Real memory) or a real memory that has been allocated to the virtual memory area but has not been referenced / updated, and is allocated by separating the virtual memory-real memory correspondence. The valid bit (v) of the real memory allocation device 1 to “on”. Real memory rejection device 2 for invalidating update bit
When there is a request for a buffer area acquisition request in units of pages, the buffer is cut out from the pool, and if the real memory is not assigned to the cut out buffer, the real memory allocating device 1 By
A real memory is allocated to the cut buffer area, and if the reference / update bit is invalid while the real memory is allocated to the cut buffer, the buffer is acquired as it is. When a request for a buffer area return request is made, when the buffer is returned and all pages in which the buffer is present become unnecessary, the real memory rejection device 2 A buffer pool management device 3 which invalidates the / update bit and rejects the real memory is provided, and the inactive buffer area is not fixedly allocated to the real memory, that is, the real memory is easily reused. Configure to manage.

〔作用〕[Action]

仮想記憶方式をとる計算機システムにおいては、周知
のように、ページテーブルによって、論理メモリアドレ
ス−実メモリアドレスとの対応をとって、広大な論理ア
ドレス空間内で走行するユーザプログラムに対して、ペ
ージ単位の実メモリ空間を割当てている。
As is well known, in a computer system using a virtual memory system, a page table is used to associate a logical memory address with a real memory address, and a user program running in a large logical address space is page-by-page. Real memory space is allocated.

該ページテーブルにおいて、バリッドビット(V)が
‘オン’になっていると、該当の論理アドレスページに
実アドレスのページが割当てられていることを示し、該
バリッドビット(V)が‘オン’になっていても、参照
/更新ビットが‘オフ’であると、該ページの実メモリ
は、少なくとも、その時点では使用されていないことを
示している。
In the page table, when the valid bit (V) is “ON”, it indicates that the page of the real address is allocated to the relevant logical address page, and the valid bit (V) is “ON”. Even so, if the reference / update bit is 'off', it indicates that the real memory of the page is at least unused at that time.

本発明は、このような計算機システムにおいて、特
に、ページフォールトの発生が許されない状態を有する
計算機システムにおいて、未使用のバッファ領域を、実
メモリを固定的に割当てない状態、即ち、実メモリ領域
を圧迫しない状態でプール管理するもので、その為に、
実メモリが割当てられていない仮想メモリ領域に対して
自己が確保している空き状態の実メモリ(プールにも存
在せず、又、ページテーブル上にもない空き状態の実メ
モリ){該計算機システムの初期化時とか,周知の実メ
モリ補充処理(ファイル装置との入れ替え処理)で確保
した実メモリ}か,その実メモリが存在しなくなった時
には、仮想メモリ領域に割当てられている{即ち、上記
ページテーブル上のバリッドビット(V)が‘オン’と
なっている}が、参照/更新もされていない(即ち、参
照/更新ビットか‘オフ’である)実メモリについて、
仮想メモリ−実メモリの対応関係を切り離して、即ち、
上記ページテーブルの該当エントリのバリッドビット
(V)を‘オフ’として、ユーザプログラムから割当て
要求のあった別の論理アドレスに割当てる{即ち、ペー
ジテーブルの他の該当エントリのバリッドビット(V)
を‘オン’とする}実メモリ割当装置と, 不要となった実メモリ割当て状態の仮想メモリに対し
て、上記ページテーブル上の参照/更新ビット(該参照
/更新ビットは必ずしも、上記ページテーブル上にある
とは限らなく、例えば、実メモリ上に付加されている場
合もある。)を無効化する実メモリ棄却装置と, バッファ領域をページ単位で管理し、ユーザプログラ
ムからバッファ領域の獲得依頼の要求があったときに
は、プールからバッファ(論理アドレス領域)を切り出
し、該切り出したバッファが実メモリが割当てられてい
ない領域であると、上記実メモリ割当装置により、該切
り出したバッファ領域に、自己が確保している空き状態
の実メモリ(プールにも存在せず、又、ページテーブル
上にもない空き状態の実メモリ)を割当てて、ページテ
ーブルの該当エントリのバリッドビット(V)を‘オ
ン’とし、該切り出したバッファ(論理アドレス領域)
に実メモリが割当てられた侭で、上記参照/更新ビット
を無効化になっている領域であると、その侭、該バッフ
ァを獲得(ユーザプログラムに渡す)し、 バッファ領域の返却依頼の要求があったときには、該
バッファの返却により、該バッファの存在するページが
全て不要になったとき、上記実メモリ棄却装置により、
上記参照/更新ビットを無効化して、実メモリを棄却す
るバッファプール管理装置とを設けて、 未使用のバッファ領域を、上記ページテーブルのエン
トリは、その侭にして、実メモリを固定的に割当てない
状態、つまり、実メモリを再使用し易い状態で管理する
ようにしたものである。
The present invention relates to such a computer system, particularly, in a computer system having a state in which the occurrence of a page fault is not allowed, in a state in which an unused buffer area is not fixedly allocated with real memory, that is, a real memory area is allocated. The pool is managed without pressure, so for that,
A free real memory secured by itself for a virtual memory area to which no real memory is allocated (a free real memory that is neither in the pool nor on the page table) {the computer system At the time of initialization of the real memory, the real memory secured by a known real memory replenishment process (replacement process with a file device), or when the real memory no longer exists, the real memory is allocated to the virtual memory area. For a real memory in which the valid bit (V) on the table is 'on' but not referenced / updated (ie, the reference / update bit is 'off'),
The correspondence between the virtual memory and the real memory is separated, that is,
The valid bit (V) of the corresponding entry in the page table is set to "OFF" and the logical address is allocated to another logical address requested to be allocated by the user program. That is, the valid bit (V) of another corresponding entry in the page table is assigned.
Is turned on. The reference / update bit on the page table (the reference / update bit is not necessarily And the memory may be added to the real memory, for example.) And a real memory rejecting device that invalidates the buffer area, manages the buffer area in units of pages, and receives a request from the user program to acquire the buffer area. When a request is made, a buffer (logical address area) is cut out from the pool, and if the cut out buffer is an area to which no real memory has been allocated, the real memory allocating apparatus assigns itself to the cut out buffer area. Allocate the reserved free real memory (free real memory that is neither in the pool nor in the page table) The valid bit (V) of the corresponding entry of the page table is set to “ON”, and the extracted buffer (logical address area)
If the reference / update bit is invalidated while the real memory is allocated to the area, the buffer is acquired (passed to the user program) and the request for the buffer area return request is received. When there is, when all the pages in which the buffer exists become unnecessary by returning the buffer, by the real memory rejection device,
A buffer pool management device that invalidates the reference / update bit and rejects the real memory is provided, and an unused buffer area is fixedly allocated to the real memory while keeping the entry of the page table as it is. In this case, the real memory is managed in a state where it is not available, that is, the real memory is easily reused.

即ち、実メモリの固定状態のバッファ領域を開放する
際、明に、該実メモリを開放する、即ち、上記ページテ
ーブルから消去する(エントリの消去)ことなく、実メ
モリ棄却装置で、ページテーブル上の参照/更新ビット
のみを無効化して、実メモリ割当装置が、該実メモリを
奪い易い状態{バリッドビット(V)の‘オフ',‘オ
ン’のし易い状態}にすることで、該実メモリ返却処理
のオーバヘッドを無くするようにしたものである。
That is, when the buffer area in the fixed state of the real memory is released, the real memory is explicitly released, that is, the real memory discarding device does not delete the entry from the page table (delete the entry). By invalidating only the reference / update bit of the real memory, the real memory allocating device puts the real memory in an easy-to-take-off state (a state in which the valid bit (V) is easily turned off and on). This is to eliminate the overhead of the memory return processing.

従って、本発明のバッファ管理方式によれば、不要な
バッファをプールするのに、実メモリを棄却、即ち、ペ
ージテーブル上の参照/更新ビットを無効化すること
で、実メモリ割当装置が、該実メモリを奪い易い状態、
即ち、論理アドレス−実アドレスの対応を切り離して、
別の対応関係とすることがし易い状態となり、実メモリ
を固定的に割当てない状態、即ち、ワーキングセットと
ならない状態で、バッファのプール管理ができ、且つ、
実メモリが必要なときには、大部分の場合が、上記参照
/更新ビットが‘オフ’の実メモリの獲得で済み、例
え、該実メモリが割当てられていなくても、実メモリ割
当装置が管理している実メモリを、即、該ユーザプログ
ラムの要求している論理ページに割当てる、即ち、ペー
ジテーブルの該当エントリに実メモリを割当てて、その
バリッドビット(V)を‘オン’とすることができるの
で、従来方式に比較して、余り遜色のない速度で、実メ
モリ固定状態のバッファを獲得することができる効果が
ある。
Therefore, according to the buffer management system of the present invention, the real memory is discarded when pooling unnecessary buffers, that is, the reference / update bit on the page table is invalidated, so that the real memory allocation device can A state in which real memory is easily robbed,
That is, the correspondence between the logical address and the real address is separated,
In a state where it is easy to make another correspondence, a state where real memory is not fixedly allocated, that is, a state in which a working set is not established, buffer pool management can be performed, and
When real memory is required, in most cases, real memory with the above-mentioned reference / update bit set to “off” can be obtained. Even if the real memory is not allocated, the real memory allocation device manages the real memory. The real memory is immediately allocated to the logical page requested by the user program, that is, the real memory is allocated to the corresponding entry of the page table, and the valid bit (V) can be turned on. Therefore, there is an effect that a buffer in a real memory fixed state can be obtained at a speed not inferior to the conventional method.

〔実施例〕〔Example〕

以下本発明の実施例を図面によって詳述する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.

前述の第1図が本発明の原理構成図であり、第2図は
本発明の一実施例を示した図であって、(a)はバッフ
ァプール管理装置の構成例を示し、(b)はバッファ獲
得要求時の動作を模式的に示し、(c)はバッファ返却
要求時の動作を模式的に示し、(d)はプールの構成例
を示している。
FIG. 1 is a diagram showing the principle of the present invention, FIG. 2 is a diagram showing an embodiment of the present invention, (a) shows a configuration example of a buffer pool management device, and (b) 5 schematically shows an operation at the time of a buffer acquisition request, (c) schematically shows an operation at the time of a buffer return request, and (d) shows a configuration example of a pool.

本実施例において、実メモリ割当装置1,実メモリ棄却
装置2,バッファプール管理装置3を設けて、実メモリの
固定状態のバッファ領域を開放する際、明に、該実メモ
リを開放することなく、即ち、上記ページテーブルから
エントリを消去することなく、実メモリ棄却装置2で、
ページテーブルの参照/更新ビットのみを無効化して、
実メモリ割当装置1が実メモリを奪い易い状態、即ち、
論理アドレス−実アドレスの対応を切り離し易い状態に
することで、実メモリをバッファに固定的に割当てて、
実メモリを圧迫することのない、即ち、ワーキングセッ
トとならないバッファプール管理を行う手段が本発明を
実施するのに必要な手段である。尚、全図を通して同じ
符号は同じ対象物を示している。
In the present embodiment, when the real memory allocating device 1, the real memory rejecting device 2, and the buffer pool management device 3 are provided to release the buffer area in the fixed state of the real memory, the real memory is explicitly released. That is, without deleting entries from the page table, the real memory rejection device 2
Disable only the reference / update bit of the page table,
A state in which the real memory allocation device 1 easily takes over real memory, that is,
By making the correspondence between the logical address and the real address easy to separate, the real memory is fixedly allocated to the buffer,
Means for performing buffer pool management that does not squeeze real memory, that is, does not become a working set, is a means necessary for implementing the present invention. Note that the same reference numerals indicate the same object throughout the drawings.

以下、第1図を参照しながら、第2図によって、本発
明のバッファ管理方式を説明する。
Hereinafter, the buffer management method of the present invention will be described with reference to FIG. 2 while referring to FIG.

以下の説明で使用すプール、バッファ、ページの相互
関係について明示する。即ち、ページは、仮想メモリに
割当てる実メモリの最小の単位であり、バッファとは、
仮想メモリを獲得・返却するときの実メモリの単位で、
上記ページより大きい場合もあるし、小さい場合もあ
り、使用者/要求者毎に、その大きさが異なるものであ
る。
Clarify the relationship between pools, buffers, and pages used in the following description. That is, a page is the smallest unit of real memory allocated to virtual memory, and a buffer is
The unit of real memory when acquiring / returning virtual memory.
The size of the page may be larger or smaller than that of the page, and the size of the page may be different for each user / requester.

そして、プール(バッファプールということがある)
は、上記バッファを割当てための連続した比較的おおき
な仮想領域であり、上記バッファは、該プール内から所
定の大きさの領域を切り出して、前記のページテーブル
上で割当てたものである。該プール内に、上記バッファ
を割当てるための充分な空きの仮想領域が無くなった場
合には、新たなプールを、ページテーブルを検索して実
メモリの割当てを行い、該新規に実メモリの割当てられ
たプールからバッファを切り出すものとする。該プール
内でバッファとして割当てられていない仮想領域は、ペ
ージ単位として棄却されている。
And pool (sometimes called buffer pool)
Is a continuous relatively large virtual area for allocating the buffer, and the buffer is obtained by cutting out an area of a predetermined size from the pool and allocating it on the page table. When there is no sufficient free virtual area in the pool to allocate the buffer, a new pool is searched for a page table to allocate real memory, and the new real memory is allocated. Buffer from the pool. A virtual area not allocated as a buffer in the pool is rejected in page units.

又、実メモリが仮想メモリに割当てられていても、参
照も更新もされていない場合には、実メモリ割当直後の
未使用状態と考えることができ、この実メモリは、前述
のページテーブル上において、実メモリと仮想メモリと
の関係を断ち切り、他の仮想メモリに割当てても、ユー
ザプログラムに影響を与えることはないので、この状態
を、ここでは、実メモリの棄却と言っている。
Also, even if the real memory is allocated to the virtual memory, if it is neither referenced nor updated, it can be considered as an unused state immediately after the real memory allocation, and this real memory is stored in the above-described page table. Even if the relationship between the real memory and the virtual memory is cut off and the virtual memory is allocated to another virtual memory, this does not affect the user program. Therefore, this state is referred to as rejection of the real memory.

先ず、バッファプール管理装置3は、実メモリを外し
た状態のバッファ、即ち、論理アドレス空間をプール管
理する為、実メモリの固定されているメモリ空間におい
て、(a)図に示したような、キュー構造の管理表を使
用する。
First, the buffer pool management device 3 manages the buffer in a state where the real memory is removed, that is, in the memory space where the real memory is fixed in order to perform pool management of the logical address space, as shown in FIG. Use a queue structure management table.

該管理表は、例えば、バッファ管理ヘッダと,ヘッダ
アドレス(アドレスポインタ)と,バッファアドレス
(プールの先頭アドレス)と,プールサイズ等から構成
されている。
The management table includes, for example, a buffer management header, a header address (address pointer), a buffer address (head address of a pool), a pool size, and the like.

バッファプールは、実メモリの割当/棄却との兼ね合
いで、ページ単位,又は、複数ページ単位の領域とす
る。
The buffer pool is an area in units of pages or a plurality of pages in consideration of allocation / rejection of real memory.

上記の管理表は、該バッファプールに比較して十分
に、小さい領域で済ませることができる為、バッファプ
ール管理上のワーキングセットとなることはない。即
ち、広範囲の実メモリを占領して、実メモリ領域を圧迫
することはない。
Since the management table described above can be completed in a small area sufficiently compared with the buffer pool, it does not become a working set for buffer pool management. That is, the real memory is not occupied over a wide area, and the real memory area is not pressed.

実メモリ割当装置1は、実メモリが割当られていない
仮想メモリ領域、即ち、バッファに対して、空き状態の
実メモリをページフォールトを発生させることなく割り
当てて、該仮想メモリ領域(バッファ)を実メモリ固定
状態とする装置であり、割り当てるべき実メモリは、実
メモリ割当装置が管理している空き状態の実メモリ、つ
まり、前述の計算機システムの初期化時等において確保
されている実メモリか,或いは、該実メモリが無くなっ
た場合には、仮想メモリ領域に割り当てられているが、
参照も更新もされていない、即ち、参照ビットも更新ビ
ットも立っていない状態の実メモリを、該仮想メモリ領
域から奪って、具体的には、該ページテーブル上のバリ
ッドビット(V)を‘オフ’にして使用する。
The real memory allocation device 1 allocates an empty real memory to a virtual memory area to which no real memory is allocated, that is, a buffer without causing a page fault, and allocates the virtual memory area (buffer) to the real memory area. The real memory to be allocated is a real memory to be allocated, and the real memory to be allocated is an empty real memory managed by the real memory allocation device, that is, the real memory secured at the time of initialization of the computer system or the like. Alternatively, when the real memory is exhausted, it is allocated to the virtual memory area,
The real memory in which neither reference nor update is performed, that is, neither the reference bit nor the update bit is set is taken from the virtual memory area, and specifically, the valid bit (V) on the page table is set to ' Use 'off'.

従って、該実メモリ割当装置1は、真に空いている実
メモリを、バッファに割り当てる装置であって、従来の
バッファプール管理装置が、一度獲得したバッファに対
して、固定的に実メモリを割り当てた侭で保持し、実メ
モリ領域を圧迫するのとは、根本的に異なる割り当て機
構を備えているものである。
Therefore, the real memory allocating device 1 is a device that allocates a real free real memory to a buffer, and the real buffer allocating device 1 allocates a real memory to a buffer acquired once by a conventional buffer pool management device. Holding as it is and compressing the real memory area means having a fundamentally different allocation mechanism.

又、実メモリ棄却装置2は、ユーザプログラムから返
却され、不要となった実メモリ割当状態の仮想メモリ
(バッファ)に対して、単に、参照/更新ビットを無効
化することにより、上記実メモリ割当装置1が奪い易い
状態にする装置であり、本発明を特徴付けるものであ
る。
Further, the real memory rejection device 2 simply invalidates the reference / update bit for the virtual memory (buffer) returned from the user program and no longer required in the real memory allocation state, thereby realizing the real memory allocation. The device 1 is a device that makes the device 1 easily rob, and characterizes the present invention.

本装置2では、積極的に、実メモリを仮想メモリから
取り去る。即ち、上記ページテーブル上のバリッドビッ
ト(V)を‘オフ’とすることはせず、上記のような、
単なるページテーブル上の参照/更新ビット操作のみを
行い、実際に、実メモリを奪う処理、具体的には、ペー
ジテーブル上から論理メモリアドレス−実メモリアドレ
ス対をなくする処理{具体的には、前述のように、バリ
ッドビット(V)を‘オフ’とする処理}は、上記実メ
モリ割当装置に任せる為、高速に実メモリの棄却を行う
ことができる。
The device 2 actively removes the real memory from the virtual memory. That is, the valid bit (V) on the page table is not turned off, and
A process of actually performing only reference / update bit operations on the page table and actually taking the real memory, specifically, a process of eliminating the logical memory address-real memory address pair from the page table. As described above, since the process of turning the valid bit (V) “off” is left to the real memory allocation device, the real memory can be rejected at high speed.

上記のように構成されたバッファプール管理装置3
で、バッファ獲得,棄却を行う場合の動作を以下に説明
する。
Buffer pool management device 3 configured as described above
The operation for acquiring and rejecting a buffer will be described below.

1)バッファ獲得処理:(b)図参照 ユーザプログラムからバッファプール管理装置3に対
して、バッファ獲得要求がなされた場合、該バッファプ
ール管理装置3は、バッファをプールから切り出す。
1) Buffer Acquisition Processing: (b) See FIG. 7 When a buffer acquisition request is made from the user program to the buffer pool management device 3, the buffer pool management device 3 cuts out the buffer from the pool.

この際、該切り出したバッファに実メモリが割り当て
られていない場合、即ち、上記ページテーブル上で、対
応する論理アドレス空間(但し、ページ単位)のバリッ
ドビット(V)が‘オフ’のバッファには、本発明の実
メモリ割当装置1に、実メモリの割当要求を送出する。
At this time, when the real memory is not allocated to the cut-out buffer, that is, in the above-mentioned page table, the buffer in which the valid bit (V) of the corresponding logical address space (page unit) is “off” is stored in the buffer. Then, a real memory allocation request is sent to the real memory allocation device 1 of the present invention.

このとき、従来方式では、ページフォールトが発生す
ることになるが、本発明においては、該ページフォール
トの発生を抑止して、実メモリ割当装置1に実メモリの
割当てを依頼する。
At this time, a page fault occurs in the conventional method, but in the present invention, the occurrence of the page fault is suppressed, and the real memory allocation device 1 is requested to allocate the real memory.

実メモリ割当装置1は、前述のように、該実メモリ割
当装置1が管理している空き状態の実メモリを割当て
る、即ち、ページテーブルの該当エントリに実メモリの
ページアドレスを書き込み、そのバリッドビット(V)
‘オン’とするが、該空き状態の実メモリが無くなった
時には、仮想メモリ領域に割り当てられている、即ち、
上記ページテーブル上のバリッドビット(V)が‘オ
ン’であるが、参照も更新もされていない実メモリ、即
ち、参照/更新ビッオが‘オフ’の実メモリを、該ペー
ジテーブル上から奪って、即ち、上記バリッドビット
(V)を‘オフ’として、バッファプール管理装置3に
渡す。
As described above, the real memory allocating device 1 allocates an empty real memory managed by the real memory allocating device 1, that is, writes the page address of the real memory in the corresponding entry of the page table, (V)
Although it is set to 'ON', when the empty real memory is exhausted, it is allocated to the virtual memory area, that is,
A real memory in which the valid bit (V) on the page table is “on” but is neither referenced nor updated, that is, a real memory whose reference / update bit is “off” is deprived from the page table. That is, the valid bit (V) is set to “OFF” and is passed to the buffer pool management device 3.

バッファプール管理装置3は該渡された実メモリを上
記ユーザプログラムから要求のあったバッファに割り当
てる、具体的には、上記ページテーブルの他の該当のエ
ントリに、該奪った実メモリのページアドレスを書き込
み、そのバリッドビット(V)を‘オン’することで、
上記バッファ獲得処理を終了する。
The buffer pool management device 3 allocates the passed real memory to the buffer requested by the user program. More specifically, the buffer pool management device 3 stores the page address of the stolen real memory in another corresponding entry of the page table. By writing and turning on the valid bit (V),
The buffer acquisition processing ends.

2)バッファ返却処理:(c)図参照 ユーザプログラムからバッファプール管理装置3に対
して、バッファ返却要求がなされた場合、該バッファプ
ール管理装置3は、該バッファをプールに返却する。
2) Buffer return processing: See (c) diagram When a buffer return request is made from the user program to the buffer pool management device 3, the buffer pool management device 3 returns the buffer to the pool.

該バッファプール内の、例えば、あるページ(但し、
該プールが複数ページをプールすることができる場合)
の全部が返却の状態になった場合、本発明の実メモリ棄
却装置2に対して、棄却処理を依頼する。
In the buffer pool, for example, a certain page (however,
If the pool can pool multiple pages)
Are all returned, the real memory rejection device 2 of the present invention is requested to perform a rejection process.

該棄却依頼を受けた実メモリ棄却装置2は、該プール
されているバッファに対応するページテーブル上の参照
/更新ビットを無効化(‘オフ’)して、該実メモリ
が、上記実メモリ割当装置1により奪われ易い状態とす
るのみで、積極的に、該実メモリを取り去る処理{ペー
ジテーブル上のバリッドビット(V)を‘オフ’とする
処理}を行わない。従って、該棄却処理は高速に行うこ
とができる。
Upon receiving the rejection request, the real memory rejection device 2 invalidates ('off') the reference / update bit on the page table corresponding to the pooled buffer, and the real memory is allocated to the real memory. The process of removing the real memory (the process of turning off the valid bit (V) on the page table) aggressively only by setting the device 1 to a state in which it is easily robbed is not performed. Therefore, the rejection processing can be performed at high speed.

第2図(d)は、上記実メモリ割当装置1が第2図
(b)αの「自己の確保している実メモリを割り当て
る。」処理と、βの「参照/更新ビットが‘オフ’の実
メモリをページテーブルから奪う」処理を実行したとき
のプールの状態を示している。
FIG. 2 (d) shows that the real memory allocating apparatus 1 processes the “allocate the real memory secured by itself” in α of FIG. 2 (b) and the “reference / update bit is“ off ”in β. Shows the state of the pool at the time of executing the process "Stealing real memory from page table".

バッファプール管理装置3は、バッファの獲得要求に
対して、第2図(d)のa)の領域をバッファとして割
り当てようとしたが、,のページに上記αの手法で
実メモリが割り当てられなかった場合、即ち、自己の確
保している実メモリにゆとりがなかった場合、上記実メ
モリ割当装置1は、βの手法で、第2図(d)のc)で
示した,の実メモリを奪い{ページテーブル上のバ
リッドビット(V)の操作}、上記,のバッファ用
の実メモリとして割り当てることになる。
The buffer pool management device 3 attempts to allocate the area of a) in FIG. 2D as a buffer in response to a buffer acquisition request, but no real memory is allocated to the page by the method α. In other words, if there is no room in the real memory secured by itself, the real memory allocating apparatus 1 uses the method of β to store the real memory shown in c) of FIG. 2 (d). The deprivation {operation of the valid bit (V) on the page table} is allocated as the buffer real memory described above.

このように、仮想記憶方式をとり、ページフォールト
の発生が許されない状態を有する計算機システムにおい
て、従来のバッファプール管理装置が、ユーザプログラ
ムからの実メモリの返却時に、積極的に、該実メモリの
棄却といった処理を行っていなかった為、前述のよう
に、該プールには、実メモリを固定的に割り当てられて
いるバッファが保持された侭となり、実メモリ領域を圧
迫する、即ち、ワーキングセットとなる状態を生成して
いたのに対して、本発明のバッファ管理方式において
は、上記実メモリ棄却装置が、ユーザプログラムから返
却され不要となったバッファに対して、その参照/更新
ビットを‘オフ’とし、ユーザプログラムからのバッフ
ァ要求があって、バッファプール管理装置1からの要求
により、実メモリ割当装置1が自己が確保している空き
状態の実メモリ(プールにも存在せず、又、ページテー
ブル上にもない空き状態の実メモリ)が無くなった時に
のみ、上記参照/更新ビッオを‘オフ’となっている実
メモリを奪って、即ち、対応するページテーブルのバリ
ッドビット(V)を‘オフ’として、該バッファプール
管理装置に渡し、該要求のあった論理アドレス空間に割
当て、ページテーブル上の該当のエントリのバリッドビ
ットを‘オン’とするように動作する為、実メモリ空間
が、特定の論理アドレス空間に固定された侭、保持され
ることがなく、ワーキングセットとなることがないとい
う特徴がある。
As described above, in the computer system that adopts the virtual storage method and has a state in which the occurrence of a page fault is not allowed, the conventional buffer pool management device aggressively returns the real memory from the user program when returning the real memory from the user program. Since processing such as rejection was not performed, as described above, the buffer in which the real memory is fixedly allocated is kept as it is, and the real memory area is pressed, that is, the working set and However, in the buffer management method of the present invention, the real memory discarding device turns off the reference / update bit of the unnecessary buffer returned from the user program. ', There is a buffer request from the user program, and in response to a request from the buffer pool Sets the reference / update bit to 'off' only when there is no more free real memory (free real memory that is neither in the pool nor in the page table) that it has secured. The real memory that has become invalid, that is, the valid bit (V) of the corresponding page table is set to 'off', passed to the buffer pool management device, allocated to the requested logical address space, and It operates so that the valid bit of the corresponding entry is set to 'ON', so that the real memory space is not retained as it is fixed in the specific logical address space, and does not become a working set. There is.

〔発明の効果〕〔The invention's effect〕

以上、詳細に説明したように、本発明のバッファ管理
方式は、仮想記憶方式をとり、ページフォールトの発生
が許されない状態を有する計算機システムにおいて、未
使用のバッファ領域を、実メモリを固定的に割当てない
状態でプール管理するのに、実メモリが割当てられてい
ない仮想メモリ領域(バッファ)に対して自己が管理し
ている空状態の実メモリか,又は、仮想メモリ領域に割
当てられているが、参照/更新もされていない実メモリ
を仮想メモリから奪って{ページテーブル上のバリッド
ビット(V)を‘オフ’として}割当てる実メモリ割当
装置と,不要となった実メモリ割当て状態の仮想メモリ
に対して、参照/更新ビットを無効化する実メモリ棄却
装置と,バッファ領域をページ単位で管理し、バッファ
領域の獲得依頼の要求があったときには、プールからバ
ッファを切り出し、該切り出したバッファに実メモリが
割当てられていない領域であると、上記実メモリ割当装
置により、該切り出したバッファ領域に実メモリを割当
て{ページテーブルの該当エントリのバリッドビット
(V)を‘オン’とする}、該切り出したバッファに実
メモリが割当てられた侭で、上記参照/更新ビットを無
効化になっている領域であると、その侭、該バッファを
獲得して、ユーザプログラムに渡し、バッファ領域の返
却依頼の要求があったときには、該バッファの返却によ
り、該バッファの存在するページが全て不要になったと
き、上記実メモリ棄却装置により、上記参照/更新ビッ
トを無効化して実メモリを棄却するバッファプール管理
装置とを設けて、未使用のバッファ領域を実メモリを固
定的に割当てない状態、つまり、実メモリを再使用し易
い状態で管理するようにしたものであるので、不要なバ
ッファに対して、実メモリを棄却、即ち、ページテーブ
ル上の参照/更新ビットを無効化するだけで、実メモリ
割当装置が、該実メモリを奪い易い状態、即ち、論理ア
ドレス−実アドレスの対応を切り離して、別の対応関係
とすることがし易い状態となり、実メモリを固定的に割
当てない状態、つまり、実メモリを再使用し易い状態、
即ち、ワーキングセットとならな状態で、バッファのプ
ール管理ができ、且つ、実メモリが必要なときには、大
部分の場合が、上記参照/更新ビットが‘オフ’の実メ
モリを獲得するだけで済み、実メモリが割当てられてい
ない場合でも、実メモリ割当装置が管理している実メモ
リを割り当てるだけで事足り、該実メモリが管理してい
る実メモリがなくても、参照/更新ビット‘オフ’の実
メモリを奪って、該ユーザプログラムの要求している論
理ページに割当てることができるので、従来方式に比較
して、余り遜色のない速度で、実メモリ固定状態のバッ
ファを獲得することができる効果がある。
As described above in detail, the buffer management method of the present invention employs a virtual storage method, and in a computer system having a state in which the occurrence of a page fault is not allowed, an unused buffer area is fixed to a real memory. Although pool management is performed in a state where no real memory is allocated, an empty real memory that is managed by itself for a virtual memory area (buffer) to which no real memory is allocated, or a virtual memory area that is allocated to a virtual memory area. A real memory that is not referenced / updated from the virtual memory, {assigns the valid bit (V) on the page table to “off”} and allocates the real memory, and the virtual memory in the unnecessary real memory allocation state In response to the request, a real memory rejection device that invalidates the reference / update bit and a buffer area acquisition request that manages the buffer area in page units If there is a buffer, the buffer is cut out from the pool, and if the real memory is not allocated to the cut-out buffer, the real memory is allocated by the real memory allocating device to the cut-out buffer area. Of the valid bit (V) is turned “on”. If the reference / update bit is invalid while the real memory is allocated to the extracted buffer, the buffer is left as it is. Is obtained and passed to the user program. When a request for a buffer area return request is made, when the page in which the buffer exists becomes unnecessary by returning the buffer, A buffer pool management device that invalidates the reference / update bit and rejects the real memory is provided, and the unused buffer area is stored in the real memory. Memory is not fixedly allocated, that is, the real memory is managed in an easy-to-reuse state. Therefore, for an unnecessary buffer, the real memory is rejected, that is, reference / By invalidating the update bit, the real memory allocating device is in a state where the real memory is easily robbed, that is, in a state where the correspondence between the logical address and the real address is easily separated and another correspondence is easily obtained. A state in which memory is not fixedly allocated, that is, a state in which real memory is easily reused,
That is, when the pool of buffers can be managed and the real memory is required in a state where it is not a working set, in most cases, only the real memory with the above-mentioned reference / update bit “off” needs to be acquired. Even if the real memory is not allocated, it is sufficient to allocate the real memory managed by the real memory allocating device. Even if there is no real memory managed by the real memory, the reference / update bit “off” is set. Can be allocated to a logical page requested by the user program, so that a buffer in a fixed state of real memory can be obtained at a speed comparable to that of the conventional method. effective.

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

第1図は本発明の原理構成図, 第2図は本発明の一実施例を示した図, 第3図は従来のバッファ管理方式を説明する図,であ
る。 図面において、 1は実メモリ割当装置,2は実メモリ棄却装置, 3はバッファプール管理装置, をそれぞれ示す。
FIG. 1 is a diagram illustrating the principle of the present invention, FIG. 2 is a diagram illustrating an embodiment of the present invention, and FIG. 3 is a diagram illustrating a conventional buffer management system. In the drawing, reference numeral 1 denotes a real memory allocation device, 2 denotes a real memory rejection device, and 3 denotes a buffer pool management device.

Claims (1)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】仮想記憶方式をとり、ページフォールトの
発生が許されない状態を有する計算機システムにおい
て、未使用のバッファ領域を、再使用し易い状態でプー
ル管理する方式であって、 実メモリが割当てられていない仮想メモリ領域に対し
て、自己が確保している空き状態の実メモリか,又は、
該実メモリが存在しなくなった場合には、仮想メモリ領
域に割当てられているが、参照/更新もされていない実
メモリについて、仮想メモリー実メモリの対応関係を切
り離して、ユーザプログラムから割当て要求のあった別
の論理アドレスを割り当てる実メモリ割当装置と、 不要となった実メモリ割当て状態の仮想メモリに対し
て、上記の参照/更新ビットのみを無効化する実メモリ
棄却装置と、 バッファ領域をページ単位で管理し、ユーザプログラム
からバッファ領域の獲得依頼の要求があったときには、
自己の管理しているプールからバッファを切り出し、該
切り出したバッファが実メモリが割当てられていない領
域であると、上記実メモリ割当装置により、該切り出し
たバッファ領域に、自己の確保している空き状態の実メ
モリを割当てるか、該実メモリが存在しなくなった場合
には、仮想メモリ領域に割当てられているが、参照/更
新もされていない実メモリについて、その侭、該バッフ
ァを獲得して、ユーザプログラムから割当て要求のあっ
た別の論理アドレスに割り当て、 バッファ領域の返却依頼の要求があったときには、該バ
ッファの返却により、該バッファの存在するページが全
て不要になったとき、上記実メモリ棄却装置により、上
記参照/更新ビットのみを無効化して、実メモリを棄却
するバッファプール管理装置とを設けて、 未使用のバッファ領域を再使用し易い状態にして管理す
ることを特徴とするバッファ管理方式。
In a computer system employing a virtual storage method and having a state in which page faults are not allowed to occur, a method of managing an unused buffer area in a pool in an easy-to-reuse state, wherein real memory is allocated. For a virtual memory area that has not been allocated, either the free real memory that has been allocated by itself, or
When the real memory is no longer present, the real memory that has been allocated to the virtual memory area but has not been referenced / updated is disconnected from the corresponding relationship of the virtual memory real memory, and the allocation request from the user program is issued. A real memory allocating device for allocating another logical address, a real memory rejecting device for invalidating only the above-mentioned reference / update bit for a virtual memory in an unnecessary real memory allocating state, and a page for a buffer area. When the user program requests the acquisition of the buffer area,
A buffer is cut out from the pool managed by itself, and if the cut out buffer is an area to which no real memory is allocated, the real memory allocation device uses the cut-out buffer area to allocate a free When the real memory in the state is allocated, or when the real memory no longer exists, the buffer is acquired for the real memory allocated to the virtual memory area but not referred / updated. When the buffer is allocated to another logical address for which allocation has been requested by the user program, and a request for a buffer area return request is made, when the buffer is returned and all pages in the buffer become unnecessary, A buffer pool management device for invalidating only the reference / update bit and rejecting the real memory is provided by a memory reject device. A buffer management method wherein unused buffer areas are managed in a state where they can be easily reused.
JP2249242A 1990-09-19 1990-09-19 Buffer management method Expired - Fee Related JP2636484B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2249242A JP2636484B2 (en) 1990-09-19 1990-09-19 Buffer management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2249242A JP2636484B2 (en) 1990-09-19 1990-09-19 Buffer management method

Publications (2)

Publication Number Publication Date
JPH04127338A JPH04127338A (en) 1992-04-28
JP2636484B2 true JP2636484B2 (en) 1997-07-30

Family

ID=17190043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2249242A Expired - Fee Related JP2636484B2 (en) 1990-09-19 1990-09-19 Buffer management method

Country Status (1)

Country Link
JP (1) JP2636484B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328944A (en) * 1995-05-31 1996-12-13 Nec Corp Memory managing system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01253024A (en) * 1988-04-01 1989-10-09 Oki Electric Ind Co Ltd Buffer control method for data base management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
江村潤朗著「オペレーティング・システムへの構造的アプローチ(下巻)」5版(昭57−7−10)日本コンピュータ協会P.981−1007

Also Published As

Publication number Publication date
JPH04127338A (en) 1992-04-28

Similar Documents

Publication Publication Date Title
US8583756B2 (en) Dynamic configuration and self-tuning of inter-nodal communication resources in a database management system
JP3882930B2 (en) Managing virtual machines to use shared resources
US5784698A (en) Dynamic memory allocation that enalbes efficient use of buffer pool memory segments
US6175900B1 (en) Hierarchical bitmap-based memory manager
JP2662603B2 (en) Method and apparatus for filtering invalidation requests
JPH02300949A (en) Memory control
JPH08129457A (en) Method and apparatus for expansion,reduction and redistribution of external storage structure
WO2019001020A1 (en) Storage space arrangement method, apparatus, and system based on distributed system
US11372681B2 (en) Slab memory allocator with dynamic buffer resizing
DE10219623A1 (en) System and method for memory decision using multiple queues
US5394539A (en) Method and apparatus for rapid data copying using reassigned backing pages
US20050240748A1 (en) Locality-aware interface for kernal dynamic memory
CN115617542A (en) Memory exchange method and device, computer equipment and storage medium
US6457107B1 (en) Method and apparatus for reducing false sharing in a distributed computing environment
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
JP2636484B2 (en) Buffer management method
CN109960662A (en) A kind of method for recovering internal storage and equipment
EP4375836A1 (en) Memory paging method and system, and storage medium
WO2016187831A1 (en) Method and device for accessing file, and storage system
US10949354B2 (en) Distributed safe data commit in a data storage system
US11003578B2 (en) Method and system for parallel mark processing
JPS603229B2 (en) Information processing method
JP2989608B2 (en) Cell pool management device
WO2024060710A1 (en) Page swap-in method and apparatus
JPH04219836A (en) Block control system

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080425

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090425

Year of fee payment: 12

LAPS Cancellation because of no payment of annual fees