JP2000163309A - メモリ管理方法およびメモリ管理装置、並びに記録媒体 - Google Patents

メモリ管理方法およびメモリ管理装置、並びに記録媒体

Info

Publication number
JP2000163309A
JP2000163309A JP10347970A JP34797098A JP2000163309A JP 2000163309 A JP2000163309 A JP 2000163309A JP 10347970 A JP10347970 A JP 10347970A JP 34797098 A JP34797098 A JP 34797098A JP 2000163309 A JP2000163309 A JP 2000163309A
Authority
JP
Japan
Prior art keywords
memory
block
address
release position
released
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
JP10347970A
Other languages
English (en)
Other versions
JP3356090B2 (ja
Inventor
Keiko Miyamoto
啓子 宮本
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
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP34797098A priority Critical patent/JP3356090B2/ja
Publication of JP2000163309A publication Critical patent/JP2000163309A/ja
Application granted granted Critical
Publication of JP3356090B2 publication Critical patent/JP3356090B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 解放されたメモリブロックのアドレスを保存
することにより、メモリ解放位置の検出の高速化をはか
る。 【解決手段】 割り込みを処理する割り込みハンドラ1
0と、CPU内で発生する例外を処理する例外ハンドラ
11を制御し、さらに、必要な処理が記述された複数の
ユーザのタスク14を制御するリアルタイムOS12に
は、メモリ解放位置管理機構13が設けられており、タ
スク14によって解放されたメモリブロックを管理す
る。メモリ解放位置管理機構13は、直近に解放された
メモリブロックの先頭アドレスを保存し、その先頭アド
レスに基づいて、次に解放されたメモリブロックの解放
位置を検索する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はメモリ管理方法およ
びメモリ管理装置、並びに記録媒体に関し、特に、OS
内の処理時間を保証することを目的としたリアルタイム
OSにおいて、任意サイズのメモリ割り付け、及び解放
を可能とするメモリ管理方法およびメモリ管理装置、並
びに記録媒体に関する。
【0002】
【従来の技術】一般に、リアルタイムOSのメモリ管理
方式は、メモリをある固定サイズで区切り、タスクから
のメモリ獲得、解放要求に応じて動的にメモリの割付を
行い、使用メモリブロック、未使用メモリブロック別に
管理するようになっている。
【0003】従来、このようなメモリブロックの管理方
法は、例えば、特開平6−309197に開示されてい
るように、次のようなものであった。即ち、タスクから
のメモリ獲得要求が発生すると、必要とされるサイズを
満たす空きメモリブロックを検出し、タスクに割り当て
る。一方、メモリの解放要求が発生すると、メモリブロ
ックの断片化を防止するため、全ての空きメモリブロッ
クでの解放位置を検出する。そして、解放要求のあるメ
モリブロックの前後に、連続する空きメモリブロックが
ある場合、それらの空きメモリブロックと連結して、1
つの空きメモリブロックとして管理する。
【0004】
【発明が解決しようとする課題】しかしながら、従来の
メモリ管理方式においては、メモリ解放時にメモリの断
片化を防ぐために、前後の空きメモリブロックと連結す
る必要があり、全メモリを検索してメモリブロックの解
放位置を検出するので、CPUの占有時間が長くなると
いう課題があった。
【0005】その理由は、空きメモリブロックの先頭の
近くに所望の空きメモリブロックが繋がっているいる場
合には高速に処理されるが、最後尾近くに所望の空きメ
モリブロックが検出された場合には、検出時間が長くな
るためである。
【0006】本発明の目的は、上述の点に鑑み、タスク
によってメモリが解放されたとき、全メモリ領域から解
放位置を検出するときの検索回数を減少させ、CPUの
占有時間を短くすることにより、メモリ解放処理の高速
化を実現するとともに、リアルタイムOSの性能を向上
させることができるようにするものである。
【0007】
【課題を解決するための手段】請求項1に記載のメモリ
管理方法は、タスクからの要求に応じて、タスクに対し
てメモリの割り付けおよび解放を行うメモリ管理方法で
あって、メモリを、割り付けが行われている使用メモリ
と、解放されている未使用メモリとに分割してブロック
単位で管理し、使用メモリをメモリを獲得した順番に繋
ぎ、未使用メモリをアドレス順に繋ぎ、使用メモリの所
定のブロックを解放するとき、解放されるブロックの先
頭アドレスを保存し、保存しているブロックの先頭アド
レスを基準にして、次のブロックの解放位置の検出を行
うことを特徴とする。また、ブロックは、少なくとも、
ブロックに繋がれている次のブロックのアドレスと、前
のブロックのアドレスと、ブロックの先頭アドレスと、
ブロックの終了アドレスとからなるテーブルにより管理
されるようにすることができる。また、使用メモリは、
使用メモリの先頭ブロックのアドレスと、使用メモリの
最後のブロックのアドレスからなるテーブルにより管理
されるようにすることができる。また、未使用メモリ
は、未使用メモリの先頭ブロックのアドレスと、未使用
メモリの最後のブロックのアドレスからなるテーブルに
より管理されるようにすることができる。請求項5に記
載のメモリ管理装置は、タスクからの要求に応じて、タ
スクに対してメモリの割り付けおよび解放を行うメモリ
管理方法であって、メモリが、割り付けが行われている
使用メモリと、解放されている未使用メモリとに分割し
てブロック単位で管理され、使用メモリがメモリを獲得
した順番に繋がれ、未使用メモリがアドレス順に繋がれ
た状態で、使用メモリの所定のブロックを解放すると
き、解放されるブロックの先頭アドレスを保存する保存
手段と、保存手段によって保存されているブロックの先
頭アドレスを基準にして、次のブロックの解放位置の検
出を行う検出手段とを備えることを特徴とする。請求項
6に記載の記録媒体は、請求項1に記載のメモリ管理方
法を実行可能なプログラムが記録されていることを特徴
とする。本発明に係るメモリ管理方法およびメモリ管理
装置、並びに記録媒体においては、メモリを、割り付け
が行われている使用メモリと、解放されている未使用メ
モリとに分割してブロック単位で管理し、使用メモリを
メモリを獲得した順番に繋ぎ、未使用メモリをアドレス
順に繋ぎ、使用メモリの所定のブロックを解放すると
き、解放されるブロックの先頭アドレスを保存し、保存
しているブロックの先頭アドレスを基準にして、次のブ
ロックの解放位置の検出を行う。
【0008】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。図1は、本発明のメ
モリ管理方法が適用されるマイクロコンピュータの一実
施の形態のハードウェア(HW)構成例を示すブロック
図である。同図に示すように、マイクロコンピュータ
は、CPU(central processing
unit)1と、A/D(アドレス/データ)バス9を
介してCPU1に接続されたメモリコントローラ5、タ
イマコントローラ6、割り込みコントローラ7とから構
成されている。
【0009】また、マイクロコンピュータは、CPU1
を動作させる命令コードを格納したROM(read
only memory)2と、CPU1の動作に必要
な各種データを一時的に記憶したり、プログラムをロー
ドするためのメインメモリ(RAM(random a
ccess memory))(以下では単に、メモリ
という)3と、データを保存するための記憶装置4とを
備えている。
【0010】次に、上記HW構成で動作するソフトウェ
ア(SW)の構成例について、図2の機能ブロック図を
参照して説明する。図1のHW構成で動作するSWは、
図1の割り込みコントローラ7から発生された割り込み
を処理する割り込みハンドラ10と、CPU1内で発生
する例外を処理する例外ハンドラ11を制御し、さら
に、必要な処理が記述された複数のユーザ14のタスク
を制御するリアルタイムOS(operating s
ystem)12とを備えている。また、リアルタイム
OS12には、メモリ解放位置管理機構13が設けられ
ている。
【0011】リアルタイムOS12は、発生した外部事
象にリアルタイムに対応して、動作させるべきタスクを
判別し、そのタスクに動作権を渡すことにより、システ
ムの円滑な運用を制御するようになされている。さら
に、リアルタイムOS12は、上述したように、メモリ
解放位置管理機構13を備えており、タスクによって解
放されたメモリブロックを管理するようになされてい
る。
【0012】次に、図1に示した実施の形態の動作につ
いて説明する。上記実施の形態において、CPU1は、
タイマコントローラ6による一定時間毎の割り込みや、
外部割り込み要因とつながった割り込みコントローラ7
からの割り込みなどの様々な外部要因に対して、適切な
処理を行っていく必要がある。
【0013】これを実現するために、CPU1上で動作
するソフトウェアは、図2に示したように、リアルタイ
ムOS12によって制御されるようになっている。そし
て、リアルタイムOS12は、発生した事象を処理する
タスクを複数管理し、発生した様々な事象に対して、必
要なタスク14を判断し、実行させる。
【0014】タスク14は、最低限必要なワーク領域を
静的に確保するが、一時的に必要なメモリは必要なとき
に動的に獲得、解放する。必要なときに必要なタスク1
4がメモリ3を使用することで、メモリ容量を節約でき
る。
【0015】図3に示すように、メモリ3はリアルタイ
ムOS12が管理しており、タスク14はメモリ3の獲
得、解放をリアルタイムOS12を介して行う。タスク
14からメモリ獲得要求が発生すると、リアルタイムO
S12のメモリ制御部23は、空きメモリブロックを検
索して要求サイズを満たすブロックを検出し、要求を行
ったタスク14に対して、検出されたメモリブロックア
ドレスを渡すことによりメモリブロックを与える。
【0016】メモリ解放位置管理機構13には、直近
(最も最近)に解放したメモリブロックの先頭アドレス
が保持されているが、このメモリ解放位置管理機構13
によって、メモリブロックが解放される度にメモリブロ
ックアドレスが更新され、最も最近に解放されたメモリ
ブロックのアドレスが保持される。
【0017】タスク14からメモリ解放要求が発生した
とき、リアルタイムOS12は、メモリブロック14の
解放位置を検索する必要があるが、メモリ解放位置管理
機構13から、先に保存されたメモリブロックの先頭ア
ドレスを取り出して、いま解放されるメモリブロックの
先頭アドレスと比較する。この比較によって、いま、解
放されるメモリブロックの先頭アドレスと、先に解放さ
れたメモリブロックとが連続している場合、高速に解放
位置を検出することが可能となる。
【0018】また、メモリ解放処理が連続しない場合、
例えば、メモリ解放処理の途中にメモリ獲得処理が実行
されるような場合、メモリ獲得処理において、メモリ解
放位置管理機構13で保存しているメモリブロック先頭
アドレスを予め決められた初期値に戻し、次にメモリ解
放要求が発生した場合は、従来通りの検索を行うことと
する。
【0019】図4は、メモリブロック管理テーブルの構
成例を示す図である。メモリ3はそれまでにタスク14
によって要求されたメモリブロックのサイズに分割され
ている。それぞれのメモリブロックには、メモリブロッ
ク管理テーブルが備わっていて、メモリブロック管理テ
ーブルは次のブロックの先頭アドレスを指し示す次のブ
ロック31と、前のブロックの先頭アドレスを指し示す
前のブロック32と、タスクによって使用可能なメモリ
領域の範囲を示す先頭アドレス33及び最終アドレス3
4と、メモリブロックの状態を示すブロック使用状況フ
ラグ(以下では、単にフラグという)35から構成され
ている。フラグ35に“F(Free)”が格納されて
いるときは空きメモリであることを示しており、“U
(Used)”が格納されているときは使用中メモリで
あることを示している。
【0020】図5は、メモリ管理テーブルとメモリブロ
ックの関連を示す図である。空きブロックはアドレス順
に繋がれており、使用中のブロックはブロックが獲得さ
れた順に繋がれている。空きメモリ全体を管理する空き
メモリ管理テーブル41は、空きメモリの先頭ブロック
のアドレスを保持するフィールドである空きメモリ先頭
ブロック42と、空きメモリの最終ブロックのアドレス
を保持するフィールドである空きメモリ最終ブロック4
3を備えており、メモリ先頭ブロック42は空きメモリ
の先頭ブロックを、空きメモリ最終ブロック43は空き
メモリの最終ブロックをそれぞれ指し示している。
【0021】また、使用メモリ全体を管理する使用メモ
リ管理テーブル44は、使用メモリの先頭ブロックのア
ドレスを保持するフィールドである使用メモリ先頭ブロ
ック45と、使用メモリの最終ブロックのアドレスを保
持するフィールドである使用メモリ最終ブロック46を
備えており、使用メモリ先頭ブロック45は使用メモリ
の先頭ブロックを、使用メモリ最終ブロック46は使用
メモリの最終ブロックをそれぞれ指し示している。
【0022】図6は、メモリ3とメモリ解放位置管理機
構13の関係を示す図である。同図に示すように、メモ
リ3の最も最近解放された空きメモリブロックは、メモ
リ解放位置管理機構13内のメモリ解放位置ポインタで
指し示されている。
【0023】タスク14は、必要なときにメモリ3を動
的に獲得、解放するが、図3に示すように、リアルタイ
ムOS12がメモリ3を管理しているため、タスク14
はメモリ3の獲得、解放をリアルタイムOS12を介し
て行う。タスク14からメモリ獲得要求が発生すると、
リアルタイムOS12は、図5で示されるような空きメ
モリ管理テーブル41の空きメモリ先頭ブロック42か
らメモリブロックを辿って、タスク14が要求するメモ
リサイズ(要求サイズ)を満たす空きメモリブロックを
検出する。
【0024】メモリブロックのサイズは、次式(1)よ
り求められる。
【0025】 メモリブロックサイズ=(最終アドレス34)−(先頭アドレス33) ・・・(1)
【0026】空きメモリブロックが要求サイズを満たし
ている場合、そのメモリブロックをタスク14に与えて
処理を終了する。一方、要求サイズが満たされていない
場合、次のブロック31を順次たどり、式(1)により
メモリブロックのサイズを算出し、要求サイズを満たす
メモリブロックが検出できるまで検索する。
【0027】メモリ解放位置管理機構13は、メモリブ
ロックの先頭アドレスを保持しているが、このメモリ解
放位置管理機構13によってメモリブロックが解放され
る度に、メモリブロックアドレスを更新し、最も最近解
放されたメモリブロックのアドレスを保持するようにし
ている。
【0028】タスク14からのメモリ解放要求が発生し
たとき、リアルタイムOS12は、ブロックの断片化を
防ぐためにメモリブロックの解放位置を検索する必要が
ある。このとき、メモリ解放位置管理機構13から、先
に保存されたメモリブロックの先頭アドレスを取り出し
て、解放されるメモリブロックの先頭アドレスと比較す
る。この比較によって、いま、解放しようとしているメ
モリブロックが、先に解放されたメモリブロックと連続
している場合、解放位置を検索する必要がないため、高
速に解放位置を検出することができる。
【0029】また、メモリ関連の処理において、メモリ
解放処理が連続しない場合、例えば、メモリ解放処理の
後にメモリ獲得処理が実行されるようなとき、メモリ獲
得処理において、メモリ解放位置管理機構13で保存し
ているメモリブロック先頭アドレスを予め決められた初
期値NULLに戻す。そして、次にメモリ解放要求が発
生した場合は、従来通り、空きメモリ先頭ブロック42
からの検索を行うこととする。
【0030】これは、メモリ獲得要求が発生した場合、
連続したアドレスのメモリブロックが解放される可能性
も低くなり、また、メモリ解放位置管理機構13で管理
しているアドレスからメモリ3が獲得される可能性があ
り、処理が複雑になり、これによって、リアルタイムO
S12の性能が低下しないようにするためである。
【0031】メモリ解放要求が発生すると、リアルタイ
ムOS12は、図7のフローチャートに示すように、ス
テップ61において、メモリ解放位置管理機構13に保
持されているアドレスが、初期値NULLであるかどう
かの確認が行われる。そして、メモリ解放位置管理機構
13に保持されているアドレスがNULLである場合、
ステップ65に進む。
【0032】ステップ65においては、従来通り、空き
メモリ管理テーブル41の空きメモリ先頭ブロック42
から順に解放位置を検索する。次式(2)を満たす場合
は、解放された空きメモリブロックの先頭アドレスを、
空きメモリ管理テーブル41の空きメモリ先頭ブロック
42に登録して、空きメモリブロックの次のブロック3
1に、それまで空きメモリ管理テーブル41の空きメモ
リ先頭ブロック42に登録されていたアドレスを登録す
る。また、それまで、空きメモリ管理テーブル41の空
きメモリ先頭ブロック42のアドレスで指定される空き
メモリブロックの前のブロック32に、いま解放された
メモリブロックの先頭アドレスを登録する。
【0033】 (空きメモリ先頭ブロック42に格納されているアドレス)>(解放されるメ モリブロックの先頭アドレス) ・・・(2)
【0034】一方、ステップ61において、メモリ解放
位置管理機構13により保持されているアドレスが初期
値NULLであり、かつ式(2)を満たさない場合、次
式(3)を満たす間は、空きメモリ先頭ブロックから、
解放位置を検索する。即ち、空きメモリの先頭ブロック
から、順次、各ブロックの次のブロック31に格納され
ている先頭アドレスと、解放するメモリブロックの先頭
アドレスを比較して、初めて次式(4)を満たすとき、
そのブロックの直前が解放位置となる。そして、ステッ
プ65の処理が終了すると、ステップ66に進み、上記
解放位置に解放されたメモリブロックを挿入する。
【0035】 (解放されるメモリブロックの先頭アドレス)>(次のブロック31の先頭ア ドレス) ・・・(3)
【0036】 (次のブロック31の先頭アドレス)>(解放されるメモリブロックの先頭ア ドレス) ・・・(4)
【0037】一方、メモリ解放位置管理機構13が保持
しているアドレスが初期値NULLでない場合、解放さ
れたメモリブロックは、メモリ解放位置管理機構13が
保持しているアドレスの近辺に存在する可能性が高い。
従って、メモリ解放位置管理機構13内のポインタが示
すアドレスを基準にして、解放されるメモリブロックの
解放位置を、次式(5)、又は次式(6)で、予めより
近い方を求めることにより、解放位置を検出する。
【0038】 (メモリ解放位置管理機構保存アドレス)>(解放されるメモリブロックの先 頭アドレス) ・・・(5)
【0039】 (解放されるメモリブロックの先頭アドレス)>(メモリ解放位置管理機構保 存アドレス) ・・・(6)
【0040】即ち、ステップ62において、解放された
メモリブロックのアドレスが、メモリ解放位置管理機構
13に保存されているアドレスより大きいか否かが判定
される。解放されたメモリブロックのアドレスが、メモ
リ解放位置管理機構13に保存されているアドレスより
大きくない(小さい)(上記式(5)を満たす)と判定
された場合、ステップ63に進み、アドレスがより小さ
い方向に、メモリ解放位置の検索を行う。
【0041】一方、解放されたメモリブロックのアドレ
スが、メモリ解放位置管理機構13に保存されているア
ドレスより大きい(上記式(6)を満たす)と判定され
た場合、ステップ64に進み、アドレスがより大きい方
向に、メモリ解放位置の検索を行う。
【0042】そして、解放位置を検出した後、ステップ
66において、検出された解放位置に解放されたメモリ
ブロックが挿入される。次に、ステップ67において、
解放位置メモリブロックの前のブロック32に格納され
ているアドレスで示される前のメモリブロックの終了ア
ドレス34と、解放されたメモリブロックの先頭アドレ
スが一致するか否か、即ち、挿入したメモリブロックに
隣接する空きメモリブロックが存在するか否かが判定さ
れる。
【0043】その結果、解放位置のメモリブロックの前
のブロック32に格納されているアドレスで示される前
のメモリブロックの終了アドレス34と、解放されたメ
モリブロックの先頭アドレスが一致する、即ち、挿入し
たメモリブロックに隣接する空きメモリブロックが存在
すると判定された場合、ステップ68に進み、前のブロ
ック32に格納されているアドレスで示される空きメモ
リブロックと結合する。
【0044】また、解放位置のメモリブロックの次のブ
ロック31に格納されているアドレスで示される次のメ
モリブロックの先頭アドレスと、解放されたメモリブロ
ックの終了アドレス34が一致する場合、次のブロック
31に格納されているアドレスで示される次のメモリブ
ロックと結合する。そして、新たに、1つの空きメモリ
ブロックとする。
【0045】そして、ステップ69において、上述した
ようにして結合してできたこの空きメモリブロックの先
頭アドレスを、メモリ解放位置管理機構13に保持させ
るようにする。
【0046】また、ステップ67において、挿入したメ
モリブロックに隣接する空きメモリブロックが存在しな
いと判定された場合、挿入したメモリブロックの先頭ア
ドレスをメモリ解放位置管理機構13に記憶させる。
【0047】以上説明したように、上記実施の形態によ
り、以下のような効果を得ることができる。即ち、メモ
リブロックが連続して解放される場合、メモリブロック
解放位置を検索する回数が減少するため、メモリ解放処
理が占有するCPU1の時間を短縮することができ、リ
アルタイムOS12の処理能力を高めることができる。
その理由は、解放した最新のメモリブロックの先頭アド
レスが保存されているため、メモリブロックの解放位置
を検出するために必要なメモリブロック検索回数を減少
させることができるからである。
【0048】なお、メモリブロックのサイズは固定で分
割されているメモリブロック管理方式で、メモリ解放位
置管理機構を備えるようにしても良い。
【0049】また、上記実施の形態では、メモリ空間
を、使用中のメモリと空きメモリの2つに分けた場合に
ついて説明したが、メモリを別の用途で使用しても良
い。
【0050】さらに、上記実施の形態においては、本発
明をマイクロコンピュータに追うようする場合について
説明したが、これに限定されるものではない。
【0051】
【発明の効果】以上の如く、本発明のメモリ管理方法お
よびメモリ管理装置、並びに記録媒体によれば、メモリ
を、割り付けが行われている使用メモリと、解放されて
いる未使用メモリとに分割してブロック単位で管理し、
使用メモリをメモリを獲得した順番に繋ぎ、未使用メモ
リをアドレス順に繋ぎ、使用メモリの所定のブロックを
解放するとき、解放されるブロックの先頭アドレスを保
存し、保存しているブロックの先頭アドレスを基準にし
て、次のブロックの解放位置の検出を行うようにしたの
で、全メモリ領域から解放位置を検出するときの検索回
数を減少させ、CPUの占有時間を短くすることがで
き、メモリ解放処理の高速化を実現するとともに、リア
ルタイムOSの性能を向上させることができる。
【図面の簡単な説明】
【図1】本発明のメモリ管理方法が適用されるマイクロ
コンピュータの一実施の形態のハードウェア構成を示す
図である。
【図2】本発明のメモリ管理方法が適用されるマイクロ
コンピュータの一実施の形態のソフトウェア構成を示す
図である。
【図3】タスクとリアルタイムOS12のメモリ獲得、
解放処理を説明する図である。
【図4】メモリブロック管理テーブルの構成例を示す図
である。
【図5】メモリ管理テーブル41,44とメモリブロッ
クの関係を示す図である。
【図6】メモリ3とメモリ解放位置管理機構13の関係
を示す図である。
【図7】メモリ解放処理の処理手順を説明するフローチ
ャートである。
【符号の説明】
1 CPU 2 ROM 3 メインメモリ 4 記憶装置 5 メモリコントローラ 6 タイマコントローラ 7 割り込みコントローラ 9 A/Dバス 10 割り込みハンドラ 11 例外ハンドラ 12 リアルタイムOS 13 メモリ解放位置管理機構 14 タスク 23 メモリ制御部 31 次のブロック 32 前のブロック 33 先頭アドレス 34 最終アドレス 35 ブロック使用状況フラグ 41 空きメモリ管理テーブル 42 空きメモリ先頭ブロック 43 空きメモリ最終ブロック 44 使用メモリ管理テーブル 45 使用メモリ先頭ブロック 46 使用メモリ最終ブロック

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 タスクからの要求に応じて、前記タスク
    に対してメモリの割り付けおよび解放を行うメモリ管理
    方法であって、 前記メモリを、割り付けが行われている使用メモリと、
    解放されている未使用メモリとに分割してブロック単位
    で管理し、 前記使用メモリをメモリを獲得した順番に繋ぎ、前記未
    使用メモリをアドレス順に繋ぎ、 前記使用メモリの所定のブロックを解放するとき、解放
    されるブロックの先頭アドレスを保存し、 保存している前記ブロックの先頭アドレスを基準にし
    て、次のブロックの解放位置の検出を行うことを特徴と
    するメモリ管理方法。
  2. 【請求項2】 前記ブロックは、少なくとも、前記ブロ
    ックに繋がれている次のブロックのアドレスと、前のブ
    ロックのアドレスと、前記ブロックの先頭アドレスと、
    前記ブロックの終了アドレスとからなるテーブルにより
    管理されることを特徴とする請求項1に記載のメモリ管
    理方法。
  3. 【請求項3】 前記使用メモリは、前記使用メモリの先
    頭ブロックのアドレスと、前記使用メモリの最後のブロ
    ックのアドレスからなるテーブルにより管理されること
    を特徴とする請求項1に記載のメモリ管理方法。
  4. 【請求項4】 前記未使用メモリは、前記未使用メモリ
    の先頭ブロックのアドレスと、前記未使用メモリの最後
    のブロックのアドレスからなるテーブルにより管理され
    ることを特徴とする請求項1に記載のメモリ管理方法。
  5. 【請求項5】 タスクからの要求に応じて、前記タスク
    に対してメモリの割り付けおよび解放を行うメモリ管理
    装置であって、 前記メモリが、割り付けが行われている使用メモリと、
    解放されている未使用メモリとに分割してブロック単位
    で管理され、前記使用メモリがメモリを獲得した順番に
    繋がれ、前記未使用メモリがアドレス順に繋がれた状態
    で、 前記使用メモリの所定のブロックを解放するとき、解放
    されるブロックの先頭アドレスを保存する保存手段と、 前記保存手段によって保存されている前記ブロックの先
    頭アドレスを基準にして、次のブロックの解放位置の検
    出を行う検出手段とを備えることを特徴とするメモリ管
    理装置。
  6. 【請求項6】 請求項1に記載のメモリ管理方法を実行
    可能なプログラムが記録されている記録媒体。
JP34797098A 1998-11-24 1998-11-24 メモリ管理方法およびメモリ管理装置、並びに記録媒体 Expired - Fee Related JP3356090B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP34797098A JP3356090B2 (ja) 1998-11-24 1998-11-24 メモリ管理方法およびメモリ管理装置、並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34797098A JP3356090B2 (ja) 1998-11-24 1998-11-24 メモリ管理方法およびメモリ管理装置、並びに記録媒体

Publications (2)

Publication Number Publication Date
JP2000163309A true JP2000163309A (ja) 2000-06-16
JP3356090B2 JP3356090B2 (ja) 2002-12-09

Family

ID=18393856

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34797098A Expired - Fee Related JP3356090B2 (ja) 1998-11-24 1998-11-24 メモリ管理方法およびメモリ管理装置、並びに記録媒体

Country Status (1)

Country Link
JP (1) JP3356090B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1146490A (ja) * 1997-07-28 1999-02-16 Matsushita Electric Works Ltd モータの回転速度制御回路
JP2005275841A (ja) * 2004-03-25 2005-10-06 Nec Electronics Corp メモリ保護装置
JP2014238767A (ja) * 2013-06-10 2014-12-18 カシオ計算機株式会社 メモリ制御装置、メモリ制御方法及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1146490A (ja) * 1997-07-28 1999-02-16 Matsushita Electric Works Ltd モータの回転速度制御回路
JP2005275841A (ja) * 2004-03-25 2005-10-06 Nec Electronics Corp メモリ保護装置
US7325113B2 (en) 2004-03-25 2008-01-29 Nec Electronics Corporation Memory protection apparatus
JP4563707B2 (ja) * 2004-03-25 2010-10-13 ルネサスエレクトロニクス株式会社 メモリ保護装置
JP2014238767A (ja) * 2013-06-10 2014-12-18 カシオ計算機株式会社 メモリ制御装置、メモリ制御方法及びプログラム

Also Published As

Publication number Publication date
JP3356090B2 (ja) 2002-12-09

Similar Documents

Publication Publication Date Title
EP0150705B1 (en) Data storage hierarchy and its method of operation
JP3308554B2 (ja) 制御装置及び制御装置の制御方法
EP0848321B1 (en) Method of data migration
JP2002533807A (ja) 割込み/ソフトウエア制御スレッド処理
JPH0743665B2 (ja) コンピユータ・システム資源管理方法
EP1014264B1 (en) A system and method for facilitating safepoint synchronization in a multithreaded computer system
JP2000200219A (ja) 仮想メモリ管理方式
EP0240616B1 (en) Method to test and set data in a record on disk in one atomic input/output operation
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
JP3356090B2 (ja) メモリ管理方法およびメモリ管理装置、並びに記録媒体
US4926324A (en) I/O control system and method
JPH0798663A (ja) 非同期i/o制御方式
JPS63172343A (ja) 命令先取り方式
US5440712A (en) Database input/output control system having nonvolatile storing unit for maintaining the database
JP2782913B2 (ja) キヤッシユ付ディスク制御装置およびそのデータ制御方法
JP2746189B2 (ja) ファイルアクセス制御システム
JP2975253B2 (ja) 多重化ボリューム装置
JPS603229B2 (ja) 情報処理方式
JP2005071141A (ja) スタック管理方法及び装置並びにスタック管理プログラム
JP3013742B2 (ja) キャッシュメモリ管理方式
JP2784520B2 (ja) ファイル転送装置
CA1306311C (en) I/o system for off-loading operating system functions
JPS63292456A (ja) 複数媒体収納型デ−タ記録装置の媒体割り当て制御方式
JPS61136131A (ja) 情報処理装置
JPH0337748A (ja) 主記憶を利用した外部記憶アクセス方式

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20071004

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20081004

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20091004

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20091004

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20101004

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20111004

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20121004

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20131004

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees