JPH06208502A - メモリ管理方法 - Google Patents

メモリ管理方法

Info

Publication number
JPH06208502A
JPH06208502A JP181893A JP181893A JPH06208502A JP H06208502 A JPH06208502 A JP H06208502A JP 181893 A JP181893 A JP 181893A JP 181893 A JP181893 A JP 181893A JP H06208502 A JPH06208502 A JP H06208502A
Authority
JP
Japan
Prior art keywords
block
task side
address information
secured
memory
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
JP181893A
Other languages
English (en)
Inventor
Kazuyoshi Itoga
和義 糸賀
Minoru Higashihara
稔 東原
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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP181893A priority Critical patent/JPH06208502A/ja
Publication of JPH06208502A publication Critical patent/JPH06208502A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 (修正有) 【目的】 メモリエリアの有効利用が図れかつ空きブロ
ック検索時間の短縮化が図れるメモリ管理方法を提供す
る。 【構成】 ステップ1でタスク側からメモリ使用要求が
あると、モニタ部は、ステップ2でブロック管理テーブ
ルを用いて、要求されたメモリサイズに適した小さなサ
イズのブロックから順に空きブロックを検索し、空きブ
ロックが見つかるとその空きブロックを確保して当該確
保ブロックに関するアドレス情報をタスク側に渡すとと
もに当該確保ブロックが使用中になったことをブロック
管理テーブルに記憶させる。タスク側はモニタ部から渡
されたアドレス情報に基づいて、上記確保ブロックを使
用してプログラムを実行した後に、使用した上記確保ブ
ロックに関するアドレス情報をモニタ部に返す。モニタ
部は、タスク側から返された上記アドレス情報に基づい
て、タスク側が使用した上記確保ブロックが空きブロッ
クになったことをブロック管理テーブルに記憶させる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、タスク側がプログラ
ムを実行する時に動的に確保、解放して使用するメモリ
エリアをモニタ部で管理するメモリ管理方法に関する。
【0002】
【従来の技術】従来のメモリ管理方法は、雑誌「インタ
ーフェース」1989年7月号の203〜209頁およ
び特許出願公開平成4年第184645号公報(国際分
類G06F 12/02)に記載されているように、プ
ログラム実行時に動的に確保、解放して使用するメモリ
エリアを一定の同じ大きさの複数ブロックに分けて管理
し、要求されたバイト数から必要ブロック数を算出し、
算出された必要ブロック数分連続して空いているエリア
を使用可能エリアとして割り当てるものである。
【0003】
【発明が解決しようとする課題】上記従来技術では、メ
モリエリアを一定の同じ大きさの複数ブロックに分割し
て管理しているため、要求されたバイト数が数バイトか
ら数十バイトといった1ブロックのバイト数に比べて非
常に少ないバイト数であっても1ブロックを割当てなけ
ればならず、割り当てられたブロック内に実際に使用さ
れない無駄なエリアが多く存在し、メモリエリアの有効
利用が図れないという問題がある。
【0004】そこで、割り当てられたブロック内で使用
されない無駄なエリアを少なくするために、1ブロック
のサイズを小さく設定することが考えられるが、そうす
ると1ブロックのバイト数に対して要求されたバイト数
が多くなるということが起こりやすくなり、多数の連続
した空きブロックを割り当てなければならず、連続した
空きブロックを検索するための時間が長くなるという問
題がある。
【0005】この発明は、メモリエリアの有効利用が図
れかつ空きブロック検索時間の短縮化が図れるメモリ管
理方法を提供することを目的とする。
【0006】
【課題を解決するための手段】この発明によるメモリ管
理方法は、タスク側がプログラムを実行する時に動的に
確保、解放して使用するメモリエリアをモニタ部で管理
するメモリ管理方法において、モニタ部は、上記メモリ
エリアを2種以上のサイズの異なるブロックに分割し、
各ブロックが使用中であるか未使用であるかを記憶する
ブロック管理テーブルを有し、タスク側からメモリ使用
要求があったときに、ブロック管理テーブルを用いて、
要求されたメモリサイズに適した小さなサイズのブロッ
クから順に空きブロックを検索していき、空きブロック
が見つかったときにはその空きブロックを確保して当該
確保ブロックに関するアドレス情報をタスク側に渡すと
ともに当該確保ブロックが使用中になったことをブロッ
ク管理テーブルに記憶させ、タスク側は、モニタ部から
渡された上記アドレス情報に基づいて上記確保ブロック
を使用してプログラムを実行した後、使用した上記確保
ブロックに関するアドレス情報をモニタ部に返し、モニ
タ部は、タスク側から返された上記アドレス情報に基づ
いて、タスク側が使用した上記確保ブロックが空きブロ
ックになったことをブロック管理テーブルに記憶させる
ことを特徴とするメモリ管理方法。
【0007】タスク側から要求されたメモリサイズが、
最大サイズのブロックより大きいときには、モニタ部は
最大サイズのブロック群のうち、要求されたメモリサイ
ズに応じた複数個の連続した空きブロック群を検索し、
見つかった空きブロック群を確保して当該確保ブロック
群に関するアドレス情報をタスク側に渡すとともに当該
確保ブロック群のそれぞれのブロックが使用中になった
ことをブロック管理テーブルに記憶させ、タスク側は、
モニタ部から渡された上記アドレス情報に基づいて上記
確保ブロック群を使用してプログラムを実行した後、使
用した上記確保ブロック群に関するアドレス情報をモニ
タ部に返し、モニタ部は、タスク側から返された上記ア
ドレス情報に基づいて、タスク側が使用した上記確保ブ
ロック群のそれぞれのブロックが空きブロックになった
ことをブロック管理テーブルに記憶させるようにするこ
とが好ましい。
【0008】
【作用】モニタ部は、タスク側がプログラムを実行する
時に動的に確保、解放して使用するメモリエリアを2種
以上のサイズの異なるブロックに分割し、各ブロックが
使用中であるか未使用であるかを記憶するブロック管理
テーブルを有している。そして、タスク側からメモリ使
用要求があったときには、モニタ部は、ブロック管理テ
ーブルを用いて、要求されたメモリサイズに適した小さ
なサイズのブロックから順に空きブロックを検索してい
き、空きブロックが見つかったときにはその空きブロッ
クを確保して当該確保ブロックに関するアドレス情報を
タスク側に渡すとともに当該確保ブロックが使用中にな
ったことを上記ブロック管理テーブルに記憶させる。タ
スク側はモニタ部から渡されたアドレス情報に基づい
て、上記確保ブロックを使用してプログラムを実行した
後に、使用した上記確保ブロックに関するアドレス情報
をモニタ部に返す。モニタ部は、タスク側から返された
上記アドレス情報に基づいて、タスク側が使用した上記
確保ブロックが空きブロックになったことをブロック管
理テーブルに記憶させる。
【0009】
【実施例】以下、図面を参照して、この発明の実施例に
ついて説明する。
【0010】図1は、ブロック管理テーブルの内容を示
している。
【0011】タスク側がプログラムを実行する時に動的
に確保、解放して使用するメモリエリアが2種以上のサ
イズの異なるブロックに分割されており、ブロック管理
テーブルには各ブロックが使用中であるか未使用である
かのデータが記憶されている。図1の例では、タスク側
がプログラムを実行する時に動的に確保、解放して使用
するメモリエリアが16バイト、64バイト、256バ
イト、1Kバイト、4Kバイトおよび8Kバイトの6種
のサイズのブロックに分けられている。各サイズのブロ
ックは、複数個ずつ存在している。つまり、ブロック管
理テーブルの各行がサイズごとのブロックに対応してお
り、ブロック管理テーブルの1ビットが1ブロックに対
応している。ブロック管理テーブルの各1ビットのデー
タは、”1”が使用中であることを表し、”0”が未使
用であることを表している。
【0012】図2は、メモリ管理方法を示すフローチャ
ートである。
【0013】タスク側からモニタ部に必要バイト数を含
むメモリ使用要求があると(ステップ1)、モニタ部に
よる空きブロック検索処理(ステップ2)が実行され
る。
【0014】空きブロック検索処理においては、まず、
要求された必要バイト数に最適なブロックサイズが選択
される(ステップ21)。すなわち、必要バイト数が最
大ブロックサイズ(この例では8Kバイト)より小さい
ときには、各種ブロックサイズのうち、必要バイト数よ
り大きなサイズのうちの最小のブロックサイズがまず選
択される。次に、ブロック管理テーブルを参照して、選
択されたブロックサイズのブロックに空きブロックがあ
るか否かが検索される(ステップ22)。
【0015】空きブロックがあった場合には、ブロック
管理テーブル内の当該空きブロックに対応するビットデ
ータが”1”にセットされる(ステップ23)。また、
当該空きブロックの先頭アドレスが割り出され、割り出
された先頭アドレスの記憶エリアにブロックサイズおよ
び確保ブロック数を表すデータがセットされる(ステッ
プ24)。そして、当該空きブロックの先頭アドレスの
次のアドレスがタスク側に渡される(ステップ25)。
後述するように、必要バイト数が最大ブロックサイズ以
上のときには、最大ブロックサイズが選択されるため、
最大ブロックサイズに対する処理以外のときには、確保
ブロック数を表すデータは常に1となる。
【0016】上記ステップ22において、選択されたブ
ロックサイズのブロックに空きブロックがなかったとき
には、選択されたブロックサイズの次に大きなブロック
サイズのブロックに対して、同様な処理が行われる。こ
のようにして、最大ブロックサイズのブロックに対して
空きブロックが検索された結果、空きブロックがない場
合には、使用エリアがないとして、その旨(エラー)が
タスク側に伝えられる(ステップ26)。
【0017】要求された必要バイト数が最大ブロックサ
イズ以上のときには、ステップ21において最大ブロッ
クサイズのブロックが選択される。このような場合に
は、最大ブロックサイズに対するステップ22において
は、必要バイト数に応じた複数個の連続した空きブロッ
ク群が検索される。
【0018】必要バイト数に応じた複数個の連続した空
きブロック群が存在する場合には、ブロック管理テーブ
ル内の当該空きブロック群のそれぞれのブロックに対応
するビットデータが”1”にセットされる(ステップ2
3)。また、当該空きブロック群の先頭アドレスが割り
出され、割り出された先頭アドレスの記憶エリアにブロ
ックサイズおよび確保ブロック数を表すデータがセット
される(ステップ24)。そして、当該空きブロック群
の先頭アドレスの次のアドレスがタスク側に渡される
(ステップ25)。上記ステップ22において、必要バ
イト数に応じた複数個の連続した空きブロック群がなか
ったときには、使用エリアがないとして、その旨(エラ
ー)がタスク側に伝えられる(ステップ26)。
【0019】モニタ部から空きブロック又は空きブロッ
ク群のアドレスがタスク側に渡されると、タスク側によ
るプログラムが実行される。すなわち、モニタ部から渡
されたアドレスを含むブロック又はブロック群のメモリ
エリアを使用してプログラムが実行される(ステップ
3)。そして、プログラム実行後、使用したブロック又
はブロック群の先頭アドレスがモニタ部に返される(ス
テップ4)。
【0020】タスク側が使用したブロック又はブロック
群の先頭アドレスがタスク側からモニタ部に返される
と、タスク側から返された先頭アドレスの記憶エリアに
記憶されているブロックサイズおよび確保ブロック数に
基づいて、タスク側の使用が終了したブロック又はブロ
ック群のそれぞれのブロックに対応するブロック管理テ
ーブル内のビットデータがモニタ部によって”0”にリ
セットされる。
【0021】上記実施例によれば、タスク側がプログラ
ムを実行する時に動的に確保、解放して使用するメモリ
エリアが2種以上のサイズの異なるブロックに分割され
ており、タスク側から要求された必要バイト数に適した
サイズのブロックを確保できるので、確保したブロック
内の未使用領域を小さくすることができ、メモリエリア
の有効利用が図れる。また、タスク側から要求された必
要バイト数が最大ブロックサイズより小さい場合には、
空きブロックを1つだけ検索すればよいので、空きブロ
ック検索ための時間の短縮化が図れる。
【0022】
【発明の効果】この発明によれば、メモリエリアの有効
利用が図れかつ空きブロック検索時間の短縮化が図れ
る。
【図面の簡単な説明】
【図1】図1は、ブロック管理テーブルの内容を示す模
式図である。
【図2】図2は、メモリ管理方法を示すフローチャート
である。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 タスク側がプログラムを実行する時に動
    的に確保、解放して使用するメモリエリアをモニタ部で
    管理するメモリ管理方法において、 モニタ部は、上記メモリエリアを2種以上のサイズの異
    なるブロックに分割し、各ブロックが使用中であるか未
    使用であるかを記憶するブロック管理テーブルを有し、
    タスク側からメモリ使用要求があったときに、ブロック
    管理テーブルを用いて、要求されたメモリサイズに適し
    た小さなサイズのブロックから順に空きブロックを検索
    していき、空きブロックが見つかったときにはその空き
    ブロックを確保して当該確保ブロックに関するアドレス
    情報をタスク側に渡すとともに当該確保ブロックが使用
    中になったことをブロック管理テーブルに記憶させ、 タスク側は、モニタ部から渡された上記アドレス情報に
    基づいて上記確保ブロックを使用してプログラムを実行
    した後、使用した上記確保ブロックに関するアドレス情
    報をモニタ部に返し、 モニタ部は、タスク側から返された上記アドレス情報に
    基づいて、タスク側が使用した上記確保ブロックが空き
    ブロックになったことをブロック管理テーブルに記憶さ
    せることを特徴とするメモリ管理方法。
  2. 【請求項2】 タスク側から要求されたメモリサイズ
    が、最大サイズのブロックより大きいときには、モニタ
    部は最大サイズのブロック群のうち、要求されたメモリ
    サイズに応じた複数個の連続した空きブロック群を検索
    し、見つかった空きブロック群を確保して当該確保ブロ
    ック群に関するアドレス情報をタスク側に渡すとともに
    当該確保ブロック群のそれぞれのブロックが使用中にな
    ったことを上記ブロック管理テーブルに記憶させ、 タスク側は、モニタ部から渡された上記アドレス情報に
    基づいて上記確保ブロック群を使用してプログラムを実
    行した後、使用した上記確保ブロック群に関するアドレ
    ス情報をモニタ部に返し、 モニタ部は、タスク側から返された上記アドレス情報に
    基づいて、タスク側が使用した上記確保ブロック群のそ
    れぞれのブロックが空きブロックになったことをブロッ
    ク管理テーブルに記憶させることを特徴とする請求項1
    記載のメモリ管理方法。
