自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Power服務(wù)器版Linux系統(tǒng)所需工具介紹

運(yùn)維 系統(tǒng)運(yùn)維
64 位 POWER 體系結(jié)構(gòu)是公認(rèn)的高性能、可靠而且有用的企業(yè)平臺(tái),它為 UNIX 和 Linux 應(yīng)用程序開發(fā)者提供了新的選擇。不管是誰,只要有在其他平臺(tái)上使用 AIX 或者 Linux 的經(jīng)驗(yàn),就可以受益于與世界頂尖的 IBM 硬件 POWER 相結(jié)合的開放源代碼社區(qū)強(qiáng)有力的基礎(chǔ)。

64 位 POWER 體系結(jié)構(gòu)是公認(rèn)的高性能、可靠而且有用的企業(yè)平臺(tái),它為 UNIX 和 Linux 應(yīng)用程序開發(fā)者提供了新的選擇。不管是誰,只要有在其他平臺(tái)上使用 AIX 或者 Linux 的經(jīng)驗(yàn),就可以受益于與世界頂尖的 IBM 硬件 POWER 相結(jié)合的開放源代碼社區(qū)強(qiáng)有力的基礎(chǔ)。

從價(jià)格適中的 2- 路服務(wù)器到垂直擴(kuò)展的超級計(jì)算機(jī)再到世界頂級的 JS20 BladeCenter,基于 POWER 的機(jī)器具備所有的大小和等級,始終領(lǐng)先于人們對企業(yè)級硬件的預(yù)期。與動(dòng)態(tài)邏輯分區(qū)(Dynamic Logical Partitioning)等創(chuàng)新配置一道,Linux 或 AIX 的可用為應(yīng)用程序開發(fā)和部署提供了一個(gè)獨(dú)特的依賴于 POWER 體系結(jié)構(gòu)性能的平臺(tái)。本文把為您提供構(gòu)造大部分代碼和 POWER 平臺(tái)所需要的工具和知識。

Linux 發(fā)行版本

可選范圍廣是 Linux 社區(qū)為人們所津津樂道的一個(gè)強(qiáng)大之處。POWER 版 Linux 主要由 Red Hat Linux 和 SUSE Linux 這兩家企業(yè) Linux 廠商提供。這兩種 Linux 發(fā)行版本各成體系,各有所長,都提供了 Linux 開發(fā)者所期望的完整的工具鏈、庫以及開發(fā)工具。本文分別進(jìn)行了評論。

注意,TurboLinux 也得到了支持。TurboLinux Enterprise Server8 使用的是來自 SUSE Linux 的許可代碼,所以在下面的論述中,那些適用于 SUSE 的特性同樣適用于 TurboLinux。

Red Hat Enterprise Linux 3 (RHEL3)

Red Hat 成功地充當(dāng)了開放源代碼社區(qū)的領(lǐng)導(dǎo)者和先驅(qū)者。2003 年 Red Hat Linux 發(fā)布了可用于 POWER 體系結(jié)構(gòu)的企業(yè)版,并帶來了先進(jìn)的 Linux 技術(shù)。

內(nèi)核

RHEL3 的 2.4.21 Linux 內(nèi)核為 POWER 體系結(jié)構(gòu)進(jìn)行了優(yōu)化。甚至在 Linux 2.6 發(fā)布之前,Red Hat 已經(jīng)在他們的 Linux 2.4 內(nèi)核中移植(backport)了一些 2.6 的特性。

其中,最引人注目的是 Native Posix Threads for Linux(NPTL)庫。先前的線程模型,即 Linux Thread,是傳統(tǒng)的 1:1 線程模型,與 Linux 2.4 調(diào)度器配合使用,一段時(shí)間以來這個(gè)模型就是被革新的目標(biāo)。在 RHEL3 中,Red Hat 把新的線程模型從 2.5 的開發(fā)樹中移植到了 2.4 內(nèi)核,從而使得可擴(kuò)展性更好,多線程更快,最明顯的是從根本上提高了 Java 性能。

不同于一些商用 UNIX 操作系統(tǒng)中所用的 m:n 線程,NPTL 仍是 1:1 模型,但是現(xiàn)在沒有人懷疑它的性能。新的線程模型在陳舊的 450 Mhz Intel 處理器上有能力在兩秒鐘內(nèi)生成和銷毀 100,000 個(gè)線程,因而可以提供企業(yè)級 Linux 等所需的性能。Java 應(yīng)用程序的執(zhí)行速度通常會(huì)比使用舊的 Linux 線程模型時(shí)快八倍。

