> When using aio for file or raw device access the following functions
> have to be used (from sys/aio.h):
>
int aio_read(int, struct aiocb *);
int aio_write(int, struct aiocb *);
int aio_cancel(int, struct aiocb *);
int aio_suspend(int, struct aiocb *[]);
The main advantage is not read ahead or the like (read ahead can be
accomplished with other means, e.g. separate reader and writer
processes).
The main advantage is, that a process that calls these for IO will
not
be suspended by the OPsys, and can therefore do other work
until the data is available. On fast disks the data will be
available
before the process time slice (20 - 50 ms) is over !
A process using normal read or write will have to wait until
all other processes have consumed their time slice.
I think the first step should be separate global IO processes,
these could then in a second step use aio.
Andreas