内存本质就是代码内 所写的一个二进制类型的数组(或者其他类型) Buffered ,数据先写到这里面,然后再根据一些规则,在某个时间段执行 fsync()将这个数组写到 磁盘内去。
为什么需要这个二进制数组?
- 可以减少数据的读写次数,如果每次数据只传输一点数据,就需要传送很多次,这样会浪费很多时间,因为开始读写与终止读写所需要的时间很长,如果将数据送往缓冲区,待缓冲区满后再进行传送会大大减少读写次数,这样就可以节省很多时间。例如:我们想将数据写入到磁盘中,不是立马将数据写到磁盘中,而是先输入缓冲区中,当缓冲区满了以后,再将数据写入到磁盘中,这样就可以减少磁盘的读写次数,不然磁盘很容易坏掉。