JPH0869399A - ファイル管理装置 - Google Patents

ファイル管理装置

Info

Publication number
JPH0869399A
JPH0869399A JP6223989A JP22398994A JPH0869399A JP H0869399 A JPH0869399 A JP H0869399A JP 6223989 A JP6223989 A JP 6223989A JP 22398994 A JP22398994 A JP 22398994A JP H0869399 A JPH0869399 A JP H0869399A
Authority
JP
Japan
Prior art keywords
size
block
file
area
free
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
JP6223989A
Other languages
English (en)
Inventor
Makoto Sano
誠 佐野
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP6223989A priority Critical patent/JPH0869399A/ja
Publication of JPH0869399A publication Critical patent/JPH0869399A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 メモリを有効利用可能であり、かつアクセス
時間の短いファイル管理装置を提供すること。 【構成】 ファイル管理装置において、予め定義された
外部記憶装置内の異なるサイズの複数の空き領域を管理
する管理手段と、空き領域にファイルを割り当てる割り
当て手段と、ファイルのサイズに合う空き領域が無い場
合に、異なるサイズの空き領域をファイルのサイズに合
うサイズに変更する変更手段を有する。また、変更手段
は、必要とするサイズよりも大きな空き領域を選択する
選択手段と、該空き領域を必要なサイズと残りのサイズ
に分割する分割手段とを含んでもよい。更に、選択手段
は必要なサイズの整数倍のサイズの空き領域を優先的に
選択する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はコンピュータ等における
ファイル管理装置に関し、特にファイル管理装置におけ
る外部記憶装置のページの割り当て制御方式に関するも
のである。
【0002】
【従来の技術】ハードディスク、フロッピディスク、光
ディスク等の外部記憶装置を有するコンピュータにおい
ては、ファイルをページ(外部記憶装置のフォーマット
に基づく所定の長さのデータ)単位で記憶し、管理して
いる。例えばUNIXにおける外部記憶装置、例えばハ
ードディスク内のデータ構造は大きく4つのブロックに
分かれる。まず、ブートブロックには起動時に読み込ま
れるプログラムが格納されている。スーパーブロックに
は各領域の大きさ、空きページの管理のための情報等が
格納されている。iノードリストには複数のiノードと
呼ばれるテーブルが格納されている。iノードには、フ
ァイルの種類、大きさ、ファイルの実際のデータが格納
されている複数のデータブロックへのアドレス(ページ
アドレス)等の情報が格納されており、1つのiノード
が1つのファイルに対応する。
【0003】データ領域には実際のファイルデータおよ
びディレクトリがページ単位で分散して格納されてい
る。ディレクトリには、該ディレクトリ内の複数のファ
イル名およびファイル名に対応するiノード番号を記憶
したテーブルが格納されている。ファイルにアクセスす
る場合には、まずディレクトリ内の目的とするファイル
名を検索し、対応するiノード番号を求める。つぎにi
ノード領域中の目的のiノードを読み出し、iノード中
のデータブロックへのアドレス(ページアドレス)を基
にデータ領域からファイルデータを読み出す。
【0004】このような制御方式においては、データ領
域に離散的に小さな空き領域が存在する場合でも、1つ
のファイルのデータをそれぞれの空き領域に割り当て、
各領域を1つのiノードに登録することによってファイ
ルを格納することが可能となる。ところが、ファイルの
生成、削除を繰り返していくと、空き領域が細分化さ
れ、連続領域にファイルを割り当てることができなくな
る。ファイルの記憶位置の断片化が進行すると、点在し
ているページを読み込むために、ヘッドの移動時間やデ
ィスクの回転待ち時間が多く必要となる。従って、従来
の制御方式においては、アクセス時間が遅くなってしま
うという問題点があった。このような問題点を解決する
方法として、例えば、特開平2−19938号公報に
は、初期化時に複数の異なるサイズの連続空き領域(ブ
ロック)を設けて、ブロックごとにファイルを割り当て
る方式が記載されている。
【0005】
【発明が解決しようとする課題】上記公報に記載されて
いるような従来のファイル管理装置においては、あるサ
イズのブロックの空きが無くなってしまった場合には、
該サイズより大きなサイズのブロックを割り当てるか、
あるいは該サイズより小さなサイズのブロックを複数個
割り当てる方式をとっていた。従って、より大きなサイ
ズのブロックを割り当てた場合には無駄な空き領域が生
じることとなり、またより小さなブロックを複数個割り
当てた場合には、領域が連続していないので、アクセス
時間が長くなるというという問題点があった。本発明の
目的は、前記のような従来技術の問題点を解決し、メモ
リを有効利用可能であり、かつアクセス時間の短いファ
イル管理装置を提供することにある。
【0006】
【課題を解決するための手段】第1の発明は、ファイル
管理装置において、外部記憶装置内の異なるサイズの複
数の空き領域を管理する管理手段と、空き領域にファイ
ルを割り当てる割り当て手段と、ファイルのサイズに合
う空き領域が無い場合に、異なるサイズの空き領域をフ
ァイルのサイズに合うサイズに変更する変更手段を有す
ることを特徴とする。また、第2の発明は、第1の発明
において、変更手段は、必要とするサイズよりも大きな
空き領域を選択する選択手段と、該空き領域を必要なサ
イズと残りのサイズに分割する分割手段とを含むことを
特徴とする。更に、第3の発明は、第2の発明におい
て、選択手段は必要なサイズの整数倍のサイズの空き領
域を優先的に選択することを特徴とする。
【0007】
【作用】第1の発明においては、ファイルを格納しよう
とした場合に、もしファイルのサイズに合う空き領域が
無い場合に、異なるサイズの空き領域をファイルのサイ
ズに合うサイズに変更する変更手段を有するので、ファ
イルのサイズに合った領域を割り当てられる可能性が高
くなり、無駄な領域が生じない。またファイルに連続領
域を割り当てられる可能性が高くなる。第2の発明にお
いては、より大きな空きブロックを選択し、該ブロック
を分割するようにしたので、簡単な処理で必要とするサ
イズの連続領域を確保でき、残りのブロックも他のファ
イルのために利用可能となる。第3の発明においては、
必要なサイズの整数倍のサイズの空き領域を優先的に選
択して分割するようにしたので、残りのブロックも同じ
サイズあるいはその整数倍のブロックとなり、不足して
いるサイズのブロックが増加する。
【0008】
【実施例】図5は、本発明が適用されるコンピュータシ
ステムの一例を示すブロック図である。CPU1は、R
AM2内に記憶されるプログラムに基づき各種の処理を
行う中央処理装置である。RAM2は、ディスクから読
み出された、CPU1が動作するためのプログラムを記
憶する他、各種のバッファやワークエリアとして使用さ
れる。コンソールインターフェース3は、表示信号をC
RTや液晶を用いたディスプレイ4に出力し、またキー
ボード5から入力されたコード情報をCPU1に通知す
る。ハードディスクコントローラHDC6は、CPU1
からの制御に基づき、プログラムあるいはデータのファ
イルを格納しているハードディスクHD7の読み出しあ
るいは書き込み制御を行う。I/Oインターフェース8
は、フロッピィディスク、光ディスク等の各種記憶装
置、あるいはスキャナ、プリンタ、LAN等の各種入出
力装置であるI/O9との接続、制御を行う。バス10
はシステム内の各回路を接続している。
【0009】図2は、ハードディスク内のデータ構造を
示す説明図である。このファイル構造は、前述したUN
IXのファイル構造に準拠しており、データ領域は更に
管理テーブルの領域、各ページサイズのブロックの領
域、非ブロック領域に分割されている。管理テーブルに
は各サイズのブロック群ポインタおよび空きブロック管
理テーブルが登録されており、各ブロック群ポインタは
連続するブロック群の先頭ポインタ、ラストポインタ、
及び後続するブロック群ポインタ情報へのポインタを格
納している。図においては、ディスクのフォーマット直
後の状態を示しており、各サイズのブロック群は物理的
に連続する領域に割り当てられていいる。従って各サイ
ズのブロック群ポインタはそれぞれ1個ずつのみ存在
し、次ブロックポインタには後続するポインタ無しを表
すコード(例えば0)が記入されている。なお非ブロッ
ク領域はブロックの最大サイズより大きなファイルを割
り当てる場合等に用いられる領域であり、例えばディス
ク容量の数%程度というような大きな領域を割り当てて
おく。
【0010】図4は、管理テーブル内の空きブロック管
理テーブルの内容の一例を示す説明図である。空きブロ
ック管理テーブルは、各ページ数ごとに登録されている
各ブロックごとの空き情報(フラグ)を格納している。
図において、横軸は各サイズごとのブロックの論理的な
番号(例えばブロック群ポインタ順のページアドレス順
に付与した番号)であり、その長さは可変長かあるいは
予想される最大値以上の値とする。各ブロックに対応す
るエリアには、例えば空きを表すコードとして”0”、
使用中あるいは存在しないことを表すコードとして”
1”が記入される(逆でもよい)。図においては、1ペ
ージブロックの3番、2ページブロックの2番等が空き
であることを示している。割り当て時には、ファイル管
理プログラムはこのテーブルを参照して、必要なサイズ
の空きブロックがあれば、フラグを”1”に設定して、
該ブロックを割り当てる。なお該当するブロックが存在
しない場合には”2”を記入するなどして、使用中と不
存在とを区別してもよい。また、非ブロック領域につい
ては空きが1ページでもあれば空きとしてもよいし、実
際の空きページ数を記入してもよい。
【0011】図1は、本発明におけるブロックサイズ変
更処理の一例を示す説明図である。図1の上部は変更処
理前の6ページブロックのディスク上での配置と対応す
る6ページブロック群ポインタの内容を示しており、1
番目(先頭)の6ページブロックは(物理)ページアド
レスnからn+5までに割り当てられている。この時、
サイズが3ページ分のファイルの格納要求が発生し、図
4に示す空きブロック管理テーブルを参照した結果、3
ページブロックに空きが無く、6ページブロックの1番
目が空きであったとする。この場合、ファイル管理プロ
グラムは1番目の6ページブロックを2つに分割して、
3ページブロック2つを生成する。
【0012】具体的な処理としては、まずファイル管理
プログラムは空きブロック管理テーブルの1番目の6ペ
ージブロックを使用中/存在せずの状態”1”に設定す
る。そして、図1の下部に示すように、6ページブロッ
ク群ポインタの先頭ポインタをn+6に修正する。更
に、管理テーブル内に新たに3ページブロック群ポイン
タを生成し、先頭ポインタにn、ラストポインタにn+
3を設定する。また、新たに生成した3ページブロック
群ポインタの先頭アドレスを既存の3ページブロック群
ポインタの次ブロックポインタエリアに設定する。最後
に、空きブロック管理テーブルの3ページブロックの既
存の最後の番号の次の2つの番号に対応するフラグを空
き状態”0”に設定する。
【0013】ファイル管理プログラムは、上記処理を行
った後に、ファイルへの割り当て処理を実行し、空きの
3ページブロックを確保して、ファイルに割り当てる。
なお、新たに生成したブロック群が同じサイズのブロッ
ク群と隣接している場合には、新たなブロック群ポイン
タを生成する必要はなく、既存のブロック群ポインタの
ラストポインタあるいは先頭ポインタを変更するだけで
もよい。またあるサイズのブロック群の中間に位置する
ブロックを分割した場合には、該サイズのブロック群が
2つに分割されるので、ブロック群ポインタも2つ必要
となる。
【0014】図3は、ファイル管理プログラムのファイ
ル割り当て処理を示すフローチャートである。オペレー
ティングシステム(OS)がアプリケーション等からフ
ァイルの格納要求を受けた場合には、OS内のファイル
管理プログラムは、ステップS10において、ファイル
のデータ数をページ当たりのデータ数で除算することに
よって、ファイルを格納するのに必要なブロックサイズ
を算出する。ステップS11においては、算出されたブ
ロックサイズがフォーマット時に確保した最大ブロック
サイズ以下であるか否かが判定され、判定結果が否定で
あればステップS20に移行するが、肯定の場合にはス
テップS12に移行する。ステップS12においては、
図4の空きブロック管理テーブルを参照して、必要なサ
イズと同じサイズの空きブロックがあるか否かが判定さ
れ、結果が肯定であればステップS18に移行するが、
否定の場合にはステップS13に移行する。
【0015】ステップS13においては、必要なサイズ
の整数倍(但し整数は2以上)のサイズの空きブロック
があるか否かが判定され、結果が否定であればステップ
S14に移行するが、肯定の場合にはステップS16に
移行する。ステップS16においては、倍数の空きブロ
ックの内で一番小さいものを選択して、ステップS17
に移行する。ステップS14においては、倍数以外でよ
り大きなサイズの空きブロックがあるか否かが判定さ
れ、否定の場合にはステップS20に移行するが、肯定
の場合にはステップS15に移行する。ステップS15
においては、より大きな空きブロックの内で一番小さい
ものが選択される。ステップS17においては、ブロッ
クを必要なサイズとその他に分割する。分割処理の詳細
は図1に関する説明の箇所において述べた通りである
が、その概略を説明すると、分割したそれぞれのブロッ
クに対応するブロック群ポインタを生成するか、あるい
は既存のブロック群ポインタ内のラストポインタ(先頭
ポインタ)を更新することによって分割、生成したブロ
ックを登録すると共に、空きブロック管理テーブル内の
生成したブロックに対応するフラグを空き状態に設定す
る。
【0016】ステップS18においては、選択されたブ
ロックをアプリケーションに渡し、ステップS19にお
いては、ブロック管理テーブル内の空きブロック管理テ
ーブルの該当するフラグを使用中状態に設定する。ステ
ップS11あるいはステップS14の判定結果が否定の
場合にはステップS20に移行し、非ブロック領域に必
要とする空き領域があるか否かが判定され、空き領域が
ある場合には、例えばアドレスのなるべく小さい方から
必要な連続空き領域を選択、確保して、ステップS18
に移行する。非ブロック領域にも連続する空き領域がな
い場合にはステップS22に移行し、連続する空き領域
が確保できないのでOSに対してエラー応答を返す。
【0017】なお、ステップS22において、複数のブ
ロックに分散すれば格納可能か否かを判定し、格納可能
であれば、従来の方式により分散して格納するようにし
てもよい。この場合には、後で空きブロックが生じた場
合にファイルを移動するための移動要求フラグを立てて
おくようにしてもよい。また、ステップS13と14の
間、あるいはステップS14と20の間において、より
小さなブロックが必要なサイズ以上連続して空いている
場合、例えば6ページブロックが必要な場合に、3ペー
ジブロックが2つ連続して空いている場合には、該ブロ
ック列を選択、確保するような処理を挿入してもよい。
【0018】ブロックを分割して割り当てた場合に、該
ブロックが空きになったときには、そのまま分割された
状態で残してもよいし、元のサイズのブロックに戻すよ
うにしてもよい。また所定期間使用率の低いブロックサ
イズについてはブロックの数を減らして、他の不足して
いるサイズのブロックに変更(分割あるいは合成)して
もよい。ファイルを拡張する場合には、拡張後に必要な
サイズのブロックを確保し、ファイルをコピーすれば連
続領域を確保できる。以上、実施例としてはUNIXの
ハードディスクファイルシステムに適用した例を開示し
たが、本発明は、フロッピディスク、光ディスクなどの
動的記憶装置あるいはシフトレジスタ等の循環型の静的
記憶装置を使用した任意のファイルシステムに適用可能
である。
【0019】
【発明の効果】第1の発明においては、ファイルを格納
しようとした場合に、もしファイルのサイズに合う空き
領域が無い場合に、異なるサイズの空き領域をファイル
のサイズに合うサイズに変更する変更手段を有するの
で、ファイルのサイズに合った領域を割り当てられる可
能性が高くなり、無駄な領域が生じないのでメモリが有
効利用され、またファイルに連続領域を割り当てられる
のでアクセス時間が速くなり、スループットが向上する
という効果がある。第2の発明においては、より大きな
空きブロックを選択し、該ブロックを分割するようにし
たので、簡単な処理で必要とするサイズの連続領域を確
保でき、残りのブロックも他のファイルのために利用可
能となるという効果がある。第3の発明においては、整
数倍のサイズの空き領域を優先的に選択して分割するよ
うにしたので、残りのブロックも同じサイズあるいはそ
の整数倍のブロックとなり、不足しているサイズのブロ
ックの数のみが更に増加すると共に、不要なブロックの
細分化が防止できるという効果がある。
【図面の簡単な説明】
【図1】本発明におけるブロックサイズ変更処理を示す
説明図である。
【図2】ハードディスク内のデータ構造を示す説明図で
ある。
【図3】ファイル割り当て処理を示すフローチャートで
ある。
【図4】空きブロック管理テーブルの内容の一例を示す
説明図である。
【図5】本発明が適用される計算機の一例を示すブロッ
ク図である。
【符号の説明】 1…CPU、2…RAM、3…コンソールインターフェ
ース、4…ディスプレイ、5…キーボード、6…ハード
ディスクコントローラ、7…ハードディスク、8…I/
Oインターフェース、9…入出力機器、10…バス

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 外部記憶装置内の異なるサイズの複数の
    空き領域を管理する管理手段と、空き領域にファイルを
    割り当てる割り当て手段と、ファイルのサイズに合う空
    き領域が無い場合に、異なるサイズの空き領域をファイ
    ルのサイズに合うサイズに変更する変更手段を有するこ
    とを特徴とするファイル管理装置。
  2. 【請求項2】 前記変更手段は、必要とするサイズより
    も大きな空き領域を選択する選択手段と、該空き領域を
    必要なサイズと残りのサイズに分割する分割手段とを含
    むことを特徴とする請求項1に記載のファイル管理装
    置。
  3. 【請求項3】 前記選択手段は必要なサイズの整数倍の
    サイズの空き領域を優先的に選択することを特徴とする
    請求項2に記載のファイル管理装置。
