JPH04112249A - メモリ管理方式 - Google Patents

メモリ管理方式

Info

Publication number
JPH04112249A
JPH04112249A JP23058190A JP23058190A JPH04112249A JP H04112249 A JPH04112249 A JP H04112249A JP 23058190 A JP23058190 A JP 23058190A JP 23058190 A JP23058190 A JP 23058190A JP H04112249 A JPH04112249 A JP H04112249A
Authority
JP
Japan
Prior art keywords
size
memory
area
value
storage 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
JP23058190A
Other languages
English (en)
Inventor
Hiroyuki Yamada
博之 山田
Yasuhiko Isobe
礒辺 泰彦
Zenshi Hayashi
林 善嗣
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP23058190A priority Critical patent/JPH04112249A/ja
Publication of JPH04112249A publication Critical patent/JPH04112249A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明は、マイクロコンピュータおよびメモリ等の記憶
手段を有するデータ処理装置におけるメモリ管理方式に
関し、特に、連続エリアのメモリ領域確保および上記メ
モリ領域の解放するメモリ管理方式に関するものである
(従来の技術) マイクロコンピュータが作動している間、連続メモリの
確保および、解放の要求は頻繁に発生するが、メモリ容
量は有限なので、新規の連続メモリを確保するには、解
放されたメモリ領域を再利用する必要があり、従って、
メモリ内の空き領域を管理する必要がある。
従来のメモリ管理方式について、第5図ないし第12図
により説明する。
まず、テーブル形式のメモリ管理方式について、第5図
ないし第7図により説明する。第5図は、テーブル形式
のメモリマツプである。
同図において、メモリマツプは、一定バイト数を1ブロ
ツクとした複数個のブロック0,1,2゜3.4,5,
6.7ないしnと、上記ブロック数と同じバイト数から
なる管理テーブル8とから構成されている。管理テーブ
ル8にはすべてのブロックに対して、確保もしくは解放
の状態が1ビット単位で格納されている。
図中でハツチングを施したブロックO,l、2゜5.6
.・・・は確保されているので、これらのブロックに対
応する管理テーブル8の内容は確保状態を示す“1″が
格納されている。同様に、ハッチチングのないブロック
3,4.7・・・は解放されているので、これらのブロ
ックに対応する管理テーブル8の内容は解放状態を示す
′○″が格納されている。
連続メモリ確保の要求が発生した場合、連続メモリ確保
のために必要な大きさの連続領域を管理テーブル8より
捜し出し、これに対応するブロックを確保するために管
理テーブル8の内容を解放状態から確保状態に更新する
同様に解放の要求が発生した場合、解放ブロックに対応
する管理テーブル8の値を確保状態から解放状態に更新
する。
第6図に示すメモリマツプによって説明すると、第5図
に示す状態で連続メモリ確保の要求が発生し、解放状態
のブロック3および4を確保したとすると、右方向に下
るハツチングを施したブロック3および4に対応する管
理テーブル8の値が解放状態を示す110 IIから確
保状態を示すII 1 Hに更新され、管理テーブル8
aの状態となる。
同様に、第6図の状態でブロック○、l、2の解放要求
が発生した場合には第7図のように管理テーブル8aの
内容が管理テーブル8bに変化する。
即ち、ブロックO,’1.2に対応する管理テーブルの
値が確′保状態を示す“1″、解放状態を示す“0″に
更新される。
次に、リンク形式のメモリ管理方式について、第8図な
いし第12図により説明する。第8図はリンク形式のテ
ーブルマツプで、確保された領域9゜lOおよび11の
先頭には、次に連続領域の確保要求が発生した場合に確
保されるべき領域の先頭を示すポイントもしくはオフセ
ット12が格納されている。ここでオフセットが格納さ
れている場合、すなわち解放領域になっても、このエリ
アのサイズは変らない。
従って、連続領域確保の要求が発生した場合、メモリの
先頭・から順次上記ポインタもしくはオフセット12の
内容を追っていくことにより、解放されている領域を検
索することができる。
第9図は、初期設定により、メモリ領域がゼロクリアさ
れた後、確保領域9および10が設定されている状態で
、解放領域を検索する方法を示すもめで、先頭から順次
追ってきたポインタもしくはオフセットの内容が図のよ
うに0”であった場合、それ以降の領域は解放されてい
ると見なすことができるので、要求のあったバイト数だ
け領域を確保し、その頭に次の連続領域確保要求が発生
した場合に、検索に用いられるポインタもしくはオフセ
ットが格納される。
(発明が解決しようとする課題) しかしながら、上記の構成では、テーブル形式の場合、
管理テーブル8のための領域が必要となるばかりでなく
、一定バイトを1ブロツクとし、ブロック単位でメモリ
を確保あるいは解放するため、第1O図のように1ブロ
ツクを512バイトとした場合に、640バイトの確保
要求が発生すると、ブロック3のみでは要求バイト数に
満たないため、2ブロツク3および4の1024バイト
を確保しなければならず、この際、ブロック4の中、3
84バイトは、実際には確保しなくてもよい無駄な領域
を確保してしまったことになるという問題があった。
このようなを無駄を減少させるために1ブロック当りの
バイト数を減らすと管理テーブル8の領域が増加し、例
えば、第11図のように、4 Mバイトの領域を1ブロ
ック−512バイトとして管理する場合、管理テーブル
8は1024バイトであるが、lブロック=256バイ
トとすると管理テーブル8の領域は2倍の2048バイ
トとなってしまいメモリ領域が減少するという問題もあ
った。
リンク形式の場合、メモリ領域の先頭よりポインタもし
くはオフセットを用いて順次メモリを確保していくため
、確保されている領域の解放を行うためには、メモリの
再配置、ポインタもしくはオフセットの更新等の手続き
が必要となるために、複雑な処理を施さなければならな
い。
そのため、通常、第12図のように、連続メモリ確保要
求が発生した際、確保に十分な連続メモリ解放領域13
が存在するにかかわらず、この領域に連続メモリは確保
されず、最後尾の確保領域10の次の解放領域14に連
続エリアが確保される。このため、メモリの使用効率が
低いものとなるという問題があった。
本発明は上記の問題を解決するもので、テーブルを用い
ないで簡単な処理で効率的に連続メモリの確保および解
放を行えるメモリ管理方式を提供するものである。
(課題を解決するための手段) 上記の課題を解決するため、本発明は、リンク形式を用
いて、連続エリアを確保する場合にポインタもしくはオ
フセットが格納されている一定バイト数のエリアに、ワ
ードバウンダリ(2バイトの整数倍つまり偶数バイト)
に拡張された確保されたサイズ(バイト数)を格納し、
該領域を解放する際には、確保時に格納されたサイズ(
バイト数)を″1″減分することにより、連続領域を確
保、解放を行うものである。
(作 用) 上記メモリ管理方式を用いることにより、管理テーブル
、メモリの再配置等を用いることなく、連続メモリ確保
および解放が可能となり、メモリの使用効率が高まる。
(実施例) 本発明のメモリ管理方式の一実施例を第1図ないし第4
図により説明する。第1図は本発明による連続メモリ確
保および解放の処理を行う管理方式を示すブロック図で
ある。同図において、本発明によるメモリ管理方式は、
入力装置15とメモリ管理装置16とから構成されてお
り、上記のメモリ管理装置16は、中央処理装置(CP
U)17と、プログラム書込み可能な読出し専用メモリ
(PROM)18と、偶数か否かを判断する手段19a
および奇数の場合偶数に拡張する手段19bからなる連
続メモリ確保要求サイズ(以下確保要求サイズと称す)
を判断および拡張する手段19と、サイズ格納エリアの
チェック対象をメモリのトップに設定する手段20と、
′0”か否かを判断する手段21aおよび偶数か否かを
判断する手段21bからなるサイズ格納エリアの値を判
断する手段21と、チェックの対象を次のサイズ格納エ
リアに移動する手段22と、確保要求サイズとサイズ格
納エリアの値を比較する手段23と、サイズを格納する
手段と、残りのメモリサイズを計算する手段25と、サ
イズ格納エリアの値を1”減分する手段26と書込み読
出しができるメモリ27とから構成されている。メモリ
確保の場合を第2図、メモリ解放の場合を第3図にそれ
ぞれ示すフローチャートに従い、説明する。なお、本実
施例において、メモリ領域は、ゼロクリアされているも
のとする。第1図および第2図において、連続メモリ確
保の場合は、入力装置15により、連続メモリ確保の要
求が入力されると、まず、確保要求サイズが偶数か否か
をチェックする手段19aにより確保要求サイズがワー
ドバウンダリ、つまり偶数であるか否かをチェックしく
ステップイ)、もし、サイズの値が奇数の場合は、偶数
に拡張する手段19bにより、拡張してワードバウンダ
リすなわち偶数にする。つまり確保要求サイズが2m(
mは任意の整数)のような場合にはサイズの値は2mそ
のままだが、2m+1の場合は、確保する領域のサイズ
を2m+2とする(ステップイ′)。
次に、サイズ格納エリアのチェック対象をメモリのトッ
プに設定する手段20により、サイズ格納エリアのチェ
ック対象を連続メモリ領域確保および解放が物理的に可
能なメモリのトップに設定する(ステップ口)。
ここで、このエリアには“OIIもしくは確保された際
に格納されたサイズ、もしくは後述する解放された際に
格納されたサイズの値を“1″減分された値のいずれか
が格納されている。
サイズ格納エリアの値がII OT′か否かを判断する
手段21aにより、このエリアの値をチェックしくステ
ップハ)、もし、′0”の場合には、このサイズ格納エ
リアに、サイズを格納する手段24を用いて(ステップ
イ′)で設定されたサイズを格納し、このエリアを確保
する(ステップニ)。一方、“Onでない場合には、サ
イズ格納エリアの値が偶数か否かを判断する手段21b
により、このエリアの値が偶数か否かをチェックする(
ステップホ)。
チェックの結果、このサイズ格納エリアの値が偶数の場
合、チェックの対象を次のサイズ格納エリアに移動する
手段22を用いて、次のサイズ格納エリアにチェックの
対象を移動しくステップへ)、ステップハからの手順を
繰り返す。
ここでは、次のサイズが格納されているエリアは、最後
に検索したエリアのアドレスにサイズの値およびサイズ
が格納されているエリアのバイト数を加えたものである
ので、容易に計算が可能である。
一方、チェックした結果が奇数であった場合、このエリ
ア以降、(サイズ格納エリアの値+1)バイトの領域は
解放状態であると見なせるので、確保要求サイズ値とサ
イズエリア格納値を比較する手段23により、(ステッ
プイ′)で設定されたサイズ値と、このサイズの格納エ
リアに格納されているサイズ値に1を加えたもの(サイ
ズ値+1)の大小を比較する(ステップ ト)。
(ステップイ′)で設定されたサイズ値をA、サイズ格
納エリアに格納されたサイズ値に111 IIを加えた
ものをB、サイズ格納エリアのバイト数をC1該サイズ
格納エリアのアドレスをDとすると、A>Bの時は、解
放領域の広さが十分ではないので、(ステップへ)から
の処理を繰り返す。
更に、AとB−Cの大小を比較しくステップチ)A<B
−Cの時は、連−統メモリを確保するに一際して、十分
な領域が解放されているので、(ステップニ)と同様に
、このサイズ格納エリアにAの値を格納し、このエリア
を確保した後、サイズを格納する手段24により、アド
レス(’D+C+B)のエリアに、残りのメモリサイズ
を計算する手段25を用いて、(B−C−A’)の値を
求め、これを゛′1″減分した値を格納する。この処理
により、連続メモリ確保以前、解放状態だった領域の中
、連続メモリとして確保さた領域以外は、解放状態を保
つことが可能である(ステラプリ)。
また、B−C≦Aの時は、連続メモリを確保するに際し
゛で、解放領域の広さは十分であるが連続メモリ領域を
確保した後、この領域には解放状態の領域が残らないの
で、サイズ格納エリアには、該エリアに格納されている
値を“1″増分したものを格納する(ステップヌ)。
次に、連続メモリ解放の場合は、入力装置15より連続
メモリ解放要求が入力されると、サイズ格納エリアの値
を11111減分する手段26を用いて、解放要求のあ
った連続メモリ領域のサイズ格納エリアの値(サイズの
値)をu l u減分する。この処理によりサイズの値
が偶数(ワードバウンダリ)から奇数になる。サイズの
値が奇数ということが、前記サイズ格納エリア以降の領
域が、サイズ値+1バイト解放されているということを
特徴づける(ステラプル)。
なお、本実施例では、連続メモリ領域を解放する際に、
サイズ格納エリアに格納されている値を″′1″減分す
る方式について記載したが、同様のアルゴリズムで“1
n増分する方式でも、同様の効果が得られる。
(発明の効果) 以上説明したように、本発明のメモリ管理方式を用いる
ことにより、通常のリンク形式では第4図のような確保
領域9および10に挾まれた解放領域13を、もしメモ
リの確保要求に対して十分な領域が存在するなら複雑な
メモリの再配置なしに、メモリを確保することができる
ため、メモリの使用効率を高める。また、サイズを格納
するエリアを偶数バイトに設定した場合、常に確保され
る領域はワードバウンダリから始まるので、マイクロコ
ンピュータのメモリに対するアクセス時間を大幅に短縮
することが可能となる。
【図面の簡単な説明】
第1図は本発明のメモリ管理方式を示すブロック図、第
2図および第3図は共にその動作を示すフロチャート、
第4図は本発明によるメモリマツプ、第5図、第6図お
よび第7図は従来のテーブル形式のメモリ管理方式を説
明するためのメモリマツプ、第8図、第9図は従来のリ
ンク形式のメモリ管理方式を説明するためのメモリマツ
プ、第10図はテーブル形式のメモリ管理方式の問題点
を説明するためのメモリマツプ、第11図、第12図は
リンク形式のメモリ管理方式の問題点を説明するための
メモリマツプである。 0、1.2.3.4.5.6.7・・・ブロック、 8
,8a、8b・・・管理テーブル、9、10.11・・
・確保領域、 12・・・領域の先頭を示すポインタ又
はオフセット、 13゜14・・・解放領域、15・・
・入力装置、16・・メモリ管理装置、17・・・中央
処理装置(CPU)、18・・・プログラムPROM、
19・・・連続メモリ確保要求サイズを判断および拡張
する手段、 19a・・・偶数か否かを判断する手段、
19b・・・奇数の場合偶数に拡張する手段、20・・
・サイズ格納エリアのチェック対象をメモリのトップに
設定する手段、21・・・サイズ格納エリアの値を判断
する手段、21a・・・ “′O″か否かを判断する手
段、21b・・・偶数か否かを判断する手段、22・・
・サイズ格納エリアに対するチェック対象を次のサイズ
格納エリアに移動する手段、23・・・偶数に拡張され
たメモリ確保要求サイズとサイズ格納エリアの値を比較
する手段、24・・・サイズ格納する手段、25・・・
残りのメモリサイズを計算する手段、26・・・サイズ
格納エリア値を“1″減分する手段、27・・・書込み
読出しメモリ。 第1図 特許出願人 松下電器産業株式会社

