JP2570969B2 - メモリ管理システム及び方法 - Google Patents

メモリ管理システム及び方法

Info

Publication number
JP2570969B2
JP2570969B2 JP5190964A JP19096493A JP2570969B2 JP 2570969 B2 JP2570969 B2 JP 2570969B2 JP 5190964 A JP5190964 A JP 5190964A JP 19096493 A JP19096493 A JP 19096493A JP 2570969 B2 JP2570969 B2 JP 2570969B2
Authority
JP
Japan
Prior art keywords
memory
memory block
management table
address
pool
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.)
Expired - Fee Related
Application number
JP5190964A
Other languages
English (en)
Other versions
JPH0721081A (ja
Inventor
隆司 横溝
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 Corp
Original Assignee
Nippon 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 Nippon Electric Co Ltd filed Critical Nippon Electric Co Ltd
Priority to JP5190964A priority Critical patent/JP2570969B2/ja
Priority to US08/268,512 priority patent/US5682494A/en
Priority to DE69430226T priority patent/DE69430226T2/de
Priority to EP94110297A priority patent/EP0633531B1/en
Publication of JPH0721081A publication Critical patent/JPH0721081A/ja
Application granted granted Critical
Publication of JP2570969B2 publication Critical patent/JP2570969B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、オペレーティングシス
テムにおけるメモリ管理方式に関し、特に、可変長メモ
リブロック管理を用いたオペレーティング・システムに
おけるメモリ管理システム及び方法に関する。
【0002】
【従来の技術】従来、可変長メモリブロック管理を採用
しているオペレーティングシステム(以下、「OS」と
略す)においては、メモリプールより切り出す(「獲
得」ともいう)メモリブロックには、そのメモリブロッ
クを管理するための管理テーブル(「メモリブロック管
理テーブル」という)が必ず付加される。
【0003】メモリブロック管理テーブルは、メモリブ
ロックの全ての用途を対象として設けられるデータ構造
である。OSで管理するタスク、セマフォ等のオブジェ
クトを管理するために用いられるオブジェクト管理テー
ブルとしてメモリブロックを用いる場合、オブジェクト
管理テーブルに必ず付加されるメモリブロック管理テー
ブルは、そのほとんどの領域がオブジェクト操作におい
ては利用されない。
【0004】即ち、オブジェクト管理テーブルとしてメ
モリブロックを用いる場合、メモリブロック管理テーブ
ル内の情報は、メモリブロックがメモリプールへ返却さ
れる時にのみ必要とされるに過ぎない。
【0005】ここで、オブジェクトを生成又は削除する
ために、メモリブロックを用いてオブジェクト管理テー
ブルを生成又は返却する従来のメモリ管理システムの処
理工程を説明する。
【0006】図2は、メモリブロック管理テーブルの構
成の一例を示し、図3は、従来のオブジェクト管理テー
ブルの構成の一例を示す。
【0007】図4は、従来のメモリ管理システムにおけ
る、オブジェクト管理テーブルの生成処理のフローチャ
ートであり、図5は、従来のメモリ管理システムにおけ
る、オブジェクト管理テーブルの削除処理のフローチャ
ートである。
【0008】図4を参照して、OSに対しオブジェクト
の生成要求がなされた際の、オブジェクト管理テーブル
用のメモリブロックの獲得処理について説明する。
【0009】OSに対してオブジェクトの生成要求がさ
れると、図4のステップS1において、メモリプールか
ら、『オブジェクト管理テーブルの為に必要な領域+メ
モリブロック管理テーブルの為に必要な領域』のサイズ
のメモリブロックを切り出す。
【0010】次にステップS2において、切り出したメ
モリ領域に、図2に示される構成のメモリブロック管理
テーブルが作成される。このメモリブロック管理テーブ
ルは、OSがメモリブロックの管理を行なうために用い
るものであり、いかなる用途のメモリブロックに対して
も、メモリブロック切り出し時には常に付加される。
【0011】さらにステップS3において、切り出した
メモリブロックに、目的とするオブジェクトの管理テー
ブルを作成し、オブジェクトの生成処理は終了する。
【0012】図3には、上記ステップS1〜S3により
作成されたオブジェクト管理テーブルの構成が示されて
いる。図示の如く、オブジェクト管理テーブルには、そ
のメモリブロックを管理するためのメモリブロック管理
テーブルが付加されている。
【0013】次に、図5を参照して、オブジェクトを削
除しオブジェクト管理テーブルとして用いられていたメ
モリブロックを、システムメモリプールに返却する際の
処理について説明する。
【0014】図5のステップS4にて、削除要求の出さ
れたオブジェクト管理テーブルに付加されている、メモ
リブロック管理テーブル内の所属メモリプールアドレス
15(図2参照)を参照し、返却先を得る。ステップS
5にて、返却するメモリブロックを該メモリブロックが
所属していたメモリプールへ返却する。
【0015】ところで、OSがオブジェクトに対して操
作を行なう場合、オブジェクト管理ブロックの情報のみ
を参照して処理操作が行なわれる。また、オブジェクト
の獲得/返却処理時においては、メモリブロック管理テ
ーブル内の情報としては、メモリブロックの返却時にメ
モリブロックの下位アドレス13、メモリブロックの上位
アドレス14、所属メモリプールのアドレス15が必要とさ
れ、これ以外の情報は、システム内でのみ、あるいはメ
モリブロックをメイルボックスのメッセージとして使用
する場合のみに必要とされる。
【0016】このため、オブジェクト管理テーブルとし
てメモリブロックを用いる場合、メモリブロック管理テ
ーブルはブロックの返却時以外に操作されることはな
く、結果として、メモリの使用効率が低下することにな
る。
【0017】
【発明が解決しようとする課題】前記の如く、従来のメ
モリ管理方式では、メモリブロックの獲得時においてメ
モリブロックに必ず付加されるメモリブロック管理テー
ブルが、実質的に、獲得したメモリブロックの返却時に
しか用いられず、このメモリブロック管理テーブルは実
際のオブジェクト操作においては用いられず、無駄なメ
モリ領域を占有するため、メモリの効率的使用を妨げて
いた。
【0018】無駄な領域を削除するために、例えば、オ
ブジェクト管理テーブル用のメモリブロックの管理を別
処理で行なう場合、OSのモジュールサイズの増大にも
つながり、また、メモリブロックの管理を別処理とする
ことは、特に、小型化、高速性が要求されている組み込
みシステムでは現実的ではない。
【0019】したがって、本発明は、前記問題点を解消
し、オブジェクト管理テーブル用メモリブロックの獲得
時においてメモリブロックに必ず付加されるメモリブロ
ック管理テーブルによるメモリ領域の使用効率を大幅に
高めるメモリ管理システム及びメモリ管理方法を提供す
ることを目的とする。
【0020】
【課題を解決するための手段】前記目的を達成するた
め、本発明は、可変長メモリブロック管理を用いたオペ
レーティング・システムにおけるメモリブロックを管理
するメモリ管理システムであって、前記メモリ管理シス
テムは、メモリブロック獲得時に付加されるメモリブロ
ック管理ーブルのメモリ領域をオブジェクト管理テー
ブルとして用いるように構成され、少なくとも、メモリ
プールアクセスアドレス保存手段と、メモリブロックア
ドレス算出手段と、メモリプールアドレス復帰手段と、
メモリブロック管理テーブル再生手段とを含み、前記メ
モリブロックアドレス算出手段は、メモリブロックの下
位アドレスを算出する手段と上位アドレスを算出する手
段とを備え、前記オブジェクト管理テーブル用のメモリ
ブロックをメモリプールから獲得する一連のステップを
実行する際に、前記メモリプールアドレス保存手段は、
メモリブロック管理ーブルに格納されたメモリプール
のアドレスをメモリプールアドレス格納領域に保存し、
前記オブジェクト管理テーブル用のメモリブロックをメ
モリプールへ返却する際に、前記メモリプールアドレス
復帰手段は、前記メモリプールアドレス保存手段により
保持されるメモリプールのアドレスを読み出し、前記メ
モリブロック管理テーブル再生成手段は、前記メモリブ
ロックアドレス算出手段によって算出されたメモリブロ
ックの下位アドレスと上位アドレス、及び前記メモリプ
ールアドレス復帰手段によって復帰されたメモリプール
のアドレスを基にオブジェクト管理テーブル用の前記メ
モリブロック管理テーブルを再構成する、ことを特徴と
するメモリ管理システムを提供する。
【0021】また、本発明はメモリブロックを管理する
ための方法として、可変長メモリブロック管理を用いた
オペレーティング・システムにおけるメモリブロックを
管理するためのメモリ管理方法であって、オブジェクト
管理テーブルとして用いるメモリブロックをメモリプー
ルから獲得する際に、オブジェクト管理テーブルのサイ
ズ分のメモリブロックをメモリプールから切り出し、該
オブジェクト管理テーブルのメモリブロックを管理する
ためのメモリブロック管理テーブルは前記切り出したメ
モリブロックの先頭アドレスから割り当てられ、前記メ
モリブロック管理テーブル内に格納されたメモリプール
のアドレスを所定の保存領域に保存した後に、前記メモ
リブロック管理テーブルのメモリ領域をオブジェクト管
理テーブルとして用い、更に、前記オブジェクト管理テ
ーブルとして用いたメモリブロックを前記メモリプール
へ返却する際に、前記切り出したメモリブロックの先頭
アドレスとメモリブロック管理テーブルのサイズから前
記返却するメモリブロックの下位アドレスを算出し、且
つ前記メモリブロックの先頭アドレスとオブジェクト管
理テーブル領域のサイズから前記返却するメモリブロッ
クの上位アドレスを算出し、前記保存されたメモリプー
ルアドレスを復帰し、前記返却するメモリブロックを管
理するメモリブロック管理テーブルを再構成する、各工
程から成るメモリ管理方法を提供する。
【0022】さらに、本発明の好ましい実施態様とし
て、メモリプールのアドレスをシステム管理テーブル内
に保存するか、またはオブジェクト管理テーブル内にメ
モリプールアドレス格納用の領域を設け、オブジェクト
管理テーブル用のメモリブロックをメモリプールから獲
得する際に、前記メモリプールアドレス保存手段が、メ
モリプールのアドレスをオブジェクト管理テーブルのメ
モリプールアドレス格納領域に保存することを特徴とす
るメモリ管理システムを提供する。
【0023】
【実施例】図面を参照して本発明の実施例を詳説する。
【0024】
【実施例1】以下に、本発明のメモリ管理システムの第
1の実施例を、オブジェクトとしてセマフォを生成、削
除する処理工程について説明する。
【0025】図1には、本発明のオブジェクト管理テー
ブル用メモリブロックの獲得/返却を示すブロック線図
が示されている。図6は、本発明の実施例におけるメモ
リブロックの構成である。図7は、本発明の第1の実施
例のオブジェクト管理テーブル獲得処理のフローチャー
トであり、図8は、本発明の第1の実施例のオブジェク
ト管理テーブル返却処理のフローチャートである。図9
は、本発明の第1の実施例のシステム管理テーブルの構
成であり、図10は、本発明の第1の実施例におけるセ
マフォ管理テーブルの構成を示している。
【0026】図1に示す如く、本実施例のメモリブロッ
ク管理システムは、主記憶1上に存在しているオペレー
ティングシステム3において、メモリプールアクセスア
ドレス保存手段4と、メモリブロックアドレス算出手段
5と、メモリプールアドレス復帰手段6と、メモリブロ
ック管理テーブル7とから構成されている。
【0027】メモリプールアクセスアドレス保存手段4
は、タスク2よりオブジェクト(本実施例では、セマフ
ォについて説明する)の生成要求が生じると、オブジェ
クト管理テーブル9のメモリブロックを切り出すため
に、メモリプールのアドレスをメモリプールアドレス格
納領域8に保存する。
【0028】メモリブロックアドレス算出手段5は、オ
ブジェクト管理テーブルの先頭アドレスとメモリブロッ
ク管理テーブルサイズ、オブジェクト管理テーブルサイ
ズを基にメモリブロック領域の上位/下位アドレスを算
出する。
【0029】メモリプールアドレス復帰手段6は、メモ
リプールアドレス保存手段4によりメモリプールアドレ
ス格納領域8に保存されているメモリプールアドレス
を、切り出されたオブジェクト管理テーブル9において
メモリブロック管理テーブル10に対応する所定の領域に
記録する。
【0030】メモリブロック管理テーブル再生成手段7
は、メモリブロックアドレス算出手段5によって算出さ
れたメモリブロック領域の上位/下位アドレスと、メモ
リプールアドレス復帰手段6によって復帰された情報を
基に、オブジェクト管理テーブル用のメモリブロック管
理テーブルを再生成する。
【0031】本実施例では、オブジェクト管理ブロック
用のメモリブロックを獲得するためのメモリプールはシ
ステムに唯一つ備えられており、メモリプールのアドレ
スはシステム起動時に、図9に構成が示されるシステム
管理テーブル内のメモリプールアドレス29に記録され
る。なお、オブジェクト管理ブロック生成用のメモリプ
ールを「システム用メモリプール」という。
【0032】図7を参照して、本実施例におけるセマフ
ォ生成時のメモリブロック獲得の処理工程を説明する。
OSにセマフォの生成要求がなされると、ステップS6
において、システム用メモリプール領域から、セマフォ
管理テーブル(図10参照)を生成するためのメモリブ
ロックを切り出す。このときの要求サイズは、セマフォ
管理テーブル用のメモリブロック管理テーブル領域サイ
ズを含まず、セマフォ管理テーブルのテーブルサイズと
する。
【0033】ステップS7では、切り出したメモリブロ
ック領域の先頭に、図2に示すメモリブロック管理テー
ブルが作成される。
【0034】次に、ステップS8において、ステップS
6の処理でシステム用メモリプールより切り出されたメ
モリブロックの先頭から、セマフォ管理テーブルとして
の情報を記録する。より詳細には、本ステップでは、メ
モリブロックの先頭からセマフォ管理テーブルとしての
情報をメモリブロック管理テーブル領域に上書きして記
録するため、元のメモリブロック管理テーブルの情報は
破壊され、切り出されたメモリブロックにはセマフォ管
理テーブルとしての情報のみが存在する。
【0035】以上説明したとおり、本実施例のセマフォ
管理テーブル獲得処理においては、セマフォ操作におい
て実質的に不要とされるセマフォ管理テーブル用のメモ
リブロック管理テーブルは主記憶1上には存在せず、メ
モリの使用効率が高まる。
【0036】次に、図8を参照して、セマフォが削除さ
れた場合のセマフォ管理テーブル用のメモリブロックの
返却処理について説明する。
【0037】図8のステップS9〜S11において、セ
マフォ管理テーブル作成時に破壊されたメモリブロック
管理テーブルの内容(図2参照)のうち、メモリブロッ
クの返却処理に必要なメモリブロックの下位アドレス1
3、メモリブロックの上位アドレス14、及び所属メモリ
プールアドレス15の3つの情報のみをメモリブロックに
記録して、メモリブロック管理テーブルを再構成する。
【0038】まず、ステップS9においてメモリブロッ
クの下位アドレス(図6の参照番号23)を算出し、メモ
リブロック管理テーブルに記録する。
【0039】メモリブロック下位アドレスは、次式によ
り算出される。 『メモリブロック下位アドレス=セマフォ管理テーブル
の先頭アドレス+メモリブロック管理テーブルサイズ』 ここにメモリブロック管理テーブルサイズは、システム
中において一定値であり、既知の値である。
【0040】なお、セマフォ管理テーブル等のオブジェ
クト管理テーブルはシステム管理テーブル内のそれぞれ
のオブジェクト登録キューに登録され、この登録キュー
をたどることによって、セマフォ管理テーブルの先頭ア
ドレスが検索される。
【0041】次にステップS10において、メモリブロ
ックの上位アドレス(図6の参照番号25)を算出し、メ
モリブロック管理テーブルに記録する。
【0042】メモリブロック上位アドレスは、次式によ
り算出される。 『メモリブロック上位アドレス=セマフォ管理テーブル
の先頭アドレス+セマフォ管理テーブルサイズ』 ここに、セマフォ管理テーブルサイズは、システム中に
おいて一定値であり、既知の値である。
【0043】ステップS11において、システム管理テ
ーブル(図9参照)に記録されたシステム用メモリプー
ルアドレス29を、セマフォ管理テーブルにおいて元のメ
モリブロック管理テーブルに対応する領域の所属メモリ
プールアドレス15(図2参照)に記録する。
【0044】ステップS12に処理が移り、ステップS
9〜S11において再生成されたメモリブロック管理テー
ブルに基づき、システム用メモリプールへメモリブロッ
クを返却する。
【0045】以上説明したとおり、本実施例において
は、セマフォ管理テーブル生成のためのメモリブロック
を切り出すメモリプールのアドレスを、システム管理テ
ーブル内に保持することにより、セマフォの操作自体に
は実質的に不要とされるセマフォ管理テーブル用のメモ
リブロック管理テーブル領域を保持することなく、メモ
リブロック管理テーブルを再構成することが可能とな
る。
【0046】また、本実施例では、メモリブロックの獲
得/返却時にはメモリブロック管理テーブルが付加され
るので、メモリブロック操作の処理モジュールは従来の
ものがそのまま利用可能である。
【0047】
【実施例2】次に、本発明のメモリ管理システムの第2
の実施例を説明する。以下、本発明の第2の本実施例
を、複数のメモリプールが存在しているシステムにおい
て、オブジェクトとしてセマフォを生成、削除する処理
工程について説明する。
【0048】前記の如く、システム内の全てのOS用の
メモリを管理するために、システム用メモリプールが存
在し、該プールの中からメモリブロックの獲得等が行な
われる。さらにユーザが、システム用とは別途メモリプ
ールを作成することも可能とされ、このメモリ領域はシ
ステム用メモリプールから獲得される。あるいはシステ
ムとは別途生成したメモリプールからメモリブロックを
獲得することも可能である。このため、メモリブロック
管理テーブル(図2参照)内において、メモリブロック
が所属するメモリプールアドレスを格納する領域15が設
けられている。
【0049】図11は、本発明の第2の実施例のオブジ
ェクト管理テーブル獲得処理のフローチャートである。
図12は、本発明の第2の実施例のオブジェクト管理テ
ーブル返却処理のフローチャートである。図13は、本
発明の第2の実施例のセマフォ管理テーブルの構成を示
す。
【0050】本発明の第2の実施例におけるメモリブロ
ックの管理システムの構成は、前記第1の実施例と同様
に、図1に示す如く、主記憶1上に存在しているオペレ
ーティングシステム3において、メモリプールアクセス
アドレス保存手段4と、メモリブロックアドレス算出手
段5と、メモリプールアドレス復帰手段6と、メモリブ
ロック管理テーブル再生成手段7とから構成されてい
る。
【0051】図13に示すように、本発明の第2の実施
例においては、セマフォ管理テーブルの所属メモリプー
ルアドレス46が、メモリプールアクセスアドレス保存手
段4がメモリプールアドレスを保存するための格納領域
として設けられている。
【0052】図11を参照して、本発明の第2の実施例
におけるセマフォ生成時のメモリブロック獲得の処理工
程を説明する。OSにセマフォの生成要求がなされる
と、ステップS13において、(システム用)メモリプ
ールよりセマフォ管理テーブル用のメモリブロックを切
り出す。このときの要求サイズは、セマフォ管理テーブ
ル用のメモリブロック管理テーブル領域サイズを含まな
い、セマフォ管理テーブルのテーブルサイズとする。
【0053】ステップS14では、切り出すメモリブロ
ック領域の先頭にメモリブロック管理テーブル(図2参
照)を作成する。ステップS14終了時点でのメモリブ
ロックの状態を図6に示す。
【0054】次にステップS15において、ステッップ
S14の処理で生成されたメモリブロック管理テーブル
内の所属メモリプールアドレス15の情報を、セマフォ管
理テーブルに設けられる所属メモリプールアドレス46
(図13参照)へ保存する。
【0055】ステップS16では、ステップS13によ
り切り出されたメモリブロックの先頭から、セマフォ管
理テーブルとしての情報を記録する。本ステップでは、
メモリブロックの先頭からセマフォ管理テーブルとして
の情報を上書きして記録するため、元のメモリブロック
管理テーブルは破壊され、切り出されたメモリブロック
にはセマフォ管理テーブルとしての情報のみが存在す
る。
【0056】以上のセマフォ管理ブロック獲得処理にお
いて、セマフォ操作に実質的に不要なセマフォ管理テー
ブル用のメモリブロック管理テーブルは主記憶1上に存
在しなくなり、メモリの使用効率が高まる。
【0057】次に、図12を参照して、セマフォが削除
される際のセマフォ管理テーブル用のメモリブロックの
返却処理について説明する。
【0058】図12のステップS17〜S19で、セマ
フォ管理テーブル作成時に破壊された図2に示されるメ
モリブロック管理テーブルのうち、ブロックの返却処理
に必要なメモリブロックの下位アドレス13、メモリブロ
ックの上位アドレス14、およびメモリブロックの返却先
の指定である所属メモリプールアドレス15の3つの情報
のみをメモリブロックに記録して、メモリブロック管理
テーブルを再生成する。
【0059】まず、ステップS17にてメモリブロック
下位アドレス(図6の参照番号23)を算出し、図2に示
すメモリブロック管理テーブル内のメモリブロックの下
位アドレス13に記録する。
【0060】ここで、メモリブロック下位アドレスは次
式により算出される。 『メモリブロック下位アドレス=セマフォ管理テーブル
の先頭アドレス+メモリブロック管理テーブルサイズ』 ここに、メモリブロック管理テーブルサイズは、システ
ム中において一定値であり、既知の値である。
【0061】次にステップS18において、メモリブロ
ック上位アドレス(図6の参照番号25)を算出し、図2
に示すメモリブロック管理テーブル内のメモリブロック
の上位アドレス14に記録する。
【0062】ここで、メモリブロック上位アドレスは次
式により算出される。 『メモリブロック上位アドレス=セマフォ管理テーブル
の先頭アドレス+セマフォ管理テーブルサイズ』 として算出可能である。この中の、セマフォ管理テーブ
ルサイズは、システム中において一定値であり、既知の
値である。
【0063】次にステップS19において、ステップS
15の処理で予めセマフォ管理テーブル(図13参照)
の所属メモリスープアドレス46に保存しておいたメモリ
プールアドレスを、セマフォ管理テーブルにおいて元の
メモリブロック管理テーブルに対応する領域の所属メモ
リプールアドレス15(図2参照)に書き戻す。
【0064】ステップS20に処理が移り、ステップS
17〜S19において再生成されたメモリブロック管理
テーブルを基に、メモリプールへメモリブロックを返却
する。
【0065】以上説明したとおり、本実施例において
は、セマフォ管理テーブル生成のためのメモリプールア
ドレスをセマフォ管理テーブル内に保持することによ
り、セマフォの操作には実質的に不要とされるセマフォ
管理テーブル用のメモリブロック管理テーブル領域を保
持することなく、メモリブロック管理テーブルを再構成
することが可能となる。
【0066】また、メモリブロックの獲得/返却時に
は、メモリブロック管理テーブルが付加されるので、メ
モリブロック操作の処理は、従来の処理モジュールがそ
のまま利用可能である。
【0067】
【発明の効果】以上説明したとおり、本発明のメモリ管
理システムは、オブジェクト管理テーブル用に切り出し
たメモリブロックのために設けられるメモリブロック管
理テーブル領域を保持することなく、この領域をオブジ
ェクト管理テーブルとして使用することにより、メモリ
の使用効率を高めるという利点を有し、特に小型化、高
速性が要求されるリアルタイムOS等においてメモリ領
域の大幅な削減を達成するものである。
【0068】また、本発明は、メモリブロックの獲得/
返却時にはメモリブロック管理テーブルが存在するた
め、メモリブロック操作の処理として、従来の処理モジ
ュールが利用可能とされ、このためオブジェクト管理テ
ーブル用に新たな処理システムを導入する必要性を解消
し、メモリ管理処理の共通化を可能とするという利点を
有すると共に、更に処理モジュールサイズを縮小化する
という利点も有する。
【図面の簡単な説明】
【図1】本発明のメモリ管理システムのメモリブロック
の獲得/返却の構成を示すブロック図である。
【図2】メモリ管理システムのメモリブロック管理テー
ブルの構成図である。
【図3】従来例のオブジェクト管理テーブルの構成図で
ある。
【図4】従来例のオブジェクト管理テーブル生成用のメ
モリブロック獲得処理のフローチャートである。
【図5】従来例のオブジェクト管理テーブル生成用のメ
モリブロック返却処理のフローチャートである。
【図6】本発明のオブジェクト管理テーブル用メモリブ
ロックの構成図である。
【図7】本発明の第1の実施例におけるオブジェクト管
理テーブル生成用のメモリブロック獲得処理のフローチ
ャートである。
【図8】本発明の第1の実施例におけるオブジェクト管
理テーブル生成用のメモリブロック獲得返却のフローチ
ャートである。
【図9】本発明の第1の実施例のシステム管理テーブル
の構成図である。
【図10】本発明の第1の実施例のセマフォ管理テーブ
ルの構成図である。
【図11】本発明の第2の実施例のオブジェクト管理テ
ーブル生成用のメモリブロック獲得処理のフローチャー
トである。
【図12】本発明の第2の実施例のオブジェクト管理テ
ーブル生成用のメモリブロック返却処理のフローチャー
トである。
【図13】本発明の第2の実施例のセマフォ管理テーブ
ルの構成図である。
【符号の説明】
1 主記憶 2 タスク 3 オペレーティングシステム 4 メモリプールアドレス保存手段 5 メモリブロックアドレス算出手段 6 メモリプールアドレス復帰手段 7 メモリ管理テーブル再生成手段 8 メモリプールアドレス格納領域 9 オブジェクト管理テーブル 10 メモリブロック管理テーブル

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】可変長メモリブロック管理を用いたオペレ
    ーティング・システムにおけるメモリブロックを管理す
    るメモリ管理システムであって、メモリブロック獲得時
    に付加されるメモリブロック管理ーブルのメモリ領域
    をオブジェクト管理テーブルとして用いるように構成さ
    れ、少なくとも、 メモリプールアクセスアドレス保存手段と、 メモリブロックアドレス算出手段と、 メモリプールアドレス復帰手段と、 メモリブロック管理テーブル再生手段とを含み、 前記メモリブロックアドレス算出手段は、メモリブロッ
    クの下位アドレスを算出する手段と上位アドレスを算出
    する手段とを備え、 前記オブジェクト管理テーブル用のメモリブロックをメ
    モリプールから獲得する一連のステップを実行する
    に、前記メモリプールアドレス保存手段は、メモリブロ
    ック管理ーブルに格納されたメモリプールのアドレス
    をメモリプールアドレス格納領域に保存し、 前記オブジェクト管理テーブル用のメモリブロックをメ
    モリプールへ返却する際に、前記メモリプールアドレス
    復帰手段は、前記メモリプールアドレス保存手段により
    保持されるメモリプールのアドレスを読み出し、 前記メモリブロック管理テーブル再生成手段は、前記メ
    モリブロックアドレス算出手段によって算出されたメモ
    リブロックの下位アドレスと上位アドレス、及び前記メ
    モリプールアドレス復帰手段によって復帰されたメモリ
    プールのアドレスを基にオブジェクト管理テーブル用の
    前記メモリブロック管理テーブルを再構成する、ことを
    特徴とするメモリ管理システム。
  2. 【請求項2】メモリプールのアドレス格納領域がシステ
    ム管理テーブル内に設けられた請求項1記載のメモリ管
    理システム。
  3. 【請求項3】前記オブジェクト管理テーブル内にメモリ
    プールアドレス格納用の領域を設け、前記オブジェクト
    管理テーブル用のメモリブロックをメモリプールから獲
    得する一連のステップを実行する際に、前記メモリプー
    ルアドレス保存手段が、メモリプールのアドレスをオブ
    ジェクト管理テーブルのメモリプールアドレス格納領域
    に保存することを特徴とする請求項1記載のメモリ管理
    システム。
  4. 【請求項4】可変長メモリブロック管理を用いたオペレ
    ーティング・システムにおけるメモリブロックを管理す
    るためのメモリ管理方法であって、 オブジェクト管理テーブルとして用いるメモリブロック
    をメモリプールから獲得する際に、 オブジェクト管理テーブルのサイズ分のメモリブロック
    をメモリプールから切り出し、 前記オブジェクト管理テーブルのメモリブロックを管理
    するためのメモリブロック管理テーブルは前記切り出し
    たメモリブロックの先頭アドレスから割り当てられ、 前記メモリブロック管理テーブル内に格納されたメモリ
    プールのアドレスを所定の保存領域に保存した後に、 前記メモリブロック管理テーブルのメモリ領域をオブジ
    ェクト管理テーブルとして用い、 更に、前記オブジェクト管理テーブルとして用いたメモ
    リブロックを前記メモリプールへ返却する際に、 前記切り出したメモリブロックの先頭アドレスとメモリ
    ブロック管理テーブルのサイズから前記返却するメモリ
    ブロックの下位アドレスを算出し、且つ前記メモリブロ
    ックの先頭アドレスとオブジェクト管理テーブル領域の
    サイズから前記返却するメモリブロックの上位アドレス
    を算出し、 前記保存されたメモリプールアドレスを復帰し、 前記返却するメモリブロックを管理するメモリブロック
    管理テーブルを再構成する、 上記各工程から成るメモリ管理方法。
  5. 【請求項5】前記メモリプールのアドレスをシステム管
    理テーブルに保存する請求項4記載のメモリ管理方法。
  6. 【請求項6】複数のメモリプールが存在するシステムに
    おいて、所属するメモリプールのアドレスを獲得したオ
    ブジェクト管理テーブル内に保存する請求項4記載のメ
    モリ管理方法。
JP5190964A 1993-07-05 1993-07-05 メモリ管理システム及び方法 Expired - Fee Related JP2570969B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP5190964A JP2570969B2 (ja) 1993-07-05 1993-07-05 メモリ管理システム及び方法
US08/268,512 US5682494A (en) 1993-07-05 1994-06-30 Memory management system and method
DE69430226T DE69430226T2 (de) 1993-07-05 1994-07-01 Speicherverwaltungssystem und -verfahren
EP94110297A EP0633531B1 (en) 1993-07-05 1994-07-01 Memory management system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5190964A JP2570969B2 (ja) 1993-07-05 1993-07-05 メモリ管理システム及び方法

Publications (2)

Publication Number Publication Date
JPH0721081A JPH0721081A (ja) 1995-01-24
JP2570969B2 true JP2570969B2 (ja) 1997-01-16

Family

ID=16266609

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5190964A Expired - Fee Related JP2570969B2 (ja) 1993-07-05 1993-07-05 メモリ管理システム及び方法

Country Status (4)

Country Link
US (1) US5682494A (ja)
EP (1) EP0633531B1 (ja)
JP (1) JP2570969B2 (ja)
DE (1) DE69430226T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6058460A (en) * 1996-06-28 2000-05-02 Sun Microsystems, Inc. Memory allocation in a multithreaded environment
US6275916B1 (en) * 1997-12-18 2001-08-14 Alcatel Usa Sourcing, L.P. Object oriented program memory management system and method using fixed sized memory pools
US7337360B2 (en) 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system
US6594780B1 (en) 1999-10-19 2003-07-15 Inasoft, Inc. Operating system and data protection
US6507903B1 (en) * 2000-06-20 2003-01-14 International Business Machines Corporation High performance non-blocking parallel storage manager for parallel software executing on coordinates
JP4401132B2 (ja) * 2003-09-19 2010-01-20 株式会社日立国際電気 循環記録装置
KR101213151B1 (ko) 2005-11-10 2012-12-17 엘지전자 주식회사 분산 지능형 제어장치의 데이터 패킷 생성 방법
CN102147766B (zh) * 2010-12-17 2015-03-25 曙光信息产业股份有限公司 一种维护tcp流表结构和乱序缓冲区的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63109553A (ja) * 1986-10-28 1988-05-14 Nec Corp メモリ管理方式
CA2057446C (en) * 1991-04-04 1998-02-17 Brian Neil Baker Shared memory access and data structure access control
US5261106A (en) * 1991-12-13 1993-11-09 S-Mos Systems, Inc. Semaphore bypass
GB2267588B (en) * 1992-06-06 1996-03-20 Motorola Inc FIFO memory system

Also Published As

Publication number Publication date
EP0633531A1 (en) 1995-01-11
DE69430226D1 (de) 2002-05-02
DE69430226T2 (de) 2002-11-07
JPH0721081A (ja) 1995-01-24
EP0633531B1 (en) 2002-03-27
US5682494A (en) 1997-10-28

Similar Documents

Publication Publication Date Title
US5813011A (en) Storage of a compressed file containing its own compression management table
JP2000515284A (ja) ツリー構造に分類されたファイルを含むicカード
US7577808B1 (en) Efficient backup data retrieval
JPS6115243A (ja) メモリ割当て方法
US20060235910A1 (en) Apparatus and method for a managing file system
JP2570969B2 (ja) メモリ管理システム及び方法
CN108920725A (zh) 一种对象存储的方法及对象存储网关
CN108304144B (zh) 数据写入、读取方法与系统、数据读写系统
CN116501736A (zh) 一种数据库延迟回放的控制方法以及控制系统
JP2553751B2 (ja) ディスクセクタ代替方式
JP3378594B2 (ja) データベース再配置を行う処理装置
US5978810A (en) Data management system and method for storing a long record in a set of shorter keyed records
JPH07334397A (ja) 削除ファイル管理方式
JP2587417B2 (ja) ファイルの退避復元方式
JP4251727B2 (ja) ファイル管理方法
JP3890212B2 (ja) 情報格納システム及び情報格納方法
JP2740451B2 (ja) カタログ管理ファイル最適化方式
JP3061385B2 (ja) データ管理装置およびデータ管理方法
JPH08328929A (ja) データベース分割管理システム
JP2861548B2 (ja) 複数ホスト方式
JPS6129955A (ja) 追記型媒体における情報蓄積方式
JP3130870B2 (ja) メモリダンプファイル再構成方式
JPS635443A (ja) フアイル管理装置
JPH0744426A (ja) ファイルシステムのファイル管理方法
JPH06348556A (ja) 記憶域管理システム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19960903

LAPS Cancellation because of no payment of annual fees