1. inodeの紹介 inode を理解するには、まずファイル ストレージから始める必要があります。ファイルはハードディスクに保存され、ハードディスクの最小の保存単位は「セクター」と呼ばれます。各セクターには 512 バイト (0.5 KB に相当) が格納されます。オペレーティング システムがハード ディスクを読み取るとき、セクターごとに読み取るのではなく (これは非常に非効率的です)、一度に複数のセクターを連続して読み取ります。つまり、一度に 1 つの「ブロック」を読み取ります。複数のセクターで構成されるこの「ブロック」は、ファイル アクセスの最小単位です。最も一般的な「ブロック」サイズは 4KB です。つまり、8 つの連続したセクターがブロックを形成します。ファイル データは「ブロック」に保存されるため、ファイルの作成者、ファイルの作成日、ファイルのサイズなどのファイルのメタデータを保存する場所も見つける必要があります。ファイルのメタデータを保存するこの領域は inode と呼ばれ、中国語では「インデックス ノード」と翻訳されます。 2. Inodeにコンテンツが含まれている Linux のディレクトリのデータ ブロック内の各項目には、ファイル名とそれに対応する inode が含まれています。 inode には、ファイルの属性と、ファイルの実際の保存場所、つまりデータ ブロック番号が記録されます。各ブロック (共通サイズは 4KB) は、inode を通じてファイルの場所を特定するために使用できます。 inode は Linux にあり、vnode は Unix にあります。基本的に、inode には少なくとも次の情報が含まれています。 (1)ファイルの種類 (2)ファイルのアクセス権 stat コマンドを使用して、ファイルの inode 情報を表示できます。 3. iノードの特性 ディスクをフォーマットすると、inode の数とサイズが固定されます。inode の特性は次のとおりです。 (1)各inodeのサイズは128Bに固定されている。 dumpe2fs コマンドを使用して、ext2/ext3/ext4 ファイル システム情報を表示できます。 $ dumpe2fs -h /dev/sda1 | grep "Inode サイズ" dumpe2fs 1.41.12 (2010 年 5 月 17 日) iノードサイズ: 128 (2)各ファイルは1つのinodeのみを占有する。したがって、ファイル システムが作成できるファイルの数は、i ノードの数に関係します。システムがファイルを読み取るとき、まず inode を見つけて、inode に記録されている権限がユーザーの権限と一致するかどうかを分析する必要があります。それらが一致する場合にのみ、ブロックの内容の読み取りを実際に開始できます。 4. オペレーティングシステムがディスクファイルを読み取るプロセス オペレーティング システムがディスク ファイルを読み取るプロセスは次のとおりです。 (1)指定されたファイルが配置されているディレクトリに従って、ディレクトリのデータ実体を取得し、データ実体内のデータ項目に従って対応するファイルのinodeを見つける。 ディスク ファイルを読み取るシステムの概略図は次のとおりです。 たとえば、/etc/passwd ファイルを読み取る場合、読み取りプロセスは次のようになります。 (1)ルートディレクトリ/のinodeを取得します。マウント ポイント情報から、ルート ディレクトリの inode 番号が 2 であることがわかります。 ll-di / 2 dr-xr-xr-x 19 ルート ルート 4096 2月14日 09:32 / (2)ルートディレクトリのinodeに基づいて、ファイルからinode番号へのマッピングテーブルとして理解できるルートディレクトリのデータ実体ブロックを見つけ、ディレクトリのinode番号などを見つけます。 ll -di /etc 786433 drwxr-xr-x 98 ルート ルート 12288 2月13日 17:18 /etc (3)ディレクトリ等のinode番号に従って、ディレクトリ等のデータ実体ブロックを読み取り、ファイルpasswdのinode番号を見つける。 ll -i /etc/passwd 787795 -rw-r--r-- 1 ルート ルート 1552 1月4日 14:56 /etc/passwd (4)/etc/passwdファイルのinode番号に基づいて、/etc/passwdファイルのデータ実体ブロックを取得し、ファイルの読み取りを完了することができる。 5. inodeの多くの利点 (1)削除できないファイルについては、inodeノードを削除することで削除できます。 上記は Linux インデックス ノード inode の詳細な説明です。Linux インデックス ノード inode の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
この記事では、参考までに、シンプルな広告ウィンドウを実装するためのjsの具体的なコードを紹介します。...
私が現在の仕事の面接を受けたとき、リーダーが真剣にこう言っていたのを覚えています。「今の世の中はイン...
目次序文1. MySQLをアンインストールする2. MySQLをインストールする要約する序文学習中に...
<br />多くの中小企業ではこの問題は発生しません。中小企業はデザイナーをサポートし、...
プロキシを有効にする2つの方法React には、直接使用できるカプセル化された Ajax リクエスト...
1. 目的:コードの保守が容易になり、さまざまなデータの分類が明確になります。 2. store/i...
注: nginxはbrew経由でインストールされますウェブサイトのルートディレクトリ: /opt/h...
目次メモを使うコールバックの使用メモを使う親コンポーネントが再レンダリングされると、そのすべての要素...
1. 問題Docker コンテナのログにより、ホストのディスク領域がいっぱいになりました。 doc...
1. 環境整備各コンテナの IP アドレス: nginx: 172.16.10.10マイSQL: 1...
a タグ疑似クラスの役割: 「:link」: 訪問されていないタグの状態。 「:visited」: ...
なお、この記事では、単に 20.04 ソースに変更する方法を説明するのではなく、20.04 に基づい...
輸入:プロジェクトの要件により、同じコードの一部をコンポーネントにカプセル化し、必要な場所にインポー...
現象Apache Spark 2.x を使用すると、Spark ジョブがすべて完了しているにもかかわ...
dig - DNS ルックアップ ユーティリティドメイン名のアクセス障害が発生した場合、ドメイン名の...