Claims (3)

    【特許請求の範囲】
  1. (1)連続メモリ確保要求サイズを判断および拡張する
    手段と、サイズ格納エリアの値を判断する手段と、任意
    のサイズ格納エリアから次のサイズ格納エリアにチェッ
    クの対象を移動する手段と、メモリ確保要求サイズとサ
    イズ格納エリアの値を比較する手段と、サイズを格納す
    る手段と、残りのメモリサイズを計算する手段と、サイ
    ズ格納エリアの値を“1”減分する手段を有し、連続メ
    モリを確保する場合には、偶数に拡張されたサイズをサ
    イズ格納エリアに格納し、連続メモリを解放する場合に
    は、解放される領域に対応するサイズ格納エリアの値を
    “1”減分することを、特徴とするメモリ管理方式。
  2. (2)上記連続メモリ確保要求を判断および拡張する手
    段は、連続メモリ確保要求サイズが偶数か否かを判断す
    る手段および、奇数の場合、上記連続メモリ確保要求サ
    イズを偶数に拡張する手段を有することを特徴とする請
    求項(1)記載のメモリ管理方式。
  3. (3)サイズ格納エリアの値を判断する手段は、サイズ
    格納エリアの値が“0”であるか否かを判断する手段お
    よび、前記サイズ格納エリアの値が偶数であるか否かを
    判断する手段を有することを特徴とする請求項(1)記
    載のメモリ管理方式。
