AIX 5L Version 5.3:为您提供了哪些新的特性?
- UID
- 1066743
|
AIX 5L Version 5.3:为您提供了哪些新的特性?
引言在 2005 年 6 月第一次发表本文时,对当时可以使用的大量的 AIX 5L™ 特性和功能进行了讨论。在 2005 年 9 月发布版的 5300-03 维护级中,为 AIX 5L 引入了一些新的重要的增强功能。而本文则是对 2005 年 6 月发表的文章的更新,其中包括对这些增强功能的讨论。从完整性的角度考虑,我们在这次更新中保留了原来的内容,这样您就可以得到一篇完整的参考文档。
在接下来的讨论中,我交替地使用了 AIX 5L Version 5.3 和 Version 5.3 这两种表达方式,并且还使用了 5300-03 来表示所引用的特性仅在 5300-03 维护级及更高的版本中可用。
一般性观察AIX 5L Version 5.3:
- 与 AIX 5L Version 5.1 和 5.2 是二进制兼容的。
- 运行于目前所支持的所有的基于共用硬件参考平台 (CHRP) 的 POWER 硬件之上。
- 而不是像 AIX 5L Version 5.2 那样,运行于基于微通道或 PowerPC 参考平台 (PReP) 的系统之上。
- 仅支持多处理器内核,包括 32 位和 64 位多处理器内核。不支持单处理器内核。
AIX 5L Version 5.3 的特性和功能硬件支持AIX 5L Version 5.3 支持下列 POWER5 硬件特性:
- 微分区:允许单个处理器由 10 个分区共享,并且支持多达 254 个这样的分区。
- 虚拟 I/O:支持客户分区(AIX® 和 Linux™)的 I/O 需求,而不需要专门为网络连接提供单独的 I/O 插槽以及为每个客户分区提供存储设备。您可以启动并从虚拟 SCSI 设备运行分区,然后使用虚拟以太网和共享以太网适配器实现网络连接。
- 虚拟 SCSI:减少了客户分区对专用物理磁盘资源的需求。
- 虚拟以太网:支持不同分区之间内存内部的网络连接,并且减少或消除了对单独的物理以太网适配器的需求,除了外部连接之外。唯一的 VLAN 配置则保障了分区到分区的通信安全。
- 共享以太网:利用 I/O 服务器分区中运行的基于软件的第二层交换对网络流量进行路由,提供了一种将网络流量转移到服务器之外的方法,从而减少了对物理以太网适配器的需求。
- 共享以太网适配器 (SEA) 故障:通过提供在不同的虚拟 I/O 服务器上创建备用 SEA 的能力,从而提供了共享以太网适配器的高可用性,这个备用的 SEA 将在主 SEA 变为非活动状态时启用 (5300-03)。
- SMT:Version 5.3 支持 POWER5 处理器的 SMT 模式。当您启用这种模式时,对于操作系统而言,一个物理 POWER5 处理器将变为两个逻辑处理器,并且独立于分区的类型。具有一个专用处理器的分区缺省将作为逻辑双处理器运行。具有两个虚拟处理器的共享分区缺省则作为逻辑四处理器运行。您可以立即或者在以后启动系统时,针对特定的分区开启或关闭该模式。
- 集成虚拟管理员软件:提供了逻辑分区支持,并通过将相应的功能集成到虚拟 I/O 服务器分区中,而不再需要 HMC。支持登录具有 SF235 固件的 pSeries® 和 OpenPower™ 服务器。使用 IBM 虚拟 I/O 服务器对所有的 I/O 进行虚拟化。提供了 HMC 服务功能的子集以及无缝集成 LPAR 和虚拟 I/O 管理的基于 Web 的接口 (5300-03)。
应用程序开发- POSIX(可移植操作系统接口)实时兼容函数
Version 5.3 为下列 POSIX 实时选项提供了系统接口:- 内存锁
- 自旋锁
- 时钟
- 线程选项
- 栅栏
- 优先级安排
- 按优先级的 I/O (5300-03)
- 消息传递
- 信号量
- 计时器
- 警告性信息
- AIX 5L Version 5.3 中附带了最新版本的 Perl 5.8.2。它对 Perl 5.8.0 中的一些缺陷进行了修补。
- 增强的进程间通讯 (IPC) 限制
在 AIX 中,可以根据需要分配和释放单独的 IPC 数据结构,所以内存需求依赖于当前系统使用情况。以前的 AIX 发布版将 64 位内核的信号量 ID、共享内存段 ID 和消息队列 ID 的最大数目定义为 131072 (128 K)。为了适应未来的可伸缩性需求,AIX 5L Version 5.3 将这些 IPC 标识符类型数据结构的最大数目增加到 1048576 (1024 K)。 - 加密的 sum 命令
用户通常使用 sum 命令来生成一项用于验证文件完整性的检查和。然而,两个不同的文件可能生成相同的检查和。AIX 5L Version 5.3 中实现了加密的 sum 命令,即 csum,它提供了更可靠的文件完整性验证工具。通过提供一种验证下载过程中文件未被篡改或损坏的机制,csum 命令可用于 AIX e-fix 的升级过程。 - Java™ 1.4.2
AIX 5L Version 5.3 中附带了 Java 1.4.2 的 32 位和 64 位版本。 - gmon.out 中的线程支持
当应用程序由多个步骤组成,并且对其中不同的可执行文件(都使用 -p 或 -pg 标志生成,以生成配置信息)进行顺序地调用,那么每个可执行文件将覆盖以前的 gmon.out 文件。在 AIX 5L Version 5.3 中,gmon.out 文件被设计为线程安全的,这样一来,多线程应用程序中的每个线程在该文件中都可以拥有它自己的数据。 - gprof 线程支持
AIX 5L Version 5.3 为 gprof 提供了线程支持。这个增强功能的目的在于为 gprof 添加新的功能,以使它能够解释线程级配置程序的可用的附加信息。 - 对大型应用程序的 gprof 支持 (5300-03)
现在,gprof 应用程序配置工具可以处理包含超过三千二百万个符号的超大型应用程序。 - 增强的 libc.a
AIX 5L Version 5.3 为 libc.a 库实现了许多新的 API。对这个库中现有的许多函数进行了更新,从而改善了由该库提供的标识和验证服务的系统性能、可靠性和服务能力。 - 新的 malloc() 算法
AIX 5L Version 5.3 中实现了新的 malloc 子系统,它称为 Watson Malloc。与缺省实现 (Yorktown) 相比,Watson Malloc 在多线程应用程序的内存碎片和性能方面有了进一步的改进。Watson Allocator 能够快速处理一些小的请求,并且仅消耗相当少的内存。 - 对 malloc 子系统的改进
AIX 5L Version 5.3 所支持的与 malloc 相关的环境变量的个数减少为 3,并且这些属性可以使用预定义值。这些环境变量是:MALLOCTYPE、MALLOCOPTIONS 和 MALLOCDEBUG。MALLOCOPTIONS 是一个新的环境变量,它负责处理 MALLOCTYPE 分配器的当前的和以后的所有选项。它取代了 MALLOCBUCKETS、MALLOCMULTIHEAP 和 MALLOCDISCLAIM,这些变量已被弃用。Malloc 日志和 Malloc 跟踪功能也得到了进一步增强。
所有产生显示输出的 malloc 调试选项,都将它们的输出结果发送到 stderr。新的“output”调试选项提供了一种指示子系统将显示输出发送到其他文件流的机制。
在遇到错误时,许多 malloc 调试选项都会调用 abort() 过程。通常属于这种情况,然而,开发人员可能希望先调试其他的错误类并且宁愿出现更少的不会产生致命缺陷的严重错误。新的“continue”调试选项便提供了这种选择。
DBX malloc 命令
DBX 命令中已集成了 malloc 调试特性。这将允许开发人员查询 malloc 子系统的当前状态,而无需创建复杂的笨拙脚本,并且后面的这种做法还需要了解 malloc 子系统的内部知识。
- 增强的 DBX 功能
在 AIX 5L Version 5.3 中,对 DBX 添加了重要的增强功能。下面是关于其中一些增强功能的列表:- 现在,用户对 DBX 用来调试事件的方式有了附加的控制能力。如果用户需要禁用调试事件的结果,在目前情况下,DBX 需要彻底地删除该事件。而在必须重复删除和添加事件的情况下,在每次需要启用事件时,用户都必须手动地重新输入该事件。有了下面两个新的 DBX 子命令后,就不再需要这种麻烦的处理方式了:disable 和 enable。这些子命令允许 DBX 用户临时地禁用调试事件,而无需永久地删除它们。
- 在目前情况下,如果核心文件所引用的任何依赖模块在调试时不可用,那么 DBX 将显示致命错误“cannot open <dependent module path>”并且退出。这种方式阻止了在从出现错误到定位所有的依存模块的过程中对核心文件进行调试。新的 DBX 允许调试会话继续执行,即使核心文件所引用的许多依存模块都不可读或丢失。这时,DBX 将在初始化这些丢失的依存模块的时候,显示包含丢失模块名称的通知消息。如果核心文件所引用的任何依存模块与核心文件创建它时有所不同,DBX 也会发送相应的通知消息。
- DBX 中添加的几个新的子命令。它们包括 proc、kthread 和 fd。这些子命令的目的是显示内核用来跟踪进程和线程的数据结构中所包含的数据。
- 为了简化对使用 pthread 的代码的调试,进一步增强了 DBX 的功能性范围,其中提供了几个新的子命令,这些子命令可以用来揭示关于 pthread 对象的信息并以可读的、用户友好的格式对其进行显示。其中包括 handler、onceblock 和 resource 子命令。
- 通过添加 corefile 子命令,对 DBX 的功能性和可用性进行了增强,该子命令可以显示被调试的“核心文件”的相关信息。不带参数的 corefile 子命令将显示该“核心文件”的基本信息。而通过使用相应的参数,可以获取更详细的信息。
- AIX 5L Version 5.3 中附带了 Eclipse 运行时环境。它提供了基于 Eclipse 的工具的运行平台,包括新的 procmon 性能监视工具(在后面的性能管理部分中描述)。
- Unicode 4.0 支持
AIX 5L Version 5.3 包括了对现有 Unicode 区域设置的增强,以使其兼容于最新发布的标准。这个版本中根据相应的标准添加了附件字符和脚本,所定义的 Unicode 字符总数达到 96,382。其中一些字符是支持日本工业标准 JISX0213 所必需的。 - tcpdump 升级到最新级别
已将 tcpdump 命令升级到版本 3.8。因为对 tcpdump 命令进行了升级,所以也对 iptrace 和 ipreport 进行了相应的更改,以使用升级后新的 libcap 库(版本 0.8)来进行数据包捕获和转储读取。AIX 5L Version 5.3 之前的 AIX tcpdump,以纳秒(10-9 秒)级精度显示数据包时间戳。开发源码的 tcpdump 以 10-6 秒的精度显示时间戳。新的 AIX tcpdump 也具有 10-6 秒的时间戳精度。
并对 tcpdump 添加了大量新的标志。此外,在使用 tcpdump 时,包括了总共 87 种协议打印机,这样可以简化打印任务。 - BOS 安装菜单中的多桌面选择
在 AIX 5L Version 5.3 之前,在 BOS 安装过程中,您只能够选择三种桌面(CDE、GNOME 或 KDE)其中之一。从Version 5.3 开始,BOS 安装菜单中就有了多桌面选择。可用的选择为 CDE、GNOME 和 KDE。 - 通过使用节和段落进一步改进了 man 页面的表示方式。
- 引入了新的环境变量 DR_MEM_PERCENT。它用来通知共享 LPAR 的所有识别 DR (动态重新配置)的应用程序,根据百分比因子,而不是绝对数量,按比例减少其内存使用量。这种方式可以帮助避免出现可用内存资源的利用不足或过度使用的情况 (5300-03)。
- 命名共享库范围和提高的 32 位共享库文本容量 (5300-03)
命名共享库范围允许一组进程拥有可使用的完全共享库容量,并且与全局共享库范围位于有效地址空间中的相同位置。命名共享库范围还使得 AIX 能够支持备用内存模型,该模型将共享库段 (0xD, 0xF) 专门用于共享库文本。这个模型对于 32 位进程组非常有用,它们共享了超过 256MB 的库文本。 - LD_LIBRARY_PATH (5300-03)
考虑到与基于 SVR4 的系统之间的兼容性,添加了用于运行时库路径的可选环境变量。系统加载器将它作为 LIBPATH 环境变量的同义词。
|
|
|
|
|
|