ブロックデバイスとして検出されるコンパクトフラッシュカードがあります/dev/sdb
。 FAT16パーティションがあります。 FAT16ファイルシステムをマウントし、umount
ファイルシステムとファイルシステムに何かを書き込むと、実際のファイル書き込みは次の場所で行われますumount
。
# mount | grep sdb
/dev/sdb1 on /media type vfat (rw)
# time cp image.bin /media/
real 0m0.179s
user 0m0.000s
sys 0m0.104s
# time umount /media
real 0m18.185s
user 0m0.004s
sys 0m0.032s
#
USBフラッシュドライブでも同様の動作を見たことがあります。ファイルがファイルシステムに即座に書き込まれるのか、ファイルシステムの分離中に書き込まれるのかはどのように決定しますか?
ベストアンサー1
ファイル同期がオンになっている場合、またはファイルシステムが同期オプションでマウントされている場合、書き込みはすぐに完了します。
これは通常システム全体のパフォーマンスには悪いため、書き込み呼び出しが返されたときに重要なデータをストレージデバイスにコミットする必要がある場合にのみこれを実行してください。ファイルコピーは重要とは見なされないため、カーネルバッファは内部で書き込み、データを定期的にメディアにフラッシュします。
sync
次のコマンドを使用して、オペレーティングシステムにこれらのすべてのキャッシュをフラッシュするように要求できます。