JPH05143411A - フアイル管理システム - Google Patents

フアイル管理システム

Info

Publication number
JPH05143411A
JPH05143411A JP3330049A JP33004991A JPH05143411A JP H05143411 A JPH05143411 A JP H05143411A JP 3330049 A JP3330049 A JP 3330049A JP 33004991 A JP33004991 A JP 33004991A JP H05143411 A JPH05143411 A JP H05143411A
Authority
JP
Japan
Prior art keywords
buffer memory
memory
management system
buffer
file management
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.)
Withdrawn
Application number
JP3330049A
Other languages
English (en)
Inventor
Masakazu Kobayashi
正和 小林
Hiroshi Furuyama
浩 古山
Takeshi Shimizu
剛 清水
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.)
Hitachi Microcomputer System Ltd
Hitachi Ltd
Original Assignee
Hitachi Microcomputer System Ltd
Hitachi 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 Hitachi Microcomputer System Ltd, Hitachi Ltd filed Critical Hitachi Microcomputer System Ltd
Priority to JP3330049A priority Critical patent/JPH05143411A/ja
Publication of JPH05143411A publication Critical patent/JPH05143411A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 応用プログラムの高速化、メモリの効率的な
使用、さらに特定プログラムのみの高速化を実現する。 【構成】 ファイル管理システムに、バッファメモリの
追加を行う「バッファメモリの追加機能」、バッファメ
モリの削除を行う「バッファメモリの削除機能」、およ
び現在のバッファメモリ情報を取得する「バッファメモ
リ情報の取得機能」を設ける。また、追加するバッファ
メモリの使用を特定プログラムに限定する機能を設け
る。 【効果】 応用プログラムがファイル管理システムのバ
ッファメモリを制御できるため、応用プログラムに応じ
たファイル入出力の高速化、メモリの効率的な利用、お
よび特定プログラムのファイル入出力の高速化が可能と
なる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、コンピュータのオペレ
ーティングシステムの一部であるファイル管理システム
におけるバッファメモリの操作方法に関する。
【0002】
【従来の技術】ファイル管理システムは、オペレーティ
ングシステムの一部として動作し、応用プログラムから
のファイル入出力要求を処理する機能を有しているが、
このファイル入出力要求を高速に処理する方法として、
バッファ記憶方式がある。このバッファ記憶方式は、デ
ィスク装置と応用プログラムの間にバッファメモリを介
在させ、ディスク装置から一度読み込んだデータの再読
み直しを減らしたり、ディスク装置への書き込みを一括
して行うなど、物理的な入出力を減らすアルゴリズムが
適用される。高速化のためのアルゴリズムは各種提案さ
れているが、大きなバッファメモリを持つことが、高速
化の第一条件である。
【0003】従来このバッファメモリの大きさは、ファ
イル管理システムを構築する際や、ファイル管理システ
ムを立ち上げる際に決定し、以後、変更することはでき
なかった。従って、システム構築者は、当該コンピュー
タシステム上で実行する応用プログラムが行うファイル
操作や実行に必要なメモリサイズなどを考慮し、最適な
性能が得られるように予めバッファメモリの大きさを決
定していた(CQ出版株式会社、1989年10月15
日発行、「MS−DOSプログラマーズ・バイブル」第
86頁参照)。また、従来、バッファメモリはファイル
管理システムのアルゴリズムの下で使用され、応用プロ
グラムの実行内容に関連して使用されることはなかっ
た。
【0004】
【発明が解決しようとする課題】ところが、上記のよう
にバッファメモリサイズをシステム立ち上げ以降は変更
できないと、高速化が必要な応用プログラムを実行する
にはシステムを立ち上げ直してバッファメモリサイズを
設定し直さねばならないという問題点がある。また、バ
ッファメモリを主メモリに常駐させるファイル管理シス
テムなどにおいてあらかじめバッファメモリサイズを大
きく設定すると、ワークエリアが小さくなって応用プロ
グラムの実行ができなくなるおそれがある。さらに、マ
ルチタスク環境下で上記のようなファイル管理システム
を使用すると、バッファメモリが各タスクからのファイ
ル入出力要求に分散してしまい、特定の応用プログラム
を高速に実行することができないという課題がある。
【0005】本発明はこのような問題点を解決するため
になされたものであって、システムを立ち上げ直すこと
なく、ファイル管理システムが使用するバッファメモリ
を、応用プログラムの目的に応じた大きさに変更できる
とともに、バッファメモリの使用を特定の応用プログラ
ムに限定できるようにすることを目的とする。
【0006】
【課題を解決するための手段】この発明は、バッファメ
モリを備えたファイル管理システムにおいて、「バッフ
ァメモリの追加機能」と、「バッファメモリの削除機
能」と、「バッファメモリ情報の取得機能」とを設けた
ものであり、「バッファメモリの追加機能」において
は、追加するバッファメモリの位置パラメータとサイズ
パラメータ、およびバッファメモリの使用を特定の応用
プログラムに限定するためのパラメータを持つことを特
徴とし、「バッファメモリの削除機能」においては、削
除するバッファメモリの位置パラメータとサイズパラメ
ータを持つことを特徴とし、「バッファメモリ情報の取
得機能」においては、ファイル管理システムが現在保持
している全バッファメモリサイズと、使用中バッファメ
モリサイズと、未使用のバッファメモリサイズと、使用
を特定されているバッファメモリの情報を取得できるこ
とを特徴としている。
【0007】
【作用】応用プログラムがファイル入出力を必要とする
場合、まずファイル管理システムに対し「バッファメモ
リ情報の取得機能」を呼び出して、現在のバッファメモ
リ状況を取得する。応用プログラムが、現在より多くの
バッファメモリを使用してファイル入出力の高速化を行
いたい場合は、「バッファメモリの追加機能」を呼び出
して必要分のバッファメモリを追加する。これによっ
て、ファイル入出力処理が高速化される。また、応用プ
ログラムをマルチタスク環境下で実行する際に、「バッ
ファメモリの追加機能」で追加するバッファメモリの用
途を特定することにより、特定の応用プログラムのみの
ファイル入出力処理が高速化される。これに対し、ファ
イル管理システムがバッファメモリを多く使用している
ために、主メモリを圧迫してこのままでは応用プログラ
ムの実行が行えない場合や、バッファメモリの使用効率
が著しく低い場合などは、「バッファメモリの削除機
能」を呼び出してバッファメモリをファイル管理システ
ムから削除する。これによって、応用プログラムの実行
に必要なワークエリアが充分に確保され、メモリがより
効率的に使用される。
【0008】
【実施例】
(実施例1)本実施例は、マルチタスク・オペレーティ
ングシステム(以下OSと省略)上でメモリプールを使
用してバッファメモリの操作を行えるようにした実施例
であり、図1にファイル管理システムの構成とこれによ
って管理されるメモリおよび応用プログラムとの関係
を、また図2にバッファメモリの構成例を示す。図1の
システムを構成するプログラムは、ファイル入出力を行
う応用プログラム(タスク)1と、バッファメモリと応
用プログラムのワークエリアを提供するメモリプール3
およびディスクメディア40を管理下に置くファイル管
理システム2とである。ファイル管理システム2は、応
用プログラム1からのシステムコールをその内容に応じ
て振り分けるメイン処理6と、バッファメモリ操作シス
テムコール処理7と、ファイル操作システムコール処理
8と、入出力管理9と、バッファメモリ管理10とで構
成される。バッファメモリ管理10は、複数のバッファ
メモリ20a,20b,…20i…20nからなるバッ
ファメモリ群と、各バッファメモリの管理を効率的に行
なえるようにするバッファメモリキュー11とにより構
成される。
【0009】初めに、図1の実施例において、バッファ
メモリを使用して高速化を行うファイル管理システムの
システムコール処理について説明する。応用プログラム
1がファイル操作システムコールを行うと、メイン処理
6はこの要求を受け取り、ファイル操作システムコール
処理8を呼び出す。ファイル操作システムコール処理8
が、システムコール処理に伴うデータ入力(ディスクメ
ディアへのリード要求)を行う場合、入出力管理9を呼
び出す。入出力管理9は、ディスクメディア40へ直接
に入力を要求するのではなく、バッファメモリ管理10
を呼び出し、バッファメモリに必要なデータが既に読み
込まれているかをチェックする。必要なデータがバッフ
ァメモリに存在すれば、これを使用する。存在しなけれ
ば、ディスクメディア40から未使用のバッファメモリ
20nへデータを読み込んで使用する。
【0010】バッファメモリ管理10は、バッファメモ
リ群20a……20nを、次のバッファメモリの先頭ア
ドレスのポインタの繋がりからなるバッファメモリキュ
ー11を用いて、例えばLRU(Least Rece
ntly Used)のようなシステム特有のアルゴリ
ズムに基づく優先度順に並べることによって、バッファ
メモリのヒット率を高めている。このように、バッファ
メモリを使用することで、物理的な入出力の回数を減ら
し、システムコールの処理を高速化することができる。
【0011】この実施例では、応用プログラムからの要
求(システムコール)によりバッファメモリを追加する
機能と、バッファメモリを削除する機能と、バッファメ
モリの情報を取得する機能とがファイル管理システム2
に設けられている。バッファメモリ追加のシステムコー
ルをC言語で記述すると、次式1の様に表現される。 er=apdbuf(mplid,count,pid); ……(1) 上記式1は、パラメータとして追加するバッファメモリ
の属するメモリプールID(識別子)であるmplid
と、追加するバッファメモリの数countと、追加す
るバッファメモリの使用を特定する応用プログラムのI
D pidを持つ。パラメータpidは、0を設定する
ことで追加するプログラムの特定を行わないこと、すな
わちすべての応用プログラムが利用できることを宣言可
能とされている。また、本実施例では、追加するバッフ
ァメモリの大きさを、count値で示すバッファメモ
リ(固定サイズ)の数で指定する。
【0012】応用プログラム1が式1の形式でバッファ
メモリを追加するバッファメモリ操作システムコールを
行うと、メイン処理6はこの要求を受け取り、バッファ
メモリ操作システムコール処理7を経て、バッファメモ
リ管理10を呼び出す。バッファメモリ管理10は、式
1のメモリプールID mplidで指定されたメモリ
プール3から、count数分のバッファメモリを獲得
し、バッファメモリキュー11にバッファメモリとして
追加、登録する。メモリプール3から獲得するバッファ
メモリ20iは、図2に示すようにバッファメモリ管理
エリア21とバッファメモリエリア22とで構成され
る。バッファメモリ管理エリア21は、次のバッファメ
モリの先頭アドレスを示すバッファメモリキューポイン
タ21a、新たにファイルを読み込むときに廃棄するか
残すかの順位を示すバッファメモリ優先度21b、デー
タが入っているか否か示すバッファメモリ状態21c、
ファイルの入っていたディスクメディアを示すディスク
装置番号21d、ファイルの入っていたディスクメディ
ア内の番地を示すセクタアドレス21e、バッファメモ
リ使用特定プログラムID21f、同じ応用プログラム
のIDを持つバッファメモリの繋がりを示す使用特定プ
ログラムキューポインタ21g、および当該バッファメ
モリの大きさを示すバッファメモリサイズ21hで構成
される。バッファメモリエリア22には実際の入出力デ
ータが格納される。
【0013】バッファメモリ管理10は、式1のバッフ
ァメモリの使用を特定するプログラムpidをバッファ
メモリ使用特定プログラムID21fに設定する。ま
た、特定されるメモリバッファを使用特定プログラムキ
ューポインタ21gでキューイングする。これにより、
ファイル操作システムコール処理8の入出力におけるバ
ッファメモリの検索処理において、特定プログラムから
の入出力要求のみにバッファメモリの使用を許可するこ
とができる。
【0014】次に、バッファメモリ削除のシステムコー
ルをC言語で記述すると、次式2の様に表現される。 er=delbuf(count,pid); ……(2) 本実施例ではバッファメモリの獲得をメモリプールを使
用して行っているため、式2はパラメータとして、削除
するバッファメモリの数countと、バッファメモリ
を特定使用しているプログラムID pidを持つ。p
idは、0を設定することで削除するバッファメモリの
特定を行わないことを可能とする。すなわち、バッファ
メモリキュー11のなかにある任意のバッファメモリを
count数分だけ削除する。
【0015】応用プログラム1が式2の形式でバッファ
メモリを削除するバッファメモリ操作システムコールを
行うと、メイン処理6はこの要求を受け取り、バッファ
メモリ操作システムコール処理7を経て、バッファメモ
リ管理10を呼び出す。バッファメモリ管理10は、式
2で指定されたcount数分のバッファメモリを、バ
ッファメモリキュー11から削除し解放する。式2で削
除するバッファメモリをpidで特定したときは、バッ
ファメモリ管理エリア21を調べて、バッファメモリキ
ュー11の中から、バッファメモリ使用特定プログラム
ID21fの一致するバッファメモリのみ検索して削除
の対象とする。
【0016】次に、バッファメモリ情報の取得システム
コールをC言語で記述すると、次式3の様に表現され
る。 er=infbuf(p−buf,pid); ……(3) 上記式3はパラメータとして、バッファメモリ情報を返
すメモリアドレスp−bufと、特定のプログラムが追
加したバッファメモリ情報を得るためのプログラムID
pidを持つ。pidは、0を設定することで取得す
るバッファメモリ情報の特定を行わないことを可能とす
る。すなわち、すべてのバッファメモリ情報を読み出し
てメモリアドレスp−bufの示すメモリ領域へ返す。
【0017】応用プログラム1が式3の形式でバッファ
メモリ情報を取得するバッファメモリ操作システムコー
ルを行うと、メイン処理6はこの要求を受け取り、バッ
ファメモリ操作システムコール処理7を経て、バッファ
メモリ管理10を呼び出す。バッファメモリ管理10
は、バッファメモリキュー11の内容を元に、式3のp
_bufで指定されたメモリへバッファメモリ情報を返
す。pidを指定するとバッファメモリキュー11の中
で、バッファメモリ使用特定プログラムID21fの一
致するバッファメモリのみを対象とする。
【0018】以上のようにこの実施例では、バッファメ
モリの管理をメモリプール3という形式でオペレーティ
ングシステムに任せることができるため、応用プログラ
ム1におけるバッファメモリ操作システムコールを簡略
化できる利点がある。また、バッファメモリをメモリプ
ール3から獲得・解放することで、メモリプール3で管
理されるメモリを、システムに応じて応用プログラム使
用メモリ30とバッファメモリ20とに分けることがで
き、システム全体でメモリをより効率的に使用すること
が可能となる。さらに、複数のメモリプールのメモリを
バッファメモリとして使用することで、ファイル管理シ
ステム2の高速化を段階的に行うことが可能である。ま
た、バッファメモリ情報を取得できるためバッファメモ
リの再編成等が容易に行えるようになる。
【0019】(実施例2)本実施例は、本発明の機能を
持つファイル管理システムを使用して、応用プログラム
を主記憶に配置するプログラムローダを備えたシステム
に適用した場合の例であり、図3にこのシステムのメモ
リマップを示す。メモリ空間は、プログラム常駐エリア
31とプログラム非常駐エリア32とで構成され、プロ
グラム常駐エリア31はオペレーティングシステム3
3、本発明の機能を持つファイル管理システム34、お
よびプログラムローダ35とで構成される。
【0020】応用プログラムの実行を指定するとプログ
ラムローダ35は、ファイル管理システム34を使用し
てディスク40内の応用プログラム41をメモリマップ
のプログラム非常駐エリア32に読み込み、応用プログ
ラムが使用するワークエリア37とスタックエリア38
を割り付けて、制御を応用プログラム36に渡す。本実
施例においては、プログラムローダ35が、メモリの空
きエリアをファイル管理システム用バッファメモリ39
としてファイル管理システム34に追加できるようにな
る。これによって、メモリを効率的に利用でき、応用プ
ログラム36によるファイル入出力が高速化されるとい
う利点がある。
【0021】(実施例3)本実施例は、本発明の機能を
持つファイル管理システムを利用したコンパイラを備え
たシステムの例であり、図4にそのメモリマップを示
す。メモリ空間は、オペレーティングシステム51と、
本発明の機能を持つファイル管理システム52と、コン
パイラプログラム53と、ソースプログラム54と、シ
ンボルテーブル55と、ファイル管理システム用バッフ
ァメモリエリア56とで構成される。
【0022】本実施例においては、コンパイラプログラ
ム53が、コンパイル対象となるソースプログラム54
を読み込む際に、ソースプログラム54の大きさやシン
ボルテーブル55の大きさなどを予め考慮して、ファイ
ル管理システム52のバッファメモリを最も適した大き
さに設定できるという利点がある。ソースプログラム5
4およびシンボルテーブル55が小さい場合は、ファイ
ル管理システム用バッファメモリエリア56を大きくし
てファイル入出力を高速化することによって、コンパイ
ル時間の短縮が可能となる。また、ソースプログラム5
4およびシンボルテーブル55が大きい場合、ファイル
管理システム用バッファメモリエリア56を小さくする
ことによって、コンパイル可能なソースプログラム規模
を従来より大きくすることができる。
【0023】以上本発明者によってなされた発明を実施
例に基づき具体的に説明したが、本発明は上記実施例に
限定されるものではなく、その要旨を逸脱しない範囲で
種々変更可能であることはいうまでもない。以上の説明
では主として本発明者によってなされた発明をその背景
となった利用分野であるファイル管理システムに適用し
た場合について説明したが、この発明はそれに限定され
るものでなく、バッファ記憶方式一般に利用することが
できる。
【0024】
【発明の効果】本願において開示される発明のうち代表
的なものによって得られる効果を簡単に説明すれば下記
のとおりである。すなわち、ファイル管理システムのバ
ッファメモリを応用プログラム側で制御することが可能
になり、応用プログラムに応じたファイル入出力の高速
化や、メモリの効率的な利用が可能となる。また、バッ
ファメモリの使用を特定のプログラムに限定することが
可能になり、マルチタスク環境下において特定プログラ
ムのファイル入出力のみの高速化することができる。
【図面の簡単な説明】
【図1】本発明のシステムコールを備えたファイル管理
システムの全体の構成例を示すブロック図である。
【図2】バッファメモリの構造を示す説明図である。
【図3】本発明をプログラムローダへ適用した場合の実
施例を示す図である。
【図4】本発明をコンパイラへ適用した場合の実施例を
示す図である。
【符号の説明】
1 応用プログラム 2 ファイル管理システム 3 メモリプール 10 バッファメモリ管理 11 バッファメモリキュー
───────────────────────────────────────────────────── フロントページの続き (72)発明者 清水 剛 東京都小平市上水本町5丁目20番1号 株 式会社日立製作所武蔵工場内

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 バッファ記憶方式のシステムにおいて、
    複数のバッファメモリを用意し応用プログラムからのフ
    ァイル入出力要求を処理するファイル管理システムが、
    応用プログラムからの要求に応じてバッファメモリを追
    加する機能および削除する機能とを持つことを特徴とす
    るファイル管理システム。
  2. 【請求項2】 上記ファイル管理システムが、応用プロ
    グラムからの要求に応じてバッファメモリの情報を取得
    し応用プログラムへ返す機能を持つことを特徴とする請
    求項1記載のファイル管理システム。
  3. 【請求項3】 マルチタスク環境下で使用されるバッフ
    ァ記憶方式のシステムにおいて、追加するバッファメモ
    リの用途が特定の応用プログラムに限定可能にされてい
    ることを特徴とする請求項1または2記載のファイル管
    理システム。
