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

来源:岁月联盟 编辑:zhu 时间:2008-02-16
AIX 5.2提供两种类型的AIO简介内容简介:【aix教程】 AIX 5.2提供了两种不同类型的异步IO(AIO)核心扩展函数(Kernel Extension),即AIX传统的AIO和POSIX 标准的AIO。 虽然两种类型的AIO函数名称相同,但在aio.h中作了重新定义,以便两种函数均可使用libc

  【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以相同方法修改菜单中的选项。
  

图片内容