Solaris 9 8/03 操作环境的新增功能

开发工具增强功能

智能卡终端接口

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

栈检查 API

通过栈检查 API 可以与 ForteTM 7.0 中的可用的栈检查编译程序支持进行高级交互。这些 API 应该用于在启动栈检查时编译的应用程序,并用于管理各自的栈或检测各自的栈溢出。

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

有关内容,请参见 stack_getbounds(3C) stack_setbounds(3C)stack_inbounds(3C)stack_violation(3C) 手册页。

使用 libumem 进行内存分配

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

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

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

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

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

SPARC:Sun ONE Application Server 集成

Sun ONE Application Server 7 平台版(以前的 iPlanet Application Server)已集成在 Solaris 9 12/02 更新发行版中。请参见SPARC:Sun ONE Application Server 集成

Sun ONE Message Queue

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


注意:

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


增强的 crypt() 功能

本 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() 函数的新标志

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

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

链接程序和库更新

Solaris 9 更新发行版包含新的链接程序编辑器功能,例如字符串表压缩、未引用段删除和未引用相关性检测。有关每个 Solaris 9 更新发行版中的新链接程序编辑器功能的最新列表,请参见Linker and Libraries Guide》中的“New Linker and Libraries Features and Updates”

智能卡中间件 API

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

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