Go to main content

Oracle® Solaris 11.3 新增功能

結束列印檢視

更新日期: 2016 年 11 月
 
 

開發人員適用的增強功能

本節說明此發行版本為開發人員提供的增強功能,透過最新的函式庫及可靠的架構讓開發人員能夠更輕鬆地在 Oracle Solaris 平台上開發應用程式。

專供應用程式開發使用的 SSM API

Oracle Solaris 包括全新和更新的 C 函式庫 SSM API。這些 API 可在應用程式使用其自訂的記憶體配置器時偵測記憶體損壞的問題。

如需詳細資訊,請參閱 adi(3C)adi(2)memcntl(2)mmap(2) 以及 siginfo(3HEAD) 線上手冊。

矽晶片保護的記憶體管理函式庫

新的使用者層次記憶體管理函式庫 libadimalloc 中定義了多種運用 SSM 的標準 libc-malloc(3C) 系列函式版本。此外,libadimalloc 函式庫還能提供廣泛的除錯支援。

如需詳細資訊,請參閱 libadimalloc(3LIB) 線上手冊。如需關於除錯支援的詳細資訊,請參閱 adimalloc_debug(3MALLOC) 線上手冊。

Oracle Solaris Studio 中的 SSM 支援

Oracle Solaris Studio 開發工具不但支援 SSM,還能提供開發人員額外的診斷功能,可快速找出並修復 SSM 執行階段相關的錯誤。「程式碼分析程式」是 Oracle Solaris Studio 中的進階分析工具,能在您編譯應用程式時使用靜態分析來偵測程式編寫的錯誤。「程式碼分析程式」還可透過執行階段動態分析來保護您的應用程式不發生任何記憶體錯誤。除此之外,它會使用指出未受測試之函式的專利技術來大幅提高程式碼的涵蓋率。「探索」是「Oracle Solaris Studio 程式碼分析程式」的執行階段動態分析功能,內含一個 libdiscoverADI 函式庫,讓「探索」得以瞭解並偵測由 SSM 識別的執行階段相關記憶體錯誤。任何 C 或 C++ 應用程式只要預先載入此函式庫,即可搭配啟用 SSM 錯誤檢查的功能執行。如果偵測到記憶體錯誤,「探索」就會列印詳盡的錯誤分析報告。

如需如何使用 Oracle Solaris Studio 開發工具來尋找並修復由 SSM 識別之記憶體錯誤的相關資訊,請參閱這篇文章:https://community.oracle.com/docs/DOC-912448。如需詳細資訊,請參閱 mdb(1)dtrace(1M) 線上手冊。

Posix Spawn 函式

C 函式庫中包含的新 API 可讓 Java 執行得更快更有效率。新的 posix_spawn_file_actions_addchdir_np() API 可讓您針對使用 posix_spawn() 函式建立的處理作業指定工作目錄。Java 使用 posix_spawn() 函式建立子處理作業,此函式不會導致過度的記憶體負荷。

如需詳細資訊,請參閱 posix_spawn(3C)posix_spawn_file_actions_addchdir_np(3C) 線上手冊。

增強的訊號傳送

C 函式庫中加入新介面是 Oracle Solaris POSIX/UNIX 多重執行緒處理模型的新變更。這些介面讓處理作業不但能相互傳送訊號給對方,還能透過與其他處理作業的任一特定執行緒直接互動來將訊號傳送給處理作業內的執行緒。

如需詳細資訊,請參閱 proc_thr_kill(3C)proc_thr_sigqueue(3C) 線上手冊。

新事件來源

現在已將訊號作為事件來源,新增至針對事件埠定義的現有事件來源組合中。這個增強功能讓事件埠具備能夠同時等待訊號事件與現有事件來源集合的處理作業。

如需詳細資訊,請參閱 port_create(3C)port_associate(3C) 以及 port_dissociate(3C) 線上手冊。

隨機數和 Entropy 收集系統呼叫

Oracle Solaris 11.3 含有兩個新的系統呼叫 getentropy(2)getrandom(2),可用來收集核心中的 entropy 或隨機位元。相較於在 /dev/random/dev/urandom 裝置上使用 open(2)read(2),這些系統呼叫是比較好的選擇。

如需詳細資訊,請參閱 getentropy(2)getrandom(2) 線上手冊。

具名的執行緒

在 Oracle Solaris 11.3 中,您可以標示應用程式的執行緒,藉此簡化應用程式的除錯作業。諸如 psprstatDTrace 的觀察工具可根據指派的名稱來顯示測量結果。這個功能對於像是 Java 這類具有許多執行緒的應用程式來說特別實用。

如需詳細資訊,請參閱 prstat(1M)pthread_attr_setname_np(3C) 線上手冊。

DTrace noresolve 執行階段選項

DTrace 現在可藉由新的執行階段選項 –x noresolve 來避免自動解析使用者空間符號的情況。當符號解析在大型靜態連結的二進位檔案上耗費相當久的時間時,這個選項十分有用。

DTrace EoIB SDT 探測

eoibeibnx 模組中的新 DTrace SDT 探測為 Ethernet over InfiniBand (EoIB) 實作提供了更好的可觀察性。

相關資訊

具備 RAD 之以 REST 為基礎的管理介面