JP3325729B2 - メモリ管理装置 - Google Patents

メモリ管理装置

Info

Publication number
JP3325729B2
JP3325729B2 JP29268194A JP29268194A JP3325729B2 JP 3325729 B2 JP3325729 B2 JP 3325729B2 JP 29268194 A JP29268194 A JP 29268194A JP 29268194 A JP29268194 A JP 29268194A JP 3325729 B2 JP3325729 B2 JP 3325729B2
Authority
JP
Japan
Prior art keywords
memory
area
management
unused
management table
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
JP29268194A
Other languages
English (en)
Other versions
JPH08153036A (ja
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 JP29268194A priority Critical patent/JP3325729B2/ja
Publication of JPH08153036A publication Critical patent/JPH08153036A/ja
Application granted granted Critical
Publication of JP3325729B2 publication Critical patent/JP3325729B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
のメモリの利用者プログラムに対する割り当てを管理す
るメモリ管理装置に関する。
【0002】近年のコンピュータシステムは、利用者プ
ログラムの処理する膨大なデータを格納するため、大容
量のメモリを具備していることが多い。しかし、利用者
プログラムの処理するデータ量は、今後もさらに増大が
見込まれることから、ハード的にメモリを大容量化する
のみでなく、メモリを高効率的に使用する必要がある。
本発明は、かかるメモリの高効率的な使用を実現するメ
モリ管理装置に関する。
【0003】
【従来の技術】メモリ管理装置は、利用者プログラムか
らの要求に応じて、メモリの一部のメモリ領域を、該利
用者プログラムが使用する作業領域として割り当てる処
理、あるいは利用者プログラムに割り当てられたメモリ
領域を解放する処理等を行う装置である。
【0004】メモリ領域の利用者プログラムに対する割
り当ての管理は、所定数の登録欄を有する管理テーブル
によって行われる。管理テーブルの登録欄には、利用者
プログラムに割り当てたメモリ領域である割当領域の先
頭アドレス、割当サイズ、及び「使用」又は「不使用」
を示す状態フラグを含む管理情報が登録される。管理テ
ーブルは、単数又は複数がメモリに静的に設定される。
【0005】メモリ管理装置は、利用者プログラムから
の要求サイズを含むメモリ獲得要求を受けて、該管理テ
ーブルを検索し、該要求サイズを満たす不使用領域を特
定し、該不使用領域のうちの該要求サイズに対応するメ
モリ領域を割当領域として、該割当領域の先頭アドレ
ス、割当サイズ及び「使用」を示す状態フラグ等の管理
情報を登録欄に登録する。
【0006】その後、利用者プログラムに対して、該割
当領域の先頭アドレスを含む完了通知を返却する。な
お、不使用領域とは、利用者プログラムに割り当てられ
ていないメモリ領域であり、未使用のメモリ領域の他
に、利用者プログラムに割り当てられ、その後解放され
たメモリ領域を含み、具体的には一の管理テーブルが管
理しているメモリ領域のうちの、状態フラグが「不使
用」となっている単一のメモリ領域又は連続したメモリ
領域群をいう。
【0007】利用者プログラムは、割当領域が不要とな
った場合には、メモリ管理装置に不要となった割当領域
の先頭アドレスを含むメモリ解放要求を送る。メモリ管
理装置は、管理テーブルの該先頭アドレスに対応する登
録欄についての管理情報の状態フラグを、「使用」から
「不使用」に変更して、利用者プログラムに完了通知を
返却する。
【0008】このように、メモリの管理は管理テーブル
により行われており、所定数の登録欄を有する管理テー
ブルは、単数又は複数が静的にメモリに設定されてい
る。しかし、メモリ領域が比較的に小さく割り当てられ
てしまうと、管理テーブルの登録欄に不足が生じ、それ
以上のメモリ領域の割り当てを行うことができず、メモ
リに余力があっても、これを利用者プログラムに割り当
てることができない。
【0009】このため、特開平2−201558号公報
に開示されているように、登録欄が不足した場合に、新
たな管理テーブルを順次作成し、前後の管理テーブルを
ポインタでリンクするようにしたものが提案されてい
る。
【0010】
【発明が解決しようとする課題】しかし、従来技術によ
ると、作成された管理テーブルが使用されなくなった場
合(全ての登録欄の状態フラグが「不使用」となった場
合)であっても、管理テーブルは存在し続けるため、該
管理テーブルにより占有されているメモリ領域を利用者
プログラムに割り当てることができないから、メモリの
使用効率が低いという問題があった。
【0011】また、作成された管理テーブルの位置は固
定されているため、該管理テーブルによってメモリ領域
の連続性が阻害され、比較的に大きなメモリ領域を割り
当てる場合に支障が生じ、メモリの使用効率が低いとい
う問題もあった。
【0012】よって、本発明の目的は、メモリの使用効
率を向上したメモリ管理装置を提供することである。
【0013】
【課題を解決するための手段】本発明のメモリ管理装置
は、コンピュータシステムのメモリの利用者プログラム
に対する割り当てを、割り当てたメモリ領域についての
管理情報が登録される所定数の登録欄を有する管理テー
ブルにより管理するようにしたメモリ管理装置であっ
て、前記利用者プログラムからの要求に応じて、前記管
理テーブルの前記管理情報を更新する管理情報更新手段
と、前記管理テーブルの前記登録欄に不足を生じた場合
に、前記メモリに新たな管理テーブルを作成するテーブ
ル作成手段と、前記管理テーブルにより管理している全
てのメモリ領域が解放された場合に、該全てのメモリ領
域が解放された管理テーブルを削除するテーブル削除手
段と、を備えて構成される。
【0014】
【作用】本発明のメモリ管理装置によると、管理テーブ
ルが不要となった場合(管理テーブルが管理している全
てのメモリ領域が解放された場合)には、当該管理テー
ブルを削除するようにしているから、当該管理テーブル
が存在していたメモリ領域をも利用者プログラムに割り
当てることができるようになる。
【0015】また、この管理テーブルの削除により、メ
モリ領域の連続性が確保されるから、当該管理テーブル
が存在していた領域の前後の領域に渡って利用者プログ
ラムにメモリ領域を割り当てることができるようにな
る。
【0016】さらに、管理テーブルの作成と削除が必要
に応じて繰り返されることから、管理テーブルの位置は
適宜に移動され、利用者プログラムに対するメモリ領域
の割り当てについての制約が少なくなる。従って、メモ
リの使用効率を大幅に高くすることができる。
【0017】
【実施例】以下、本発明の実施例を図面に基づいて説明
することにする。 〔1〕全体構成 図1は、本発明実施例の全体構成を示すブロック図であ
る。
【0018】同図において、11は本発明が適用された
コンピュータシステムにより実行される利用者プログラ
ムであり、12は該コンピュータシステムのメモリであ
る。このメモリ管理装置は、利用者プログラム11から
メモリ獲得要求、メモリ解放要求又はメモリ再獲得要求
を受けることにより起動される。
【0019】ここで、メモリ獲得要求は、利用者プログ
ラム11が獲得(割り当て)を要求するメモリ領域(要
求領域)のサイズ(要求サイズ)を含でいる。メモリ解
放要求は、利用者プログラム11が割り当ての解放を要
求しているメモリ領域の先頭アドレスを含んでいる。メ
モリ再獲得要求は、利用者プログラムに既に割り当てら
れたメモリ領域(既割当領域)のサイズの変更を要求す
るものであり、既割当領域の先頭アドレス及び新たな要
求サイズを含んでいる。
【0020】メモリ領域の利用者プログラム11に対す
る割り当ての管理は、図2に示されるような管理テーブ
ル13によって行われる。管理テーブル13は、前テー
ブルポインタ13a、後テーブルポインタ13b等のテ
ーブル情報と、複数の登録欄13cにより構成されてい
る。管理テーブル13の登録欄13cには、利用者プロ
グラム11に割り当てたメモリ領域の先頭アドレス13
d、割当サイズ(大きさ)13e、及び「使用」又は
「不使用」を示す状態フラグ13fを含む管理情報が登
録される。管理テーブル13の登録欄13cの数は、所
定数に決められており、管理テーブル13の大きさは固
定的である。
【0021】管理テーブル13は、図3に示されるよう
にメモリ12に設定される。管理テーブル13は、前後
の管理テーブルが前及び後テーブルポインタ13a、1
3bにより連結されており、各管理テーブル13の登録
欄13cに複数の割当領域12aについての管理情報が
登録される。
【0022】図1において、本メモリ管理装置は、メモ
リ制御部14、メモリ区分処理部15、テーブル管理部
16、メモリ獲得処理部17、メモリ解放処理部18、
及びメモリ再獲得処理部19を備えて構成される。
【0023】〔メモリ制御部〕メモリ制御部14は、利
用者プログラム11からのメモリ獲得要求、メモリ解放
要求、メモリ再獲得要求をそれぞれ対応するメモリ獲得
処理部17、メモリ解放処理部18、メモリ再獲得処理
部19に渡すとともに、メモリ獲得処理部17、メモリ
解放処理部18、メモリ再獲得処理部19からの通知を
利用者プログラム11に渡す。
【0024】〔メモリ区分処理部〕メモリ区分処理部1
5は、メモリ12を利用者プログラム11に対する割り
当てが許容されている許容領域と利用者プログラム11
に対する割り当てが許容されていない非許容領域とに区
分するための区分情報を有し、この区分情報を更新する
ことにより、許容領域と非許容領域のサイズを変更す
る。図3において、20が区分情報(区分ポインタ)で
あり、区分ポインタ20より上側が許容領域、下側が非
許容領域を示している。
【0025】〔テーブル管理部〕テーブル管理部16
は、メモリ獲得処理部17からの依頼により、メモリ1
2に管理テーブル13を作成するテーブル作成部及びメ
モリ解放処理部18からの依頼により管理テーブル13
を削除するテーブル削除部を有している。
【0026】テーブル管理部16は、最後の管理テーブ
ル13の削除を行った場合には、該削除された管理テー
ブル13により管理されていたメモリ領域が前記非許容
領域となるように、メモリ区分処理部15に区分情報2
0の更新を依頼する。
【0027】〔メモリ獲得処理部〕メモリ獲得処理部1
7は、利用者プログラム11からの要求サイズを含むメ
モリ獲得要求に応じて、管理テーブル13を検索し、管
理テーブル13が管理しているメモリ領域に、前記要求
サイズを満たす連続した不使用領域が存在する場合に
は、該不使用領域を管理している登録欄の管理情報を更
新することにより、利用者プログラム11にメモリ領域
を割り当て、利用者プログラム11に割り当てたメモリ
領域の先頭アドレスを通知するメモリ獲得処理(前記検
索から通知までの処理)を行う。
【0028】そして、管理テーブル13が管理している
メモリ領域に、該要求サイズを満たす不使用領域が存在
せず且つ最後の管理テーブルに前記状態フラグが「不使
用」となっている不使用登録欄が無い場合には、テーブ
ル管理部16のテーブル作成部に新たな管理テーブルの
作成を依頼した後に、該メモリ獲得処理を行う。
【0029】メモリ獲得処理部17は、管理テーブル1
3が管理しているメモリ領域に、前記要求サイズを満た
す不使用領域が存在せず且つ最後の管理テーブル13に
不使用登録欄が有る場合には、前記要求サイズを満たす
メモリ領域が確保されるように、メモリ区分処理部15
に区分情報20を更新するよう依頼した後に、前記メモ
リ獲得処理を行う。
【0030】メモリ獲得処理部17は、管理テーブル1
3が管理しているメモリ領域に、前記要求サイズを満た
す不使用領域が存在し且つ該不使用領域を管理している
管理テーブル13に不使用登録欄が有り、前記不使用登
録欄が複数である場合には、前記不使用領域のうち利用
者プログラム11に割り当てるメモリ領域以外のメモリ
領域である差領域について、前記不使用登録欄の管理情
報を更新する。
【0031】メモリ獲得処理部17は、管理テーブル1
3が管理しているメモリ領域に、前記要求サイズを満た
す不使用領域が存在し且つ前記不使用領域を管理してい
る管理テーブルに不使用登録欄が有り、前記不使用登録
欄が単数である場合には、前記不使用領域のうち利用者
プログラム11に割り当てるメモリ領域以外のメモリ領
域である差領域に、新たな管理テーブルを作成するよう
前記テーブル管理部16の前記テーブル作成部に依頼す
る。
【0032】メモリ獲得処理部17は、前記差領域に新
たな管理テーブルを作成するのに十分なメモリ領域が無
い場合には、前記差領域を含む不使用領域の全体につい
て、前記不使用登録欄の管理情報を更新する。
【0033】〔メモリ解放処理部〕メモリ解放処理部1
8は、利用者プログラム11からの先頭アドレスを含む
メモリ解放要求に応じて、管理テーブル13の該先頭ア
ドレスに対応する登録欄についての管理情報の状態フラ
グを「不使用」に変更する。
【0034】そして、全ての登録欄についての各管理情
報の状態フラグが「不使用」となっている不使用テーブ
ルが存在する場合に、前記テーブル管理部16の前記テ
ーブル削除部に該不使用テーブルの削除を依頼する。
【0035】〔メモリ再獲得処理部〕メモリ再獲得処理
部19は、利用者プログラム11からの既割当領域の先
頭アドレス及び新たな要求サイズを含むメモリ再獲得要
求に応じて、前記新たな要求サイズが前記先頭アドレス
に対応する登録欄についての管理情報の割当サイズより
大きい場合には、メモリ獲得処理部17に前記メモリ獲
得処理を依頼する。
【0036】次いで、前記既割当領域に設定されている
全てのデータをメモリ獲得処理部17により新たに割り
当てられた新割当領域に複写し、メモリ解放処理部18
に前記既割当領域の解放を依頼する。
【0037】メモリ再獲得処理部19は、前記新たな要
求サイズが前記先頭アドレスに対応する登録欄について
の管理情報の割当サイズより小さい場合には、該要求サ
イズに相当するメモリ領域について前記登録欄の管理情
報を更新し、さらに前記管理テーブルに不使用登録欄が
無い場合には、前記既割当領域のうち前記利用者プログ
ラムに割り当てるメモリ領域以外のメモリ領域である残
余領域に、新たな管理テーブルを作成するようテーブル
管理部16の前記テーブル作成部に依頼する。メモリ再
獲得処理部19は、管理テーブル13に不使用登録欄が
有る場合には、前記残余領域について、前記不使用登録
欄に管理情報を登録する。 〔2〕各部の詳細処理 以下、上記各部の処理をフローチャートを参照して、さ
らに詳述する。
【0038】〔メモリ区分処理部の処理〕図4は、メモ
リ区分処理部15の処理を示すフローチャートである。
メモリ区分処理部15は、テーブル管理部16からの依
頼により起動され、該依頼には、「許容領域の拡大」を
示す識別及び要求サイズ又は「許容領域の縮小」を示す
識別が含まれている。
【0039】まず、該識別を判断し(ST15−1)、
該識別が「許容領域の拡大」である場合には、要求サイ
ズを確保するのに十分な非許容領域が存在するか否かを
判断する(ST15−2)。ST15−2において、十
分な非許容領域がある場合には、区分ポインタ20を移
動して、許容領域を該要求サイズに相当する分だけ拡大
し(ST15−3)、確保した領域の先頭アドレスを伴
って依頼元に戻る。
【0040】ST15−1において、該識別が「許容領
域の縮小」である場合には、区分ポインタ20を、削除
された管理テーブルの先頭アドレスまで移動して、許容
領域を縮小し(ST15−4)、その旨を示すデータを
伴って依頼元に戻る。ST15−2において、十分な非
許容領域が無い場合には、その旨を示すデータを伴って
依頼元に戻る。
【0041】〔テーブル管理部の処理〕図5は、テーブ
ル管理部16の処理を示すフローチャートである。テー
ブル管理部16は、メモリ獲得処理部17、メモリ解放
処理部18、又はメモリ再獲得処理部19からの依頼に
より起動され、該依頼には、メモリ獲得処理部17及び
メモリ再獲得処理部19からの呼び出しの場合は「テー
ブルの作成」を示す識別が、メモリ解放処理部18から
の呼び出しの場合は「テーブルの削除」を示す識別が含
まれている。
【0042】まず、該識別を判断し(ST16−1)、
該識別が「テーブルの作成」である場合には、管理テー
ブルを設定するのに十分なメモリ領域が有るか否かを判
断し(ST16−2)、管理テーブルを設定するのに十
分なメモリ領域が有る場合には、該メモリ領域に管理テ
ーブル13を作成し(ST16−3)、依頼元に戻る。
ST16−2において、管理テーブル13を作成するの
に十分なメモリ領域が無い場合には、メモリ区分処理部
15を呼び出し、管理テーブル13を設定するのに必要
なメモリ領域を確保した後に(ST16−4)、ST1
6−3に進む。
【0043】ST16−1において、該識別が「テーブ
ルの削除」である場合には、該管理テーブル13を削除
する(ST16−5)。次いで、削除した管理テーブル
13が最後の管理テーブルか否かを判断し(ST16−
6)、最後の管理テーブルである場合には、メモリ区分
処理部15を呼び出し、該削除した管理テーブル及びそ
れが管理していたメモリ領域を非許容領域とするよう、
メモリ区分処理部15に依頼し(ST16−7)、依頼
元に戻る。
【0044】ST16−6において、最後の管理テーブ
ルでない場合には、該削除した管理テーブル及びそれが
管理していたメモリ領域について、該削除した管理テー
ブルの一つ前の管理テーブルの登録欄に管理情報を登録
し(ST16−8)、依頼元に戻る。
【0045】なお、上記の管理テーブルの作成又は削除
に伴い、その前後に存在する管理テーブルの前及び後テ
ーブルポインタ13a,13bの張り替えが行われるよ
うになっている。
【0046】〔メモリ獲得処理部の処理〕図6及び図7
は、メモリ獲得処理部17の処理を示すフローチャート
である。メモリ獲得処理部17は、利用者プログラム1
1からメモリ制御部14を介して送られるメモリ獲得要
求又は後に詳述するメモリ再獲得処理部19からの依頼
により起動され、該メモリ起動要求又は該依頼には、要
求サイズが含まれている。
【0047】まず、図6を参照する。メモリ獲得処理部
17は、管理テーブル13を検索し(ST17−1)、
該要求サイズを満たす十分な不使用領域が存在するか否
かを判断する(ST17−2)。なお、不使用領域と
は、利用者プログラムに割り当てられていないメモリ領
域であり、未使用のメモリ領域の他に、利用者プログラ
ムに割り当てられ、その後解放されたメモリ領域を含
み、具体的には一の管理テーブルが管理しているメモリ
領域のうちの、状態フラグが「不使用」となっている単
一のメモリ領域又は連続したメモリ領域群をいう。
【0048】ST17−2において、該要求サイズを満
たす十分な不使用領域が存在する場合には、図7のST
17−7に進む。該要求サイズを満たす十分な不使用領
域が存在しない場合には、最後の管理テーブルに不使用
登録欄が有るか否かを判断し(ST17−3)、該不使
用登録欄が有る場合には、メモリ区分処理部15に許容
領域の拡大を依頼し(ST17−5)、ST17−6に
進む。該不使用領域が無い場合には、テーブル管理部1
6に新たなテーブルの作成を依頼し(ST17−4)、
ST17−1に戻る。
【0049】ST17−6において、該要求サイズを満
たす十分な不使用領域が存在するか否かを、再度判断
し、存在する場合には図7のST17−7に進み、存在
しない場合には図7のST17−14に進む。
【0050】次いで、図7を参照する。ST17−7に
おいて、不使用領域のサイズと要求サイズの差の有無を
判断し、差が無い場合には要求領域(この場合は該不使
用領域と一致する)について、登録欄の状態フラグを
「不使用」から「使用」に変更する(ST17−1
3)。
【0051】該不使用領域のサイズが要求サイズを越え
ている場合には、該不使用領域を管理している管理テー
ブルに複数の不使用登録欄が存在するか否かを判断し
(ST17−8)、複数の不使用登録欄が有る場合に
は、該差領域について登録欄の管理情報(差領域の先頭
アドレス、差領域のサイズ、状態フラグとして「不使
用」等)を登録し(ST17−9)、ST17−13に
進む。
【0052】ST17−8において、複数の不使用登録
欄が無い場合は、該差領域に管理テーブルを作成できる
か否かを判断し(ST17−10)、管理テーブルの作
成ができる場合には、該差領域に新たな管理テーブルを
作成するようテーブル管理部16に依頼し(ST17−
11)、要求領域(該不使用領域のうちの該差領域以外
のメモリ領域)について、登録欄の管理情報(該要求領
域のサイズ、状態フラグとして「使用」等)を登録する
(ST17−13)。ST17−10において、管理テ
ーブルの作成ができない場合には、該不使用領域の全体
(該要求領域及び該差領域)について、登録欄の管理情
報(状態フラグとして「使用」等)を登録し(ST17
−12)、ST17−14に進む。
【0053】次いで、ST17−14において、割り当
てた領域の先頭アドレスを含む完了通知をメモリ制御部
14を介して利用者プログラム11に通知する。なお、
図6のST17−6において、十分な不使用領域が無い
と判断した場合には、ST17−14において、メモリ
領域の割り当てができないことを示す通知が利用者プロ
グラム11に対してなされる。
【0054】〔メモリ解放処理部の処理〕図8は、メモ
リ解放処理部18の処理を示すフローチャートである。
メモリ解放処理部18は、利用者プログラム11からメ
モリ制御部14を介して送られるメモリ解放要求又は後
に詳述するメモリ再獲得処理部19からの依頼により起
動され、該メモリ解放要求又は該依頼には、解放すべき
メモリ領域の先頭アドレスが含まれている。
【0055】まず、解放すべきメモリ領域の先頭アドレ
スに対応する登録欄の状態フラグを「使用」から「不使
用」に変更する(ST18−1)。次いで、該管理テー
ブルの全ての登録欄の状態フラグが「不使用」となって
いるか否かを判断し(ST18−2)、全ての状態フラ
グが「不使用」となっている場合には、テーブル管理部
16に該管理テーブルの削除を依頼し(ST18−
3)、この処理を終了する。ST18−2において。全
ての状態フラグが「不使用」となっていない場合には、
この処理を終了する。
【0056】〔メモリ再獲得処理部の処理〕図9は、メ
モリ再獲得処理部19の処理を示すフローチャートであ
る。メモリ再獲得処理部19は、利用者プログラム11
からメモリ制御部14を介して送られるメモリ再獲得要
求により起動され、該メモリ再獲得要求には、解放すべ
きメモリ領域(既割当領域)の先頭アドレス及び新たな
要求サイズが含まれている。
【0057】まず、メモリ再獲得要求に含まれている先
頭アドレスに対応する登録欄の割当サイズと新たな要求
サイズを比較判断し(ST19−1)、該割当サイズよ
りも新たな要求サイズが大きい場合には、メモリ獲得処
理部17に新たな要求サイズを送るとともに、メモリ獲
得処理を依頼する(ST19−2)。
【0058】メモリ獲得処理部17は、メモリ領域の割
り当てが済むと、該メモリ領域の先頭アドレスを送って
くるので、メモリ再獲得処理部19は、既割当領域の内
容を全て新割当領域に複写する(ST19−3)。次い
で、該既割当領域の解放をメモリ解放処理部18に依頼
し(ST19−4)、該新割当領域の先頭アドレスを含
む完了通知を、メモリ制御部14を介して利用者プログ
ラム11に送る(ST19−5)。
【0059】ST19−1において、該割当サイズより
も新たな要求サイズが小さい場合には、要求領域につい
て、該登録欄の管理情報(割当サイズ)を更新する(S
T19−6)。次いで、該管理テーブルに不使用登録欄
が有るか否かを判断し(ST19−7)、不使用登録欄
が有る場合には、残余領域(既割当領域から新割当領域
を除いた領域)について、登録欄に管理情報(残余領域
の先頭アドレス、残余領域のサイズ、状態フラグとして
「不使用」等)を登録し(ST19−8)、ST19−
5に進む。
【0060】ST19−7において、不使用登録欄が無
い場合には、該残余領域に新たな管理テーブルの作成が
可能か否かを判断し(ST19−9)、可能な場合に
は、該残余領域に新たな管理テーブルを作成するよう、
テーブル管理部16に依頼し(ST19−10)、ST
19−5に進む。ST19−9において、新たな管理テ
ーブルの作成が不可能な場合には、ST19−5に進ん
で上記の通知を行い、この処理を終了する。 〔3〕実施例の効果 上述した実施例によると、管理テーブルが不足した場合
には新たな管理テーブルを作成するようにしているか
ら、管理テーブルの登録欄の数が不足することにより、
本来利用者プログラムに割り当てることができるメモリ
領域が存在しながら、その領域の割り当てができないと
いう不都合が無い。
【0061】また、不使用領域の一部のメモリ領域につ
いて、利用者プログラムに割り当てを行った場合には、
該不使用領域のうちの利用者プログラムに割り当てたメ
モリ領域以外の領域である差領域を、管理テーブルの他
の不使用登録欄に登録するようにしたから、該差領域を
有効に利用することができる。この場合において、他の
不使用登録欄が無い場合には、該差領域に管理テーブル
を作成するようにしたから、該差領域の有効利用を図る
ことができる。
【0062】さらに、管理テーブルが不要となった場合
(管理テーブルが管理している全てのメモリ領域が解放
された場合)には、当該管理テーブルを削除するように
しているから、当該管理テーブルが存在していたメモリ
領域をも利用者プログラムに割り当てることができる。
【0063】そして、この管理テーブルの削除により、
メモリ領域の連続性が確保されるから、当該管理テーブ
ルが存在していた領域の前後の領域に渡って利用者プロ
グラムにメモリ領域を割り当てることができる。
【0064】また、管理テーブルの作成と削除が必要に
応じて繰り返されることから、管理テーブルの位置はメ
モリ領域の割当状況に応じて適宜に移動され、利用者プ
ログラムに対するメモリ領域の割り当てについての制約
が少なくなる。
【0065】
【発明の効果】以上説明したように、本発明によると、
利用者プログラムに割り当てるメモリ領域を管理するた
めの管理テーブルを必要な時に作成し、不必要になると
削除するようにしたから、管理テーブルに過不足を発生
せず、且つ管理テーブルの利用状況に適合した位置に管
理テーブルを作成することができ、メモリの有効利用が
図れ、その結果として、コンピュータシステムの性能を
大幅に向上することができるという効果を奏する。
【図面の簡単な説明】
【図1】本発明実施例の全体構成を示すブロック図であ
る。
【図2】本発明実施例の管理テーブルの構成を示す図で
ある。
【図3】本発明実施例のメモリ割り当ての説明図であ
る。
【図4】本発明実施例のメモリ区分処理部の処理を示す
フローチャートである。
【図5】本発明実施例のテーブル管理部の処理を示すフ
ローチャートである。
【図6】本発明実施例のメモリ獲得処理部の処理を示す
フローチャート(その1)である。
【図7】本発明実施例のメモリ獲得処理部の処理を示す
フローチャート(その2)である。
【図8】本発明実施例のメモリ解放処理部の処理を示す
フローチャートである。
【図9】本発明実施例のメモリ再獲得処理部の処理を示
すフローチャートである。
【符号の説明】
11 利用者プログラム 12 メモリ 13 管理テーブル 14 メモリ制御部 15 メモリ区分処理部 16 テーブル管理部 17 メモリ獲得処理部 18 メモリ解放処理部 19 メモリ再獲得処理部
フロントページの続き (56)参考文献 特開 平2−201558(JP,A) 特開 昭60−5358(JP,A) 特開 平4−209045(JP,A) 特開 平5−270096(JP,A) 特開 昭61−156450(JP,A) 特開 昭63−198449(JP,A) 特開 平1−237740(JP,A) 特開 平2−272651(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 12/02

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 コンピュータシステムのメモリの利用者
    プログラムに対する割り当てを、割り当てたメモリ領域
    の先頭アドレス、割当サイズ、及び使用状態を含む管理
    情報が登録される所定数の登録欄を有する管理テーブル
    により管理するようにしたメモリ管理装置であって、 前記メモリに管理テーブルを作成するテーブル作成部及
    び前記管理テーブルを削除するテーブル削除部を有する
    テーブル管理手段と、 前記利用者プログラムからの要求サイズを含むメモリ獲
    得要求に応じて、前記管理テーブルを検索し、前記管理
    テーブルが管理しているメモリ領域に、前記要求サイズ
    を満たす不使用領域が存在する場合には、該不使用領域
    を管理している登録欄の管理情報を更新することにより
    前記利用者プログラムにメモリ領域を割り当て、前記利
    用者プログラムに割り当てたメモリ領域のアドレスを通
    知するメモリ獲得処理を行い、前記管理テーブルが管理
    しているメモリ領域に、前記要求サイズを満たす不使用
    領域が存在せず且つ直近に作成された管理テーブルに不
    使用登録欄が無い場合には、前記テーブル管理手段の前
    記テーブル作成部に新たな管理テーブルの作成を依頼し
    た後に、該メモリ獲得処理を行うメモリ獲得処理手段
    と、 前記利用者プログラムからのメモリ解放要求に応じて、
    前記管理テーブルの対応する登録欄を不使用状態にする
    とともに、全ての登録欄について不使用状態となってい
    る不使用テーブルが存在する場合に、前記テーブル管理
    手段の前記テーブル削除部に該不使用テーブルの削除を
    依頼するメモリ解放処理手段とを備え、 前記メモリ獲得処理手段は、前記管理テーブルが管理し
    ているメモリ領域に、前記要求サイズを満たす不使用領
    域が存在し且つ前記不使用領域を管理している管理テー
    ブルに不使用登録欄が有り、前記不使用登録欄が単数で
    ある場合には、前記不使用領域のうち前記利用者プログ
    ラムに割り当てるメモリ領域以外のメモリ領域である差
    領域に、新たな管理テーブルを作成するよう前記テーブ
    ル管理手段の前記テーブル作成部に依頼するようにした
    ことを特徴とするメモリ管理装置。
  2. 【請求項2】 請求項1に記載のメモリ管理装置におい
    て、 前記メモリ獲得処理手段は、前記差領域に新たな管理テ
    ーブルを作成するのに十分なメモリ領域が無い場合に
    は、前記差領域を含む不使用領域の全体について、前記
    不使用登録欄の管理情報を更新するようにしたことを特
    徴とするメモリ管理装置。
  3. 【請求項3】 コンピュータシステムのメモリの利用者
    プログラムに対する割り当てを、割り当てたメモリ領域
    の先頭アドレス、割当サイズ、及び使用状態を含む管理
    情報が登録される所定数の登録欄を有する管理テーブル
    により管理するようにしたメモリ管理装置であって、 前記メモリに管理テーブルを作成するテーブル作成部及
    び前記管理テーブルを削除するテーブル削除部を有する
    テーブル管理手段と、 前記利用者プログラムからの要求サイズを含むメモリ獲
    得要求に応じて、前記管理テーブルを検索し、前記管理
    テーブルが管理しているメモリ領域に、前記要求サイズ
    を満たす不使用領域が存在する場合には、該不使用領域
    を管理している登録欄の管理情報を更新することにより
    前記利用者プログラムにメモリ領域を割り当て、前記利
    用者プログラムに割り当てたメモリ領域のアドレスを通
    知するメモリ獲得処理を行い、前記管理テーブルが管理
    しているメモリ領域に、前記要求サイズを満たす不使用
    領域が存在せず且つ直近に作成された管理テーブルに不
    使用登録欄が無い場合には、前記テーブル管理手段の前
    記テーブル作成部に新たな管理テーブルの作成を依頼し
    た後に、該メモリ獲得処理を行うメモリ獲得処理手段
    と、 前記利用者プログラムからのメモリ解放要求に応じて、
    前記管理テーブルの対応する登録欄を不使用状態にする
    とともに、全ての登録欄について不使用状態となつてい
    る不使用テーブルが存在する場合に、前記テーブル管理
    手段の前記テーブル削除部に該不使用テーブルの削除を
    依頼するメモリ解放処理手段と、 前記利用者プログラムからの既割当領域の先頭アドレス
    及び新たな要求サイズを含むメモリ再獲得要求に応じ
    て、前記新たな要求サイズが前記先頭アドレスに対応す
    る登録欄についての管理情報の割当サイズより大きい場
    合には、前記メモリ獲得処理手段に前記メモリ獲得処理
    を依頼し、前記既割当領域に設定されている全てのデー
    タを前記メモリ獲得処理手段により新たに割り当てられ
    た新割当領域に複写し、前記メモリ解放処理手段に前記
    既割当領域の解放を依頼するメモリ再獲得処理手段とを
    備え、 前記メモリ再獲得処理手段は、前記新たな要求サイズが
    前記先頭アドレスに対応する登録欄についての管理情報
    の割当サイズより小さい場合には、該要求サイズに相当
    するメモリ領域について前記登録欄の管理情報を更新
    し、さらに前記管理テーブルに不使用登録欄が無い場合
    には、前記既割当領域のうち前記利用者プログラムに割
    り当てるメモリ領域以外のメモリ領域である残余領域
    に、新たな管理テーブルを作成するよう前記テーブル管
    理手段の前記テーブル作成部に依頼するようにしたこと
    を特徴とするメモリ管理装置。
  4. 【請求項4】 請求項3に記載のメモリ管理装置におい
    て、 前記メモリ再獲得処理手段は、前記管理テーブルに不使
    用登録欄が有る場合には、前記残余領域について、前記
    不使用登録欄に管理情報を登録するようにしたことを特
    徴とするメモリ管理装置。
JP29268194A 1994-11-28 1994-11-28 メモリ管理装置 Expired - Fee Related JP3325729B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29268194A JP3325729B2 (ja) 1994-11-28 1994-11-28 メモリ管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29268194A JP3325729B2 (ja) 1994-11-28 1994-11-28 メモリ管理装置

Publications (2)

Publication Number Publication Date
JPH08153036A JPH08153036A (ja) 1996-06-11
JP3325729B2 true JP3325729B2 (ja) 2002-09-17

Family

ID=17784927

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29268194A Expired - Fee Related JP3325729B2 (ja) 1994-11-28 1994-11-28 メモリ管理装置

Country Status (1)

Country Link
JP (1) JP3325729B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6907508B2 (en) * 2003-02-26 2005-06-14 Emulex Design & Manufacturing Corporation Structure and method for managing available memory resources
CN111143064A (zh) * 2019-12-25 2020-05-12 浙江中控技术股份有限公司 一种处理内存的方法及系统

Also Published As

Publication number Publication date
JPH08153036A (ja) 1996-06-11

Similar Documents

Publication Publication Date Title
JP2575543B2 (ja) 同時アクセス管理方法
EP0447160A2 (en) Maintaining data consistency in cache storage systems
US5301290A (en) Method for minimizing lock processing while ensuring consistency among pages common to local processor caches and a shared external store
JP2001527242A (ja) ロックグループを用いた楽観的並行処理制御のためのきめ細やかな整合性をもたらす仕組み
AU749592B2 (en) I/O forwarding in a cache coherent shared disk computer system
JP4746838B2 (ja) データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化
US7200628B2 (en) Method for reserving pages of database
JP2003150419A (ja) データベース管理システムの実行情報を取得する手段を有する記憶装置
WO1991020036A1 (en) Method for efficient non-virtual main memory management
JPH02300949A (ja) メモリ制御方法
JPH0638242B2 (ja) 要求ペ−ジ仮想アドレス空間におけるメモリ・ブロツク圧縮方法
JPH0683782A (ja) データ処理制御方法及びコンピュータ・システム
JP2001508212A (ja) インスタンス化を用いた共有オペレーティングシステムカーネルコードに対する効率的なマルチユーザアクセスを提供するためのオブジェクトおよび方法
GB2265734A (en) Free memory cell management system
US20030028723A1 (en) Efficient data backup using a single side file
JP2614400B2 (ja) データ転送方法及び装置
US20050240748A1 (en) Locality-aware interface for kernal dynamic memory
JP3325729B2 (ja) メモリ管理装置
JP2829115B2 (ja) ファイル共用方法
WO2023124423A1 (zh) 一种存储空间分配方法、装置、终端设备及存储介质
JP3107094B2 (ja) 共用バッファのロック期間短縮処理方法及び装置
JPH06214874A (ja) メモリ管理方式
JP3356090B2 (ja) メモリ管理方法およびメモリ管理装置、並びに記録媒体
JP3030030B2 (ja) 領域管理処理方式
JPH01112444A (ja) データアクセスシステム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020625

LAPS Cancellation because of no payment of annual fees