JPH08190531A - メモリバッファの管理方式 - Google Patents

メモリバッファの管理方式

Info

Publication number
JPH08190531A
JPH08190531A JP333895A JP333895A JPH08190531A JP H08190531 A JPH08190531 A JP H08190531A JP 333895 A JP333895 A JP 333895A JP 333895 A JP333895 A JP 333895A JP H08190531 A JPH08190531 A JP H08190531A
Authority
JP
Japan
Prior art keywords
memory buffer
memory
task
pool
remaining
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
JP333895A
Other languages
English (en)
Inventor
Toshiie Ono
敏家 大野
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 JP333895A priority Critical patent/JPH08190531A/ja
Publication of JPH08190531A publication Critical patent/JPH08190531A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【目的】 メモリバッファの解放忘れによりメモリバッ
ファがビジー状態となるのを防止するメモリバッファの
管理方式を提供する。 【構成】 処理装置は、メモリバッファの確保を要求す
る第1のタスクを受け付けると、第1のタスクに指定さ
れた過負荷メモリバッファ数によってメモリバッファプ
ールが過負荷状態であるかの判定を行い、メモリバッフ
ァプールが過負荷状態であると判定した場合には、使用
時間が零になっているメモリバッファの解放を該メモリ
バッファを使用している第2のタスクに対して要求し、
また、定期的にメモリバッファプールが過負荷状態であ
るかの判定を行い、過負荷状態にあるメモリバッファプ
ールを確認したときには、解放の要求が行われ、かつ、
解放がなされていないメモリバッファを強制的に解放す
る。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータシステム
のメモリ領域の管理方式に関し、特に複数のタスクによ
り共有されるメモリバッファの管理方式に関する。
【0002】
【従来の技術】複数のアプリケーションプログラム(以
下タスクと称する)に共有されるメモリ領域は、タスク
の使用目的に応じて複数に分割されて使用される。この
分割単位はメモリバッファプールと呼ばれ、少なくとも
1つのメモリバッファ(メモリバッファプールから切り
だす最小単位)から構成されている。メモリバッファの
管理は、通常オペレーティングシステム(以下OSと称
す)に従って処理を行う処理装置(不図示)の機能とし
て行なわれ、各タスクは処理装置に対してメモリバッフ
ァプールの生成、およびメモリバッファの確保を要求す
ることで、メモリ資源を確保することができる。
【0003】従来のメモリバッファの管理方式では、タ
スクからメモリバッファの確保が要求されると、処理装
置は複数のメモリバッファプールの内、指定されたメモ
リバッファプールの使用状況を調べ、メモリバッファが
確保できる場合は、メモリバッファを確保してそのアド
レスを要求したタスクに通知し、メモリバッファが確保
できない場合は、他のタスクがメモリバッファを解放し
てメモリバッファが確保できるようになるまで、要求し
たタスクをメモリ資源待ちの状態にしていた。なお、メ
モリバッファの解放は使用しているタスクがメモリバッ
ファの解放要求を行った際に行なわれている。
【0004】
【発明が解決しようとする課題】しかしながら上記のよ
うな従来のメモリバッファの管理方式では、メモリバッ
ファの解放はタスクによりメモリバッファの解放要求が
される都度行なわれるため、タスクがメモリバッファを
確保したまま解放することを忘れると、そのメモリバッ
ファが永久に解放されないままになってしまう問題点が
あった。
【0005】さらに最悪の場合、すべてのメモリバッフ
ァが解放されないままとなり、メモリバッファプールが
常にビジー状態となってしまう可能性があった。この場
合、そのメモリバッファプールからメモリバッファを確
保しようとしたタスクは、永久にメモリ資源を待つ状態
になっていた。
【0006】本発明は上記したような従来の技術が有す
る問題点を解決するためになされたものであり、メモリ
バッファの解放忘れによりメモリバッファがビジー状態
となるのを防止するメモリバッファの管理方式を提供す
ることを目的とする。
【0007】
【課題を解決するための手段】上記目的を達成するため
本発明のメモリバッファの管理方式は、複数のタスクに
共有されるメモリ領域に、前記タスクの使用目的に応じ
て複数のメモリバッファプールを生成し、前記メモリバ
ッファプールから切りだす最小単位であるメモリバッフ
ァを、前記タスクからの要求に応じて確保するメモリバ
ッファの管理方式において、前記メモリバッファを管理
するプログラムおよびデータを記憶する記憶装置と、前
記メモリバッファを管理するプログラムに従って処理を
行う処理装置とを備え、前記処理装置は、前記メモリバ
ッファプール内の前記メモリバッファの総数および過負
荷状態を示す残りメモリバッファ数を指定したメモリバ
ッファプールの生成要求受け付けると、指定に基づいて
受け付けたメモリバッファの総数および過負荷メモリバ
ッファ数を前記記憶装置に記憶させ、前記処理装置は、
前記メモリバッファの使用時間およびメモリバッファプ
ールを指定した第1のタスクからのメモリバッファの確
保要求を受け付けると、該第1のタスクの指定に基づい
て、受け付けたメモリバッファの使用時間を前記記憶装
置に記憶させるとともに、前記記憶された過負荷状態を
示す残りメモリバッファ数によって前記メモリバッファ
プールが過負荷状態であるかの判定を行い、前記メモリ
バッファプールが過負荷状態であると判定した場合に
は、使用時間が零になっているメモリバッファの解放を
該メモリバッファを使用している第2のタスクに対して
要求し、また、定期的にメモリバッファプールが過負荷
状態であるかの判定を行い、過負荷状態にあるメモリバ
ッファプールを確認したときには、解放の要求が行わ
れ、かつ、解放がなされていないメモリバッファを強制
的に解放することを特徴とする。
【0008】このとき、記憶装置には、処理装置が確保
したメモリバッファのアドレス情報を保持するメモリバ
ッファアドレスと、前記メモリバッファの残りの使用時
間が記憶される残り使用時間情報と、前記メモリバッフ
ァの解放が要求された際に前記処理装置によってオンさ
れる解放要求フラグと、前記処理装置が、前記メモリバ
ッファを使用しているタスクを、識別するための使用中
タスク識別子とを保持するメモリバッファ管理情報、並
びに、前記メモリバッファ管理情報の先頭アドレスを保
持するメモリバッファ管理情報先頭アドレスと、メモリ
バッファプール内で使用可能な残りのメモリバッファの
数が保持される残りメモリバッファ数情報と、過負荷状
態を示す残りメモリバッファ数が保持される過負荷メモ
リバッファ数情報とを保持するメモリバッファプール管
理情報が配置されていてもよい。
【0009】
【作用】上記のように構成された本発明のメモリバッフ
ァの管理方式は、メモリバッファの確保要求が第1のタ
スクによってなされたとき、処理装置は、過負荷メモリ
バッファ数によって、メモリバッファプールが過負荷状
態かどうかの判定を行い、メモリバッファプールを過負
荷状態と判定した場合は、使用時間が零になっているメ
モリバッファの解放を使用している第2のタスクに要求
し、また、定期的にメモリバッファプールが過負荷状態
であるかの判定を行い、過負荷状態にあるメモリバッフ
ァプールを確認したときには、解放の要求が行われ、か
つ、解放がなされていないメモリバッファを強制的に解
放することで、第2のタスクがメモリバッファを確保し
たまま解放しないことがあっても、処理装置はそのメモ
リバッファを強制的に解放するため、使用可能なメモリ
バッファが確保される。
【0010】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
【0011】図1は本発明のメモリバッファの管理方式
を用いる装置の構成図である。
【0012】図2は本発明のメモリバッファの管理方式
で用いる記憶装置の構成例を示した図である。
【0013】図1において、処理を行う処理装置100
には、メモリバッファの管理プログラムを含むOS、お
よび複数のアプリケーションプログラム(以下タスクと
称する)が記憶される記憶装置200と、処理装置10
0に対して情報の入力を行う入力装置300と、処理装
置100の処理結果を出力する出力装置400と、複数
のメモリバッファプールからなるメモリ領域500が接
続されている。
【0014】図2において、記憶装置200には、メモ
リバッファを管理するために、メモリバッファ11の管
理情報を保持するメモリバッファ管理情報5、およびメ
モリバッファプール10の管理情報を保持するメモリバ
ッファプール管理情報1が配置されている。
【0015】メモリ領域500に配置されるメモリバッ
ファプール10は少なくとも一つのメモリバッファ11
(メモリバッファプールから切りだす最小単位)によっ
て構成されている。メモリバッファ管理情報5は対応す
るメモリバッファ11の管理情報を保持しており、確保
したメモリバッファ11の先頭のアドレス情報を保持す
るメモリバッファアドレス6と、メモリバッファ11が
使用可能な時間を保持する残り使用時間情報7と、処理
装置100がタスクに対してメモリバッファ11の解放
要求をするときにオンする解放要求フラグ8と、メモリ
バッファ11を使用しているタスクを識別するための使
用中タスク職別子9とによって構成されている。また、
メモリバッファプール管理情報1はメモリバッファプー
ル10の管理情報を保持しており、メモリバッファ管理
情報5の先頭アドレスを保持するメモリバッファ管理情
報先頭アドレス2と、メモリバッファプール10内で使
用可能な残りのメモリバッファ11の数が保持される残
りバッファ数情報3と、メモリバッファプール10内で
使用可能な残りのメモリバッファ11数が少なくなった
状態(以下過負荷状態と称す)を判断するためのメモリ
バッファ11数(以下過負荷メモリバッファ数と称す)
が保持される過負荷メモリバッファ数情報4とによって
構成されている。
【0016】このような構成において、次にメモリバッ
ファ11の管理方法について図3を参照して説明する。
【0017】本実施例では、タスクからのメモリバッフ
ァ11の確保要求に対して処理を行うメモリバッファ管
理プログラムと、タスクがメモリバッファ11の解放要
求を実行しているかどうかを監視するメモリバッファ監
視プログラムとが記憶装置200に記憶されている。処
理装置100はこれら2つのプログラムに従ってメモリ
バッファ11の管理を行う。
【0018】図3は本発明のメモリバッファの管理方式
を説明する図であり、同図(a)はメモリバッファ管理
プログラムのフローチャート、同図(b)はメモリバッ
ファ監視プログラムのフローチャートである。
【0019】まず、メモリバッファプール10がまだ未
生成の場合、各タスクはメモリバッファプール10を構
成するメモリバッファ11の総数および過負荷メモリバ
ッファ数を指定して、メモリバッファプール10の生成
を処理装置100に要求する。
【0020】処理装置100はメモリバッファ管理プロ
グラムに従って、メモリバッファプール10をメモリ領
域500に生成し、合わせてメモリバッファ管理情報5
の先頭アドレスをメモリバッファプール管理情報1内の
メモリバッファ管理情報先頭アドレス2に設定し、各メ
モリバッファ11の先頭アドレスをそれぞれのメモリバ
ッファ管理情報5内のメモリバッファアドレス6に設定
する。
【0021】また、タスクから指定されたメモリバッフ
ァ11の総数および過負荷メモリバッファ数を基にし
て、メモリバッファプール管理情報1内の残りバッファ
数情報3にメモリバッファの総数を設定し、過負荷メモ
リバッファ数情報4に過負荷メモリバッファ数を設定す
る。
【0022】図3において、タスクはメモリバッファプ
ールが生成された後、使用するメモリバッファプール1
0とメモリバッファ11の使用時間とを指定して、メモ
リバッファ11の確保を処理装置100に要求する。
【0023】処理装置100はメモリバッファ管理プロ
グラムに従って、指定されたメモリバッファプール10
の使用状況を調べ、メモリバッファ11が確保できるか
どうかを判断する(フロー21)。メモリバッファ11
が確保できる場合は、メモリバッファ11を確保する。
この際、残りメモリバッファ数情報3に保持されたメモ
リバッファ数から使用するメモリバッファ11の数を減
算し、タスクが指定したメモリバッファ11の使用時間
を残り使用時間情報7に設定する。また、メモリバッフ
ァ11を使用するタスクの識別子を使用中タスク識別子
9に設定する。処理装置100はメモリバッファ11の
確保ができたら、確保したメモリバッファ11のアドレ
スを要求したタスクに通知する(フロー22)。
【0024】また、メモリバッファ11が確保できない
場合は、メモリバッファ11が確保できるようになるま
で要求したタスクをメモリ資源待ちの状態にする(フロ
ー23)。
【0025】次に、処理装置100はメモリバッファプ
ール管理情報1内の残りメモリバッファ数情報3に保持
された残りのメモリバッファ数と、過負荷メモリバッフ
ァ数情報4に保持された過負荷メモリバッファ数とを比
較し、そのメモリバッファプール10が過負荷状態かど
うかの判定を行う(フロー24)。メモリバッファプー
ル10が過負荷状態と判定した場合は、そのメモリバッ
ファプール10内の各メモリバッファ11について、残
り使用時間情報7に保持されたメモリバッファ11の使
用時間の残りが零になっていないかどうかの判定を行う
(フロー25)。そして使用時間の残りが零となってい
るメモリバッファ11を見つけた場合は、そのメモリバ
ッファ11の解放要求フラグ8をオンにし、そのメモリ
バッファ11を使用しているタスク(使用中タスク識別
子9によって識別されるタスク)に対して、メモリバッ
ファ11の解放要求を通知する(フロー26)。
【0026】解放要求を通知されたタスクではエラー処
理を行った後、そのメモリバッファ11を解放する。し
かしながら、メモリバッファ11の解放要求を通知され
たタスクが解放要求を無視したり、既に終了していた場
合は、そのメモリバッファ11は解放されないままにな
ってしまう。このため、処理装置100はメモリバッフ
ァ監視プログラムに従ってこうした状況の発生を監視す
る。
【0027】まず、処理装置100はメモリバッファ監
視プログラムに従って、周期的にメモリバッファ11の
使用時間の残りが零かどうかの判定を行う(フロー3
1)。ここで、メモリバッファ11の残り使用時間が零
でない場合は使用時間の減算を行う(フロー32)。
【0028】また、周期的に残りメモリバッファ数と過
負荷メモリバッファ数との比較を行い、各メモリバッフ
ァプール10が過負荷状態かどうかの判定を行う(フロ
ー33)。ここで、過負荷状態と判定するメモリバッフ
ァプール10があった場合、そのメモリバッファプール
10内の各メモリバッファ11について、解放要求フラ
グ8がオンになっていないかどうかの判定を行う(フロ
ー34)。そして解放要求フラグ8がオンになっている
メモリバッファ11があった場合、そのメモリバッファ
11を強制的に解放し(フロー35)、そのメモリバッ
ファ11を使用していたタスクに対して、メモリバッフ
ァ11を強制的に解放したことを通知し、解放要求フラ
グ8をオフに設定する(フロー36)。
【0029】したがって、タスクがメモリバッファを確
保したまま解放しないことがあっても、処理装置100
はメモリバッファ監視プログラムに従って、そのメモリ
バッファを強制的に解放するため、メモリバッファプー
ルが常にビジー状態となるのを防ぐことができ、メモリ
バッファの確保を要求したタスクが永久にメモリ資源を
待つ状態になることがない。
【0030】
【発明の効果】本発明は以上説明したように構成されて
いるので、以下に記載する効果を奏する。
【0031】メモリバッファの確保要求が第1のタスク
によってなされたとき、処理装置は、過負荷メモリバッ
ファ数によって、メモリバッファプールが過負荷状態か
どうかの判定を行い、メモリバッファプールを過負荷状
態と判定した場合は、使用時間が零になっているメモリ
バッファの解放を使用している第2のタスクに要求し、
また、定期的にメモリバッファプールが過負荷状態であ
るかの判定を行い、過負荷状態にあるメモリバッファプ
ールを確認したときには、解放の要求が行われ、かつ、
解放がなされていないメモリバッファを強制的に解放す
ることで、第2のタスクがメモリバッファを確保したま
ま解放しないことがあっても、処理装置はそのメモリバ
ッファを強制的に解放するため、メモリバッファプール
が常にビジー状態となるのを防ぐことができ、メモリバ
ッファの確保を要求したタスクが永久にメモリ資源を待
つ状態になることがない。
【図面の簡単な説明】
【図1】本発明のメモリバッファの管理方式を用いる装
置の構成図である。
【図2】本発明のメモリバッファの管理方式で用いる記
憶装置の構成例を示した図である。
【図3】本発明のメモリバッファの管理方式を説明する
図であり、同図(a)はメモリバッファ管理プログラム
のフローチャート、同図(b)はメモリバッファ監視プ
ログラムのフローチャートである。
【符号の説明】
1 メモリバッファプール管理情報 2 メモリバッファ管理情報先頭アドレス 3 残りメモリバッファ数情報 4 過負荷メモリバッファ数情報 5 メモリバッファ管理情報 6 メモリバッファアドレス 7 残り使用時間 8 解放要求フラグ 9 使用中タスク識別子 10 メモリバッファプール 11 メモリバッファ 100 処理装置 200 記憶装置 300 入力装置 400 出力装置 500 メモリ領域

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 複数のタスクに共有されるメモリ領域
    に、前記タスクの使用目的に応じて複数のメモリバッフ
    ァプールを生成し、前記メモリバッファプールから切り
    だす最小単位であるメモリバッファを、前記タスクから
    の要求に応じて確保するメモリバッファの管理方式にお
    いて、 前記メモリバッファを管理するプログラムおよびデータ
    を記憶する記憶装置と、 前記メモリバッファを管理するプログラムに従って処理
    を行う処理装置とを備え、 前記処理装置は、前記メモリバッファプール内の前記メ
    モリバッファの総数および過負荷状態を示す残りメモリ
    バッファ数を指定したメモリバッファプールの生成要求
    受け付けると、指定に基づいて受け付けたメモリバッフ
    ァの総数および過負荷メモリバッファ数を前記記憶装置
    に記憶させ、 前記処理装置は、前記メモリバッファの使用時間および
    メモリバッファプールを指定した第1のタスクからのメ
    モリバッファの確保要求を受け付けると、該第1のタス
    クの指定に基づいて、受け付けたメモリバッファの使用
    時間を前記記憶装置に記憶させるとともに、前記記憶さ
    れた過負荷状態を示す残りメモリバッファ数によって前
    記メモリバッファプールが過負荷状態であるかの判定を
    行い、前記メモリバッファプールが過負荷状態であると
    判定した場合には、使用時間が零になっているメモリバ
    ッファの解放を該メモリバッファを使用している第2の
    タスクに対して要求し、また、定期的にメモリバッファ
    プールが過負荷状態であるかの判定を行い、過負荷状態
    にあるメモリバッファプールを確認したときには、解放
    の要求が行われ、かつ、解放がなされていないメモリバ
    ッファを強制的に解放することを特徴とするメモリバッ
    ファの管理方式。
  2. 【請求項2】 請求項1に記載のメモリバッファの管理
    方式において、 記憶装置には、 処理装置が確保したメモリバッファのアドレス情報を保
    持するメモリバッファアドレスと、 前記メモリバッファの残りの使用時間が記憶される残り
    使用時間情報と、 前記メモリバッファの解放が要求された際に前記処理装
    置によってオンされる解放要求フラグと、 前記処理装置が、前記メモリバッファを使用しているタ
    スクを、識別するための使用中タスク識別子とを保持す
    るメモリバッファ管理情報、 並びに、前記メモリバッファ管理情報の先頭アドレスを
    保持するメモリバッファ管理情報先頭アドレスと、 メモリバッファプール内で使用可能な残りのメモリバッ
    ファの数が保持される残りメモリバッファ数情報と、 過負荷状態を示す残りメモリバッファ数が保持される過
    負荷メモリバッファ数情報とを保持するメモリバッファ
    プール管理情報が配置されていることを特徴とするメモ
    リバッファの管理方式。
