これに関連する質問のカップル(here)を読んだことがありますが、まだ混乱があります。書き込みシステムコールはデータを直接ディスクに書き込みますか?
私の理解では、書き込みシステムコールはデータをBuffered Cache
(その質問で言及されているようにOSキャッシュ)に入れています。 Buffered Cache
がいっぱいになると、ディスクに書き込まれます。
バッファードIOは、この上でさらに最適化されています。それはC RTL buffers
にキャッシュされ、満杯になったらwrite
システムコールが発行され、内容をBuffered Cache
に移動します。 fflush
を使用すると、C RTL buffers
に存在する特定のファイルに関連するデータとBuffered Cache
のデータがディスクに送信されます。
私の理解は正しいですか?
ファイルオープンモード、システム固有のファイルハンドル設定... – Mat