Solaris 9 操作环境的新增功能

第 3 章 为软件开发人员新增的功能

本章主要介绍已添加到 Solaris 9 操作环境中的新的软件开发功能。

开发工具

功能说明 

发行日期 

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

Solaris 8 Software Companion CD 中提供的某些免费软件库和支持工具现在已集成到 Solaris 9 操作环境中。因此,软件应用程序开发人员现在可以在 Solaris 操作环境中更轻松地开发和编译他们的免费应用程序。库包括 glibGTK+JpeglibpngTcl/Tklibtiflibxm12。有关 Solaris 介质上提供的免费软件的进一步信息,请参阅"其它软件"

Solaris 9 

选择 Live Upgrade 信息的 XML 输出

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

请参阅手册页 lucreate(1M)

Solaris 9 

多重页面大小支持

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

使用硬件支持的用于堆栈、堆或以 mmap() 映射的 /dev/zero 专用内存的任意页面大小,可以优化使用大量内存的大应用程序的性能。使用较大的页面大小可能会显著提高使用大量内存的程序的性能。

有关更多信息,请参阅 pagesize( 1)mpss.so.1(1)ppgsz( 1)memcntl( 2)mmap( 2)getpagesizes(3C) 的手册页。

Solaris 9 

改进的多线程库

Solaris 9 发行版包括一个改进的、更快的多线程库,该库可作为早期 Solaris 软件发行版中的替换 libthread

有关进一步信息,请参阅Multithreaded Programming Guidethreads (3THR) 手册页。

Solaris 9 

Perl 5.6.1 版

在 Solaris 9 发行版本中提供了一个新的缺省的实际提取和报告语言 (Perl) 版本。Perl 的新缺省版本是 5.6.1 版。同时还在 Solaris 9 发行版本中包括较早的 Perl 版本(5.005_03 版),该版本已经包括在 Solaris 8 发行版本中。 

有关更多信息,请参阅 perl(1) 手册页。

Solaris 9 

统一 diff 格式

diffsccs-sccsdiff 命令已经更新,从而支持 GNU 样式的统一 diff 格式,在该格式中,上下文中的行只在差异列表中打印一次。

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

Solaris 9 

Sysevent 框架

sysevent 框架支持将内核级和用户级系统事件(如硬件和软件状态改变、错误和故障)通知给应该被告知这些事件的应用程序。

sysevent 框架包括如下组件:

  • syseventd(1M) 守护程序

  • syseventadm(1M) 命令

  • 用于事件数据提取和 sysevent 订阅的库 API

  • 驱动程序级系统事件通知接口 ddi_log_sysevent(9F)

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

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

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

有关驱动程序级事件通知记录的信息,请参阅 ddi_log_sysevent(9F)

Solaris 8 1/01 

Solaris 8 4/01 中的更新 

内核伪随机数产生器

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

有关更多信息,请参阅 random( 7D) 手册页。

Solaris 9 

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

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

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

有关详细信息,请参阅Programming Interfaces Guide。 另外,librsm(3LIB) 手册页和"第 3 节:扩展的库函数" (3RSM) 手册页包括对 RSM 的参考。

Solaris 8 10/01 

gettext API 函数 GNU 兼容版本

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

  • libc 中现有的 gettext()dgettext() dcgettext()textdomain()bindtextdomain() 函数现在可以处理 Solaris 消息文件及 GNU 兼容的消息文件。

  • libc 中新的 GNU 兼容函数 ngettext() dngettext()dcngettext()bind_textdomain_codeset() 可以处理 GNU 兼容的消息文件。

  • msgfmtgettext 公用程序现在可以处理 Solaris 消息文件及 GNU 兼容的消息文件。

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

Solaris 9  

扩展的文件属性

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

有关更多信息,请参阅"文件系统增强"

Solaris 9  

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

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

Solaris 9  

