1. 输入输出数据的缓冲由内核由 stdio 库完成。有时可能希望组织缓冲,但这需要了解其对应用程序性能的影响。可以使用各种系统调用和库函数来控制内核和 stdio 缓冲,并执行一次性的缓冲区刷新。
  2. 进程使用 posix_fadvise() 函数,可就进程对特定文件可能采取的数据访问模式向内核提出建议。内核可借此来优化对缓冲区高速缓存的应用,进而提高 I/O 性能。
  3. 在 Linux 环境下, open() 所特有的 O_DIRECT 标识允许特定应用跳过缓冲区高速缓存。
  4. 在对同一个文件执行 I/O 操作室, fileno()fdopen() 有助于系统调用和标准 C 语言库函数的混合使用。给定一个流, fileno() 将返回相应的文件描述符, fdopen() 则反其道而行之,针对指定的打开文件描述符创建一个新的流。