前沿開發(fā)的結(jié)合并不僅限于內(nèi)核線程模型。RHEL3 中還包括一個(gè)新的改進(jìn)的 glibc,版本為 2.3.1。出于 NPTL 線程性能方面的需要,glibc 2.3.1 還為 Linux 應(yīng)用程序引入了效率更高的庫。

SUSE SLES8

SUSE SLES8 是兩種企業(yè)版 Linux 中資格較老的一個(gè),已經(jīng)到了它的生命周期的末期。SLES 8 的特色是定期更新的 2.4 內(nèi)核(SUSE 已經(jīng)為 SLES8 用戶發(fā)布了三個(gè)服務(wù)包,以確??梢允褂醚a(bǔ)充更新的系統(tǒng)安全和性能),它提供所有類別的選項(xiàng)。有三種帶日志的文件系統(tǒng)可供選擇。默認(rèn)情況下,在 SLES8 中可以使用所有常見的數(shù)據(jù)庫、Web 服務(wù)器和郵件服務(wù)器應(yīng)用程序以及最新發(fā)布的 KDE 和 Gnome 桌面環(huán)境。SLES8 中當(dāng)前可用的 2.4.21 內(nèi)核為實(shí)時(shí)地執(zhí)行 32 位和 64 位的應(yīng)用程序提供了一個(gè) 64 位的基礎(chǔ)。

即把發(fā)布的 SLES9 現(xiàn)在還在測試中,SUSE 的最后一項(xiàng)任務(wù)是融合新的 GCC、glibc 和 Linux 2.6 內(nèi)核。發(fā)布后,SLES 9 把提供第一個(gè)可用于 IBM eServer? iSeries? 和 pSeries? 服務(wù)器的 Linux 2.6 內(nèi)核。 [#page_#][#page_#]

使用哪個(gè)發(fā)行版本?

由于 RHEL 3 和 SLES8 所提供的線程模型不同,所以當(dāng)然不能認(rèn)為會(huì)有完全的二進(jìn)制兼容性。好消息是,開發(fā)者幾乎總會(huì)發(fā)現(xiàn),不同的 Linux 發(fā)行版本中代碼編譯是一致的,POWER 版 Linux 也不例外。

不過,在部署時(shí),一些應(yīng)用程序?qū)唧w的發(fā)行版本更為敏感。例如,SLES8 上默認(rèn)使用的 Reiser 文件系統(tǒng)以高性能地處理小文件而聞名。主要對小于 1 KB 的文件進(jìn)行讀寫訪問的應(yīng)用程序適合使用這種文件系統(tǒng),這樣的程序最好運(yùn)行在 SLES8 上,而運(yùn)行 Java 線程的應(yīng)用程序把受益于 NPTL 的 RHEL3 實(shí)現(xiàn)。

開放源代碼模型的優(yōu)點(diǎn)在于它的靈活性,POWER 版 Linux 也是靈活的。也就是說,開發(fā)者把可以找到關(guān)于在 RHEL3 和 SLES8 上進(jìn)行開發(fā)的通用參考資料。編譯器、IBM Java Developer’s Kit ,以及像流行的集成開發(fā)環(huán)境 Eclipse 這樣的開發(fā)工具,都是這兩種發(fā)行版本中自由可用的工具的例子。

編譯器和庫

POWER 版 Linux 是兩個(gè)方面的結(jié)合:最好的開放源代碼開發(fā)和企業(yè)級的硬件。最好是提供 C、C++ 和 Fortran 編譯器的一個(gè)選擇以反映這一結(jié)合。

GNU Compiler Collection (GCC)

GNU GCC 是用于所有體系結(jié)構(gòu)的 Linux 中應(yīng)用最廣泛的編譯器,Red Hat 和 SUSE 都使用此編譯器來編譯隨它們的產(chǎn)品發(fā)布的二進(jìn)制文件(可執(zhí)行文件)。由于 GCC 3.2 可以生成 32 位的和 64 位的二進(jìn)制文件,所以 RHEL3 和 SLES8 中都提供了 GCC 3.2。RHEL3 實(shí)現(xiàn)利用了一個(gè)“biarch”風(fēng)格的雙編譯器,使用一個(gè)編譯器標(biāo)記(-m64)來進(jìn)行 64 位編譯。

