2 つのファイルに基づいて仮想ファイル システム (fat に非常に似ている) を作成しました。
- 最初のファイル - アロケーション テーブル。
ファイルの割り当てに関する情報を保存します(実際にはファイルではありませんが、気にしません)
各レコードの構造は次のとおりです。
- 名前 - 固定サイズ (100 バイト)。最初の 4 バイトは文字列の長さです
- 長さ - 4 バイト、ファイルの全長
- StartCluster - 開始クラスターの 4 バイト ID
- EndCluster - エンド クラスタの 4 バイト ID
各エントリは固定サイズで、メモリ内にハッシュテーブルがあり、各エントリの位置を見つけるのに役立ちます。
- 2 番目のファイル - 仮想ドライブ
クラスターに基づく VD。各クラスタのサイズは 256 バイトに固定されています。最後の 4 バイトは、ファイル チェーン内の次のクラスターへのポインターです。
問題は、すべてのファイルを読み込もうとするときの速度が非常に遅いことです。どうすればパフォーマンスを向上させることができますか? ハード ドライブから高速に読み取るためのヒントはありますか。
例: 大きなブロックごとにファイルを読み取るのは良い考えですか? ファイルの一部でも読み込むと、ファイルは OS によってキャッシュされますよね? そして次回は、HDからではなくメモリからデータを取得しますか?
そのような質問がいくつかありますが、どこで答えを得ることができますか?