JP3118348B2 - プログラムキャッシュ方法 - Google Patents

プログラムキャッシュ方法

Info

Publication number
JP3118348B2
JP3118348B2 JP05175388A JP17538893A JP3118348B2 JP 3118348 B2 JP3118348 B2 JP 3118348B2 JP 05175388 A JP05175388 A JP 05175388A JP 17538893 A JP17538893 A JP 17538893A JP 3118348 B2 JP3118348 B2 JP 3118348B2
Authority
JP
Japan
Prior art keywords
program
user
index
memory
user program
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
JP05175388A
Other languages
English (en)
Other versions
JPH0736783A (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.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo 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 Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP05175388A priority Critical patent/JP3118348B2/ja
Publication of JPH0736783A publication Critical patent/JPH0736783A/ja
Application granted granted Critical
Publication of JP3118348B2 publication Critical patent/JP3118348B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)
  • Stored Programmes (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、ディスク装置等の二次
記憶装置にユーザープログラムを記憶したシステムに係
わり、該二次記憶装置からユーザープログラムを読み出
し、各ユーザーメモリエリアにロードする方法に関す
る。
【0002】
【従来の技術】ディスク装置等の二次記憶装置に複数種
類のユーザープログラムを記憶したシステムでは、二次
記憶装置上のファイルを管理するファイル管理システム
と呼ばれるプログラムが用意されており、ユーザープロ
グラムのロードを行おうとする場合は、ロード要求を上
記ファイル管理システムに発し、要求を受けたファイル
管理システムがディスク上の管理情報に基づき、要求さ
れたユーザープログラムをディスク装置から読み出し、
読み出したユーザープログラムを要求元のユーザーメモ
リエリアにロードするようにしていた。
【0003】
【発明が解決しようとする課題】ユーザーメモリエリア
の容量が大きい場合は、必要なユーザープログラムを全
てユーザーメモリエリアにロードしておくことができる
が、ユーザーメモリエリアが小さい場合には、複数のユ
ーザープログラムを処理が終了する度に順次ユーザーメ
モリエリアにロードしなおさなくてはならず、従って、
このような場合には、プログラムを記憶するディスク装
置等の二次記憶装置に対するアクセスが頻繁に起こり、
プログラムロードのための処理時間が非常に長くなると
いう課題があった。
【0004】
【課題を解決するための手段】本発明は、複数のユーザ
ープログラムを記憶する二次記憶装置と、該二次記憶装
置から読み出したユーザープログラムを複数蓄えるため
のメモリ手段と、前記ユーザープログラムをロードする
ためのユーザーメモリとを備えたシステムにおいて、ユ
ーザープログラムのロード要求が入力されたとき、要求
されたプログラムが前記メモリ手段に存在するか否か判
定し、存在するときは該要求されたユーザープログラム
をメモリ手段から読み出して要求元のユーザーメモリに
ロードし、存在しないときは要求されたユーザープログ
ラムを前記二次記憶装置から読み出して要求元のユーザ
ーメモリにロードすると共に、そのユーザープログラム
を前記メモリ手段にも蓄えるようにし、前記メモリ手段
は、ユーザープログラムを記憶するメモリ本体とそのイ
ンデックス情報を記憶するインデックステーブルとより
成り、ユーザープログラムを前記メモリ手段に蓄える毎
に順次変化する登録番号を前記インデックス情報として
前記インデックステーブルに更に記憶するようにし、前
記ロード要求において、前記インデックステーブルの配
列順序を表すインデックス番号と前記登録番号とを指定
可能とし、その指定された登録番号が、当該ロード要求
中のインデックス番号により指定されるインデックステ
ーブル内の登録番号と一致したときのみ、要求されたプ
ログラムが前記メモリ手段に存在するものと判定して、
指定されたインデックス番号に対応する前記メモリ本体
からユーザープログラムの読み出しを行うことで、上記
課題を解決するものである。
【0005】また、前記インデックステーブルは、イン
デックス情報としてユーザープログラムの前記二次記憶
装置上での記憶アドレスを含み、前記ロード要求では更
にプログラムのファイル名を指定可能とし、要求元がロ
ード要求においてインデックス番号を指定していないと
きは、前記ファイル名を前記二次記憶装置上での記憶ア
ドレスに変換し、その変換した記憶アドレスにより前記
インデックステーブルをサーチして、要求されたユーザ
ープログラムが前記メモリ手段に存在するか否か判定す
るようにした。
【0006】
【0007】
【0008】
【作用】本発明では、1度ロードしたユーザープログラ
ムはメモリ手段に蓄えられるとともに、対応するインデ
ックス番号がロード要求元に返される。次のロード要求
時にはそのインデックス番号が指定されるので、ユーザ
ープログラムがメモリ手段にあるか否かをインデックス
番号によって判定する。
【0009】
【実施例】本システムは、複数のユーザーA,B,…
‥,Mが、各々、同時に異なる業務を実行するマルチタ
スク処理が可能なシステムであって、図1にそのシステ
ム構成を示す。図示のように、複数のユーザーA,B,
…‥,Mに対して、各々、ユーザープログラムをロード
するためのユーザーメモリエリア2a,2b,…‥,2
mが用意され、利用される複数種類のユーザープログラ
ムは二次記憶装置としてのハードディスク装置1に格納
されている。このユーザープログラムは、各々異なる業
務を遂行するためのアプリケーションプログラムであっ
て特定の言語で記述されており、このため、各ユーザー
ごとにインタプリタ等の言語プロセッサ3a,3b,…
‥,3mが用意され、このプログラムを介して処理が実
行される。
【0010】また、ディスク装置1には、ユーザープロ
グラムと共に、そのプログラムが格納されているディス
ク上でのアドレスを表すディスクアドレスと、そのプロ
グラムをロードすべきユーザーメモリエリア上でのアド
レスを表すロードメモリアドレスが管理情報として各プ
ログラム毎に記憶されており、ディスク上のファイル管
理はファイル管理プログラムFMS7によって行われて
いる。
【0011】ところで、本実施例では、ディスク装置1
から読み出したユーザープログラムを蓄える所謂キャッ
シュメモリとして、拡張メモリ4を設けており、ユーザ
ープログラム自体を記憶するセグメントメモリ5と、そ
のインデックス情報を記憶するセグメントインデックス
テーブル6より構成されている。そして、このようなセ
グメントの管理はセグメント管理プログラムSMR8に
よって行われている。
【0012】さらに、各ユーザーの言語プロセッサ3
と、ファイル管理プログラムFMS7及びセグメント管
理プログラムSMR8とのインターフェースをとり、言
語プロセッサからのユーザープログラムロード要求に応
じてFMS及びSMRを利用し、ディスク装置1及び拡
張メモリ4へのアクセスを制御するシステムインターフ
ェースプログラムACR9が設けられている。
【0013】次に、セグメントインデックステーブル6
とセグメントメモリ5の内容について、図6,7を用い
て説明する。セグメントメモリ5は、図7に示すよう
に、1セグメントが、ユーザープログラム自体を記憶す
るセグメント部と、セグメントインデックスNO(SI
NO)等の管理情報を記憶するメモリ管理部とより成
り、1つのユーザープログラムを記憶するのに用いられ
る。セグメントメモリ5には、このようなセグメントが
複数用意されており、従って、複数のユーザープログラ
ムを記憶することが可能である。
【0014】一方、セグメントインデックステーブル6
は、図6のように、インデックス番号順に各セグメント
のインデックス情報を記憶するものであり、インデック
ス情報としては、セグメントインデックスNO(SIN
O),ディスクアドレス,セグメントメモリオフセッ
ト,ロードメモリアドレス,ロードセグメントサイズを
含む。ここで、セグメントメモリオフセットとは、対応
するユーザープログラムが記憶されたセグメントメモリ
5上の位置を示す値である。また、セグメントインデッ
クスNO(SINO)は、インデックス番号と登録番号
nよりなる番号であって、登録番号nは後述のようにセ
グメント管理プログラムSMRにより付加される番号で
あり、インデックス番号は、セグメントインデックステ
ーブル6上のオフセット値を予め定められている1セグ
メントインデックスのサイズで除算した値に+1した値
を示す。
【0015】以下、本システムの動作を図2,3,4の
フローチャートを参照しながら説明する。まず、ユーザ
ーAが、新たなユーザープログラムPR1を電源投入後
初めて必要になったとする。この場合、言語プロセッサ
3aは、新たなユーザープログラムPR1をロードする
ためのロード要求を、システムインターフェースプログ
ラムACR9に発する。
【0016】ユーザープログラムのロード要求には、図
5に示すように、ロードコマンドと、ロードしようとす
るユーザープログラムに対応するセグメントインデック
スNO(SINO)及びファイル名が含まれている。但
し、言語プロセッサが電源投入後初めて要求するユーザ
ープログラムの場合は、そのSINOは不明なので、こ
の場合にはSINOを「0」とする。
【0017】ACR9はロード要求を受け付けると、図
2に示すように、まず、SINOが0か否か判定し、0
であるときは、即ち、1度もロードしたことがないユー
ザープログラムをロードしようとするときは、ファイル
管理プログラムFMS7をコールし、ロード要求中に含
まれているファイル名をFMS7に渡す。すると、FM
S7は図3の如く、ディスク装置1をアクセスして入力
されたファイル名をディスクアドレスに変換し、変換し
たディスクアドレスをACRへ返送する。
【0018】そこで、ACR9は、セグメントインデッ
クステーブル6から、変換したディスクアドレスを含む
セグメントインデックスをサーチし、存在するときは、
セグメントメモリオフセットに基づき、セグメントメモ
リ5の対応するセグメントから目的のユーザープログラ
ムPR1を読み出し、ユーザーメモリエリア2aにロー
ドする。サーチの結果、変換したディスクアドレスを含
むセグメントインデックスがないときは、ACR9はセ
グメント管理プログラムSMR8に新たなセグメントの
登録を要求する。
【0019】登録の要求を受けたSMR8は、図4に示
すように、空きポインタEPに基づきセグメントインデ
ックステーブル6に空きがあるか調べ、空きがあるとき
はその領域を新たなユーザープログラムの登録のために
確保し、空きがないときは、使用中ポインタUPに基づ
き最も古いセグメントを解放し、その領域を新たなユー
ザープログラムの登録のために確保する。
【0020】次に、SMR8は、ロード要求中のディス
クアドレスに基づき目的のユーザープログラムPR1を
ディスク装置1から読み出し、セグメントメモリ5の確
保したセグメントに書き込む。また、SMR8は、その
ときの内部のカウント値nを登録番号として付与し、こ
の登録番号と確保したセグメントのインデックス番号か
らSINOを生成して、そのNOをセグメントインデッ
クステーブル6に書き込む。セグメントインデックステ
ーブル6には、さらに、ユーザープログラムを記憶した
セグメントメモリ5上のオフセットと、ディスク装置1
からユーザープログラムと共に読み出したディスクアド
レス及びロードメモリアドレス,ロードセグメントサイ
ズを書き込む。そして、最後に、登録したSINOをA
CR9に返送し、且つ、カウント値nをインクリメント
する。
【0021】このようにしてセグメントの登録が終了す
ると、ACR9は、返送されたSINOをロード要求を
発した言語プロセッサ3aに送出し、且つ、そのSIN
Oに基づき新たに登録したセグメントから目的のユーザ
ープログラムPR1を読み出し、ユーザーメモリエリア
2aにロードする。ロードするときは、セグメントイン
デックステーブル6のロードメモリアドレスが参照さ
れ、ユーザーメモリエリア2aのそのアドレスにプログ
ラムがロードされる。
【0022】以上のように、要求されたユーザープログ
ラムは、要求元のユーザーメモリエリアにロードされる
と共に、キャッシュメモリとしてのセグメントメモリ5
に蓄えられることとなる。同一のユーザーAが他のユー
ザープログラムを要求した場合、及び、他のユーザーが
ロード要求を発した場合も、同様の処理が行われ、要求
されたユーザープログラムPR2,PR3,…‥は、順
次セグメントメモリ5に蓄えられて行く。
【0023】次に、ユーザーAが、現在ユーザーメモリ
エリア2aにロードされているプログラムを終了し、終
了後、既にロードしたことのあるユーザープログラムP
R5が必要に成ったとする。各言語プロセッサ3は、1
度ロードしたユーザープログラムについては、そのSI
NOを内部に記憶しておくようにしているため、この場
合、言語プロセッサ3aが、記憶しておいたユーザープ
ログラムPR5のSINOを要求中に含めてロード要求
をシステムインターフェースプログラムACR9に発す
る。
【0024】ACR9はロード要求を受け付けると、前
述の如く、SINOが0か否か判定するが、この場合は
0でないので、ロード要求中のSINOに基づき、セグ
メントインデックステーブル6の対応するセグメントイ
ンデックスを読み出し、そこに書き込まれている登録番
号とロード要求中のSINOに含まれている登録番号を
比較し、一致するか否か判定する。そして、一致すると
きは、対応するセグメントの内容が書き替えられていな
いと判断し、セグメントインデックステーブル6のセグ
メントメモリオフセットに基づき目的のプログラムをセ
グメントメモリ5から読み出し、ユーザーメモリエリア
2aにロードする。一致しないときは、他のユーザーの
要求によって対応するセグメントの内容が書き替えられ
たと判断し、FMSコールに移り、以下前述と同様の動
作を行う。
【0025】
【発明の効果】本発明によれば、1度ロードしたユーザ
ープログラムはメモリ手段に蓄えられるとともに、対応
するインデックス番号がロード要求元に返され、次のロ
ード要求時にはそのインデックス番号が指定されるの
で、サーチすることなく高速に情報を取得できる。ま
た、ユーザープログラムをメモリ手段に蓄える毎に順次
変化する登録番号をインデックステーブルのインデック
ス情報として付加し、この登録番号を比較して両者の一
致を判定するようにしたので、メモリ手段の書き替えを
確実にチェックできる。
【0026】更に、インデックステーブルには、ユーザ
ープログラムを特定する情報として、ファイル名ではな
く二次記憶装置上での記憶アドレスを格納するように
し、ロード要求中のファイル名をこの記憶アドレスに変
換して変換したアドレスによりサーチをおこなうように
したので、サーチ速度を高速化できると共にインデック
ステーブルとして必要なメモリ容量を極力抑えることが
できる。
【0027】
【図面の簡単な説明】
【図1】本発明の実施例のシステム構成を示すブロック
図である。
【図2】実施例におけるシステムインターフェースプロ
グラムACRの処理内容を示すフローチャートである。
【図3】実施例におけるファイル管理プログラムFMS
の処理内容を示すフローチャートである。
【図4】実施例におけるセグメント管理プログラムSM
Rの処理内容を示すフローチャートである。
【図5】言語プロセッサのプログラムロード要求の内容
を示す図である。
【図6】実施例におけるセグメントインデックステーブ
ルの構造を示す説明図である。
【図7】実施例におけるセグメントメモリの構造を示す
説明図である。
【符号の説明】
1 ディスク装置 2 ユーザーメモリエリア 3 言語プロセッサ 4 拡張メモリ 5 セグメントメモリ 6 セグメントインデックステーブル 7 ファイル管理プログラムFMS 8 セグメント管理プログラムSMR 9 システムインターフェースプログラムACR
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭63−101946(JP,A) 特開 平1−116851(JP,A) 特開 平4−286024(JP,A) 特開 昭60−153552(JP,A) 特開 平1−196641(JP,A) 特開 平2−17543(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 9/06 - 9/445 G06F 12/00 - 12/12 G06F 13/00

Claims (2)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数のユーザープログラムを記憶する二
    次記憶装置と、該二次記憶装置から読み出したユーザー
    プログラムを複数蓄えるためのメモリ手段と、前記ユー
    ザープログラムをロードするためのユーザーメモリとを
    備えたシステムにおいて、ユーザープログラムのロード
    要求が入力されたとき、要求されたプログラムが前記メ
    モリ手段に存在するか否か判定し、存在するときは該要
    求されたユーザープログラムをメモリ手段から読み出し
    要求元のユーザーメモリにロードし、存在しないとき
    要求されたユーザープログラムを前記二次記憶装置か
    ら読み出して要求元のユーザーメモリにロードすると共
    に、そのユーザープログラムを前記メモリ手段にも蓄え
    るようにし、 前記メモリ手段は、ユーザープログラムを記憶するメモ
    リ本体とそのインデックス情報を記憶するインデックス
    テーブルとより成り、ユーザープログラムを前記メモリ
    手段に蓄える毎に順次変化する登録番号を前記インデッ
    クス情報として前記インデックステーブルに更に記憶す
    るようにし、 前記ロード要求において、前記インデックステーブルの
    配列順序を表すインデックス番号と前記登録番号とを指
    定可能とし、その指定された登録番号が、当該ロード要
    求中のインデックス番号により指定されるインデックス
    テーブル内の登録番号と一致したときのみ、要求された
    プログラムが前記メモリ手段に存在するものと判定し
    て、指定されたインデックス番号に対応する前記メモリ
    本体からユーザープログラムの読み出しを行うことを
    徴とするプログラムキャッシュ方法。
  2. 【請求項2】 請求項1記載 のプログラムキャッシュ方
    法であって、前記インデックステーブルは、インデック
    ス情報としてユーザープログラムの前記二次記憶装置上
    での記憶アドレスを含み、前記ロード要求では更にプロ
    グラムのファイル名を指定可能とし、要求元がロード要
    求においてインデックス番号を指定していないときは、
    前記ファイル名を前記二次記憶装置上での記憶アドレス
    に変換し、その変換した記憶アドレスにより前記インデ
    ックステーブルをサーチして、要求されたユーザープロ
    グラムが前記メモリ手段に存在するか否か判定するよう
    にしたことを特徴とするプログラムキャッシュ方法。
JP05175388A 1993-07-15 1993-07-15 プログラムキャッシュ方法 Expired - Fee Related JP3118348B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP05175388A JP3118348B2 (ja) 1993-07-15 1993-07-15 プログラムキャッシュ方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP05175388A JP3118348B2 (ja) 1993-07-15 1993-07-15 プログラムキャッシュ方法

Publications (2)

Publication Number Publication Date
JPH0736783A JPH0736783A (ja) 1995-02-07
JP3118348B2 true JP3118348B2 (ja) 2000-12-18

Family

ID=15995239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP05175388A Expired - Fee Related JP3118348B2 (ja) 1993-07-15 1993-07-15 プログラムキャッシュ方法

Country Status (1)

Country Link
JP (1) JP3118348B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3527765B2 (ja) * 1993-11-29 2004-05-17 富士通株式会社 プログラムキャッシュ装置

Also Published As

Publication number Publication date
JPH0736783A (ja) 1995-02-07

Similar Documents

Publication Publication Date Title
US5566319A (en) System and method for controlling access to data shared by a plurality of processors using lock files
JP3138171B2 (ja) システム機能をダウンロードする方法
US8478931B1 (en) Using non-volatile memory resources to enable a virtual buffer pool for a database application
JPH10253367A (ja) ナビゲーションシステム用のインタフェースレイヤ
JPH0364890B2 (ja)
US11221999B2 (en) Database key compression
JPH10254756A (ja) リファレンスされたオブジェクトを管理するための3状態リファレンスの使用
US5414826A (en) System and method for memory management in microcomputer
JP2781092B2 (ja) システム間排他制御方式
US8332595B2 (en) Techniques for improving parallel scan operations
Ubell The intelligent database machine (idm)
JP3118348B2 (ja) プログラムキャッシュ方法
JPS6032220B2 (ja) 情報処理装置
JPS60252973A (ja) ダイナミツクロ−デイング制御方式
JPH04112253A (ja) 多層バッファを用いるデータアクセス方法
JP2787107B2 (ja) バッファ制御方式及び装置
US20070055644A1 (en) Global dynamic variable storage for SQL procedures
JPH04336340A (ja) ディスクキャッシュアクセス制御方式
JP2740572B2 (ja) プログラムロード方法
JP2540821B2 (ja) デ―タベ―ス検索システム
JPS61276040A (ja) 論理フアイルアクセス方式
JP2735400B2 (ja) 非同期入出力制御方式
JPH0337748A (ja) 主記憶を利用した外部記憶アクセス方式
JPH05165756A (ja) マクロ処理機能付チャネル制御装置
JPH04167152A (ja) 空きメモリ管理方式

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees