Asynchronous Input/Output allows a process (thread) to start
multiple simultaneous read and/or write operations to multiple files,
to wait for or obtain notification of completion of requested operations,
and to retrieve the status of completed operations. The purpose
of the POSIX Asynchronous I/O facility is to allow a process (thread)
to overlap some elements of computation and information processing
with I/O processing. The POSIX Asynchronous I/O facility includes
the following interface functions:
Asynchronous I/O Control Block (aiocb) |
 |
The Asynchronous I/O Control Block is used as a parameter
to all of the asynchronous I/O functions. The aiocb
specifies parameters for an asynchronous I/O operation in a call
to aio_read() , aio_write(),
or lio_listio() and then may be used as a "handle"
for the enqueued asynchronous I/O operation in a subsequent call
to aio_cancel(), aio_suspend(),
aio_fsync(), aio_error(),
or aio_return(). The aiocb
structure is defined in sys/aio.h .
The addition of this new functionality does not impact the
operation of the rest of the system.