我已经阅读了一些与此相关的问题(在这里),但我仍然有些困惑。
我的理解是,写入系统调用将数据放入缓存缓存
(在那个问题中被称为操作系统缓存)。当缓存缓存
装满时,它会被写入磁盘。
缓冲IO是在此基础上的进一步优化。它使用C RTL缓冲区
进行缓存,当它们装满时,发出write
系统调用将内容移动到缓存缓存
。如果我使用fflush
,则与该特定文件相关的数据也将被发送到C RTL缓冲区
和缓存缓存
中的磁盘。
我的理解正确吗?
我已经阅读了一些与此相关的问题(在这里),但我仍然有些困惑。
我的理解是,写入系统调用将数据放入缓存缓存
(在那个问题中被称为操作系统缓存)。当缓存缓存
装满时,它会被写入磁盘。
缓冲IO是在此基础上的进一步优化。它使用C RTL缓冲区
进行缓存,当它们装满时,发出write
系统调用将内容移动到缓存缓存
。如果我使用fflush
,则与该特定文件相关的数据也将被发送到C RTL缓冲区
和缓存缓存
中的磁盘。
我的理解正确吗?