[go: up one dir, main page]

JP2007249708A - メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法 - Google Patents

メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法 Download PDF

Info

Publication number
JP2007249708A
JP2007249708A JP2006073540A JP2006073540A JP2007249708A JP 2007249708 A JP2007249708 A JP 2007249708A JP 2006073540 A JP2006073540 A JP 2006073540A JP 2006073540 A JP2006073540 A JP 2006073540A JP 2007249708 A JP2007249708 A JP 2007249708A
Authority
JP
Japan
Prior art keywords
area
address
allocation
request
threshold
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.)
Granted
Application number
JP2006073540A
Other languages
English (en)
Other versions
JP4758794B2 (ja
Inventor
Masaaki Tachibana
昌明 立花
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 JP2006073540A priority Critical patent/JP4758794B2/ja
Priority to US11/449,997 priority patent/US7447864B2/en
Publication of JP2007249708A publication Critical patent/JP2007249708A/ja
Application granted granted Critical
Publication of JP4758794B2 publication Critical patent/JP4758794B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

【課題】本発明では、要求の対象となる対象情報に空き領域を効率良く割り当てることを目的とする。
【解決手段】メモリ領域の空き領域に対象情報を割り当てるメモリ領域割り当て制御装置1は、空き領域にその対象情報を割り当てる旨の要求を取得して(2)、その割り当て要求に基づいて、閾値アドレスを超えない範囲の領域についてベストフィット方式により前記空き領域を検索し、該検索した領域に該空き領域がなければ該閾値アドレス以降の領域をファーストフィット方式で検索し(4)、その検索された前記空き領域に前記対象情報を割り当てる割り当て(8)、その割り当て後の対象情報の格納領域の最終アドレスを閾値アドレスとして設定する(9)ことにより、上記課題の解決を図る。
【選択図】図1

Description

本発明は、情報処理システムにおけるメモリの領域割り当て方式に関する。
OS(オペレーションシステム)やアプリケーションプログラム、割り込み(外部割り込み、例外割り込み、命令割り込み)等からの要求に応じて、データやプログラム等をメモリ空間の空き領域に割り当てる方法(領域割り当て方式)として、最初に割り当て可能なメモリ空間が見つかればそのメモリ空間を割り当てるファーストフィット方式、及び全ての空き領域を調べて必要なメモリに最適な空き領域を割り当てるベストフィット方式がよく知られている。
例えば、特許文献1では、内部メモリの空き領域の断片化を最小に抑えてメモリ管理の効率化を図るために、データ領域を2極に分化して領域の割り当てを行っている。その際の手法として、ベストフィットモードを用いる方法と、ファーストフィットモードを用いる方法が開示されている。
図9は、ベストフィット方式を説明するための図である。同図は、使用領域100b,100d,100fと空き領域100a,100c,100eとが混在するメモリ配置の概念図である。ベストフィット方式とは、要求サイズに最も近い空き領域を割り当てる方式のことである。要求サイズとは、上述の要求に応じて、空き領域に割り当てられるデータやプログラム等のサイズ(大きさ)のことである。
同図では、メモリ100に対して、割り当て対象のデータ101を割り当てる例を示している。メモリ100の下方から上方に向かって検索を行う。全ての領域を検索後、空き領域100a,100c,100eが見つかる。そのうち、割り当て対象のデータ101を格納できるサイズの十分な空き領域のうち、もっとも小さい空き領域100cにデータ100が割り当てられる。
この方式を用いることにより、領域の分断化(フラグメンテーション)を抑止し、領域を効率良く割り当てることができる。
図10は、ファーストフィット方式を説明する図である。同図は、使用領域100b,100d,100fと空き領域100a,100c,100eとが混在するメモリ配置の概念図である。ファーストフィット方式とは、アドレス順に並んだ空き領域の中で最初に要求長(要求サイズ)を満たす領域を割り当てる方式である。
同図では、メモリ100に対して、割り当て対象のデータ101を割り当てる例を示している。メモリ100の下方から上方に向かって検索を行う。最初に見つかった、割り当て対象のデータ101を格納できるサイズの十分な空き領域100aに、データ100が割り当てられる。
この方式は、検索スピード重視の割り当て方式である。このファーストフィット方式は、検索開始方向に近い空き領域を割り当てる特性を有する。したがって、検索方向を低/高両方向から行える仕組みを備えることで、目的に応じて使用領域を分けることができ、領域破壊を防止することができる。
特開平5−324431号公報
上述の通り、特許文献1では、使用する用途によって上位領域あるいは下位領域から割り当て可能な空き領域をファーストフィットモードまたはベストフィットモードにより検索している。
しかしながら、ファーストフィットモードの場合、必要なメモリ空間に比べて大きなメモリ空間が割り当てられることがあり、使用する領域の効率に問題があった。また、ベストフィットモードの場合、一旦空き領域を全て確認するので、時間が掛かるという問題があった。
さらに、メモリ空間において、プログラム等を格納するための領域とデータ等を格納するための領域が混在して配置されると、領域サイズ、寿命等による情報の性質の相違の観点から、メモリの使用効率が低下する問題があった。特許文献1では、2極に分化して領域を割り当てているが、空き領域が歯抜け状に存在する問題があった。
このように、従来技術には、メリット/デメリットが相反しており、両方のメリットを生かした割り当て方法が無かった。
そこで、上記課題に鑑み、本発明では、要求の対象となる対象情報に空き領域を効率良く割り当てることを目的とする。さらに、本発明では、目的に応じて使用領域を分けることを目的とする。
本発明にかかる、メモリ領域の空き領域に対象情報を割り当てるメモリ領域割り当て制御装置は、前記空き領域に前記対象情報を割り当てる旨の要求を取得する割り当て要求取得手段と、閾値としてのアドレスが格納される閾値アドレス格納手段と、前記割り当て要求に基づいて、前記閾値アドレス格納手段に格納された閾値アドレスを超えない範囲の領域についてベストフィット方式により前記空き領域を検索し、該検索した領域に該空き領域がなければ該閾値アドレス以降の領域をファーストフィット方式で検索する空き領域検索手段と、前記空き領域検索手段により検索された前記空き領域に前記対象情報を割り当てる割り当て手段と、前記割り当て手段により割り当てられた前記対象情報の割り当て後の領域の最終アドレスを前記閾値アドレスとして前記閾値アドレス格納手段に設定する閾値アドレス設定手段と、を備えることを特徴とする。
このように構成することにより、効率よく要求の対象となっている情報を空き領域へ割り当てることができる。
前記メモリ領域割り当て制御装置は、さらに、前記割り当て要求取得手段により取得した前記割り当て要求が前記メモリの一端側へ前記対象情報を格納する旨の要求である第1の割り当て要求であるか、または他端側に該対象情報を格納する旨の要求である第2の割り当て要求であるかを判定する検索方向判定手段を備えることを特徴とする。
このように構成することにより、目的に応じて割当て箇所を分けることができる。
前記メモリ領域割り当て制御装置において、前記閾値アドレス設定手段は、前記割り当て手段により割り当てられた前記対象情報の割り当て後の領域の最終アドレスが前記閾値アドレスを越えている場合、前記最終アドレスを閾値アドレスとして前記閾値アドレス格納手段に格納することを特徴とする。
このように構成することにより、既に割り当てたことのある領域(現在割り当て済みの領域も含む)の最終アドレスを閾値アドレスとして設定することができる。
本発明にかかる、メモリ領域の空き領域に対象情報を割り当てるメモリ管理処理を、コンピュータに実行させるメモリ領域割り当て制御プログラムは、前記空き領域に前記対象情報を割り当てる旨の要求を取得する割り当て要求取得処理と、前記割り当て要求に基づいて、閾値としての所定のアドレスである閾値アドレスを超えない範囲の領域についてベストフィット方式により前記空き領域を検索し、該検索した領域に該空き領域がなければ該閾値アドレス以降の領域をファーストフィット方式で検索する空き領域検索処理と、前記空き領域検索処理により検索された前記空き領域に前記対象情報を割り当てる割り当て処理と、前記割り当て処理により割り当てられた前記対象情報の割り当て後の領域の最終アドレスを前記閾値アドレスとして設定する閾値アドレス設定処理と、を、コンピュータに実行させる。
このように構成することにより、効率よく要求の対象となっている情報を空き領域へ割り当てることができる。
本発明にかかる、メモリ領域の空き領域に対象情報を割り当てるメモリ領域割り当て制御方法は、前記空き領域に前記対象情報を割り当てる旨の要求を取得し、前記割り当て要求に基づいて、閾値としての所定のアドレスである閾値アドレスを超えない範囲の領域についてベストフィット方式により前記空き領域を検索し、該検索した領域に該空き領域がなければ該閾値アドレス以降の領域をファーストフィット方式で検索し、前記検索された前記空き領域に前記対象情報を割り当て、前記割り当てられた前記対象情報の割り当て後の領域の最終アドレスを前記閾値アドレスとして設定することを特徴とする。
このように構成することにより、効率よく要求の対象となっている情報を空き領域へ割り当てることができる。
本発明を用いることにより、領域を効率良く割り当てるとともに、目的に応じて割当て箇所を分けることで、データ破壊等の防止が可能となる。
本発明の概要は次のようである。メモリ空間を必要とする用途に応じて、上位領域あるいは下位領域のいずれからメモリを割り当てるかを判断する。そして、その上位または下位領域から所定の領域(既に割り当てたことのある領域)までは、ベストフィットモードで割り当て可能な領域を探す。そして、その上位または下位領域からその領域までの間で割り当て可能な領域が見つからなければ、それ以降はファーストフィットモードに切り替えて割り当て可能な領域を検索する。
図1は、本発明にかかるメモリ領域割り当て制御装置の構成概念図を示す。メモリ領域割り当て制御装置1は、メモリ領域の空き領域に対象情報(例えば、プログラム、データ等)を割り当てる装置である。メモリ領域割り当て制御装置1は、割り当て要求取得手段2、検索方向判定手段3、空き領域検索手段4、割り当て手段8、閾値アドレス設定手段9、閾値アドレス格納手段10から構成される。
割り当て要求取得手段2は、メモリの空き領域に対象情報を割り当てる旨の要求(割り当て要求)を取得する。閾値アドレス格納手段10には、所定のアドレス(閾値アドレス)が格納される。
検索方向判定手段3は、割り当て要求取得手段2により取得した割り当て要求がメモリの一端側(例えば、高アドレス側)へ前記対象情報を格納する旨の要求(第1の割り当て要求)であるか、または他端側(例えば、低アドレス側)に対象情報を格納する旨の要求(第2の割り当て要求)であるかを判定する。
空き領域検索手段4は、割り当て要求に基づいて、閾値アドレスを超えない範囲の領域についてベストフィット方式により空き領域を検索し、その検索した範囲に該空き領域がなければ閾値アドレス以降の領域をファーストフィット方式で検索する。
空き領域検索手段4は、検索切り替え手段5、ベストフィット検索手段6、ファーストフィット検索手段7を備えている。ベストフィット検索手段6は、ベストフィット方式により空き領域を検索する。ファーストフィット検索手段7は、ファーストフィット方式により空き領域を検索する。検索切り替え手段5は、割り当て要求に基づいて、閾値アドレスを超えない範囲の領域についてベストフィット検索手段を駆動させ、この閾値アドレスを超えるとファーストフィット検索手段7を駆動させる。
また、空き領域検索手段4は、検索方向判定手段3により第1の割り当て要求であると判定された場合、例えば高アドレス側から低アドレス側へ向かって空き領域の検索を行う。また、空き領域検索手段4は、例えば、検索方向判定手段4により第2の割り当て要求であると判定された場合、例えば低アドレス側から高アドレス側へ向かって空き領域の検索を行う。
割り当て手段8は、空き領域検索手段4により検索された空き領域に対象情報を割り当てる。
閾値アドレス設定手段9は、割り当て手段8により割り当てられた対象情報の割り当て後の領域の最終アドレスが閾値アドレスを越えている場合、その最終アドレスを閾値アドレスとして閾値アドレス格納手段10に格納する。
つまり、高アドレス側から低アドレス側へ向かって空き領域の検索がされて対象情報に領域が割り当てられた場合、閾値アドレス設定手段9は、その対象情報の割り当て後の領域の最低位アドレスが閾値アドレスよりも低アドレスである場合、その最低位アドレスを閾値アドレスとして閾値アドレス格納手段10に格納する。
また、低アドレス側から高アドレス側へ向かって空き領域の検索がされて対象情報に領域が割り当てられた場合、閾値アドレス設定手段9は、その対象情報の割り当て後の領域の最高位アドレスが閾値アドレスよりも高アドレスである場合、その最高位アドレスを閾値アドレスとして閾値アドレス格納手段10に格納する。
このように本発明によれば、空き領域を、低アドレス/高アドレスの両方から検索する仕組みを備え、低アドレス側から割り当てた場合の最も高いアドレスと、高アドレス側から割り当てた場合の最も低いアドレスを記憶する。
空き領域の検索時には、その記憶しているアドレスまでの範囲をベストフィット方式で検索し、それ以降をファーストフィット方式で検索(割り当て)を行うようにする。
図2は、本実施形態における領域割り当て方式を説明するためのメモリ配置の概念図である。本実施形態において、一例として、メモリ領域の低アドレス側寄りにはプログラムを格納し、メモリ領域の高アドレス側寄りにデータを格納することにする。
このように、メモリ空間において、プログラム等を格納するための領域とデータを格納するための領域を二極(高アドレス側と低アドレス側)に分化させるのは、サイズ、寿命等の性格が異なるメモリ領域の混在を回避するためである。
大きさの観点からは、それぞれ同程度の大きさによりメモリ領域の獲得が行われるので、メモリの解放、獲得を繰り返してもメモリの断片化は最小に抑えられている。また、寿命の観点から考えても、異なるメモリ領域の混在を許せば、寿命の短い方のメモリ領域は長い方のメモリ領域の間で解放、獲得を繰り返さなければならず、この観点からも二極化によりメモリの断片化を抑えられる。
また、このように、目的に応じて割り当て箇所を変えることで、領域破壊の防止が可能となる。例えば、高アドレス側にデータ領域、低アドレス側にプログラム領域を配置することで、データ領域への不当書き込みによるプログラム領域の破壊を防止できる。
それでは、同図について説明する。図2における記号は、次の内容を示す。
H:高アドレス側(X’FFFFFFFF’番地)
L:低アドレス側(X’00000000’番地)
HE:高アドレスからの割り当て要求
LE:低アドレスからの割り当て要求
HE要求最低位アドレス:高アドレスから割り当てた最も低いアドレス(番地)
LE要求最高位アドレス:低アドレスから割り当てた最も高いアドレス(番地)
低アドレスからの割り当て要求(LE)を例に説明する。なお、空き領域に割り当てる対象となるプログラムを対象プログラムという。低アドレス側から空き領域を検索してその領域を対象プログラムに割り当てるという要求(LE)があると、低アドレス側(L)から高アドレス側(H)へ向かって検索する。
このとき、低アドレス側(L)からLE要求最高位アドレスまでの範囲では、要求長に最も近い空き領域をその対象プログラムに割り当てる(ベストフィット)。これにより、分断化を抑止することができる。
その「LE要求最高位アドレス」を超えた(そこまでの範囲で要求長を満たす空き領域が存在しない)場合は、最初に要求長を満たす空き領域をその対象プログラムに割り当てる(ファーストフィット)。
これにより、低アドレス側から空き領域を検索してその領域を対象プログラムに割り当てるという要求を満たすことができる。さらに、低アドレスからの割り当て領域と、高アドレスからの割り当て領域の混在を抑止することができるので、領域破壊防止につながる。
次に、高アドレスからの割り当て要求(HE)を例に説明する。なお、空き領域に割り当てる対象となるデータを対象データという。高アドレス側から空き領域を検索して領域をその対象データに割り当てるという要求(HE)があると、高アドレス側(H)から低アドレス側(L)へ向かって検索する。
このとき、高アドレス側(H)から「HE要求最低位アドレス」までの範囲では、要求長に最も近い空き領域をその対象データに割り当てる(ベストフィット)。これにより、分断化を抑止することができる。
その「HE要求最低位アドレス」を超えた(そこまでの範囲で要求長を満たす空き領域が存在しない)場合は、最初に要求長を満たす空き領域をその対象データに割り当てる(ファーストフィット)。
これにより、高アドレス側から空き領域を検索してその領域をその対象データに割り当てるという要求を満たすことができる。さらに、高アドレスからの割り当て領域と、低アドレスからの割り当て領域の混在を抑止することができるので、領域破壊防止につながる。
次に、図3A及び図3Bを用いて、HE要求最低位アドレス及びLE要求最高位アドレスの設定について説明する。
図3Aは、本実施形態における初期設定時のLE要求最高位アドレスを示す。図3Bは、本実施形態における領域割り当て時のLE要求最高位アドレスを示す。例えば、LE要求の場合、初期設定時では、LE要求最高位アドレスには、初期値としてメモリ領域の低アドレスが設定されている。図3Aでは、LE要求最高位アドレスの初期値として「X’00000000’」が格納されている。
それから、割り当て要求(LE)があり、その要求に対して空き領域を対象プログラムに割り当てた場合、その割り当てた領域の高アドレスA1とLE要求最高位アドレスA2を比較する。その比較の結果、現在割り当てたアドレスA1の方が高アドレスとなった場合に、LE要求最高位アドレスをその割り当て領域の高アドレスA1で更新する。
なお、その比較の結果、現在割り当てたアドレスの方がLE要求最高位アドレスより低アドレスの場合(歯抜け領域を割り当て)は、LE要求最高位アドレスは更新しない。
HE要求の場合は、この逆となる。つまり、HE要求の場合、初期設定時では、HE要求最低位アドレスには、初期値としてメモリ領域の高アドレスが設定されている。図2では、HE要求最低位アドレスの初期値として「X’FFFFFFFF’」が格納されている。
それから、割り当て要求(HE)があり、その要求に対して空き領域を対象データに割り当てた場合、割り当てた領域の低アドレスA1とHE要求最低位アドレスA2を比較する。その比較の結果、現在割り当てたアドレスA1の方が低アドレスとなった場合に、HE要求最低位アドレスをその割り当て領域の低アドレスA1で更新する。
なお、その比較の結果、現在割り当てたアドレスの方がHE要求最低位アドレスより高アドレスの場合(歯抜け領域を割り当て)は、HE要求最低位アドレスは更新しない。
このように、HE要求最低位アドレス及びLE要求最高位アドレスは、領域割り当て時に変動する。
図4は、本実施形態における高アドレス側からの割り当て要求(HE)及び低アドレスからの割り当て要求(LE)の様子を示す。同図に示すように、HE要求の場合には、H側(高アドレス側)からL側(低アドレス側)に向かって、空き領域に対象データが割り当てられていく。このとき、HE要求最低位アドレスには、割り当て済み領域(過去に割り当てたことのある領域も含む)のうちの最低位のアドレスが格納される。
また、LE要求の場合には、L側(低アドレス側)からH側(高アドレス側)に向かって、空き領域に対象プログラムが割り当てられていく。このとき、LE要求最高位アドレスには、割り当て済み領域(過去に割り当てたことのある領域も含む)のうちの最高位のアドレスが格納される。
このように、HE要求最低位アドレスおよびLE要求最高位アドレスは、領域割り当て時に割り当て済み領域が積み重ねられることに伴って、更新されていく。このため、HE要求最低位アドレスとLE要求最高位アドレスが交差するまでは、HE要求最低位アドレスとLE要求最高位アドレスとの間の領域は、空き領域となる。
図5は、本実施形態におけるHE要求最低位アドレス及びLE要求最高位アドレスの決定フローを示す。当該フローは、情報処理装置の制御部により実行される。当該制御部は、割り当て要求を受信すると、以下の処理を実行する。なお、HE要求最低位アドレスの初期値は、X’FFFFFFFF’とし、LE要求最高位アドレスの初期値は、X’00000000’とする。
まず、割り当て要求がHEか否かが判断される(ステップ1。以下、ステップを「S」と称する)。割り当て要求がHEの場合(S1で「Y」へ進む)、高アドレス側(H)から空き領域が検索される(S2)。S2の詳細な説明は後述する。
次に、S2で割り当てた領域の最低位アドレスを変数Xに格納する(S3)。HE要求最低位アドレスを変数Yに格納する(S4)。
次に、変数Xと変数Yを比較する(S5)。「X<Y」の場合(S5で「Y」へ進む)、すなわち、割り当てた領域の最低位アドレスがHE要求最低位アドレスを超えた場合、変数Xの値(割り当てた領域の最低位アドレス)をHE要求最低位アドレスに格納する(S6)。
なお、「X≧Y」(S5で「N」へ進む)の場合、すなわち、割り当てた領域の最低位アドレスがHE要求最低位アドレスを超えない場合、特に処理はされない(HE要求最低位アドレスには、そのままの値が保持される)。
さて、S1で割り当て要求がLEの場合(S1で「N」へ進む)、低アドレスから空き領域が検索される(S7)。S7の詳細な説明は後述する。
次に、S7で割り当てた領域の最高位アドレスを変数Xに格納する(S8)。LE要求最高位アドレスを変数Yに格納する(S9)。
次に、変数Xと変数Yを比較する(S10)。「X>Y」の場合(S10で「Y」へ進む)、すなわち、割り当てた領域の最高位アドレスがLE要求最高位アドレスを超えた場合、変数Xの値(割り当てた領域の最高位アドレス)をLE要求最高位アドレスに格納する(S11)。
なお、「X≦Y」(S10で「N」へ進む)の場合、すなわち、割り当てた領域の最高位アドレスがLE要求最高位アドレスを超えない場合、特に処理はされない(LE要求最低位アドレスには、そのままの値が保持される)。
このように、HE要求(高アドレスからの割り当て要求)の場合、それまでに割り当てた最低位アドレスのうちの最も低いアドレスがHE要求最低位アドレスに格納される。また、LE要求(低アドレスからの割り当て要求)の場合、それまでに割り当てた最高位アドレスのうちの最も高いアドレスがLE要求最高位アドレスに格納される。
図6は、本実施形態におけるメモリの空き領域を管理するための管理テーブルの一例を示す。管理テーブル30は、空き領域毎に作成される。管理テーブル30により、空き領域はアドレス順に管理され、管理情報として「空き領域アドレス」「空き領域サイズ」が保持されている。また、管理テーブル30には、管理テーブル相互間を検索するために、昇順/降順、双方向のポインタが保持されている。
図6において、管理テーブル30は、1番目、2番目、・・・、i番目(不図示)、N番目のN個が存在する。管理テーブル30(i番目)には、「次管理テーブル」31、「空き領域サイズ」32、「空き領域アドレス」33、「前管理テーブル」34の管理情報を有している。
「次管理テーブル」31には、次の管理テーブル30(i+1番目)へのポインタが保持されている。「前管理テーブル」34には前の管理テーブル30(i−1番目)へのポインタが保持されている。
「空き領域アドレス」33には、メモリ上の空き領域のアドレスが保持されている。「空き領域サイズ」32には、その空き領域のサイズが保持されている。
ターミナル20には、1番目の管理テーブル30へのポインタが格納されている。ターミナル21には、N番目の管理テーブルへのポインタが格納されている。N番目の管理テーブル30の「次管理テーブル」31には、ターミナル20へのポインタが格納されている。
なお、本実施形態では、空き領域の管理方式として、管理テーブル(いわゆる、メモリマップ方式)を用いたが、これに限定されず、例えば、リスト(チエイン)方式、ビットマップ方式等を用いてもよい。
図7は、本実施形態における割り当て要求を受けてから割り当てるまでのフローを示す。このフローは、図6の管理テーブル30を順に読み込んでいき、管理テーブル単位でループ処理を行う。また、当該フローにおいて、割り当て要求はHE要求/LE要求のいずれにも対応する共通のフローである。当該フローは、図5のS2及びS7で呼び出される。
なお、HE要求/LE要求の違いは、管理テーブルの検索方向がアドレス昇順か降順かの違いとなる。つまり、LE要求の場合、管理テーブル30を1番目→2番目→・・・→N番目と検索する。LE要求の場合、管理テーブル30をN番目→N−1番目→・・・→1番目と検索する。
なお、当該フローにおいて、割り当て要求により要求されているメモリの領域のサイズ(要求サイズ)をRsで表す。
以下では、図5のS7から呼び出された場合、すなわち、管理テーブル30をN番目→N−1番目→・・・→1番目と順に検索する場合を説明する。
まず、変数Zにメモリの最大サイズ(X’FFFFFFFF’)で格納することにより、変数Xを初期化する(S21)。変数Zは、ベストフィットサイズを設定するための変数である。
次に、全ての管理テーブル30を検索したか否かが判断される(S22)。ここで説明する例では、まず、1番目の管理テーブル30を検索していることにする。そうすると、まだ、全ての管理テーブルを検索していないので(S22で「N」へ進む)、S23の処理へ進む。
次に、変数Zに格納されているサイズが要求サイズRsを満たすか否かが判断される(S23)。変数Zには、現在、最大サイズ(X’FFFFFFFF’)が格納されているから、格納されているサイズが要求されているサイズを満たす(要求サイズRs≦変数Z)ので(S23で「Y」へ進む)、S24へ進む。
次に、割り当てアドレスがLE要求最高位アドレスを超えるか否かが判断される(S24)。ここで、割り当てアドレスとは、i番目の管理テーブル30の「空き領域アドレス」を格納した変数(以下、変数Wで表す)のことであり、後述するS26で格納される。1番目の管理テーブル30の検索時においては、割り当てアドレスWは、例えばX’00000000’で初期化されている。
そうすると、割り当てアドレスWがLE要求最高位アドレスより低い(閾値としてのLE要求最高位アドレスを超えていない)ので(S24で「N」へ進む)、S25へ進む。
次に、現在検索の対象となっている管理テーブル30の「空き領域サイズ」32に格納されているサイズVが変数Zより小さいか否かが判断される(S25)。空き領域サイズVが変数Zより小さい場合(V<Z)(S25で「Y」へ進む)、その空き領域サイズVを変数Zに格納する(S26)。このとき、現在検索の対象となっている管理テーブル30の「空き領域アドレス」33を割り当てアドレスWに格納する。
S26の処理が完了した場合、または空き領域サイズVが変数Z以上の場合(V≧Z)(S25で「N」へ進む)、現在検索の対象となっている管理テーブル30の「次管理テーブル」31を参照して、2番目の管理テーブル30のアドレスを求め(S27)、その2番目の管理テーブル30についてS22〜S27の処理を繰り返す。
そうして、例えば、i番目(i<N)の管理テーブル30が検索された場合、S24において、割り当てアドレスWが、LE要求最高位アドレスを超えてしまった場合(S24で「Y」へ進む)、このループ処理を抜けて、LE要求最高位アドレスの次のアドレスに対象プログラムを割り当てる(S29)。
また、例えば、j番目(j<N)の管理テーブル30が検索された場合、S23において、変数Zが要求サイズを満たさなくなった場合(要求サイズRs>変数Z)(S23で「N」へ進む)、j番目の管理テーブル30の「次管理テーブル」31を参照して、j+1番目の管理テーブルアドレスを求め(S27)、そのj+1番目の管理テーブル30について同様に検索を行う。なお、j+1番目以降の管理テーブルについてもS23で「N」へ進むことになる。
そうして、全ての管理テーブル30について検索が完了すると(S22で「Y」へ進む)、割り当て可能な空きがあるか否かが判断される(S28)。割り当て可能な空きとは、S26で変数Zに格納した空き領域のことであり、S26の処理がなされていれば(S28で「Y」へ進む)、S26で保持された割り当てアドレスWに対象プログラムに割り当てる(S29)。
また、S26の処理がなされていなければ(S28で「Y」へ進む)、全ての管理テーブルを検索しても空き領域がなかったことになるので、割り当てることはできない(S30)。
次に、図5のS2から呼び出された場合、すなわち、管理テーブル30をN番目→N−1番目→・・・→1番目と順に検索する場合を説明する。
まず、変数Zにメモリの最大サイズ(X’FFFFFFFF’)で格納することにより、変数Xを初期化する(S21)。N番目(1つめ)の管理テーブル30を検索しているので(S22で「N」へ進む)、S23の処理へ進む。
次に、変数Zに格納されているサイズが要求サイズRsを満たすか否かが判断される(S23)。変数Zには、現在、最大サイズ(X’FFFFFFFF’)が格納されているから、格納されているサイズが要求されているサイズを満たす(要求サイズRs≦変数Z)ので(S23で「Y」へ進む)、S24へ進む。
次に、割り当てアドレスWがHE要求最低位アドレスを超えるか否かが判断される(S24)。N番目(1つめ)の管理テーブル30の検索時においては、割り当てアドレスWは、例えばX’FFFFFFFF’で初期化されている。
そうすると、割り当てアドレスWがLE要求最高位アドレスより低い(閾値としてのLE要求最高位アドレスを超えていない)ので(S24で「N」へ進む)、S25へ進む。
次に、現在検索の対象となっている管理テーブル30の「空き領域サイズ」32に格納されているサイズVが変数Zより小さいか否かが判断される(S25)。空き領域サイズVが変数Zより小さい場合(V<Z)(S25で「Y」へ進む)、その空き領域サイズVを変数Zに格納する(S26)。このとき、現在検索の対象となっている管理テーブル30の「空き領域アドレス」33を割り当てアドレスWに格納する。
S26の処理が完了した場合、または空き領域サイズVが変数Z以上の場合(V≧Z)(S25で「N」へ進む)、現在検索の対象となっている管理テーブル30の「次管理テーブル」31を参照して、次(N−1番目)の管理テーブル30のアドレスを求め(S27)、そのN−1番目の管理テーブル30についてS22〜S27の処理を繰り返す。
そうして、例えば、i番目(i<N)の管理テーブル30が検索された場合、S24において、割り当てアドレスWが、HE要求最低位アドレスを超えてしまった場合(S24で「Y」へ進む)、このループ処理を抜けて、HE要求最低位アドレスの次のアドレスに対象データを割り当てる(S29)。
また、例えば、j番目(j<N)の管理テーブル30が検索された場合、S23において、変数Zが要求サイズを満たさなくなった場合(要求サイズRs>変数Z)(S23で「N」へ進む)、j番目の管理テーブル30の「次管理テーブル」31を参照して、j−1番目の管理テーブルアドレスを求め(S27)、そのj−1番目の管理テーブル30について同様に検索を行う。なお、j−1番目、・・、2番目、1番目の管理テーブルについてもS23で「N」へ進むことになる。
そうして、全ての管理テーブル30について検索が完了すると(S22で「Y」へ進む)、割り当て可能な空きがあるか否かが判断される(S28)。割り当て可能な空きとは、S26で変数Zに格納した空き領域のことであり、S26の処理がなされていれば(S28で「Y」へ進む)、S26で保持された割り当てアドレスWに対象データに割り当てる(S29)。
また、S26の処理がなされていなければ(S28で「Y」へ進む)、全ての管理テーブルを検索しても空き領域がなかったことになるので、割り当てることはできない(S30)。
このように、割り当てアドレスは、まだ、その閾値としてのHE要求最低位アドレスまたはLE要求最低位アドレスを超えない間(S24で「N」へ進む)、ループ処理によりベストフィットモードで割当可能な領域を探す。そして、割り当てアドレスが、その閾値としてのHE要求最低位アドレスまたはLE要求最低位アドレスを超えると、ループ処理を抜けることにより、ファーストフィットモードに切り替えて検索する。
したがって、HE要求最低位アドレスがより高アドレスであるほど、またはLE要求最低位アドレスがより低アドレスであるほどベストフィットモードの寄与率が低く、ファーストフィットモードの寄与率が高くなるので、ベストフィットモード単独の場合と比較して、相対的に領域割り当て時間が短縮することになる。このように、使用効率のみならず、割り当て時間の効率化も図ることができる。
なお、図4で説明したように、HE要求最低位アドレスとLE要求最高位アドレスが交差するまでは、HE要求最低位アドレスとLE要求最高位アドレスとの間の領域は空き領域となるが、この空き領域がなくなって、HE要求最低位アドレスとLE要求最高位アドレスの番地の大きさが逆転することもあり得る。このようにHE要求最低位アドレスとLE要求最高位アドレスが交差した場合に、ベストフィットモードからファーストフィットモードへ切り替えるようにしてもよい。
図8は、本実施形態における情報処理システムが実行されるハードウェア環境の構成ブロック図である。同図において、情報処理システム40は、CPU(制御部)42、リードオンリメモリ(ROM)43、ランダムアクセスメモリ(RAM)46、通信インターフェース(以下、インターフェースをI/Fという)44、記憶装置47、出力I/F41、入力I/F45、可搬型記憶媒体の読み取り装置48、およびこれらの全てが接続されたバス49、出力I/F41に接続している出力装置50、入力I/F45に接続している入力装置51によって構成されている。
記憶装置47としてはハードディスク、磁気ディスクなど様々な形式の記憶装置を使用することができる。記憶装置47またはROM43には、上記の実施形態で用いたメモリ領域割り当て制御プログラムが格納されている。
本実施形態にかかるプログラムは、プログラム提供者側からネットワーク49、および通信I/F44を介して、例えば記憶装置47に格納してもよい。また、このプログラムは、市販され、流通している可搬型記憶媒体に格納され、読み取り装置48にセットされて、CPU42によって実行してもよい。可搬型記憶媒体としてはCD−ROM、フレキシブルディスク、光ディスク、光磁気ディスク、ICカードなど様々な形式の記憶媒体を使用することができ、このような記憶媒体に格納されたプログラムが読み取り装置48によって読み取られる。
また、入力装置51には、キーボード、マウス、または電子カメラ、マイク、スキャナ、センサ、タブレットなどを用いることが可能である。また、出力装置50には、ディスプレイ、プリンタ、スピーカなどを用いることが可能である。また、ネットワーク49は、インターネット、LAN、WAN、専用線、有線、無線等の通信網であってよい。
本実施形態によれば、領域の分断化を抑止することで、領域の有効利用ができる。さらに、目的に応じて割り当て箇所を変えることで、領域破壊の防止が可能となる。例えば、高アドレス側にデータ領域、低アドレス側にプログラム領域を配置することで、データ領域への不当書き込みによるプログラム領域の破壊を防止できる。
(付記1)
メモリ領域の空き領域に対象情報を割り当てるメモリ管理システムであって、
前記空き領域に前記対象情報を割り当てる旨の要求を取得する割り当て要求取得手段と、
閾値としてのアドレスが格納される閾値アドレス格納手段と、
前記割り当て要求に基づいて、前記閾値アドレス格納手段に格納された閾値アドレスを超えない範囲の領域についてベストフィット方式により前記空き領域を検索し、該検索した領域に該空き領域がなければ該閾値アドレス以降の領域をファーストフィット方式で検索する空き領域検索手段と、
前記空き領域検索手段により検索された前記空き領域に前記対象情報を割り当てる割り当て手段と、
前記割り当て手段により割り当てられた前記対象情報の割り当て後の領域の最終アドレスを前記閾値アドレスとして前記閾値アドレス格納手段に設定する閾値アドレス設定手段と、
を備えることを特徴とするメモリ領域割り当て制御装置。
(付記2)
前記メモリ領域割り当て制御装置は、さらに、
前記割り当て要求取得手段により取得した前記割り当て要求が前記メモリの一端側へ前記対象情報を格納する旨の要求である第1の割り当て要求であるか、または他端側に該対象情報を格納する旨の要求である第2の割り当て要求であるかを判定する検索方向判定手段
を備えることを特徴とする付記1に記載のメモリ領域割り当て制御装置。
(付記3)
前記空き領域検索手段は、
前記検索方向判定手段により前記第1の割り当て要求であると判定された場合、該一端から前記他端へ向かって前記検索を行い、
前記検索方向判定手段により前記第2の割り当て要求であると判定された場合、該他端から前記一端へ向かって前記検索を行う、
ことを特徴とする付記2に記載のメモリ領域割り当て制御装置。
(付記4)
前記空き領域検索手段は、
前記ベストフィット方式により前記空き領域を検索するベストフィット検索手段と、
前記ファーストフィット方式により前記空き領域を検索するファーストフィット検索手段と、
前記割り当て要求に基づいて、前記閾値アドレスを超えない範囲の領域について前記ベストフィット検索手段を駆動させ、該閾値アドレスを超えると前記ファーストフィット検索手段を駆動させる検索切り替え手段と、
を備えることを特徴とする付記1に記載のメモリ領域割り当て制御装置。
(付記5)
前記閾値アドレス設定手段は、前記割り当て手段により割り当てられた前記対象情報の割り当て後の領域の最終アドレスが前記閾値アドレスを越えている場合、前記最終アドレスを閾値アドレスとして前記閾値アドレス格納手段に格納する
ことを特徴とする付記1に記載のメモリ領域割り当て制御装置。
(付記6)
前記空き領域検索手段は、前記検索方向判定手段により前記第1の割り当て要求であると判定された場合、高アドレス側から低アドレス側へ向かって前記検索を行い、
前記閾値アドレス設定手段は、前記割り当て手段により割り当てられた前記対象情報の割り当て後の領域の最低位アドレスが前記閾値アドレスよりも低アドレスである場合、該最低位アドレスを閾値アドレスとして前記閾値アドレス格納手段に格納する
ことを特徴とする付記2に記載のメモリ領域割り当て制御装置。
(付記7)
前記空き領域検索手段は、前記検索方向判定手段により前記第2の割り当て要求であると判定された場合、低アドレス側から高アドレス側へ向かって前記検索を行い、
前記閾値アドレス設定手段は、前記割り当て手段により割り当てられた前記対象情報の割り当て後の領域の最高位アドレスが前記閾値アドレスよりも高アドレスである場合、該最高位アドレスを閾値アドレスとして前記閾値アドレス格納手段に格納する
ことを特徴とする付記2に記載のメモリ領域割り当て制御装置。
(付記8)
メモリ領域の空き領域に対象情報を割り当てるメモリ管理処理を、コンピュータに実行させるメモリ領域割り当て制御プログラムであって、
前記空き領域に前記対象情報を割り当てる旨の要求を取得する割り当て要求取得処理と、
前記割り当て要求に基づいて、閾値としての所定のアドレスである閾値アドレスを超えない範囲の領域についてベストフィット方式により前記空き領域を検索し、該検索した領域に該空き領域がなければ該閾値アドレス以降の領域をファーストフィット方式で検索する空き領域検索処理と、
前記空き領域検索処理により検索された前記空き領域に前記対象情報を割り当てる割り当て処理と、
前記割り当て処理により割り当てられた前記対象情報の割り当て後の領域の最終アドレスを前記閾値アドレスとして設定する閾値アドレス設定処理と、
を、コンピュータに実行させるメモリ領域割り当て制御プログラム。
(付記9)
前記メモリ領域割り当て制御装置は、さらに、
前記割り当て要求取得処理により取得した前記割り当て要求が前記メモリの一端側へ前記対象情報を格納する旨の要求である第1の割り当て要求であるか、または他端側に該対象情報を格納する旨の要求である第2の割り当て要求であるかを判定する検索方向判定処理
を、コンピュータに実行させる付記8に記載のメモリ領域割り当て制御プログラム。
(付記10)
前記空き領域検索処理は、
前記検索方向判定処理により前記第1の割り当て要求であると判定された場合、該一端から前記他端へ向かって前記検索を行い、
前記検索方向判定処理により前記第2の割り当て要求であると判定された場合、該他端から前記一端へ向かって前記検索を行う、
ことを特徴とする付記9に記載のメモリ領域割り当て制御プログラム。
(付記11)
前記空き領域検索処理は、
前記ベストフィット方式により前記空き領域を検索するベストフィット検索処理と、
前記ファーストフィット方式により前記空き領域を検索するファーストフィット検索処理と、
前記割り当て要求に基づいて、前記閾値アドレスを超えない範囲の領域について前記ベストフィット検索処理を実行させ、該閾値アドレスを超えると前記ファーストフィット検索処理を実行させる検索切り替え処理と、
を備えることを特徴とする付記8に記載のメモリ領域割り当て制御プログラム。
(付記12)
前記閾値アドレス設定処理は、前記割り当て処理により割り当てられた前記対象情報の割り当て後の領域の最終アドレスが前記閾値アドレスを越えている場合、前記最終アドレスを閾値アドレスとして設定する
ことを特徴とする付記8に記載のメモリ領域割り当て制御プログラム。
(付記13)
前記空き領域検索処理は、前記検索方向判定処理により前記第1の割り当て要求であると判定された場合、高アドレス側から低アドレス側へ向かって前記検索を行い、
前記閾値アドレス設定処理は、前記割り当て処理により割り当てられた前記対象情報の割り当て後の領域の最低位アドレスが前記閾値アドレスよりも低アドレスである場合、該最低位アドレスを閾値アドレスとして設定する
ことを特徴とする付記9に記載のメモリ領域割り当て制御プログラム。
(付記14)
前記空き領域検索処理は、前記検索方向判定処理により前記第2の割り当て要求であると判定された場合、低アドレス側から高アドレス側へ向かって前記検索を行い、
前記閾値アドレス設定処理は、前記割り当て処理により割り当てられた前記対象情報の割り当て後の領域の最高位アドレスが前記閾値アドレスよりも高アドレスである場合、該最高位アドレスを閾値アドレスとして設定する
ことを特徴とする付記9に記載のメモリ領域割り当て制御プログラム。
(付記15)
メモリ領域の空き領域に対象情報を割り当てるメモリ領域割り当て制御方法であって、
前記空き領域に前記対象情報を割り当てる旨の要求を取得し、
前記割り当て要求に基づいて、閾値としての所定のアドレスである閾値アドレスを超えない範囲の領域についてベストフィット方式により前記空き領域を検索し、該検索した領域に該空き領域がなければ該閾値アドレス以降の領域をファーストフィット方式で検索し、
前記検索された前記空き領域に前記対象情報を割り当て、
前記割り当てられた前記対象情報の割り当て後の領域の最終アドレスを前記閾値アドレスとして設定する、
ことを特徴とするメモリ領域割り当て制御方法。
(付記16)
前記メモリ領域割り当て制御方法は、さらに、
前記取得した前記割り当て要求が前記メモリの一端側へ前記対象情報を格納する旨の要求である第1の割り当て要求であるか、または他端側に該対象情報を格納する旨の要求である第2の割り当て要求であるかを判定する
ことを特徴とする付記15に記載のメモリ領域割り当て制御方法。
(付記17)
前記空き領域の検索において、
前記第1の割り当て要求であると判定された場合、該一端から前記他端へ向かって前記検索を行い、
前記検第2の割り当て要求であると判定された場合、該他端から前記一端へ向かって前記検索を行う、
ことを特徴とする付記16に記載のメモリ領域割り当て制御方法。
(付記18)
前記閾値アドレスを設定する場合、前記割り当てられた前記対象情報の割り当て後の領域の最終アドレスが前記閾値アドレスを越えている場合、前記最終アドレスを閾値アドレスとして設定する
ことを特徴とする付記15に記載のメモリ領域割り当て制御方法。
(付記19)
前記空き領域を検索する場合、前記第1の割り当て要求であると判定されたとき、高アドレス側から低アドレス側へ向かって前記検索を行い、
前記割り当てられた前記対象情報の割り当て後の領域の最低位アドレスが前記閾値アドレスよりも低アドレスである場合、該最低位アドレスを閾値アドレスとして設定する
ことを特徴とする付記16に記載のメモリ領域割り当て制御方法。
(付記20)
前記空き領域を検索する場合、前記第2の割り当て要求であると判定されたとき、低アドレス側から高アドレス側へ向かって前記検索を行い、
前記割り当てられた前記対象情報の割り当て後の領域の最高位アドレスが前記閾値アドレスよりも高アドレスである場合、該最高位アドレスを閾値アドレスとして設定する
ことを特徴とする付記16に記載のメモリ領域割り当て制御方法。
本発明にかかるメモリ領域割り当て制御装置の構成概念図を示す。 本実施形態における領域割り当て方式を説明するためのメモリ配置の概念図である。 本実施形態における初期設定時のLE要求最高位アドレスを示す。 本実施形態における領域割り当て時のLE要求最高位アドレスを示す。 本実施形態における高アドレス側からの割り当て要求(HE)及び低アドレスからの割り当て要求(LE)の様子を示す。 本実施形態におけるHE要求最低位アドレス及びLE要求最高位アドレスの決定フローを示す。 本実施形態におけるメモリの空き領域を管理するための管理テーブルの一例を示す。 本実施形態における割り当て要求を受けてから割り当てるまでのフローを示す。 本実施形態における情報処理システムが実行されるハードウェア環境の構成ブロック図である。 ベストフィット方式を説明するための図である。 ファーストフィット方式を説明する図である。
符号の説明
1 メモリ領域割り当て制御装置
2 割り当て要求取得手段
3 検索方向判定手段
4 空き領域検索手段
5 検索切り替え手段
6 ベストフィット検索手段
7 ファーストフィット検索手段
8 割り当て手段
9 閾値アドレス設定手段
10 閾値アドレス格納手段

Claims (5)

  1. メモリ領域の空き領域に対象情報を割り当てるメモリ領域割り当て制御装置であって、
    前記空き領域に前記対象情報を割り当てる旨の要求を取得する割り当て要求取得手段と、
    閾値としてのアドレスが格納される閾値アドレス格納手段と、
    前記割り当て要求に基づいて、前記閾値アドレス格納手段に格納された閾値アドレスを超えない範囲の領域についてベストフィット方式により前記空き領域を検索し、該検索した領域に該空き領域がなければ該閾値アドレス以降の領域をファーストフィット方式で検索する空き領域検索手段と、
    前記空き領域検索手段により検索された前記空き領域に前記対象情報を割り当てる割り当て手段と、
    前記割り当て手段により割り当てられた前記対象情報の割り当て後の領域の最終アドレスを前記閾値アドレスとして前記閾値アドレス格納手段に設定する閾値アドレス設定手段と、
    を備えることを特徴とするメモリ領域割り当て制御装置。
  2. 前記メモリ領域割り当て制御装置は、さらに、
    前記割り当て要求取得手段により取得した前記割り当て要求が前記メモリの一端側へ前記対象情報を格納する旨の要求である第1の割り当て要求であるか、または他端側に該対象情報を格納する旨の要求である第2の割り当て要求であるかを判定する検索方向判定手段
    を備えることを特徴とする請求項1に記載のメモリ領域割り当て制御装置。
  3. 前記閾値アドレス設定手段は、前記割り当て手段により割り当てられた前記対象情報の割り当て後の領域の最終アドレスが前記閾値アドレスを越えている場合、前記最終アドレスを閾値アドレスとして前記閾値アドレス格納手段に格納する
    ことを特徴とする請求項1に記載のメモリ領域割り当て制御装置。
  4. メモリ領域の空き領域に対象情報を割り当てるメモリ管理処理を、コンピュータに実行させるメモリ領域割り当て制御プログラムであって、
    前記空き領域に前記対象情報を割り当てる旨の要求を取得する割り当て要求取得処理と、
    前記割り当て要求に基づいて、閾値としての所定のアドレスである閾値アドレスを超えない範囲の領域についてベストフィット方式により前記空き領域を検索し、該検索した領域に該空き領域がなければ該閾値アドレス以降の領域をファーストフィット方式で検索する空き領域検索処理と、
    前記空き領域検索処理により検索された前記空き領域に前記対象情報を割り当てる割り当て処理と、
    前記割り当て処理により割り当てられた前記対象情報の割り当て後の領域の最終アドレスを前記閾値アドレスとして設定する閾値アドレス設定処理と、
    を、コンピュータに実行させるメモリ領域割り当て制御プログラム。
  5. メモリ領域の空き領域に対象情報を割り当てるメモリ領域割り当て制御方法であって、
    前記空き領域に前記対象情報を割り当てる旨の要求を取得し、
    前記割り当て要求に基づいて、閾値としての所定のアドレスである閾値アドレスを超えない範囲の領域についてベストフィット方式により前記空き領域を検索し、該検索した領域に該空き領域がなければ該閾値アドレス以降の領域をファーストフィット方式で検索し、
    前記検索された前記空き領域に前記対象情報を割り当て、
    前記割り当てられた前記対象情報の割り当て後の領域の最終アドレスを前記閾値アドレスとして設定する、
    ことを特徴とするメモリ領域割り当て制御方法。
JP2006073540A 2006-03-16 2006-03-16 メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法 Expired - Fee Related JP4758794B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006073540A JP4758794B2 (ja) 2006-03-16 2006-03-16 メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法
US11/449,997 US7447864B2 (en) 2006-03-16 2006-06-09 Memory area allocation control device for allocating target information to free area of memory area, storage medium storing its program and its method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006073540A JP4758794B2 (ja) 2006-03-16 2006-03-16 メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法

Publications (2)

Publication Number Publication Date
JP2007249708A true JP2007249708A (ja) 2007-09-27
JP4758794B2 JP4758794B2 (ja) 2011-08-31

Family

ID=38519317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006073540A Expired - Fee Related JP4758794B2 (ja) 2006-03-16 2006-03-16 メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法

Country Status (2)

Country Link
US (1) US7447864B2 (ja)
JP (1) JP4758794B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010204763A (ja) * 2009-02-27 2010-09-16 Kyocera Mita Corp メモリ管理システム、電子機器及びメモリ管理プログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5362594B2 (ja) 2008-06-09 2013-12-11 パナソニック株式会社 アクセス装置、及び残容量算出方法
US8995243B2 (en) 2010-01-15 2015-03-31 Laufer Teknik, Inc. System and method for suppressing jitter in digital data signals including image, video and audio data signals
US8451701B2 (en) * 2010-01-15 2013-05-28 Laufer Teknik, Inc. System and method for suppressing jitter
TWI489272B (zh) * 2012-04-03 2015-06-21 Phison Electronics Corp 保護資料的方法、記憶體控制器與記憶體儲存裝置
CN103377149B (zh) * 2012-04-16 2016-05-11 群联电子股份有限公司 保护数据的方法、存储器控制器与存储器储存装置
US10817202B2 (en) * 2012-05-29 2020-10-27 International Business Machines Corporation Application-controlled sub-LUN level data migration
US10831728B2 (en) * 2012-05-29 2020-11-10 International Business Machines Corporation Application-controlled sub-LUN level data migration
US10831727B2 (en) * 2012-05-29 2020-11-10 International Business Machines Corporation Application-controlled sub-LUN level data migration
JP5994690B2 (ja) * 2013-03-14 2016-09-21 富士通株式会社 情報処理装置、プログラムおよび記憶領域獲得方法
CN104090848B (zh) * 2014-07-16 2017-03-08 云南大学 一种周期性大数据处理的内存管理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324431A (ja) * 1992-05-26 1993-12-07 Toshiba Corp データ処理装置
JP2000047933A (ja) * 1998-07-30 2000-02-18 Nec Software Kobe Ltd 双方向メモリ確保管理方式
JP2001249844A (ja) * 2000-02-15 2001-09-14 Internatl Business Mach Corp <Ibm> 永続的且つロバストな記憶割当てシステム及び方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761536A (en) * 1996-08-21 1998-06-02 International Business Machines Corporation System and method for reducing memory fragmentation by assigning remainders to share memory blocks on a best fit basis
JPH11212774A (ja) * 1998-01-23 1999-08-06 Fujitsu Ltd アプリケーション管理方法、及び、それを用いた情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324431A (ja) * 1992-05-26 1993-12-07 Toshiba Corp データ処理装置
JP2000047933A (ja) * 1998-07-30 2000-02-18 Nec Software Kobe Ltd 双方向メモリ確保管理方式
JP2001249844A (ja) * 2000-02-15 2001-09-14 Internatl Business Mach Corp <Ibm> 永続的且つロバストな記憶割当てシステム及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010204763A (ja) * 2009-02-27 2010-09-16 Kyocera Mita Corp メモリ管理システム、電子機器及びメモリ管理プログラム

Also Published As

Publication number Publication date
US20070220229A1 (en) 2007-09-20
JP4758794B2 (ja) 2011-08-31
US7447864B2 (en) 2008-11-04

Similar Documents

Publication Publication Date Title
EP3108371B1 (en) Modified memory compression
JP6542909B2 (ja) ファイル操作方法及び装置
EP2648156B1 (en) Method and apparatus with dynamic graphics surface memory allocation
US9086920B2 (en) Device for managing data buffers in a memory space divided into a plurality of memory elements
JP2007523412A (ja) メモリ割当て
JP4758794B2 (ja) メモリ領域割り当て制御装置、メモリ領域割り当て制御プログラム、及びメモリ領域割り当て制御方法
EP1522928A3 (en) Priority-based flash memory control apparatus for XIP in serial flash memory, memory management method using the same, and flash memory chip thereof
US20060282635A1 (en) Apparatus and method for configuring memory blocks
US10049035B1 (en) Stream memory management unit (SMMU)
US20070022416A1 (en) Execution device and application program
WO2017086987A1 (en) In-memory data shuffling
US20170052979A1 (en) Input/Output (IO) Request Processing Method and File Server
CN1426560A (zh) 具有不同资源访问方案的系统集成代理程序
US20130073779A1 (en) Dynamic memory reconfiguration to delay performance overhead
US7900010B2 (en) System and method for memory allocation management
US20190155657A1 (en) Resource assignment method using cda protocol in distributed processing environment and distributed processing device applying the same
US20070136549A1 (en) Information processing apparatus, controller and file reading method
US7484070B1 (en) Selective memory block remapping
US9058113B2 (en) Storage region providing device, storage region providing method, and recording medium
KR101058969B1 (ko) 메모리 할당 방법 및 이를 이용한 메모리 할당 장치
JP2005209206A (ja) マルチプロセッサシステムにおけるデータ転送方法、マルチプロセッサシステム、及び、この方法を実施するプロセッサ
US20160320972A1 (en) Adaptive compression-based paging
JP2018106709A (ja) OpenCLカーネルを処理する方法、及びそれを遂行するコンピューティング装置
US20100262588A1 (en) Method of accessing a memory
JP2002351739A (ja) メモリー管理方法およびデータ処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080605

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110524

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110531

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110603

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees