1、缓存I/O(标准I/O)。
在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存( page cache )中,也就是说,如果应用程序所需数据在缓存区,直接从缓存区读取,如果不存在,从磁盘读所需数据到缓冲区,再从缓冲区到应用程序
使用缓存I/O的优点:
1)缓存 I/O 使用了操作系统内核缓冲区,在一定程度上分离了应用程序空间和实际的物理
设备。
2)缓存 I/O 可以减少读盘的次数,从而提高性能。
2、直接I/O
数据直接在应用程序地址空间和磁盘之间进行传输,从而使得自缓存应用程序可以省略掉复杂的系统级别的缓存结构。
使用直接I/O的优点:成本开销小,存取结构较简单。