AIX 5.2提供两种类型的AIO简介
【aix教程】AIX 5.2提供了两种不同类型的异步IO(AIO)核心扩展函数(Kernel Extension),即AIX传统的AIO和POSIX 标准的AIO。
虽然两种类型的AIO函数名称相同,但在aio.h中作了重新定义,以便两种函数均可使用libc.a 函数库。POSIX AIO也可以通过librt.a调用。POSIX AIO 是编译时使用的默认选项。如需使用AIX传统的AIO,可通过新增加的宏定义_AIO_AIX_SOURCE完成。
例如,使用POSIX AIO之前先将其加载:
mkdev -l posix_aio
使用POSIX AIO的应用程序需包含aio.h文件:
#include <sys/aio.h>
又如,使用AIX传统的 AIO之前需将其加载:
mkdev -l aio
使用AIX传统的 AIO的应用程序需包含下列定义:
#define _AIO_AIX_SOURCE
#include <sys/aio.h>
或在编译命令行加入:
xlc ... -D_AIO_AIX_SOURCE ... legacy_aio_program.c
假如需要将POSIX AIO 核心扩展函数库在系统启动时自动加载,可用:smit chgposixaio将菜单中的选项"State to be configured at system restart" 由 "defined"改为 "available",按下回车键后即可生效。
对于AIX传统的AIO,可通过smit chgaio以相同方法修改菜单中的选项。