/proc/partitionについて説明してください

/proc/partitionについて説明してください

組み込みLinuxデバイスのフラッシュメモリパーティションサイズについて混乱しています。

/ # cat /proc/partitions
major minor  #blocks  name

 240        0      93184 ndda
 240        1      85168 ndda1
 240        2       7000 ndda2
 240        3       1000 ndda3

ndda2とndda3に対応するパーティションのサイズは、それぞれ7000kBと1000kBであることがわかっています。

nddaがndda1 + ndda2 + ndda3のサイズより16kB大きいことがわかります。

それは、93184 - (85168 + 7000 + 1000) = 16

この16kBは何で構成されていますか?これについてもっと学ぶことができる場所はどこですか?

/nand1というディレクトリにndda1をインストールすると、次の結果が表示されます。

/ # df
Filesystem           1k-blocks      Used Available Use% Mounted on
tmpfs                    27044         0     27044   0% /dev/shm
/dev/ndda1               84928     64288     20640  76% /nand1

サイズ(84928kB?)は、/proc/partitionsが報告するよりも240kB小さいです。

繰り返しますが、どのような構造に責任がありますか?

パーティションは次のようにマウントされます。脂肪組織

ベストアンサー1

パーティションは通常2MBの境界で始まり、ファイルシステムブロックを物理ブロック(デバイスによっては16kB、64kB以上である可能性があります)と位置合わせします。ソートされていないブロックは、ファイルシステムブロックを更新するときに2つのデバイスブロックを取得しなければならず、最初のブロックの最後の部分が更新され、2番目のブロックの最初の部分が更新され、両方のブロックが書き換えられなければなりません。意味します。これは、適切にソートされたファイルシステムよりもブロック読み取りが2回多く、ブロック書き込みが1回多くなります。

デバイスの先頭でパーティションテーブル自体を見つけることができます。これが最初のパーティションがブロック0から開始できない理由です。

2番目の質問(ファイルシステムがデバイスより小さい理由):ファイルシステムには管理データ(空きブロックのリストなど)が必要です。これは予約済みスペースなので、直接データの保存には使用できません。

おすすめ記事