JP181893A 1993-01-08 1993-01-08 メモリ管理方法 Pending JPH06208502A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP181893A JPH06208502A (ja) 1993-01-08 1993-01-08 メモリ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP181893A JPH06208502A (ja) 1993-01-08 1993-01-08 メモリ管理方法

Publications (1)

Publication Number Publication Date
JPH06208502A true JPH06208502A (ja) 1994-07-26

Family

ID=11512151

Family Applications (1)

Application Number Title Priority Date Filing Date
JP181893A Pending JPH06208502A (ja) 1993-01-08 1993-01-08 メモリ管理方法

Country Status (1)

Country Link
JP (1) JPH06208502A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08153037A (ja) * 1994-11-28 1996-06-11 Nec Corp シーケンシャル領域におけるデータ管理方式
US6910213B1 (en) 1997-11-21 2005-06-21 Omron Corporation Program control apparatus and method and apparatus for memory allocation ensuring execution of a process exclusively and ensuring real time operation, without locking computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08153037A (ja) * 1994-11-28 1996-06-11 Nec Corp シーケンシャル領域におけるデータ管理方式
US6910213B1 (en) 1997-11-21 2005-06-21 Omron Corporation Program control apparatus and method and apparatus for memory allocation ensuring execution of a process exclusively and ensuring real time operation, without locking computer system

