Solaris 9 4/03 作業環境的新功能

供 Solaris 9 軟體開發者使用的功能

開發工具

功能說明 

Solaris 和 Linux 應用程式設計介面的相容性

Solaris 8 Software Companion CD 上的一些免費軟體現已整合到 Solaris 9 作業環境。因此,軟體應用程式的開發者現在可以在 Solaris 作業環境中,更輕鬆地開發及編譯他們的免費應用程式。免費軟體程式庫中含括下列軟體:

  • glib

  • GTK+

  • Jpeg

  • libpng

  • Tcl/Tk

  • libtif

  • libxm12

如需有關 Solaris 媒體上可用的免費軟體之進一步資訊,請參閱免費軟體

選擇 Live Upgrade 訊息的 XML 輸出

現在,在指令行上使用 Solaris Live Upgrade 時,可以透過 -X 選項選擇 XML 輸出。 當您撰寫使用 Solaris Live Upgrade 作為工具的程式或 shell 程序檔時,可以使用該選項。預設的輸出是文字,但是使用 -X 選項,會建立適於機器剖析和解譯的 XML。所有訊息的 -X 選項輸出都是 XML,包括錯誤、警告、資訊和一般訊息。

請參閱線上援助頁 lucreate( 1M)

SPARC:多重頁面大小支援

多重頁面大小支援 (MPSS) 可讓程式使用任何硬體支援的頁面大小,以存取部份虛擬記憶體。 先前,在 UltraSPARC 平台上,程式之堆疊、堆疊儲存區或透過 mmap() 函式對映的匿名記憶體僅可使用 8 KB 的頁面。