JP333895A 1995-01-12 1995-01-12 メモリバッファの管理方式 Pending JPH08190531A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP333895A JPH08190531A (ja) 1995-01-12 1995-01-12 メモリバッファの管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP333895A JPH08190531A (ja) 1995-01-12 1995-01-12 メモリバッファの管理方式

Publications (1)

Publication Number Publication Date
JPH08190531A true JPH08190531A (ja) 1996-07-23

Family

ID=11554579

Family Applications (1)

Application Number Title Priority Date Filing Date
JP333895A Pending JPH08190531A (ja) 1995-01-12 1995-01-12 メモリバッファの管理方式

Country Status (1)

Country Link
JP (1) JPH08190531A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH052468A (ja) * 1991-02-13 1993-01-08 Oki Electric Ind Co Ltd バツフアメモリ管理方式
JPH05100874A (ja) * 1991-10-09 1993-04-23 Nec Corp タスク間データ転送システム
JPH06208474A (ja) * 1993-01-08 1994-07-26 Nec Eng Ltd 情報処理装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH052468A (ja) * 1991-02-13 1993-01-08 Oki Electric Ind Co Ltd バツフアメモリ管理方式
JPH05100874A (ja) * 1991-10-09 1993-04-23 Nec Corp タスク間データ転送システム
JPH06208474A (ja) * 1993-01-08 1994-07-26 Nec Eng Ltd 情報処理装置