JP23058190A 1990-09-03 1990-09-03 メモリ管理方式 Pending JPH04112249A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23058190A JPH04112249A (ja) 1990-09-03 1990-09-03 メモリ管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23058190A JPH04112249A (ja) 1990-09-03 1990-09-03 メモリ管理方式

Publications (1)

Publication Number Publication Date
JPH04112249A true JPH04112249A (ja) 1992-04-14

Family

ID=16909985

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23058190A Pending JPH04112249A (ja) 1990-09-03 1990-09-03 メモリ管理方式

Country Status (1)

Country Link
JP (1) JPH04112249A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0964918A (ja) * 1995-08-29 1997-03-07 Nec Software Ltd 通信制御装置におけるバッファ管理方式
JP2007272657A (ja) * 2006-03-31 2007-10-18 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US7613895B2 (en) 2006-05-18 2009-11-03 Konica Minolta Business Technologies, Inc. Memory administrating method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0964918A (ja) * 1995-08-29 1997-03-07 Nec Software Ltd 通信制御装置におけるバッファ管理方式
JP2007272657A (ja) * 2006-03-31 2007-10-18 Tdk Corp メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法
US7613895B2 (en) 2006-05-18 2009-11-03 Konica Minolta Business Technologies, Inc. Memory administrating method

