2

スパース ファイルとは何かは知っていますが、 lastlogなどのプログラムが通常のファイルよりもそのようなファイルを好む方法や理由がわかりません。

スパースファイルをループバックファイルシステムに使用してスペースを節約できることは知っていますが、別のレイヤーであるため、プログラムにとっては明らかに効率的ではありません。

私が考えることができる唯一のことは、巨大な多次元配列(行列など)のメモリ効率の良いランダムアクセスにスパースファイルを使用することですが、それが人々がスパースファイルを使用しているものであるかどうかさえわかりません(私はそうではありませんそれが実際に複数のファイルではるかにパフォーマンスが高いかどうかも確認してください)。

4

1 に答える 1

1

この/var/log/lastlogファイルには、各ユーザーの最新のログインに関する情報が uid 別に整理されて含まれています。uid が使用されていない場合、またはそのユーザーがログインしたことがない場合、そのエントリのスパース ファイルにはデータが保存されません。

の uid 番号付けに大きなギャップがある場合/etc/passwd、それに対応して/var/log/lastlogファイルにも大きなギャップが生じます。

この構造によりlastlog、ロックや破損のリスクなしに、複数のプロセスがファイルに同時にアクセス/更新できます。より複雑なファイル構造では、ファイルの更新中に破損を防ぐためにロックが必要になります。また、ログイン シーケンス中のロックはお勧めできません。

于 2014-09-30T00:39:56.520 に答える