JP3330049A 1991-11-18 1991-11-18 フアイル管理システム Withdrawn JPH05143411A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP3330049A JPH05143411A (ja) 1991-11-18 1991-11-18 フアイル管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3330049A JPH05143411A (ja) 1991-11-18 1991-11-18 フアイル管理システム

Publications (1)

Publication Number Publication Date
JPH05143411A true JPH05143411A (ja) 1993-06-11

Family

ID=18228210

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3330049A Withdrawn JPH05143411A (ja) 1991-11-18 1991-11-18 フアイル管理システム

Country Status (1)

Country Link
JP (1) JPH05143411A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7647455B2 (en) 2004-04-15 2010-01-12 Sony Corporation Information processing apparatus and method, program, and program recording medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7647455B2 (en) 2004-04-15 2010-01-12 Sony Corporation Information processing apparatus and method, program, and program recording medium

Similar Documents

Publication Publication Date Title
JPH04273575A (ja) データベース検索プロセッサ
GB2392998A (en) Handling interrupts during multiple access program instructions
US6233666B1 (en) Deferred disk drive space allocation for virtual memory pages with management of disk address recording in multipage tables without external process interrupts for table for input/output to memory
JP2821345B2 (ja) 非同期i/o制御方式
JPH03233630A (ja) 情報処理装置
JP3538292B2 (ja) 実行時プログラム翻訳方法
JPH05143411A (ja) フアイル管理システム
JPH0789334B2 (ja) データベース管理処理方式
US6085264A (en) Accounting-information outputting device
JPH06318191A (ja) マルチスレッド処理方式
JP2526728B2 (ja) ディスクキャッシュ自動利用方式
JPS6351288B2 (ja)
JP2927102B2 (ja) 命令列切り替え方法及びそれを用いた演算プロセッサ
JP2912657B2 (ja) ファイルアクセス処理装置
JP2787107B2 (ja) バッファ制御方式及び装置
JP2748410B2 (ja) ImPPプログラム起動方式
JPH08171611A (ja) 文字認識システム
JPH0535505A (ja) 入出力タスクの制御方法
JPH04130949A (ja) 簡易システム起動方式
JPH07219747A (ja) ソフトウェアのインストール方式
JP2762549B2 (ja) プログラム修正装置
JPS593560A (ja) プログラムの格納方式
JPH0734186B2 (ja) キヤツシユシステム
JPH02294845A (ja) プログラムトレース装置
JPH10334261A (ja) 画像処理装置および画像処理装置の制御方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 19990204