JPH03245234A - メモリ領域割り当て方法 - Google Patents

メモリ領域割り当て方法

Info

Publication number
JPH03245234A
JPH03245234A JP9040990A JP4099090A JPH03245234A JP H03245234 A JPH03245234 A JP H03245234A JP 9040990 A JP9040990 A JP 9040990A JP 4099090 A JP4099090 A JP 4099090A JP H03245234 A JPH03245234 A JP H03245234A
Authority
JP
Japan
Prior art keywords
area
size
memory
continuous
unused
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
JP9040990A
Other languages
English (en)
Inventor
Yoshiko Koizumi
善子 小泉
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 JP9040990A priority Critical patent/JPH03245234A/ja
Publication of JPH03245234A publication Critical patent/JPH03245234A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔概要〕 複数のタスクにメモリ領域を割り当てるメモリ領域割り
当て方法に関し、 簡素なダイレフトリ構成により、メモリ領域を効率的に
利用することができるようにすることを目的とし、 一定の大きさのメモリ領域全体を複数のメモリ使用要求
の各々に対応して割り当てるメモリ領域割り当て方法に
おいて、前記メモリ領域全体内において、前記複数のメ
モリ使用要求の各々に対応して割り当てられた連続する
使用中領域、および、連続する非使用中領域の各々内に
、自領域が使用中であるか、あるいは、非使用中である
かを示すフラグ領域と、自領域のサイズを示すサイズ領
域とを設け、新たなメモリ使用要求の各々に対して、該
各々のメモリ使用要求が要求するメモリ領域の大きさと
、前記メモリ領域全体内の連続する非使用領域の大きさ
とを比較して、該要求するメモリ領域の大きさを以上の
大きさの非使用領域があるならば、該メモリ使用要求に
対して、該未使用領域内に、該要求する大きさだけのメ
モリ領域を割り当て、前記割り当ての際には、前記フラ
グ領域には、使用中であることを書き込み、前記サイズ
領域には、該割り当てられたサイズを書き込み、そして
、前記連続する非使用領域の割り当てに使用された領域
の残りの連続する領域には、前記フラグ領域およびサイ
ズ領域を設け、該フラグ領域は、該残りの連続する領域
が非使用中であることを示し、前記サイズ領域には、該
残りの連続する領域のサイズを書き込むように構成する
〔産業上の利用分野〕
本発明は、複数のタスクにメモリ領域を割り当てるメモ
リ領域割り当て方法に関する。
(3) (4) マルチタスクシステム等においては、オペレーティング
システムにおいて、複数のタスクがそれぞれ使用するメ
モリ領域を管理する、言い換えれば、複数のタスクから
の要求に応じて各タスクにメモリ領域を割り当てる必要
がある。
例えば、複数の回線のデータを扱う通信制御処理装置に
おいて、各回線対応のデータを一時保持するデータバッ
ファメモリは、各回線のデータを処理するタスクからの
要求に応じて各タスクに割り当てられる。
近年のシステムの大容量化、および、複雑化に伴い、ソ
フトウェアが処理するデータ量は増加しており、限られ
た容量のメモリを効率良く分割して使用する必要がある
〔従来の技術、および発明が解決しようとする課題〕
従来のメモリ領域割り当て方法においては、第5図に示
されるように、複数のタスクで処理するデータを保持す
るべく割り当てられたメモリ領域全体を一定サイズのブ
ロックに分割して、各タスクにどのブロックが割り当て
られているかを、上記のメモリ領域とは別に設けられた
ダイレフトリ領域に記憶して管理していた。例えば、第
5図において、■、■、・・・等は、上記の一定サイズ
のブロックを識別するものである。
オペレーティングシステムは、1つのタスクからデータ
格納領域の獲得要求を受けると、第5図に示されるよう
なダイレフトリ領域内の「空ブロック」の情報に基づい
て、該タスクから要求されているデータ格納領域の大き
さを満たすに必要な個数のブロックを、該タスクに割り
当て、この割り当てられたブロックの識別情報を、ダイ
レフトリ領域内の該タスクの領域に書き込む。また、1
つのタスクにおけるデータ格納領域(割り当てられてい
たブロック)の使用が終了すると、該データ格納領域を
解放すべく、上記のダイレフトリ領域内に記憶していた
割り当てられていたブロックの識別情報を、ダイレフト
リ領域内の空ブロック領域に移す。
(5) (6) しかしながら、上記のような、従来のメモリ領域割り当
て方法においては、個々のブロックのサイズを小さくす
ると、1つのタスクに割り当てるブロック数が多くなる
ため、ダイレフトリ領域に保持する情報量が多くなり、
グイレフトリの読み出し書込み処理に時間がかかり、逆
に、個々のブロックのサイズを大きくとると、第5図に
示されるように(第5図においては、各ブロック中で実
際にタスクが必要とする領域には、斜線を施して示して
いる)、ブロック中の未使用の領域が大きくなり、メモ
リの使用効率が低下するという問題があった。
本発明は、上記の問題点に鑑み、なされたもので、簡素
なグイレフトリ構成により、メモリ領域を効率的に利用
することができるメモリ領域割り当て方法を提供するこ
とを目的とするものである。
〔課題を解決するための手段〕
本発明によるメモリ領域割り当て方法においては、 (1)一定の大きさのメモリ領域全体を複数のメモリ使
用要求の各々に対応して割り当てる際には、要求される
領域の大きさ以上の空き領域(使用していない領域)が
有れば、その中から、連続する領域を割り当てる。
(2)第1図に示されるように、上記のようにして割り
当てられた連続する使用中領域、および、連続する非使
用中領域の各々3..32.33内に、自領域が使用中
であるか、あるいは、非使用中であるかを示すフラグ領
域11,12,1.と、自領域のサイズを示ずサイズ領
域21,2□、23とを設ける。
(3)上記の割り当ての際には、前記フラグ領域には、
使用中であることを書き込み、前記サイズ領域には、該
割り当てられたサイズを書き込む。
(4)前記連続する非使用領域の割り当てに使用された
領域の残りの連続する領域には、前記フラグ領域および
サイズ領域を設け、該フラグ領域は、該残りの連続する
領域が非使用中であることを示し、前記サイズ領域には
、該残りの連続する領域(7) (8) のサイズを書き込む。
さらに、前記連続する使用中領域の各々に対して、メモ
リ使用要求が新たになくなった場合は、(5)上記のメ
モリ使用要求が新たになくなった連続する使用中領域の
直前、および、直後の連続する領域が、それぞれ、使用
中か否かを判定し、(6)(5)において、非使用の連
続する領域がないならば、前記メモリ使用要求が新たに
なくなった連続する領域を新たな連続する非使用領域と
して前記フラグ領域と前記サイズ領域とを設定し、(7
)(5)において、非使用の連続する領域があるならば
、前記メモリ使用要求が新たになくなった連続する領域
を該非使用の連続する領域と連結して新たな1つの連続
する非使用領域として前記フラグ領域と前記サイズ領域
とを設定する。
〔作用〕
本発明によるメモリ領域割り当て方法においては、複数
のメモリ使用要求の各々に対応して連続する領域を割り
当てるので、従来のブロック分割による場合のように、
割り当てられたブロック中の未使用の領域が大きくなっ
てメモリの使用効率を低下させるという問題がなくなる
さらに、ダイレフトリ領域を別に設ける必要もないので
、この点でもメモリの使用効率を向上させる。
〔実施例〕
本発明の実施例においては、第1図に示されるように、
複数のメモリ使用要求の各々に対応して割り当てられた
使用中の連続するメモリ領域、および、使用されていな
い連続するメモリ領域の各々3..32,3.の先頭に
は、それぞれ、自領域が使用中であるか、あるいは、非
使用中であるかを示すフラグ領域13,1□、13と、
自領域のサイズを示すサイズ領域2..2..23とが
設けられている。そして、メモリ領域全体の最後には、
ボトムマークが記されている。
第2図は、本発明の実施例におけるメモリ領域獲得処理
手順を示すものである。
(9) (10) 第2図において、ステップ11において、メモリ領域全
体の先頭アドレスをポインタにセットし、ステップ12
において、ポインタが示す領域が使用中か否かを判断し
、使用中でなければステップ13に進み、使用中であれ
ばステップ14に進む。
ステップ13においては、該領域のサイズが獲得したい
領域のサイズ以上か否かを判断し、以上であればステッ
プ17に進み、以上でなければステップ14に進む。
ステップ17においては、上記の判断の対象となった領
域の先頭のフラグ領域に、使用中であることを示す#1
”をセットする。そして、続くサイズ領域に、獲得した
い領域のサイズを書き込み、上記のポインタ値と、該獲
得したい領域のサイズに基づいて、上記の判断の対象と
なった領域から獲得した領域の残りの空き領域の先頭ア
ドレスと、該空き領域のサイズを求め、その先頭にフラ
グ領域とサイズ領域とを設けて、フラグ領域に非使用を
示す“0”をセットし、サイズ領域に該残りの空き領域
のサイズを書き込む。そして、ステップ18にて、要求
されたメモリ領域が獲得されたことを通知する。
他方、ステップ14においては、上記の判断の対象とな
った領域のサイズを前記ポインタ値に加算して、新たな
ポインタ値とする。ステップ16においては、ポインタ
値のアドレスにボトムマークが示されているか否かを判
断し、ボトムマークが示されていれば、ステップ16に
て獲得失敗を通知し、ボトムマークが示されていなけれ
ば、ステップ12に戻る。
第3図は、本発明の実施例におけるメモリ領域解放処理
手順を示すものである。
第3図の手順においては、ステップ21において、メモ
リ領域全体の先頭アドレスを第1のポインタP1にセッ
トし、ステップ22において、第1のポインタP1が示
す領域が解放しようとする領域か否かを判断し、解放し
ようとする領域でなければステップ23に進み、解放し
ようとする領域であればステップ28に進む。
ステップ28においては、解放したい領域のフ(11) (12) ラグ領域に非使用を示す“0”をセットし、ステップ2
9で、上記の解放したい領域に続く領域が使用中領域か
否かを判断し、使用中領域ならば処理を終了し、上記の
解放したい領域に続く領域が使用中でなければステップ
30に進んで、解放したい領域を含む連続する領域のサ
イズ領域に示された値に、上記の続く領域のサイズ領域
に示された値を加算して、解放したい領域を含む連続す
る領域のサイズ領域のサイズ領域に書き込み、上記の続
く領域のフラグ領域およびサイズ領域を解消してデータ
領域の一部に解放して、これら解放したい領域を含む連
続する領域のサイズ領域、および、続く領域を連結して
1つの非使用(空)領域として処理を終了する。
ステップ23では、上記の第1のポインタP1が示す領
域のサイズ領域に示されるエリアサイズに基づいて次の
領域の先頭アドレスを求め、上記の第1のポインタP1
の値に加算して、これを第2のポインタP2にセットす
る。そして、ステップ24において、上記の第2のポイ
ンタP2が示す領域が解放しようとする領域か否かを判
断し、解放しようとする領域でなければステップ25に
進み、解放しようとする領域であればステップ26に進
む。
ステップ26においては、上記の第1のポインタP1が
示す領域が非使用中〈空)領域か否かを判断し、使用中
領域であるならば、ステップ28に進み、非使用中(空
)領域であるならば、ステップ27において、第1のポ
インタP1が示す領域のサイズ領域に示された値に、第
2のポインタP2が示す領域のサイズ領域に示された値
を加算して、第1のポインタP1が示す領域のサイズ領
域に書き込み、第1のポインタP1が示す領域のフラグ
領域に、非使用を示す“0”をセットし、上記の第2の
ポインタP2が示す領域のフラグ領域およびサイズ領域
を解消してデータ領域の一部に解放する。こうして、第
1のポインタP1が示す領域と第2のポインタP2が示
す領域とを連結して1つの非使用(空)領域とする。そ
して、ステップ29に進む。
(13) (14) ステップ25では、第2のポインタP2値を第1のポイ
ンタPl値として書き込んで、ステップ23に進む。
第4図は、以上説明した手順に従う、メモリ領域の獲得
、および解放の具体例を示すものである。
先ず、初期状態■においては、メモリ領域全体が1つの
連続した非使用領域であり、メモリ領域全体の先頭のフ
ラグ領域に、非使用を示す0”がセットされ、続くサイ
ズ領域には、メモリ領域全体で使用可能なサイズZが示
され、メモリ領域全体の最後尾にはボトムマークが記さ
れている。
ここで、第1のタスクからサイズAのメモリ領域の獲得
要求がある場合、前述の第2図の手順により、■の空領
域のサイズZが要求されるサイズA以上であれば、■の
空領域のフラグ領域に使用中を示す“1″をセットし、
続くサイズ領域にはサイズAを書き込む。こうして、■
の空領域の先頭からサイズAの領域(可変長のブロック
)が上記のタスクに割り当てられる。そして、上記のサ
イズAの領域をとった残りの領域の先頭にフラグ領域と
サイズ領域とを設けて、フラグ領域に非使用中を示す“
0”をセットし、続くサイズ領域に残りの領域のサイズ
Y=Z−Aを書き込む(■)。
次に、第2のタスクからサイズBのメモリ領域の獲得要
求がある場合、前述の第2図の手順により、■の空領域
のサイズYが要求されるサイズ3以上であれば、■の空
領域のフラグ領域に使用中を示す“1”をセットし、続
くサイズ領域にはサイズBを書き込む。こうして、■の
空領域の先頭からサイズBの領域(可変長のブロック)
が上記のタスクに割り当てられる。そして、上記のサイ
ズBの領域をとった残りの領域の先頭にフラグ領域とサ
イズ領域とを設けて、フラグ領域に非使用中を示す“0
”をセットし、続くサイズ領域に残りの領域のサイズX
=Y−Bを書き込む(■)。
その後、上記の第1のタスクからサイズAのメモリ領域
の使用終了の通知がある場合、第3図の手順によって、
■のサイズAの領域の次の領域が使用中であることによ
り、■のサイズAの領域のフラグ領域に非使用中を示す
“0”をセットする。
(15) (16) コラして、■のサイズAの領域のフラグ領域ハ解放され
る(■)。
その後、さらに、上記の第2のタスクからサイズBのメ
モリ領域の使用終了の通知がある場合、第3図の手順に
よって、■のサイズBの領域の前の領域が非使用(空)
であり、次の領域も非使用(空)であることにより、■
のサイズへの領域(前の非使用(空)領域)、および、
■のサイズXの領域(次の領域)も非使用(空)領域を
■のサイズBの領域に連結した1つの空領域とするため
に、■のサイズAの領域のサイズ領域に、A十B+X=
Zをサイズとして書き込み、■のサイズBの領域、およ
び、■のサイズXの領域各々のフラグ領域とサイズ領域
とを解消してデータ領域の一部に解放する。こうして、
全てのメモリ領域が解放された(■)。
〔発明の効果〕
本発明のメモリ領域割り当て方法によれば、簡素なダイ
レフトリ構成により、メモリ領域を効率的に利用するこ
とができるようにすることができる。
【図面の簡単な説明】
第1図は本発明による割り当てられたメモリ領域の構成
を示す図、 第2図は本発明の実施例の構成図におけるメモリ領域獲
得処理手順を示す図、 第3図は本発明の実施例の構成図におけるメモリ領域解
放処理手順を示す図、 第4図は、第2図および第3図の手順に従う、メモリ領
域の獲得、および解放の具体例を示す図、そして、 第5図は、従来のメモリ領域割り当て方法を示す図であ
る。 〔符号の説明〕 11.12.1−・・・フラグ領域、 21.22.23・・・サイズ領域、 3、.32.33・・・割り当てられた領域。 (17) (18) 特開平3−245234 (7) ■初期状態 ■サイズAのバノブアを獲得する 従来のメモリ領域割り当て方法を示す図−261=

