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

开发工具

Solaris 9 发行版包括以下开发工具增强功能。

Solaris 和 Linux 应用程序编程接口的兼容性

Solaris 8 软件的配套 CD 中提供的某些免费软件现在已集成在 Solaris 9 操作环境中。 因此,软件应用程序开发人员现在可以在 Solaris 操作环境中更轻松地开发和编译他们的免费应用程序。 免费软件库包括以下内容:

有关在 Solaris 介质上可获得的免费软件的详细信息,请参见免费软件增强功能

选择 Live Upgrade 信息的 XML 输出

在命令行中使用 Solaris Live Upgrade 时,您可以使用 -X 选项选择 XML 输出。 此选项是在编写将 Solaris Live Upgrade 用作工具的程序或 shell 脚本时使用。 缺省输出是文本,但使用 -X 选项时,创建的是适用于计算机分析和解释的 XML。 -X 选项的输出对于所有信息(包括错误、警告、提示、一般信息)都是 XML。

请参见 lucreate(1M) 手册页。

SPARC: 多页面大小支持

多页面大小支持 (MPSS) 允许程序使用硬件支持的任何页面大小访问虚拟内存的各部分。 以前,UltraSPARC 平台上只有 8 KB 页面可用于程序的栈、堆或者由 mmap() 函数映射的匿名内存。

您可以调整大量占用内存的应用程序的性能以使用任何页面大小。 可以使用硬件支持的任何页面大小(用于使用 mmap() 函数映射的堆栈、堆叠或 /dev/zero 专用内存)。 使用较大的页面大小可能会明显改善使用大量内存的程序的性能。

有关详细信息,请参见手册页 pagesize(1)mpss.so.1(1)ppgsz(1)memcntl(2)mmap(2)getpagesizes(3C)

改进的多线程库

Solaris 9 发行版包括改进的和更快的多线程库。 该库可以作为早期 Solaris 软件发行版中的取代 libthread

有关详细信息,请参见 Multithreaded Programming Guide 和手册页 threads(3THR)

Perl 版本 5.6.1

在 Solaris 9 发行版本中提供了一个新的缺省的实际提取和报告语言 (Perl) 版本。 Perl 新的缺省版本是 5.6.1。Solaris 9 发行版中也包括 Perl 的一个早期版本(版本 5.005_03)。此早期版本原来与 Solaris 8 发行版一起提供。

有关详细信息,请参见 perl(1) 手册页。

统一的 diff 格式

diffsccs-sccsdiff 命令已被更新,以包括对 GNU 样式统一的 diff 格式的支持。 在这种格式下,上下文行在差别列表中只打印一次。

有关这些命令的信息,请参见 diff(1)sccs-sccsdiff(1) 手册页。

Sysevent 框架

sysevent 框架将内核级和用户级系统事件通知给适当的应用程序。 事件可以包括硬件和软件状态更改、错误和故障。

sysevent 框架包括以下组件:

syseventd 守护程序是一个用户级守护程序,它接受从内核发送出的系统事件缓冲区。 将事件缓冲区发送到 syseventd 之后,守护程序将尝试把事件传播给所有相关的终端事件订阅者。

可以使用 syseventadm 命令配置事件规范。 这些规范随后被用来调用命令、应用程序或脚本以响应系统事件。

有关 sysevent 内核和库 API 的信息,请参见 syseventadm(1M)syseventconfd(1M)syseventd(1M) 手册页。

有关驱动程序级事件通知日志的详细信息,请参见 ddi_log_sysevent(9F)

内核伪随机数产生器

通过 /dev/random/dev/urandom 设备可以获得 Solaris 伪随机数产生器 (PRNG)。 PRNG 提供具有标准接口的 ISV 访问密码操作、科学应用程序和仿真工具的伪随机数。 PRNG 在 Solaris 内核中进行操作。 PRNG 保护熵池的内容。 PRNG 会从核心内存页面中收集熵数据,并随时保持高度的随机性。

有关详细信息,请参见 random(7D) 手册页。

SPARC: 群集上的远程共享内存的应用程序接口

如果您开发扩展 Sun Cluster 环境用途的应用程序,则可以利用此接口。 使用新的远程共享内存 (RSM) API,可以设计应用程序以减少在高速群集上传递的信息的互连等待时间。 这些群集识别应用程序可以显著减少群集配置中响应事件所需要的时间。

您必须已经安装 Sun Cluster 3.0。 需要对现有的 Sun Cluster 应用程序进行修改以采用这个新接口。

