当前位置:嗨网首页>书籍在线阅读

01-高级文件IO

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

第4章 高级文件I/O

在第2章,我们介绍了Linux下的基本I/O系统调用。这些调用不仅是文件I/O的基础,实际上也是Linux下所有通信的基础。在第3章,我们了解到了在基础I/O系统调用上需要经常采用用户空间缓冲,并探讨了特定的用户空间缓冲解决方案,即C标准I/O库。在本章中,我们将学习Linux提供的高级 I/O 系统调用:

分散/聚集 I/O

允许一次调用同时从多个缓冲区读取数据或者同时写入多个缓冲区,它适用于聚集多个不同的数据结构变量,完成一次I/O事务。

Epoll

Epoll是第2章提到的poll()和select()的改进版,适用于一个线程需要处理数百个文件描述符的场景。

内存映射I/O

将文件映射到内存,支持通过简单的内存管理方式来处理文件I/O,适用于某些特定的I/O模式。

文件提示

允许进程将文件I/O期望使用方式的提示信息提供给内核,可以提升I/O性能。

异步I/O

允许进程发起多个I/O请求且不必等待这些请求完成,适用于不使用线程来处理很高的I/O负载。

本章的结束部分将会讨论性能问题以及内核的I/O子系统。