ブロックデバイスの書き込みの仕組みを理解しようとしています。私の理解はすべての書き込みがセクターに合わせる必要があります。したがって、セクタサイズが512バイトの場合、すべての書き込みサイズは512バイトです。さて、私はファイルを作成し、それに順番に書き込むことを始めましょう(アプリケーション側ではバッファリングなし)。ここでは、ファイルのオフセット0に16バイトを書き込むことから始めます。これはどのようにしてブロックレベルでの書き込みに変換されますか? 「セクタサイズ」のデータ量を書き込んでからディスクにプッシュするまでバッファリングされていますか? fsyncが呼び出された場合、残りのバイトは埋め込まれてから書き出されますか?理解は正しいのですか、それとも私の方法ですか?ブロックデバイスの書き込み
フォローアップの質問は次のとおりです。ファイルサイズが64Kであるとします。オフセット64で16バイトのランダム書き込みを実行するとします。次に、512バイトの適切なセクタが読み込まれ、16バイトがオフセット64でバッファに書き込まれ、次に512バイトがディスクに書き込まれます。理解は正しいですか?