JPH01133143A - アプリケーションプログラムでの動的バッファ管理方式 - Google Patents

アプリケーションプログラムでの動的バッファ管理方式

Info

Publication number
JPH01133143A
JPH01133143A JP62290985A JP29098587A JPH01133143A JP H01133143 A JPH01133143 A JP H01133143A JP 62290985 A JP62290985 A JP 62290985A JP 29098587 A JP29098587 A JP 29098587A JP H01133143 A JPH01133143 A JP H01133143A
Authority
JP
Japan
Prior art keywords
buffer
application program
buffer management
operating system
routine
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
JP62290985A
Other languages
English (en)
Other versions
JP2535568B2 (ja
Inventor
Masanobu Kanazawa
昌信 金澤
Yoshimitsu Akagi
赤木 良光
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 JP62290985A priority Critical patent/JP2535568B2/ja
Publication of JPH01133143A publication Critical patent/JPH01133143A/ja
Application granted granted Critical
Publication of JP2535568B2 publication Critical patent/JP2535568B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Abstract

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

Description

【発明の詳細な説明】 〔目 次〕 概要 産業上の利用分野 従来の技術と発明が解決しようとする問題点問題点を解
決するための手段 作用 実施例 発明の効果 〔(既要〕 アプリケーションプログラムにおけるシステムバッファ
に対する動的管理方式に関し、アプリケーションプログ
ラムが使用済のシステムバッファをオペレーティングシ
ステム(OS)に返却することを忘れることによる、バ
ッファ待ちの発生と、システム全体の処理能力の低下を
防ぐことを目的とし、 アプリケーションプログラム内に、自分が使用している
システムバッファに対するバッファ管理表と、該バッフ
ァ管理表に基づいて、オペレーティングシステム(OS
)との間でシステムバッファの獲得、返却を管理するロ
ーカルバッファ管理ルーチンとを設け、アプリケーショ
ンプログラムからのシステムバッファに対する獲得要求
がある毎に、又は、該アプリケーションプログラムでの
処理の終了時に、上記ローカルバッファ管理ルーチンが
、上記バッファ管理表を検索して、アプリケーションプ
ログラムが要求しているシステムバッファをrJ電保し
、8亥アブリケーションブログラムカく使用していない
システムバッファをオペレーティングシステム(OS)
に返却すると共に、該バッファ管理表に、アプリケーシ
ョンプログラムが要求するシステムバッファが存在しな
いときに限り、該ローカルバッファ管理ルーチンがオペ
レーティングシステム(OS)にシステムバッファの獲
得の要求を生起するように構成する。
〔産業上の利用分野〕
本発明は、アプリケーションプログラムにおけるシステ
ムバッファに対する動的管理方式に関する。
最近のソフトウェア技術の進歩に伴って、ワークステー
ション(WS)と云った小型の計算機システムにおいて
も、マルチタスクによる処理をサポートするオペレーテ
ィングシステム(OS)を搭載するようになってきた。
−Cに、マルチタスクシステムにおいては、各タスクが
複数のプログラマによって生成されることが多くなる為
、各タスクでのプログラム品質に差が出てくることが多
く、プログラムの誤りを絶無にすることができないのが
現状である。
一方、このような小型の計算機システムにおいては、主
記憶装置(11s)の容量が比較的に小さいことが多い
が、上記タスクの数が増加してくると、上記プログラム
の誤り等によって、各タスクにおいて使用済のシステム
バッファの返却忘れ等を発生し、オペレーティングシス
テム(OS)において、他のタスクが必要とするシステ
ムバッファの獲得ができず、該タスクにおいて「システ
ムバッファ待ち」となることがあり、システム全体の処
理能力に多大な影響を与えることになることから、該プ
ログラムの誤りに影響されないシステムバッファ管理方
式が必要とされるようになってきた。
〔従来の技術と発明が解決しようとする問題点〕第3図
は従来のシステムバッファ管理方式を説明する図であり
、(a)はバッファ管理の体系を示し、(b)はバッフ
ァ待ちが発生する迄の動作過程を示すタイムチャートで
ある。
一般に、マルチタスクシステムにおいては、1つのアプ
リケーションプログラム2が、1つ、又は複数個のタス
クからなり、オペレーティングシステム(O5) 1の
管理の基に、各アプリケーションプログラム2からの要
求に基づいて、各タスクが順次起動されて処理を実行す
ることにより、各アブリケーションプログラム2の一連
の処理が完了する。
このとき、各アプリケーションプログラム2を構成して
いる各タスクが使用可能なシステムバッファ11につい
ては、オペレーティングシステム(O5) 1が、該シ
ステムバッファを“空き領域”の形で管理しているだけ
であって、オペレーティングシステム(O5) 1から
は各アプリケーションプログラム2でのシステムバッフ
ァ11に対する使用状況を把握することはできない。
この為、本図の(a)に示したように、システムバッフ
ァ 11を使用する要求を発生したタスクは、オペレー
ティングシステム(O5) 1にシステムバッファの獲
得を要求し、この要求を受けたオペレーティングシステ
ム(OS) 1はシステムバッファ11の“空き領域”
を検索し、見つかると、その領域のアドレス等を該アプ
リケーションプログラム(A。
It) 2の当:亥タスクに通知■する。
該通知■を受けたタスクは処理が終了して、該システム
バッファ11の使用の終了を認識後、オペレーティング
システム(OS)に返却■することになっている。
然し、マルチタスクシステムのように、システムバッフ
ァ11を要求するタスクの数が多いシステムのもとで、
このようなバッファ管理方式が行われると、本図(b)
に示すように、例えば、アプリケーションタスクA2が
システムバッファ 11を獲得した侭、返却をしないで
処理を終了■してしまい、オペレーティングシステム(
OS) lにおいてタスク切り替え■を行うと、次に開
始したアプリケーションタスクB2がシステムバッファ
 11の獲得を要求したとき、該要求したサイズのシス
テムバッファ11の“空き”が無いことが、オペレーテ
ィングシステム(OS) 1において認識されることが
゛ある。
従って、この場合には、“空きバッファなし”として「
システムウェイト」を起こしてしまうことがあり、タス
クの数が多くなると、このような事象の発生する確率が
多くなる傾向になると云う問題があった。
本発明は上記従来の欠点に鑑み、アプリケーションプロ
グラム自身はシステムバッファの使用状況を認識してい
ることに着目し、アプリケーションタスクがシステムバ
ッファの返却を忘れるようなことがあっても「システム
ウェイト」の生起することがないシステムバッファ管理
方式を提供することを目的とするものである。
〔問題点を解決するための手段〕
第1図は本発明のシステムバッファ管理方式の原理を説
明する図である。
上記の問題点は下記の如くに構成されたアプリケーショ
ンプログラムでのシステムバッファ管理方式によって解
決される。
オペレーティングシステム(OS) 1の管理の基に、
各アプリケーションプログラム2が要求するシステムバ
ッファ11を獲得して、該アプリケーションプログラム
2に通知し、各アプリケーションプログラム2での処理
の終了時において、該アプリケーションプログラム2か
らオペレーティングシステム(O5) 1に該システム
バッファ11ヲ返却スる方式において、 各アプリケーションプログラム2内に、自分が使用して
いるシステムバッファ11に対するバッファ管理表21
と、 該バッファ管理表21に基づいて、オペレーティングシ
ステム(OS) 1との間でシステムバッファの獲得、
返却を管理するローカルバッファ管理ルーチン22とを
設け、 アプリケーションプログラム2からのシステムバッファ
に対する獲得要求がある毎に、又は、該アプリケーショ
ンプログラム2での処理の終了時に、上記ローカルバッ
ファ管理ルーチン22が、上記バッファ管理表21を検
索して、アプリケーションプログラム2が要求している
システムバッファ 11を石奮保し、3亥アプリケーシ
ョンプログラムペレーティングシステム(OS) 1に
返却すると共に、該バッファ管理表21に、アプリケー
ションプログラム2が要求するシステムバッファ 11
が存在しないときに限り、該ローカルバッファ管理ルー
チン22がオペレーティングシステム(OS) 1にシ
ステムバッファ11の獲得の要求を生起するように構成
する。
〔作用〕
即ち、本発明によれば、例えば、各アプリケーションプ
ログラム毎に、バッファ管理表と、該バッファ管理表を
参照してシステムバッファの使用状況を管理するローカ
ルバッファ管理ルーチンとを設け、アプリケーションプ
ログラム内でシステムバッファ獲得の要求が発生した場
合、又は、該アプリケーションプログラムの処理が終了
した場合には、該ローカルバッファ管理ルーチンを介し
てオペレーティングシステム(OS)に処理を引き渡し
を行うようにする。
ローカルバッファ管理ルーチンは、アプリケーションプ
ログラムから起動がある毎に、該起動条件に基づいて、
上記バッファ管理表を検索して、アプリケーションプロ
グラムが要求しているサイズのシステムバッファが有れ
ば、例えば、フラグを立てて該システムバッファを確保
し、アプリケーションプログラムが要求するサイズに合
わないシステムバッファが残っていると、未使用と認識
してオペレーティングシステム(O8)に返却する。
又、該アプリケーションプログラムの処理の終了時点に
おいて、必ず当該ローカルバッファ管理ルーチンを起動
させるようする。
この場合にはシステムバッファに対する獲得要求はない
ので、該ローカルバッファ管理ルーチンは、残っている
全てのシステムバソファヲオペレーティングシステム(
OS)に返却するように機能するので、アプリケーショ
ンプログラムにおいて、オペレーティングシステム(O
8)に対する使用済バッファの返却忘れが起こることが
なくなり、システムの信頼度が向上する効果がある。
〔実施例〕
以下本発明の実施例を図面によって詳述する。
前述の第1図が本発明のシステムバッファ管理方式の原
理を説明する図であり、(a)は構成例を示し、(b)
は管理動作の流れを示しており、第2図は本発明の一実
施例を示した図であって、(a)は本発明のローカルバ
ッファ管理ルーチンを流れ図で示したものであり、(b
)は本発明のバッファ管理表の一例を示したもので、第
1図、第2図におけるバッファ管理表21と、ローカル
バッファ管理ルーチン22と、該ローカルバッファ管理
ルーチン22とアプリケーションプログラムとの間のイ
ンタフェース手段が本発明を実施するのに必要な手段で
ある。尚、全図を通して同じ符号は同じ対象物を示して
いる。
以下、第1図、第2図によって、本発明によるアプリケ
ーションプログラムでの動的バッファ管理方式を説明す
る。
本発明においては、各アプリケーションプログラム2は
、ローカルバッファ管理ルーチン22を介してのみ、オ
ペレーティングシステム(OS) 1と処理の受は渡し
を行うことができる。
先ず、オペレーティングシステム(OS) 1からの指
示により、該−7プリケーシヨンプログラム2を構成し
ているタスクAが起動されると、該タスクAが実行する
処理に必要なシステムバッファを獲得する為に、本発明
のローカルバッファ管理ルーチン(A) 22を起動す
る。(第1図(b)のLBM−A参照) 該起動されたローカルバッファ管理ルーチン22は、各
アプリケーションプログラム2毎に設けられているバッ
ファ管理表21を検索する。
該バッファ管理表21は、例えば、第2図(b)に示す
ように構成されており、それまでに、該アプリケーショ
ンプログラム2が使用していたシステムバッファ11に
ついて、そのバッファアドレスとパンファサイズと、保
持ピントを持っていて、少なくとも現在使用中1又は、
該アプリケーションプログラム2の処理が終了する迄そ
の内容を保持しておく必要のあるシステムバッファ 1
1に対する保持ビットが“1゛になっている。
この状態において、アプリケーションタスクA2から起
動されると、該タスクA2が獲得しだいシステムバッフ
ァ11のサイズ(S)、他に獲得したいシステムバッフ
ァのサイズ(O)、オペレーテインさ グシステム(OS) 1に返却しないで保持してお←た
いシステムバッファ (該アプリケーションプログラム
の処理中では壊されたくないデータが入っているシステ
ムバッファ)のアドレス(H) 等t−パラメータ情報
(引数)として受は取るので、このパラメータ情報に基
づいて、上記バッファ管理表21を検索する。
今、起動を受けたときのパラメータ条件Aが、例えば、
上記のパラメータ(S)のみであったとすると、該条件
Aについて検索し、該バッファ管理表21に該条件Aに
該当するシステムバッファ11が有ると、該当システム
バッファ −1の保持ビットを°l”として確保し、そ
の他のシステムバッファ11の保持ピントを°0°とじ
て、オペレーティングシステム(OS) 1に返却■す
るように動作する。(第2図(a)のステップ220,
221,224,223、及び第1図(b)の流れ図に
おける“LBM−A’の動作参照) そして、元のアプリケーションプログラム2に復帰する
とき、該タスクA2が要求したシステムバッファ11の
アドレス(復帰値)を持って復帰する。
若し、該条件Aを満足するシステムバッファーlが当該
バッファ管理表21に存在しないと認識された場合には
、オペレーティングシステム(OS)■にバッファの獲
得の依頼■を行うと共に、それ迄持っていたシステムバ
ッファ11の保持ビットを°0°にして、オペレーティ
ングシステム(OS) 1に全て返却するように動作す
る。(第2図(a)のステップ220,221,222
,223.及び第1図(b)の流れ図におけるLBH−
8の動作参照) 更に、本発明においては、当該アプリケーションプログ
ラム十の終了タスクの実行時において、必ず、上記ロー
カルバッファ管理ルーチン22を起動するようにする。
このときには当然のことながら、システムバッファ11
を獲得する要求は最早ないので、上記パラメータ(S、
0.8)情報は付加されていないことになり、当該ロー
カルバッファ管理ルーチン22は、該バッファ管理表2
1に残っている全てのシステムバッファ11の保持ビッ
トを°0”にして、オペレーティングシステム(O5)
 1に返却するように機能する。
従って、アプリケーションプログラム2側で、使用済の
システムバッファの返却を忘れることが起こり得ない為
、システムの信幀度が向上することになる。
尚、上記実施例においては、各アプリケーションプログ
ラム毎に、バッファ管理表と、ローカルバッファ管理ル
ーチンを設ける例で説明したが、本発明の主旨から考え
て上記の方式に限定されるものではなく、上記バッファ
管理表は各アプリケーションプログラム毎に設けて、ロ
ーカルバッファ管理ルーチンは、各バッファ管理表に共
通に唯1個設けるようにしても良いことは云う迄もない
ことである。
このように、本発明は、アプリケーションプログラムに
おけるシステムバッファに対する管理方式において、例
えば、アプリケーションプログラム毎に、バッファ管理
表と、アプリケーションプログラムからの要求に基づい
て、該バッファ管理表を検索し、アプリケーションタス
クの必要とするシステムバッファの確保、及び不要なシ
ステムバッファの返却を管理するローカルバッファ管理
ルーチンとを設けて、アプリケーションタスクがオペレ
ーティングシステム(O8)によって起動される毎に、
又は、該アプリケーションプログラムの処理が終了した
時点において、上記ローカルバッファ管理ルーチンが起
動され、該アプリケーションタスクからのパラメータ情
報に基づいて、3亥アプリケーシヨンタスクが必要とす
るシステムバッファの確保、不要バッファのオペレーテ
ィングシステム(OS)への返却を動的に行うようにし
たところに特徴がある。
〔発明の効果〕
以上、詳細に説明したように、本発明のアプリケーショ
ンプログラムでの動的バッファ管理方式は、アプリケー
ションプログラム内に、自分が使用しているシステムバ
ッファに対するバッファ管理表と、該バッファ管理表に
基づいて、オペレーティングシステム(O5)に対する
システムバッファの獲得、返却を管理するローカルバッ
ファ管理ルーチンとを設け、アプリケーションプログラ
ムからのシステムバッファに対する確保要求がある毎に
、又は、該アプリケーションプログラムでの処理の終了
時に、上記ローカルバッファ管理ルーチンが、上記バッ
ファ管理表を検索して、アプリケーションプログラムが
要求しているシステムバッファを確保し、l亥アプリケ
ーションプログラム使用していないシステムバッファを
オペレーティングシステム(OS)に返却すると共に、
該バッファ管理表に、アプリケーションプログラムが要
求するシステムバッファが存在しないときに限り、該ロ
ーカルバッファ管理ルーチンがオペレーティングシステ
ム(OS)にシステムバッファの獲得の要求を生起する
ようにしたものであるので、アプリケーションプログラ
ムでのシステムバッファの返却忘れが起こることがなく
、システムウェイトを防止してシステムの信頼度を向上
させることができる効果がある。
【図面の簡単な説明】
第1図が本発明のシステムバッファ管理方式の原理を説
明する図。 第2図は本発明の一実施例を示した図。 第3図は従来のシステムバッファ管理方式を説明する図
。 である。 図面において、 1はオペレーティングシステム(OS)。 11はシステムバッファ。 2はアプリケーションプログラム。 21はバッファ管理表。 22はローカルバッファ管理ルーチン。 ■はバッファ獲得通知処理。 ■,■はバッファ返却処理。 ■は終了処理,    ■はタスク切替処理。 ■はバッファ獲得要求処理。 をそれぞれ示す。 (a) (′b) 禾発明nシステムバ・ソファ菅矛甲方ga万を(呈2穀
g′Aする図 第 1  図 (す 木発日月め一喫ガシ伊itホした図 (す

Claims (2)

    【特許請求の範囲】
  1. (1)オペレーティングシステム(OS)(1)の管理
    の下に、各アプリケーションプログラム(2)が要求す
    るシステムバッファ(11)を獲得して、該アプリケー
    ションプログラム(2)に通知し、各アプリケーション
    プログラム(2)での処理の終了時において、該アプリ
    ケーションプログラム(2)からオペレーティングシス
    テム(OS)(1)に該システムバッファ(11)を返
    却する方式において、各アプリケーションプログラム(
    2)内に、自分が使用しているシステムバッファ(11
    )に対するバッファ管理表(21)と、 該バッファ管理表(21)に基づいて、オペレーティン
    グシステム(OS)(1)との間でシステムバッファの
    獲得、返却を管理するローカルバッファ管理ルーチン(
    22)とを設け、 アプリケーションプログラム(2)からのシステムバッ
    ファに対する獲得要求がある毎に、又は、該アプリケー
    ションプログラム(2)での処理の終了時に、上記ロー
    カルバッファ管理ルーチン(22)が、上記バッファ管
    理表(21)を検索して、アプリケーションプログラム
    (2)が要求しているシステムバッファ(11)を確保
    し、該アプリケーションプログラム(2)が使用してい
    ないシステムバッファ(11)をオペレーティングシス
    テム(OS)(1)に返却すると共に、 該バッファ管理表(21)に、アプリケーションプログ
    ラム(2)が要求するシステムバッファ(11)が存在
    しないときに限り、該ローカルバッファ管理ルーチン(
    22)がオペレーティングシステム(OS)(1)にシ
    ステムバッファ(11)の獲得の要求を生起することを
    特徴とするアプリケーションプログラムでの動的バッフ
    ァ管理方式。
  2. (2)上記ローカルバッファ管理ルーチン(22)を、
    各アプリケーションプログラム(2)毎に設けられてい
    るバッファ管理表(21)に共通に設けたことを特徴と
    する特許請求の範囲第1項に記載のアプリケーションプ
    ログラムでの動的バッファ管理方式。
JP62290985A 1987-11-18 1987-11-18 アプリケ―ションプログラムでの動的バッファ管理方式 Expired - Lifetime JP2535568B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP62290985A JP2535568B2 (ja) 1987-11-18 1987-11-18 アプリケ―ションプログラムでの動的バッファ管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP62290985A JP2535568B2 (ja) 1987-11-18 1987-11-18 アプリケ―ションプログラムでの動的バッファ管理方式

Publications (2)

Publication Number Publication Date
JPH01133143A true JPH01133143A (ja) 1989-05-25
JP2535568B2 JP2535568B2 (ja) 1996-09-18

Family

ID=17762970

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62290985A Expired - Lifetime JP2535568B2 (ja) 1987-11-18 1987-11-18 アプリケ―ションプログラムでの動的バッファ管理方式

Country Status (1)

Country Link
JP (1) JP2535568B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328944A (ja) * 1995-05-31 1996-12-13 Nec Corp メモリ管理方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08328944A (ja) * 1995-05-31 1996-12-13 Nec Corp メモリ管理方式

Also Published As

Publication number Publication date
JP2535568B2 (ja) 1996-09-18

Similar Documents

Publication Publication Date Title
US5687372A (en) Customer information control system and method in a loosely coupled parallel processing environment
US5093912A (en) Dynamic resource pool expansion and contraction in multiprocessing environments
US8756613B2 (en) Scalable, parallel processing of messages while enforcing custom sequencing criteria
US9201691B2 (en) Method, apparatus and system for coordinating execution of tasks in a computing system having a distributed shared memory
US7150020B2 (en) Resource management
US6219689B1 (en) Parallel transaction processing system
US20070124547A1 (en) Method, apparatus and computer program product for managing access to storage
EP0747813A2 (en) Customer information control system and method with temporary storage queuing functions in a loosely coupled parallel processing environment
US7970814B2 (en) Method and apparatus for providing a synchronous interface for an asynchronous service
US6779180B1 (en) Apparatus and method for preventing stack overflow from synchronous completion of asynchronous functions
US5790868A (en) Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment
US5630133A (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
US20030018682A1 (en) Computer system and computer-readable record medium
US9274819B2 (en) Performing garbage collection using a virtual thread in operating system without kernel thread support
JP2821345B2 (ja) 非同期i/o制御方式
JPH01133143A (ja) アプリケーションプログラムでの動的バッファ管理方式
JP3893136B2 (ja) 組込みコンピュータ制御プログラム、そのプログラムを記録した記録媒体、及び組込みシステム
JPH05313923A (ja) 共有資源の排他制御装置
JP2008276322A (ja) 情報処理装置、情報処理システムおよび情報処理方法
US20060168413A1 (en) Method for regulating access to data in at least one data storage device in a system consisting of several individual systems
US6842900B2 (en) Information processing apparatus executing processing corresponding to new thread by reusing arrangement for previous thread
JPH08329019A (ja) セマフォのデータ管理方式
JP4833911B2 (ja) プロセッサユニットおよび情報処理方法
JP2010026575A (ja) スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム
JPH0519179B2 (ja)

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080708

Year of fee payment: 12