:PROPERTIES:
:ID: b6f5b357-3ecb-454f-866a-7770e1034638
:mtime: 20240319060755
:ctime: 20240319060754
:END:
#+title: Vectored IO
#+filetags: :operatingsystems:public:project:
* Vectored IO
** Definition of Vectored IO
- Enable one system call to perform multiple I/O operations
** Reasons to use Vectored IO
- Decreases context switching and system call overhead
- This scatter-gather method better than multiple individual I/O calls
** Example of Vectored IO
E.g., Unix readve accepts a vector of multiple buffers to read into or write
from
** Atomicity
- Some versions provide atomicity
- In other words, if one operation fails, all operations must fail.
- Avoids, e.g., worry about multiple threads changing data while I/O occurring