3

オペレーティング システムでのファイル サイズの計算方法を知りたいのですが。

私の最善の推測は、OS が何らかの形でファイルのリストとそれらが占有するすべての関連ディスク チャンクを追跡し、単純に (ディスク チャンクの数 * チャンク サイズ) を乗算することです。チャンク内の未使用スペースの場合、null 終了文字が見つかるまで、最後のチャンクのすべてのバイトをループできると思います。

これはOSに依存すると思いますが、全体像を理解しようとしているだけですが、それ以外の場合はUNIXに関連する回答を探しています:)

4

1 に答える 1

1

Linux やその他の Unix ライクなオペレーティング システムでは、名前とデータ コンテンツを除く、ファイルに関するすべての情報がinodeに保存されます。ファイルが作成されると、ファイルシステム内で一意の整数である名前と inode 番号の両方が割り当てられます。

inode 構造には、ファイル モード (権限とファイル タイプを決定する)、所有者 ID、グループ ID、システムおよびユーザー フラグ、サイズ、タイムスタンプ (作成/アクセス/変更時間)、リンク数、デバイス ID (識別のため) が含まれます。ファイルを含むデバイス)、およびファイルの実際の内容を格納するディスク ブロックへのポインター。

于 2013-07-29T11:54:34.227 に答える