环境 产品: AIX 平台: pSeries, AIX 软件版本:AIX 5.2 问题 AIX 5.2提供了两种不同类型的AIO函数库,本文针对这两种函数库介绍如何在系统中配置及使用。 解答 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 以相同方法修改菜单中的选项。
|