JPH10247160A - メモリ管理システム - Google Patents

メモリ管理システム

Info

Publication number
JPH10247160A
JPH10247160A JP5128297A JP5128297A JPH10247160A JP H10247160 A JPH10247160 A JP H10247160A JP 5128297 A JP5128297 A JP 5128297A JP 5128297 A JP5128297 A JP 5128297A JP H10247160 A JPH10247160 A JP H10247160A
Authority
JP
Japan
Prior art keywords
memory
memory block
free
empty
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.)
Pending
Application number
JP5128297A
Other languages
English (en)
Inventor
Kenji Takeuchi
健次 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Engineering Ltd
Original Assignee
NEC Engineering 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 NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP5128297A priority Critical patent/JPH10247160A/ja
Publication of JPH10247160A publication Critical patent/JPH10247160A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 管理テーブルを使用せず、かつ、空きメモリ
領域の細分化が発生することのないメモリ管理システム
を実現する。 【解決手段】 各メモリブロックに自ブロックが空き状
態か使用状態かを示す空塞情報部22−1〜22−3を
付加する。使用中のメモリブロック(斜線部)を解放す
る場合、隣接するメモリブロックの空塞情報部の内容を
確認し、空き状態であれば統合して1つの空きメモリブ
ロックとする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はメモリ管理システム
に関し、特に加入者及び中継線を収容して回線交換処理
を行う交換機において使用されるメモリの管理システム
に関する。
【0002】
【従来の技術】一般に交換機では、通常の二者間の通話
の接続処理を行う他に、三者通話、会議通話、転送、キ
ャッチホン等に代表される各種の付加サービスを提供し
ている。これら付加サービスを実現するためのプログラ
ムを実行するためには、処理に必要な情報を記憶するメ
モリ領域を確保する必要がある。この場合、確保すべき
メモリ領域のサイズは、付加サービスの種類によって異
なるのが普通である。
【0003】また、付加サービスがどの程度の頻度で実
行されるのかを予め予想するのは困難である。このた
め、付加サービスの処理に必要なメモリ領域を付加サー
ビス毎に十分に用意しておくことはできない。加入者数
が非常に多く、膨大なメモリ領域が必要になるからであ
る。
【0004】このため、各付加サービスで共通に利用で
きるメモリ領域を用意し、サービス処理の終了時にはメ
モリ領域の解放を行い、他のサービスが利用できるよう
にすることが行われている。
【0005】ここで、従来のメモリ管理システムが特開
平5―216743号公報に記載されている。空きメモ
リ及び使用中メモリの先頭アドレス及び領域のサイズ等
を管理テーブルに記憶し、これらの管理テーブルをメモ
リ領域のアドレス順にチェーンで繋いでメモリ領域の管
理を行う。この従来のメモリ管理システムは以下のよう
に動作する。
【0006】(1)メモリ領域の獲得 空きメモリ領域の管理テーブルはチェーンで管理され
る。この空きチェーンを順次サーチし、管理テーブルに
記憶されている領域サイズが所要の領域サイズよりも大
きなものを探す。
【0007】所要の領域サイズよりも大きなものが見つ
かった場合、このメモリ領域を獲得する。このとき、空
き領域サイズの方が大きい場合は、空き領域サイズと所
要の領域サイズとの差に相当する空き領域ができる。こ
のため、未使用管理テーブルから新たに管理テーブルを
導入してこの空き領域を空きチェーンに繋ぐ。
【0008】(2)メモリ領域の解放 解放を指示されたメモリエリアの管理テーブルを空きチ
ェーンに繋ぐ。解放を行った管理テーブルの後ろの管理
テーブルも空きチェーンに繋がっていた場合は、空き領
域が連続しているので、2つの領域を統合して1つの空
き領域として管理テーブルを変更する。
【0009】このとき、管理テーブルが1つ余るので、
未使用管理テーブルのチェーンに繋ぐ。
【0010】(3)連続空きメモリ領域の獲得 使用中のメモリ領域を順次つめることによって、連続し
た空き領域を獲得する。
【0011】
【発明が解決しようとする課題】上述した従来のメモリ
管理システムでは、管理テーブルを用いているので、管
理できるメモリ領域の数が限られてしまう。つまり、記
憶容量の小さな領域を多数使用するような場合は、メモ
リ領域が空いていても管理テーブルの容量が不足するた
めメモリ領域の獲得が不可能になるという欠点がある。
【0012】また上述した従来のメモリ管理システムで
は、所要領域サイズより大きなサイズの空き領域を見つ
けると、獲得処理を行ってしまうので、空きメモリ領域
の細分化(フラグメンテーション)が多数発生すると考
えられる。そのため、連続する空きメモリ領域の獲得処
理の頻度が高くなり、処理時間の増大を招くという欠点
がある。
【0013】本発明は上述した従来技術の欠点を解決す
るためになされたものであり、その目的は管理テーブル
を使用せず、かつ、空きメモリ領域の細分化が発生する
ことのないメモリ管理システムを提供することである。
【0014】
【課題を解決するための手段】本発明によるメモリ管理
システムは、メモリの記憶領域を、自ブロックが空き状
態か使用状態かを示す空塞情報を有する複数のメモリブ
ロックに区切って管理するメモリ管理システムであっ
て、前記複数のメモリブロックの使用状態に応じて前記
空塞情報の内容を書替える手段と、前記空塞情報の内容
を使用状態から空き状態に書替えるとき隣接するメモリ
ブロックの空塞情報の内容が空き状態を示している場合
に両メモリブロックを統合して1つの空きメモリブロッ
クとする統合手段とを含むことを特徴とする。
【0015】また、本発明による他のメモリ管理システ
ムは、メモリの記憶領域を、自ブロックが空き状態か使
用状態かを示す空塞情報を有する複数のメモリブロック
に区切って管理するメモリ管理システムであって、前記
複数のメモリブロックの使用状態に応じて前記空塞情報
の内容を書替える手段と、前記空塞情報の内容が使用状
態になっている第1のメモリブロックと前記空塞情報の
内容が空き状態になっている第2のメモリブロックとの
記憶容量が同一である場合に前記第1のメモリブロック
の記憶内容を前記第2のメモリブロックにコピーする手
段と、このコピー後に前記第1のメモリブロックの空塞
情報の内容を空き状態にし、前記第2のメモリブロック
の空塞情報の内容を使用状態にする手段とを含むことを
特徴とする。
【0016】要するに本メモリ管理システムでは、管理
テーブルに相当する機能を各メモリブロックに設けてい
るので、管理テーブルの容量が不足することはなくな
る。よって、空きメモリ領域があるにもかかわらずその
領域を獲得できないという事態が生じることはないので
ある。
【0017】また、空きメモリ領域は物理的に連続して
いなければ使用できないので、使用中のメモリ領域を解
放する際には、解放するメモリ領域の前後を調べて空き
メモリ領域の統合を行い、常に最大の空きメモリ領域が
得られるようにする。メモリ領域を複数のページで構成
しておけば、空きメモリ領域を獲得する場合に、所要の
領域サイズを適当なサイズ(例えば、32バイト)の倍
数に切り上げて処理を行うことで、獲得が不可能な程容
量の小さな空き領域によるメモリの細分化が発生しない
ようにする。
【0018】使用中のメモリ領域と同一の容量を有する
空きメモリ領域が存在する場合には、使用中のメモリ領
域の内容を空きメモリ領域にコピーした後、使用中のメ
モリ領域を解放することにより、使用中のメモリ領域を
詰めることができ、大きな空きメモリ領域が得られる。
【0019】なお、空きメモリ領域のサイズ別にメモリ
領域の先頭部分の位置を管理することにより、所要領域
サイズと同一のサイズの空きメモリ領域を優先して獲得
できるようにしている。こうすることにより、空きメモ
リ領域の細分化を防止することができる。獲得可能なメ
モリ領域が複数ある場合には、常に最小アドレスのメモ
リ領域から獲得することにより、高位アドレス側には大
きな空きメモリ領域が残るようにしているのである。常
に最大アドレスのメモリ領域から獲得し、低位アドレス
側に大きな空きメモリ領域が残るようにしても良い。
【0020】
【発明の実施の形態】次に、本発明の実施の一形態につ
いて図面を参照して説明する。
【0021】図1は本発明によるメモリ管理システムの
実施の一形態を示すブロック図である。同図には、複数
のメモリブロック20―1,20―2,20―3,20
―4,20―5及び20―6からなるメモリが示されて
いる。図に示されている状態においては、斜線が付され
ているメモリブロック20―1,20―3及び20―5
は使用されている、すなわち使用中ブロックであるもの
とする。これに対し、斜線が付されていないメモリブロ
ック20―2,20―4及び20―6は使用されていな
い、すなわち未使用のメモリブロックであるものとす
る。
【0022】メモリブロック20―2,20―4及び2
0―6はリンク4で接続され、論理的に1つの空きメモ
リブロックを形成する。この場合、メモリブロック20
―2に付加されている後方リンクにはメモリブロック2
0―4の先頭ページを示すページ番号が格納され、メモ
リブロック20―4に付加されている後方リンクにはメ
モリブロック20―6の先頭ページを示すページ番号が
格納される。
【0023】また、メモリブロック20―6に付加され
ている前方リンクにはメモリブロック20―4の先頭ペ
ージを示すページ番号が格納され、メモリブロック20
―4に付加されている前方リンクにはメモリブロック2
0―2の先頭ページを示すページ番号が格納される。
【0024】なお、前方リンクや後方リンクに格納する
ページ番号は、例えば、アドレス値であるものとする。
【0025】次に、図2〜図11を参照してメモリブロ
ックの構成、メモリ領域の獲得及び解放並びに空きメモ
リブロックの細分化の解消等について説明する。なお、
以下の説明ににおいて参照する各図中の同等部分には、
同一符号が付されている。また、以下の説明において、
22―i(i=1,2,3,4…)は空塞表示部,23
―iは有効長部,24―iはデータエリア,25―iは
前方リンク,26―iは後方リンクであるものとする。
【0026】(1)処理単位 メモリ領域は全てページと呼ぶ単位で区切って処理を行
う。各ページには1から昇順に番号を割当てて識別し、
これをページ番号と呼ぶ。つまり処理上ページのサイズ
に満たないサイズのメモリブロックが発生する場合は全
てページの倍数になるよう切り上げて処理を行う。
【0027】(2)メモリブロックの構成 各メモリブロックは連続した複数のページの集合であ
る。そして、未使用のものを空きメモリブロック、使用
中のものを使用中メモリブロックと呼ぶ。いずれのメモ
リブロックも図2で示すように空いているか使用中かを
示す空塞表示部22−1と、記憶できるデータ長を示す
有効長部23−1と、実際にデータが格納されるデータ
エリア24−1と、一つ前のメモリブロックの先頭ペー
ジのページ番号が設定される前方リンク25−1と、一
つ後ろのメモリブロックの先頭ページのページ番号が設
定される後方リンク26−1とを含んで構成されてい
る。
【0028】(3)メモリブロックポインタ10の構成 空きメモリブロックの先頭ページのページ番号を空きメ
モリブロックポインタ31に記憶する。また、メモリ領
域が複数の空きメモリブロックに分割された場合には、
空きメモリブロックの先頭ページのページ番号をそのブ
ロックのサイズ毎に空きメモリブロックサイズ別ポイン
タ33に記憶する。更に、使用中のメモリブロックの先
頭ページのページ番号を使用中メモリブロックポインタ
32に記憶する。
【0029】(4)初期状態 初期状態ではメモリ領域は全て未使用状態である。この
ため、メモリ領域全体が一つの空きメモリブロックとな
る。したがって、図4に示すように空きメモリブロック
ポインタ31にはメモリ領域の先頭ページのページ番号
「1」を設定する。また、このメモリブロックの空塞表
示部22−1には「空き」、有効長部23−1にはデー
タエリア24−1のサイズ、前方リンク25−1及び後
方リンク26−1にはリンクが無効であることを表す
「0」を夫々設定する。
【0030】空きメモリブロックサイズ別ポインタ33
には全てのページ番号が無効であることを意味する
「0」を設定する。使用中メモリブロックポインタ32
にはページ番号が無効であることを意味する「0」を設
定する。
【0031】(5)メモリ領域獲得の基本的な処理 図5を参照してメモリ領域獲得の基本的な処理を説明す
る。図5(a)において、空きメモリブロックが存在す
る場合は空きメモリブロックポインタ10に空きメモリ
ブロックの先頭ページのページ番号として「0」以外の
値が設定されている。このため、該当するページの有効
長部23−1の示すサイズと所要サイズ(必要とするメ
モリのサイズ)とを比較し、有効長部23−1の示すサ
イズの方が大きければ獲得可能であると判断する。図5
(b)に移り、獲得した領域については、空塞表示部2
2−1に「使用中」を、有効長部23−1に獲得したデ
ータエリア24−2のサイズを、前方リンク25−2及
び後方リンク26−2にはリンクが無効であることを示
す「0」を夫々設定する。これにより、同図(b)中の
斜線で示されている領域が使用中メモリブロックとな
る。
【0032】獲得した使用中メモリブロックの直後のペ
ージには空塞表示部22−2として「空き」、及び有効
長部23−2としての残りのデータエリア24−3のサ
イズを設定して新たなメモリブロックを構成する。空き
メモリブロックポインタ10には新たな空きメモリブロ
ックの先頭ページのページ番号を設定する。さらに、メ
モリ領域の獲得を行う場合は上記と同様の処理を繰返
し、空きメモリブロックを使用中メモリブロックと新た
な空きメモリブロックとに分割していくことになる。
【0033】(6)メモリ領域解放の基本的な処理(直
後が空きメモリブロックの場合) 図6によりメモリ領域解放の基本的な処理を説明する。
図6(a)のように空塞表示部22−1に「使用中」が
設定されている使用中メモリブロックの解放を指示され
た場合、まず空塞表示部22−1に「空き」を設定す
る。
【0034】次に、解放したメモリブロックの直後のメ
モリブロックの空塞表示部22−2を参照する。空きメ
モリブロックなら解放したメモリブロックと統合して、
有効長部23−1には解放したメモリブロック及び直後
の空きメモリブロックを合わせて得られるデータエリア
24−1のサイズを設定した新たな空きメモリブロック
とする。さらに、前方リンク25−1の内容を参照して
空きメモリブロックのチェーンの組替えを行う。これに
より、同図(a)中の斜線で示されている領域が解放さ
れ、同図(b)に示されている状態になる。
【0035】前方リンク25−1の内容が無効を示す
「0」の場合は、新たな空きメモリブロックが最も小さ
いアドレスを有する空きメモリブロックとなるので、空
きメモリブロックポインタ31に新たな空きメモリブロ
ックの先頭ページのページ番号を設定する。
【0036】(7)空きメモリブロックチェーンの組替
え 新たな空きメモリブロックの前方リンクが有効な場合に
ついて図7を参照して説明する。同図(a)に示されて
いる空塞表示部22−2からの使用中メモリブロックを
前述のように解放すると、前方リンク25−3の内容を
参照して空きメモリブロックチェーンの組替えを行うこ
とになる。この場合、前方リンク25−3に先頭ページ
のページ番号が設定されている空きメモリブロックの後
方リンク26−1に新たな空きメモリブロックの先頭ペ
ージのページ番号を設定する。こうすることにより同図
(b)に示されているように空きメモリブロックチェー
ンを再構成する。
【0037】(8)メモリ領域解放の基本的処理(直前
が空きメモリブロック場合) 解放を行ったメモリブロックの直前に空きメモリブロッ
クが存在する場合について図8を参照して説明する。解
放を行ったメモリブロックの直前のメモリブロックの後
方リンク26−1を参照し、リンクが有効ならリンク先
のメモリブロックの空塞表示部22−3を参照する。こ
の空塞表示部22−3が空きなら直前のメモリブロック
も空きなので空きメモリブロックの統合を行う。この
時、有効長部23−1に統合したデータエリア24−2
のサイズを、前方リンク25−2に統合前の前方リンク
25−1の内容を、後方リンク26−2に統合前の後方
リンク26−1の内容を夫々設定する。こうすることに
より新たな空きメモリブロックとなる。
【0038】(9)メモリ領域解放の基本的処理(直前
及び直後が空きメモリブロックの場合) 解放を行ったメモリブロックの直後が空きメモリブロッ
クの場合の処理と、解放を行ったメモリブロックの直前
が空きメモリブロックだった場合の処理とを連続して行
う。図9を参照すると、解放を行ったメモリブロック
(同図(a)の斜線部分)の前後がいずれも空きメモリ
ブロックの場合には同図(b)のように夫々のメモリブ
ロックを統合した一つの空きメモリブロックとして再構
成される。
【0039】(10)空きメモリブロックサイズ別ポイ
ンタの設定 メモリ領域の解放あるいはメモリ領域の確保により新た
に空きメモリブロックとなった領域の先頭ページの番号
を、そのサイズに対応した空きメモリブロックサイズ別
ポインタ33に設定する。この処理について図10を参
照して説明する。
【0040】例えば、メモリ領域の解放により64バイ
トの空きメモリブロック104−1が生じた場合、64
バイトの空きメモリブロックのポインタ103−2に空
きメモリブロック104−1の先頭ページのページ番号
を設定する。その後、64バイトの空きメモリブロック
が生じた場合はポインタ103−1に設定されているペ
ージ番号と比較を行う。比較の結果、新たな空きメモリ
ブロックの先頭ページ番号の方が小さい場合のみポイン
タ103−2に設定し直す。
【0041】このような処理により、空きメモリブロッ
クサイズ別ポインタ33には常に同一サイズの空きメモ
リブロックの中で最小のページ番号が設定されるように
なる。
【0042】(11)最適な空きメモリブロックの選択
処理 図10に示されている状態で32バイトのメモリ領域の
獲得を行う場合、まず32バイトの空きメモリブロック
ポインタ103−1を参照する。この場合、ポインタ1
03−1には32バイトの空きメモリブロック104−
3の先頭ページのページ番号が設定されている。このた
め、この空きメモリブロックを獲得し、ポインタ103
−1に無効値として「0」を設定する。
【0043】さらに32バイトのメモリ領域の獲得を行
う場合、既に32バイトの空きメモリブロックポインタ
103−1が無効になっているので、次に大きな64バ
イトの空きメモリブロックポインタ103−2を参照し
てメモリ領域の獲得を行う。
【0044】このようにメモリ領域の獲得を行う場合に
は、ページ番号が最小の所要領域サイズと同一のサイズ
の空きメモリブロックを優先して獲得するようにする。
【0045】(12)使用中メモリチェーン メモリ領域の獲得により使用中メモリブロックとなった
ものは、空きメモリブロックチェーンと同様の使用中メ
モリブロックチェーンとして管理する。ただし、使用中
メモリブロックポインタは常に使用中メモリブロックの
中で最大の先頭ページのページ番号を設定する。
【0046】(13)空きメモリブロック細分化の解消 使用中メモリブロックを詰めることにより大きな空きメ
モリブロックを得る処理について図11を参照して説明
する。同図(a)において、使用中メモリブロックは高
位アドレス側からのチェーンになっているので、まずこ
のチェーンを検索する。そして、例えば使用中メモリブ
ロック105−4を見つける。次に、メモリ獲得処理に
より使用中メモリブロック114と同一のサイズの空き
メモリブロック105−1を獲得する。その次に、使用
中メモリブロック105−4の内容をメモリブロック1
05−1にコピーした後、使用中メモリブロック105
−4は解放する。
【0047】この処理により同図(b)のように128
バイトの新たな空きメモリブロック105−6を得るこ
とができるのである。なお、105−5は使用中メモリ
ブロックである。このように高位アドレス側の使用中メ
モリブロックを低位アドレス側の同一サイズの空きメモ
リブロックに移動することにより、少ない移動処理で大
きな空きメモリブロックを得ることができる。
【0048】ところで、空きメモリブロック同士が前方
リンク及び後方リンクでチェーン状態になっている場
合、ある空きメモリブロックに着目すると、そのメモリ
ブロックの前方及び後方リンクの内容は最も近い位置に
位置している空きメモリブロックの位置を示しているこ
とになる。したがって、メモリブロック解放時に、これ
らのリンクの内容を参照すれば、隣接するメモリブロッ
クが使用中か空きかを容易に判断することができるので
ある。
【0049】次に、本システムの動作についてフローチ
ャートを参照して説明する。まず、図12において、初
期状態の設定が行われる(ステップ121)。この設定
された初期状態において、メモリブロックの獲得の要求
があれば、獲得処理が行われる(ステップ121→12
3)。この獲得されたメモリブロックは空き状態から使
用中の状態になる。
【0050】一方、メモリブロックの解放の要求があれ
ば、解放処理が行われる(ステップ124→125)。
この解放されたメモリブロックは使用中の状態から空き
状態になる。
【0051】メモリブロックの獲得要求及び解放要求の
いずれもない場合には、待ち状態になる(ステップ12
2→124→122…)。なお、メモリブロックの獲得
に失敗した場合は、その旨のメッセージを要求元に返
す。
【0052】ここで、図12のステップ123における
メモリブロックの獲得処理について図13のフローチャ
ートを参照して説明する。同図において、まず、所要サ
イズと空塞表示が「空き」になっているメモリブロック
の有効長が示すサイズとを比較する(ステップ13
1)。有効長が示すサイズの方が小さい場合は、空塞表
示が「空き」になっている他のメモリブロックの有効長
が示すサイズと比較する(ステップ132→131)。
つまり、所要サイズよりも大きなサイズのメモリブロッ
クが見つかるまで比較を繰返す。
【0053】有効長が示すサイズの方が大きい場合は、
そのメモリブロックを獲得する(ステップ132→13
3)。メモリブロックを獲得した場合には、そのメモリ
ブロックの空塞表示を「使用中」にする(ステップ13
4)。また、そのメモリブロックの直後のメモリブロッ
クの空塞表示を「空き」にする(ステップ135)。
【0054】次に、メモリブロックを解放する場合の処
理について図14のフローチャートを参照して説明す
る。同図において、まず、解放するメモリブロックの直
前のメモリブロックが「空き」かどうかを判断する(ス
テップ141)。
【0055】直前のメモリブロックが「空き」である場
合には、解放するメモリブロックの直後のメモリブロッ
クが「空き」かどうかを判断する(ステップ141→1
42)。直後のメモリブロックが「空き」でない場合
は、解放するメモリブロックを直前のメモリブロックと
統合する(ステップ142→143)。この状態が上述
した図8の状態である。
【0056】一方、直後のメモリブロックも「空き」で
ある場合は、解放するメモリブロックを直前及び直後の
メモリブロックと統合する(ステップ142→14
4)。この状態が上述した図9の状態である。
【0057】解放するメモリブロックの直前のメモリブ
ロックが「空き」でない場合にも、解放するメモリブロ
ックの直後のメモリブロックが「空き」かどうかを判断
する(ステップ141→145)。直後のメモリブロッ
クが「空き」である場合は、解放するメモリブロックを
直後のメモリブロックと統合する(ステップ145→1
46)。この状態が上述した図6の状態である。
【0058】直後のメモリブロックも「空き」でない場
合は、統合せずにそのまま処理を終了する(ステップ1
45→147)。
【0059】また、図15は使用中のメモリブロックを
詰める処理の動作を示すフローチャートである。同図に
おいて、まず、使用中のメモリブロックのサイズと同一
のサイズのメモリブロックを検索する(ステップ151
→152→151)。同一のサイズのメモリブロックが
あれば、そのブロックの空塞情報の内容をみて、空きメ
モリブロックかどうかを確認する(ステップ152→1
53)。空きメモリブロックでなければ、さらに検索を
続行する(ステップ153→151…)。
【0060】空きメモリブロックである場合には、使用
中のメモリブロックの内容を空きメモリブロックにコピ
ーする(ステップ153→154)。このコピーの後、
使用中のメモリブロックを解放(空塞情報を「空き」)
にすると共に、空きメモリブロックを使用中(空塞情報
を「使用中」)にする(ステップ155)。この状態が
上述した図11の状態である。
【0061】以上のように、本システムでは管理データ
をメモリブロック内に設定しているので、管理できる領
域の数に制限がない。また、所要サイズと同一のサイズ
の領域を優先的に獲得するので、空きメモリ領域が細分
化される状態が少ない。したがって、加入者数が非常に
多い交換機に本システムを搭載すれば、管理できるメモ
リ領域の数が限定されることはなく、また、メモリの容
量が少ない場合でもそのメモリを効率的に使用できるの
である。
【0062】さらに空き領域を低位アドレス側に、使用
中の領域を高位アドレス側に、夫々確保し、高位アドレ
ス側の使用中の領域を低位アドレス側の同一サイズの領
域に移動してメモリ領域を詰めることにより、少ない処
理量で大きな空きメモリを確保することができるのであ
る。
【0063】なお以上は、各メモリブロックが固定長の
記憶容量を有するN個(Nは正の整数)のページ領域か
ら構成されている場合について説明したが、固定長では
なく可変長の記憶容量を有するN個のセグメント領域か
ら構成されていても良いことは明らかである。
【0064】また、交換機に限らず、コンピュータ等に
用いられるメモリについて本システムが広く適用できる
ことは明らかである。
【0065】請求項の記載に関連して本発明は更に次の
態様をとりうる。
【0066】(6)前記メモリブロックは、固定長の記
憶容量を有するN個(Nは正の整数)のページ領域から
なることを特徴とする請求項1〜5のいずれかに記載の
メモリ管理システム。
【0067】(7)前記メモリブロックは、可変長の記
憶容量を有するN個(Nは正の整数)のセグメント領域
からなることを特徴とする請求項1〜5のいずれかに記
載のメモリ管理システム。
【0068】
【発明の効果】以上説明したように本発明は、管理テー
ブルに相当する機能を各メモリブロックに設けているの
で、管理テーブルの容量が不足することはなくなり、空
きメモリ領域があるにもかかわらずその領域を獲得でき
ないという事態が生じることがなくなるという効果があ
る。また、使用中のメモリ領域を解放する場合に、隣接
する空きメモリ領域と統合したり、使用中のメモリ領域
と空きメモリ領域とが同一の記憶容量である場合には両
者の位置を入替えることにより、空きメモリ領域の細分
化が発生することがないという効果がある。
【図面の簡単な説明】
【図1】本発明の実施の一形態によるメモリ管理システ
ムの動作原理を示す図である。
【図2】本発明の実施の一形態によるメモリ管理システ
ムに使用するメモリブロックの構成例を示す図である。
【図3】本発明の実施の一形態によるメモリ管理システ
ムに使用するメモリブロックポインタの構成例を示す図
である。
【図4】メモリブロック及びメモリブロックポインタの
初期状態を示す図である。
【図5】メモリ領域獲得の基本処理を示す図であり、
(a)はメモリ領域獲得前の状態を示す図、(b)はメ
モリ領域獲得後の状態を示す図である。
【図6】解放の対象となるメモリ領域の直後のメモリ領
域が空きメモリ領域である場合におけるメモリ領域解放
の処理を示す図であり、(a)はメモリ領域解放前の状
態を示す図、(b)はメモリ領域解放後の状態を示す図
である。
【図7】空きメモリブロックチェーンの組み替え処理を
示す図であり、(a)は組み替え処理前の状態を示す
図、(b)は組み替え処理後の状態を示す図である。
【図8】解放の対象となるメモリ領域の直前のメモリ領
域が空きメモリ領域である場合におけるメモリ領域解放
の処理を示す図であり、(a)はメモリ領域解放前の状
態を示す図、(b)はメモリ領域解放後の状態を示す図
である。
【図9】解放の対象となるメモリ領域の直前及び直後の
メモリ領域が空きメモリ領域である場合におけるメモリ
領域解放の処理を示す図であり、(a)はメモリ領域解
放前の状態を示す図、(b)はメモリ領域解放後の状態
を示す図である。
【図10】最適な空きメモリブロックの選択処理を示す
図である。
【図11】使用中メモリブロックを詰める処理を示す図
であり、(a)は詰める前の状態を示す図、(b)は詰
めた後の状態を示す図である。
【図12】本発明の実施の一形態によるメモリ管理シス
テムの動作を示すフローチャートである。
【図13】本発明の実施の一形態によるメモリ管理シス
テムにおけるメモリブロックの獲得処理動作を示すフロ
ーチャートである。
【図14】本発明の実施の一形態によるメモリ管理シス
テムにおけるメモリブロックの統合処理動作を示すフロ
ーチャートである。
【図15】本発明の実施の一形態によるメモリ管理シス
テムにおける使用中のメモリブロックを詰める処理の動
作を示すフローチャートである。
【符号の説明】
10 空きメモリブロックポインタ 20−1〜20−6 空きメモリブロックチェーン 22−1〜22−3 空塞表示部 23−1〜23−3 有効長部 24−1〜24−4 データエリア 25−1〜25−3 前方リンク 26−1〜26−3 後方リンク

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 メモリの記憶領域を、自ブロックが空き
    状態か使用状態かを示す空塞情報を有する複数のメモリ
    ブロックに区切って管理するメモリ管理システムであっ
    て、前記複数のメモリブロックの使用状態に応じて前記
    空塞情報の内容を書替える手段と、前記空塞情報の内容
    を使用状態から空き状態に書替えるとき隣接するメモリ
    ブロックの空塞情報の内容が空き状態を示している場合
    に両メモリブロックを統合して1つの空きメモリブロッ
    クとする統合手段とを含むことを特徴とするメモリ管理
    システム。
  2. 【請求項2】 前記空塞情報の内容が空き状態になって
    いる空きメモリブロックは、自メモリブロックに最も近
    い位置に位置している空きメモリブロックの位置を示す
    位置情報を有し、前記統合手段は前記位置情報の内容を
    参照することによって隣接するメモリブロックの空塞情
    報の内容を確認することを特徴とする請求項1記載のメ
    モリ管理システム。
  3. 【請求項3】 メモリの記憶領域を、自ブロックが空き
    状態か使用状態かを示す空塞情報を有する複数のメモリ
    ブロックに区切って管理するメモリ管理システムであっ
    て、前記複数のメモリブロックの使用状態に応じて前記
    空塞情報の内容を書替える手段と、前記空塞情報の内容
    が使用状態になっている第1のメモリブロックと前記空
    塞情報の内容が空き状態になっている第2のメモリブロ
    ックとの記憶容量が同一である場合に前記第1のメモリ
    ブロックの記憶内容を前記第2のメモリブロックにコピ
    ーする手段と、このコピー後に前記第1のメモリブロッ
    クの空塞情報の内容を空き状態にし、前記第2のメモリ
    ブロックの空塞情報の内容を使用状態にする手段とを含
    むことを特徴とするメモリ管理システム。
  4. 【請求項4】 前記複数のメモリブロックのうち空塞情
    報が空き状態を示しているメモリブロックの夫々の位置
    を示す情報を保持するポインタを更に含み、このポイン
    タの保持内容に応じてメモリブロックを検索することを
    特徴とする請求項1〜3のいずれかに記載のメモリ管理
    システム。
  5. 【請求項5】 前記ポインタは、前記複数のメモリブロ
    ックのうち空塞情報が空き状態を示しているメモリブロ
    ックの夫々の記憶容量を示す情報をも保持することを特
    徴とする請求項4記載のメモリ管理システム。
  6. 【請求項6】 前記複数のメモリブロックのうちアドレ
    ス値の高い高位アドレスメモリブロック及びアドレス値
    の低い低位アドレスメモリブロックのうちいずれか一方
    を優先的に使用状態にし、かつ、他方を空き状態にする
    手段を更に含むことを特徴とする請求項1〜5ののいず
    れかに記載のメモリ管理システム。
