Solaris 9 4/04 操作环境的新增功能

开发工具增强功能

在之前的 Solaris 9 发行版基础上,此 Solaris 软件包括以下开发工具增强功能:

SPARC: 地址组

此功能在 Solaris 9 12/03 发行版中是新增的。

现在,Programming Interfaces Guide 中有一章介绍了用于与地址组 (lgroup) 交互的接口。 这些接口有助于应用程序有效地分配 CPU 和内存资源。 此功能会使某些系统的性能得以提高。

链接程序和库更新

此功能在 Solaris 9 12/02 发行版中是新增的。 有关最新更新信息,请参见 Linker and Libraries Guide 中的 “New Linker and Libraries Features and Updates”

本 Solaris 发行版包括了新的链接程序编辑器功能,例如字符串表压缩、未参考段删除和未参考相关检测。 有关各 Solaris 发行版中新增的链接程序编辑器功能的最新列表,请参见 Linker and Libraries Guide 中的 “New Linker and Libraries Features and Updates”。

智能卡接口

此功能在 Solaris 9 8/03 发行版中是新增的。

Solaris 智能卡接口是用于智能卡终端的一组公共接口。 智能卡终端供应商可以在用户级的共享库中实现这些接口,以便为 Solaris 中的智能卡和终端提供设备级支持。 这组 Solaris 智能卡终端接口基于可用作 Linux Smartcard 框架一部分的卡终端接口。 Linux 的卡终端支持库可以被轻松地导入到 Solaris。

栈检查 API

此功能在 Solaris 9 4/03 发行版中是新增的。

栈检查 API 可用于与栈检查编译程序支持进行高级的交互操作。 ForteTM 7.0 提供了栈检查编译程序支持功能,应在编译时启用了栈检查的应用程序中使用这些 API。 这些应用程序可以管理自己的栈或试图检测自己的栈溢出。

对于维护自己的线程库的开发者,需要使用 setustack 接口以使库的用户能够在编译时启用栈检查功能。

请参见 stack_getbounds(3C)stack_setbounds(3C)stack_inbounds(3C)stack_violation(3C) 手册页。

使用 libumem 进行内存分配

此功能在 Solaris 9 4/03 发行版中是新增的。

libumem 是一种用户模式(非内核模式)内存分配程序库。 使用 libumem 提供的功能,您可以调试内存泄漏和其他内存使用异常。

该功能的使用方法与标准应用程序二进制接口 (ABI) 分配程序(例如 malloc())相同。 用户模式应用程序可以申请任意字节数目的内存, 然后返回一个带有已分配内存地址的指针。

有关详细信息,请参见 libumem(3LIB) 手册页。

可以在以下 Web 站点获取有关 Solaris 内存放置优化和 Sun Fire 服务器的技术白皮书:

http://www.sun.com/servers/wp/docs/mpo_v7_CUSTOMER.pdf

Sun ONE Application Server

在 Solaris 9 12/02 发行版中,针对 SPARC 平台新增了此功能。 在 Solaris 9 12/03 发行版中,此功能也适用于 x86 平台。 有关详细信息,请参见Sun ONE Application Server 集成

Sun ONE Message Queue

Sun ONE Message Queue 是在 Solaris 9 12/02 发行版中针对 SPARC 平台新增的功能。 Solaris 9 8/03 发行版的 x86 平台也支持 Sun ONE Message Queue。

Solaris 9 12/02 发行版支持 JMS 信息传送应用程序。 这些应用程序基于 Sun ONE Message Queue(一个 JMS 提供者)。 有关详细信息,请参见Sun ONE Message Queue

增强的 crypt() 功能

此功能在 Solaris 9 12/02 发行版中是新增的。

本 Solaris 发行版包含了对 crypt() 函数的扩展,并引入了 crypt_gensalt() 函数。 这些增强功能使管理员可以更改用于遮蔽用户的 UNIX 登录口令的算法。

包含了用于 MD5 和 Blowfish 的模块。 MD5 模块位于 crypt_sunmd5crypt_bsdmd5。 Blowfish 模块位于 crypt_bsdbf

开发者可以创建替换口令遮蔽算法的新模块。 应用程序开发者必须使用 crypt_gensalt() 函数,而不能手动生成该 salt 字符串以传递给 crypt() 函数。

用作替代算法的模块在 crypt.conf(4) 文件中指定。 module_path 字段指定实现两个所需的函数的共享库对象的路径:

有关详细信息,请参见 crypt(3C)policy.conf(4) 手册页。

madvise() 函数的新标志

此功能在 Solaris 9 12/02 发行版中是新增的。

madvise() 函数使内核可以优化对用户定义的内存区域的访问。 本 Solaris 发行版包括三个用于 madvise() 函数的新标志位:

有关 madvise() 函数的详细信息,请参见 madvise(3C) 手册页。

智能卡中间件 API

此功能在 Solaris 9 9/02 发行版中是新增的。

Solaris 智能卡框架现在可以提供底层的中间件 API。 通过使用智能卡读卡器,这些 API 可以用来与智能卡交换数据。 这些 API 可以用于诸如 Sun BladeTM 和 Sun RayTM 系统的平台。 用 Java 语言或 C 语言编写的应用程序可以使用这些接口。

有关详细信息,请参见 libsmartcard(3LIB) 手册页和 /usr/share/javadoc/smartcard 中的 JavaDocs。