Similar Documents

Publication Publication Date Title
JPH09330324A (ja) 並列検索技術
US6748494B1 (en) Device for controlling access to units of a storage device
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
JPH06208502A (ja) メモリ管理方法
JPH07334402A (ja) メインメモリ化データベース
JPH0329041A (ja) 分散ページング制御方式
JPH0282332A (ja) 索引ファイルのインデックス用入出力バッファ方式
JPH04219836A (ja) ブロック管理方式
JP2787107B2 (ja) バッファ制御方式及び装置
JP2604787B2 (ja) 二次元データ格納方式
JPH08249225A (ja) メモリ管理装置
JPH1069429A (ja) バッファ割当て管理装置およびバッファ割当て管理プログラム
JP2508607B2 (ja) ファイルシステム管理方法
JP2817911B2 (ja) キー付ファイルのアクセス制御方式
JPH05189299A (ja) メモリ管理装置
JPH0727531B2 (ja) ファイル制御方式
JPS61100853A (ja) デ−タ処理方式
JPH0520154A (ja) ブロツク管理方式
JPH03127137A (ja) ファイル領域割り当て方式
JPH0793192A (ja) ファイル管理方法
JPH02193232A (ja) ファイル内空き領域検索方式
JPS62160545A (ja) 直接アクセス記憶装置の未使用領域管理方式
JPH0520142A (ja) ブロツク管理方式
JPH01181121A (ja) 記憶領域割付け方式
JPS6380349A (ja) 高速ペ−ジ入出力方式