前言

做存储开发,一定会经常涉及到 IO 相关的操作。而现在的高级编程语言,往往会帮助我们屏蔽 IO 操作的底层细节,虽然这样能降低开发门槛,提升效率,但是却也导致我们对 IO 底层操作实现的理解不够系统和深入。 所以呢,我一直想抽时间来系统整理一下 Linux IO 涉及的系统调用,以及相互之间的区别和联系,以加深对 IO 操作的理解。

IO 操作

fwrite

fwrite 是 c 语言标准库中的文件写入函数,其作用是向指定的文件中写入若干数据。调用 fwrite 实际上是将数据写入到了 c 标准库的 IO Buffer 中。

mmap

mmap 将一个文件或者其它对象映射进内存。文件被映射到多个页上,如果文件的大小不是...