與之不同,SLES8 使用單獨(dú)的 64 位 GCC 的工具鏈,這個(gè)工具鏈默認(rèn)存儲(chǔ)在 /opt/cross 中。為了在 SLES8 中可以使用 64 位編譯器,開發(fā)者應(yīng)該確保他們的配置腳本和 Makefile 文件可以識別出這個(gè)編譯器。您可以通過把 CC 環(huán)境變量設(shè)置為 64 位 GCC 編譯器的位置來完成這一任務(wù)。

當(dāng)前,人們正在對 GNU 編譯器集進(jìn)行重大革新,為 POWER 體系結(jié)構(gòu)而進(jìn)行性能優(yōu)化。在即把發(fā)行的 3.3 和 3.4 中,GCC 的調(diào)度和信號處理把得到改進(jìn)。另外,針對特定體系結(jié)構(gòu)的優(yōu)化(比如對 IBM JS20 BladeCenter 中 PPC970 芯片的 VMX/Altivec 支持)把為編譯后的代碼帶來極大的性能優(yōu)勢。不過,SLES8 和 RHEL3 現(xiàn)在使用的都是 GCC 3.2 版本,在這里評述了對這些版本性能的優(yōu)化。

GCC 3.2 沒有為 POWER 處理器進(jìn)行針對特定體系結(jié)構(gòu)的優(yōu)化。所以,編譯時(shí)不建議使用針對特定體系結(jié)構(gòu)的標(biāo)記,比如 -mpower。可以使用這些選項(xiàng),但通常不會(huì)帶來性能上的提高。與 x86 上的 GCC 實(shí)現(xiàn)不同,GCC 3.2 中沒有包括 -fPIC 標(biāo)記。為生成動(dòng)態(tài)鏈接的二進(jìn)制文件,需要在所有的 Makefile 文件中包含 -fPIC。如果您正從 Intel 上的 Linux 移植代碼庫(codebase),這尤其關(guān)鍵,因?yàn)橐延械?Makefile 文件可能沒有顯式地使用這個(gè)標(biāo)記。

除了要識別出那些沒有被當(dāng)前用于 POWER 體系結(jié)構(gòu)的 GCC 所使用的標(biāo)記之外,您應(yīng)該知道那些對 x86 和 POWER 體系結(jié)構(gòu)來說可用的標(biāo)記。這些標(biāo)記包括處理重定位、目錄(table of contents)大小、浮點(diǎn)選項(xiàng)、位調(diào)整等等的編譯標(biāo)記。例如,大 TOC 支持(多于 8K 個(gè)條目)需要多個(gè) TOC,由 -mminimal-toc 編譯標(biāo)記指定。要回顧這些標(biāo)記,請閱讀源代碼包中的標(biāo)準(zhǔn) GCC 文檔。 [#page_#]

IBM VisualAge 編譯器集

除了 GCC 以外,IBM 還發(fā)布了高性能 VisualAge 編譯器集,這個(gè)編譯器集既可以用于 RHEL3,也可以用于 SLES8。這些用于 C、C++ 和 Fortran 的編譯器把性能優(yōu)化技術(shù)發(fā)揮到了極致;它們被精心地定制,以全面地利用 POWER 體系結(jié)構(gòu)。高性能計(jì)算(High Performance Computing)開發(fā)者通常會(huì)發(fā)現(xiàn),只要使用這些編譯器來重新編譯他們的代碼,性能就會(huì)提高 30% 以上!

使用 VisualAge 進(jìn)行優(yōu)化很簡單,只需預(yù)先設(shè)定優(yōu)化級別,這些級別對應(yīng)使用不同種類的算法。通常,使用簡單的 -O3 -qtune=auto 和 -qarch=auto 會(huì)帶來最為顯著的性能提高。第三級優(yōu)化把自動(dòng)識別出芯片類型并進(jìn)行芯片(但不是體系結(jié)構(gòu))無關(guān)的優(yōu)化。進(jìn)一步使用 -O4 優(yōu)化標(biāo)記可以獲得更高的性能,但付出的代價(jià)是針對特定芯片的優(yōu)化、程序間分析以及高階轉(zhuǎn)換例程。高性能代碼應(yīng)該首先以 -O3 優(yōu)化,然后再嘗試 -O4。雖然 -O4 可能會(huì)提高性能,但是它對代碼結(jié)構(gòu)更為挑剔,而且 POWER 系列微處理器系列上的二進(jìn)制兼容性更為受限。

為避免出現(xiàn)庫不兼容的不愉快情形,POWER 版 Linux 中的 VisualAge 編譯器設(shè)計(jì)為分別去使用每個(gè)發(fā)行版本包中所帶的 glibc,而且它們甚至使用本地 Linux 鏈接器??释阅艿膽?yīng)用程序顯然需要 POWER 版 Linux 的這一獨(dú)特功能。