Claims (1)

  1. 【特許請求の範囲】 1、一定の大きさのメモリ領域全体を複数のメモリ使用
    要求の各々に対応して割り当てるメモリ領域割り当て方
    法において、 前記メモリ領域全体内において、前記複数のメモリ使用
    要求の各々に対応して割り当てられた連続する使用中領
    域、および、連続する非使用中領域の各々(3_1、3
    _2、3_3)内に、自領域が使用中であるか、あるい
    は、非使用中であるかを示すフラグ領域(1_1、1_
    2、1_3)と、自領域のサイズを示すサイズ領域(2
    _1、2_2、2_3)とを設け、新たなメモリ使用要
    求の各々に対して、該各々のメモリ使用要求が要求する
    メモリ領域の大きさと、前記メモリ領域全体内の連続す
    る非使用領域の大きさとを比較して、該要求するメモリ
    領域の大きさを以上の大きさの非使用領域があるならば
    、該メモリ使用要求に対して、該未使用領域内に、該要
    求する大きさだけのメモリ領域を割り当て、前記割り当
    ての際には、前記フラグ領域には、使用中であることを
    書き込み、前記サイズ領域には、該割り当てられたサイ
    ズを書き込み、そして、前記連続する非使用領域の割り
    当てに使用された領域の残りの連続する領域には、前記
    フラグ領域およびサイズ領域を設け、該フラグ領域は、
    該残りの連続する領域が非使用中であることを示し、前
    記サイズ領域には、該残りの連続する領域のサイズを書
    き込むことを特徴とするメモリ領域割り当て方法。 2、前記連続する使用中領域の各々に対して、メモリ使
    用要求が新たになくなった場合は、該連続する使用中領
    域の直前、および、直後の連続する領域が、それぞれ、
    使用中か否かを判定し、非使用の連続する領域がないな
    らば、前記メモリ使用要求が新たになくなった連続する
    領域を新たな連続する非使用領域として前記フラグ領域
    と前記サイズ領域とを設定し、 非使用の連続する領域があるならば、前記メモリ使用要
    求が新たになくなった連続する領域を該非使用の連続す
    る領域と連結して新たな1つの連続する非使用領域とし
    て前記フラグ領域と前記サイズ領域とを設定する請求項
    1記載のメモリ領域割り当て方法。
