This is called kernelized asynchronous I/O, because the kernel includes specific support for asynchronous I/O, whereas the threaded implementation of asynchronous I/O just uses the kernel's light-weight process functionality to simulate asynchronous I/O by performing multiple synchronous I/O requests in distinct threads (more). Kernelized asynchronous I/O is also called split phase asynchronous I/O because of its separation of the I/O request and completion phases.
The most important thing to note is that KAIO request completion occurs in interrupt service context and must therefore be fully implemented in the device driver's interrupt service routine. This is why kernelized asynchronous I/O is only available for raw I/O and Quick I/O, and only if the required drivers are present in the operating system kernel. Some operating systems also require additional configuration steps to enable KAIO. The following table details KAIO availability and requirements for some important operating systems.
Solaris |
KAIO is available for raw devices and Quick I/O files. No special configuration is required. |
HP-UX |
KAIO is available for raw devices and Quick I/O files. The asynchdisk or asynchdsk driver must be included in the kernel. The /dev/async device file must exist with major number 101. The max_async_ports kernel parameter must be greater than the sum of processes parameters in all instances, plus an allowance of one more for each persistent background process. The dba user group must have the MLOCK privilege in /etc/privgroup. |
AIX |
KAIO is available for raw devices and virtual or hashed shared disks. The state parameter in the smit aio menu must be set to available. |
Tru64 Unix |
KAIO is available for raw devices. No special configuration is required. |
Irix |
KAIO is available for raw devices. No special configuration is required. |
Reliant Unix |
KAIO is available for raw devices. The optional aio package must be added, and the kernel rebuilt. The AIO_MAX parameter in /etc/conf/cf.d/mtune must be greater than the sum of processes parameters in all instances, plus an allowance of one more for each persistent background process. |
Linux | KAIO is not yet available (expected with 2.5). |
Windows NT/2000 | KAIO is not available. |
... | ... |
If your operating system is not listed in the table above, and if you are aware of the details, please click on the feedback icon below and send us an email so that we can add it to the list.
Oracle uses kernelized asynchronous I/O automatically whenever asynchronous I/O is attempted against a database file for which KAIO is possible.
© Ixora Pty Ltd. All rights reserved.
05-Apr-2002 |
|