JP6223989A 1994-08-26 1994-08-26 ファイル管理装置 Pending JPH0869399A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP6223989A JPH0869399A (ja) 1994-08-26 1994-08-26 ファイル管理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP6223989A JPH0869399A (ja) 1994-08-26 1994-08-26 ファイル管理装置

Publications (1)

Publication Number Publication Date
JPH0869399A true JPH0869399A (ja) 1996-03-12

Family

ID=16806846

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6223989A Pending JPH0869399A (ja) 1994-08-26 1994-08-26 ファイル管理装置

Country Status (1)

Country Link
JP (1) JPH0869399A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004512602A (ja) * 2000-10-16 2004-04-22 トムソン ライセンシング ソシエテ アノニム デジタル映像のようなストリームデータと非ストリームデータとを記憶する方法及び装置
JP2005276198A (ja) * 2004-03-23 2005-10-06 Internatl Business Mach Corp <Ibm> 複数のメモリ・バッファ・サイズを均衡させるためのシステムおよび方法
JP2010102715A (ja) * 1997-09-24 2010-05-06 Sony Pictures Entertainment Inc ディスクベースのファイルシステムのための大きなブロック割当て

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102715A (ja) * 1997-09-24 2010-05-06 Sony Pictures Entertainment Inc ディスクベースのファイルシステムのための大きなブロック割当て
JP2004512602A (ja) * 2000-10-16 2004-04-22 トムソン ライセンシング ソシエテ アノニム デジタル映像のようなストリームデータと非ストリームデータとを記憶する方法及び装置
US9071789B2 (en) 2000-10-16 2015-06-30 Thomson Licensing Method and device for storing stream data such as digital video and non-stream data
JP2005276198A (ja) * 2004-03-23 2005-10-06 Internatl Business Mach Corp <Ibm> 複数のメモリ・バッファ・サイズを均衡させるためのシステムおよび方法

Similar Documents

Publication Publication Date Title
CA2055295C (en) Logical mapping of data objects using data spaces
US5454103A (en) Method and apparatus for file storage allocation for secondary storage using large and small file blocks
EP0375188B1 (en) File system
US5276840A (en) Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation
KR100404555B1 (ko) 데이터 프로세서 제어형 데이터 저장 시스템, 동적 재동기화 방법, 및 컴퓨터 프로그램을 포함하는 컴퓨터 판독 가능한 기록 매체
EP0760500B1 (en) Partitioning within a partition in a disk file storage system
JP2858795B2 (ja) 実記憶割り当て方法
JPH07175698A (ja) ファイルシステム
JPH04213129A (ja) メモリ管理システム及びメモリ管理方法
JP4612269B2 (ja) 仮想ボリューム管理方式
JPH0869399A (ja) ファイル管理装置
US5764215A (en) Method and system for generating a global hit test data structure using scan line compression of windows in a graphical user interface
JPH0869403A (ja) ファイル管理装置
JPH09223049A (ja) ディスクアレイ装置
JP4204405B2 (ja) メモリ管理方式
JPH08115238A (ja) ファイルシステム
JP3022829B2 (ja) 記憶装置の自動割り当て装置
JP4176682B2 (ja) メモリ管理方式
JPS63276626A (ja) 2次記憶装置の分割管理方式
JPH01181121A (ja) 記憶領域割付け方式
JPH0793192A (ja) ファイル管理方法
JP2000010842A (ja) ファイル管理方法および方式
JPH04350738A (ja) ディスクスペース管理方式
JPH06175891A (ja) ディスクファイル処理方式
JPH04273548A (ja) ディスク制御装置