动态主机配置协议 (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 8 7/01 

Solaris Web Start Wizards SDK 3.0.1

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

Web Start Wizards SDK 3.0.1 现已随附在 Solaris 9 版中,而且可以通过 Solaris Web Start 安装程序来安装。 

Solaris 9 

模块化调试器(mdb)

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

Solaris Modular Debugger Guidemdb( 1) 手册页提供了更多信息。

Solaris 9 

音频增强功能

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

Solaris 9 

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

sendfilev() 是一个向量化 sendfile 系统调用,能提高从应用程序缓冲区或文件发送数据的性能。例如,在 Web 性能方面,Web 服务器可以在单个系统调用中构建一个 HTTP 响应(头、数据和尾,以及服务器端包含的内容)。此功能给 Solaris 网络缓存和加速器(Solaris Network Cache and Accelerator,NCA)提供了优化性能,因为它能够返回多个代码块,而这些代码块可能来自响应的不同文件。

有关更多信息,请参阅手册页 sendfilev(3EXT)

Solaris 8 7/01 

检验与 appcert 公用程序的文件一致性

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

有关更多信息,请参阅Programming Interfaces Guide 中的" Using appcert"。

Solaris 8 4/01 

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

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

Solaris 8 6/00 

基于 Web 的企业管理工具

功能说明 

发行日期 

Solaris WBEM 服务 2.5

Solaris WBEM 服务 2.5 是 Sun Microsystem 基于 Web 的企业管理 (WBEM) 的实现。WBEM 是一系列的管理和与因特网相关的技术,它的用途在于统一管理企业计算环境。WBEM 是由 Distributed Management Task Force (DMTF) 开发的,它使组织能够发送一套集成的标准管理工具以支持和促进万维网技术。Solaris WBEM Services 在 Solaris 9 发行版中更新为 2.5 版。 

有关 WBEM 的更多开发人员信息,请参阅Solaris WBEM SDK Developer's Guide

Solaris 9 

新增的 WBEM 批处理 API

Java 基于 Web 的企业管理 (WBEM) 客户程序设计接口 (API) 现在支持客户机将多个通用接口模型 (CIM) 操作批处理为单个请求和响应。"CIM 对象管理器"现在也接受和服务于这些批处理请求。该设备在 Distributed Management Task Force (DMTF) Specification for CIM Operations Over HTTP 中定义。

客户机需要进行的远程调用次数也相应减少。 

有关更多信息,请参阅Solaris WBEM SDK Developer's Guide

Solaris 9 

增强的 WBEM CIM WorkShop

CIM WorkShop 为 WBEM 开发工具提供了一个图形用户界面,通过这个界面,探测、系统和网络应用程序开发人员可以查看和创建 WBEM 类和实例。 

在 CIM WorkShop 中,您可以执行下列操作: 

  • 查看和选择名称空间

  • 添加和删除名称空间

  • 查看、创建、修改和删除类

  • 给新的类添加和删除属性、限定符和方法

  • 查看、创建和删除实例

  • 查看、修改和删除实例值

  • 遍历关联项

  • 执行方法

  • 显示上下文相关帮助

在 CIM Workshop 中提供了下列增强功能和新增功能: 

  • 更新和修改过的上下文相关帮助。

  • 遍历关联项的能力。

  • 能够订阅和显示有关选定类的事件的信息,由此使您可以更轻松地调试使用事件的应用程序。只有当选择了 RMI 协议时才能使用这项新增功能。

  • 能够提交 WBEM 查询语言 (WQL) 查询以搜索和显示 WBEM 信息。

有关更多信息,请参阅Solaris WBEM SDK Developer's Guide

Solaris 9  

新增对 WBEM 进程指示(外部)事件的支持

目前,WBEM 事件服务使客户程序能够在满足相关条件时异步接收指示。然而,唯一支持的指示属于类生命周期指示,这类指示表示实例的修改、创建和删除。 

虽然这类指示非常灵活且范围很广,但是探测可能需要公布不属于这种类型的指示。考虑到这项要求,DMTF 引入了进程指示结构作为当前指示结构的扩展。WBEM 服务的进程指示现在可以处理这个扩展结构。

WBEM 服务的进程指示是 Sun Microsystems 事件模型中进程指示部分的实现。进程指示类是由探测公布的所有指示的超类,这也包扩生命周期指示。 

订阅进程指示的过程与订阅生命周期指示的过程相同。 

有关更多信息,请参阅Solaris WBEM SDK Developer's Guide

Solaris 9  

增强的 WBEM mofcomp 命令

托管对象格式 (Managed Object Format,MOF) 编译程序 (mofcomp) 现在允许在命令行中指定名称空间。如果名称空间不存在,便会自行创建。

此外,MOF 编译程序现在生成 Java 接口和类源文件。此功能使您能够使用标准 Java 接口,而不必了解 CIM 构造和 CIM 对象模型应用程序设计接口 (API)。 

对于每一个 CIMClass 都会生成一个接口和一个类文件。生成的接口使您能够创建不同的实现,同时保持互操作性。

有关更多信息,请参阅Solaris WBEM SDK Developer's Guide

Solaris 9  

新增的 Java WBEM SDK 样例程序

Java WBEM Software Developer's Kit (SDK) 现在包括一个新的样例 Java applet 和一些样例程序。Java applet 和样例程序安装在 /usr/demo/wbem 中。

Java WBEM SDK 样例程序向您说明如何使用事件、查询和批处理功能。您可以将这些样例当作基础来开发自己的程序。 

有关更多信息,请参阅Solaris WBEM SDK Developer's Guide

Solaris 9  

Solaris WBEM Software Developer's Kit

Solaris 基于 Web 的企业管理 (WBEM) Software Developer's Kit (SDK) 包括开发人员基于 WBEM 创建应用程序所使用的 API,这些应用程序在 Solaris 操作环境中访问数据和管理资源。Solaris WBEM SDK 包括 CIM WorkShop,这是一个 Java 应用程序,开发人员使用该应用程序可以创建 WBEM 应用程序和查看包括在软件中的样例 WBEM 客户机和提供程序。 

有关更多信息,请参阅Solaris WBEM SDK Developer's Guide

Solaris 8 4/01 

新的 Solaris Provider

新的 Solaris Provider 使开发人员能够创建软件,以便在通用信息模型 (CIM) 环境中获取和设置有关托管设备的信息。Solaris Provider 为 CIM 对象管理器提供了 Solaris 操作环境中的托管资源的实例。 

Solaris 9 软件中有五个新的 Solaris Provider:

  • WBEM Solaris Device/System Performance Monitor Provider - 提供有关运行 Solaris 操作环境的系统的各种统计信息。

  • WBEM Product Registry Provider - 提供添加、删除或修改系统中安装的新产品或现有产品的能力。

  • WBEM SNMP Provider - 使 WBEM 服务能够通过简单网络管理协议(Simple Network Management Protocol,SNMP)-- 用于网络管理的因特网参考模型协议 -- 发送信息。

  • WBEM EEPROM Provider - 支持显示和修改 EEPROM 中的配置信息。

  • WBEM System Availability Provider - 提供有关系统的重引导信息,以便应用程序 能够计算出系统已启动和运行的时间百分比。这个提供程序还提供系统失败的原因:

    • 系统发生紧急情况

    • 系统被用户停止

    • 系统被用户关闭

有关更多信息,请参阅Solaris WBEM SDK Developer's Guide

Solaris 9 

编写设备驱动程序

功能说明 

发行日期 

帧缓冲区电源管理

有些设备(如某些磁带机和帧缓冲区)在驱动程序中断时不应断电(即使是在一个电源循环中)。新接口 ddi_removing_power (9F) 检查设备是否由于操作挂起而断电。可以指定新属性 no-involuntary-power-cycles 以确保设备不会无意断电。

有关更多信息,请参阅 ddi_removing_power(9F)no-involuntary-power-cycles(9P) 手册页。

Solaris 9 

Sun StorEdge 通讯量管理程序

Sun StorEdge 通讯量管理程序支持 I/O 设备(如可由光纤通道访问的存储器)使用多条路径。该功能通过将发生故障的接口卡或存储设备中的请求重定向到一个操作卡或设备上,可以使多个设备之间的工作量保持均衡,并可增加可靠性。 

Solaris 9 

驱动程序强化测试工具

驱动程序强化测试工具是 Solaris 设备的驱动程序开发工具。 当处于开发阶段的驱动程序访问它的硬件时,这个测试工具会发出各种仿真的硬件错误。这个发出错误的测试工具会测试基于 SPARC 的设备驱动程序的恢复功能。 

有关更多信息,请参阅手册页 th_define(1M)th_manage( 1M)

Solaris 8 1/01 

通用 LAN 驱动程序

驱动程序开发人员可以使用通用 LAN 驱动程序 (Generic LAN Driver,GLD) 为 Solaris 网络驱动程序实现许多 STREAMS 和数据链接提供程序接口 (DLPI) 功能。在 Solaris 8 10/00 版之前,只有 Solaris Intel 平台版网络驱动程序中具有 GLD 模块。现在 Solaris 操作环境 SPARC 平台版网络驱动程序中提供了GLD。

有关更多信息,请参阅"Drivers for Network Devices" in Writing Device Drivers》。

Solaris 8 10/00 

语言支持

功能说明 

发行日期 

通用语言范围

Solaris 9 操作环境现在包括对 162 种语言环境的支持,涵盖 Solaris 9 Software CD、Solaris 9 DVD 和 Solaris 9 Language CD 上的 39 种语言。 

有关更多信息,请参阅"语言支持"。 另请参阅国际语言环境指南

Solaris 9 

增强的亚洲语言支持

Solaris 9 发行版提供了对亚洲语言的更广泛支持,包括为简体中文、繁体中文、韩文和泰文所提供的新输入法和排序规则。本版本还支持中国香港特别行政区 (zh_HK.BIG5HK) 和中国 (GB18030) 的新本地语言环境。

有关 Solaris 9 发行版中的亚洲语言支持的更多信息,请参阅"语言支持"。 另请参阅国际语言环境指南

Solaris 9 

新的中文 GB18030-2000 字符集的支持

从 Solaris 8 2/02 发行版开始,Solaris 平台支持输入、显示和打印完整的 GB18030-2000 字符集(包括将近 30,000 个字符)。因此,在 Solaris 平台上运行的任何应用程序都可以拥有更多的中文字符集。有关此功能的更多信息,请参阅"语言支持"

Solaris 8 2/02 

改进的数据互操作性

在 Solaris 9 发行版中,与非 Solaris 环境的数据互操作性已经改进,增加了新的 iconv 公用程序,可用于 UTF-8 与下列本机编码间的数据转换:HKSCS、GB18030、ISO 8859-11 和 Hindi。此外,日语语言支持也通过 iconv 模块得到扩充,该模块在 Solaris 日语语言环境代码集与来自 Fujitsu、Hitachi 和 NEC 等的日语大型机代码集之间进行转换。

有关 Solaris 9 发行版中的语言支持的更多信息,请参阅"语言支持"。 另请参阅国际语言环境指南

Solaris 9 

新的欧洲和中东键盘支持

Solaris 9 发行版已增加 TurkeyQ、TurkeyF 和阿拉伯语的 Sun I/O 键盘支持,以及 TurkeyQ、TurkeyF、比利时语和阿拉伯语的 Sun Ray USB 键盘支持。 

有关 Solaris 9 发行版中的欧洲和中东语言支持的更多信息,请参阅"语言支持"。 另请参阅国际语言环境指南

Solaris 9 

新的 TrueType 字体

新的 TrueType 字体为不同的代码集提供了共同的外观,也为不同代码集中使用相同字样提供了支持。所有欧洲语言环境的 TrueType 字体都相同。每一种亚洲语言都有自己的 TrueType 字体文件。 

有关详细信息,请参阅国际语言环境指南

Solaris 9 

扩充的 Unicode 支持

Solaris 9 发行版提供了对 Unicode 的更广泛支持,为泰国、印度、中国香港特别行政区、土耳其、埃及、巴西、芬兰和比利时瓦龙地区增加了新的 Unicode (UTF-8) 语言环境。 

有关 Solaris 9 发行版中的 Unicode 支持的更多信息,请参阅"语言支持"。 另请参阅国际语言环境指南

Solaris 8 10/00 

在 Solaris 8 4/01 和 Solaris 9 中已更新 

打印过滤器增强 - mp 程序

mp(1) 程序接受来自不同 Solaris 语言环境的国际文本文件,产生指定语言环境的输出。由于 mp 中支持复杂的文本布局 (CTL),因此输出中包含正确的文本布局,如双向文本着色和整形。根据每一个语言环境的 mp 系统字体配置,PostScript 输出文件可以包含 Solaris 系统驻留的可伸缩字体或位图字体的字型图像。

有关更多信息,请参阅"具有 的打印过滤器增强模式" in 国际语言环境指南

Solaris 8 4/01 

Java 发行版

功能说明 

发行日期 

JavaHelp 1.1.2 版

JavaHelpTM 1.1.2 版是一个功能完整、与平台无关的可扩展帮助系统,它使开发人员和作者能够将联机帮助包含在 applet、组件、应用程序、操作系统和设备中。有关更多信息,请参考下列 Web 站点:

http://java.sun.com/products

Solaris 9  

Java 2 SDK 标准版 1.4.0 版

Java 2 SDK 标准版 1.4.0 版 (J2SETM 1.4.0) 是 Java 2 SDK 标准版的升级版本。 这个升级版包括新的平台功能以及新的工具和公用程序。

有关这些增强功能的完整详细信息,请参阅下列 Web 站点上的 J2SE 1.4.0 平台文档: 

http://java.sun.com/j2se/1.4/docs/relnotes/features.html

Solaris 9 

Apache Web 服务器中的 JSP 1.2 和 Java Servlet 2.3 支持

在增加了 Jakarta Tomcat 4.0.1 和 mod_jserv 模块之后,Apache Web 服务器现在支持 JavaServer PagesTM(JSP 1.2 版)和 Java Servlets(2.3 版)。

下列文件存储在 /etc/apache 中:

  • tomcat.conf

  • README.Solaris

  • zone.properties

  • jserv.properties

  • jserv.conf

有关启用 Tomcat 支持的信息,请参阅 README.Solaris 文件。另请参考下列 Web 站点中的配置信息:

http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html

Tomcat 和 mod-jserv 模块与 Apache 软件的其余部份一样,也是由 Sun 的外部组维护的开放源代码。这个组设法维持与早期版本的兼容性。

Solaris 9