有关详细信息,请参见 Programming Interfaces Guide。 此外,还可参见 librsm(3LIB) 手册页和第 3 节: “扩展的库函数”。(3RSM) 手册页包括了对 RSM 的参考。

gettext() API 函数的 GNU 兼容版本

Solaris 9 发行版提供了 gettext() API 函数的 GNU 兼容版,同时保持了与 Solaris gettext() API 函数的向后兼容性。

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

扩展的文件属性

UFS、NFS 和 TMPFS 文件系统已被增强,以包括扩展的文件属性。 这些属性允许应用程序开发者将特定属性与文件相关联。 例如,窗口系统的文件管理应用程序的开发者可以选择将显示图标与文件相关联。

有关详细信息,请参见文件系统增强功能

全新的固定优先级 (FX) 调度类

FX 调度程序为需要用户或应用程序控制调度优先级的进程提供调度策略。 请参见系统资源增强功能

动态主机配置协议 (DHCP)

动态主机配置协议 (DHCP) 服务允许主机系统接受 IP 地址和网络配置信息。 引导时,从网络服务器接受此信息。 在 Solaris 8 7/01 发行版之前,DHCP 配置数据只能存储在文本文件或 NIS+ 中。 现在,Solaris DHCP 服务中的数据访问已经重新设计成使用模块式的框架。 Solaris DHCP 提供了一个 API,允许您编写共享对象,该对象支持任何用于存储 DHCP 数据的数据存储设备。

Solaris DHCP Service Developer's Guide 提供了 Solaris DHCP 使用的数据访问框架的概述。 该指南也为开发者提供了一般准则。 同时还包含一个 API 函数列表,您可以使用这些函数编写模块以支持新的数据存储。

有关详细信息,请参见 Solaris DHCP Service Developer's Guide

Solaris Web Start Wizards SDK 3.0.1

Solaris Web Start Wizards 简化了本机 Solaris、Java 和非 Java 应用程序的安装、设置和管理。 使用 Web Start Wizards,开发者可以将他们的 Solaris 版和 Microsoft Windows 版的应用程序封装在一起。 该安装向导管理平台的特定事项。

Web Start Wizards SDK 3.0.1 现在随 Solaris 9 发行版一起提供。 可以使用 Solaris Web Start 安装程序安装 SDK 3.0.1。

模块化调试器 (mdb)

mdb 公用程序是实时操作系统低级调试和编辑的可扩展公用程序。 该公用程序也可以调试系统故障转储、用户进程、用户进程核心转储和对象文件。 在 Solaris 9 发行版中,mdb 提供了对 Solaris 内核的新的符号调试支持和新的内核调试程序命令。 mdb 公用程序还提供了检查和控制实时运行用户进程的新功能,以及检查原始磁盘文件和设备的能力。

Solaris Modular Debugger Guide 和手册页 mdb(1) 提供了详细信息。

音频增强功能

Solaris 9 操作环境中已增加新的音频目录。 /usr/include/audio 目录是用于应用程序音频头文件的新目录。 音频文件格式有新的头文件 /usr/include/audio/au.h 和手册页 au(4)

/usr/share/audio 目录是杂项音频文件的新的存储位置。 /usr/demo/SOUND/sounds 目录的音频文件已移至此处。 已创建从 /usr/demo/SOUNDS/sounds/usr/share/audio/samples/au 的符号链接。 此链接使当前应用程序和当前脚本能够运行而不会失败。

同时还针对音频内核模块修复了许多错误,从而提高了可靠性。

有关详细信息,请参见 System Administration Guide: Basic Administration

向量化的系统调用: sendfilev()

sendfilev() 是向量化的系统调用,能明显改善从应用程序缓冲区或文件中发送数据的性能。 例如,在 Web 性能方面,Web 服务器可以在单个系统调用中构造 HTTP 响应。 该 HTTP 响应包括头、数据和尾部以及服务器端包含的内容。 该功能结合 Solaris 网络高速缓存和加速器 (NCA) 可以提供最佳的性能。 sendfilev() 系统调用为响应启用了返回多个块(可能来自各种文件)。

有关详细信息,请参见 sendfilev(3EXT)sendfile(3EXT) 手册页。

检验对象文件是否符合 appcert 公用程序

appcert 公用程序检验对象文件是否符合 Solaris ABI。 符合 Solaris ABI 可以极大增加应用程序与 Solaris 软件未来发行版兼容的可能性。

有关详细信息,请参见 Programming Interfaces Guide 中的 “Using appcert”

通用安全服务应用程序编程接口 (GSS-API)

通用安全服务应用程序编程接口 (GSS-API) 是一个安全框架,能够使应用程序保护其发送的数据。

请参见安全性增强功能