Similar Documents

Publication Publication Date Title
JP3678414B2 (ja) 多重プロセッサ・システム
US5349682A (en) Dynamic fault-tolerant parallel processing system for performing an application function with increased efficiency using heterogeneous processors
CN102479108B (zh) 一种多应用进程的嵌入式系统终端资源管理系统及方法
US6438553B1 (en) Distributed job integrated management system and method
JP2866241B2 (ja) コンピュータシステムおよびスケジューリング方法
US5748959A (en) Method of conducting asynchronous distributed collective operations
US20090083746A1 (en) Method for job management of computer system
JP4407956B2 (ja) 情報処理方法および情報処理装置
CN109710416B (zh) 资源调度方法及装置
CN114706663A (zh) 一种计算资源调度方法、介质及计算设备
CN114721824A (zh) 一种资源分配方法、介质以及电子设备
US20070256078A1 (en) Resource reservation system, method and program product used in distributed cluster environments
EP0913770A2 (en) Method and apparatus for sharing a time quantum
JPH0877025A (ja) タスクの優先度制御方法、タスクの優先度制御装置
JP3429582B2 (ja) マルチプロセッサシステム
JP2015148909A (ja) 並列計算機システム、並列計算機システムの制御方法及び管理ノードの制御プログラム
JP3746826B2 (ja) 資源ロック制御機構
JPH08190531A (ja) メモリバッファの管理方式
JP2008225641A (ja) コンピュータシステム、割り込み制御方法及びプログラム
JPH08305560A (ja) ライセンス管理システム
JPH04314147A (ja) メモリ管理方式
JP4179110B2 (ja) 情報処理装置、情報処理プログラムおよび情報処理方法
JP3876816B2 (ja) コンピュータの共有資源利用制限方法
JP2003186686A (ja) リソース制御装置、方法及び記憶媒体
JP2692647B2 (ja) マルチタスク制御方法および制御システム