JP5128297A 1997-03-06 1997-03-06 メモリ管理システム Pending JPH10247160A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5128297A JPH10247160A (ja) 1997-03-06 1997-03-06 メモリ管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5128297A JPH10247160A (ja) 1997-03-06 1997-03-06 メモリ管理システム

Publications (1)

Publication Number Publication Date
JPH10247160A true JPH10247160A (ja) 1998-09-14

Family

ID=12882591

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5128297A Pending JPH10247160A (ja) 1997-03-06 1997-03-06 メモリ管理システム

Country Status (1)

Country Link
JP (1) JPH10247160A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005045683A1 (en) * 2003-11-05 2005-05-19 Electronics And Telecommunications Research Institute Apparatus and method for garbage collection
JP2015119374A (ja) * 2013-12-19 2015-06-25 三菱電機株式会社 映像処理装置
JP2015125713A (ja) * 2013-12-27 2015-07-06 富士電機株式会社 プログラマブルコントローラ・システム、その支援装置、プログラマブルコントローラ、プログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005045683A1 (en) * 2003-11-05 2005-05-19 Electronics And Telecommunications Research Institute Apparatus and method for garbage collection
GB2423172A (en) * 2003-11-05 2006-08-16 Korea Electronics Telecomm Apparatus and method for garbage collection
GB2423172B (en) * 2003-11-05 2007-02-28 Korea Electronics Telecomm Apparatus and method for garbage collection
US7797498B2 (en) 2003-11-05 2010-09-14 Electronics And Telecommunications Research Institute Apparatus and method for garbage collection
JP2015119374A (ja) * 2013-12-19 2015-06-25 三菱電機株式会社 映像処理装置
JP2015125713A (ja) * 2013-12-27 2015-07-06 富士電機株式会社 プログラマブルコントローラ・システム、その支援装置、プログラマブルコントローラ、プログラム