有大量的關(guān)于用于 POWER 版 Linux 中的 GCC 和 VisualAge 編譯器集編譯期優(yōu)化的文檔。在 參考資料 中列出了所有 POWER 版 Linux 開發(fā)者都應(yīng)該放在桌面上的可免費(fèi)獲得的技術(shù)資料。

IBM JDK 1.4.1

IBM 已經(jīng)把開發(fā)資源加入到對定制的 JDK 的改進(jìn)中,可用于 POWER 版 Linux 的 JDK 既有 32 位的也有 64 位的。BHEL3 和 SLES8 的安裝包中都有 IBM JDK 1.4.1,可以與 POWER 版 Linux 的 Eclipse 集成開發(fā)環(huán)境配合使用。

開發(fā)工具

很多 Linux 開發(fā)者樂于使用傳統(tǒng)的開發(fā)工具,比如 vi 或 Emacs。自然,這些以及 gdb 等 Linux 中常見的內(nèi)核級調(diào)試工具都是可用的。不過,除了這些工具以外,POWER 版 Linux 的特色是支持 Eclipse IDE 等開發(fā)工具。VisualAge 編譯器有詳細(xì)的代碼分析選項(xiàng)來確定源代碼中的字符排列順序(endianness)以及 64 位兼容性,并且,舒適的 KDE 和 Gnome 桌面環(huán)境讓那些習(xí)慣于圖形界面的開發(fā)者非常自如。高性能計(jì)算(HPC)以及生命科學(xué)(Life Science)開發(fā)者把受益于可用的通用應(yīng)用程序,例如 NCBI 應(yīng)用程序。IBM 的高級數(shù)學(xué)和科學(xué)庫 ESSL 和 P/ESSL 也可以用來輔助 POWER 版 Linux 上的高性能應(yīng)用程序。

 

【編輯推薦】

  1. Linux系統(tǒng)下配置Netware服務(wù)器方法
  2. 嵌入式設(shè)備上的 Linux 系統(tǒng)開發(fā)
  3. 深度介紹Linux內(nèi)核是如何工作的(1)
責(zé)任編輯:張燕妮 來源: 中關(guān)村在線
相關(guān)推薦

2012-01-16 10:02:21

Windows 8服務(wù)器版

2010-10-22 14:50:27

SQL server服

2013-07-10 08:07:44

2010-02-24 10:56:40

Linux管理

2010-10-19 09:35:08

Ubuntu 10.1云環(huán)境

2010-09-08 14:37:08

SQL server安裝

2022-01-04 12:51:40

Ubuntu服務(wù)器桌面版

2009-04-04 09:31:34

Windows 7微軟操作系統(tǒng)

2009-04-07 08:49:46

微軟Windows 7操作系統(tǒng)

2012-04-18 10:54:09

2010-10-19 09:08:08

Ubuntu 10.1云服務(wù)

2011-01-07 09:25:35

LinuxDHCP服務(wù)器

2009-12-30 14:45:23

Ubuntu 9.10

2014-05-21 15:42:12

OS X補(bǔ)丁

2009-05-12 08:44:49

微軟Windows 7操作系統(tǒng)

2011-09-06 15:38:50

UbuntuUbuntu Serv

2009-04-08 08:46:37

Windows 7微軟操作系統(tǒng)

2012-10-22 10:42:51

服務(wù)器打樁機(jī)AMD

2009-08-31 08:37:43

Windows Ser系統(tǒng)安裝圖解

2009-12-01 09:10:19

Ubuntu 9.10
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號