简介AIX 5.2提供两种类型的AIO

王朝other·作者佚名  2006-11-23
宽屏版  字体: |||超大  

环境 产品: 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

以相同方法修改菜单中的选项。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有