您可以調整使用大容量記憶體的大型應用程式之效能,以便使用任意大小的頁面。任何用於堆疊、堆疊儲存或透過 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 版次提供 Practical Extraction and Report Language (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 框架包括下列元件:

  • syseventd 常駐程式

  • syseventadm 指令

  • 用於事件資料擷取和 sysevent 訂閱的程式庫 API。

  • 驅動程式階層系統事件介面 ddi_log_sysevent

syseventd 常駐程式是一個使用者階層的常駐程式,可接受從核心發送出來的系統事件緩衝區。當事件緩衝區傳送到 syseventd 之後,常駐程式會嘗試將事件傳播給感興趣的所有最終事件訂閱者。

syseventadm 指令可用於配置事件規格。隨後,這些規格可用於啟動指令、應用程式或程序檔,以回應系統事件。

如需有關 sysevent 核心及程式庫 API 的資訊,請參閱 syseventadm(1M)syseventconfd(1M) 以及 syseventd (1M) 線上援助頁。

請參閱 ddi_log_sysevent(9F),以取得有關驅動程式階層事件通知記錄的資訊。

核心虛擬亂數產生器

Solaris 虛擬亂數產生器 (PRNG) 可透過 /dev/random /dev/urandom 裝置來使用。PRNG 可為 ISV 提供標準介面,以存取用於加密作業、科學應用程式以及模擬工具的虛擬亂數。PRNG 在 Solaris 核心中作業。PRNG 可保護一致性儲存區中的內容。PRNG 會從核心記憶體頁面中收集一致的資料,並隨時保持極高的隨機性。

如需進一步資訊,請參閱 random( 7D) 線上援助頁。

SPARC:位於叢集上的遠端共用記憶體之應用程式介面

如果您開發可擴充 Sun 叢集環境用途的應用程式,就可以受益於此介面。使用新的遠端共用記憶體 (RSM) API,您可以設計應用程式,以縮短訊息通過高速叢集互連時的等待時間。這種具叢集意識的應用程式可以大大減少在叢集配置中回應事件所需的時間。 

您必須先安裝 Sun Cluster 3.0。現有的 Sun 叢集應用程式必須經過修改才能使用新的介面。 

如需進一步資訊,請參閱 "Programming Interfaces Guide"。 同時,librsm(3LIB) 線上援助頁以及「第 3 節: 擴充的程式庫函式」(3RSM) 線上援助頁也包括 RSM 的參考資訊。

gettext() API 函式的 GNU 相容版本

Solaris 9 版次提供了 gettext() API 函式的 GNU 相容版本,同時可維護與 Solaris gettext() API 函式的向下相容性。

  • 現在,libc 中的現有函式可以處理 Solaris 和 GNU 相容訊息檔案。這些現有函式包括:

    • gettext()

    • dgettext()

    • dcgettext()

    • textdomain()

    • bindtextdomain()

  • libc 中的新 GNU 相容函式可處理 GNU 相容訊息檔案。這些新函式包括:

    • ngettext()

    • dngettext()

    • dcngettext()

    • bind_textdomain_codeset()

  • msgfmtgettext 公用程式現在可以處理 Solaris 和 GNU 相容的訊息檔案。

如需進一步資訊,請參閱 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 版次中。SDK 3.0.1 可使用 Solaris Web Start 安裝程式來安裝。 

模組化除錯程式 (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) 是一個安全性框架,可讓應用程式保護傳輸的資料。 

請參閱安全性增強功能

以 Web 為基礎的企業管理工具

功能說明 

Solaris WBEM Services 2.5

Solaris WBEM Services 2.5 是 Sun Microsystems 對以 Web 為基礎的企業管理 (WBEM) 的實施。 WBEM 是與網際網路相關的管理技術集。這些技術旨在統一企業運算環境的管理。WBEM 由分散式管理工作委員會 (DMTF) 開發,可讓各機構發送整合的標準化管理工具集合。這些工具支援並促進全球資訊網技術的發展。Solaris WBEM Services 在 Solaris 9 版次中已更新為 2.5 版。 

如需有關 WBEM 的開發者進一步資訊,請參閱 "Solaris WBEM SDK Developer's Guide"

新增的 WBEM Batching API

Java 以 Web 為基礎的企業管理 (WBEM) 用戶端應用程式設計介面 (API), 現在允許用戶端將多個一般介面模型 (CIM) 作業,以批次方式處理成單一「要求和回應」。CIM 物件管理員現在也可以接受並服務這些批次請求。此功能定義於 Distributed Management Task Force (DMTF) Specification for CIM Operations Over HTTP 中。

如此,用戶端所需進行的遠端呼叫次數便可減少。  

如需進一步資訊,請參閱 "Solaris WBEM SDK Developer's Guide"

增強的 WBEM CIM WorkShop

CIM WorkShop 可為 WBEM 開發工具提供圖形使用者介面。CIM WorkShop 可由儀器應用、系統以及網路應用程式開發者使用。透過 CIM WorkShop,這些開發者可以檢視並建立 WBEM 類別和 WBEM 實例。 

在 CIM WorkShop 中,您可以執行下列工作:  

  • 檢視及選取名稱空間

  • 增加及刪除名稱空間

  • 檢視、建立、修改及刪除類別

  • 在新的類別中增加及刪除屬性、限定符號和方法

  • 檢視、建立及刪除實例

  • 檢視、修改及刪除實例值

  • 遍歷關聯項目

  • 執行方法

  • 顯示上下文式輔助說明

在 CIM Workshop 中可以使用的增強功能和新增功能包括下列各項:  

  • 更新及修正過的上下文式輔助說明。

  • 遍歷關聯項目的功能。

  • 訂閱及顯示選定類別事件相關資訊的功能,如此便可讓您更輕鬆地為使用事件的應用程式進行除錯。您只有在選取 RMI 協定時,才可以使用這項新增功能。

  • 提出 WBEM 查詢語言 (WQL) 查詢來搜尋及顯示 WBEM 資訊的功能。

如需進一步資訊,請參閱 "Solaris WBEM SDK Developer's Guide"

增加 WBEM 程序指示(非固有)事件的支援

目前,WBEM 事件服務允許用戶端應用程式在符合相關條件的情況下,以非同步的方式來接收指示。不過,僅支援的指示屬於類別生命週期指示。生命週期指示指定實例的修改、建立以及刪除。 

雖然這類指示非常靈活,而且範圍很廣,但是測試裝置可能需要發佈不屬於這個類別的指示。由於有這項需求,DMTF 引入了程序指示階層,作為目前指示階層的擴充。 WBEM 服務的程序指示現在可以處理此擴充的階層。

WBEM 服務的程序指示是 Sun Microsystems 對事件模型的程序指示部份的實施。程序指示類別是由測試裝置發佈的所有指示的超類別。此超類別也包含生命週期指示。 

訂閱程序指示的程序與訂閱生命週期指示的程序相同。  

如需進一步資訊,請參閱 "Solaris WBEM Developer's Guide"

增強的 WBEM mofcomp 指令

管理物件格式 (MOF) 編譯程式 (mofcomp) 現在允許您在指令行指定名稱空間。如果名稱空間不存在,便會自行建立。

此外,MOF 編譯程式現在會產生 Java 介面和類別來源檔。此功能可讓您使用標準的 Java 介面,而不使用 CIM 建構和 CIM 物件模型應用程式設計介面 (API)。 

每一個 CIMClass 都會產生介面和類別檔案。 產生的介面可讓您建立不同的執行方式,同時會保留交互可操作性。

如需進一步資訊,請參閱 "Solaris WBEM SDK Developer's Guide"

新的 Java WBEM SDK 已增加程式範例

Java WBEM 軟體開發者工具包 (SDK) 現在包括新的 Java applet 範例和程式範例。Java applet 和程式範例安裝在 /usr/demo/wbem 中。

Java WBEM SDK 程式範例向您說明如何使用事件、查詢和批次功能。您可以這些範例為基礎來開發自己的程式。  

如需進一步資訊,請參閱 "Solaris WBEM SDK Developer's Guide"

Solaris WBEM 軟體開發者工具包

Solaris 以 Web 為基礎的企業管理 (WBEM) 軟體開發者工具包 (SDK) 包含開發者用以建立應用程式的 API。這些應用程式以 WBEM 為基礎,可以在 Solaris 作業環境中存取資料並管理資源。Solaris WBEM SDK 還包含 CIM WorkShop。CIM WorkShop 是一個 Java 應用程式,開發者可利用它來建立 WBEM 應用程式。使用 CIM WorkShop,開發者可以檢視軟體隨附的 WBEM 用戶端和供應程式範例。 

如需更多資訊,請參閱 "Solaris WBEM SDK Developer's Guide"

新的 Solaris Provider

新的 Solaris Provider 能夠讓開發者建立軟體,在一般資訊模型 (CIM) 環境中取得及設定有關管理裝置的資訊。 Solaris Provider 可向 CIM 物件管理器提供 Solaris 作業環境中管理資源的實例。 

Solaris 9 軟體中有五個新的 Solaris Provider:

  • 用於 Solaris 裝置及系統的 WBEM 效能監視器 – 提供有關執行 Solaris 作業環境的系統之各種統計資訊。

  • WBEM Product Registry – 提供增加、刪除以及修改系統中安裝的新產品或現有產品的功能。

  • WBEM SNMP Provider – 可讓 WBEM 服務利用簡單網路管理協定 (SNMP) 來發送資訊,該協定是用於網路管理的網際網路參考模型協定。

  • WBEM EEPROM Provider – 支援顯示及修改 EEPROM 中的配置資訊。

  • WBEM 系統可用性 Provider – 提供關於系統的重新啟動資訊。此資訊可讓應用程式計算系統開啟和執行的時間百分比。此供應程式還可提供系統發生故障的原因:

    • 系統發生當機

    • 使用者終止系統

    • 使用者關閉系統

如需進一步資訊,請參閱 "Solaris WBEM SDK Developer's Guide"

寫入裝置驅動程式

功能說明 

框架緩衝區電源管理

有些裝置(例如某些磁帶機和框架緩衝區)在驅動程式中斷時不應斷電,即使是在電源循環中也應如此。新介面 ddi_removing_power 可檢查裝置是否因暫停作業而斷電。可以指定 no-involuntary-power-cycles 新屬性,以確保裝置不會在無意間斷電。

如需更多資訊,請參閱 ddi_removing_power(9F)no-involuntary-power-cycles(9P) 線上援助頁。

SPARC: Sun StorEdge 通訊管理員

Sun StorEdge 通訊管理員支援 I/O 裝置(如光纖通道可存取儲存器)的多重路徑。此功能可在多個裝置間平衡工作量。透過將針對失效的介面卡或儲存裝置的請求重新導向正常作業的介面卡或裝置,通訊管理員可提高可靠性。 

SPARC:驅動程式錯誤強化測試工具

驅動程式錯誤測試工具是一種 Solaris 裝置驅動程式開發工具。當驅動程式在開發狀態下存取其硬體時,測試工具會引入範圍廣泛的模擬硬體故障。此測試工具測試故障條件對基於 SPARC 的裝置驅動程式所造成的影響。 

如需更多資訊,請參閱 th_define(1M)th_manage(1M) 線上援助頁。

一般 LAN 驅動程式

驅動程式開發者可以使用一般 LAN 驅動程式 (GLD)。GLD 可為 Solaris 網路驅動程式實施大部份 STREAMS 和資料連結供應者介面 (DLPI) 功能。在 Solaris 8 10/00 版次之前,GLD 模組僅可用於 Solaris x86 平台版的網路驅動程式。 現在,GLD 可用於 Solaris SPARC 平台版的網路驅動程式。

如需更多資訊,請參閱 "Writing Device Drivers" 中的 “Drivers for Network Devices”

Java 版次

功能說明 

JavaHelp v. 1.1.2

JavaHelpTM v. 1.1.2 是一個功能齊全且獨立於平台的可擴充輔助說明系統。此系統可讓開發者和作者將線上說明嵌入 applet、元件、應用程式、作業系統以及裝置。如需更多資訊,請參閱下列網站:

http://java.sun.com/products

Java 2 SDK,Standard Edition v. 1.4.0

Java 2 SDK Standard Edition v. 1.4.0 即J2SETM 1.4.0,是 Java 2 SDK, Standard Edition 的升級版。升級版包括新的平台功能以及新的工具和公用程式。

如需這些增強功能的詳情資訊,請參閱下列網站的 J2SE 1.4.0 平台文件:  

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

Apache Web Server 中的 JSP 1.2 和 Java Servlet 2.3 支援

Jakarta Tomcat 4.0.1 和 mod_jserv 模組已加入 Apache Web Server。現在,此伺服器可支援 JavaServer Pages、JSP 版本 1.2 以及 Java Servlets 版本 2.3。

下列檔案儲存在 /etc/apache 中:

  • tomcat.conf

  • README.Solaris

  • zone.properties

  • jserv.properties

  • jserv.conf

如需啟用 Tomcat 支援的資訊,請參閱 README.Solaris 檔案。如需配置資訊,另請參閱 http://jakarta.apache.org/tomcat/tomcat-4.0-doc/index.html

Tomcat 和 mod-jserv 模組與 Apache 軟體的其餘部份一樣,也是由 Sun 外部群組負責維護的開放式原始程式碼。此群組會設法維持與先前版次的相容性。