JP2912102B2 - 記憶管理方式 - Google Patents

記憶管理方式

Info

Publication number
JP2912102B2
JP2912102B2 JP4343117A JP34311792A JP2912102B2 JP 2912102 B2 JP2912102 B2 JP 2912102B2 JP 4343117 A JP4343117 A JP 4343117A JP 34311792 A JP34311792 A JP 34311792A JP 2912102 B2 JP2912102 B2 JP 2912102B2
Authority
JP
Japan
Prior art keywords
file
memory
management unit
core
input
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
JP4343117A
Other languages
English (en)
Other versions
JPH06168178A (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.)
OKAYAMA NIPPON DENKI SOFUTOEA KK
NEC Corp
Original Assignee
OKAYAMA NIPPON DENKI SOFUTOEA KK
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 OKAYAMA NIPPON DENKI SOFUTOEA KK, Nippon Electric Co Ltd filed Critical OKAYAMA NIPPON DENKI SOFUTOEA KK
Priority to JP4343117A priority Critical patent/JP2912102B2/ja
Publication of JPH06168178A publication Critical patent/JPH06168178A/ja
Application granted granted Critical
Publication of JP2912102B2 publication Critical patent/JP2912102B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は大規模なメモリ領域を使
用し、そのメモリ領域の管理を独自に行なうアプリケー
ションプログラムに於いて、主記憶装置の有効利用及び
ファイル入出力の高速化を図ることができる記憶管理方
式に関する。
【0002】
【従来の技術】大規模なメモリ領域を必要とするアプリ
ケーションプログラム(例えば、大規模な行列演算を行
なう数値計算プログラム)では、処理するデータのサイ
ズ,処理内容の違いから、使用するメモリを動的に割り
付ける必要があるので、アプリケーションプログラム自
身でメモリ管理を行なっている。数値計算の分野で特に
よく使用されるプログラミング言語FORTRANは動
的なメモリの割り付けを行なうことができない。そこ
で、予めかなり大きなサイズの配列を用意しておき、そ
の配列をメモリ管理領域(ワーク領域)として使用す
る。上記した配列のサイズは、そのアプリケーションプ
ログラムで処理可能な限界サイズのデータにも対処でき
るように設定される。
【0003】また、アプリケーションプログラムではワ
ーク用のテンポラリファイルも含め、多数のファイルが
使用される。これらのファイルは、各々がブロック化及
びバッファリングされ、入出力の高速化が図られてい
る。
【0004】図15は従来の記憶管理方式を説明するた
めのブロック図である。アプリケーションプログラムは
一般手続き部151と、メモリ管理部152と、入出力
管理部153とを含んでいる。主記憶装置上にはメモリ
管理部152によって管理されるメモリ管理領域154
が設けられている。また、入出力管理部153によって
管理される外部記憶装置155にはテンポラリファイル
等の複数のファイル155−1〜155−nが格納され
ている。
【0005】メモリ管理部152は一般手続き部151
からの要求に従ってメモリ管理領域154上にメモリ領
域を確保したり、解放したりする。このメモリ管理領域
154のサイズは上記したように、アプリケーションプ
ログラムで処理可能な限界サイズのデータにも対処でき
るように、かなり大きなものにされる。
【0006】また、入出力管理部153は一般手続き部
151からの要求に従って外部記憶装置155との間で
入出力を行なう。その際、ブロック化及びバッファによ
り、入出力の高速化が図られる。
【0007】
【発明が解決しようとする課題】上述した従来の記憶管
理方式では、アプリケーションプログラムで実行可能な
限界サイズのデータにも対処できるようにするため、メ
モリ管理領域のサイズをかなり大きなものにすることが
必要になるが、通常のアプリケーションプログラムの実
行に於いては、限界サイズよりもかなり小規模なデータ
を扱うことが多いので、かなりのメモリ管理領域が未使
用のままとなり、コンピュータの資源有効利用という面
で問題があった。また、ファイルのブロック化,バッフ
ァリングにより、ファイル入出力の高速化が図られてい
るが、資源分配上、無制限というわけではないので、高
速化にも限界があった。
【0008】本発明の目的は、主記憶装置の有効利用を
図り、且つ、ファイル入出力の高速化を図ることができ
る記憶管理方式を提供することにある。
【0009】
【課題を解決するための手段】本発明は上記目的を達成
するため、 (A)主記憶装置と、 該主記憶装置を管理するメモリ管理部と、 ファイルが格納される外部記憶装置と、 該外部記憶装置を管理する入出力管理部とを有し、 該入出力管理部は前記ファイルの少なくとも一部をコア
ファイルとして前記主記憶装置上に展開する要求が発生
することにより、前記メモリ管理部に対してコアファイ
ル用のメモリ領域の確保を要求し、前記コアファイルを
該要求に応答して前記メモリ管理部が前記主記憶装置上
に確保したメモリ領域のみに展開し、前記外部記憶装置
上には展開しないようにしたものである。
【0010】また、本発明はコアファイルによって通常
のメモリ領域の確保が妨げられないようするため、
(B)前記メモリ管理部はプログラムの手続き部からメ
モリ領域の確保要求が行なわれた時、使用可能なメモリ
領域が足りなければ、前記コアファイルとして使用して
いるメモリ領域を解放するようにしたものである。
【0011】また、本発明はアクセス頻度が高い等の優
先度の高いファイルのコアファイルを優先的に主記憶装
置上に展開できるようにするため、(C)前記メモリ管
理部はコアファイルとして使用しているメモリ領域の解
放を、ファイル毎に予め定められた優先度に従って行な
うようにしたものである。
【0012】
【作用】(A)の構成に於いては、コアファイル用のメ
モリ領域の確保要求が発生すると、入出力管理部はメモ
リ管理部にメモリ領域の確保を要求し、この要求に応答
してメモリ管理部が主記憶装置上に確保したメモリ領域
のみコアファイルを展開する。
【0013】(B)の構成に於いては、プログラムの手
続き部からメモリ領域の確保要求が行なわれた場合、使
用可能なメモリ領域が足りなければメモリ管理部はコア
ファイルと使用しているメモリ領域を解放する。
【0014】(C)の構成に於いては、コアファイルと
して使用しているメモリ領域を解放する際、メモリ管理
部は予め定められているファイル毎の優先度に従ってメ
モリ領域の解放を行なう。
【0015】
【実施例】次に本発明の実施例について図面を参照して
詳細に説明する。
【0016】図1は本発明の実施例のブロック図であ
る。
【0017】アプリケーションプログラムは一般手続き
部1と、メモリ管理部2と、入出力管理部3とを含んで
いる。
【0018】主記憶装置上にはメモリ管理部2によって
管理されるメモリ管理領域4が設けられている。このメ
モリ管理領域4のサイズは従来の技術でも説明したよう
に、アプリケーションプログラムで処理可能な限界サイ
ズのデータにも対処できるようにするために、かなり大
きなものとなる。
【0019】また、入出力管理部3によって管理される
外部記憶装置5上には複数のテンポラリファイル等のフ
ァイル5−1〜5−nが設けられている。また、図1の
例ではファイル5−1の一部5−1c(コアファイル5
−1cと称す)が、コアブロックを単位にしてメモリ管
理領域4上に展開されている。即ち、ファイル5−1は
外部記憶装置5と、主記憶装置中のメモリ管理領域4と
に分けて格納されている。また、本実施例では各ファイ
ル5−1〜5−nのファイル名がそれぞれF1〜Fnに
なっているとする。
【0020】メモリ管理領域4上に展開されたコアファ
イルは図2に示すようなリスト構造を有しており、この
リストを構成する個々のメモリ管理領域がコアブロック
4−1〜4−jである。
【0021】各コアブロック4−1〜4−jはそれぞれ
管理情報部とデータ部とから構成されている。管理情報
部は次のコアブロックへのポインタ,コアブロック内に
含まれているデータ部の管理情報(例えば、データ部の
どのレコードまで使用しているか等を示す情報)等を有
する。また、データ部はファイルのデータレコードを有
する。データ部は場合によりブロック化される。また、
コアブロックのリストは、各ブロックに含まれるレコー
ドのレコード番号の順にソートされている。
【0022】メモリ管理部2はメモリ領域確保機能及び
メモリ領域解放機能を有する。
【0023】入出力管理部3はファイルのオープン,ク
ローズ,リード,ライト機能及びコアブロックの確保,
解放機能を有する。また、入出力管理部3はその内部に
図3に示すコアファイル情報テーブル31と、図4に示
すファイル情報テーブル32とを有する。
【0024】コアファイル情報テーブル31には図3に
示すように、各ファイル5−1〜5−nのファイル名F
1〜Fnと、各ファイル5−1〜5−nの優先度と、各
ファイル5−1〜5−nのメモリ管理領域4に展開され
ているコアファイルの先頭のコアブロックへのポインタ
と、各ファイル5−1〜5−nのメモリ管理領域4に割
付けられているコアブロックの数とが設定される。
【0025】ファイル情報テーブル32には、図4に示
すように、各ファイル5−1〜5−nのファイル名F1
〜Fnと、各ファイル5−1〜5−nが現在アクセス対
象にしているレコードの位置と、各ファイル5−1〜5
−nの外部記憶装置5上のレコード数と、ファイルアク
セスタイプと、ファイル編成法と、オープン状態かクロ
ーズ状態かを示す情報とが設定される。
【0026】図5はメモリ管理部2が有するメモリ領域
確保機能を、図6はメモリ管理部2が有するメモリ領域
解放機能を、図7は入出力管理部3が有するファイルオ
ープン機能を、図8は入出力管理部3が有するファイル
クローズ機能を、図9は入出力管理部3が有するファイ
ルリード機能を、図10,図11,図12は入出力管理
部3が有するファイルライト機能を、図13は入出力管
理部3が有するコアブロック確保機能を、図14は入出
力管理部3が有するコアブロック解放機能を示す流れ図
であり、以下各図を参照して本実施例の動作を説明す
る。
【0027】アプリケーションプログラムの一般手続き
部1はファイルオープン時、オープンするファイルのフ
ァイル名,そのファイルに与える優先度,そのファイル
に対するアクセスタイプ等の必要な情報を含むファイル
オープン要求を入出力管理部3に出力する。
【0028】入出力管理部3は一般手続き部1からファ
イルオープン要求が加えられると、図7に示すように、
先ず、従来の管理技術を使用してファイルオープン要求
に含まれているファイル名(例えば、Fiとする)のフ
ァイル5−iをオープンする(ステップS21)。その
後、入出力管理部3は図3に示すコアファイル情報テー
ブル31のファイル名Fiに対応する優先度をファイル
オープン要求に含まれている優先度に、先頭ブロックへ
のポインタをコアブロックが存在しないことを示すもの
に、コアブロックの割り付け数を「0」にする (ステッ
プS22)。次いで、入出力管理部3は図4に示すファ
イル情報テーブル32のファイル名Fiに対応する現在
のレコード位置を先頭レコード位置に、ファイルアクセ
スタイプをファイルオープン要求に含まれているもの
に、ファイルがオープン状態であるか、クローズ状態で
あるかを示す情報をオープン状態を示すものにする (ス
テップS23)。
【0029】上記した処理を行なうことにより、ファイ
ル名Fiを有するファイル5−iに対するリード,ライ
トが可能になる。
【0030】アプリケーションプログラムの一般手続き
部1はオープンしたファイル5−iのレコードをリード
する場合はリード要求を入出力管理部3に出力する。
【0031】入出力管理部3はリード要求が一般手続き
部1から加えられると、図9に示すように、先ず、リー
ドするレコードがメモリ管理領域4上のコアブロックに
存在するのか、外部記憶装置5上に存在するのかを判断
する (ステップS41)。この判断は、シーケンシャル
アクセスの場合は、ファイル情報テーブル32に設定さ
れているファイル5−iについての現在のレコード位置
と外部記憶装置上のレコード数とを比較することにより
行なう。即ち、現在のレコード位置が外部記憶装置上の
レコード数以下であれば、リードするレコードは外部記
憶装置5上に存在すると判断し、そうでなければメモリ
管理領域4に存在すると判断する。また、ダイレクトア
クセスの場合は、ファイル情報テーブル32に設定され
ているファイル5−iについての外部記憶装置上のレコ
ード数とリード要求に含まれているレコード番号を比較
することにより判断する。
【0032】そして、外部記憶装置5上に存在すると判
断した場合 (ステップS41がYES)は、外部記憶装
置5から目的とするレコードをリードした後 (ステップ
S42)、図4に示すファイル情報テーブル32のファ
イル5−iについての現在のレコード位置を+1する
(ステップS43)。
【0033】また、メモリ管理領域4上に存在すると判
断した場合 (ステップS41がNO)は、コアファイル
のリストを先頭のコアブロックからたどり、目的のレコ
ードを含むコアブロックを探す (ステップS44)。そ
して、目的のレコードを含むコアブロックを探し出す
と、探し出したコアブロック中のレコード位置に対応す
る位置からデータをリードし (ステップS45)、その
後、ステップS43の処理を行なう。
【0034】また、アプリケーションプログラムの一般
手続き部1はオープンしたファイル5−iに対してライ
トを行なう場合は、入出力管理部3に対してファイル5
−iのファイル名Fi等の必要な情報を含むライト要求
を出力する。
【0035】入出力管理部3はファイル5−iに対する
ライト要求が一般手続き部1から加えられると、図10
に示すように、先ず、ファイル5−iのファイル編成法
が順編成か、直編成かを判断する (ステップS51)。
【0036】順編成であると判断した場合 (ステップS
51がYES)は、入出力管理部3はファイル情報テー
ブル32に設定されているファイル名Fiのファイル5
−iについての現在のレコード位置がファイル5−iの
終了位置であるか否かを判断する (ステップS52)。
【0037】ファイル5−iの終了位置であると判断し
た場合 (ステップS52がYES)は、入出力管理部3
はファイル5−iにコアブロックが割り当てられている
か否かを判断する (ステップS53)。この判断は、コ
アファイル情報テーブル31に設定されているファイル
名Fiのファイル5−iについてのコアブロックの割り
付け数に基づいて行なう。
【0038】そして、コアブロックが割り当てられてい
ると判断した場合 (ステップS53がYES)は、入出
力管理部3はファイル5−iに割り当てられている最後
のコアブロックの管理情報部に基づいてそのコアブロッ
クに空きレコードが存在するか否かを判断する (ステッ
プS54)。
【0039】空レコードが存在すると判断した場合 (ス
テップS54がNO)は、入出力管理部3は上記した最
後のコアブロック上の現在のレコード位置に対応した位
置にデータを書き込み (ステップS56)、その後、フ
ァイル情報テーブル32のファイル5−iについての現
在のレコード位置を+1する (ステップS57)。
【0040】また、空レコードが存在しないと判断した
場合 (ステップS54がYES)は、入出力管理部3は
ステップS55のコアブロックの確保処理を行なう。
【0041】ステップS55では図13に示す処理を行
なう。先ず、ステップS81でメモリ管理部2にファイ
ル5−iの優先度,確保するメモリサイズを渡し、コア
ブロック用のメモリの確保を要求する。
【0042】メモリ管理部2は入出力管理部3からメモ
リ領域の確保が要求されると、図5に示すように、要求
されたサイズのメモリの確保を行ない (ステップS
1)、メモリ管理領域4上に要求されたサイズのメモリ
を確保できた場合 (ステップS2がNO)は、入出力管
理部3に確保成功を通知し、制御を図13のステップS
81に戻す (ステップS7)。
【0043】また、メモリの確保に失敗した場合 (ステ
ップS2がYES)は、メモリ管理領域4にコアブロッ
クを割り付けているファイルの内、最も優先度の低いフ
ァイルを探す (ステップS3)。
【0044】もし、メモリ管理領域4にコアブロックを
割り付けているファイルを探し出すことができなかった
場合(ステップS4がNO)は、メモリ管理部2は入出
力管理部3に確保失敗を通知し、制御を図13のステッ
プS81に戻す (ステップS8)。
【0045】また、メモリ管理領域4にコアブロックを
割り付けている最も優先度の低いファイルを探し出せた
場合は (ステップS4がYES)は、探し出したファイ
ル(ファイル名Fmのファイル5−mとする)の優先度
と確保要求に含まれているファイル5−iの優先度とを
比較する (ステップS5)。
【0046】そして、探し出したファイル5−mの優先
度が確保要求に含まれているファイル5−iの優先度以
上の場合(ステップS5がNO)は、メモリ管理部2は
入出力管理部3に確保失敗を通知し (ステップS8)、
そうでない場合 (ステップS5がYES)は、入出力管
理部3に探し出したファイル5−mのファイル名Fmを
通知し、ファイル5−mがメモリ管理領域4に割り付け
ているコアブロックの解放を要求する (ステップS
6)。従って、アクセス頻度が高い等の優先度の高いフ
ァイルのコアファイルが優先的にメモリ管理領域4に展
開されることになる。
【0047】入出力管理部3はメモリ管理部2からコア
ブロックの解放が要求されると、図14に示すように、
先ず、ファイル5−mがメモリ管理領域4に割り付けて
いるコアブロックの先頭のコアブロック中の全ての有効
レコードを外部記憶装置5上のファイル5−mの最後に
書き出す (ステップS91)。
【0048】ステップS91の処理を行なうことによ
り、外部記憶装置5上のファイル5−mのレコード数が
増えるので、入出力管理部3はファイル情報テーブル3
2のファイル5−mについての外部記憶装置上のレコー
ド数を更新する (ステップS92)。
【0049】また、ステップS91の処理を行なうこと
により、先頭のコアブロックは不要となるので、入出力
管理部3はコアファイル情報テーブル31のファイル5
−mについての先頭ブロックへのポインタを更新してそ
のコアブロックをコアファイルのリストから削除すると
共に、コアブロックの割り付け数を−1する (ステップ
S93)。
【0050】その後、入出力管理部3はメモリ管理部2
に対して上記先頭コアブロックが割り付けられていたメ
モリ領域を解放することを要求する (ステップS9
4)。
【0051】この要求を受けると、メモリ管理部2は、
図6に示すように、要求されたメモリ領域を解放し (ス
テップS11)、制御を入出力管理部3の図14に示す
コアブロック解放機能のステップS94に戻す。
【0052】また、入出力管理部3はステップS94に
制御が戻されると、呼び出し元であるメモリ管理部2の
図5に示すメモリ領域確保機能のステップS6に制御を
戻す。
【0053】これにより、メモリ管理部2はステップS
1の処理を再び行なう。
【0054】また、メモリ管理部2の図5に示すメモリ
領域確保機能のステップS7,S8から図13に示すコ
アブロックの確保機能のステップS81に制御を戻され
た場合、入出力管理部3は以下の処理を行なう。
【0055】メモリ領域の確保に成功し、図5のステッ
プS7から制御を戻された場合、即ち、図13のステッ
プS82がNOの場合は、入出力管理部3は確保したメ
モリ領域を、データをライトしようとするファイル5−
iのコアブロックのリストの最後に追加し (ステップS
85)、コアファイル情報テーブル31のファイル5−
iについてのコアブロックの割り付け数を+1する (ス
テップS86)。その後、入出力管理部3は制御を呼び
出し元である図10のステップS55に戻し、コアブロ
ックの確保が成功したことを通知する (ステップS8
8)。
【0056】また、メモリ領域の確保が失敗し、図5の
ステップS8から制御を戻された場合、即ち図13のス
テップS82がYESの場合は、入出力管理部3はデー
タをライトしようとするファイル5−iにコアブロック
が割り付けられているか否かを、コアファイル情報テー
ブル31を参照することにより判断する (ステップS8
3)。
【0057】この時、呼び出し元の図10のステップS
55はコアブロックが割り当てられていることを前提に
しているので、ステップS83の判断結果はYESとな
り、ステップS84の処理が行なわれる。ステップS8
4ではファイル5−iに割り当てられているコアブロッ
クを図14に示すコアブロックの解放機能を利用して解
放する。そして、ファイル5−iに割り当てられている
コアブロックが解放されると、入出力管理部3は再びス
テップS81の処理を行なう。ステップS81では図5
のメモリ領域確保機能を利用してメモリ領域を確保す
る。今回のメモリ確保は必ず成功するので、ステップS
82の判断結果がNOとなり、ステップS85以降の処
理が行なわれ、制御が図10のステップS55に戻され
る。尚、ステップS83の判断結果がNOの場合は、入
出力管理部3は制御を呼び出し元に戻し、コアブロック
の確保が失敗したことを通知する (ステップS87)。
【0058】図13のステップS88から図10のステ
ップS55に制御を戻されると、入出力管理部3は前述
したステップS56の処理を行なう。
【0059】また、ファイル5−iに対するライト時、
図10のステップS53の判断結果がNOとなった場
合、即ちファイル5−iにコアブロックが割り当てられ
ていない場合は、入出力管理部3はステップS58の処
理を行なう。ステップS58では図13のコアブロック
の確保機能を利用してコアブロックの確保を行なう。
【0060】そして、コアブロックの確保が成功した場
合 (ステップS59がYES)はステップS56の処理
を行ない、コアブロックの確保が失敗した場合は外部記
憶装置5上のファイル5−iにデータを出力する (ステ
ップS60)。
【0061】また、ファイル5−iへのデータのライト
時、図10のステップS52の判断結果がNOになった
場合、即ちデータを書き込むレコードの位置がファイル
5−iの最後でない場合は図11のステップS61〜S
68の処理を行なう。即ち、ファイルが順編成の場合、
書き出し位置は常にファイルの終了位置になるので、フ
ァイルの終了位置以外でデータを書き出す場合はそれ以
降のデータレコードを全て消去する必要があるため、ス
テップS61〜S68の処理を行なうことが必要にな
る。
【0062】ステップS61ではデータを書き込むファ
イル5−iのレコードがメモリ管理領域4上に存在する
か、外部記憶装置5上に存在するかを判断する。
【0063】そして、外部記憶装置5上に存在すると判
断した場合 (ステップS61がYES)は外部記憶装置
5上のファイル5−iに終了記録を書き込み (ステップ
S62)、次いでファイル情報テーブル32の現在のレ
コード位置を1レコード戻し(ステップS63)、次い
でファイル5−iについての全てのコアブロックを、図
6のメモリ領域の解放機能を利用して解放し (ステップ
S64)、更に、コアファイル情報テーブル31のファ
イル5−iについての先頭ブロックへのポインタ,コア
ブロックの割付け数を更新し (ステップS65)、その
後、前述したステップS58の処理を行なう。
【0064】また、メモリ管理領域4上に存在すると判
断した場合 (ステップS61がNO)は、ライトを行な
うレコードを含むコアブロックよりも後のコアブロック
を、図6のメモリ領域の解放機能を利用して解放し (ス
テップS66)、次いで、コアファイル情報テーブル3
1の先頭ブロックへのポインタ,コアブロックの割付け
数を更新し (ステップS67)、更に、ライトを行なう
レコードを含むコアブロックの管理情報部を更新し、上
記レコード以降のレコードが未使用であることを表示さ
せる (ステップS68)。その後、入出力管理部3は前
述したステップS56の処理を行なう。
【0065】また、図10のステップS51でファイル
5−iが直編成であると判断した場合 (ステップS51
がNO)は、入出力管理部3は図12の処理を行なう。
【0066】ファイルが直編成の場合、ライトを行なう
レコード位置がファイル5−iの終了位置(最大レコー
ド番号を持つレコードの次のレコード)でなければ、デ
ータレコードの書き換えであり、レコード位置がファイ
ルの終了位置ならばファイル5−iに対するデータレコ
ードの追加となるので、入出力管理部3は先ず、図12
のステップS69に於いてライトを行なうレコード位置
がファイル5−iの終了位置か否かを判断する。
【0067】そして、終了位置であると判断した場合
(ステップS69がYES)は、ファイル5−iにコア
ブロックが割り当てられていか否かを判断する (ステッ
プS70)。
【0068】そして、コアブロックが割り当てられてい
ると判断した場合 (ステップS70がYES)は、入出
力管理部3はファイル5−iに割り当てられている最後
のコアブロック中に空レコードが存在するか否かを判断
する (ステップS71)。
【0069】空レコードが存在すると判断した場合 (ス
テップS71がNO)は、入出力管理部3は上記した最
後のコアブロック上の現在のレコード位置に対応した位
置にデータを書き込み (ステップS73)、その後、フ
ァイル情報テーブル32のファイル5−iについての現
在のレコード位置を+1する (ステップS74)。
【0070】また、空レコードが存在しないと判断した
場合 (ステップS71がYES)は、入出力管理部3は
前述したと同様にしてファイル5−iに対するコアブロ
ックを確保し (ステップS72)、その後、ステップS
73の処理を行なう。
【0071】また、ステップS70でファイル5−iに
コアブロックが割り当てられていないと判断した場合
(判断結果がNO)は、入出力管理部3は前述したと同
様にしてファイル5−iに対するコアブロックの確保を
行ない (ステップS75)、コアブロックの確保に成功
した場合 (ステップS76がYES)はステップS73
の処理を行ない、失敗した場合 (ステップS76がN
O)は外部記憶装置5上のファイル5−iへデータを出
力する (ステップS77)。
【0072】また、ステップS69でライトを行なうレ
コードの位置がファイル5−iの終了位置でないと判断
した場合は、上記レコードがメモリ管理領域4上に存在
するのか、外部記憶装置5上に存在するのかを判断する
(ステップS78)。
【0073】そして、外部記憶装置5上に存在すると判
断した場合 (ステップS78がYES)は、外部記憶装
置5上のファイル5−iにデータを出力し、メモリ管理
領域4上に存在すると判断した場合 (ステップS78が
NO)はステップS73の処理を行なう。
【0074】また、アプリケーションプログラムの一般
手続き部1はリード,ライトが終了し、ファイル5−i
をクローズする場合、クローズするファイル5−iのフ
ァイル名Fi等の必要な情報を含むファイルクローズ要
求を入出力管理部3に出力する。
【0075】入出力管理部3は一般手続き部1からファ
イルクローズ要求が加えられると、図8に示すように、
先ず、クローズすることが要求されたファイル5−iに
コアブロックが割り当てられているか否かを判断する
(ステップS31)。
【0076】そして、ファイル5−iにコアブロックが
割り当てられていると判断した場合(ステップS31が
YES)は図14のコアブロックの解放機能を利用して
ファイル5−iに割り当てられているコアブロックを解
放する (ステップS32)。
【0077】ファイル5−iにコアブロックが割り当て
られていない場合及びファイル5−iに割り当てられて
いるコアブロックを全て解放した場合 (ステップS31
がNO)は、入出力管理部3はファイル5−iを従来と
同様の技術を用いてクローズし (ステップS33)、そ
の後、ファイル情報テーブル32のファイル5−iにつ
いてのオープン,クローズを示す情報をクローズを示す
ものにする (ステップS34)。
【0078】また、アプリケーションプログラムの一般
手続き部1はメモリ管理領域4上にメモリ領域を確保す
る場合、メモリ管理部2に対して確保するメモリサイズ
及び優先度を含むメモリ確保要求を出力する。ここで、
優先度はファイル5−1〜5−nの優先度の何れよりも
高いものにする。
【0079】メモリ管理部2は一般手続き部1から上記
したメモリ確保要求が加えられると、前述した図5に示
す処理を行なう。ここで、一般手続き部1からのメモリ
確保要求に含まれている優先度はファイル5−1〜5−
nの優先度の何れよりも高いものであるので、要求され
たサイズのメモリを確保できなかった場合は、コアブロ
ックが解放されていく。従って、コアブロックによって
通常の目的のためのメモリ確保が失敗することはない。
【0080】
【発明の効果】以上説明したように、本発明は、外部記
憶装置に格納されるファイルの一部をコアファイルとし
て主記憶装置上のみに展開するものであるので、ファイ
ル入出力処理の高速化を図ることができる効果があると
共に、主記憶装置の有効利用を図ることができる効果が
ある。
【0081】また、本発明はプログラムの手続き部から
のメモリ領域の確保要求が行なわれた時、使用可能なメ
モリ領域が足りなければ、コアファイルとして使用して
いるメモリ領域を解放するようにしたものであるので、
コアファイルによって通常のメモリ領域の確保が妨げら
れることがないという効果がある。
【0082】更に、本発明はコアファイルとして使用し
ているメモリ領域を解放する際、ファイルの優先度に従
ってメモリ領域の解放を行なうようにしており、アクセ
ス頻度が高い等の優先度の高いファイルのコアファイル
を優先的に主記憶装置上に展開することができるので、
よりファイル入出力の高速化を図ることが可能になる効
果がある。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】コアファイル,コアブロックを説明するための
図である。
【図3】コアファイル情報テーブル31の内容例を示す
図である。
【図4】ファイル情報テーブル32の内容例を示す図で
ある。
【図5】メモリ領域確保機能の処理例を示す流れ図であ
る。
【図6】メモリ領域解放機能の処理例を示す流れ図であ
る。
【図7】ファイルオープン機能の処理例を示す流れ図で
ある。
【図8】ファイルクローズ機能の処理例を示す流れ図で
ある。
【図9】ファイルリード機能の処理例を示す流れ図であ
る。
【図10】ファイルライト機能の処理例を示す流れ図で
ある。
【図11】ファイルライト機能の処理例を示す流れ図で
ある。
【図12】ファイルライト機能の処理例を示す流れ図で
ある。
【図13】コアブロック確保機能の処理例を示す流れ図
である。
【図14】コアブロック解放機能の処理例を示す流れ図
である。
【図15】従来例のブロック図である。
【符号の説明】
1,151…一般手続き部 2,152…メモリ管理部 3,153…入出力管理部 4,154…メモリ管理領域 5,155…外部記憶装置 5−1〜5−n,155−1〜155−n…ファイル 5−1c…コアファイル
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平3−235147(JP,A) 特開 平4−81942(JP,A) 特開 平4−237344(JP,A) 特開 平4−305741(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 12/00 514 G06F 12/02 510 G06F 12/12

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 主記憶装置と、 該主記憶装置を管理するメモリ管理部と、 ファイルが格納される外部記憶装置と、 該外部記憶装置を管理する入出力管理部とを有し、 該入出力管理部は前記ファイルの少なくとも一部をコア
    ファイルとして前記主記憶装置上に展開する要求が発生
    することにより、前記メモリ管理部に対してコアファイ
    ル用のメモリ領域の確保を要求し、前記コアファイルを
    該要求に応答して前記メモリ管理部が前記主記憶装置上
    に確保したメモリ領域のみに展開し、前記外部記憶装置
    上には展開しないことを特徴とする記憶管理方式。
  2. 【請求項2】 前記メモリ管理部はプログラムの手続き
    部からメモリ領域の確保要求が行なわれた時、使用可能
    なメモリ領域が足りなければ、前記コアファイルとして
    使用しているメモリ領域を解放することを特徴とする請
    求項1記載の記憶管理方式。
  3. 【請求項3】 前記メモリ管理部はコアファイルとして
    使用しているメモリ領域の解放を、ファイル毎に予め定
    められた優先度に従って行なうことを特徴とする請求項
    2記載の記憶管理方式。
JP4343117A 1992-11-30 1992-11-30 記憶管理方式 Expired - Fee Related JP2912102B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4343117A JP2912102B2 (ja) 1992-11-30 1992-11-30 記憶管理方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4343117A JP2912102B2 (ja) 1992-11-30 1992-11-30 記憶管理方式

Publications (2)

Publication Number Publication Date
JPH06168178A JPH06168178A (ja) 1994-06-14
JP2912102B2 true JP2912102B2 (ja) 1999-06-28

Family

ID=18359067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4343117A Expired - Fee Related JP2912102B2 (ja) 1992-11-30 1992-11-30 記憶管理方式

Country Status (1)

Country Link
JP (1) JP2912102B2 (ja)

Also Published As

Publication number Publication date
JPH06168178A (ja) 1994-06-14

Similar Documents

Publication Publication Date Title
US5247681A (en) Dynamic link libraries system and method
US5093912A (en) Dynamic resource pool expansion and contraction in multiprocessing environments
US6115738A (en) Input/output device information management method and apparatus for multi-computers
US7949839B2 (en) Managing memory pages
US5481688A (en) Information processing system having an address translation table loaded with main/expanded memory presence bits
US6848021B2 (en) Efficient data backup using a single side file
JPH09185552A (ja) 分散型オブジェクト資源管理のためのシステム及び方法
JPS61112255A (ja) コンピユ−タ装置
JPH0619765A (ja) コンピュータシステムにおけるファイル管理方法及びファイル管理システム
US6233727B1 (en) Computer system for supporting utilization of functions provided by OS
US5394539A (en) Method and apparatus for rapid data copying using reassigned backing pages
JPH04213129A (ja) メモリ管理システム及びメモリ管理方法
JP2781092B2 (ja) システム間排他制御方式
US5678024A (en) Method and system for dynamic performance resource management within a computer based system
Aghazadeh et al. Upper bounds for boundless tagging with bounded objects
JP2912102B2 (ja) 記憶管理方式
US7836170B2 (en) Suspension and reinstatement of reference handles
CN116257359A (zh) 数据处理方法及装置、存储介质及电子设备
JPH08129492A (ja) 資源排他チェックシステム及び資源排他チェック方法
JPH07210438A (ja) ファイル管理方法
JP2704028B2 (ja) ファイル領域管理方式
Pirkola A file system for a general-purpose time-sharing environment
JPH0337748A (ja) 主記憶を利用した外部記憶アクセス方式
JPS5947341B2 (ja) 索引順編成フアイルの動的排他制御方式
JPH04167152A (ja) 空きメモリ管理方式

Legal Events

Date Code Title Description
S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080409

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090409

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100409

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees