JPH01161452A - ブロック共有型ファイルブロック管理方式 - Google Patents
ブロック共有型ファイルブロック管理方式Info
- Publication number
- JPH01161452A JPH01161452A JP62319755A JP31975587A JPH01161452A JP H01161452 A JPH01161452 A JP H01161452A JP 62319755 A JP62319755 A JP 62319755A JP 31975587 A JP31975587 A JP 31975587A JP H01161452 A JPH01161452 A JP H01161452A
- Authority
- JP
- Japan
- Prior art keywords
- block
- file
- shared
- data
- sharing
- 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
Links
- 238000007726 management method Methods 0.000 claims description 26
- 238000000034 method Methods 0.000 description 33
- 238000007792 addition Methods 0.000 description 6
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は計算機システムのファイル管理方式に関し、特
に各ファイルに属するブロック列の管理方式に関する。
に各ファイルに属するブロック列の管理方式に関する。
一つのファイルに属するブロック列(複数のブロックの
集まりをいい、各ブロックはディスク装置との入出力単
位でブロック番号なる識別子が付けられている)をファ
イル記述子中の情報で管理する従来のフプイルブロック
管理方式では、ディスク装置中の各ブロックは、空き状
態(ブロック中のデータは無意味な状B)か、何れか一
つのファイルに属している状B(ブロック中のデータは
、そのファイルの一部のデータを保持している状8)の
どちらかであワた。
集まりをいい、各ブロックはディスク装置との入出力単
位でブロック番号なる識別子が付けられている)をファ
イル記述子中の情報で管理する従来のフプイルブロック
管理方式では、ディスク装置中の各ブロックは、空き状
態(ブロック中のデータは無意味な状B)か、何れか一
つのファイルに属している状B(ブロック中のデータは
、そのファイルの一部のデータを保持している状8)の
どちらかであワた。
会話型処理などにおいては、ファイルを容易にコピーす
ることができる。このために、ファイルのコピーを取っ
てその一部を変更して新しいファイルとすることが多い
、このような処理形態では、同じイメージが多数のファ
イル中に存在する可能性が高い、あるいは、全く同じフ
ァイルが幾つもできたりする。この同じイメージの部分
を共有できれば、ファイルスペースが節約できる。
ることができる。このために、ファイルのコピーを取っ
てその一部を変更して新しいファイルとすることが多い
、このような処理形態では、同じイメージが多数のファ
イル中に存在する可能性が高い、あるいは、全く同じフ
ァイルが幾つもできたりする。この同じイメージの部分
を共有できれば、ファイルスペースが節約できる。
一部のシステムにおいては、ファイルのリンクなる方式
が採用される。この方式は、ファイル記述子を複数のフ
ァイル名から選択できるようにする方式である。つまり
、ファイル全体を共有する方式である。この方式を使っ
ても、ファイルスペースは節約できる。しかし、この方
式ではファイル記述子も共有されるので、あるファイル
を変更すると、そのファイルにリンクされているファイ
ルの内容も同じように変化してしまう、このように、フ
ァイルリンク方式で共有されたファイルどうしは独立で
はない。
が採用される。この方式は、ファイル記述子を複数のフ
ァイル名から選択できるようにする方式である。つまり
、ファイル全体を共有する方式である。この方式を使っ
ても、ファイルスペースは節約できる。しかし、この方
式ではファイル記述子も共有されるので、あるファイル
を変更すると、そのファイルにリンクされているファイ
ルの内容も同じように変化してしまう、このように、フ
ァイルリンク方式で共有されたファイルどうしは独立で
はない。
本発明は、各ファイルの独立性を確保したままで、ファ
イルスペースを節約しようとするものである。
イルスペースを節約しようとするものである。
本発明は、一つのファイルに属するブロック列を該ファ
イル対応のファイル記述子中で管理する構成を有すると
共に、 ファイル中のブロックを他のファイルと共有された状態
にするブロック共有化手段と、該ブロック共有化手段に
よって共有化されたブロックにデータを書き込むとき、
元のブロックはそのまま残して、新しいブロックを割り
当て、そのブロックにデータを書き出す共有ブロック書
き出し手段と、 共有されていない状態で新しいブロックを割り当てる共
有ブロック割当手段と、 指定されたブロックが共有されていない場合にのみブロ
ックを解放する共有ブロック解放手段とを有する。 ゛ (作用〕 ブロック共有化手段を使用してファイル中のブロックを
他のファイルと共有された状態にすることによって、フ
ァイルのコピーが可能であり、ブロックを共有している
ので、ファイル記述子を除き、ブロック数の増加はない
、コピーされたファイルの一方の成るブロックに対しデ
ータの書き出しを行なう場合、共有ブロック書き出し手
段によって元のブロックはそのまま残され、共有ブロッ
ク割当手段によって新たに割り当てられたブロックにデ
ータが古き出される。このとき増加するブロックは一つ
であり、書き換えられたデータを含むブロック以外のブ
ロックは共有されたままなので、ファイルのデータを保
持するブロック数が節約できる。また、一方のファイル
の削除時等には、共有ブロック解放手段は解放が指定さ
れたブロックが共有されていない場合にのみブロックを
解放するので、他方のファイルに影響を及ぼすことがな
く、ファイル記述子を各ファイル対応に持たせているこ
とと相俟って、ファイルブロックを共有するファイルど
うしの独立を保証することができる。
イル対応のファイル記述子中で管理する構成を有すると
共に、 ファイル中のブロックを他のファイルと共有された状態
にするブロック共有化手段と、該ブロック共有化手段に
よって共有化されたブロックにデータを書き込むとき、
元のブロックはそのまま残して、新しいブロックを割り
当て、そのブロックにデータを書き出す共有ブロック書
き出し手段と、 共有されていない状態で新しいブロックを割り当てる共
有ブロック割当手段と、 指定されたブロックが共有されていない場合にのみブロ
ックを解放する共有ブロック解放手段とを有する。 ゛ (作用〕 ブロック共有化手段を使用してファイル中のブロックを
他のファイルと共有された状態にすることによって、フ
ァイルのコピーが可能であり、ブロックを共有している
ので、ファイル記述子を除き、ブロック数の増加はない
、コピーされたファイルの一方の成るブロックに対しデ
ータの書き出しを行なう場合、共有ブロック書き出し手
段によって元のブロックはそのまま残され、共有ブロッ
ク割当手段によって新たに割り当てられたブロックにデ
ータが古き出される。このとき増加するブロックは一つ
であり、書き換えられたデータを含むブロック以外のブ
ロックは共有されたままなので、ファイルのデータを保
持するブロック数が節約できる。また、一方のファイル
の削除時等には、共有ブロック解放手段は解放が指定さ
れたブロックが共有されていない場合にのみブロックを
解放するので、他方のファイルに影響を及ぼすことがな
く、ファイル記述子を各ファイル対応に持たせているこ
とと相俟って、ファイルブロックを共有するファイルど
うしの独立を保証することができる。
(実施例〕
次に本発明の実施例について図面を参照して説明する。
第1図を参照すると、本発明のブロック共有型ファイル
ブロック管理方式を実現するファイルブロック管理部l
は、ディスク装置3内に作成される複数のブロックから
構成されたファイルを管理するファイル管理システム2
の一部を構成し、ファイル中の成るブロックを他のブロ
ックと共有された状態にするブロック共有化手段11と
、共有されたブロックにデータを書き込むときに、元の
ブロックはそのまま残して、新しいブロックを割り当て
、そのブロックにデータを書き出す共有ブロック口き出
し手段12と、共有されていない状態で新しいブロック
を割り当てる共有ブロック割当手段13と、指定された
ブロックが共有されていない場合にのみブロックを解放
する共有ブロック解放手段14とから構成される。
ブロック管理方式を実現するファイルブロック管理部l
は、ディスク装置3内に作成される複数のブロックから
構成されたファイルを管理するファイル管理システム2
の一部を構成し、ファイル中の成るブロックを他のブロ
ックと共有された状態にするブロック共有化手段11と
、共有されたブロックにデータを書き込むときに、元の
ブロックはそのまま残して、新しいブロックを割り当て
、そのブロックにデータを書き出す共有ブロック口き出
し手段12と、共有されていない状態で新しいブロック
を割り当てる共有ブロック割当手段13と、指定された
ブロックが共有されていない場合にのみブロックを解放
する共有ブロック解放手段14とから構成される。
第2図を参照すると、本発明で使用するデータ構造の一
例は、各ファイルの属性等を規定するファイル記述子A
と、ファイル記述子A中にあり、そのファイルに属する
ブロックの順序をブロック番号列として記述するブロッ
ク順序管理情報Bと、各ブロックに対して一つ存在し、
そのブロックの属性等を記述するブロック記述子Cと、
各ブロックに含まれるデータが記述されるデータ領域り
と、ブロック記述子C中にあり、そのブロックのデータ
領域中のデータが幾つのファイルから共有されているか
を示すブロック参照カウントCとがら構成される。ブロ
ック記述子Cは、各ブロック中に入れる方法と、ブロッ
ク記述子を集めてブロック記述子専用のブロックに入れ
る方法とがある。本実施例では、前者の各ブロック中に
ブロック記述子を入れる方法を用いているが、ブロック
記述子専用のブロックを使う方法でも原理的には同じで
あり、本発明は何れの方法を使用してもかまわない。
例は、各ファイルの属性等を規定するファイル記述子A
と、ファイル記述子A中にあり、そのファイルに属する
ブロックの順序をブロック番号列として記述するブロッ
ク順序管理情報Bと、各ブロックに対して一つ存在し、
そのブロックの属性等を記述するブロック記述子Cと、
各ブロックに含まれるデータが記述されるデータ領域り
と、ブロック記述子C中にあり、そのブロックのデータ
領域中のデータが幾つのファイルから共有されているか
を示すブロック参照カウントCとがら構成される。ブロ
ック記述子Cは、各ブロック中に入れる方法と、ブロッ
ク記述子を集めてブロック記述子専用のブロックに入れ
る方法とがある。本実施例では、前者の各ブロック中に
ブロック記述子を入れる方法を用いているが、ブロック
記述子専用のブロックを使う方法でも原理的には同じで
あり、本発明は何れの方法を使用してもかまわない。
第3図を参照すると、ブロック共有化手段11は、ブロ
ック読み込みステップ31で、指定されたブロック番号
のブロック中のデータをブロックバッファに読み込み、
ブロック参照カウント加ゴγステップ32で、そのブロ
ックのブロック参照カウントEを1加算し、ブロック書
き出しステップ33で、ブロックバッファ中のデータを
元のブロックに書き出す、ブロック読み込みステップ3
1゜ブロック書き出しステップ33の目的は、ブロック
参照カウントEの読み込み、書き出しにある。
ック読み込みステップ31で、指定されたブロック番号
のブロック中のデータをブロックバッファに読み込み、
ブロック参照カウント加ゴγステップ32で、そのブロ
ックのブロック参照カウントEを1加算し、ブロック書
き出しステップ33で、ブロックバッファ中のデータを
元のブロックに書き出す、ブロック読み込みステップ3
1゜ブロック書き出しステップ33の目的は、ブロック
参照カウントEの読み込み、書き出しにある。
第4図を参照すると、共有ブロック書き出し手段12は
、ブロック読み込みステップ41で、指定されたブロッ
ク番号のブロック中のデータをブロックバッファに読み
込み、ブロック共有判定ステップ42で、そのブロック
が二つ以上のファイルから共有されているかどうかを判
定する。そのブロックが共有されていない場合(ブロッ
ク参照カウントE−1の場合)は、ブロックバッファ更
新ステップ43で、渡された書き込みデータをブロック
バッファに転送し、ブロック書き出しステップ44で、
ブロックバッファ中のデータをディスク装r113上の
ブロックに書き出す、指定されたブロックが二つ以上の
ファイルから共有されている場合(ブロック参照カウン
トE>1の場合)は、ブロック参照カウントM2γステ
ップ45で、ブロック参照カウントEを1城算し、ブロ
ック書き出しステップ46で、ブロックバッファ中のデ
ータをディスク装置3上の元のブロックに書き出し、ブ
ロック割り当て処理ステップ47で、新しいブロックを
一つ確保し、ブロック参照カウント初期化ステップ48
で、新しく割り当てられたブロックのブロック参照カウ
ントEを1に設定し、ブロックバッファ更新ステップ4
9で、渡された書き込みデータをブロックバッファに転
送し、ブロック書き出しステップ4Aで、新しく割り当
てられたブロックにブロックバッファ中のデータを書き
出す。つまり、指定されたブロックが複数のファイルか
ら共有されている場合は、指定されたブロックはブロッ
ク参照カウントEが1小さくなるだけで、ブロック内の
データは変化しない。指定されたブロックの代わりに、
新しいブロックを一つ確保し、渡されたデータはその新
しいブロックに書き出す、このとき、新しいブロックの
参照カウントEは1に設定される。
、ブロック読み込みステップ41で、指定されたブロッ
ク番号のブロック中のデータをブロックバッファに読み
込み、ブロック共有判定ステップ42で、そのブロック
が二つ以上のファイルから共有されているかどうかを判
定する。そのブロックが共有されていない場合(ブロッ
ク参照カウントE−1の場合)は、ブロックバッファ更
新ステップ43で、渡された書き込みデータをブロック
バッファに転送し、ブロック書き出しステップ44で、
ブロックバッファ中のデータをディスク装r113上の
ブロックに書き出す、指定されたブロックが二つ以上の
ファイルから共有されている場合(ブロック参照カウン
トE>1の場合)は、ブロック参照カウントM2γステ
ップ45で、ブロック参照カウントEを1城算し、ブロ
ック書き出しステップ46で、ブロックバッファ中のデ
ータをディスク装置3上の元のブロックに書き出し、ブ
ロック割り当て処理ステップ47で、新しいブロックを
一つ確保し、ブロック参照カウント初期化ステップ48
で、新しく割り当てられたブロックのブロック参照カウ
ントEを1に設定し、ブロックバッファ更新ステップ4
9で、渡された書き込みデータをブロックバッファに転
送し、ブロック書き出しステップ4Aで、新しく割り当
てられたブロックにブロックバッファ中のデータを書き
出す。つまり、指定されたブロックが複数のファイルか
ら共有されている場合は、指定されたブロックはブロッ
ク参照カウントEが1小さくなるだけで、ブロック内の
データは変化しない。指定されたブロックの代わりに、
新しいブロックを一つ確保し、渡されたデータはその新
しいブロックに書き出す、このとき、新しいブロックの
参照カウントEは1に設定される。
第5図を参照すると、共有ブロック割当手段13は、ブ
ロック割当処理ステップ51で、新しいブロックを一つ
確保し、ブロック参照カウント初期化ステップ52で、
ブロック参照カランI−Eを1に設定し、ブロック書き
出しステップ53で、新しく確保したブロックにブロッ
クバッファ内のデータを書き出す、ブロック書き出しス
テップ53の目的は、ブロック参照カウントEをディス
ク装置3上に書き出すことである。
ロック割当処理ステップ51で、新しいブロックを一つ
確保し、ブロック参照カウント初期化ステップ52で、
ブロック参照カランI−Eを1に設定し、ブロック書き
出しステップ53で、新しく確保したブロックにブロッ
クバッファ内のデータを書き出す、ブロック書き出しス
テップ53の目的は、ブロック参照カウントEをディス
ク装置3上に書き出すことである。
第6図を参照すると、共有ブロック解放手段14は、ブ
ロック読み込みステップ61で、指定されたブロック番
号のブロック中のデータをプロ。
ロック読み込みステップ61で、指定されたブロック番
号のブロック中のデータをプロ。
クバッファに読み込み、ブロック参照カウント減算ステ
ップ62で、ブロック参照カウントEを1小さくし、ブ
ロック書き出しステップ63で、ブロックバッファ中の
データをディスク装置3上の元のブロックに古き出し、
ブロック共有判定ステップ64で、令書き出された即ち
指定されたブロックが複数のファイルから共有されてい
たブロックかどうかを判定する。指定されたブロックが
複数のファイルから共有されていなかった場合(減算の
結果、ブロック参照カウントE−0となった場合)のみ
、ブロック解放処理ステップ65において、指定された
ブロックを解放する。指定されたブロックが複数のファ
イルから共有されていた場合(減算の結果、ブロック参
照カウントE>0の場合)は、ブロック参照カウントE
が1小さくなるだけである。ブロック読み込みステップ
61゜ブロック書き出しステップ63の目的は、ブロッ
ク参照カウントEを読み込み、書き出すことである。
ップ62で、ブロック参照カウントEを1小さくし、ブ
ロック書き出しステップ63で、ブロックバッファ中の
データをディスク装置3上の元のブロックに古き出し、
ブロック共有判定ステップ64で、令書き出された即ち
指定されたブロックが複数のファイルから共有されてい
たブロックかどうかを判定する。指定されたブロックが
複数のファイルから共有されていなかった場合(減算の
結果、ブロック参照カウントE−0となった場合)のみ
、ブロック解放処理ステップ65において、指定された
ブロックを解放する。指定されたブロックが複数のファ
イルから共有されていた場合(減算の結果、ブロック参
照カウントE>0の場合)は、ブロック参照カウントE
が1小さくなるだけである。ブロック読み込みステップ
61゜ブロック書き出しステップ63の目的は、ブロッ
ク参照カウントEを読み込み、書き出すことである。
第7図を参照すると、本発明のブロック共有型ファイル
ブロック管理方式を利用したファイル管理システムの一
例は、上述したブロック共有化手段11と、共有ブロッ
ク書き出し手段12と、共有ブロック割当手段13と、
共有ブロック解放手段14以外に、ファイル複写手段7
1.ファイルデータ読み込み手段72.ファイルデータ
書き出し手段73.ファイルデータ追加手段74.ファ
イル削除手段75.ブロック読み込み手段76゜ブロッ
ク書き出し手段77、ブロック割当手段78およびブロ
ック解放手段79を含んでいる。
ブロック管理方式を利用したファイル管理システムの一
例は、上述したブロック共有化手段11と、共有ブロッ
ク書き出し手段12と、共有ブロック割当手段13と、
共有ブロック解放手段14以外に、ファイル複写手段7
1.ファイルデータ読み込み手段72.ファイルデータ
書き出し手段73.ファイルデータ追加手段74.ファ
イル削除手段75.ブロック読み込み手段76゜ブロッ
ク書き出し手段77、ブロック割当手段78およびブロ
ック解放手段79を含んでいる。
ファイル複写手段71は、ファイル名等でファイルが特
定されてコピー指示が与えられると、指定されたファイ
ルのファイル記述子を別のファイル記述子に複写し、そ
のファイル記述子で現に管理されている全ブロックに対
してブロック共有化処理(ブロック共有化手段11の呼
び出し処II)を行なう。
定されてコピー指示が与えられると、指定されたファイ
ルのファイル記述子を別のファイル記述子に複写し、そ
のファイル記述子で現に管理されている全ブロックに対
してブロック共有化処理(ブロック共有化手段11の呼
び出し処II)を行なう。
ファイルデータ読み込み手段72は、ブロック単位の読
み込み処理(ブロック読み込み手段76の呼び出し処理
)を必要回数繰り返すことによって、指定されたファイ
ルの指定された位置から指定されたサイズのデータを指
定されたバッファに読み込む制御を行なう。
み込み処理(ブロック読み込み手段76の呼び出し処理
)を必要回数繰り返すことによって、指定されたファイ
ルの指定された位置から指定されたサイズのデータを指
定されたバッファに読み込む制御を行なう。
ファイルデータロき出し手段73は、ブロック単位の共
有書き出し処理(共有ブロック書き出し手段12の呼び
出し処理)を必要回数繰り返すことによって、指定され
たバッファ上の指定されたサイズのデニタを指定された
ファイルの指定された位置に口き出す制御を行なう。
有書き出し処理(共有ブロック書き出し手段12の呼び
出し処理)を必要回数繰り返すことによって、指定され
たバッファ上の指定されたサイズのデニタを指定された
ファイルの指定された位置に口き出す制御を行なう。
ファイルデータ追加手段74は、必要なブロックの割り
当て処理(共有ブロック割当手段13の呼び出し処理)
、およびブロック単位の書き出し処理(共有ブロック書
き出し手段12の呼び出し処理)を必要回数繰り返し、
指定されたファイルの最後に、指定されたデータを追加
する制御を行なう。
当て処理(共有ブロック割当手段13の呼び出し処理)
、およびブロック単位の書き出し処理(共有ブロック書
き出し手段12の呼び出し処理)を必要回数繰り返し、
指定されたファイルの最後に、指定されたデータを追加
する制御を行なう。
ファイル削除手段75は、指定されたファイルのファイ
ル記述子を解放し、そのファイルに含まれていた全ブロ
ックを解放する処理(共有ブロック解放手段14を呼び
出す処理)を行なう。
ル記述子を解放し、そのファイルに含まれていた全ブロ
ックを解放する処理(共有ブロック解放手段14を呼び
出す処理)を行なう。
ブロック読み込み手段76は、ブロック共有化手段11
.共有ブロックSき出し手段12.共有ブロック解放手
段14及びファイルデータ読み込み手段72から指定さ
れたブロック中のデータを指定されたバッファに読み込
む処理を行なう。
.共有ブロックSき出し手段12.共有ブロック解放手
段14及びファイルデータ読み込み手段72から指定さ
れたブロック中のデータを指定されたバッファに読み込
む処理を行なう。
ブロック書き出し手段77は、ブロック共有化手段11
、共有ブロック書き出し手段12.共有ブロック割当手
段13及び共有ブロック解放手段1・4から指定された
バッファのデータを指定されたブロックに書き出す処理
を行なう。
、共有ブロック書き出し手段12.共有ブロック割当手
段13及び共有ブロック解放手段1・4から指定された
バッファのデータを指定されたブロックに書き出す処理
を行なう。
ブロック割当手段78は、空きブロック群より空きブロ
ックを一つ取り出して呼び出し元の共有ブロック書き出
し手段12或いは共有ブロック割当手段13に返す処理
を行なう。
ックを一つ取り出して呼び出し元の共有ブロック書き出
し手段12或いは共有ブロック割当手段13に返す処理
を行なう。
ブロック解放手段79は、共有ブロック解放手段14か
ら指定されたブロックを空きブロックとして登録する処
理を行なう。
ら指定されたブロックを空きブロックとして登録する処
理を行なう。
なお、ファイルデータ読み込み手段72.ファイルデー
タ書き出し手段73.ファイルデータ追加手段74.フ
ァイル削除手段75.ブロック読み込み手段76、ブロ
ック書き出し手段77、ブロック割当手段78およびブ
ロック解放手段79は、従来からある手段である。これ
らの手段に加え、ファイル複写手段71と第1図のファ
イルブロック管理部1中の構成要素とを設けることによ
って、第7図のファイル管理システムは構成される。
タ書き出し手段73.ファイルデータ追加手段74.フ
ァイル削除手段75.ブロック読み込み手段76、ブロ
ック書き出し手段77、ブロック割当手段78およびブ
ロック解放手段79は、従来からある手段である。これ
らの手段に加え、ファイル複写手段71と第1図のファ
イルブロック管理部1中の構成要素とを設けることによ
って、第7図のファイル管理システムは構成される。
次に、第8図を参照しながら、第7図のファイル管理シ
ステムの具体的な使用例を説明する。
ステムの具体的な使用例を説明する。
始めに、ステップ81で示されるように、ファイルAが
ブロック■、■、■、■、■より構成されている状態を
考える。各ブロック中の右上に記載された数字は、その
ブロックのブロック参照カウントの値であり、左下に記
載された数字は説明のためのブロック識別子である。ス
テップ81では、何れのブロックも共有されていない。
ブロック■、■、■、■、■より構成されている状態を
考える。各ブロック中の右上に記載された数字は、その
ブロックのブロック参照カウントの値であり、左下に記
載された数字は説明のためのブロック識別子である。ス
テップ81では、何れのブロックも共有されていない。
従来のファイルブロック管理方式を使ったファイル管理
システムでは、全てのファイルがこのような状態であっ
た。
システムでは、全てのファイルがこのような状態であっ
た。
ここで、ファイル複写手段71を使って、ファイルAの
コピーを取り、コピーされたファイルをBとすると、ス
テップ82の状態となる。これは、ファイル複写手段7
1が、ブロック共有化手段11を使って、そのファイル
に属する全ブロックを共有状態にしたからである。つま
り、ファイル記述子はファイルA専用のものと、ファイ
ルB専用のものとの二つ存在するが、ファイルのデータ
が入っているブロックはファイル−つ分しか存在しない
0両ファイルに対して、ファイルデータ読み込み手段7
2で、読み込みアクセスのみを行なっている間は、この
状態が続く。
コピーを取り、コピーされたファイルをBとすると、ス
テップ82の状態となる。これは、ファイル複写手段7
1が、ブロック共有化手段11を使って、そのファイル
に属する全ブロックを共有状態にしたからである。つま
り、ファイル記述子はファイルA専用のものと、ファイ
ルB専用のものとの二つ存在するが、ファイルのデータ
が入っているブロックはファイル−つ分しか存在しない
0両ファイルに対して、ファイルデータ読み込み手段7
2で、読み込みアクセスのみを行なっている間は、この
状態が続く。
既存のファイル複写方式、つまり、複写元のファイルか
ら全データをメモリ中に読み込んでから、メモリ中の全
データを複写先のファイルにのき出す方法でファイル複
写を行なうと、完全に二つのファイルができる。つまり
、ステップ81の状態のファイルが二つでき、ブロック
の数は2倍になる。このように、本発明のブロック共有
型ファイルブロック管理方式を利用したファイル管理シ
ステムでは、従来のファイル管理システムに比べて、フ
ァイルの複写を取った直後のブロック数を節約できる。
ら全データをメモリ中に読み込んでから、メモリ中の全
データを複写先のファイルにのき出す方法でファイル複
写を行なうと、完全に二つのファイルができる。つまり
、ステップ81の状態のファイルが二つでき、ブロック
の数は2倍になる。このように、本発明のブロック共有
型ファイルブロック管理方式を利用したファイル管理シ
ステムでは、従来のファイル管理システムに比べて、フ
ァイルの複写を取った直後のブロック数を節約できる。
この状態は、複写元および複写先のファイルに対して読
み込みアクセスのみを行なっている間は継続する。
み込みアクセスのみを行なっている間は継続する。
前述したようにファイルリンク方式を使っても、ファイ
ルブロックを複数のファイルから共有することが可能で
ある。そして、その方式では、ファイル記述子も共有さ
れるので、複写直後の資源効率という点では、本発明方
式を使ったファイル管理システムよりも有利である。し
かし、ファイル。
ルブロックを複数のファイルから共有することが可能で
ある。そして、その方式では、ファイル記述子も共有さ
れるので、複写直後の資源効率という点では、本発明方
式を使ったファイル管理システムよりも有利である。し
かし、ファイル。
のリンク方式では、ブロック順序管理情報も共有されて
いるため、リンクされたファイルどうしは常に同じ内容
とならざるを得ない、つまり、あるファイルを♂き換え
ると、そのファイルにリンクされているファイルも変化
してしまう。これに対し、本発明方式を利用したファイ
ル管理システムでは、ファイルブロックを共有していて
も、各ファイルは完全に独立である。この点について、
引き続き第8図を参照しながら説明する。
いるため、リンクされたファイルどうしは常に同じ内容
とならざるを得ない、つまり、あるファイルを♂き換え
ると、そのファイルにリンクされているファイルも変化
してしまう。これに対し、本発明方式を利用したファイ
ル管理システムでは、ファイルブロックを共有していて
も、各ファイルは完全に独立である。この点について、
引き続き第8図を参照しながら説明する。
第8図のステップ82において、ファイルデータ書き出
し手段73を用いて、ファイルAの第2ブロツク中のデ
ータを書き換える。すると、共有ブロック吉き出し手段
12が動作して、ファイルへの第2ブロツクロ用のブロ
ックとして新しいブロック■が確保され、書き込もうと
したデータはブロック■に書き出される。元の第2ブロ
ツク■のデータは変更されず、ブロック参照カウントが
1 (つまりファイルB専用のブロック)になるだけで
ある。ステップ83はその状態を示している。
し手段73を用いて、ファイルAの第2ブロツク中のデ
ータを書き換える。すると、共有ブロック吉き出し手段
12が動作して、ファイルへの第2ブロツクロ用のブロ
ックとして新しいブロック■が確保され、書き込もうと
したデータはブロック■に書き出される。元の第2ブロ
ツク■のデータは変更されず、ブロック参照カウントが
1 (つまりファイルB専用のブロック)になるだけで
ある。ステップ83はその状態を示している。
このようにして、ファイルAのブロック列は■、 ・
■、■、■、■となるが、ファイルBのブロック列は■
、■、■、■、■でステップ82から変化しない、この
状態でも、ブロック数は最初の状態から一つ増えただけ
である。
■、■、■、■となるが、ファイルBのブロック列は■
、■、■、■、■でステップ82から変化しない、この
状態でも、ブロック数は最初の状態から一つ増えただけ
である。
同様に、ステップ83の状態において、ファイルBの第
4ブロツク中のデータを書き換えると、ステップ84の
状態となる。ファイルBのブロック列は■、■、■、■
、■と変化する。ブロック数は一つ増える。
4ブロツク中のデータを書き換えると、ステップ84の
状態となる。ファイルBのブロック列は■、■、■、■
、■と変化する。ブロック数は一つ増える。
今度は、ファイルデータ追加手段74を使ってファイル
Aにデータを追加する。H&のブロック■に追加データ
が収まらない場合は、共有ブロック割当手段13が動作
して新しいブロック■が非共有状a(ブロック参照カウ
ント−1の状態)で確保され、共有ブロック書き出し手
段12を使ってブロック■に追加データが書き出される
。結果として、ステップ85の状態となる。
Aにデータを追加する。H&のブロック■に追加データ
が収まらない場合は、共有ブロック割当手段13が動作
して新しいブロック■が非共有状a(ブロック参照カウ
ント−1の状態)で確保され、共有ブロック書き出し手
段12を使ってブロック■に追加データが書き出される
。結果として、ステップ85の状態となる。
さらに、ここで、ファイルAの複写を再度数る。
複写されたファイルをCとする。状態はステップ86と
なり、前のステップ85でファイルへのブロックとなっ
ていたブロックの参照カウントが1ずつ力II算される
。やはり、複写直後のブロック数は、複写直前のブロッ
ク数と同びである。
なり、前のステップ85でファイルへのブロックとなっ
ていたブロックの参照カウントが1ずつ力II算される
。やはり、複写直後のブロック数は、複写直前のブロッ
ク数と同びである。
QljItに、ファイルBをファイル削除手段7.5で
削除すると、共有ブロック解放手段14が動作して、フ
ァイルBに含まれていたブロックの参照カウントが1ず
つ減少し、さらに、ファイルBのみに属していたブロッ
クは解放され、ステップ87の状態になる。解放された
ブロックは■、■である。
削除すると、共有ブロック解放手段14が動作して、フ
ァイルBに含まれていたブロックの参照カウントが1ず
つ減少し、さらに、ファイルBのみに属していたブロッ
クは解放され、ステップ87の状態になる。解放された
ブロックは■、■である。
以上の動作から、本発明のブロック共有型ファイルブロ
ック管理方式を利用したファイル管理システムにおいて
は、ファイルブロックを共有したファイルどうしでも、
完全に独立なファイルとしして扱えることがわかる。
ック管理方式を利用したファイル管理システムにおいて
は、ファイルブロックを共有したファイルどうしでも、
完全に独立なファイルとしして扱えることがわかる。
以上本発明の実施例について説明したが、本発明は以上
の実施例にのみ限定されず、その他各種の付加変更が可
能である。例えば、本発明方式と従来のファイルリンク
方式とを組合せ、ブロックを他のファイルと共有してい
る成るファイルに別のファイルをリンクさせるような態
様も可能である。このときリンクされるファイル間では
ファイル記述子は共有される。
の実施例にのみ限定されず、その他各種の付加変更が可
能である。例えば、本発明方式と従来のファイルリンク
方式とを組合せ、ブロックを他のファイルと共有してい
る成るファイルに別のファイルをリンクさせるような態
様も可能である。このときリンクされるファイル間では
ファイル記述子は共有される。
以上説明したように、本発明のブロック共有型ファイル
ブロック管理方式を利用することにより、ファイルの複
写を取って、一方のファイルの一部分を書き換えても、
書き換えられたデータを含むブロック以外のブロックは
共有されるので、ファイルのデータを保持するブロック
数を節約できる。
ブロック管理方式を利用することにより、ファイルの複
写を取って、一方のファイルの一部分を書き換えても、
書き換えられたデータを含むブロック以外のブロックは
共有されるので、ファイルのデータを保持するブロック
数を節約できる。
しかも、ファイルブロックを共有したファイルどうしで
も、完全に独立なファイルとして扱える。
も、完全に独立なファイルとして扱える。
第1図は本発明のブロック共有型ファイルブロック管理
方式の実施例の構成図、 第2図は本発明で使用するデータ構造の一例を示す図、 第3図はブロック共有化手段11の処理例の流れ図、 第4図は共有ブロック書き出し手段12の処理例の流れ
図、 第5図は共有ブロック割当手段13処理例の流れ図、 第6図は共有ブロック解放手段14の処理例の流れ図、 第7図は本発明を適用したファイル管理システムの一例
を示す構成図および、 第8図は第7図のファイル管理システムの動作説明図で
ある。 図に−おいて、 11・・・ブロック共有化手段 12・・・共有ブロック書き出し手段 13・・・共有ブロック割当手段 14・・・共有ブロック解放手段
方式の実施例の構成図、 第2図は本発明で使用するデータ構造の一例を示す図、 第3図はブロック共有化手段11の処理例の流れ図、 第4図は共有ブロック書き出し手段12の処理例の流れ
図、 第5図は共有ブロック割当手段13処理例の流れ図、 第6図は共有ブロック解放手段14の処理例の流れ図、 第7図は本発明を適用したファイル管理システムの一例
を示す構成図および、 第8図は第7図のファイル管理システムの動作説明図で
ある。 図に−おいて、 11・・・ブロック共有化手段 12・・・共有ブロック書き出し手段 13・・・共有ブロック割当手段 14・・・共有ブロック解放手段
Claims (1)
- 【特許請求の範囲】 一つのファイルに属するブロック列を該ファイル対応の
ファイル記述子中で管理する構成を有すると共に、 ファイル中のブロックを他のファイルと共有された状態
にするブロック共有化手段と、 該ブロック共有化手段によって共有化されたブロックに
データを書き込むとき、元のブロックはそのまま残して
、新しいブロックを割り当て、そのブロックにデータを
書き出す共有ブロック書き出し手段と、 共有されていない状態で新しいブロックを割り当てる共
有ブロック割当手段と、 指定されたブロックが共有されていない場合にのみブロ
ックを解放する共有ブロック解放手段とを含むことを特
徴とするブロック共有型ファイルブロック管理方式。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62319755A JPH01161452A (ja) | 1987-12-17 | 1987-12-17 | ブロック共有型ファイルブロック管理方式 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62319755A JPH01161452A (ja) | 1987-12-17 | 1987-12-17 | ブロック共有型ファイルブロック管理方式 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH01161452A true JPH01161452A (ja) | 1989-06-26 |
Family
ID=18113810
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62319755A Pending JPH01161452A (ja) | 1987-12-17 | 1987-12-17 | ブロック共有型ファイルブロック管理方式 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH01161452A (ja) |
-
1987
- 1987-12-17 JP JP62319755A patent/JPH01161452A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4587628A (en) | Method and apparatus for dynamic invocation of utilities | |
| US6848021B2 (en) | Efficient data backup using a single side file | |
| WO2025161674A1 (zh) | 网络报文处理方法、装置、计算机设备和存储介质 | |
| CN1714340A (zh) | 使数据处理设备中的至少两个处理装置同步化的数据处理设备和方法 | |
| US5666546A (en) | Method of managing concurrent accesses to a memory by a plurality of users using atomic instructions to prevent read/write errors | |
| JPH01161452A (ja) | ブロック共有型ファイルブロック管理方式 | |
| JP2587417B2 (ja) | ファイルの退避復元方式 | |
| JPS62287359A (ja) | 疎結合マルチプロセツサシステムにおけるフアイル同時アクセス制御方式 | |
| JPH06110759A (ja) | ファイルシステム | |
| JPH0337748A (ja) | 主記憶を利用した外部記憶アクセス方式 | |
| JPS5947341B2 (ja) | 索引順編成フアイルの動的排他制御方式 | |
| JPH0540721A (ja) | 計算機システム | |
| JP2512948B2 (ja) | デ−タ処理装置 | |
| JPS6344258A (ja) | 仮想メモリ−制御における補助記憶空間の管理方法 | |
| JPH04350738A (ja) | ディスクスペース管理方式 | |
| JPS63233437A (ja) | デ−タパケット長短縮方法およびその装置 | |
| JPS6336448A (ja) | 仮想記憶方式の基礎クラスタを転送する方法 | |
| JPH04106643A (ja) | フロッピィディスクのファイル領域管理方式 | |
| JPS63180146A (ja) | ワ−クフアイルの多重バツフアリング制御方式 | |
| JPH01319820A (ja) | 記憶媒体管理システム | |
| JPS62279422A (ja) | フアイル入出力方式 | |
| JPS63276647A (ja) | 二次記憶キャッシング方式 | |
| JPS63280356A (ja) | 仮想ディスク装置のバッファ管理方式 | |
| JPH02130681A (ja) | イメージ処理方式 | |
| JPH01191241A (ja) | ファイル削除方式 |