Similar Documents

Publication Publication Date Title
EP0993635B1 (en) Method and apparatus for dynamic queue sizing
US4912629A (en) Real-time garbage collection for list processing using restructured cells for increased reference counter size
CN109416674A (zh) 用于暂存器使能的多核处理器的元组编码感知直接存储器访问引擎
CN109154934A (zh) 用于暂存器使能的多核处理器的行程长度编码感知直接存储器访问过滤引擎
US20030065902A1 (en) System and method for storage management
JP2766424B2 (ja) 論理ボリューム装置
US6092136A (en) Multi-processor central processing unit
US8661223B1 (en) Buffer management architecture
US5640597A (en) Method and apparatus for servicing simultaneously a plurality of requests for data streams
JPH10247160A (ja) メモリ管理システム
JP2516703B2 (ja) 論理自動生成方法および論理自動生成システム
JPH06274394A (ja) 分散データベース制御方法
CN105939218A (zh) 网络流量的统计方法及装置
JP2912221B2 (ja) 分散ネットワーク化ストライプド・ファイルシステム
CN1097934C (zh) 交换机协议处理器软件的加载系统及其方法
US5892918A (en) Block transfer method for use with parallel computer system
JP2780718B2 (ja) 巡回的にデータをバッファするデータ処理システム
JP2738064B2 (ja) 共通バッファ型スイッチ
JP3511342B2 (ja) データ蓄積回路
JPH08320817A (ja) ファイルシステム管理方法
JP3056348B2 (ja) ブリッジ装置および記憶手段管理方法
JP3756367B2 (ja) ビデオサーバおよびプログラム記録媒体
CA2073540A1 (en) Multiprocessor system, memory managing system therefor, and graphics display system using the multiprocessor system
JPH06139123A (ja) ファイル記憶装置
JPH0310341A (ja) ディスクスペースコンパクション方式

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031202