3

最下位レベルでは、ほとんどの OS ファイル操作には、開く、閉じる、読み取り、書き込み、削除、シーク、追加操作が含まれますが、先頭に追加操作はありません。

私の同僚が、生成した大規模な (数ギガバイト) データ ログを処理していて、ファイル ヘッダーをログ ファイルに書き込んでいないことに気付いたために、この問題が発生しました。彼はファイルの先頭に 100 バイトを追加するだけで済みましたが、ブロック / セクター ファイル アロケーション テーブル レベルのものを使用せずにそれを行う方法はありませんでした。

前置操作が存在しない、または同様の追加操作よりもコストがかかるという歴史的または技術的な理由はありますか?

4

1 に答える 1

0

私は、次のようなことを説明している単一の研究論文を知っているだけです。1992年の「ストライプ化された並列ファイルシステムでの挿入と削除のサポート」。要約は次のとおりです。

並列コンピューターの処理速度が劇的に向上したことで、多くのコンピューティング バウンド ジョブが IO バウンド ジョブに変わりつつあります。並列ファイル システムは、IO スループットと処理能力をより適切に一致させるために提案されています。多くの並列ファイル システムは、多数のディスクにまたがってファイルをストライピングします。各ディスクには独自のコントローラーがあります。ストライプ化されたファイルは、追加 (または先頭に追加) して、その構造を維持できます。ただし、ファイルの途中でブロックを挿入または削除することはできません。これを行うと、ファイルの通常のストライピング構造が破壊されるためです。この論文では、メッセージ パッシング マルチプロセッサ上のインデックス付きストライプ エクステントにファイルを保持する分散ファイル構造を提示します。このアプローチにより、高度に並列なランダム読み取りとシーケンシャル読み取りが可能になり、ファイルの途中への挿入と削除も可能になります。

詳細については、論文を参照してください。

于 2011-08-16T18:21:20.410 に答える