【TLPI读书笔记】 十三、文件I/O缓冲
文件I/O的内核缓冲:缓冲区高速缓存
read()
和write()
系统调用在操作磁盘文件时不会直接发起磁盘访问,而是仅仅在用户空间缓冲区与内核缓冲区高速缓存之间复制数据。
Linux内核对缓冲区高速缓存对大小没有固定上限。内核会分配尽可能多的缓冲区高速缓存页,而仅受限于两个因素:可用的物理内存总量;以及出于其他目的对物理内存的需求。
缓冲区大小对I/O系统调用性能的影响
如果与文件发生大量的数据传输,通过采用大块空间缓冲数据,以及执行更少的系统调用,可以极大地提高I/O性能。