JP9040990A 1990-02-23 1990-02-23 メモリ領域割り当て方法 Pending JPH03245234A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9040990A JPH03245234A (ja) 1990-02-23 1990-02-23 メモリ領域割り当て方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9040990A JPH03245234A (ja) 1990-02-23 1990-02-23 メモリ領域割り当て方法

Publications (1)

Publication Number Publication Date
JPH03245234A true JPH03245234A (ja) 1991-10-31

Family

ID=12595866

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9040990A Pending JPH03245234A (ja) 1990-02-23 1990-02-23 メモリ領域割り当て方法

Country Status (1)

Country Link
JP (1) JPH03245234A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282459A (ja) * 1992-09-24 1994-10-07 Internatl Business Mach Corp <Ibm> データ処理システム及びデータ処理方法
JP2018509683A (ja) * 2015-02-18 2018-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メモリの外部断片化の原因を決定するための方法、システム、コンピュータ・プログラム製品およびコンピュータ・プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06282459A (ja) * 1992-09-24 1994-10-07 Internatl Business Mach Corp <Ibm> データ処理システム及びデータ処理方法
JP2018509683A (ja) * 2015-02-18 2018-04-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メモリの外部断片化の原因を決定するための方法、システム、コンピュータ・プログラム製品およびコンピュータ・プログラム

