Linux 系统编程导读 - 高级文件I/O
散布/聚集 I/O
目的是在单次系统调用(I/O操作)中操作多个缓冲区。按我们平时的读写操作,** read ** 以及 ** write *,都是将数据读入单个缓冲区,从单个缓冲区中写出。
同样也有对应的操作接口:
107
都包含三个参数,fd是需要操作的文件;第二个是iovec结构的数组,即缓冲区,第三个指示数量。
iovec结构
108
用基址和长度来描述一个缓冲区。读入的数据将放入iov_base~iov_base+iov_len这片内存区域中。
segment用来表示一个缓冲区。
* 读操作 *:从文件中读入count个segment到 iov指向的缓冲区数组中。
* 写操作 **;