JPH01200451A - 内部データ管理方法 - Google Patents

内部データ管理方法

Info

Publication number
JPH01200451A
JPH01200451A JP63025356A JP2535688A JPH01200451A JP H01200451 A JPH01200451 A JP H01200451A JP 63025356 A JP63025356 A JP 63025356A JP 2535688 A JP2535688 A JP 2535688A JP H01200451 A JPH01200451 A JP H01200451A
Authority
JP
Japan
Prior art keywords
cluster
page
internal
external memory
data
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
JP63025356A
Other languages
English (en)
Inventor
Maki Seki
関 真樹
Takashi Takegahara
竹ケ原 隆史
Kazuhiko Morizaki
和彦 森嵜
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.)
Fanuc Corp
Original Assignee
Fanuc 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 Fanuc Corp filed Critical Fanuc Corp
Priority to JP63025356A priority Critical patent/JPH01200451A/ja
Publication of JPH01200451A publication Critical patent/JPH01200451A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Numerical Control (AREA)

Abstract

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

Description

【発明の詳細な説明】 〈産業上の利用分野〉 本発明は仮想記憶方式によるメモリ管理が可能なシステ
ムたとえば自動プログラミング装置における内部データ
管理方法に関する。
〈従来技術〉 NCプログラムを自動作成する自動プログラミング装置
のアプリケーションプログラム(単にアプリケーション
という)においては、内部メモリ(実メモリ)の容量を
越えるような大量データを扱う必要がある。このため、
ランダムアクセス可能な外部メモリ (例えばハードデ
ィスク)を有する自動プログラミング装置において;よ
、仮想記憶方式により該外部メモリの一部領域を内部メ
モリの延長(仮想メモリ領域)として使用し、内部メモ
リ上のデータを一時的に該仮想メモリ領域に追い出した
り、仮想メモリ領域上のデータを必要に応じて内部メモ
リ上に回復することが行われている。
そして、内部メモリと外部メモリとの間ではファイル単
位でデータの追い出しや回復が行われる。
たとえば、内部メモリ中のファイルにデータを追加して
いる時に空き領域がなくなった場合、以下の手順により
ファイルの追い出しが行われる。すなわち、 (i)、先頭ファイルから順にクローズ中のファイルを
追い出し、1フアイルを追い出す毎にサイズがOKかチ
エツクする。このとき、自分自身のファイルは除く。
(iil−以上で十分のサイズが取れなければ、先頭フ
ァイルから順にオープン中のファイルを追い出し、1フ
ァイル追い出す毎にサイズOKかチエツクする。このと
き、自分自身のファイルは除く。
(2)、(i)及び(ii)でもサイズが取れなければ
自分自身のファイルを追い出す。そして、 Gψ、(i)〜圃でもサイズが取れなければオーバフロ
ーのエラーとする。
しかし、ファイル単位で追い出す従来方法で(:、ファ
イルを追い出す順番がもともと定義されている順番に従
うので追い出し実行時に優先度を指定できず、しかも、
ファイル単位の追い出ししかできないので、よく使われ
るデータも追い出されてしまうことが多くなり、外部メ
モリアクセスが増大し、処理効率を低下させる。又、同
時に複数のファイルを使用する場合でも、ある瞬間に注
目すると実際に必要なデータはファイル中の僅かなデー
タのみであり、−度使用されたデータは近いうちに再び
使用される可能性が高いが、従来の方法ではファイルの
一部分を内部メモリに残しておくことができず、結果的
に外部メモリアクセスが増大する。
このため、本願出願人はクラスタという概念を導入し、
ファイル単位でなくクラスタ単位でデータの追い出し、
回復を行わせろと共に、内部メモリ上の各クラスタを管
理する情報内に、外部メモリへの各クラスタの追い出さ
れにくさを表わすマツピング優先度と、マツピング優先
度毎にクラスタの外部メモリへの追い出されにくさを示
す行列を持たせ、内部メモリ上−に空きクラスタが無い
ときは、マツピンク−優先度の低い行列の先頭クラスタ
から順番に外部メモリに追い出す内部データ管理方法を
提案している。
〈発明が解決しようとしている課題〉 ところで、アプリケーションによっては、「あるファイ
ルは非常に高速なアクセスを目的としているので、絶対
に追い出されたくない」という場合がある。しかし、提
案されているマツピング優先度だけでは単に追い出され
にくさを表現できるだけで、追い出されないという保証
にはならず、追い出される可能性がある。
又、内部メモリと外部メモリ間でのデータの追い出し/
回復を制御する内部処理側では、「2つのクラスタを交
互にアクセスしたい」という場合があるが、あるクラス
タを内部メモリ上に読み込んだ後で、他のクラスタも同
様に内部メモリに読み込んだとすると、最初のクラスタ
が追い出されてしまう可能性がある。その為、毎回それ
らのチエツクとクラスタ番号−物理アドレスの変換をす
る必要があり、処理のオーバヘッドが大きい。
以上から、本発明の目的はマツピング優先度の低い行列
の先頭から追い出すようにすると共に、アプリケーショ
ン側及び内部処理側でクラスタ毎に追い出しの禁止/解
除を設定できるようにし、禁止クラスタは追い出されな
いようにした内部デ−夕管理方法を提供することである
く課題を解決するための手段〉 第1図は本発明にかかる内部データ管理方法の説明図で
ある。
ETMは外部メモリ、INMは内部メモリ、PGAは内
部メモリ内のページ領域、VCTは管理情報領域、VM
Aは仮想メモリ領域、p、(o=。
〜M)はページ、pc、はぺ〜シマツブ管理情報、Fp
はプロテクトフラグ、Fuはワーキングフラグ。
MPRはマツピング優先度である。
く作用〉 固定長のクラスタ単位で内部メモリINMと外部メモリ
ETMとの間でデータの入出力を行うと共に、ページ領
域PGAの各ページP1(ページ長=クラスタ長)を管
理す゛るd−シマツブ管理情報pc、を用意し、該管理
情報p、cに (1)ページP6についてマツピングされたクラスタの
外部メモ!J ETMへの追い出されにくさを表わす0
〜15のマツピング優先度MPRと、(1))マツピン
グ優先度の鎖鋸にクラスタの外部メモリETMへの追い
出されにくさを示すポインタNXPと、 (2)各クラスタ毎に追い出し対象とする/しないを示
すプロテクトフラグFpとワーキングフラグF、を持た
せ、ページ領域PGAに空きページが無いときは、マツ
ピング優先度の低い行列の、先頭ページから順番にプロ
テクトフラグFpとワーキングフラグF1.lが共にオ
フのクラスタを求め、該クラスタを外部メモリ(ETM
)に追い出す。
〈実施例〉 第1図は本発明にかかる内部データ管理方法の説明図で
ある。
ETMはハードディスクあるいはフロッピーディスク等
の外部メモリであり、その一部領域が仮想メモリ領域V
MAとなっている。仮想メモリ領域VMAはクラスタ単
位に内部メモリINMとデータの授受が可能であり、ク
ラスタ長の複数の記憶域C0〜CN(クラスタ領域O〜
クラスタ領域N)を有している。
INMばシステム本体内部に設けられた実メモリ (内
部メモリ)であり、PGAはページ領域、VCTは管理
情報領域である。ページ領域PGAば多数のページP0
〜p+、(ページ0〜ページM)から成っており、各ペ
ージにクラスタ単位のデータが記憶されるようになって
いる。尚、ページ長=クラスタ長になっている。
管理情報領域VCTには、 (i)ページ領域PGAの各ページP1〜P、、の空き
状態を示すピットマツプFATと、 (1))仮想メモリ領域VMAのクラスタ単位の記憶域
(クラスタ領域)C0〜CNの空き状態を示すビットマ
ツプCATと、 (jilベージ領域PGAの各ページP0〜P□に対応
させて管理情報PC,(i=0〜M)を有するページマ
ツプPMAPと、 Gvl仮想メモリ領域VMAの各クラスタ領域C8〜、
CNに対応させて管理情報CC,〜CCNを有するクラ
スタマツプCMAPと、 M各ページにおけるクラスタの追い出されにくさを表わ
すマツピング優先度(0〜15)を設定する時、マツピ
ング優先度の各値(0〜15)毎にクラスタの追い出さ
れにくさを示す行列が形成されるが、各行列の先頭ペー
ジポインタPHDK(k=1〜15)と末尾のページポ
インタPTLKを示すマツピング優先度キューMPQが
設けられている。
ページマツプPMAPの各ページP、(i=o〜M)に
対応して設けられた管理情報PC1には、(a)ページ
P、におけるクラスタの追い出しを禁止するためのフラ
グであって、アプリケーション側でオン/オフできるプ
ロテクトフラグFpと、(bllベージ、におけるクラ
スタの追い出しを禁止するためのフラグであって、内部
処理側でオン/オフできるワーキングフラグF、と、 (ClページP1におけるり゛ラスタの追い出されにく
さを示すマツピング優先度MPRと、 (d1ベージP、におけるクラスタを仮想メモリ領域V
MAに追い出す時、どのクラスタ領域に追い出すかを指
示するクラスタ番号CLNと、telページP1と同一
のマツピング優先度を有する行列において、該ページP
1に接続される次のページを示す順方向リンクNXPと
、 (fllベージ、と同一のマツピング優先度を有する行
列において、該ページP1が接続する前のページを示す
逆方向リンクPRPとが含まれている。
又、クラスタマツプCMAPの、各クラスタ領域C4に
対応して設けられた管理情報CCJには、該クラスタ領
域C4に記憶されているクラスタ単位のデータをページ
領域PGAのどのページに回復させるかを指示するペー
ジ番号PGNが含まれている。
尚、各管理情報CC1におけるページ番号PGNは、ク
ラスタが回復されるページP、に対応して設けられたペ
ージマツプ管理情報PC1の位置を示す。
同様に、マツピング優先−度キューMPQにおける先頭
ページポインタPHDK(K=1〜15)、末尾ページ
ポインタPTLKは共に、優先度にの行列の先頭ページ
及び末尾ページに対応するページマツプ管理情報の位置
を示し、更に各ページマツプ管理情報PC,におげろ順
方向リンクポインタNXPと逆方向リンクポインタPR
Pも行列の前後ページのページマツプ管理情報の位置を
示す。
従って、第2図に示すようにマツピング優先度キューM
PQにおけるマツピング優先度にの先頭ページポインタ
PHD−よ、優先度にの行列の先頭ページPPに対応す
るページマツプ管理情報PC0を指示し、ページマツプ
管理情報PCpの順方向リンクポインタNXPは優先度
にの行列の次のページマツプ管理情報PC,を指示し、
ページマツプ管理情報PC0の順方向リンクポインタN
XPは優先度にの行列の次のページマツプ管理情報PC
1を指示する。
又、MPQにおけるマツピング優先度にの末尾ページポ
インタPTL、は、優先度にの行列の末尾ページP、に
対応するベニシマツブ管理情報PC1を指示し、ページ
マツプ管理情報PC,の逆方向リンクポインタPRPは
優先度にの行列における1つ前のページマツプ管理情報
PC,を指示し、ページマツプ管理情報PC,の逆方向
リンクポインタPRPは同様に優先度kにおける行列の
1つ前のページマツプ管理情報PC,を指示する。
各ページP、のマツピング優先度の値(0〜15)はク
ラスタ毎にアプリケーションプログラムから指定され、
空き領域がなくなった場合にどのページからクラスタ単
位でデータを追い出すか決定するために用いられる。又
、使用中のページP、は、ページマツプ管理情報PC,
内の順方向リンクポインタNXPと逆方向リンクポイン
タPRPにより必ずどれかのマツピング優先度行列にリ
ンクされる。
尚、同一行列内では先頭ページから追い出されるものと
し、空きページがなくなった時には、優先度が最も低い
行列の先頭ページポインタP HDKが示す先頭ページ
のプロテクトフラグFPとワーキングフラグF、が共に
オヅしているかチエツクし、オフであれば該先頭ページ
をその行列から削除して、該先頭ページのクラスタを仮
想メモリ領域VNAに追い出す。しかし、いずれかのフ
ラグがオンしていれば該先頭ページのクラスタを追い出
さず、次のページについてプロテクトフラグFPとワー
キングフラグF1.lのオン/オフをチエツクし、以下
同様に両フラグがオフしているページがみつかる迄次々
とリンクをたどって行き、行列の最後に到達したら次に
優先度が低い行列について先頭ページから両フラグがオ
フのページを求め、該ページのクラスタを追い出す。
一方、アプリケージ9ンにより所定のページにおけるク
ラスタのマツピング優先度が指定されろと該ページを指
定されたマツピング優先度の行列の末尾にリンクさせろ
。又、所定ページのクラスタがアクセスされると、ある
いはマツピング優先度の変更が指示されろと該ページの
リンクを対応する行列から削除すると共に、所定の行列
(アクセスされた場合には同一の行列)の末尾にリンク
させる。従って、行列内−では、昔アクセスしたページ
はど行列の前方にリンクされ、最近アクセスしたページ
はど行列の後方にリンクされる。
次に、フラグの設定、追い出しにおける動作の概略を説
明する。
アプリケーション側は、ある処理の入り口部分で追い出
しを禁止したいファイルを指定すると、その情報がファ
イル管理モジュールにより対応ファイルのファイル管理
テーブル(図示せず)に保存される。そして、以後その
ファイルに属するページP、のクラスタをアクセスする
と、そのクラスタ (ページ)が対応するページマツプ
管理情報PC1内のプロテクトフラグFpがオンされて
追い出し禁止が設定される。
一方、処理終了後の出口処理でそのファイルに属する全
てのクラスタのプロテクトフラグをオフすることにより
追い出しを可能とする。
bワーキングフラグの 内部処理側は、ある処理の途中で追い出しを禁止したい
クラスタを内部へメモリに読み込んだ後、該クラスタ 
(ページ)に対応するページマツプ管理情報内のワーキ
ングフラグF1.lをオンする。これにより、そのクラ
スタは常に内部メモリ上に存在することになるので、ク
ラスタ番号でなく物理アドレスを使用しても良くなる。
そして、処理終了後は、そのクラスタのワーキングフラ
グF、をオフすることにより、追い出し可能状態にする
。ただし、プロテクトフラグFpがオンのものもあるが
、この場合には未だ追い出し禁止状態である。
師)追い出し 第3図は追い出し処理の流れ図である。
ページ領域PGAに空きページが無くなった時には、マ
ツピング優先度mの最も低い行列(m=0)の先頭ペー
ジ(先頭ページがなければ次に低い行列(m=1)の先
頭ページ、以下同様)に注目する(ステップ101)。
しかる後、注目ページに対応するページマツプ管理情報
内のプロテクトフラグFpがオンかチエツクする(ステ
ップ102)。
プロテクトフラグFPがオフしていれば、次にワーキン
グフラグF、がオンしているかチエツクしくステップ1
03)、オフしていれば該注目ページのクラスタは追い
出し可能であるから、ページマツプ管理情報内のクラス
タ番号CLNが指示する仮想メモリ領域VMAの所定ク
ラスタ領域に追い出す(ステップ104)。
一方、プロテクトフラグFpあるいはワーキングフラグ
F、の一方がオンしていれば、注目ページのクラスタは
追い出し禁止であるから、該ページが行列の最後かチエ
ツクしくステップ105)、最後でなければ次の追い出
し順位のページを求め(ステップ106)、以後ステッ
プ102以降の処理を繰り返す。
ステップ105において、注目ページが行列最後のペー
ジであれば、該行列は最も優先度が高い行列(最後の行
列)かチエツクしくステップ107)、最後の行列であ
ればエラーとして処理を終了し、最後でなければ次の行
列の先頭ページに注目しくステップ108)、以後ステ
ップ102以降の処理を繰り返す。
以上の本発明にかかる内部データ管理方法は、具体的に
は、たとえば以下の態様で使用される。
態様A 2つのアプリケーション1.2が交互に実行され、アプ
リケーションlではファイル1を、アプリケーション2
ではファイル2を頻繁にアクセスするとした時、 (ilアプリケーション1の入り口処理でファイル1の
プロテクトフラグをオンにし、出口処理でオフする、 (1))アプリケーション2の入り口処理でファイル2
のプロテクトフラグをオンにし、出口処理でオフする。
これによって、一方のアプリケーションが動いている時
は、それが使用するファイルを常にメモリに置くことが
でき、各種処理の高速化が図れる。
態様B あるアプリケーションの内部で巨大なファイルの一部分
を頻繁にサーチするとした時、ファイルそのものは巨大
なので他のファイルへの影響も考えてマツピング優先度
は低くしておき、一連のサーチの最初でプロテクトフラ
グをオンにし、最後でオフする。これによって、−度サ
ーチされたクラスタは内部メモリに残るため、全体とし
て外部メモリのアクセスが減少する。
態様C アプリケーションが新規レコードを作成する時、内部処
理ではレコード管理情報RCT用の領域を確保して物理
アドレスを求めた後、そのクラスタのワーキングフラグ
をオンにする。その後、実データ用領域を確保してデー
タを書き込み、書き込み後レコード管理領域に情報を設
定する時、そのクラスタが内部メモリ上にあることが保
証されているので、物理アドレスを求め直す必要がなく
高速に情報を設定できる。
尚、アプリケーションからレコードIDとルコード分の
実データより成る内部データが入力されると (新規レ
コードの作成)、内部データ管理用のモジュールは該内
部シータを可変長の実データと固定長のレコード管理情
報RCTに分け、レコード管理情報RCTに実データの
(1)レコードIDと、 (iilその長さと、−実デ
ータを記憶するページのクラスタ (クラスタ番号)と
、60クラスタにおける実データの位置情報を持たせ、
実データとレコード管理情報を別々のページ(クラスタ
)に記憶する。
〈発明の効果〉 以上本発明によれば、マツピング優先度とアクセス順の
行列のほかに、プロテクトフラグとワーキングフラグを
設けたから、追い出されにくさだけでなく、絶対に追い
出されない状態を設定できる。これにより、アプリケー
ション側では一時的、あ・るいは恒久的に頻繁にアクセ
スされるファイルのプロテクトフラグをオンすることで
外部メモリのアクセスをなくし、内部処理側では再使用
することがわかっているクラスタのワーキングフラグを
オンにし、その物理アドレスを記憶して利用することで
処理を高速化することができる。
【図面の簡単な説明】
第1図は本発明にかかる内部データ管理方法の説明図、 第2図はマツピング優先度にの行列説明図、第3図は本
発明にかかる追い出し処理の流れ図である。 ETM・・外部メモリ、 INM・・内部メモリ、 P;・・ページ、 VMA・・仮想メモリ領域、 MPQ・・マツピング優先度キュー、 PCl・・ページマツプ管理情報、 Fp・・プロテクトフラグ、 F、・・ワーキングフラグ 特許出願人        ファナック株式会社代理人
          弁理士  齋藤千幹第2図 \、           / −〜−一一一一一

Claims (4)

    【特許請求の範囲】
  1. (1)ランダムアクセス可能な外部メモリを有し、該外
    部メモリを内部メモリの拡張として使用するシステムに
    おける内部データ管理方法において、固定長のクラスタ
    単位で内部メモリと外部メモリとの間でデータの入出力
    を行うと共に、内部メモリ上の各クラスタを管理する情
    報内に、外部メモリへの各クラスタの追い出されにくさ
    を表わすマッピング優先度と、マッピング優先度毎にク
    ラスタの外部メモリへの追い出されにくさを示す行列と
    、各クラスタ毎に追い出し対象とする/しないを示すフ
    ラグを持たせ、 内部メモリ上に空きクラスタが無いときは、マッピング
    優先度の低い行列の、先頭クラスタから順番にフラグが
    オフのクラスタを求め、該クラスタを外部メモリに追い
    出すことを特徴とする内部データ管理方法。
  2. (2)アプリケーション側でオン/オフできるフラグと
    、内部処理側でオン/オフできるフラグの2種類を設け
    、両フラグがオフのクラスタを外部メモリへ追い出すこ
    とを特徴とする特許請求の範囲第1項記載の内部データ
    管理方法。
  3. (3)内部メモリ上の各クラスタに対応させて管理情報
    を用意し、各管理情報に対応するクラスタのマッピング
    優先度と、該優先度の行列を形成するためのリンクデー
    タと、前記2つのフラグを含ませることを特徴とする特
    許請求の範囲第2項記載の内部データ管理方法。
  4. (4)前記管理情報にクラスタを外部メモリのどこに追
    い出すかを示すデータを含ませ、該データを参照して外
    部メモリにクラスタを追い出すことを特徴とする特許請
    求の範囲第3項記載の内部データ管理方法。
JP63025356A 1988-02-05 1988-02-05 内部データ管理方法 Pending JPH01200451A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63025356A JPH01200451A (ja) 1988-02-05 1988-02-05 内部データ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63025356A JPH01200451A (ja) 1988-02-05 1988-02-05 内部データ管理方法

Publications (1)

Publication Number Publication Date
JPH01200451A true JPH01200451A (ja) 1989-08-11

Family

ID=12163567

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63025356A Pending JPH01200451A (ja) 1988-02-05 1988-02-05 内部データ管理方法

Country Status (1)

Country Link
JP (1) JPH01200451A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200407A (ja) * 1993-12-29 1995-08-04 Nec Corp 仮想記憶システム
JP2008251036A (ja) * 1997-09-24 2008-10-16 Microsoft Corp 仮想記憶システムにおける物理メモリの割り振りをアプリケーションプログラムによって制御するアプリケーション・プログラミング・インターフェイス

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200407A (ja) * 1993-12-29 1995-08-04 Nec Corp 仮想記憶システム
JP2008251036A (ja) * 1997-09-24 2008-10-16 Microsoft Corp 仮想記憶システムにおける物理メモリの割り振りをアプリケーションプログラムによって制御するアプリケーション・プログラミング・インターフェイス

Similar Documents

Publication Publication Date Title
KR940005775B1 (ko) 디스크 파일 개방 방법
US6581142B1 (en) Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer
EP0077453A2 (en) Storage subsystems with arrangements for limiting data occupancy in caches thereof
EP0221358B1 (en) Sort string generation in a staged storage system
JPH0452741A (ja) キャッシュメモリ装置
JPS60233749A (ja) メモリフアイル装置
JPH01200451A (ja) 内部データ管理方法
JPS59220853A (ja) デイスクキヤツシユシステム
JPS59123952A (ja) キヤツシユ・メモリ制御方法
JPH0695955A (ja) フラッシュ・ファイル・システム
EP0285309A2 (en) Memory protection apparatus for use in an electronic calculator
DE102005051265B4 (de) Verfahren und System zum Zugreifen auf Daten in einem Computer
JPS60214060A (ja) 外部記憶キヤツシユ制御方式
JPH01200453A (ja) 内部データ管理方法
JP3061385B2 (ja) データ管理装置およびデータ管理方法
US20040047357A1 (en) Method for accessing a memory unit in which sequences of notes are stored, corresponding memory unit and corresponding program
Lohmann et al. Hard Real-Time Memory-Management in a Single Clock Cycle (on FPGAs)
US20110153929A1 (en) Disk memory utilization management using available slot clusters
JPH01253024A (ja) データベース管理におけるバッファ制御方法
JP2008134777A (ja) ファイル割当テーブルのキャッシュ方法
JP2605476B2 (ja) ダンプ採取処理方法
JPS60230247A (ja) デイスク制御装置
JPH01130237A (ja) 情報処理装置
JPH0452737A (ja) ファイル管理方式
EP0382529A3 (en) Microprocessor having store buffer