(57)【要約】【課題】所定の条件を満たすファイルを削除する場合に、その削除処理を高速に実行することが可能なファイル削除方法を提供することである。【解決手段】本発明のファイル削除方法は、アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をコンピュータまたはファイル処理装置が実行するファイル削除方法であり、削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するステップと、取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加するステップと、前記削除マーク付加処理の結果を二次記憶中の実データ領域の対応部分に書き込むステップと、削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放するステップを備える。【選択図】図５
2007188130.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をコンピュータまたはファイル処理装置が実行するファイル削除方法において、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に１クラスタ分、取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記削除マーク付加処理ステップが実行された場合に、その一次記憶上のディレクトリエントリの内容を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、を備えることを特徴とするファイル削除方法。
【請求項２】
前記ディレクトリエントリ取得ステップにおいて取得したディレクトリエントリ情報に続きが存在する場合に、前記ディレクトリエントリ取得ステップを再起動して、その後続のディレクトリエントリ情報を１クラスタ分、取得するとともに、
その後続のディレクトリエントリ情報に対して、前記削除マーク付加処理ステップ、解放処理ステップ、ディレクトリエントリ書き込みステップが起動されることを特徴とする請求項１記載のファイル削除方法。
【請求項３】
二次記憶中のＦＡＴに保持されるＦＡＴ情報の項目の所定数を一次記憶上に取得するＦＡＴ情報取得ステップ、をさらに備え、
前記解放処理ステップは、削除マークが付加されたファイルに対応するＦＡＴの各項目について、
前記一次記憶に取得したＦＡＴ情報中に解放すべき項目が含まれている場合に、その一次記憶に取得したＦＡＴ情報中でその項目を解放し、かつ、
取得したＦＡＴ情報中に解放すべき項目が含まれていない場合に、その取得したＦＡＴ情報を二次記憶中のＦＡＴの対応部分に書き込むとともに、前記ＦＡＴ情報取得ステップを再起動して、その解放すべき項目を含むＦＡＴ情報の項目の所定数を一次記憶に取得し、その一次記憶に取得したＦＡＴ情報中でその項目を解放することを特徴とする請求項１記載のファイル削除方法。
【請求項４】
アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をコンピュータまたはファイル処理装置が実行するファイル削除方法において、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
前記削除マーク付加処理ステップの処理結果を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップを備えることを特徴とするファイル削除方法。
【請求項５】
第１のアプリケーションからの所定の条件を満たすファイルへの所定の処理の実施指示を基に、前記所定の処理を行う第２のアプリケーションにオープンしたファイルの情報を出力する処理をコンピュータまたはファイル処理装置が実行するファイル・オープン方法において、
処理対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし処理対象となった場合に、その取得したディレクトリエントリ内のファイルのファイルサイズ、ファイルポインタを一次記憶上に読み込む参照情報読み込みステップと、
読み込まれたファイルサイズ、ファイルポインタに対して、オープン番号を割り当てるオープン番号割り当てステップと、
前記ファイルサイズ、ファイルポインタが割り当てられたオープン番号を一次記憶上のオープンファイルリストに追加するオープン番号追加ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記参照情報読み込みステップ、オープン番号割り当てステップ、オープン番号追加ステップが実行された場合に、そのオープンファイルリストを、前記第２のアプリケーションに出力する処理結果出力ステップを備えることを特徴とするファイル・オープン方法。
【請求項６】
アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をコンピュータまたはファイル処理装置に実行させるファイル削除プログラムにおいて、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に１クラスタ分、取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記削除マーク付加処理ステップが実行された場合に、その一次記憶上のディレクトリエントリの内容を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、を前記コンピュータまたはファイル処理装置に実行させることを特徴とするファイル削除プログラム。
【請求項７】
前記ディレクトリエントリ取得ステップにおいて取得したディレクトリエントリ情報に続きが存在する場合に、前記ディレクトリエントリ取得ステップを再起動して、その後続のディレクトリエントリ情報を１クラスタ分、取得するとともに、
その後続のディレクトリエントリ情報に対して、前記削除マーク付加処理ステップ、解放処理ステップ、ディレクトリエントリ書き込みステップが起動されることを特徴とする請求項６記載のファイル削除プログラム。
【請求項８】
二次記憶中のＦＡＴに保持されるＦＡＴ情報の項目の所定数を一次記憶上に取得するＦＡＴ情報取得ステップ、をさらに備え、
前記解放処理ステップは、削除マークが付加されたファイルに対応するＦＡＴの各項目について、
前記一次記憶に取得したＦＡＴ情報中に解放すべき項目が含まれている場合に、その一次記憶に取得したＦＡＴ情報中でその項目を解放し、かつ、
取得したＦＡＴ情報中に解放すべき項目が含まれていない場合に、その取得したＦＡＴ情報を二次記憶中のＦＡＴの対応部分に書き込むとともに、前記ＦＡＴ情報取得ステップを再起動して、その解放すべき項目を含むＦＡＴ情報の項目の所定数を一次記憶に取得し、その一次記憶に取得したＦＡＴ情報中でその項目を解放することを特徴とする請求項６記載のファイル削除プログラム。
【請求項９】
アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をコンピュータまたはファイル処理装置に実行させるファイル削除プログラムにおいて、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
前記削除マーク付加処理ステップの処理結果を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップを前記コンピュータまたはファイル処理装置に実行させることを特徴とするファイル削除プログラム。
【請求項１０】
第１のアプリケーションからの所定の条件を満たすファイルへの所定の処理の実施指示を基に、前記所定の処理を行う第２のアプリケーションにオープンしたファイルの情報を出力する処理をコンピュータまたはファイル処理装置に実行させるファイル・オープン・プログラムにおいて、
処理対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし処理対象となった場合に、その取得したディレクトリエントリ内のファイルのファイルサイズ、ファイルポインタを一次記憶上に読み込む参照情報読み込みステップと、
読み込まれたファイルサイズ、ファイルポインタに対して、オープン番号を割り当てるオープン番号割り当てステップと、
前記ファイルサイズ、ファイルポインタが割り当てられたオープン番号を一次記憶上のオープンファイルリストに追加するオープン番号追加ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記参照情報読み込みステップ、オープン番号割り当てステップ、オープン番号追加ステップが実行された場合に、そのオープンファイルリストを、前記第２のアプリケーションに出力する処理結果出力ステップを前記コンピュータまたはファイル処理装置に実行させることを特徴とするファイル・オープン・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル削除方法およびファイル・オープン方法に関し、特に、条件を指定して行うファイル削除方法および条件を指定して行うファイル処理（例えば、ファイル・プレビュー処理）の前処理としてのファイル・オープン方法に関する。
【背景技術】
【０００２】
アプリケーションとデバイスドライバの間に設けられるミドルウェアの１つにＦＡＴファイルシステムがある。例えば、非特許文献１には、ＦＡＴファイルシステムにおけるディレクトリエントリの読み込み処理、等の処理が解説されている。また、ＦＡＴファイルシステムの仕様書として、非特許文献２がある。なお、ＦＡＴとは、File Allocation Tablesの略称であり、ＦＡＴファイルシステムとは、MS-DOSやWindows（登録商標）など、Microsoft社製のOSで使用されるファイルシステムである。
【０００３】
例えば、デジタルカメラでは、記憶媒体（二次記憶ともいう）の急激な容量増加に伴い、その記憶媒体上に数万個のオーダーの画像ファイルを保存することが可能になってきた。そして、このことに伴い、その記憶媒体上に存在する特定の条件を持つ画像を読み込みスムーズにプレビューしたり、その記憶媒体上に存在する特定の条件を持つ画像を削除したりする機能がデジタルカメラに必要になってきた。
【非特許文献１】「需要が高まるファイルシステムの実践的研究」、Ｉｎｔｅｒｆａｃｅ、２００１年７月号、ｐｐ５５−１３４
【非特許文献２】「Microsoft Extensible Firmware Initiative FAT32 File System Specification」, Hardware White Paper, Microsoft Corporation
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上述のＦＡＴファイルシステムでは、画像プレビューの前処理として画像ファイルをオープンしたり、ファイル削除処理においてファイルを削除したりする際に、ディレクトリ内部をシーケンシャルに検索して、ファイル位置を特定するため、処理対象となるファイル数が増大すると、そのディレクトリ内の検索時間が飛躍的に増大するという問題がある。
【０００５】
本発明の第１の課題は、所定の条件を満たすファイルを削除する場合に、その削除処理を高速に実行することが可能なファイル削除方法およびファイル削除プログラムを提供することである。
【０００６】
本発明の第２の課題は、所定の条件を満たすファイルに対し、そのファイルをオープンして行う所定の処理を実施する場合に、その所定の処理を高速に実行することが可能なファイル・オープン方法およびファイル・オープン・プログラムを提供することである。
【課題を解決するための手段】
【０００７】
本発明の第１態様のファイル削除方法は、アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をコンピュータが実行するファイル削除方法において、削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に１クラスタ分、取得するディレクトリエントリ取得ステップと、取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップと、前記取得したディレクトリエントリ内のすべてのファイルに対して、前記削除マーク付加処理ステップが実行された場合に、その一次記憶上のディレクトリエントリの内容を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、を備えることを特徴とするファイル削除方法である。
【０００８】
ここで、条件を指定して行うファイル削除処理をアプリケーションとしてではなく、ファイルシステムの１機能単位としたことで、その機能単位の実行中にデバイスドライバを他タスクが使用できなくなる排他制御をその機能単位に対して設定することが可能となるため、その条件を指定して行うファイル削除処理をアプリケーションで実行した場合にその処理中に発生する削除対象のファイルの格納先ディレクトリのディレクトリエントリ情報の検索ループの二重化が回避できる。よって、従来の場合に比較し、ファイル削除処理中の検索処理に要する時間を短縮することが可能となり、その条件を指定して行うファイル削除処理を高速に実行することができる。
【０００９】
また、取得したディレクトリエントリ内のすべてのファイルに対して、前記削除マーク付加処理ステップが実行されたタイミングでしか、二次記憶上へのディレクトリエントリ情報の書き込みは行わないので、その削除対象のファイルの格納先ディレクトリがフラッシュメモリ等のクラスタ単位でデータの読み書きを行う記憶媒体上に存在する場合のように、１ファイル分のエントリ情報も１クラスタ分のエントリ情報も書き込み時間が同じ場合には、それぞれのファイルのエントリ情報に削除マークを付加する毎に二次記憶に書き込む従来の場合に比較し、ファイル削除処理中の二次記憶への削除情報の書き込み時間を短縮することが可能になり、その条件を指定して行うファイル削除処理を高速に実行することができる。
【００１０】
本発明の第２態様のファイル削除方法は、アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をコンピュータが実行するファイル削除方法において、削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、前記削除マーク付加処理ステップの処理結果を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップを備えることを特徴とするファイル削除方法である。
【００１１】
ここで、条件を指定して行うファイル削除処理をアプリケーションとしてではなく、ファイルシステムの１機能単位としたことで、その機能単位の実行中にデバイスドライバを他タスクが使用できなくなる排他制御をその機能単位に対して設定することが可能となるため、その条件を指定して行うファイル削除処理をアプリケーションで実行した場合にその処理中に発生する削除対象のファイルの格納先ディレクトリのディレクトリエントリ情報の検索ループの二重化が回避できる。よって、従来の場合に比較し、ファイル削除処理中の検索処理に要する時間を短縮することが可能となり、その条件を指定して行うファイル削除処理を高速に実行することができる。
【００１２】
本発明の第３態様のファイル・オープン方法は、第１のアプリケーションからの所定の条件を満たすファイルへの所定の処理の実施指示を基に、前記所定の処理を行う第２のアプリケーションにオープンしたファイルの情報を出力する処理をコンピュータが実行するファイル・オープン方法において、処理対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし処理対象となった場合に、その取得したディレクトリエントリ内のファイルのファイルサイズ、ファイルポインタを一次記憶上に読み込む参照情報読み込みステップと、読み込まれたファイルサイズ、ファイルポインタに対して、オープン番号を割り当てるオープン番号割り当てステップと、前記ファイルサイズ、ファイルポインタが割り当てられたオープン番号を一次記憶上のオープンファイルリストに追加するオープン番号追加ステップと、前記取得したディレクトリエントリ内のすべてのファイルに対して、前記参照情報読み込みステップ、オープン番号割り当てステップ、オープン番号追加ステップが実行された場合に、そのオープンファイルリストを、前記第２のアプリケーションに出力する処理結果出力ステップを備えることを特徴とするファイル・オープン方法である。
【００１３】
ここで、条件を指定して行うファイル処理中のその条件を満たすファイルをオープンする処理をアプリケーション中から呼び出す代わりに、ファイルシステムの１機能単位としたことで、その機能単位の実行中にデバイスドライバを他タスクが使用できなくなる排他制御をその機能単位に対して設定することが可能となるため、その条件を指定して行うファイル処理をアプリケーションで実行した場合にその処理中に発生する処理対象のファイルの格納先ディレクトリのディレクトリエントリ情報の検索ループの二重化が回避できる。よって、従来の場合に比較し、ファイル処理中の検索処理に要する時間を短縮することが可能となり、その条件を指定して行うファイル処理を高速に実行することができる。
【００１４】
なお、条件を指定して行うファイル処理とは、その条件を満たすファイルをオープンして行う任意の処理であり、ファイル・プレビュー処理、オープンした条件を満たすファイルへのデータ書き込み処理、オープンした条件を満たすファイルからのデータ読み出し処理、等が考えられる。
【発明の効果】
【００１５】
本発明によれば、所定の条件を満たすファイルを削除する場合に、その削除処理を高速に実行することができる。
また、本発明によれば、所定の条件を満たすファイルをオープンし、そのファイルに所定の処理を実施する場合に、その所定の処理を高速に実行することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態を、図面を参照しながら詳細に説明する。
図１は、本発明の第１実施形態のファイル削除処理部の構成を示すブロック図である。
図１に示すファイル削除処理部はミドルウェアの１つであり、アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力している。
【００１７】
図１において、ファイル削除処理部１０は、削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に１クラスタ分、取得するディレクトリエントリ取得部１１、取得したディレクトリエントリ情報内のデータを検索し、そのディレクトリエントリ中にファイルが存在するか、存在する場合はそのファイルが上記所定の条件を満たすかを判定する検索・条件判定部１３、取得したディレクトリエントリ内のファイルが、上記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを一次記憶上で付加する削除マーク付加処理部１２、削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する各部（ＦＡＴ情報取得部１５、解放処理部１６、ＦＡＴ情報書き込み部１７）、上記取得したディレクトリエントリ内のすべてのファイルに対して、上記削除マーク付加処理ステップが実行された場合に、その一次記憶上のディレクトリエントリの内容を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込み部１４、各部を制御する制御部１８を備える。
【００１８】
上記ＦＡＴ情報取得部１５は、二次記憶中のＦＡＴ（File Allocation Table）に保持されるＦＡＴ情報の所定数の項目を一次記憶に取得する。上記解放処理部１６は、一次記憶のＦＡＴ情報中に解放すべきものとして指定された項目が含まれる場合、その項目を解放する。上記ＦＡＴ情報書き込み部１７は、一次記憶のＦＡＴ情報中に解放すべきものとして指定された項目が含まれていない場合、その一次記憶のＦＡＴ情報を二次記憶のＦＡＴの対応部分に書き込む。
【００１９】
また、ディレクトリエントリ取得部１１によって取得したディレクトリエントリ情報に続きがある場合、制御部１８は、ディレクトリエントリ書き込み部１４によるディレクトリエントリ情報の書き込み処理の実行後に、ディレクトリエントリ取得部１１を再起動して、その後続のディレクトリエントリ情報を保持するクラスタを取得するとともに、その後続のディレクトリエントリに対して、上記検索・条件判定部１３、削除マーク付加処理部１２、ＦＡＴ情報取得部１５、解放処理部１６、ＦＡＴ情報書き込み部１７、ディレクトリエントリ書き込み部１４が起動される。
【００２０】
図２は、本実施形態のファイル削除処理部がインストールされたハードウェア（パソコン、デジタルカメラ、ボイスレコーダ、等）の二次記憶内のディレクトリの構成を示す図である。
【００２１】
図２において、「／」はルートディレクトリを示している。また、「Ｄｉｒ１」は、ハードウェアの二次記憶内の削除対象となるファイルが格納されるディレクトリである。デジタルカメラの場合、撮像して得た複数の画像ファイルに対し、それら画像ファイルのファイル番号の範囲を指定して削除処理を実行することがある。「Ｄｉｒ１」は、例えば、その取り込んだ画像ファイルの格納先のディレクトリである。デジタルカメラのシステムでは、この画像ファイルの格納先ディレクトリを把握している。
【００２２】
また、このディレクトリ（「Ｄｉｒ１」）に３つのファイル（「Ｆｉｌｅ１．ｄａｔ」、「Ｆｉｌｅ２．ｄａｔ」、「Ｆｉｌｅ３．ｄａｔ」）が存在することが図２には示されている。
【００２３】
図３は、図２のファイル情報に対応するファイル情報が格納された二次記憶の実データ領域内のデータ構成を示す図である。
また、図４は、図３の実データ領域に対応する二次記憶内のＦＡＴのデータ構成を示す図である。
【００２４】
例えば、図３の「０ｘ０」で始まるクラスタ（データ処理単位）に、ルートディレクトリのディレクトリエントリ情報が格納されている。この図３の「０ｘ０」で始まるクラスタに対応するＦＡＴの項目を図４で参照すると、その項目のポインタ情報が「Ｅｎｄ」に設定されているので、ルートディレクトリのディレクトリエントリ情報は、図３の「０ｘ０」で始まるクラスタで完結していることが分かる。
【００２５】
また、この図３の「０ｘ０」で始まるクラスタに保持される情報からルートディレクトリにディレクトリ「Ｄｉｒ１」が存在することが分かり、そのディレクトリ「Ｄｉｒ１」のディレクトリエントリ情報が「０ｘ１」で始まるクラスタに格納されていることが分かる。
【００２６】
この図３の「０ｘ１」で始まるクラスタに対応するＦＡＴの項目を図４で参照すると、その項目のポインタ情報が「０ｘ５」に設定されていることから、ディレクトリ「Ｄｉｒ１」のディレクトリエントリ情報は、図３の「０ｘ１」で始まるクラスタだけでは完結せず、図３の「０ｘ５」で始まるクラスタにも格納されていることが分かる。
【００２７】
この図３の「０ｘ５」で始まるクラスタに対応するＦＡＴの項目を図４で参照すると、その項目のポインタ情報が「Ｅｎｄ」に設定されているので、ディレクトリ「Ｄｉｒ１」のディレクトリエントリ情報は、「０ｘ１」で始まるクラスタと「０ｘ５」で始まるクラスタの２つのクラスタで完結していることが分かる。
【００２８】
また、図３の「０ｘ１」および「０ｘ５」で始まるクラスタに保持される情報から、ディレクトリ「Ｄｉｒ１」には、３つのファイル「Ｆｉｌｅ１．ｄａｔ」、「Ｆｉｌｅ２．ｄａｔ」、「Ｆｉｌｅ３．ｄａｔ」が存在すること、「Ｆｉｌｅ１．ｄａｔ」、「Ｆｉｌｅ２．ｄａｔ」、「Ｆｉｌｅ３．ｄａｔ」のデータが、それぞれ「０ｘ２」、「０ｘ４」、「０ｘ６」で始まるクラスタを含む１以上のクラスタに格納されていること、が分かる。
【００２９】
さらに、図３の「０ｘ２」、「０ｘ４」、「０ｘ６」で始まるクラスタに対応するＦＡＴの項目を図４で参照すると、「Ｆｉｌｅ１．ｄａｔ」のデータは、図３の「０ｘ２」で始まるクラスタと「０ｘ３」で始まるクラスタに格納されていること、「Ｆｉｌｅ２．ｄａｔ」のデータは、図３の「０ｘ４」で始まるクラスタに格納されていること、「Ｆｉｌｅ３．ｄａｔ」のデータは、図３の「０ｘ６」で始まるクラスタと「０ｘ７」で始まるクラスタに格納されていること、が分かる。
【００３０】
図５は、ファイル削除処理のフローチャートである。この処理は、図１のファイル削除処理部によって行われる。
ユーザがアプリケーションを介して指定した条件（削除対象のファイルが満たすべき条件）をファイル削除処理部１０が受け付けることで一連の処理が始まる。
【００３１】
なお、この図５のフローチャートでは、削除対象のファイルの格納先のディレクトリはフラッシュメモリ上に存在するものとする。フラッシュメモリでは、周知のように、データの読み書きは規格上、消去ブロック毎に行われる。そこで、ファイルシステムは、実データ領域をクラスタに分割する際に、この消去ブロックに対応させる。したがって、１つのファイルについての情報を変更する場合、そのファイル情報が格納されたディレクトリエントリ情報を有する１クラスタ分のデータが二次記憶から一次記憶に読み出され、そのファイル情報が一次記憶上で変更された後に、その変更後のディレクトリエントリ情報がクラスタ単位で二次記憶に書き込まれる。
【００３２】
削除対象のファイルの格納先のディレクトリがフラッシュメモリ以外の二次記憶上に存在する場合、二次記憶からのデータ読み出しや二次記憶へのデータ書き込みについてクラスタ単位で行わなければならないという上述の制約はなくなる。
【００３３】
まず、ステップＳ１０１で、削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報が、ディレクトリエントリ情報取得部１１によって、二次記憶から一次記憶上に取得される。格納先ディレクトリがフラッシュメモリ上にある場合、このディレクトリエントリ情報の取得はクラスタ単位で行われる。
【００３４】
そして、ステップＳ１０２で、ステップＳ１０１で取得したクラスタが含まれる実データ領域に対応するＦＡＴ情報の所定数の項目が、ＦＡＴ情報取得部１５によって取得される。例えば、ＦＡＴ情報取得部１５は、ステップＳ１０１で取得したクラスタに対応するＦＡＴの項目を含むＦＡＴ情報の所定数の項目を取得する。
【００３５】
そして、ステップＳ１０３で、検索・条件判定部１３によって、ステップＳ１０１で取得したディレクトリエントリ情報中の先頭の検索位置が、ファイル検索位置を示す変数ｐ１に設定される。
【００３６】
ステップＳ１０４では、検索・条件判定部１３によって、取得したディレクトリエントリ情報中のデータが検索され、そのディレクトリエントリ中にファイルが存在するか、存在する場合はそのファイルが上述の削除対象のファイルが満たすべき条件を満たすかが判定される。
【００３７】
ステップＳ１０５では、ステップＳ１０４の検索・条件判定部１３による検索結果を得ている。ディレクトリエントリ情報中の取得した１クラスタ分の情報については検索が終了したが、このディレクトリエントリ情報が後続のクラスタに続きの情報を持つ場合、ファイルが見つかった場合、ディレクトリエントリ情報の末端まで達した場合、の３通りに、この検索結果は分類される。
【００３８】
図６は、一次記憶に読み出された１クラスタ分のディレクトリエントリ情報の一例を示す図である。図６を参照して、検索・条件判定部１３による検索処理をより具体的に説明する。
【００３９】
まず、図中、「Ｆｉｌｅ１」、「Ｆｉｌｅ２」、「＜０ｘｅ５＞Ｆｉｌｅ３」、「Ｆｉｌｅ４」、「＜０ｘｅ５＞Ｆｉｌｅ５」、「０ｘ００」、「Ｆｉｌｅ６」、「０ｘ００」は、それぞれのファイル検索位置に存在する情報であり、これらはいずれもファイル名を示している。「＜０ｘｅ５＞」は、文字コードの「０ｘｅ５」番目に対応し、規格上定められた削除マークである。この削除マークが先頭に付加されているファイル名のファイルは既に削除されている。
【００４０】
検索・条件判定部１３は、現在の検索位置に、この削除マークが既に付加されているファイルが存在した場合、次の検索位置に進む。
また、「＜０ｘ００＞」は、文字コードの「０ｘ００」番目に対応し、規格上定められたディレクトリエントリ情報の末端を示すコードである。検索・条件判定部１３は、現在の検索位置に、このディレクトリエントリ情報の末端を示すコード（「０ｘ００」）が存在した場合に、その現在の検索位置をディレクトリエントリ情報の末端だとみなす。図６に示すように、そのディレクトリ末端を過ぎた場所にファイルを示す情報（「Ｆｉｌｅ６」）が存在しても、そのようなファイルは存在しないものとされる。
【００４１】
なお、取得したクラスタのディレクトリエントリ情報の末端まで、「０ｘ００」が検索位置にない場合、続きのディレクトリエントリ情報が別のクラスタ上に存在する可能性がある。その場合、検索・条件判定部１３は、取得したディレクトリエントリ情報に対応するＦＡＴの項目を参照して後続のディレクトリエントリ情報の有無を判定する。
【００４２】
例えば、図２、図３、図４のデータにおいて、ファイル削除処理を実行する場合、削除対象のファイルの格納先ディレクトリ「Ｄｉｒ１」のディレクトリエントリ情報として、まず、図３の「０ｘ１」で始まるクラスタの情報が取得される。この図３の「０ｘ１」で始まるクラスタに対応するＦＡＴ情報の項目（図４の「０ｘ１」で始まる項目）のポインタ情報は「０ｘ５」に設定されている。この場合、図３の「０ｘ５」で始まるクラスタが「０ｘ１」で始まるクラスタの後続のクラスタであることが分かる。
【００４３】
再び図５のフローチャートの説明に戻る。
ステップＳ１０５で、このディレクトリエントリ情報が後続のクラスタに続きの情報を持つと検索・条件判定部１３によって判定された場合、ステップＳ１０６で、ディレクトリエントリ書き込み部１４が起動され、そのディレクトリエントリ書き込み部１４によって、検索が終了したディレクトリエントリ情報（１クラスタ分の情報）が一次記憶から二次記憶（記憶媒体）上に書き込まれる。
【００４４】
そして、続く、ステップＳ１０７で、後続のディレクトリエントリ情報（１クラスタ分の情報）が、ディレクトリエントリ情報取得部１１によって、二次記憶から一次記憶上に取得され、ステップＳ１０３に戻る。ステップＳ１０３では、その後続のディレクトリエントリ情報中の先頭位置がファイル検索位置を示す変数ｐ１に設定される。
【００４５】
なお、クラスタ単位で読み書きを行う必要がない記憶媒体を二次記憶を用いている場合、ステップＳ１０６の書き込み処理やステップＳ１０７の読み込み処理は、クラスタ単位で行わなくてもよい。
【００４６】
ステップＳ１０５で、ファイルが見つかったと検索・条件判定部１３によって判定された場合、ステップＳ１０８で、その見つかったファイルが削除対象のファイルが満たすべき条件を満たしているかが検索・条件判定部１３によって判定される。
【００４７】
ステップＳ１０８で、その見つかったファイルが削除対象のファイルが満たすべき条件を満たしていないと判定された場合、ステップＳ１０９で、残りファイルリストにそのファイル名を格納し、ステップＳ１０４に戻り、次の検索位置を変数ｐ１に設定して検索を続行する。残りファイルリストとは、削除処理の結果として、対象ディレクトリに残ったファイルのファイル名一覧のリストである。残りファイルリストに格納されるファイル名は、削除対象のファイルが満たすべき条件を満たさなかったファイルのファイル名、その条件を満たし、かつ、そのファイル属性が「Ｒｅａｄ  Ｏｎｌｙ」や「Ｗｒｉｔｅ  Ｐｒｏｔｅｃｔ」であるファイルのファイル名、である。この残りファイルリストを基に、削除処理を実行するアプリケーションは、この残りファイルリストからファイル名を１つずつ取り出して表示部上に表示し、ユーザは、そのファイル名を参照して削除するかどうかをそのアプリケーションに対して指示する。
【００４８】
ステップＳ１０８で、その見つかったファイルが削除対象のファイルが満たすべき条件を満たしていると判定された場合、ステップＳ１１０で、削除マーク付加処理部１２によって、その見つかったファイルのファイル名の先頭位置に削除されたことを示す情報（削除マーク）が付加される。この削除マークの付加処理は一次記憶上で行われる。そして、ステップＳ１１１で、ＦＡＴ情報取得部１５、解放処理部１６、ＦＡＴ情報書き込み部１７によって、削除マークが付加されたファイルに対応する二次記憶中のＦＡＴの項目が解放される。そして、ステップＳ１０４に戻り、次の検索位置が変数ｐ１に設定され検索が続行される。
【００４９】
ステップＳ１０５で、ディレクトリエントリ情報の末端まで達したと検索・条件判定部１３によって判定された場合、ステップＳ１１２で、ディレクトリエントリ書き込み部１４が起動され、そのディレクトリエントリ書き込み部１４によって、現在一次記憶上にあるディレクトリエントリ情報が二次記憶（記憶媒体）上に書き込まれる。また、ステップＳ１１３で、ＦＡＴ情報書き込み部１７が起動され、そのＦＡＴ情報書き込み部１７によって、現在一次記憶上にあるＦＡＴ情報が二次記憶（記憶媒体）上に書き込まれ、一連の処理を終了する。
【００５０】
図７は、図５の削除マークが付加されたファイルのＦＡＴ情報を解放する処理（ステップＳ１１１の処理）をより詳細に説明する図である。
まず、ステップＳ２０１で、削除マーク付加処理部１２から削除マークの付加処理が対象ファイルになされたことを示す情報を制御部１８が受け付けると、制御部１８は、ＦＡＴ情報取得部１５によって一次記憶上に既に取得されているＦＡＴ情報の所定数の項目を検索して、その所定数の項目中に対象ファイルの関連項目があるかを判定する。なお、関連項目とは、次に解放すべき項目である。
【００５１】
対象ファイルのＦＡＴ情報が未解放の状態では、関連項目は対象ファイルのＦＡＴ情報の先頭の項目になる。この先頭の項目については、その対象ファイルのディレクトリエントリ中に記載された情報から関連項目が分かる。対象ファイルのＦＡＴ情報の２番目以降を解放する場合は、１つ前に解放した項目のポインタ情報から関連項目が分かる。
【００５２】
ステップＳ２０１で、対象ファイルの関連項目が一次記憶のＦＡＴ情報中にないと判定された場合、ステップＳ２０２で、制御部１８によって、ＦＡＴ情報書き込み部１７が起動され、そのＦＡＴ情報書き込み部１７によって、現在一次記憶上に存在するＦＡＴ情報が二次記憶の対応箇所に書き込まれる。
【００５３】
そして、ステップＳ２０３で、制御部１８によって、ＦＡＴ情報取得部１５が起動され、そのＦＡＴ情報取得部１５によって、その対象ファイルの関連項目を含むＦＡＴ情報の所定数の項目が取得され、ステップＳ２０４に進む。
【００５４】
ステップＳ２０１で、対象ファイルの関連項目が一次記憶のＦＡＴ情報中にあると判定された場合、または、ステップＳ２０３の処理を経て、ステップＳ２０４の処理が行われる。ステップＳ２０４では、解放処理部１６によって、一次記憶上のＦＡＴ情報の関連項目が解放される。
【００５５】
続く、ステップＳ２０５では、制御部１８によって、対象ファイルの関連項目がまだ存在するかが判定される。この際、ステップＳ２０４で解放した項目のポインタ情報が参照される。このポインタ情報に「Ｅｎｄ」が設定されていた場合、図５のステップＳ１０４に戻る。一方、このポインタ情報に「Ｅｎｄ」以外の意味のあるポインタ値が設定されていた場合、ステップＳ２０１に戻り、その「Ｅｎｄ」以外の意味のあるポインタ値から始まる項目が一次記憶のＦＡＴ情報中にあるかが制御部１８によって判定される。
【００５６】
なお、１つのファイルに対応するＦＡＴ情報がＦＡＴ上の項目に不連続に分散して存在すると、ステップＳ２０２のＦＡＴ情報の二次記憶への書き込みや、ステップＳ２０３のＦＡＴ情報の二次記憶からの読み出しの回数が多くなり、ＦＡＴ情報の解放処理に時間がかかってしまう。実データ領域に対して予めデフラグメンテーション処理を実施することで、実データ領域の個々のファイルデータに対し、実データ領域上の不連続なクラスタに分散して格納されるデータを連続したクラスタに格納するようにすれば、対応するＦＡＴ情報の項目も連続してＦＡＴ上に格納される。このようにすれば、ＦＡＴ情報の二次記憶への読み書きの回数を減らすことができ、ＦＡＴ情報の解放処理にかかる時間を短縮できる。
【００５７】
例えば、図２、図３、図４のデータにおいて、「Ｆｉｌｅ３．ｄａｔ」のファイルが削除対象のファイルであり、ＦＡＴ情報取得部１５がＦＡＴ情報の４項目（図４の各行）を一度に取得する場合を考える。
【００５８】
この場合、ファイル名「Ｆｉｌｅ３．ｄａｔ」に削除マークを付加した後に、その「Ｆｉｌｅ３．ｄａｔ」に対応するＦＡＴ情報の項目（図４の「０ｘ６」と「０ｘ７」で始まる項目）を解放することになる。すなわち、図３の「０ｘ５」で始まるクラスタのディレクトリエントリ情報から、「Ｆｉｌｅ３．ｄａｔ」の最初のＦＡＴ情報の項目は、ＦＡＴ情報の「０ｘ６」で始まる項目であることが分かる。また、そのＦＡＴ情報の「０ｘ６」で始まる項目のポインタ情報を参照することで、次に解放すべきＦＡＴ情報の項目が、ＦＡＴ情報の「０ｘ７」で始まる項目であることが分かる。
【００５９】
さらに、そのＦＡＴ情報の「０ｘ７」で始まる項目のポインタ情報を参照することで、次に解放すべきＦＡＴ情報の項目が存在しないことが分かり、「Ｆｉｌｅ３．ｄａｔ」のファイルのＦＡＴ情報の解放処理が終了する。
【００６０】
図８Ａおよび図８Ｂを参照して、二次記憶からのＦＡＴ情報の取得処理についてさらに説明する。
ここでは、ＦＡＴ情報取得部１５がＦＡＴ情報の１６項目を一度に取得する場合を考える。図８ＡのＦＡＴ情報では、「０ｘ０１」で始まるＦＡＴの項目のポインタ情報が「０ｘ１１」に設定されている。そこで、記憶媒体上のＦＡＴの上半分が一次記憶上に現在取得されている場合、その「０ｘ０１」で始まるＦＡＴの項目の後続の項目は、現在一次記憶上には存在しないことになる。
【００６１】
この場合、図８Ｂに示すように、ＦＡＴ情報書き込み部１７によって、その一次記憶上のＦＡＴ情報が記憶媒体の対応部分に上書きされ、ＦＡＴ情報取得部１５によって、そのＦＡＴの後続の項目を含む、記憶媒体上のＦＡＴの下半分が一次記憶上に取得される。そして、以降のＦＡＴの項目についての解放処理がなされる。
【００６２】
続いて、本発明の第２実施形態のファイル削除処理について説明する。
ミドルウェア（ファイルシステム）は、ファイルについての基本的な処理のみを機能単位として実装すべきである、というのが従来のファイルシステムについての考えである。そして、それら基本的処理（ミドルウェアの機能単位）を繰り返し用いて達成できる処理、それら基本的処理を組み合わせて達成できる処理、等については、アプリケーションからそのミドルウェアの機能単位を呼び出して実現するものとしている。
【００６３】
条件を指定して実行するファイルの削除処理に、この従来の考えを適用することで、第２実施形態のファイル削除処理のフローチャート、すなわち、図９Ａに示すフローチャートが得られる。
【００６４】
図９Ａにおいて、１つのファイルの削除処理（１ファイル分のファイル削除処理）は、ファイルシステムが備える機能単位の１つであり、その１ファイル分のファイル削除処理の機能単位が、指定された条件を満たすファイルの削除処理を実行するアプリケーション（図９Ａの処理を実行するアプリケーション）から呼び出されている。
【００６５】
図９Ｂは、この１ファイル分の削除処理のフローチャートである。また、図９Ａと図９Ｂのフローチャートを合わせると、図１０のフローチャートが得られる。
図１０のフローチャートの処理を以下に説明する。
【００６６】
まず、ステップＳ３０１で、削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報が二次記憶から一次記憶上に取得されるとともに、そのディレクトリエントリ情報が含まれる実データ領域に対応するＦＡＴ情報が取得される。そして、取得したディレクトリエントリ情報中の先頭の検索位置が、ファイル検索位置を示す変数ｐ１に設定される。
【００６７】
ステップＳ３０２では、取得したディレクトリエントリ情報中のデータが検索され、そのディレクトリエントリ中にファイルが存在するか、存在する場合はそのファイルが上述の削除対象のファイルが満たすべき条件を満たすかが判定される。
【００６８】
ステップＳ３０３では、ステップＳ３０２の検索結果を得ている。ファイルが見つかった場合、ディレクトリエントリ情報の末端まで達した場合の２通りに、この検索結果は分類される。
【００６９】
ステップＳ３０３で、ディレクトリエントリ情報の末端まで達したと判定された場合、一連の処理を終了する。
ステップＳ３０３で、ファイルが見つかったと判定された場合、ステップＳ３０４で、その見つかったファイルが削除対象のファイルが満たすべき条件を満たしているかが判定される。
【００７０】
ステップＳ３０４で、その見つかったファイルが削除対象のファイルが満たすべき条件を満たしていないと判定された場合、ステップＳ３０２に戻り、次の検索位置を変数ｐ１に設定して検索を続行する。
【００７１】
ステップＳ３０４で、その見つかったファイルが削除対象のファイルが満たすべき条件を満たしていると判定された場合、ステップＳ３０５に進む。
図１０中、ステップＳ３０５〜ステップＳ３１１は、ミドルウェアの機能単位が実行する処理である。
【００７２】
この図１０のフローチャートには、ステップＳ３０２からステップＳ３１１に至るディレクトリエントリ情報の検索ループが外側に存在する。そして、その検索ループの中に、ステップＳ３０６〜ステップＳ３０８に至るディレクトリエントリ情報の検索ループが存在する。ディレクトリエントリ情報の検索ループがこのように二重になっているのは、一見すると不自然な印象を与える。しかし、ファイルシステムについて知識があれば、このような二重ループを用いる処理が不可避であることが分かる。
【００７３】
すなわち、図１０のステップＳ３０１〜ステップＳ３０４の処理は、アプリケーションが実行する処理であるため、これらの処理を実行している間に、ファイルシステムで不良クラスタの発生が検出され、ファイルの二次記憶（記憶媒体）上の位置が書き換えられる場合がある。
【００７４】
このような場合、ステップＳ３０２で変数ｐ１に設定した検索位置を用いてファイルを削除しようとしても、その検索位置の情報が、その時点での二次記憶上のディレクトリエントリ情報と異なる可能性がある。このような不都合を回避するには、図１０に示すように、ステップＳ３０２からステップＳ３１１に至るディレクトリエントリ情報の検索ループ内に別の検索ループ（ステップＳ３０６〜ステップＳ３０８に至る検索ループ）を設け、その内側の検索ループで、最新のディレクトリエントリ情報に基づく検索を行う必要がある。
【００７５】
なお、ステップＳ３０５〜ステップＳ３１１の処理はミドルウェアの処理であるから、通常、それらステップが実行される間はデバイスドライバに対し排他制御が行われている。すなわち、デバイスドライバは、他タスクからの二次記憶への書き込み要求を受け付けても、ステップＳ３０５〜ステップＳ３１１のステップが実行される間は、その他タスクからの要求に基づく二次記憶への書き込みを行わない。
【００７６】
以下に、ステップＳ３０５〜ステップＳ３１１のステップについて説明する。
まず、ステップＳ３０５で、削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報が二次記憶から一次記憶上に再度取得されるとともに、そのディレクトリエントリ情報が含まれる実データ領域に対応するＦＡＴ情報が取得される。そして、取得したディレクトリエントリ情報中の先頭の検索位置が、ファイル検索位置を示す変数ｐ２に設定される。
【００７７】
ステップＳ３０６では、取得したディレクトリエントリ情報中のデータが検索され、そのディレクトリエントリ中にファイルが存在するか、存在する場合はそのファイルが上述の削除対象のファイルが満たすべき条件を満たすかが判定される。
【００７８】
ステップＳ３０７では、ステップＳ３０６の検索結果を得ている。ファイルが見つかった場合、ディレクトリエントリ情報の末端まで達した場合の２通りに、この検索結果は分類される。
【００７９】
ステップＳ３０７で、ディレクトリエントリ情報の末端まで達したと判定された場合、一連の処理がエラー終了する。
ステップＳ３０７で、ファイルが見つかったと判定された場合、ステップＳ３０８で、その見つかったファイルが削除対象のファイルが満たすべき条件を満たしているかが判定される。
【００８０】
ステップＳ３０８で、その見つかったファイルが削除対象のファイルが満たすべき条件を満たしていないと判定された場合、ステップＳ３０６に戻り、次の検索位置を変数ｐ２に設定して検索を続行する。
【００８１】
ステップＳ３０８で、その見つかったファイルが削除対象のファイルが満たすべき条件を満たしていると判定された場合、ステップＳ３０９で、そのファイルの属性が判定される。すなわち、そのファイルが「Ｒｅａｄ  Ｏｎｌｙ」や「Ｗｒｉｔｅ  Ｐｒｏｔｅｃｔ」の属性を持つと判定された場合、ステップＳ３０６に戻り、次の検索位置を変数ｐ２に設定して検索を続行する。
【００８２】
一方、ステップＳ３０９で、その見つかったファイルが「Ｒｅａｄ  Ｏｎｌｙ」や「Ｗｒｉｔｅ  Ｐｒｏｔｅｃｔ」の属性を持たないと判定された場合、ステップＳ３１０で、その見つかったファイルのファイル名の先頭位置に削除されたことを示す情報（削除マーク）が付加され、二次記憶にその情報が書き込まれる。
【００８３】
また、ステップＳ３１１で、削除マークが付加されたファイルに対応する二次記憶中のＦＡＴの項目が解放される。そして、ステップＳ３０２に戻る。
第２実施形態の条件を指定して行うファイル削除処理と、第１実施形態の条件を指定して行うファイル削除処理とを以下に比較する。
【００８４】
まず、第１実施形態の条件を指定して行うファイル削除処理は、ファイルシステム（ミドルウェア）上の１機能単位である。したがって、その実行中に、デバイスドライバに対して排他制御をかけることが容易に行える。この結果、第１実施形態の処理では、図１０のフローチャートに見られるようなディレクトリエントリ情報の検索ループが二重化することを避けることが可能となり、ファイル削除処理の一部である検索時間の大幅な短縮が第２実施形態に対して可能となる。
【００８５】
なお、この検索時間は、第２実施形態では、検索対象となるディレクトリエントリ内のファイル数の二乗に比例するのに対し、第１実施形態では、ディレクトリエントリ内のファイル数に比例する。
【００８６】
第２実施形態と第１実施形態とのシミュレーション結果が図１１Ａに示されている。
このシミュレーションにおいては、削除対象となるファイル数が２０，０００個に設定されている。第２実施形態では、検索ループのループ回数がファイル数の二乗の２００，０００，０００回、処理時間が３０分である。これに対し、第１実施形態では、検索ループのループ回数が２０，０００回、処理時間が１秒である。すなわち、第１実施形態のファイル削除処理は、第２実施形態のファイル削除処理と比較して、１０，０００倍程度の高速化が、そのファイル削除処理中のファイル検索部分で実現できる。
【００８７】
次に、データの書き込みや読み出しがクラスタ単位で行われることが規格上定められている記憶媒体、例えば、フラッシュメモリに、削除対象となるファイルの格納先ディレクトリが存在する場合を考える。
【００８８】
第１実施形態のファイル削除処理では、一次記憶上に取得したディレクトリエントリ情報（１クラスタ分）について、削除マークの付加処理が完了したタイミング（図５のステップＳ１０６）と、すべてのディレクトリエントリ情報について、削除マークの付加処理が完了したタイミング（図５のステップＳ１１２）とでしか、二次記憶上へのディレクトリエントリ情報の書き込みは行わない。
【００８９】
これに対し、第２実施形態のファイル削除処理では、図１０のステップＳ３０２からステップＳ３１１に至るディレクトリエントリ情報の検索ループ上で、毎回、二次記憶上へのディレクトリエントリ情報の書き込みを実行している（図１０のステップＳ３１０）。
【００９０】
第１実施形態、第２実施形態のいずれも、１クラスタ分のデータが１回の書き込みで記憶媒体に書き込まれることを考慮すると、書き込み回数が少ない分、第１実施形態の方が第２実施形態より削除処理にかかる時間が短縮される。
【００９１】
第２実施形態と第１実施形態とのシミュレーション結果が図１１Ｂに示されている。
このシミュレーションにおいては、削除対象となるファイル数が２０，０００個、１クラスタのサイズは１６Ｋｂｙｔｅに設定されている。また、規格上、ディレクトリエントリ中の１ファイル分の情報の格納スペースは３２ｂｙｔｅに定められている。すなわち、１クラスタ中には、約５００個のファイルのエントリ情報を格納できる。よって、２０，０００個のファイルが削除対象のファイルの格納先ディレクトリにあれば、そのディレクトリのディレクトリエントリ情報は、４０個分のクラスタに格納される。
【００９２】
第２実施形態では、ファイル数と等しい数の削除処理が実行される。すなわち、削除されたことを示す情報の二次記憶への書き込み処理が２０，０００回実行される。この書き込みに要する時間は３分である。これに対し、第１実施形態では、ディレクトリエントリ情報が格納されるクラスタを切り替えるタイミングでしか二次記憶への書き込みを行わないので、その書き込み回数は、ディレクトリエントリ情報を格納するクラスタ数に一致し、４０回となる。すなわち、第１実施形態のファイル削除処理は、第２実施形態のファイル削除処理と比較して、５００倍程度の高速化が、そのファイル削除処理中のファイル情報の二次記憶への反映部分で実現できる。
【００９３】
図１２は、本発明の第３実施形態のファイル・オープン処理部の構成を示すブロック図である。
図１２に示すファイル・オープン処理部はミドルウェアの１つであり、第１のアプリケーションからの所定の条件を満たすファイルのプレビュー指示に対し、そのプレビューの条件を満たすファイルのリストであるオープンファイルリストを第２のアプリケーションに出力している。
【００９４】
図１２において、ファイル・オープン処理部２０は、処理対象（例えば、プレビュー対象）となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得部２１、取得したディレクトリエントリ情報内のデータを検索し、そのディレクトリエントリ中にファイルが存在するか、存在する場合はそのファイルが上記所定の条件を満たすかを判定する検索・条件判定部２２、取得したディレクトリエントリ内のファイルが、上記所定の条件を満たし処理対象となった場合に、その取得したディレクトリエントリ内のファイルのファイルサイズ、ファイルポインタを一次記憶上に読み込む参照情報読み込み部２３、読み込まれたファイルサイズ、ファイルポインタに対して、オープン番号を割り当てるオープン番号割り当て部２４、上記ファイルサイズ、ファイルポインタが割り当てられたオープン番号を一次記憶上のオープンファイルリストに追加するオープン番号追加部２５、上記ディレクトリエントリ取得部２１、検索・条件判定部２２、参照情報読み込み部２３、オープン番号割り当て部２４、オープン番号追加部２５を制御するとともに、上記取得したディレクトリエントリ内のすべてのファイルに対して、上記参照情報読み込みステップ、オープン番号割り当てステップ、オープン番号追加ステップが実行された場合に、例えば、そのオープンファイルリストの先頭を指すポインタ情報を呼び出し元のアプリケーションに出力する制御部２６を備える。なお、第３実施形態では、その呼び出し元のアプリケーションは、生成されたオープンファイルリストを基に、ファイルをオープンし表示部上に表示する処理を行う。
【００９５】
図１３は、ファイル・プレビュー処理のフローチャートである。このファイル・プレビュー処理は、ファイル・プレビュー処理の前処理としてのファイル・オープン処理と、その前処理の結果を基に実行されるファイル・プレビュー処理に分けられる。ファイル・オープン処理は、図１２のファイル・オープン処理部２０によって行われる。また、ファイル・プレビュー処理は、ファイル・オープン処理の結果として出力されたオープンファイルリストを基に、アプリケーションによって実行される。
【００９６】
ユーザがアプリケーションを介して指定した条件（プレビュー対象のファイルが満たすべき条件）をファイル・オープン処理部２０が受け付けることで一連の処理が始まる。
まず、ステップＳ４０１で、プレビュー対象となるファイルの格納先ディレクトリのディレクトリエントリ情報が、ディレクトリエントリ情報取得部２１によって、二次記憶から一次記憶上に取得される。
【００９７】
そして、ステップＳ４０２で、検索・条件判定部２２によって、取得したディレクトリエントリ情報中の先頭の検索位置が、ファイル検索位置を示す変数ｐ１に設定される。
ステップＳ４０３では、検索・条件判定部２２によって、取得したディレクトリエントリ情報中のデータが検索され、そのディレクトリエントリ中にファイルが存在するか、存在する場合はそのファイルが上述の削除対象のファイルが満たすべき条件を満たすかが判定される。
【００９８】
ステップＳ４０４では、ステップＳ４０３の検索・条件判定部２２による検索結果を得ている。取得したディレクトリエントリ情報だけでは、対象とするディレクトリのディレクトリエントリ情報が完結せず、ディレクトリエントリ情報に続きがある場合、ファイルが見つかった場合、ディレクトリエントリ情報の末端まで達した場合、の３通りに、この検索結果は分類される。
【００９９】
ステップＳ４０４で、ディレクトリエントリ情報に続きがあると検索・条件判定部２２によって判定された場合、ステップＳ４０５で、ディレクトリエントリ取得部２１によって、後続のディレクトリエントリ情報が、二次記憶から一次記憶上に上書きされ、ステップＳ４０２に戻る。ステップＳ４０２では、その後続のディレクトリエントリ情報中の先頭の検索位置がファイル検索位置を示す変数ｐ１に設定される。
【０１００】
ステップＳ４０４で、ファイルが見つかったと検索・条件判定部２２によって判定された場合、ステップＳ４０６で、その見つかったファイルがプレビュー対象のファイルが満たすべき条件を満たしているかが検索・条件判定部２２によって判定される。
【０１０１】
ステップＳ４０６で、その見つかったファイルがプレビュー対象のファイルが満たすべき条件を満たしていないと判定された場合、ステップＳ４０３に戻り、次の検索位置を変数ｐ１に設定して検索を続行する。
【０１０２】
ステップＳ４０６で、その見つかったファイルがプレビュー対象のファイルが満たすべき条件を満たしていると判定された場合、ステップＳ４０７で、参照情報読み込み部２３によって、その見つかったファイルのファイルサイズ、ファイルポインタが一次記憶上に読み込まれる。ここで、ファイルポインタとは、ファイルについての各種情報が設定される構造体である。この構造体には、ファイルのオープン時の読み出し位置、そのファイルのデータが格納された実データ領域中の位置、等の情報が設定される。
【０１０３】
そして、ステップＳ４０８で、オープン番号割り当て部２４によって、読み込まれたファイルサイズ、ファイルポインタに対して、オープン番号が割り当てられるとともに、オープン番号追加部２５によって、そのファイルサイズ、ファイルポインタが割り当てられたオープン番号が一次記憶上のオープンファイルリストに追加される。
【０１０４】
なお、オープン番号には、例えばファイルポインタの先頭を示すポインタ情報が設定されている。そして、ステップＳ４０３に戻り、次の検索位置を変数ｐ１に設定して検索を続行する。
【０１０５】
ステップＳ４０４で、ディレクトリエントリ情報の末端まで達したと検索・条件判定部２２によって判定された場合、ファイルシステム（ミドルウェア）の１機能単位としてのファイル・オープン処理（所定の条件を満たすファイルのオープンファイルリストへの登録処理）が終了する。この際、この機能単位から呼び出し元のアプリケーションに、そのオープンファイルリストのポインタ情報が出力される。
【０１０６】
このポインタ情報（オープンファイルリスト）を受け取ったアプリケーションでは、そのオープンファイルリストを基に、ファイルのプレビュー処理（ステップＳ４０９〜Ｓ４１２の処理）を実行する。
【０１０７】
まず、ステップＳ４０９で、検索位置がオープンファイルリストの先頭の位置に設定され、その検索位置にオープン番号が存在するかが判定される。
ステップＳ４０９で、設定された位置にオープン番号がない場合、一連の処理を終了する。ステップＳ４０９で、設定された位置にオープン番号がある場合、ステップＳ４１０で、そのオープン番号をオープンファイルリストから取り出し、変数ｆｎｏに設定する。
【０１０８】
そして、ステップＳ４１１で、その変数ｆｎｏに設定された番号で、記憶媒体からファイルデータを読み出し、ステップＳ４１２で、その読み出したファイルデータを表示部に送ることで、その表示部上にファイルデータ、例えば、画像データを表示する。そして、その後、ステップＳ４０９に戻る。
【０１０９】
ステップＳ４０９では、検索位置がオープンファイルリストの次の位置に設定され、その検索位置にオープン番号が存在するかが判定される。
続いて、本発明の第４実施形態のファイル・プレビュー処理（ファイル・オープン処理）について説明する。
【０１１０】
ミドルウェア（ファイルシステム）は、ファイルについての基本的な処理のみを機能単位として実装すべきである、というのが従来のファイルシステムについての考えである。そして、それら基本的処理（ミドルウェアの機能単位）を繰り返し用いて達成できる処理、それら基本的処理を組み合わせて達成できる処理、等については、アプリケーションからそのミドルウェアの機能単位を呼び出して実現するものとしている。
【０１１１】
条件を指定して実行するファイルのプレビュー処理に、この従来の考えを適用することで、第４実施形態のファイル・プレビュー処理のフローチャート、すなわち、図１４Ａに示すフローチャートが得られる。
【０１１２】
図１４Ａにおいて、１つのファイルのオープン処理（１ファイル分のファイル・オープン処理）は、ファイルシステムが備える機能単位の１つであり、その１ファイル分のファイル・オープン処理の機能単位が、指定された条件を満たすファイルのプレビュー処理を実行するアプリケーション（図１４Ａの処理を実行するアプリケーション）から呼び出されている。
【０１１３】
図１４Ｂは、この１ファイル分のファイル・オープン処理のフローチャートである。また、図１４Ａと図１４Ｂのフローチャートを合わせると、図１５のフローチャートが得られる。
【０１１４】
図１５のフローチャートの処理を以下に説明する。
まず、ステップＳ５０１で、プレビュー対象となるファイルの格納先ディレクトリのディレクトリエントリ情報が二次記憶から一次記憶上に取得される。そして、取得したディレクトリエントリ情報中の先頭の検索位置が、ファイル検索位置を示す変数ｐ１に設定される。
【０１１５】
ステップＳ５０２では、取得したディレクトリエントリ情報中のデータが検索され、そのディレクトリエントリ中にファイルが存在するか、存在する場合はそのファイルが上述のプレビュー対象のファイルが満たすべき条件を満たすかが判定される。
【０１１６】
ステップＳ５０３では、ステップＳ５０２の検索結果を得ている。ファイルが見つかった場合、ディレクトリエントリ情報の末端まで達した場合の２通りに、この検索結果は分類される。
【０１１７】
ステップＳ５０３で、ディレクトリエントリ情報の末端まで達したと判定された場合、一連の処理を終了する。
ステップＳ５０３で、ファイルが見つかったと判定された場合、ステップＳ５０４で、その見つかったファイルがプレビュー対象のファイルが満たすべき条件を満たしているかが判定される。
【０１１８】
ステップＳ５０４で、その見つかったファイルが削除対象のファイルが満たすべき条件を満たしていないと判定された場合、ステップＳ５０２に戻り、次の検索位置を変数ｐ１に設定して検索を続行する。
【０１１９】
ステップＳ５０４で、その見つかったファイルが削除対象のファイルが満たすべき条件を満たしていると判定された場合、ステップＳ５０５に進む。
図１５中、ステップＳ５０５〜ステップＳ５１０は、ミドルウェアの機能単位が実行する処理である。
【０１２０】
この図１５のフローチャートには、ステップＳ５０２からステップＳ５１２に至るディレクトリエントリ情報の検索ループが外側に存在する。そして、その検索ループの中に、ステップＳ５０６〜ステップＳ５０８に至るディレクトリエントリ情報の検索ループが存在する。ディレクトリエントリ情報の検索ループがこのように二重になっているのは、第２実施形態で述べたように、図１５のステップＳ５０１〜ステップＳ５０４の処理の実行中に、ファイルの二次記憶（記憶媒体）上の位置が書き換えられる場合に対処するためである。すなわち、図１５に示すように、ステップＳ５０６〜ステップＳ５０８に至る検索ループにおいて、最新のディレクトリエントリ情報を取得して検索を行うようにすればよい。
【０１２１】
なお、ステップＳ５０５〜ステップＳ５１０の処理はミドルウェアの処理であるから、通常、それらステップが実行される間はデバイスドライバに対し排他制御が行われている。すなわち、デバイスドライバは、他タスクからの二次記憶への書き込み要求を受け付けても、ステップＳ５０５〜ステップＳ５１０のステップが実行される間は、その他タスクからの要求に基づく二次記憶への書き込みを行わない。
【０１２２】
以下に、ステップＳ５０５〜ステップＳ５１０のステップについて説明する。
まず、ステップＳ５０５で、プレビュー対象となるファイルの格納先ディレクトリのディレクトリエントリ情報が二次記憶から一次記憶上に取得される。そして、取得したディレクトリエントリ情報中の先頭の検索位置が、ファイル検索位置を示す変数ｐ２に設定される。
【０１２３】
ステップＳ５０６では、取得したディレクトリエントリ情報中のデータが検索され、そのディレクトリエントリ中にファイルが存在するか、存在する場合はそのファイルが上述のプレビュー対象のファイルが満たすべき条件を満たすかが判定される。
【０１２４】
ステップＳ５０７では、ステップＳ５０６の検索結果を得ている。ファイルが見つかった場合、ディレクトリエントリ情報の末端まで達した場合の２通りに、この検索結果は分類される。
【０１２５】
ステップＳ５０７で、ディレクトリエントリ情報の末端まで達したと判定された場合、一連の処理がエラー終了する。
ステップＳ５０７で、ファイルが見つかったと判定された場合、ステップＳ５０８で、その見つかったファイルがプレビュー対象のファイルが満たすべき条件を満たしているかが判定される。
【０１２６】
ステップＳ５０８で、その見つかったファイルがプレビュー対象のファイルが満たすべき条件を満たしていないと判定された場合、ステップＳ５０６に戻り、次の検索位置を変数ｐ２に設定して検索を続行する。
【０１２７】
ステップＳ５０８で、その見つかったファイルがプレビュー対象のファイルが満たすべき条件を満たしていると判定された場合、ステップＳ５０９で、その見つかったファイルのファイルサイズ、ファイルポインタが一次記憶上に読み込まれる。そして、ステップＳ５１０で、読み込まれたファイルサイズ、ファイルポインタに対して、オープン番号が割り当てられ、呼び出し元のアプリケーションに制御を戻す。
【０１２８】
ファイルシステムの１機能単位（ステップＳ５０５〜Ｓ５１０）から制御を渡されたアプリケーションでは、ステップＳ５１１で、ステップＳ５１０で割り当てたオープン番号を変数ｆｎｏに設定し、その変数ｆｎｏに設定された番号で、記憶媒体からファイルデータを読み出す。そして、ステップＳ５１２で、その読み出したファイルデータを表示部に送ることで、その表示部上にファイルデータ、例えば、画像データを表示する。そして、その後、ステップＳ５０２に戻る。
【０１２９】
ステップＳ５０２では、検索位置が取得したディレクトリエントリ情報の次の位置に設定され、その取得したディレクトリエントリ情報中のデータの検索が実行される。
第４実施形態の条件を指定して行うファイル・プレビュー処理と、第３実施形態の条件を指定して行うファイル・プレビュー処理とを以下に比較する。
【０１３０】
まず、第３実施形態の条件を指定して行うファイル・プレビュー処理中のオープンファイルリスト生成処理（ファイル・オープン処理）は、ファイルシステム（ミドルウェア）上の１機能単位である。したがって、その実行中に、デバイスドライバに対して排他制御をかけることが容易に行える。この結果、第３実施形態の処理では、図１５のフローチャートに見られるようなディレクトリエントリ情報の検索ループが二重化することを避けることが可能となり、ファイル・プレビュー処理の一部である検索時間の大幅な短縮が可能となる。
【０１３１】
なお、この検索時間は、第４実施形態では、検索対象となるディレクトリエントリ内のファイル数の二乗に比例するのに対し、第３実施形態では、ディレクトリエントリ内のファイル数に比例する。よって、第１実施形態と第２実施形態を比較した、図１１のファイル検索時間のシミュレーション結果が第３実施形態と第４実施形態の間でも同様に成立する。
【０１３２】
なお、第３実施形態および第４実施形態は、条件を満たすファイルをオープンして行う任意のファイル処理に適用可能である。このようなファイル処理としては、ファイル・プレビュー処理、オープンした条件を満たすファイルへのデータ書き込み処理、オープンした条件を満たすファイルからのデータ読み出し処理、等が考えられる。
【０１３３】
本発明の各実施形態のファイル削除処理部、オープンしたファイルを用いるファイル処理の前処理部（ファイル・オープン処理部）はソフトウェアとして構成することが可能である。図１６は、本発明の各実施形態をプログラムで実現する場合のハードウェア環境を示す図である。
【０１３４】
図１６では、ハードウェアとして画像情報、音声情報、等の各種情報を扱う装置、または、それら情報のいずれかを扱う装置が想定されている。例えば、デジタルカメラの場合、音声入力装置１０２を備えないこともある。また、ボイスレコーダの場合、画像入力装置１０４を備えないこともある。また、パーソナル・コンピュータ、携帯電話、等は、音声入力装置１０２、画像入力装置１０４の双方を備えることが多い。すなわち、対象とするハードウェアにより図１６の一部のユニットを備えない場合がある。
【０１３５】
図１６において、ハードウェアとしてのコンピュータは、ＣＰＵ９１、ＲＯＭ９２、ＲＡＭ（一次記憶）９３、メディアアクセス装置９５、入力部９９、条件表示部１０１、音声入力装置１０２、画像入力装置１０４、出力装置１０６を備え、それらがバス９７を介して接続されている。
【０１３６】
図１６において、ＣＰＵ９１は、コンピュータ全体を制御する。ファイル削除処理部、ファイル処理の前処理部等のプログラムは、ＲＡＭ９３上で実行される。
入力部９９を介して、ユーザは、本発明のファイル削除処理やファイルをオープンして行う処理に対する条件等を指定する。
【０１３７】
削除やオープンの対象となるファイルが満たすべき条件としては、例えば以下のような条件が指定可能である。
１．ファイル番号（開始番号と終了番号で対象ファイルを指定）
２．拡張子
３．ファイル属性（例えば、読み取り専用か否か）
４．タイムスタンプ（更新日時の開始と終了で対象ファイルを指定）
デジタルカメラで用いられているＤＣＦ規格では、ファイル名を番号とすることが規定されているので、条件１．のようなファイル番号の範囲による対象ファイルの指定が可能となる。なお、ＤＣＦとは、Design rule for Camera File systemの略称であり、ＤＣＦ規格とは、日本電子工業振興協会（JEIDA）が制定した、デジタルカメラ用画像フォーマットである。ユーザは入力部９９を介して行った条件の指定結果を条件表示部１０１で確認することができる。
【０１３８】
音声情報は、音声入力装置１０２を介してコンピュータ内部に取り込まれる。この音声ファイルを再生し、出力装置１０６を介して出力することもできる。画像情報は、画像入力装置１０４を介してコンピュータ内部に取り込まれる。この画像ファイルは出力装置１０６を介して出力することもできる。二次記憶中に格納された画像情報、音声情報、等の各種情報を、メディアアクセス装置９５を介してコンピュータ内部に取り込むこともできる。メディアアクセス装置９５を介して取り込んだ情報を出力装置１０６を介して出力することができる。
【０１３９】
処理対象のファイル情報は二次記憶に格納される。そのファイル情報は、ファイル処理の際に、メディアアクセス装置９５を介してＲＡＭ９３に読み出される。
図１６とは別のハードウェア環境において、本発明の各実施形態のプログラムが実行されてもよい。この別のハードウェア（ファイル処理装置）では、決められた処理のみを実行するプロセッサと、ＲＡＭと、各実施形態のプログラムが格納されたＲＯＭと、処理対象のファイルを特定する条件等を入力する入力部と、二次記憶（記憶媒体）にアクセスする際に用いるメディアアクセス装置がバスに接続されている。処理対象のファイル情報は二次記憶に格納される。そのファイル情報は、ファイル処理の際に、メディアアクセス装置を介してＲＡＭに読み出される。
【０１４０】
図１７は、記憶媒体例を示す図である。
本発明のファイル削除処理、ファイル・オープン処理は、デジタルカメラ、ボイスレコーダ、パーソナル・コンピュータ、携帯電話、等の画像、音声を含む各種情報を扱う装置、または、それら情報のいずれかを扱う装置１１４によって実現することが可能である。この場合、装置１１４の記憶装置１１２から本発明の処理のためのプログラムなどを装置１１４のメモリにロードして実行することも、可搬型記憶媒体１１３から本発明の処理のためのプログラムなどを装置１１４のメモリにロードして実行することも、また、外部記憶装置１１１側からネットワークを介して本発明の処理のためのプログラムなどを装置１１４のメモリにロードして実行することも可能である。
【０１４１】
本発明は下記構成でもよい。
（付記１）  アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をコンピュータが実行するファイル削除方法において、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に１クラスタ分、取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記削除マーク付加処理ステップが実行された場合に、その一次記憶上のディレクトリエントリの内容を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、を備えることを特徴とするファイル削除方法。
（付記２）  前記ディレクトリエントリ取得ステップにおいて取得したディレクトリエントリ情報に続きが存在する場合に、前記ディレクトリエントリ取得ステップを再起動して、その後続のディレクトリエントリ情報を１クラスタ分、取得するとともに、
その後続のディレクトリエントリ情報に対して、前記削除マーク付加処理ステップ、解放処理ステップ、ディレクトリエントリ書き込みステップが起動されることを特徴とする付記１記載のファイル削除方法。
（付記３）  二次記憶中のＦＡＴに保持されるＦＡＴ情報の項目の所定数を一次記憶上に取得するＦＡＴ情報取得ステップ、をさらに備え、
前記解放処理ステップは、削除マークが付加されたファイルに対応するＦＡＴの各項目について、
前記一次記憶に取得したＦＡＴ情報中に解放すべき項目が含まれている場合に、その一次記憶に取得したＦＡＴ情報中でその項目を解放し、かつ、
取得したＦＡＴ情報中に解放すべき項目が含まれていない場合に、その取得したＦＡＴ情報を二次記憶中のＦＡＴの対応部分に書き込むとともに、前記ＦＡＴ情報取得ステップを再起動して、その解放すべき項目を含むＦＡＴ情報の項目の所定数を一次記憶に取得し、その一次記憶に取得したＦＡＴ情報中でその項目を解放することを特徴とする付記１記載のファイル削除方法。
（付記４）  前記コンピュータは、デジタルカメラに内蔵されることを特徴とする付記１記載のファイル削除方法。
（付記５）  アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をファイル処理装置が実行するファイル削除方法において、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に１クラスタ分、取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記削除マーク付加処理ステップが実行された場合に、その一次記憶上のディレクトリエントリの内容を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、を備えることを特徴とするファイル削除方法。
（付記６）  前記ファイル処理装置は、デジタルカメラに内蔵されることを特徴とする付記５記載のファイル削除方法。
（付記７）  アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をコンピュータが実行するファイル削除方法において、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
前記削除マーク付加処理ステップの処理結果を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップを備えることを特徴とするファイル削除方法。
（付記８）  二次記憶中のＦＡＴに保持されるＦＡＴ情報の項目の所定数を一次記憶上に取得するＦＡＴ情報取得ステップ、をさらに備え、
前記解放処理ステップは、削除マークが付加されたファイルに対応するＦＡＴの各項目について、
前記一次記憶に取得したＦＡＴ情報中に解放すべき項目が含まれている場合に、その一次記憶に取得したＦＡＴ情報中でその項目を解放し、かつ、
取得したＦＡＴ情報中に解放すべき項目が含まれていない場合に、その取得したＦＡＴ情報を二次記憶中のＦＡＴの対応部分に書き込むとともに、前記ＦＡＴ情報取得ステップを再起動して、その解放すべき項目を含むＦＡＴ情報の項目の所定数を一次記憶に取得し、その一次記憶に取得したＦＡＴ情報中でその項目を解放することを特徴とする付記７記載のファイル削除方法。
（付記９）  前記コンピュータは、デジタルカメラに内蔵されることを特徴とする付記７記載のファイル削除方法。
（付記１０）  アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をファイル処理装置が実行するファイル削除方法において、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
前記削除マーク付加処理ステップの処理結果を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップを備えることを特徴とするファイル削除方法。
（付記１１）  前記ファイル処理装置は、デジタルカメラに内蔵されることを特徴とする付記１０記載のファイル削除方法。
（付記１２）  第１のアプリケーションからの所定の条件を満たすファイルへの所定の処理の実施指示を基に、前記所定の処理を行う第２のアプリケーションにオープンしたファイルの情報を出力する処理をコンピュータが実行するファイル・オープン方法において、
処理対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし処理対象となった場合に、その取得したディレクトリエントリ内のファイルのファイルサイズ、ファイルポインタを一次記憶上に読み込む参照情報読み込みステップと、
読み込まれたファイルサイズ、ファイルポインタに対して、オープン番号を割り当てるオープン番号割り当てステップと、
前記ファイルサイズ、ファイルポインタが割り当てられたオープン番号を一次記憶上のオープンファイルリストに追加するオープン番号追加ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記参照情報読み込みステップ、オープン番号割り当てステップ、オープン番号追加ステップが実行された場合に、そのオープンファイルリストを、前記第２のアプリケーションに出力する処理結果出力ステップを備えることを特徴とするファイル・オープン方法。
（付記１３）  前記コンピュータは、デジタルカメラに内蔵されることを特徴とする付記１２記載のファイル・オープン方法。
（付記１４）  第１のアプリケーションからの所定の条件を満たすファイルへの所定の処理の実施指示を基に、前記所定の処理を行う第２のアプリケーションにオープンしたファイルの情報を出力する処理をファイル処理装置が実行するファイル・オープン方法において、
処理対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし処理対象となった場合に、その取得したディレクトリエントリ内のファイルのファイルサイズ、ファイルポインタを一次記憶上に読み込む参照情報読み込みステップと、
読み込まれたファイルサイズ、ファイルポインタに対して、オープン番号を割り当てるオープン番号割り当てステップと、
前記ファイルサイズ、ファイルポインタが割り当てられたオープン番号を一次記憶上のオープンファイルリストに追加するオープン番号追加ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記参照情報読み込みステップ、オープン番号割り当てステップ、オープン番号追加ステップが実行された場合に、そのオープンファイルリストを、前記第２のアプリケーションに出力する処理結果出力ステップを備えることを特徴とするファイル・オープン方法。
（付記１５）  前記ファイル処理装置は、デジタルカメラに内蔵されることを特徴とする付記１４記載のファイル・オープン方法。
（付記１６）  アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をコンピュータに実行させるファイル削除プログラムにおいて、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に１クラスタ分、取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記削除マーク付加処理ステップが実行された場合に、その一次記憶上のディレクトリエントリの内容を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、を前記コンピュータに実行させることを特徴とするファイル削除プログラム。
（付記１７）  前記ディレクトリエントリ取得ステップにおいて取得したディレクトリエントリ情報に続きが存在する場合に、前記ディレクトリエントリ取得ステップを再起動して、その後続のディレクトリエントリ情報を１クラスタ分、取得するとともに、
その後続のディレクトリエントリ情報に対して、前記削除マーク付加処理ステップ、解放処理ステップ、ディレクトリエントリ書き込みステップが起動されることを特徴とする付記１６記載のファイル削除プログラム。
（付記１８）  二次記憶中のＦＡＴに保持されるＦＡＴ情報の項目の所定数を一次記憶上に取得するＦＡＴ情報取得ステップ、をさらに備え、
前記解放処理ステップは、削除マークが付加されたファイルに対応するＦＡＴの各項目について、
前記一次記憶に取得したＦＡＴ情報中に解放すべき項目が含まれている場合に、その一次記憶に取得したＦＡＴ情報中でその項目を解放し、かつ、
取得したＦＡＴ情報中に解放すべき項目が含まれていない場合に、その取得したＦＡＴ情報を二次記憶中のＦＡＴの対応部分に書き込むとともに、前記ＦＡＴ情報取得ステップを再起動して、その解放すべき項目を含むＦＡＴ情報の項目の所定数を一次記憶に取得し、その一次記憶に取得したＦＡＴ情報中でその項目を解放することを特徴とする付記１６記載のファイル削除プログラム。
（付記１９）  前記コンピュータは、デジタルカメラに内蔵されることを特徴とする付記１６記載のファイル削除プログラム。
（付記２０）  アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をファイル処理装置に実行させるファイル削除プログラムにおいて、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に１クラスタ分、取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記削除マーク付加処理ステップが実行された場合に、その一次記憶上のディレクトリエントリの内容を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、を前記ファイル処理装置に実行させることを特徴とするファイル削除プログラム。
（付記２１）  前記ファイル処理装置は、デジタルカメラに内蔵されることを特徴とする付記２０記載のファイル削除プログラム。
（付記２２）  アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をコンピュータに実行させるファイル削除プログラムにおいて、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
前記削除マーク付加処理ステップの処理結果を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップを前記コンピュータに実行させることを特徴とするファイル削除プログラム。
（付記２３）  二次記憶中のＦＡＴに保持されるＦＡＴ情報の項目の所定数を一次記憶上に取得するＦＡＴ情報取得ステップ、をさらに備え、
前記解放処理ステップは、削除マークが付加されたファイルに対応するＦＡＴの各項目について、
前記一次記憶に取得したＦＡＴ情報中に解放すべき項目が含まれている場合に、その一次記憶に取得したＦＡＴ情報中でその項目を解放し、かつ、
取得したＦＡＴ情報中に解放すべき項目が含まれていない場合に、その取得したＦＡＴ情報を二次記憶中のＦＡＴの対応部分に書き込むとともに、前記ＦＡＴ情報取得ステップを再起動して、その解放すべき項目を含むＦＡＴ情報の項目の所定数を一次記憶に取得し、その一次記憶に取得したＦＡＴ情報中でその項目を解放することを特徴とする付記２２記載のファイル削除プログラム。
（付記２４）  前記コンピュータは、デジタルカメラに内蔵されることを特徴とする付記２２記載のファイル削除プログラム。
（付記２５）  アプリケーションからの所定の条件を満たすファイルの削除指示に対応する指示をデバイスドライバ側へ出力する処理をファイル処理装置に実行させるファイル削除プログラムにおいて、
削除対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし削除対象となった場合に、その取得したディレクトリエントリ内のファイルに対して削除マークを前記一次記憶上で付加する削除マーク付加処理ステップと、
前記削除マーク付加処理ステップの処理結果を二次記憶中の実データ領域の対応部分に書き込むディレクトリエントリ書き込みステップと、
削除マークが付加されたファイルに対応する二次記憶中のＦＡＴに保持されるＦＡＴ情報を解放する解放処理ステップを前記ファイル処理装置に実行させることを特徴とするファイル削除プログラム。
（付記２６）  前記ファイル処理装置は、デジタルカメラに内蔵されることを特徴とする付記２５記載のファイル削除プログラム。
（付記２７）  第１のアプリケーションからの所定の条件を満たすファイルへの所定の処理の実施指示を基に、前記所定の処理を行う第２のアプリケーションにオープンしたファイルの情報を出力する処理をコンピュータに実行させるファイル・オープン・プログラムにおいて、
処理対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし処理対象となった場合に、その取得したディレクトリエントリ内のファイルのファイルサイズ、ファイルポインタを一次記憶上に読み込む参照情報読み込みステップと、
読み込まれたファイルサイズ、ファイルポインタに対して、オープン番号を割り当てるオープン番号割り当てステップと、
前記ファイルサイズ、ファイルポインタが割り当てられたオープン番号を一次記憶上のオープンファイルリストに追加するオープン番号追加ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記参照情報読み込みステップ、オープン番号割り当てステップ、オープン番号追加ステップが実行された場合に、そのオープンファイルリストを、前記第２のアプリケーションに出力する処理結果出力ステップを前記コンピュータに実行させることを特徴とするファイル・オープン・プログラム。
（付記２８）  前記コンピュータは、デジタルカメラに内蔵されることを特徴とする付記２７記載のファイル・オープン・プログラム。
（付記２９）  第１のアプリケーションからの所定の条件を満たすファイルへの所定の処理の実施指示を基に、前記所定の処理を行う第２のアプリケーションにオープンしたファイルの情報を出力する処理をファイル処理装置に実行させるファイル・オープン・プログラムにおいて、
処理対象となるファイルの格納先ディレクトリのディレクトリエントリ情報を、二次記憶中の実データ領域から一次記憶上に取得するディレクトリエントリ取得ステップと、
取得したディレクトリエントリ内のファイルが、前記所定の条件を満たし処理対象となった場合に、その取得したディレクトリエントリ内のファイルのファイルサイズ、ファイルポインタを一次記憶上に読み込む参照情報読み込みステップと、
読み込まれたファイルサイズ、ファイルポインタに対して、オープン番号を割り当てるオープン番号割り当てステップと、
前記ファイルサイズ、ファイルポインタが割り当てられたオープン番号を一次記憶上のオープンファイルリストに追加するオープン番号追加ステップと、
前記取得したディレクトリエントリ内のすべてのファイルに対して、前記参照情報読み込みステップ、オープン番号割り当てステップ、オープン番号追加ステップが実行された場合に、そのオープンファイルリストを、前記第２のアプリケーションに出力する処理結果出力ステップを前記ファイル処理装置に実行させることを特徴とするファイル・オープン・プログラム。
（付記３０）  前記ファイル処理装置は、デジタルカメラに内蔵されることを特徴とする付記２９記載のファイル・オープン・プログラム。
【図面の簡単な説明】
【０１４２】
【図１】本発明の第１実施形態のファイル削除処理部の構成を示すブロック図である。
【図２】本実施形態のファイル削除処理部がインストールされたハードウェアの二次記憶内のディレクトリの一例である。
【図３】図２のファイル情報に対応するファイル情報が格納された二次記憶の実データ領域内のデータ構成を示す図である。
【図４】図３の実データ領域に対応する二次記憶内のＦＡＴのデータ構成を示す図である。
【図５】本発明の第１実施形態のファイル削除処理のフローチャートである。
【図６】一次記憶に読み出された１クラスタ分のディレクトリエントリ情報の一例を示す図である。
【図７】図５の削除マークが付加されたファイルのＦＡＴ情報を解放する処理をより詳細に説明する図である。
【図８Ａ】二次記憶からのＦＡＴ情報の取得処理を説明する図（その１）である。
【図８Ｂ】二次記憶からのＦＡＴ情報の取得処理を説明する図（その２）である。
【図９Ａ】本発明の第２実施形態のファイル削除処理のフローチャート（その１）である。
【図９Ｂ】ファイルシステムの機能単位が実行する１ファイル分の削除処理のフローチャートである。
【図１０】本発明の第２実施形態のファイル削除処理のフローチャート（その２）である。
【図１１】第１実施形態と第２実施形態のシミュレーション結果を比較した図である。
【図１２】本発明の第３実施形態のファイル・オープン処理部の構成を示すブロック図である。
【図１３】ファイル・プレビュー処理のフローチャートである。
【図１４Ａ】本発明の第４実施形態のファイル・プレビュー処理のフローチャート（その１）である。
【図１４Ｂ】ファイルシステムの機能単位が実行する１ファイル分のファイル・オープン処理のフローチャートである。
【図１５】本発明の第４実施形態のファイル・プレビュー処理のフローチャート（その２）である。
【図１６】本発明の各実施形態をプログラムで実現する場合のハードウェア環境を示す図である。
【図１７】記憶媒体例を示す図である。
【符号の説明】
【０１４３】
１０  ファイル削除処理部
１１  ディレクトリエントリ取得部
１２  削除マーク付加処理部
１３  検索・条件判定部
１５  ＦＡＴ情報取得部
１６  解放処理部
１７  ＦＡＴ情報書き込み部
１８、２６  制御部
２０  ファイル・オープン処理部
２１  ディレクトリエントリ取得部
２２  検索・条件判定部
２３  参照情報読み込み部
２４  オープン番号割り当て部
２５  オープン番号追加部
【図１】
2007188130.tif 000003
【図２】
2007188130.tif 000004
【図３】
2007188130.tif 000005
【図４】
2007188130.tif 000006
【図５】
2007188130.tif 000007
【図６】
2007188130.tif 000008
【図７】
2007188130.tif 000009
【図８Ａ】
2007188130.tif 000010
【図８Ｂ】
2007188130.tif 000011
【図９Ａ】
2007188130.tif 000012
【図９Ｂ】
2007188130.tif 000013
【図１０】
2007188130.tif 000014
【図１１】
2007188130.tif 000015
【図１２】
2007188130.tif 000016
【図１３】
2007188130.tif 000017
【図１４Ａ】
2007188130.tif 000018
【図１４Ｂ】
2007188130.tif 000019
【図１５】
2007188130.tif 000020
【図１６】
2007188130.tif 000021
【図１７】
2007188130.tif 000022