Similar Documents

Publication Publication Date Title
JP4907605B2 (ja) inodeの割り当て及び割り当て解除の方法及びコンピュータプログラム
EP0439920B1 (en) System and method for memory management in a microcomputer
JP2007523412A (ja) メモリ割当て
JPH06511582A (ja) メモリを割り当てそして解放するコンピュータ方法及びシステム
US20110131387A1 (en) Managing unallocated storage space using extents and bitmaps
US20060235910A1 (en) Apparatus and method for a managing file system
JP2005537557A (ja) 動的メモリ管理
CN111522507A (zh) 一种低延迟的文件系统地址空间管理方法、系统及介质
JPH04112249A (ja) メモリ管理方式
US20170344578A1 (en) Compressed data layout for optimizing data transactions
US5727185A (en) Memory allocation method for allocating two logical store areas to a free store, that is one common physical store area of a computer
CN113722021B (zh) 由实体使用数据结构进行对象共享
JPS58164080A (ja) 領域管理処理方式
US7533225B1 (en) Method and apparatus for enabling adaptive endianness
JPH07134670A (ja) 領域割付方法
CN113886282A (zh) 用以优化分组缓冲器空间的分组处理系统、方法和设备
JPH0793192A (ja) ファイル管理方法
JPS63192126A (ja) デ−タセツトのスペ−ス管理処理方式
JPS62239248A (ja) 物理クラスタリング方式
JP2982134B2 (ja) 主記憶装置の割り当てサイズ決定方法
JPH09282222A (ja) メモリブロック管理装置
JP2006031187A (ja) メモリ管理方式
JPS60129852A (ja) フアイル管理方法
JPH08249225A (ja) メモリ管理装置
JPS6358555A (ja) フアイルスペ−ス管理方式