Similar Documents

Publication Publication Date Title
JPH07175698A (ja) ファイルシステム
JPH02227763A (ja) データ転送制御システム
CN109308269B (zh) 一种内存管理方法及装置
US10649967B2 (en) Memory object pool use in a distributed index and query system
CN118897737B (zh) 内存分配方法及装置
JPH03245234A (ja) メモリ領域割り当て方法
CN117724991B (zh) 嵌入式系统的动态内存管理方法、系统、终端及存储介质
CN107861887A (zh) 一种串行易失性存储器的控制方法
JPS6016661B2 (ja) 主メモリ割付方式
JP3542894B2 (ja) ファイルシステム
CN120653439B (zh) 一种操作系统动态分配的内存管理方法及储存介质
JPH03138737A (ja) 大規模ファイル作成装置
JPH08115171A (ja) 計算機システム
JP3022829B2 (ja) 記憶装置の自動割り当て装置
JPH09326832A (ja) 共用バッファ装置及びその制御方法
JPH1069429A (ja) バッファ割当て管理装置およびバッファ割当て管理プログラム
JPS62287349A (ja) 論理セクタビツトマツプによる大容量記憶装置の空間割当て制御方法
JPS61279968A (ja) パツフア管理方法
CN117667764A (zh) 内存管理方法、装置、电子设备及存储介质
CN114281721A (zh) 有限资源系统内外存实时置换机制及映射管理方法
JPS5817587A (ja) 主メモリの空領域管理装置
JPS6162152A (ja) 記憶装置の空き領域管理方式
JPS6358555A (ja) フアイルスペ−ス管理方式
JPS63192126A (ja) デ−タセツトのスペ−ス管理処理方式
JPH01220023A (ja) 二次記憶装置の集中管理方式