当读/写磁盘文件时,read/write是不带缓冲机制的吗?请说明原因。

来源:互联网 发布:淘宝网生产许可证编号 编辑:程序博客网 时间:2024/06/05 11:24

实际是带有缓冲机制的,
1. 如read的时候,大多数的文件系统为改变性能都采用某种预读(read ahead)技术,
当检测到正在进行顺序读取时,系统就试图读入比应用所要求的更多数据.
2. 通常write只是将数据排入队列,而实际的写磁盘操作则可能在以后的某个时刻进行。
而数据库系统则需要使用O_SYNC,这样一来当它从write返回时就知道数据已确实写到磁盘上,
以免在系统异常是产生数据丢失

0 0