JPH08123712A - ファイル管理システム - Google Patents
ファイル管理システムInfo
- Publication number
- JPH08123712A JPH08123712A JP6262132A JP26213294A JPH08123712A JP H08123712 A JPH08123712 A JP H08123712A JP 6262132 A JP6262132 A JP 6262132A JP 26213294 A JP26213294 A JP 26213294A JP H08123712 A JPH08123712 A JP H08123712A
- Authority
- JP
- Japan
- Prior art keywords
- file
- data block
- management table
- shared
- 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.)
- Pending
Links
- 238000012545 processing Methods 0.000 claims description 32
- 238000010586 diagram Methods 0.000 description 11
- 238000000034 method Methods 0.000 description 10
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000000470 constituent Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】
【目的】 記憶媒体の有効利用を図りつつ複数のファイ
ルに共有されるデータブロックの操作を円滑に行えるよ
うにする。 【構成】 ファイルA、ファイルBは、記憶媒体41上
に格納されるデータブロックA0 、A1 、……の任意の
ものの集合によって構成され、それぞれ対応するファイ
ル管理テーブル31A、31Bがその管理を行ってい
る。ファイル管理テーブル31は、構成されるデータブ
ロックの記憶媒体41上での宛先をデータブロック宛先
情報格納領域38に格納し、他のファイルとの関係で共
有関係にあるデータブロックの数をデータブロック共有
カウント値格納領域39に格納している。また、ファイ
ル管理テーブル宛先情報格納領域35にはリンクする他
の同様のテーブルの宛先が示され、共有データブロック
カウント値格納領域36にはデータブロックの共有数が
格納されている。
ルに共有されるデータブロックの操作を円滑に行えるよ
うにする。 【構成】 ファイルA、ファイルBは、記憶媒体41上
に格納されるデータブロックA0 、A1 、……の任意の
ものの集合によって構成され、それぞれ対応するファイ
ル管理テーブル31A、31Bがその管理を行ってい
る。ファイル管理テーブル31は、構成されるデータブ
ロックの記憶媒体41上での宛先をデータブロック宛先
情報格納領域38に格納し、他のファイルとの関係で共
有関係にあるデータブロックの数をデータブロック共有
カウント値格納領域39に格納している。また、ファイ
ル管理テーブル宛先情報格納領域35にはリンクする他
の同様のテーブルの宛先が示され、共有データブロック
カウント値格納領域36にはデータブロックの共有数が
格納されている。
Description
【0001】
【産業上の利用分野】本発明はコンピュータ等の文書処
理装置の作成した複数のファイルを管理するためのファ
イル管理システムに係わり、詳細にはファイルを構成す
るデータの一部をコピーして新たなファイルを作成する
ような場合に好適なファイル管理システムに関する。
理装置の作成した複数のファイルを管理するためのファ
イル管理システムに係わり、詳細にはファイルを構成す
るデータの一部をコピーして新たなファイルを作成する
ような場合に好適なファイル管理システムに関する。
【0002】
【従来の技術】コンピュータ等の作成するファイルはそ
の構成内容が全く独立している場合もあるが、互いに関
連するファイルが作成される場合もある。例えば、ある
文書ファイルを作成し、これを一部改正した他の文書フ
ァイルを新たに作成したとする。この場合には、先の文
書ファイルのかなりの部分がコピーされたり、コピー後
にその内容が一部訂正されていることが多い。そこで、
関連したファイルを管理する際には、これらをそれぞれ
別個に記憶装置上に格納するよりも、共通する部分につ
いてはいずれかのファイルにその内容が記憶されている
ことを明示してその部分の格納を省略するようにして全
体的な記憶容量を減少させることが従来から行われてい
る。
の構成内容が全く独立している場合もあるが、互いに関
連するファイルが作成される場合もある。例えば、ある
文書ファイルを作成し、これを一部改正した他の文書フ
ァイルを新たに作成したとする。この場合には、先の文
書ファイルのかなりの部分がコピーされたり、コピー後
にその内容が一部訂正されていることが多い。そこで、
関連したファイルを管理する際には、これらをそれぞれ
別個に記憶装置上に格納するよりも、共通する部分につ
いてはいずれかのファイルにその内容が記憶されている
ことを明示してその部分の格納を省略するようにして全
体的な記憶容量を減少させることが従来から行われてい
る。
【0003】図15は、特開昭63−27936号公報
で提案されたファイル管理システムを原理的に示したも
のである。単一または複数のファイルを構成する第1〜
第Nのデータブロック11−1、11−2、……、11
−Nは、それぞれデータブロック本体12と参照カウン
タ記憶領域13から構成されている。それぞれの参照カ
ウンタ記憶領域13には、各データブロックを共通に使
用するファイルの総数を管理するための参照カウンタが
記憶されるようになっている。例えば第1のデータブロ
ック11−1について参照カウンタのカウント値が
“1”であれば、それは1つのファイルに使用されてい
るだけである。これに対して、第2のデータブロック1
1−2の参照カウンタのカウント値が“2”であれば、
それは2つのファイルを構成するデータブロックとして
共同使用されていることを意味する。以下同様である。
で提案されたファイル管理システムを原理的に示したも
のである。単一または複数のファイルを構成する第1〜
第Nのデータブロック11−1、11−2、……、11
−Nは、それぞれデータブロック本体12と参照カウン
タ記憶領域13から構成されている。それぞれの参照カ
ウンタ記憶領域13には、各データブロックを共通に使
用するファイルの総数を管理するための参照カウンタが
記憶されるようになっている。例えば第1のデータブロ
ック11−1について参照カウンタのカウント値が
“1”であれば、それは1つのファイルに使用されてい
るだけである。これに対して、第2のデータブロック1
1−2の参照カウンタのカウント値が“2”であれば、
それは2つのファイルを構成するデータブロックとして
共同使用されていることを意味する。以下同様である。
【0004】例えばファイルAが第1、第2、第Mのデ
ータブロック11−1、11−2、11−Mで構成され
ており、ファイルBが第2、第M、第Nのデータブロッ
ク11−2、11−M、11−Nで構成されていると
し、他にはファイルが存在しないような場合には、前記
したようなカウント値をとることになる。各ファイル
A、Bには、それぞれ対応するファイル管理テーブル1
4A、14Bが用意されており、これらにはファイルを
構成する各データブロックが記憶装置内のどのアドレス
に格納されているかを示すポインタ情報が記憶されてい
る。例えばファイルAには、これを構成する第1、第2
および第Mのデータブロック11−1、11−2、11
−Mのポインタ情報15−1、15−2、15−Mが順
に記憶されていることになる。
ータブロック11−1、11−2、11−Mで構成され
ており、ファイルBが第2、第M、第Nのデータブロッ
ク11−2、11−M、11−Nで構成されていると
し、他にはファイルが存在しないような場合には、前記
したようなカウント値をとることになる。各ファイル
A、Bには、それぞれ対応するファイル管理テーブル1
4A、14Bが用意されており、これらにはファイルを
構成する各データブロックが記憶装置内のどのアドレス
に格納されているかを示すポインタ情報が記憶されてい
る。例えばファイルAには、これを構成する第1、第2
および第Mのデータブロック11−1、11−2、11
−Mのポインタ情報15−1、15−2、15−Mが順
に記憶されていることになる。
【0005】この提案のファイル管理システムでは、新
たにファイルを作成するときには対応するファイル管理
テーブル14を作成し、それぞれにポインタ情報15を
記すようにすればよい。
たにファイルを作成するときには対応するファイル管理
テーブル14を作成し、それぞれにポインタ情報15を
記すようにすればよい。
【0006】図16は、特開平2−257340号公報
で提案された仮想コピーファイルを使用したファイル管
理システムの原理を示したものである。ここでは、第1
〜第Nのデータブロック21−1、21−2、……21
−Nが用意されており、また、ファイルAに対応したフ
ァイル管理テーブル22Aが原始的に用意されている。
ファイル管理テーブル22Aにはポインタ情報15−
1、15−2、15−Mが格納されており、これはそれ
ぞれ第1、第2および第Mのデータブロック21−1、
21−2、21−Mが使用されることを示している。
で提案された仮想コピーファイルを使用したファイル管
理システムの原理を示したものである。ここでは、第1
〜第Nのデータブロック21−1、21−2、……21
−Nが用意されており、また、ファイルAに対応したフ
ァイル管理テーブル22Aが原始的に用意されている。
ファイル管理テーブル22Aにはポインタ情報15−
1、15−2、15−Mが格納されており、これはそれ
ぞれ第1、第2および第Mのデータブロック21−1、
21−2、21−Mが使用されることを示している。
【0007】この提案では、ファイルAに関連したファ
イルBを作成するときにはファイルAのファイル管理テ
ーブル22Aをコピーする。そして、データブロック1
5をコピーしたことを示すために両方のファイル管理テ
ーブル22A、22Bに、データブロック15をコピー
したことを示す仮想コピーファイル識別コード23A、
23Bを加えるようにする。ファイルBは、図15に示
した先の提案と同様に第M、第2および第Nのデータブ
ロック21−M、21−2、21−Nで構成されている
とすると、ファイル管理テーブル22Bには第M、第2
および第Nのポインタ情報15−M、15−2、15−
Nがこの順で格納されていることになる。
イルBを作成するときにはファイルAのファイル管理テ
ーブル22Aをコピーする。そして、データブロック1
5をコピーしたことを示すために両方のファイル管理テ
ーブル22A、22Bに、データブロック15をコピー
したことを示す仮想コピーファイル識別コード23A、
23Bを加えるようにする。ファイルBは、図15に示
した先の提案と同様に第M、第2および第Nのデータブ
ロック21−M、21−2、21−Nで構成されている
とすると、ファイル管理テーブル22Bには第M、第2
および第Nのポインタ情報15−M、15−2、15−
Nがこの順で格納されていることになる。
【0008】この後者の提案でファイルBの修正を行う
ものとする。この場合には、仮想コピーファイル識別コ
ード23Bを調べ、これが仮想コピーファイルを示して
いる場合には元のファイルAに同一のデータブロックが
存在する可能性があり、これを勝手に修正することがで
きない。そこで、この場合には元のファイルAのファイ
ル管理テーブル22Aを調べ、修正を行うべきデータブ
ロック21が存在するかどうかを確認する。存在する場
合には、新たにデータブロック21を獲得して、これに
対して修正を行うことになる。これと共に、ファイルB
のファイル管理テーブル22Bの対応するデータブロッ
クのポインタ情報15を新たに獲得したデータブロック
21を示すポインタ情報に変更することになる。
ものとする。この場合には、仮想コピーファイル識別コ
ード23Bを調べ、これが仮想コピーファイルを示して
いる場合には元のファイルAに同一のデータブロックが
存在する可能性があり、これを勝手に修正することがで
きない。そこで、この場合には元のファイルAのファイ
ル管理テーブル22Aを調べ、修正を行うべきデータブ
ロック21が存在するかどうかを確認する。存在する場
合には、新たにデータブロック21を獲得して、これに
対して修正を行うことになる。これと共に、ファイルB
のファイル管理テーブル22Bの対応するデータブロッ
クのポインタ情報15を新たに獲得したデータブロック
21を示すポインタ情報に変更することになる。
【0009】
【発明が解決しようとする課題】このうち前者の提案の
ファイル管理システムでは、各データブロック11−
1、11−2、……11−Nがデータブロック本体12
と参照カウンタ記憶領域13から構成される必要があ
る。すなわち、データの内容としてのデータブロック本
体12の他に参照カウンタ記憶領域13を付加する必要
がある。データブロック本体12は、通常の場合、コン
ピュータ等のデータ転送の効率を考えてページ単位(通
常は512バイト単位)で設定される。したがって、こ
れに外的に付加される参照カウンタ記憶領域13も1ペ
ージがさかれることになる。それぞれのデータブロック
11−1、11−2、……11−Nに参照カウンタのカ
ウント値を記憶するためだけにこのような比較的大容量
の記憶領域を割り当てることは、メモリの有効利用を図
ることができず、また、各データブロック11−1、1
1−2、……11−Nを転送する際にも非効率となると
いう問題がある。
ファイル管理システムでは、各データブロック11−
1、11−2、……11−Nがデータブロック本体12
と参照カウンタ記憶領域13から構成される必要があ
る。すなわち、データの内容としてのデータブロック本
体12の他に参照カウンタ記憶領域13を付加する必要
がある。データブロック本体12は、通常の場合、コン
ピュータ等のデータ転送の効率を考えてページ単位(通
常は512バイト単位)で設定される。したがって、こ
れに外的に付加される参照カウンタ記憶領域13も1ペ
ージがさかれることになる。それぞれのデータブロック
11−1、11−2、……11−Nに参照カウンタのカ
ウント値を記憶するためだけにこのような比較的大容量
の記憶領域を割り当てることは、メモリの有効利用を図
ることができず、また、各データブロック11−1、1
1−2、……11−Nを転送する際にも非効率となると
いう問題がある。
【0010】一方、後者のファイル管理システムでは、
ファイルの修正を行う場合にそのファイルの仮想コピー
ファイル識別コード23を調べ、これが仮想コピーファ
イルを示している場合には元のファイルのファイル管理
テーブル22を検索して同一のデータブロック21が存
在するかどうかをチェックする必要がある。すなわち、
仮想コピーファイル識別コード23が一度付与されてし
まうと、そのファイルが削除されるまでファイルの変更
のたびにコピー元のファイルのファイル管理テーブル2
2を検索する必要があり、作業効率が悪い。また、修正
を加えた仮想コピーファイルを更にコピーしようとする
と、新たなコピー先とそのコピー元との関係はこの仮想
コピーファイル識別コード23で対応付けることができ
るが、最初のファイルのファイル管理テーブル22には
たどり着くことができず、これを参照することができな
くなるという問題が発生する。
ファイルの修正を行う場合にそのファイルの仮想コピー
ファイル識別コード23を調べ、これが仮想コピーファ
イルを示している場合には元のファイルのファイル管理
テーブル22を検索して同一のデータブロック21が存
在するかどうかをチェックする必要がある。すなわち、
仮想コピーファイル識別コード23が一度付与されてし
まうと、そのファイルが削除されるまでファイルの変更
のたびにコピー元のファイルのファイル管理テーブル2
2を検索する必要があり、作業効率が悪い。また、修正
を加えた仮想コピーファイルを更にコピーしようとする
と、新たなコピー先とそのコピー元との関係はこの仮想
コピーファイル識別コード23で対応付けることができ
るが、最初のファイルのファイル管理テーブル22には
たどり着くことができず、これを参照することができな
くなるという問題が発生する。
【0011】そこで本発明の目的は、記憶媒体の有効利
用を図りつつ複数のファイルに共有されるデータブロッ
クの操作を円滑に行うことのできるファイル管理システ
ムを提供することにある。
用を図りつつ複数のファイルに共有されるデータブロッ
クの操作を円滑に行うことのできるファイル管理システ
ムを提供することにある。
【0012】
【課題を解決するための手段】請求項1記載の発明で
は、(イ)ファイルを構成するデータ部分としてのそれ
ぞれのデータブロックを格納する磁気ディスク、光ディ
スク、磁気テープ、半導体メモリ等の記憶媒体と、
(ロ)各ファイルごとに用意されそれらを構成するデー
タブロックのそれぞれについて記憶媒体上の格納領域を
特定する領域情報とそれらのデータブロックと他のファ
イルとの共有関係を表わした共有情報とを格納したファ
イル管理テーブルと、(ハ)ファイルの処理に応じてそ
のファイルのファイル管理テーブルと、そのファイルの
処理されるデータブロックと同一のデータブロックを有
するファイルのファイル管理テーブルの内容を共有関係
の変更に伴って変更するファイル管理テーブル内容変更
手段とをファイル管理システムに具備させる。
は、(イ)ファイルを構成するデータ部分としてのそれ
ぞれのデータブロックを格納する磁気ディスク、光ディ
スク、磁気テープ、半導体メモリ等の記憶媒体と、
(ロ)各ファイルごとに用意されそれらを構成するデー
タブロックのそれぞれについて記憶媒体上の格納領域を
特定する領域情報とそれらのデータブロックと他のファ
イルとの共有関係を表わした共有情報とを格納したファ
イル管理テーブルと、(ハ)ファイルの処理に応じてそ
のファイルのファイル管理テーブルと、そのファイルの
処理されるデータブロックと同一のデータブロックを有
するファイルのファイル管理テーブルの内容を共有関係
の変更に伴って変更するファイル管理テーブル内容変更
手段とをファイル管理システムに具備させる。
【0013】すなわち請求項1記載の発明では、記憶媒
体上にファイルを構成するデータ部分としてのそれぞれ
のデータブロックを格納しておき、各ファイルごとにフ
ァイル管理テーブルを設定するようにしている。ファイ
ル管理テーブルにはファイルを構成するそれぞれのデー
タブロックが記憶媒体上のどこに格納されているかを特
定する領域情報と共に、これらのデータブロックと他の
ファイルとの共有関係を表わした共有情報が格納される
ようになっている。そして、ファイルがコピーされた
り、内容の変更が行われる際には、自身のファイル管理
テーブルの内容が変更される他、共有関係にある他のフ
ァイルのファイル管理テーブルの内容も共有関係の変化
に応じて変更するようにしている。このようなファイル
管理システムでは、各データブロック自体には共有関係
等を示す付加情報が存在しないので記憶媒体の有効利用
を図ることができる。また、共有関係が各ファイルのフ
ァイル管理テーブルで示されるので、これを基にして複
数のファイルに共有されるデータブロックの操作を円滑
に行うことができる。
体上にファイルを構成するデータ部分としてのそれぞれ
のデータブロックを格納しておき、各ファイルごとにフ
ァイル管理テーブルを設定するようにしている。ファイ
ル管理テーブルにはファイルを構成するそれぞれのデー
タブロックが記憶媒体上のどこに格納されているかを特
定する領域情報と共に、これらのデータブロックと他の
ファイルとの共有関係を表わした共有情報が格納される
ようになっている。そして、ファイルがコピーされた
り、内容の変更が行われる際には、自身のファイル管理
テーブルの内容が変更される他、共有関係にある他のフ
ァイルのファイル管理テーブルの内容も共有関係の変化
に応じて変更するようにしている。このようなファイル
管理システムでは、各データブロック自体には共有関係
等を示す付加情報が存在しないので記憶媒体の有効利用
を図ることができる。また、共有関係が各ファイルのフ
ァイル管理テーブルで示されるので、これを基にして複
数のファイルに共有されるデータブロックの操作を円滑
に行うことができる。
【0014】請求項2記載の発明では、(イ)ファイル
を構成するデータ部分としてのそれぞれのデータブロッ
クを格納する磁気ディスク、光ディスク、磁気テープ、
半導体メモリ等の記憶媒体と、(ロ)各ファイルごとに
用意されそれらを構成するデータブロックのそれぞれに
ついて記憶媒体上の格納領域を特定する領域情報とそれ
らのデータブロックと他のファイルとの共有の有無およ
び共有されている場合には共有されている他のファイル
の数を表わした共有情報ならびに他のファイルとファイ
ルのコピー関係にあるときはそのファイルとリンクする
ためのリンク情報とを格納したファイル管理テーブル
と、(ハ)ファイルの処理に応じてそのファイルのファ
イル管理テーブルと、リンク情報を用いてそのファイル
の処理されるデータブロックと同一のデータブロックを
有するファイルのファイル管理テーブルの内容を検索し
共有関係の変更に伴ってこれらを変更するファイル管理
テーブル内容変更手段とをファイル管理システムに具備
させる。
を構成するデータ部分としてのそれぞれのデータブロッ
クを格納する磁気ディスク、光ディスク、磁気テープ、
半導体メモリ等の記憶媒体と、(ロ)各ファイルごとに
用意されそれらを構成するデータブロックのそれぞれに
ついて記憶媒体上の格納領域を特定する領域情報とそれ
らのデータブロックと他のファイルとの共有の有無およ
び共有されている場合には共有されている他のファイル
の数を表わした共有情報ならびに他のファイルとファイ
ルのコピー関係にあるときはそのファイルとリンクする
ためのリンク情報とを格納したファイル管理テーブル
と、(ハ)ファイルの処理に応じてそのファイルのファ
イル管理テーブルと、リンク情報を用いてそのファイル
の処理されるデータブロックと同一のデータブロックを
有するファイルのファイル管理テーブルの内容を検索し
共有関係の変更に伴ってこれらを変更するファイル管理
テーブル内容変更手段とをファイル管理システムに具備
させる。
【0015】すなわち請求項2記載の発明では、記憶媒
体上にファイルを構成するデータ部分としてのそれぞれ
のデータブロックを格納しておき、各ファイルごとにフ
ァイル管理テーブルを設定するようにしている。ファイ
ル管理テーブルにはファイルを構成するそれぞれのデー
タブロックが記憶媒体上のどこに格納されているかを特
定する領域情報と共に、これらのデータブロックと他の
ファイルとの共有の有無および共有されている場合には
共有されている他のファイルの数を表わした共有情報な
らびに他のファイルとファイルのコピー関係にあるとき
はそのファイルとリンクするためのリンク情報とが格納
されるようになっている。したがって、データブロック
自体には共有関係等を示す付加情報が存在しないので記
憶媒体の有効利用を図ることができる。また、ファイル
がコピーされたり、内容の変更が行われる際には、デー
タブロック単位で共有状態をチェックできるばかりでな
く、ファイル管理テーブル単位でデータブロックに共有
関係があるかとかコピー関係にある他のファイルのファ
イル管理テーブルが存在するかといったことがファイル
管理テーブルを用いて判別できるので、複数のファイル
に共有されるデータブロックの操作を円滑に行うことが
できる。
体上にファイルを構成するデータ部分としてのそれぞれ
のデータブロックを格納しておき、各ファイルごとにフ
ァイル管理テーブルを設定するようにしている。ファイ
ル管理テーブルにはファイルを構成するそれぞれのデー
タブロックが記憶媒体上のどこに格納されているかを特
定する領域情報と共に、これらのデータブロックと他の
ファイルとの共有の有無および共有されている場合には
共有されている他のファイルの数を表わした共有情報な
らびに他のファイルとファイルのコピー関係にあるとき
はそのファイルとリンクするためのリンク情報とが格納
されるようになっている。したがって、データブロック
自体には共有関係等を示す付加情報が存在しないので記
憶媒体の有効利用を図ることができる。また、ファイル
がコピーされたり、内容の変更が行われる際には、デー
タブロック単位で共有状態をチェックできるばかりでな
く、ファイル管理テーブル単位でデータブロックに共有
関係があるかとかコピー関係にある他のファイルのファ
イル管理テーブルが存在するかといったことがファイル
管理テーブルを用いて判別できるので、複数のファイル
に共有されるデータブロックの操作を円滑に行うことが
できる。
【0016】請求項3記載の発明では、(イ)ファイル
を構成するデータ部分としてのそれぞれのデータブロッ
クを格納する磁気ディスク、光ディスク、磁気テープ、
半導体メモリ等の記憶媒体と、(ロ)各ファイルごとに
用意されそれらを構成するデータブロックのそれぞれに
ついて記憶媒体上の格納領域を特定する領域情報とそれ
らのデータブロックと他のファイルとの共有の有無およ
び共有されている場合には共有されている他のファイル
の数および自己のファイルを構成する各データブロック
についての共有している他のファイルの数の総数を表わ
した共有情報ならびに他のファイルとファイルのコピー
関係にあるときはそのファイルとリンクするためのリン
ク情報とを格納したファイル管理テーブルと、(ハ)フ
ァイルをコピーする際にはそのファイルのファイル管理
テーブルの各データブロックの内容をコピーすると共に
これらのファイルのファイル管理テーブル間でリンク情
報を設定し、データブロックの共有関係の発生に応じて
これらのファイル管理テーブルおよびこれらとリンクし
データブロックに共有関係が存在するすべてのファイル
管理テーブルの共有情報を再設定するコピー時ファイル
管理テーブル内容変更手段と、(ニ)ファイルの内容を
変更する際にはそのファイルの内容を変更するデータブ
ロックが他のファイルと共有関係にあるか否かを共有情
報でチェックし共有関係にない場合にはそのデータブロ
ックの内容を記憶媒体上で変更するのみで処理を終了
し、共有関係にある場合にはこの記憶媒体上の他の領域
にそのデータブロックの変更後の内容を新たに格納し自
己のファイル管理テーブルのそのデータブロックについ
ての格納領域を特定する領域情報を変更後のデータブロ
ックを特定する情報に変更すると共に、自己のファイル
管理テーブルおよびそのデータブロックと共有関係にあ
ったデータブロックを有する他のファイル管理テーブル
の共有情報を共有関係の解消に応じて再設定するデータ
ブロック内容変更時ファイル管理テーブル内容変更手段
と、(ホ)ファイルの削除を行う際には、削除するファ
イルのファイル管理テーブルの共有情報における総数が
零であるかどうかをチェックし、零である場合には削除
するファイルの全データブロックを記憶媒体上から開放
してそのファイルのファイル管理テーブルを削除し、零
でない場合には削除するファイルを構成する各データブ
ロックと共有関係にある他のファイルのファイル管理テ
ーブルをリンク情報から検索して共有関係の解消および
削除するファイルのファイル管理テーブルとリンクして
いるファイル管理テーブルのリンク関係の解消に伴って
共有情報およびリンク情報を再設定し、削除するファイ
ルを構成するデータブロックのうち他のファイルのデー
タブロックと共有関係にないものを記憶媒体上から開放
してそのファイルのファイル管理テーブルを削除するフ
ァイル削除時ファイル管理テーブル処理手段とをファイ
ル管理システムに具備させる。
を構成するデータ部分としてのそれぞれのデータブロッ
クを格納する磁気ディスク、光ディスク、磁気テープ、
半導体メモリ等の記憶媒体と、(ロ)各ファイルごとに
用意されそれらを構成するデータブロックのそれぞれに
ついて記憶媒体上の格納領域を特定する領域情報とそれ
らのデータブロックと他のファイルとの共有の有無およ
び共有されている場合には共有されている他のファイル
の数および自己のファイルを構成する各データブロック
についての共有している他のファイルの数の総数を表わ
した共有情報ならびに他のファイルとファイルのコピー
関係にあるときはそのファイルとリンクするためのリン
ク情報とを格納したファイル管理テーブルと、(ハ)フ
ァイルをコピーする際にはそのファイルのファイル管理
テーブルの各データブロックの内容をコピーすると共に
これらのファイルのファイル管理テーブル間でリンク情
報を設定し、データブロックの共有関係の発生に応じて
これらのファイル管理テーブルおよびこれらとリンクし
データブロックに共有関係が存在するすべてのファイル
管理テーブルの共有情報を再設定するコピー時ファイル
管理テーブル内容変更手段と、(ニ)ファイルの内容を
変更する際にはそのファイルの内容を変更するデータブ
ロックが他のファイルと共有関係にあるか否かを共有情
報でチェックし共有関係にない場合にはそのデータブロ
ックの内容を記憶媒体上で変更するのみで処理を終了
し、共有関係にある場合にはこの記憶媒体上の他の領域
にそのデータブロックの変更後の内容を新たに格納し自
己のファイル管理テーブルのそのデータブロックについ
ての格納領域を特定する領域情報を変更後のデータブロ
ックを特定する情報に変更すると共に、自己のファイル
管理テーブルおよびそのデータブロックと共有関係にあ
ったデータブロックを有する他のファイル管理テーブル
の共有情報を共有関係の解消に応じて再設定するデータ
ブロック内容変更時ファイル管理テーブル内容変更手段
と、(ホ)ファイルの削除を行う際には、削除するファ
イルのファイル管理テーブルの共有情報における総数が
零であるかどうかをチェックし、零である場合には削除
するファイルの全データブロックを記憶媒体上から開放
してそのファイルのファイル管理テーブルを削除し、零
でない場合には削除するファイルを構成する各データブ
ロックと共有関係にある他のファイルのファイル管理テ
ーブルをリンク情報から検索して共有関係の解消および
削除するファイルのファイル管理テーブルとリンクして
いるファイル管理テーブルのリンク関係の解消に伴って
共有情報およびリンク情報を再設定し、削除するファイ
ルを構成するデータブロックのうち他のファイルのデー
タブロックと共有関係にないものを記憶媒体上から開放
してそのファイルのファイル管理テーブルを削除するフ
ァイル削除時ファイル管理テーブル処理手段とをファイ
ル管理システムに具備させる。
【0017】すなわち請求項3記載の発明では、記憶媒
体上にファイルを構成するデータ部分としてのそれぞれ
のデータブロックを格納しておき、各ファイルごとにフ
ァイル管理テーブルを設定するようにしている。ファイ
ル管理テーブルにはファイルを構成するそれぞれのデー
タブロックが記憶媒体上のどこに格納されているかを特
定する領域情報と共に、これらのデータブロックと他の
ファイルとの共有の有無および共有されている場合には
共有されている他のファイルの数を表わした共有情報な
らびに他のファイルとファイルのコピー関係にあるとき
はそのファイルとリンクするためのリンク情報とが格納
されるようになっている。また、ファイルの処理内容に
応じて、ファイルのコピー時のファイル管理テーブルの
内容を変更するためのコピー時ファイル管理テーブル内
容変更手段と、データブロックの内容変更時のファイル
管理テーブルの内容を変更するためのデータブロック内
容変更時ファイル管理テーブル内容変更手段と、ファイ
ルの削除時のファイル管理テーブルの処理を行うための
ファイル削除時ファイル管理テーブル処理手段とを備え
たので、ファイルの各種操作を円滑に行うことができ
る。
体上にファイルを構成するデータ部分としてのそれぞれ
のデータブロックを格納しておき、各ファイルごとにフ
ァイル管理テーブルを設定するようにしている。ファイ
ル管理テーブルにはファイルを構成するそれぞれのデー
タブロックが記憶媒体上のどこに格納されているかを特
定する領域情報と共に、これらのデータブロックと他の
ファイルとの共有の有無および共有されている場合には
共有されている他のファイルの数を表わした共有情報な
らびに他のファイルとファイルのコピー関係にあるとき
はそのファイルとリンクするためのリンク情報とが格納
されるようになっている。また、ファイルの処理内容に
応じて、ファイルのコピー時のファイル管理テーブルの
内容を変更するためのコピー時ファイル管理テーブル内
容変更手段と、データブロックの内容変更時のファイル
管理テーブルの内容を変更するためのデータブロック内
容変更時ファイル管理テーブル内容変更手段と、ファイ
ルの削除時のファイル管理テーブルの処理を行うための
ファイル削除時ファイル管理テーブル処理手段とを備え
たので、ファイルの各種操作を円滑に行うことができ
る。
【0018】
【実施例】以下実施例につき本発明を詳細に説明する。
【0019】図1は、他のファイルの共有するデータブ
ロックを有しないファイルAについてのファイル管理テ
ーブルと記憶媒体上のデータブロックの関係を表わした
ものである。ファイル管理テーブル31Aは、ヘッダ情
報記憶領域32と、それぞれのデータブロックに対応す
る第0〜第4のデータブロック管理配列領域330 〜3
34 から構成されている。これは、本実施例のファイル
Aが合計5つのデータブロックから構成されているため
であり、例えば合計4つのデータブロックから構成され
ている場合には、第0〜第3のデータブロック管理配列
領域330 〜333 となる。
ロックを有しないファイルAについてのファイル管理テ
ーブルと記憶媒体上のデータブロックの関係を表わした
ものである。ファイル管理テーブル31Aは、ヘッダ情
報記憶領域32と、それぞれのデータブロックに対応す
る第0〜第4のデータブロック管理配列領域330 〜3
34 から構成されている。これは、本実施例のファイル
Aが合計5つのデータブロックから構成されているため
であり、例えば合計4つのデータブロックから構成され
ている場合には、第0〜第3のデータブロック管理配列
領域330 〜333 となる。
【0020】図2は、ヘッダ情報記憶領域の構成を表わ
したものである。ヘッダ情報記憶領域32は、ファイル
管理テーブル宛先情報格納領域35と、共有データブロ
ックカウント値格納領域36とその他情報格納領域37
から構成されている。ここでファイル管理テーブル宛先
情報格納領域35は、データブロックを共有しているフ
ァイルのファイル管理テーブルの宛先情報(ポインタ)
を格納する領域である。共有しているデータブロックが
存在しない場合には“0”が格納され、存在している場
合には記憶媒体上におけるそのアドレスが格納される。
図1に示した例ではファイルAが他のファイルと共有関
係のデータブロックを有していないので、“0”が格納
されている。
したものである。ヘッダ情報記憶領域32は、ファイル
管理テーブル宛先情報格納領域35と、共有データブロ
ックカウント値格納領域36とその他情報格納領域37
から構成されている。ここでファイル管理テーブル宛先
情報格納領域35は、データブロックを共有しているフ
ァイルのファイル管理テーブルの宛先情報(ポインタ)
を格納する領域である。共有しているデータブロックが
存在しない場合には“0”が格納され、存在している場
合には記憶媒体上におけるそのアドレスが格納される。
図1に示した例ではファイルAが他のファイルと共有関
係のデータブロックを有していないので、“0”が格納
されている。
【0021】共有データブロックカウント値格納領域3
6は、他のファイルと共有しているデータブロックの総
数を格納する領域である。図1に示した第0〜第4のデ
ータブロック管理配列領域330 〜334 が、幾つかの
データブロックを共有していることを示している場合に
は、その総数が共有データブロックカウント値格納領域
36に格納されることになる。図1に示した例ではファ
イルAが他のファイルと共有関係のデータブロックを有
していないので、ここにもカウント値として“0”が格
納されることになる。
6は、他のファイルと共有しているデータブロックの総
数を格納する領域である。図1に示した第0〜第4のデ
ータブロック管理配列領域330 〜334 が、幾つかの
データブロックを共有していることを示している場合に
は、その総数が共有データブロックカウント値格納領域
36に格納されることになる。図1に示した例ではファ
イルAが他のファイルと共有関係のデータブロックを有
していないので、ここにもカウント値として“0”が格
納されることになる。
【0022】図3は、データブロック管理配列領域のそ
れぞれの構成を表わしたものである。データブロック管
理配列領域33は、データブロック宛先情報格納領域3
8と、データブロック共有カウント値格納領域39から
構成されている。ここでデータブロック宛先情報格納領
域38は、記憶媒体上の対応するデータブロックの宛先
情報(ポインタ)を格納する領域である。例えば図1で
第0のデータブロック管理配列領域330 には、
“a0 ”という宛先情報が格納されているが、これはデ
ータブロックを格納する記憶媒体41上における宛先情
報(アドレス)を示している。ここから例えば512バ
イトの領域にはデータブロックA0 が格納されており、
第0のデータブロック管理配列領域330 はこれを指定
していることになる。
れぞれの構成を表わしたものである。データブロック管
理配列領域33は、データブロック宛先情報格納領域3
8と、データブロック共有カウント値格納領域39から
構成されている。ここでデータブロック宛先情報格納領
域38は、記憶媒体上の対応するデータブロックの宛先
情報(ポインタ)を格納する領域である。例えば図1で
第0のデータブロック管理配列領域330 には、
“a0 ”という宛先情報が格納されているが、これはデ
ータブロックを格納する記憶媒体41上における宛先情
報(アドレス)を示している。ここから例えば512バ
イトの領域にはデータブロックA0 が格納されており、
第0のデータブロック管理配列領域330 はこれを指定
していることになる。
【0023】図3でデータブロック共有カウント値格納
領域39は、他のファイルとそのデータブロックを共有
している値を示すもので、図1に示したように共有され
ていない場合にはカウント値として“0”が格納される
ことになる。図1に示したファイルAのファイル管理テ
ーブル31Aでは、第0〜第4のデータブロック管理配
列領域330 〜334 で特定されるデータブロックA0
〜A4 が共に他のファイルで共有されていないので、こ
れらのデータブロック共有カウント値格納領域39は共
に“0”となっており、これらの合計としての共有デー
タブロックカウント値格納領域36の値(図2参照)も
“0”となっている。このように本実施例のファイル管
理システムでは、ヘッダ情報記憶領域32における共有
データブロックカウント値格納領域36をチェックすれ
ば、他のファイルのファイル管理テーブル31を調べる
ことなく、他のファイルとデータブロックを共有してい
るかどうかの判別が可能である。したがって、他のファ
イルとデータブロックを共有していないファイル(以下
これを通常ファイルという。)については、その操作が
単純化する。
領域39は、他のファイルとそのデータブロックを共有
している値を示すもので、図1に示したように共有され
ていない場合にはカウント値として“0”が格納される
ことになる。図1に示したファイルAのファイル管理テ
ーブル31Aでは、第0〜第4のデータブロック管理配
列領域330 〜334 で特定されるデータブロックA0
〜A4 が共に他のファイルで共有されていないので、こ
れらのデータブロック共有カウント値格納領域39は共
に“0”となっており、これらの合計としての共有デー
タブロックカウント値格納領域36の値(図2参照)も
“0”となっている。このように本実施例のファイル管
理システムでは、ヘッダ情報記憶領域32における共有
データブロックカウント値格納領域36をチェックすれ
ば、他のファイルのファイル管理テーブル31を調べる
ことなく、他のファイルとデータブロックを共有してい
るかどうかの判別が可能である。したがって、他のファ
イルとデータブロックを共有していないファイル(以下
これを通常ファイルという。)については、その操作が
単純化する。
【0024】図4は、ファイルAをコピーしたファイル
Bについてそのファイル管理テーブルとデータブロック
の関係を表わしたものである。ファイルAとデータブロ
ックを共有するファイルBを作成する際には、新たにそ
れぞれを構成するデータブロックを作成せずにファイル
Aのファイル管理テーブル31Aの中の対応するデータ
ブロック管理配列領域330 〜334 のみをコピーす
る。そして、両ファイル管理テーブル31A、31Bの
それぞれのデータブロック共有カウント値格納領域39
を、データブロックの共有を行っているので、“0”か
ら“1”に変更する。また、ファイル管理テーブル31
Aのヘッダ情報記憶領域32における共有データブロッ
クカウント値格納領域36には、共有しているデータブ
ロックの合計値として“5”が格納される。ファイル管
理テーブル31Bの共有データブロックカウント値格納
領域36についても同様である。
Bについてそのファイル管理テーブルとデータブロック
の関係を表わしたものである。ファイルAとデータブロ
ックを共有するファイルBを作成する際には、新たにそ
れぞれを構成するデータブロックを作成せずにファイル
Aのファイル管理テーブル31Aの中の対応するデータ
ブロック管理配列領域330 〜334 のみをコピーす
る。そして、両ファイル管理テーブル31A、31Bの
それぞれのデータブロック共有カウント値格納領域39
を、データブロックの共有を行っているので、“0”か
ら“1”に変更する。また、ファイル管理テーブル31
Aのヘッダ情報記憶領域32における共有データブロッ
クカウント値格納領域36には、共有しているデータブ
ロックの合計値として“5”が格納される。ファイル管
理テーブル31Bの共有データブロックカウント値格納
領域36についても同様である。
【0025】また、ファイル管理テーブル31Aが記憶
媒体上の宛先情報fA を先頭のアドレスとして格納さ
れ、ファイル管理テーブル31Bが記憶媒体上の宛先情
報fBを先頭のアドレスとして格納されているものとす
ると、ファイル管理テーブル31Aのヘッダ情報記憶領
域32におけるファイル管理テーブル宛先情報格納領域
35には、宛先情報fB が格納される。また、ファイル
管理テーブル31Bのヘッダ情報記憶領域32における
ファイル管理テーブル宛先情報格納領域35には、宛先
情報fA が格納されることになる。
媒体上の宛先情報fA を先頭のアドレスとして格納さ
れ、ファイル管理テーブル31Bが記憶媒体上の宛先情
報fBを先頭のアドレスとして格納されているものとす
ると、ファイル管理テーブル31Aのヘッダ情報記憶領
域32におけるファイル管理テーブル宛先情報格納領域
35には、宛先情報fB が格納される。また、ファイル
管理テーブル31Bのヘッダ情報記憶領域32における
ファイル管理テーブル宛先情報格納領域35には、宛先
情報fA が格納されることになる。
【0026】図5は、ファイルBの変更を行った場合の
一例を示したものである。図4で説明したファイルBは
ファイルAをコピーしたままのものであり、ファイルA
と内容的に同一である。実際にはこれを修正することに
よって目的とするファイルを作成することになる。図5
に示した例では、ファイルBの第4のデータブロック管
理配列領域334 が変更されて、データブロックB4 と
なっている。記憶媒体41上におけるその宛先情報は、
これに伴って“a4 ”から“b4 ”に変更されている。
また、データブロックA4 は共有関係でなくなったの
で、ファイル管理テーブル31Aの第4のデータブロッ
ク管理配列領域334 のデータブロック共有カウント値
格納領域39のカウント値は“0”となっている。デー
タブロックB4 が新たに作成されたものであれば、これ
はこの時点で他のファイルと共有関係にないので、ファ
イル管理テーブル31Bの第4のデータブロック管理配
列領域334 のデータブロック共有カウント値格納領域
39のカウント値は同様に“0”となる。また、これら
の変更に伴ってそれぞれのファイル管理テーブル31
A、31Bのヘッダ情報記憶領域32における共有デー
タブロックカウント値格納領域36の値は“4”とな
る。
一例を示したものである。図4で説明したファイルBは
ファイルAをコピーしたままのものであり、ファイルA
と内容的に同一である。実際にはこれを修正することに
よって目的とするファイルを作成することになる。図5
に示した例では、ファイルBの第4のデータブロック管
理配列領域334 が変更されて、データブロックB4 と
なっている。記憶媒体41上におけるその宛先情報は、
これに伴って“a4 ”から“b4 ”に変更されている。
また、データブロックA4 は共有関係でなくなったの
で、ファイル管理テーブル31Aの第4のデータブロッ
ク管理配列領域334 のデータブロック共有カウント値
格納領域39のカウント値は“0”となっている。デー
タブロックB4 が新たに作成されたものであれば、これ
はこの時点で他のファイルと共有関係にないので、ファ
イル管理テーブル31Bの第4のデータブロック管理配
列領域334 のデータブロック共有カウント値格納領域
39のカウント値は同様に“0”となる。また、これら
の変更に伴ってそれぞれのファイル管理テーブル31
A、31Bのヘッダ情報記憶領域32における共有デー
タブロックカウント値格納領域36の値は“4”とな
る。
【0027】図6は、図5で説明したようにファイルA
とファイルBが存在する状況の下でファイルAを削除し
た際のファイルBについてのファイル管理テーブルとデ
ータブロックの関係を表わしたものである。ファイルB
の各データブロック管理配列領域330 〜334 のデー
タブロック共有カウント値格納領域39のカウント値は
共有関係がなくなったので、すべて“0”となる。ま
た、ヘッダ情報記憶領域32における共有データブロッ
クカウント値格納領域36の値は“4”から“0”にな
る。これは、他のファイルとデータブロックが共有しな
いことを示すものである。ファイル管理テーブル宛先情
報格納領域35も、データブロックを共有する他のファ
イル管理テーブル31が存在しなくなるので、“0”に
変更されることになる。
とファイルBが存在する状況の下でファイルAを削除し
た際のファイルBについてのファイル管理テーブルとデ
ータブロックの関係を表わしたものである。ファイルB
の各データブロック管理配列領域330 〜334 のデー
タブロック共有カウント値格納領域39のカウント値は
共有関係がなくなったので、すべて“0”となる。ま
た、ヘッダ情報記憶領域32における共有データブロッ
クカウント値格納領域36の値は“4”から“0”にな
る。これは、他のファイルとデータブロックが共有しな
いことを示すものである。ファイル管理テーブル宛先情
報格納領域35も、データブロックを共有する他のファ
イル管理テーブル31が存在しなくなるので、“0”に
変更されることになる。
【0028】図7は、本実施例のファイル管理システム
を実現するコンピュータ等の情報処理装置の要部の構成
を示したものである。この情報処理装置は各種制御を行
うための中枢的な機能を果たすCPU(中央処理装置)
51を搭載している。CPU51は、データバス等のバ
ス52を介して装置内の各部と接続されている。このう
ち作業用メモリ53は、各種制御の際に必要とするデー
タやプログラムを一時的に格納するランダム・アクセス
・メモリである。本実施例のファイルごとのファイル管
理テーブル31も作業中はこの作業用メモリ53に配置
されている。ディスク制御装置54は、磁気ディスク5
5の入出力制御を行う装置である。磁気ディスク55に
は、前記した各種プログラムが格納される他、各種ファ
イルやファイル管理テーブル31が保存されるようにな
っている。
を実現するコンピュータ等の情報処理装置の要部の構成
を示したものである。この情報処理装置は各種制御を行
うための中枢的な機能を果たすCPU(中央処理装置)
51を搭載している。CPU51は、データバス等のバ
ス52を介して装置内の各部と接続されている。このう
ち作業用メモリ53は、各種制御の際に必要とするデー
タやプログラムを一時的に格納するランダム・アクセス
・メモリである。本実施例のファイルごとのファイル管
理テーブル31も作業中はこの作業用メモリ53に配置
されている。ディスク制御装置54は、磁気ディスク5
5の入出力制御を行う装置である。磁気ディスク55に
は、前記した各種プログラムが格納される他、各種ファ
イルやファイル管理テーブル31が保存されるようにな
っている。
【0029】入力回路56はデータの入力を行う回路で
あり、本実施例ではポインティング・デバイスとしての
マウス57を接続したキーボード58がこれに接続され
ている。表示制御回路51はCRT61に視覚的なデー
タを表示するために用いられるものである。CRT61
の他に液晶ディスプレイ等の他のディスプレイを使用し
てもよい。印字制御回路62は、作成したファイル等の
各種データをプリンタ63で印字する際の制御を行う回
路である。通信制御回路64は通信ケーブル65を介し
て他の同様な情報処理装置が作成したファイルを受信し
たり、作成したファイルを送信するための通信制御を行
う。なお、他の装置が作成したファイルは図示しないフ
ロッピーディスクや磁気テープ等の他の入力装置から入
力するようにしてもよい。
あり、本実施例ではポインティング・デバイスとしての
マウス57を接続したキーボード58がこれに接続され
ている。表示制御回路51はCRT61に視覚的なデー
タを表示するために用いられるものである。CRT61
の他に液晶ディスプレイ等の他のディスプレイを使用し
てもよい。印字制御回路62は、作成したファイル等の
各種データをプリンタ63で印字する際の制御を行う回
路である。通信制御回路64は通信ケーブル65を介し
て他の同様な情報処理装置が作成したファイルを受信し
たり、作成したファイルを送信するための通信制御を行
う。なお、他の装置が作成したファイルは図示しないフ
ロッピーディスクや磁気テープ等の他の入力装置から入
力するようにしてもよい。
【0030】図8は、図4に対応するものでファイルの
コピー作業が行われる際の制御内容を表わしたものであ
る。オペレータがファイルを特定してそのコピーを指示
すると(ステップS101;Y)、CPU51はコピー
先のファイル管理テーブルのフォーマットを作成してコ
ピー元の対応するデータブロック管理配列領域33をこ
れにコピーする(ステップS102)。次に、リンクし
ている全ファイル管理テーブル31のデータブロック共
有カウント値格納領域39をそれぞれ“1”だけカウン
トアップする(ステップS103)。すなわち、図4に
示した例ではファイルAが通常ファイルだったので、コ
ピー元とコピー先の各データブロックについてカウント
値の“0”を“1”にカウントアップすると共に、コピ
ー先のデータブロック共有カウント値格納領域39もそ
れぞれ“1”に設定する。これは、2つのファイルがリ
ンクした場合である。
コピー作業が行われる際の制御内容を表わしたものであ
る。オペレータがファイルを特定してそのコピーを指示
すると(ステップS101;Y)、CPU51はコピー
先のファイル管理テーブルのフォーマットを作成してコ
ピー元の対応するデータブロック管理配列領域33をこ
れにコピーする(ステップS102)。次に、リンクし
ている全ファイル管理テーブル31のデータブロック共
有カウント値格納領域39をそれぞれ“1”だけカウン
トアップする(ステップS103)。すなわち、図4に
示した例ではファイルAが通常ファイルだったので、コ
ピー元とコピー先の各データブロックについてカウント
値の“0”を“1”にカウントアップすると共に、コピ
ー先のデータブロック共有カウント値格納領域39もそ
れぞれ“1”に設定する。これは、2つのファイルがリ
ンクした場合である。
【0031】図9は、ファイルAをコピーしてファイル
Bを作成し、このファイルBを更にコピーしてファイル
Cを作成した場合、すなわち3つのファイルがリンクし
た場合を示したものである。ここで、ファイルBからフ
ァイルCをコピーする場合を考えると、リンクしている
全ファイル管理テーブル31のデータブロック共有カウ
ント値格納領域39はそれぞれ“1”だけカウントアッ
プされる(ステップS102)ので、ファイルA、B、
Cの全ファイル管理テーブル31についてデータブロッ
ク共有カウント値格納領域39がそれぞれ“1”だけカ
ウントアップされることになる。図10に示したように
ファイルAからファイルBとファイルCが別々にコピー
されるような場合も、同様にリンクしている前記ファイ
ルA、B、Cのデータブロック共有カウント値格納領域
39がそれぞれ“1”だけカウントアップされることに
なる。なお、図9および図10は3つのファイルがリン
クした場合を示したが、4つ以上のファイルがリンクし
た場合も同様にして処理を行うことができる。
Bを作成し、このファイルBを更にコピーしてファイル
Cを作成した場合、すなわち3つのファイルがリンクし
た場合を示したものである。ここで、ファイルBからフ
ァイルCをコピーする場合を考えると、リンクしている
全ファイル管理テーブル31のデータブロック共有カウ
ント値格納領域39はそれぞれ“1”だけカウントアッ
プされる(ステップS102)ので、ファイルA、B、
Cの全ファイル管理テーブル31についてデータブロッ
ク共有カウント値格納領域39がそれぞれ“1”だけカ
ウントアップされることになる。図10に示したように
ファイルAからファイルBとファイルCが別々にコピー
されるような場合も、同様にリンクしている前記ファイ
ルA、B、Cのデータブロック共有カウント値格納領域
39がそれぞれ“1”だけカウントアップされることに
なる。なお、図9および図10は3つのファイルがリン
クした場合を示したが、4つ以上のファイルがリンクし
た場合も同様にして処理を行うことができる。
【0032】次のステップS104では、それぞれのフ
ァイル管理テーブル31のデータブロック共有カウント
値格納領域39のカウント値が変更されたのに伴って、
これらの共有データブロックカウント値格納領域36の
カウント値がそれぞれのファイル(リンクした全ファイ
ルのファイル管理テーブル31)についてのデータブロ
ック共有カウント値格納領域39のカウント値の合計値
に変更される。
ァイル管理テーブル31のデータブロック共有カウント
値格納領域39のカウント値が変更されたのに伴って、
これらの共有データブロックカウント値格納領域36の
カウント値がそれぞれのファイル(リンクした全ファイ
ルのファイル管理テーブル31)についてのデータブロ
ック共有カウント値格納領域39のカウント値の合計値
に変更される。
【0033】最後のステップS105では、対応するフ
ァイル管理テーブル31のファイル管理テーブル宛先情
報格納領域35に宛先情報を格納する。宛先情報が変更
される場合もある。例えば、図9に示したリンク関係に
ある場合には、ファイルAからファイルBをコピーした
とき、それぞれのファイル管理テーブル31A、31B
のファイル管理テーブル宛先情報格納領域35に格納さ
れる宛先情報は、図4で示した通りとなる。ファイルB
からファイルCがコピーされると、ファイルBのファイ
ル管理テーブル宛先情報格納領域35にはファイルCの
ファイル管理テーブル31Cの宛先情報fC が追加され
る。また、ファイルCのファイル管理テーブル宛先情報
格納領域35には、ファイルBのファイル管理テーブル
31Bの宛先情報fB が格納されることになる。このよ
うに両方向に分岐しているファイルBのファイル管理テ
ーブル宛先情報格納領域35には、それぞれの分岐方向
のファイルのファイル管理テーブル31A、31Bを示
す宛先情報fA 、fC が格納されることになる。3方向
あるいはこれ以上の方向に分岐が行われた場合も同様で
あり、これらの関係が記憶されることになる。
ァイル管理テーブル31のファイル管理テーブル宛先情
報格納領域35に宛先情報を格納する。宛先情報が変更
される場合もある。例えば、図9に示したリンク関係に
ある場合には、ファイルAからファイルBをコピーした
とき、それぞれのファイル管理テーブル31A、31B
のファイル管理テーブル宛先情報格納領域35に格納さ
れる宛先情報は、図4で示した通りとなる。ファイルB
からファイルCがコピーされると、ファイルBのファイ
ル管理テーブル宛先情報格納領域35にはファイルCの
ファイル管理テーブル31Cの宛先情報fC が追加され
る。また、ファイルCのファイル管理テーブル宛先情報
格納領域35には、ファイルBのファイル管理テーブル
31Bの宛先情報fB が格納されることになる。このよ
うに両方向に分岐しているファイルBのファイル管理テ
ーブル宛先情報格納領域35には、それぞれの分岐方向
のファイルのファイル管理テーブル31A、31Bを示
す宛先情報fA 、fC が格納されることになる。3方向
あるいはこれ以上の方向に分岐が行われた場合も同様で
あり、これらの関係が記憶されることになる。
【0034】図10に示した例ではファイルAからファ
イルBがコピーされ、更にファイルAからファイルCが
コピーされている。したがって、ファイルAのファイル
管理テーブル31Aにおけるファイル管理テーブル宛先
情報格納領域35には、それぞれの分岐方向のファイル
のファイル管理テーブル31B、31Cを示す宛先情報
fB 、fC が格納されることになる。このとき、ファイ
ルBおよびファイルCのファイル管理テーブル宛先情報
格納領域35には、共に宛先情報fA が格納されること
になる。
イルBがコピーされ、更にファイルAからファイルCが
コピーされている。したがって、ファイルAのファイル
管理テーブル31Aにおけるファイル管理テーブル宛先
情報格納領域35には、それぞれの分岐方向のファイル
のファイル管理テーブル31B、31Cを示す宛先情報
fB 、fC が格納されることになる。このとき、ファイ
ルBおよびファイルCのファイル管理テーブル宛先情報
格納領域35には、共に宛先情報fA が格納されること
になる。
【0035】図11は、図5に対応するものでファイル
の変更が行われる際の制御内容を表わしたものである。
オペレータがあるファイルのあるデータブロックの変更
を行おうとする場合には(ステップS201;Y)、対
応するデータブロック管理配列領域33にアクセスし
(ステップS202)、そのデータブロック共有カウン
ト値格納領域39のカウント値が“0”であるかどうか
をチェックする(ステップS203)。カウント値が
“0”であれば、そのデータブロックは他のファイルと
共有になっていない。したがって、その内容を変更する
ことは一向に構わない。そこで、データブロック宛先情
報格納領域38に記されたそのデータブロックについて
の宛先情報を得て(ステップS204)、そのデータブ
ロックの内容を所望のものに変更する(ステップS20
5)。この後、CPU51はデータブロックの処理(同
一のデータブロックあるいは他のデータブロック)が終
了したかどうかをチェックし(ステップS206)、終
了していなければステップS202に戻って該当するデ
ータブロックについて同様の処理を行う。処理が終了す
れば(ステップS206;Y)、データブロックの変更
処理についての作業が終了する(エンド)。
の変更が行われる際の制御内容を表わしたものである。
オペレータがあるファイルのあるデータブロックの変更
を行おうとする場合には(ステップS201;Y)、対
応するデータブロック管理配列領域33にアクセスし
(ステップS202)、そのデータブロック共有カウン
ト値格納領域39のカウント値が“0”であるかどうか
をチェックする(ステップS203)。カウント値が
“0”であれば、そのデータブロックは他のファイルと
共有になっていない。したがって、その内容を変更する
ことは一向に構わない。そこで、データブロック宛先情
報格納領域38に記されたそのデータブロックについて
の宛先情報を得て(ステップS204)、そのデータブ
ロックの内容を所望のものに変更する(ステップS20
5)。この後、CPU51はデータブロックの処理(同
一のデータブロックあるいは他のデータブロック)が終
了したかどうかをチェックし(ステップS206)、終
了していなければステップS202に戻って該当するデ
ータブロックについて同様の処理を行う。処理が終了す
れば(ステップS206;Y)、データブロックの変更
処理についての作業が終了する(エンド)。
【0036】ステップS203で該当するデータブロッ
クのデータブロック共有カウント値格納領域39のカウ
ント値が“0”以外であった場合には(N)、そのデー
タブロックの内容を勝手に処理することはできない。そ
こで、データブロックを共有する場合の手順を実行する
ことになる(ステップS207)。これについては次に
説明する。
クのデータブロック共有カウント値格納領域39のカウ
ント値が“0”以外であった場合には(N)、そのデー
タブロックの内容を勝手に処理することはできない。そ
こで、データブロックを共有する場合の手順を実行する
ことになる(ステップS207)。これについては次に
説明する。
【0037】図12は、図11のステップS207で示
したデータブロックを共有する場合の処理を具体的に表
わしたものである。まず、CPU51はデータブロック
宛先情報格納領域38を読み出して処理の対象となるデ
ータブロックについての宛先情報を取得し(ステップS
301)、続いてヘッダ情報記憶領域32におけるファ
イル管理テーブル宛先情報格納領域35からファイル管
理テーブル31の宛先情報を取得する(ステップS30
2)。そして、この宛先情報の示す箇所に格納されてい
るリンク先のファイル管理テーブル31を検索し、該当
するデータブロックのデータブロック共有カウント値格
納領域39のカウント値と、共有データブロックカウン
ト値格納領域36のカウント値をそれぞれ“1”だけ減
算する(ステップS303)。これは、該当するデータ
ブロックの共有関係が無くなるので、相手方のファイル
管理テーブル31について該当する2つのカウント値を
“1”だけ減算するようにしたものである。図5に示し
た例では、図4と対比するとファイル管理テーブル31
Aのヘッダ情報のカウント値と該当するデータブロック
のカウント値がそれぞれ“1”だけ減算される。
したデータブロックを共有する場合の処理を具体的に表
わしたものである。まず、CPU51はデータブロック
宛先情報格納領域38を読み出して処理の対象となるデ
ータブロックについての宛先情報を取得し(ステップS
301)、続いてヘッダ情報記憶領域32におけるファ
イル管理テーブル宛先情報格納領域35からファイル管
理テーブル31の宛先情報を取得する(ステップS30
2)。そして、この宛先情報の示す箇所に格納されてい
るリンク先のファイル管理テーブル31を検索し、該当
するデータブロックのデータブロック共有カウント値格
納領域39のカウント値と、共有データブロックカウン
ト値格納領域36のカウント値をそれぞれ“1”だけ減
算する(ステップS303)。これは、該当するデータ
ブロックの共有関係が無くなるので、相手方のファイル
管理テーブル31について該当する2つのカウント値を
“1”だけ減算するようにしたものである。図5に示し
た例では、図4と対比するとファイル管理テーブル31
Aのヘッダ情報のカウント値と該当するデータブロック
のカウント値がそれぞれ“1”だけ減算される。
【0038】この後、そのデータブロックの内容の変更
あるいは作成を行う(ステップS304)。このデータ
ブロックが前のデータブロックを修正するものであれば
(ステップS305;Y)、前のデータブロックとは別
に記憶媒体41上にデータブロックが獲得される。そし
て、これにその修正された内容が格納される。図5に示
した例ではデータブロックB4 が作成され、ここにその
内容が記憶される。また、該当するファイル管理テーブ
ル31Bの第4のデータブロック管理配列領域334 の
データブロック宛先情報格納領域38にデータブロック
B4 を示す宛先情報を格納すると共に、データブロック
共有カウント値格納領域39のカウント値を“0”に設
定する(ステップS306)。この後、自分のファイル
管理テーブル31Bの共有データブロックカウント値格
納領域36のカウント値を“1”だけ減算する(ステッ
プS307)。これは、ステップS306でデータブロ
ック共有カウント値格納領域39のカウント値を“1”
だけ減算したことによるものである。
あるいは作成を行う(ステップS304)。このデータ
ブロックが前のデータブロックを修正するものであれば
(ステップS305;Y)、前のデータブロックとは別
に記憶媒体41上にデータブロックが獲得される。そし
て、これにその修正された内容が格納される。図5に示
した例ではデータブロックB4 が作成され、ここにその
内容が記憶される。また、該当するファイル管理テーブ
ル31Bの第4のデータブロック管理配列領域334 の
データブロック宛先情報格納領域38にデータブロック
B4 を示す宛先情報を格納すると共に、データブロック
共有カウント値格納領域39のカウント値を“0”に設
定する(ステップS306)。この後、自分のファイル
管理テーブル31Bの共有データブロックカウント値格
納領域36のカウント値を“1”だけ減算する(ステッ
プS307)。これは、ステップS306でデータブロ
ック共有カウント値格納領域39のカウント値を“1”
だけ減算したことによるものである。
【0039】一方、ステップS305でその作成したデ
ータブロックを採用しないことにした場合には(N)、
該当するファイルからそのデータブロックが除外される
ので、対応するデータブロック管理配列領域33をクリ
アすることになる(ステップS308)。図5に示した
例で、作成したデータブロックB4 をファイルBに使用
しない場合には、第4のデータブロック管理配列領域3
34 をクリアすることになる。
ータブロックを採用しないことにした場合には(N)、
該当するファイルからそのデータブロックが除外される
ので、対応するデータブロック管理配列領域33をクリ
アすることになる(ステップS308)。図5に示した
例で、作成したデータブロックB4 をファイルBに使用
しない場合には、第4のデータブロック管理配列領域3
34 をクリアすることになる。
【0040】なお、図12の説明では各ファイル管理テ
ーブル31が3つ以上リンクした場合の説明を省略し
た。このような場合には、各ファイル管理テーブル31
のヘッダ情報記憶領域32におけるファイル管理テーブ
ル宛先情報格納領域35が前記したようにリンク状にセ
ットされている。したがって、これを用いて順にリンク
先にさかのぼり、該当するデータブロック共有カウント
値格納領域39のカウント値を修正すると共に、それら
のヘッダ情報記憶領域32に格納する情報の変更も行う
ことになる。
ーブル31が3つ以上リンクした場合の説明を省略し
た。このような場合には、各ファイル管理テーブル31
のヘッダ情報記憶領域32におけるファイル管理テーブ
ル宛先情報格納領域35が前記したようにリンク状にセ
ットされている。したがって、これを用いて順にリンク
先にさかのぼり、該当するデータブロック共有カウント
値格納領域39のカウント値を修正すると共に、それら
のヘッダ情報記憶領域32に格納する情報の変更も行う
ことになる。
【0041】図13は、ファイルの削除を行う際の処理
の流れを表わしたものである。ファイルを特定してその
削除が指示されたときには(ステップS401;Y)、
そのファイルの共有データブロックカウント値格納領域
36のカウント値が読み出される(ステップS40
2)。これが“0”の場合には、削除するファイルを構
成するすべてのデータブロックが他のファイルに共有さ
れていないことを意味する(ステップS403;Y)。
すなわち、このファイルは通常ファイルである。この場
合にはこれらのデータブロックを記憶媒体41から削除
し(ステップS404)、そのファイルのファイル管理
テーブル31を削除する(ステップS405)ことでそ
のファイルが実質的に削除されることになる。
の流れを表わしたものである。ファイルを特定してその
削除が指示されたときには(ステップS401;Y)、
そのファイルの共有データブロックカウント値格納領域
36のカウント値が読み出される(ステップS40
2)。これが“0”の場合には、削除するファイルを構
成するすべてのデータブロックが他のファイルに共有さ
れていないことを意味する(ステップS403;Y)。
すなわち、このファイルは通常ファイルである。この場
合にはこれらのデータブロックを記憶媒体41から削除
し(ステップS404)、そのファイルのファイル管理
テーブル31を削除する(ステップS405)ことでそ
のファイルが実質的に削除されることになる。
【0042】ステップS402で共有データブロックカ
ウント値格納領域36のカウント値が“0”ではなかっ
た場合には(N)、削除するファイルのファイル管理テ
ーブル31にリンクするすべてのファイル管理テーブル
31から削除するファイルの個々のデータブロックと対
応するカウント値をそれぞれ対応させて減算する処理が
行われる(ステップS406)。そして、ステップS4
04に進んで削除するファイルのデータブロックのうち
そのファイル独自のデータブロックのみの削除が行われ
る。これはデータブロック共有カウント値格納領域39
のカウント値が“0”となっているデータブロックのみ
を記憶媒体41上から開放することによって実現する。
この後、削除するファイルのファイル管理テーブル31
が削除されて処理が終了する(エンド)。
ウント値格納領域36のカウント値が“0”ではなかっ
た場合には(N)、削除するファイルのファイル管理テ
ーブル31にリンクするすべてのファイル管理テーブル
31から削除するファイルの個々のデータブロックと対
応するカウント値をそれぞれ対応させて減算する処理が
行われる(ステップS406)。そして、ステップS4
04に進んで削除するファイルのデータブロックのうち
そのファイル独自のデータブロックのみの削除が行われ
る。これはデータブロック共有カウント値格納領域39
のカウント値が“0”となっているデータブロックのみ
を記憶媒体41上から開放することによって実現する。
この後、削除するファイルのファイル管理テーブル31
が削除されて処理が終了する(エンド)。
【0043】図14は、図13のステップS406で示
したリンクしたファイル管理テーブルの処理内容を一部
具体化したものである。まず、作業用メモリ53(図
7)の所定の領域に格納される変数nが“1”に設定さ
れ(ステップS501)、削除するファイルのファイル
管理テーブル31のファイル管理テーブル宛先情報格納
領域35に記憶されている宛先情報によって示される削
除するファイルと直接リンクしているファイルの1番目
(n=1)のファイル管理テーブル31の内容が読み出
される(ステップS502)。そして、これと削除する
ファイルのファイル管理テーブル31とが照合され、双
方が共通しているデータブロックが存在する場合には、
それらのデータブロック共有カウント値格納領域39の
カウント値がそれぞれ“1”だけ減算され、またこれら
対のファイル管理テーブル31、31の共有データブロ
ックカウント値格納領域36のカウント値が同様に減算
処理される(ステップS503)。
したリンクしたファイル管理テーブルの処理内容を一部
具体化したものである。まず、作業用メモリ53(図
7)の所定の領域に格納される変数nが“1”に設定さ
れ(ステップS501)、削除するファイルのファイル
管理テーブル31のファイル管理テーブル宛先情報格納
領域35に記憶されている宛先情報によって示される削
除するファイルと直接リンクしているファイルの1番目
(n=1)のファイル管理テーブル31の内容が読み出
される(ステップS502)。そして、これと削除する
ファイルのファイル管理テーブル31とが照合され、双
方が共通しているデータブロックが存在する場合には、
それらのデータブロック共有カウント値格納領域39の
カウント値がそれぞれ“1”だけ減算され、またこれら
対のファイル管理テーブル31、31の共有データブロ
ックカウント値格納領域36のカウント値が同様に減算
処理される(ステップS503)。
【0044】この後、変数nが“1”だけカウントアッ
プされ(ステップS504)、次いで削除するファイル
のファイル管理テーブル31の共有データブロックカウ
ント値格納領域36のカウント値が“0”まで減算され
たかが判別される(ステップS505)。これは、ステ
ップS503の処理でこのカウント値が“0”になるよ
うな事態が発生すれば、削除するファイルはこの時点で
他のファイルと共有関係が解消されるので、以後の処理
をする必要がなくなるからである。そこでこのカウント
値が“0”になれば(ステップS505;Y)、処理は
この時点で終了する(エンド)。
プされ(ステップS504)、次いで削除するファイル
のファイル管理テーブル31の共有データブロックカウ
ント値格納領域36のカウント値が“0”まで減算され
たかが判別される(ステップS505)。これは、ステ
ップS503の処理でこのカウント値が“0”になるよ
うな事態が発生すれば、削除するファイルはこの時点で
他のファイルと共有関係が解消されるので、以後の処理
をする必要がなくなるからである。そこでこのカウント
値が“0”になれば(ステップS505;Y)、処理は
この時点で終了する(エンド)。
【0045】これ以外の場合には(ステップS505;
N)、削除するファイルと直接リンクするファイルの全
テーブルの処理が終了したかどうかがチェックされ(ス
テップS506)、更新後のn番目のファイル管理テー
ブルの処理が存在しているときには(N)、ステップS
502に進んで同様の処理が行われる。このようにし
て、削除するファイルと直接リンクするファイルの全テ
ーブルの処理が終了したら(ステップS506;Y)、
これら直接リンクするファイルを介してリンクする他の
ファイル管理テーブルについてもステップS503で説
明したと同様な処理が行われる(ステップS507)。
このようにして、削除するファイルの各データブロック
と同一のデータブロックを共有するすべてのファイル管
理テーブル31の調整が終了したら、図13のステップ
S404およびステップS405の処理が行われて、指
定したファイルの削除が実質的に完了することになる。
N)、削除するファイルと直接リンクするファイルの全
テーブルの処理が終了したかどうかがチェックされ(ス
テップS506)、更新後のn番目のファイル管理テー
ブルの処理が存在しているときには(N)、ステップS
502に進んで同様の処理が行われる。このようにし
て、削除するファイルと直接リンクするファイルの全テ
ーブルの処理が終了したら(ステップS506;Y)、
これら直接リンクするファイルを介してリンクする他の
ファイル管理テーブルについてもステップS503で説
明したと同様な処理が行われる(ステップS507)。
このようにして、削除するファイルの各データブロック
と同一のデータブロックを共有するすべてのファイル管
理テーブル31の調整が終了したら、図13のステップ
S404およびステップS405の処理が行われて、指
定したファイルの削除が実質的に完了することになる。
【0046】なお、以上説明した実施例ではファイルの
各データブロックが例えば512バイトずつの等しいデ
ータ量で構成されることを前提として説明したが、これ
らの整数倍あるいは整数分の1のデータ量となっていて
もよいし、それぞれのデータブロックのデータ量が異な
った値または異なった比となっていてもよいことはもち
ろんである。データブロックのデータ量がファイル管理
テーブル31によって異なるような場合には、例えば図
2に示したその他情報格納領域37にこれに関する情報
を記憶しておけばよい。
各データブロックが例えば512バイトずつの等しいデ
ータ量で構成されることを前提として説明したが、これ
らの整数倍あるいは整数分の1のデータ量となっていて
もよいし、それぞれのデータブロックのデータ量が異な
った値または異なった比となっていてもよいことはもち
ろんである。データブロックのデータ量がファイル管理
テーブル31によって異なるような場合には、例えば図
2に示したその他情報格納領域37にこれに関する情報
を記憶しておけばよい。
【0047】また、実施例ではデータブロックの記憶さ
れる記憶媒体をアドレスが連続した領域のように図で示
しているが、これに限るものではなく、領域が分断され
ていたり、複数の記憶媒体にこれらの記憶領域が跨がっ
ているものであってもよい。ファイル管理テーブルの格
納される領域についても同様である。
れる記憶媒体をアドレスが連続した領域のように図で示
しているが、これに限るものではなく、領域が分断され
ていたり、複数の記憶媒体にこれらの記憶領域が跨がっ
ているものであってもよい。ファイル管理テーブルの格
納される領域についても同様である。
【0048】
【発明の効果】以上説明したように請求項1記載の発明
では、記憶媒体上にファイルを構成するデータ部分とし
てのそれぞれのデータブロックを格納しておき、各ファ
イルごとにファイル管理テーブルを設定するようにして
いる。このようなデータブロック自体には共有関係等を
示す付加情報が存在しないので記憶媒体の有効利用を図
ることができる。また、ファイル管理テーブルにはファ
イルを構成するそれぞれのデータブロックが記憶媒体上
のどこに格納されているかを特定する領域情報と共に、
これらのデータブロックと他のファイルとの共有関係を
表わした共有情報が格納されるようになっている。この
ため、ファイルがコピーされたり、内容の変更が行われ
る際に他のファイルのファイル管理テーブルを変更する
とき、共有情報を用いることで複数のファイルに共有さ
れるデータブロックの操作を円滑に行うことができる。
では、記憶媒体上にファイルを構成するデータ部分とし
てのそれぞれのデータブロックを格納しておき、各ファ
イルごとにファイル管理テーブルを設定するようにして
いる。このようなデータブロック自体には共有関係等を
示す付加情報が存在しないので記憶媒体の有効利用を図
ることができる。また、ファイル管理テーブルにはファ
イルを構成するそれぞれのデータブロックが記憶媒体上
のどこに格納されているかを特定する領域情報と共に、
これらのデータブロックと他のファイルとの共有関係を
表わした共有情報が格納されるようになっている。この
ため、ファイルがコピーされたり、内容の変更が行われ
る際に他のファイルのファイル管理テーブルを変更する
とき、共有情報を用いることで複数のファイルに共有さ
れるデータブロックの操作を円滑に行うことができる。
【0049】また、請求項2記載の発明では、記憶媒体
上にファイルを構成するデータ部分としてのそれぞれの
データブロックを格納しておき、各ファイルごとにファ
イル管理テーブルを設定するようにしている。このよう
なデータブロック自体には共有関係等を示す付加情報が
存在しないので記憶媒体の有効利用を図ることができ
る。また、ファイル管理テーブルにはファイルを構成す
るそれぞれのデータブロックが記憶媒体上のどこに格納
されているかを特定する領域情報と共に、これらのデー
タブロックと他のファイルとの共有の有無および共有さ
れている場合には共有されている他のファイルの数を表
わした共有情報ならびに他のファイルとファイルのコピ
ー関係にあるときはそのファイルとリンクするためのリ
ンク情報とが格納されるようになっている。したがっ
て、ファイルがコピーされたり、内容の変更が行われる
際には、データブロック単位で共有状態をチェックでき
るばかりでなく、ファイル管理テーブル単位でデータブ
ロックに共有関係があるかとかコピー関係にある他のフ
ァイルのファイル管理テーブルが存在するかといったこ
とがファイル管理テーブルを用いて判別できるので、複
数のファイルに共有されるデータブロックの操作を円滑
に行うことができる。
上にファイルを構成するデータ部分としてのそれぞれの
データブロックを格納しておき、各ファイルごとにファ
イル管理テーブルを設定するようにしている。このよう
なデータブロック自体には共有関係等を示す付加情報が
存在しないので記憶媒体の有効利用を図ることができ
る。また、ファイル管理テーブルにはファイルを構成す
るそれぞれのデータブロックが記憶媒体上のどこに格納
されているかを特定する領域情報と共に、これらのデー
タブロックと他のファイルとの共有の有無および共有さ
れている場合には共有されている他のファイルの数を表
わした共有情報ならびに他のファイルとファイルのコピ
ー関係にあるときはそのファイルとリンクするためのリ
ンク情報とが格納されるようになっている。したがっ
て、ファイルがコピーされたり、内容の変更が行われる
際には、データブロック単位で共有状態をチェックでき
るばかりでなく、ファイル管理テーブル単位でデータブ
ロックに共有関係があるかとかコピー関係にある他のフ
ァイルのファイル管理テーブルが存在するかといったこ
とがファイル管理テーブルを用いて判別できるので、複
数のファイルに共有されるデータブロックの操作を円滑
に行うことができる。
【0050】更に請求項3記載の発明では、請求項2記
載の発明と同様の効果を得ることができると共に、ファ
イルの処理内容に応じて、ファイルのコピー時のファイ
ル管理テーブルの内容を変更するためのコピー時ファイ
ル管理テーブル内容変更手段と、データブロックの内容
変更時のファイル管理テーブルの内容を変更するための
データブロック内容変更時ファイル管理テーブル内容変
更手段と、ファイルの削除時のファイル管理テーブルの
処理を行うためのファイル削除時ファイル管理テーブル
処理手段とを備えたので、自己または関連のファイルの
ファイル管理テーブルに示される共有情報やリンク情報
を用いながらファイルの各種操作を円滑に行うことがで
きる。
載の発明と同様の効果を得ることができると共に、ファ
イルの処理内容に応じて、ファイルのコピー時のファイ
ル管理テーブルの内容を変更するためのコピー時ファイ
ル管理テーブル内容変更手段と、データブロックの内容
変更時のファイル管理テーブルの内容を変更するための
データブロック内容変更時ファイル管理テーブル内容変
更手段と、ファイルの削除時のファイル管理テーブルの
処理を行うためのファイル削除時ファイル管理テーブル
処理手段とを備えたので、自己または関連のファイルの
ファイル管理テーブルに示される共有情報やリンク情報
を用いながらファイルの各種操作を円滑に行うことがで
きる。
【0051】例えばデータブロック内容変更時ファイル
管理テーブル内容変更手段は、自己のファイルのファイ
ル管理テーブルに示された共有情報で変更対象としての
データブロックが他のファイルのデータブロックと共有
関係にないことが判別した場合には、他のファイルのフ
ァイル管理テーブルを参照することなく直ちに変更処理
を行うことができる。また、ファイルの削除を行うファ
イル削除時ファイル管理テーブル処理手段は、削除する
ファイルのファイル管理テーブルの共有情報におけるそ
れぞれのデータブロックの共有している数の総数が零で
あるかどうかをチェックし、零である場合にはどのファ
イルのデータブロックとも共有関係にないことが明らか
なので、削除するファイルの全データブロックを記憶媒
体上から開放してそのファイルのファイル管理テーブル
を削除するという簡単な操作でファイルの削除処理を行
うことができる。
管理テーブル内容変更手段は、自己のファイルのファイ
ル管理テーブルに示された共有情報で変更対象としての
データブロックが他のファイルのデータブロックと共有
関係にないことが判別した場合には、他のファイルのフ
ァイル管理テーブルを参照することなく直ちに変更処理
を行うことができる。また、ファイルの削除を行うファ
イル削除時ファイル管理テーブル処理手段は、削除する
ファイルのファイル管理テーブルの共有情報におけるそ
れぞれのデータブロックの共有している数の総数が零で
あるかどうかをチェックし、零である場合にはどのファ
イルのデータブロックとも共有関係にないことが明らか
なので、削除するファイルの全データブロックを記憶媒
体上から開放してそのファイルのファイル管理テーブル
を削除するという簡単な操作でファイルの削除処理を行
うことができる。
【図1】 本実施例のファイル管理システムで通常ファ
イルAについてのファイル管理テーブルと記憶媒体上の
データブロックの関係を表わした説明図である。
イルAについてのファイル管理テーブルと記憶媒体上の
データブロックの関係を表わした説明図である。
【図2】 本実施例のファイル管理テーブルのヘッダ情
報記憶領域の構成を表わした説明図である。
報記憶領域の構成を表わした説明図である。
【図3】 本実施例のファイル管理テーブルのデータブ
ロック管理配列領域のそれぞれの構成を表わした説明図
である。
ロック管理配列領域のそれぞれの構成を表わした説明図
である。
【図4】 本実施例でファイルAをコピーしたファイル
Bについてそのファイル管理テーブルとデータブロック
の関係を表わした説明図である。
Bについてそのファイル管理テーブルとデータブロック
の関係を表わした説明図である。
【図5】 本実施例でコピー後のファイルBの変更を行
った場合の一例を示した説明図である。
った場合の一例を示した説明図である。
【図6】 本実施例でリンクした一方のファイルAを削
除した際のファイルBについてのファイル管理テーブル
とデータブロックの関係を表わした説明図である。
除した際のファイルBについてのファイル管理テーブル
とデータブロックの関係を表わした説明図である。
【図7】 本実施例のファイル管理システムを実現する
コンピュータ等の情報処理装置の要部の構成を示したブ
ロック図である。
コンピュータ等の情報処理装置の要部の構成を示したブ
ロック図である。
【図8】 本実施例でファイルのコピー作業が行われる
際の制御内容を表わした流れ図である。
際の制御内容を表わした流れ図である。
【図9】 ファイルAをコピーしてファイルBを作成
し、このファイルBを更にコピーしてファイルCを作成
した場合を示す説明図である。
し、このファイルBを更にコピーしてファイルCを作成
した場合を示す説明図である。
【図10】 ファイルAをコピーしてファイルBとファ
イルCを別々に作成した場合を示す説明図である。
イルCを別々に作成した場合を示す説明図である。
【図11】 本実施例でファイルの変更が行われる際の
制御内容を表わした流れ図である。
制御内容を表わした流れ図である。
【図12】 図11のステップS207で示したデータ
ブロックを共有する場合の処理を具体的に表わした流れ
図である。
ブロックを共有する場合の処理を具体的に表わした流れ
図である。
【図13】 本実施例でファイルの削除を行う際の処理
の流れを表わした流れ図である。
の流れを表わした流れ図である。
【図14】 図13のステップS406で示したリンク
したファイル管理テーブルの処理内容を一部具体化した
流れ図である。
したファイル管理テーブルの処理内容を一部具体化した
流れ図である。
【図15】 従来提案されたファイル管理システムの1
つを原理的に示したブロック図である。
つを原理的に示したブロック図である。
【図16】 従来提案された他のファイル管理システム
を原理的に示したブロック図である。
を原理的に示したブロック図である。
31…ファイル管理テーブル、32…ヘッダ情報記憶領
域、33…データブロック管理配列領域、35…ファイ
ル管理テーブル宛先情報格納領域、36…共有データブ
ロックカウント値格納領域、38…データブロック宛先
情報格納領域、39…データブロック共有カウント値格
納領域、41…記憶媒体、51…CPU、53…作業用
メモリ、55…磁気ディスク、58…キーボード、59
…マウス、A、B…データブロック
域、33…データブロック管理配列領域、35…ファイ
ル管理テーブル宛先情報格納領域、36…共有データブ
ロックカウント値格納領域、38…データブロック宛先
情報格納領域、39…データブロック共有カウント値格
納領域、41…記憶媒体、51…CPU、53…作業用
メモリ、55…磁気ディスク、58…キーボード、59
…マウス、A、B…データブロック
Claims (3)
- 【請求項1】 ファイルを構成するデータ部分としての
それぞれのデータブロックを格納する記憶媒体と、 各ファイルごとに用意されそれらを構成するデータブロ
ックのそれぞれについて前記記憶媒体上の格納領域を特
定する領域情報とそれらのデータブロックと他のファイ
ルとの共有関係を表わした共有情報とを格納したファイ
ル管理テーブルと、 ファイルの処理に応じてそのファイルのファイル管理テ
ーブルと、そのファイルの処理されるデータブロックと
同一のデータブロックを有するファイルのファイル管理
テーブルの内容を共有関係の変更に伴って変更するファ
イル管理テーブル内容変更手段とを具備することを特徴
とするファイル管理システム。 - 【請求項2】 ファイルを構成するデータ部分としての
それぞれのデータブロックを格納する記憶媒体と、 各ファイルごとに用意されそれらを構成するデータブロ
ックのそれぞれについて前記記憶媒体上の格納領域を特
定する領域情報とそれらのデータブロックと他のファイ
ルとの共有の有無および共有されている場合には共有さ
れている他のファイルの数を表わした共有情報ならびに
他のファイルとファイルのコピー関係にあるときはその
ファイルとリンクするためのリンク情報とを格納したフ
ァイル管理テーブルと、 ファイルの処理に応じてそのファイルのファイル管理テ
ーブルと、前記リンク情報を用いてそのファイルの処理
されるデータブロックと同一のデータブロックを有する
ファイルのファイル管理テーブルの内容を検索し共有関
係の変更に伴ってこれらを変更するファイル管理テーブ
ル内容変更手段とを具備することを特徴とするファイル
管理システム。 - 【請求項3】 ファイルを構成するデータ部分としての
それぞれのデータブロックを格納する記憶媒体と、 各ファイルごとに用意されそれらを構成するデータブロ
ックのそれぞれについて前記記憶媒体上の格納領域を特
定する領域情報とそれらのデータブロックと他のファイ
ルとの共有の有無および共有されている場合には共有さ
れている他のファイルの数および自己のファイルを構成
する各データブロックについての共有している他のファ
イルの数の総数を表わした共有情報ならびに他のファイ
ルとファイルのコピー関係にあるときはそのファイルと
リンクするためのリンク情報とを格納したファイル管理
テーブルと、 ファイルをコピーする際にはそのファイルのファイル管
理テーブルの各データブロックの内容をコピーすると共
にこれらのファイルのファイル管理テーブル間でリンク
情報を設定し、データブロックの共有関係の発生に応じ
てこれらのファイル管理テーブルおよびこれらとリンク
しデータブロックに共有関係が存在するすべてのファイ
ル管理テーブルの前記共有情報を再設定するコピー時フ
ァイル管理テーブル内容変更手段と、 ファイルの内容を変更する際にはそのファイルの内容を
変更するデータブロックが他のファイルと共有関係にあ
るか否かを前記共有情報でチェックし共有関係にない場
合にはそのデータブロックの内容を前記記憶媒体上で変
更するのみで処理を終了し、共有関係にある場合にはこ
の記憶媒体上の他の領域にそのデータブロックの変更後
の内容を新たに格納し自己のファイル管理テーブルのそ
のデータブロックについての格納領域を特定する領域情
報を変更後のデータブロックを特定する情報に変更する
と共に、自己のファイル管理テーブルおよびそのデータ
ブロックと共有関係にあったデータブロックを有する他
のファイル管理テーブルの共有情報を共有関係の解消に
応じて再設定するデータブロック内容変更時ファイル管
理テーブル内容変更手段と、 ファイルの削除を行う際には、削除するファイルのファ
イル管理テーブルの共有情報における前記総数が零であ
るかどうかをチェックし、零である場合には削除するフ
ァイルの全データブロックを前記記憶媒体上から開放し
てそのファイルのファイル管理テーブルを削除し、零で
ない場合には削除するファイルを構成する各データブロ
ックと共有関係にある他のファイルのファイル管理テー
ブルをリンク情報から検索して共有関係の解消および削
除するファイルのファイル管理テーブルとリンクしてい
るファイル管理テーブルのリンク関係の解消に伴って共
有情報およびリンク情報を再設定し、削除するファイル
を構成するデータブロックのうち他のファイルのデータ
ブロックと共有関係にないものを前記記憶媒体上から開
放してそのファイルのファイル管理テーブルを削除する
ファイル削除時ファイル管理テーブル処理手段とを具備
することを特徴とするファイル管理システム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6262132A JPH08123712A (ja) | 1994-10-26 | 1994-10-26 | ファイル管理システム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6262132A JPH08123712A (ja) | 1994-10-26 | 1994-10-26 | ファイル管理システム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH08123712A true JPH08123712A (ja) | 1996-05-17 |
Family
ID=17371504
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6262132A Pending JPH08123712A (ja) | 1994-10-26 | 1994-10-26 | ファイル管理システム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH08123712A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015515034A (ja) * | 2012-04-25 | 2015-05-21 | 株式会社日立製作所 | ファイルストレージシステムとファイルクローニング方法 |
-
1994
- 1994-10-26 JP JP6262132A patent/JPH08123712A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2015515034A (ja) * | 2012-04-25 | 2015-05-21 | 株式会社日立製作所 | ファイルストレージシステムとファイルクローニング方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4250914B2 (ja) | 記憶装置システム | |
| JP3612339B2 (ja) | データ処理方法および装置 | |
| GB2295909A (en) | Managing files shared by users | |
| JPH0594273A (ja) | 情報処理装置 | |
| US5056003A (en) | Distributed data management mechanism | |
| US6708237B1 (en) | Method and apparatus for managing data access and storage of data located on multiple storage devices | |
| US5218713A (en) | Distributed data management mechanism for handling a data stream | |
| JPH0696077A (ja) | データの共有処理システム及びそのデータの処理装置 | |
| JP4548037B2 (ja) | キャッシュメモリの管理方法、ストレージ装置または計算機システム | |
| JPH08123712A (ja) | ファイル管理システム | |
| EP0315111B1 (en) | Data processing device | |
| EP1128274A2 (en) | Distributed memory type parallel computer and write data transfer end confirming method thereof | |
| US5892918A (en) | Block transfer method for use with parallel computer system | |
| JPH04288638A (ja) | コンピュータシステム | |
| JPS62264329A (ja) | 画面テキストエデイタ処理方式 | |
| JP2944496B2 (ja) | 画像データ格納制御装置 | |
| JP2615046B2 (ja) | レコード追加処理方法 | |
| JPH04260141A (ja) | データ共有処理装置 | |
| JP3533113B2 (ja) | 共通資源管理方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体 | |
| JP2735400B2 (ja) | 非同期入出力制御方式 | |
| JPH0619763B2 (ja) | コンピュータシステムにおけるノード間のアクセス方法 | |
| JPH0793199A (ja) | 記憶システム | |
| JPH0432419B2 (ja) | ||
| JPH0212339A (ja) | テーブル管理装置 | |
| JPH0834476B2 (ja) | アドレス管理装置 |