2007年7月30日 星期一

AMD:四核Opteron虛擬化加速


‧ AMD:四核Opteron虛擬化加速
CNET新聞專區:Stephen Shankland  11/10/2006


AMD的四核Opteron處理器(代號巴塞隆納「Barcelona」) 預定2007年中推出,將包含加速虛擬化(virtualization)的功能。
虛擬化讓一台伺服器可同時執行多重的作業系統,有助於提昇執行效率。但問題是,用稱為hypervisor的虛擬機器管理軟體來跑作業系統,執行效率比作業系統單獨執行來得差。
AMD技術設計團隊要角Ben Sander在秋季處理器論壇會上演講時表示,Barcelona具有特定的功能,可解決一部分效能問題。
英特爾與AMD正在x86伺服器市場大搶市占率。英特爾的Xeon晶片率先提供虛擬化的某些硬體支援,但AMD最新型的處理器隨即跟進。
除了虛擬化之外,晶片雙雄也在其他領域較勁,例如多核心處理器。英特爾「Clovertown」版的Xeon把兩顆雙核Xeon 5100 "Woodcrest"處理器封裝在一起,以達到今年11月推出四核處理器的目標。AMD的Barcelona則在單一矽晶上植入四個處理器核心。
這麼一來就形成一種效能問題,因為作業系統習慣處理晶片裡稱為「轉譯旁觀緩衝區」(TLB)的部分,也就是把作業系統對應記憶位址轉化為硬體所用實際位址的部分。但因為實際管理記憶體的是hypervisor,虛擬化使得這項任務的執行又隔了一層。
為解決此問題,hypervisor採用所謂「shadow paging」軟體。Barcelona引進包括「nested page tables」和記憶位址快取等技術,以加速記憶存取的速度。
Sander指出,這很重要,Hypervisor多達75%的時間可能都耗在處理這類記憶問題。
此外,Barcelona也引進新的指令,用來縮短晶片的「world switch time」,即晶片在客座作業系統模式與hypervisor模式之間作切換所用的時間。這種切換過程通常需要大約1,000到2,000個處理器時脈周 期,但用新指令可縮短25%左右。
Sander另外也描述Barcelona的其他功能,例如每個處理核心將搭配64KB第一層快取記憶體,以及512KB的第二層快取。四個核心將共同2MB第三層快取,但容量還可擴充。
他說,Barcelona處理的實體記憶容量比目前的Opterons大。今天的最大處理量是1兆位元組(TB)--低階的AMD伺服器還辦不到--但Barcelona可支援256TB。
英特爾新一代雙處理器伺服器已改用稱一種新的記憶技術,稱為FB-DIMM (全緩衝雙重內崁式記憶體模組),但Sander說,AMD目前暫不採用此技術。Barcelona內建FB-DIMM的功能,但暫不使用,因為FB- DIMM比標準DDR2記憶體的耗電量高,通訊延遲時間也較長。
Sander說,AMD會「在適當時機」轉換到FB-DIMM,但顯然至少要等到第二代(FB-DIMM 2)問世時再議。
他說:「我們認為,不宜在第一代FB-DIMM就轉換,畢竟還必須靠記憶控制器支持。」
他指出,Barcelona搭配雙重的記憶控制器,用來讀寫擷取自記憶體的資料。使用的記憶控制器數量雖與目前的Opteron相同,但Barcelona用的記憶控制器能單獨運作。(唐慧文/譯)

四核時代來臨 拉抬記憶體技術轉進DDR3

‧四核時代來臨 拉抬記憶體技術轉進DDR3

記者曠文溱/洛杉磯報導  13/10/2006

全球最大DRAM廠商金士頓(Kingston)表示,隨著英特爾和AMD兩大處理器巨頭將在今明兩年推出四核心處理器,將帶動DDR3技術的採用。

DDR2方才在今年成為主流,Kingston即開始預言DDR3技術將隨著多核心處理器時代的來臨而開始脫離工程測試階段,在明年正式商品化。原因即在於多核心技術將促使晶片組能夠處理的資料量更大,為彰顯及跟進前者所帶來的效益,需要更快速、也更節電的記憶體技術支援。

「Kingston的DDR3 DRAM已經開始提供工程樣本,預計明年開始量產,在2009年將成為市場主流,取代現有DDR2的位置,」Kingston資深工程經理Richard Kanadjian說。

DDR、DDR2和DDR3都是屬於SDRAM家族的記憶體產品。以DDR為例,正式的稱法應是DDR SDRAM(雙通道同步動態隨機存取記憶體,Double Date Rate Synchronous Dynamic Random Access Memory),即為具有雙倍資料傳輸率之SDRAM,電腦系統同時利用系統匯流排時脈的上升和下降來存取記憶體資料,令記憶體的頻寬增加一倍,優於傳統的SDRAM。

DDR2和DDR3即為更新一代的DDR SDRM產品。DDR2係基於現有DDR記憶體技術,並在關鍵領域效能有所提升。舉例而言,DDR2擁有4bit的數據預先存取能力,在同等核心頻率下, DDR2擁有兩倍的DDR數據傳輸率。

DDR3則是更新一代的架構。雖然JEDEC(記憶體工業標準組織)尚未確立DDR3的標準,但是大體而言,DDR3 採用 8 bit 預先取設計,較 DDR2 4bit 的預取設計為倍數成長,運算時脈介於 800MHz -1600MHz之間 。此外,DDR3 的規格要求將電壓控制在 1.5V ,較 DDR2 的 1.8V 更為省電。此外, DDR3 採用 ASR(Automatic self-refresh) 的設計,以確保在資料不遺失情況下,儘量減少更新頻率來降低溫度。

拜英特爾和AMD宣佈轉進DDR2技術所賜——英特爾宣佈915到975系統晶片組的平台開始規定使用DDR2記憶體模組,而AMD也表示在 Socket939架構轉換到SocketM2,需要與DDR2搭配使用。致使 DDR2儼然一副取代傳統DDR記憶體的架式,而DRAM價格的持續下滑,也令DDR2取代DDR的腳步加快許多。

根據國內市場研究機構DRAM exchange的產業研究報告,DDR2預計在2006年Q2比例超越50%。

在Kingston宣佈不自外於DDR3技術之前,事實上其他記憶體模組大廠如三星、 Infineon、ELPIDA 等 DRAM 廠業已在今年Computex展上宣佈成功開發出 DDR3 藉此來表明自己實力。對此Kingston表示,DDR3技術研發一直都在進行,但是一直到英特爾確立了桌上型和伺服器四核心處理器(代號分別為 Clovertown和 Kentsfield)將從2007上半年提前到今年第四季推出,AMD也表示明年中推出四核心Opteron之後,Kingston才比較願意發表 DDR3的產品時程。

「否則看不出來DDR3的市場接受原因在哪裡,」Kingston亞太業務行銷總監徐石琦說。

除了四核心技術將拉抬DDR3應用外,英特爾和AMD兩大處理器廠商的動作,也顯示DDR3已納入技術重點。外電報導,轉進DDR2腳步較英特爾緩慢的 AMD,已與另一半導體廠商SimpleTech宣佈合作,計畫在JEDEC(記憶體工業標準組織)會議中,展開訂定基於DDR3的SDRAM記憶體模組的功能規格。

而英特爾在明年第二、三季,將陸續推出多款名為Bearlake晶片组,正式提供對DDR3的支持。

根据英特爾的預計,DDR3甫面市的價格要比DDR2高出60%左右,不過到2008年底就會降低到只有 10%,在2009年DDR3正式成為主流。

Core 2 Duo處理器規格



‧Core 2 Duo處理器兵器譜

「桌上平台」世代交替
原代號Conroe的桌上型Core 2 Duo,將採用「E6x00」的編號命名,最高時脈2.66GHz、FSB 1066MHz、L2 4MB。極致版頂級CPU由Core 2 Extreme X6800接替,時脈為2.93MHz。這個系列的對手,是AMD新款AM2腳位的Athlon 64 x2處理器。
可搭配的系統晶片組包括新款的Intel 975X、965系列,也有部分舊款晶片組可藉韌體升級來提供支援。採用Core 2 Duo的桌上型電腦預定於8月初出貨,剛好趕搭上應用展展期,但目前部份通路已經有產品提早上市了。
桌上平台Core 2 Duo處理器﹙Conroe﹚:
型號
時脈 (GHz)
FSB(MHz)
L2(MB)
千顆定價 (美元)
VT
EM64T
X6800
(Core 2 Extreme)
2.93
1066
4
999
V
V
E6700
2.66
1066
4
530
V
V
E6600
2.4
1066
4
316
V
V
E6400
2.13
1066
2
224
V
V
E6300
1.86
1066
2
183
V
V
「行動平台」接棒上場
原代號Merom的行動平台Core 2 Duo,延伸自原本Yonah設計,將依L2容量分為兩等級,採用「T7x00」(L2=4MB)以及「T5x00」(L2=2MB)的編號命名,最高時 脈2.33GHz,FSB則仍維持667MHz,仍未進一步提升到800MHz。這個系列的對手,是AMD的雙核NB處理器Turion 64 x2。
在明年Santa Rosa平台推出前,Merom將沿用現在的Intel 945系列晶片組,處理器腳位也未作改變,因此現有雙核NB可以直接作升級。 行動平台Core 2 Duo上市時間稍晚於桌上平台,預定將在8月底上市。定價目前尚未釋出,但根據市場上的推測,到時價格會與現在同時脈等級的Core Duo「差不多」。
行動平台Core 2 Duo處理器﹙Merom﹚:
型號
時脈 (GHz)
FSB(MHz)
L2(MB)
千顆定價 (美元)
VT
EM64T
T7600
2.33
667
4
n/a
V
V
T7400
2.16
667
4
n/a
V
V
T7200
2.0
667
4
n/a
V
V
T5600
1.83
667
2
n/a
V
V
T5500
1.66
667
2
n/a
V
V
Core Duo處理器﹙Yonah﹚:
型號
時脈 (GHz)
FSB(MHz)
L2(MB)
千顆定價 (美元)
VT
EM64T
T2700
2.33
667
2
637
V
 
T2600
2.16
667
2
423
V
 
T2500
2.0
667
2
294
V
 
T2400
1.83
667
2
241
V
 
T2300E
1.66
667
2
209
 
 

2007年7月29日 星期日

ISBN 13碼新制 2007 年您準備好了嗎?

‧ISBN 13碼新制 2007 年您準備好了嗎? http://lib.ncl.edu.tw/isbn/download/isbn13_report2.pdf

系列報導之二

國家圖書館國際標準書號中心

國際 ISBN 總部,為因應國際間圖書出版量大幅增長及與商品條碼(EAN-13碼)結合,正式宣佈:自 2007 年 1 月起國際標準書號(ISBN)正式全面實施 13碼新制。玆簡單圖例說明「ISBN 13 碼新制」主要變動情形。

ISBN13碼=978+9(位原 ISBN 前 9 碼)+1(位重新計算之檢查碼)

簡單的說,即將現有 ISBN 的第一段前置碼(Prefix)改為「978」,加上「9位原 ISBN 前 9 碼」,以及「1 位重新計算過之檢查碼」。如此就可與圖書之商品條碼(EAN-13 碼)完全相符。也就是說:自 2007 年 1 月以後,印製在圖書封底(橫排本為右下方,直排本為左下方)之條碼上方須印製有連字符號的 13 碼ISBN;條碼下方則印製與圖書商品條碼完全相同的 13 碼數字串,惟此項字串間沒有連字號或空格。(如上圖例說明)

當然,國家圖書館國際標準書號中心,也自 2007(民國 96)年 1 月 1 日起,對於臺灣地區所有出版的新書,只能編配 13 碼的 ISBN。圖書出版業、發行業和圖書館界所印製或建立的新書出版目錄、圖書訂購以及與圖書相關的商業交易系統(如電子資料交換(EDI))等,也將同步採行 13 碼的 ISBN。

國際 ISBN 總部,特別呼籲提醒「圖書出版界」或「出版機構」應該立刻檢視下列相關作業系統,以因應未來的改變。例如:

1.ISBN 編號管理系統;
2.產品資訊系統;
3.編輯管理系統;
4.生產製作系統;
5.電子書供應系統;
6.訂購與倉庫管理系統;
7.會計暨財務系統;
8.版權、契約及權利金管理系統。

對於「圖書發行業」或「銷售單位(如書店、網路書店)」,國際 ISBN 總部進一步建議應該檢視的系統有:

1.訂購系統;
2.庫存管理系統;
3.退貨管理系統;
4.銷售管理系統(POS);
5.會計暨財務系統。

至於「圖書館界」則需立刻檢視的作業系統包括:

1.採購作業系統(包括與書商間之交易訊息);
2.編目及其他書目資料登錄系統;
3.館際互借系統;
4.書目記錄輸入程序;
5.條碼閱讀機;
6.館藏目錄;
7.資訊入口/跨資料庫檢索(metasearch)系統;
8.其他 ISBN 相關功能與系統。

國家圖書館國際標準書號中心為方便圖書出版業界、政府機關及其出版部門和關心人士了解「ISBN 新制」的改變,陸續於「全國新書資訊網」(點選「ISBN 13 碼」)將 13 碼結構及其相關標準資料、「13 碼 ISBN 即將於 2007 年起施行—您準備好了嗎?」(PDF 檔),以及連結至國際 ISBN 總部提供之國際標準書號10 碼轉 13 碼轉換軟體等訊息公佈,歡迎有興趣民眾上網查詢。

專案服務專線,
電話:(02)23619132 轉 701 至 703;
傳真:(02)23115330;
電子信箱:isbn@msg.ncl.edu.tw;
網址:http://lib.ncl.edu.tw/isbn/index.htm

一窺更快速的Power6、Cell晶片

‧一窺更快速的Power6、Cell晶片
http://taiwan.cnet.com/news/hardware/0,2000064553,20113492,00.htm
CNET新聞專區:Stephen Shankland  02/01/2007
根據一場半導體會議的活動表單研判,處理器時脈速度的競賽尚未結束。
國際固態電路會議(ISSCC)訂於2月11日在舊金山登場。會議資料顯示,IBM的Power6處理器在高效能狀態下,時脈速度超過5GHz;由IBM、Sony和東芝共同研發的次世代Cell寬頻引擎(Cell Broadband Engine)處理器,速度更進一步加快到6GHz。
時脈有如電子裝置的心跳,作為處理器運作同步化的基準。晶片製造商為改良處理器的執行效能,一直努力提升時脈速度,但卻遭遇技術瓶頸,因為頻率提高往往會導致耗電量和廢熱擴增。
因此,英特爾與超微公司(AMD)改弦易轍,轉而在單顆矽晶上添加多重的處理核心。這種作法可讓電腦同時執行眾多的任務。不過,若能同時提高時脈速度,意味單項任務的執行速度會加快。
第一代的Cell寬頻引擎處理器最近初試身手,用於Sony新推出的PlayStation 3遊戲主機,執行速度可達4GHz。ISSCC的會議議程表顯示,第二代晶片的執行速度將提高到6GHz。而且,這款新晶片將採用雙電源供應,有助於提高記憶效能--這正是當今電腦設計上的一大瓶頸。
伺服器晶片方面,IBM已預告將在2007年推出Power6處理器,執行速度介於4GHz與5GHz之間。但從ISSCC議程表看來,藍色巨人表示,這款新型伺服器晶片在執行高效能應用程式時,速度可「超越5GHz」,而且「執行具省電意識的應用程式時,耗電量低於100瓦」。這種節能效益大約與AMD主流95瓦的Opteron晶片和80瓦英特爾Xeon晶片旗鼓相當。
Power6內含7億個電晶體,尺寸約341平方毫米。晶片的表面積愈小,可從同一片晶圓上切割出來的晶片數目就愈多,平均每顆晶片的製造成本也就降低,因此能賦予電腦廠商更強的競爭力。Power6和第二代的Cell一樣,也採用65奈米製程。
同時,英特爾也沒閒著。9月間,英特爾展示一款具80個核心的晶片原型,每秒可執行1兆次的數學運算。英特爾將在ISSCC場合進一步詳述這款晶片的技術細節,包括把每秒運算次數提高到1.28兆次。
會議議程表顯示,這顆晶片的尺寸為275平方毫米--比9月時的303平方毫米縮小--執行速度達4GHz。英特爾指出,這款晶片採用「晶片上網路」(network-on-chip;NoC)架構,內含1億個電晶體,並釋出98瓦的廢熱。英特爾把每個核心稱為「tile」,而每個「tile」都具備網路切換功能,用來導引資料封包。
英特爾發言人Erica Fields說:「設計這顆晶片,是把它當作研究工具,用來測試多核心處理器的互連(interconnect )策略。這項研究的目標包括測試新晶片設計方法,以及探討「如何在多重核心之間,以及核心與記憶體之間,快速傳輸數兆位元組計的資料」。她表示,這款原型晶片不能執行支援英特爾晶片的傳統軟體。
這場ISSCC會議的處理器相關討論議題還包括:
* 昇陽(Sun Microsystems)將提供Niagara 2處理器的詳細資料。這款處理器尺寸為342平方毫米,含5億個電晶體,有八個核心,可同時執行64串指令序列(即「執行緒」)。
* IC設計公司P.A. Semi將發表新的雙核晶片,據稱最大耗電量25瓦,執行速度達2GHz,尺寸為115平均毫米。
* AMD將聚焦於預定2007年中問世的四核心Barcelona處理器。
(唐慧文/譯)
※ 相關報導:
* International Solid State Circuits Conference (ISSCC)
http://www.isscc.org/isscc/

比較Ubuntu, Macintosh and Windows XP

‧比較Ubuntu, Macintosh and Windows XP
http://lxer.com/lxer/story/56437/index.html


如果你認為一位 Linux 的提倡者沒有辦法對桌上型作業系統進行客觀 的分析,那麼,你必須讀這篇報導。你可能會發現你自己會對一些殘酷 的坦白感到驚訝,這些省略掉自由軟體的哲學。

這三種桌上型作業系統都有令人讚賞的品質。每一種種都有其弱點。最近參加了一場使用者集會(User Group Fair),我有了另一次機會可以看見它們在工作。自從我使用過這三種平台,並且在上面撰寫程式之後,賦予我一些公正的洞察力。

背景

我有數台麥金塔電腦。我有新世界以及舊世界 bios 的機器,包含數款老式的 6500, 7600 等等,這些都沒有辦法裝 OS X。我也有藍白機,以及一台米黃色的工作群組 server(應指 Power Macintosh G3),數台 Power Mac G4, Cube, iBook 等等。我記得從 OS 9 過度到 OS X。我喜歡它。

我從 DOS 時代開始使用微軟產品,一直到早期的 Windows 2.0, 3.0, 3.11, Windows 95 98 ME, NT3.51 - 4.0, 2000 與 XP。我擁有從 Windows 3.1 以來的所有授權以及媒體。我管理大型的 IBM 網路,桌上型電腦跑 OS/2,server 跑 LAN Server 3。不過我將不會提到我的 NetWare
經歷。

我也使用過 Solaris, AIX 以及從 Slackware 3.x 開始使用 Linux。我甚至在 Sun 的 IPC(老式的)、Sparc 5 與 10 工作站上安裝過 Red Hat。我現在則在日常使用的 server 與工作站當中使用 SUSE SLES 與 Pro, RHEL, Fedora, Debian 與 Ubuntu。

每一種系統都有不同的程式架構,OS X 比 Windows 更靠近 Linux。OS X 在其內部是執行 UNIX 的架構。然而 OS X 的桌上界面一點都不像 Linux 或是或是其他依靠 X(X Window System) 的 UNICES。你可以直接在 Mac 內使用 X。

Windows 與 OS X 及 Linux 相較起來有著截然不同的程式結構。Windows 相當依賴它的使用者界面,這些界面隨著時間逐步發展。程式設計則涉及使用 Windows sell 延伸功能。XP 使用 NT 核心來管理檔案系統、內部而且透過圖形化 shell 來溝通。

OS X 與 Linux 則使用完全不同的方式來使用核心延伸功能,而單獨的程式則在使用者界面 shell 當中執行。UNIX 的 shell 獨立於核心執行,研發者稱為 userland。

UNIX 以及 Linux 程式設計者考慮他們的程式方法比 Windows 的要更好。Windows 的開發者考慮到的是界面延伸功能要更容易使用,並提供了快速應用程式開發(RAD)環境。當你客觀的觀察它們,每一種都有其可取之處。當然,麥金塔的研發者將會表示,自從他們改用 UNIX 的(開發)方式後,他們都有更穩定的經歷。

麥金塔

我接觸的第一部 Mac 被設定成一部桌上出版機器。我記得喜歡它,因為它節省我們樣式設定以及圖形、貼上等成本花費。然後我開始在 DoE(美能源部)實驗室將 Mac 當作製作機器。

就個人使用而言,我使用 Mac 來製作圖形、聲音以及開發網站。OS X 則做了很大的改變,自此我從未在工作當中重新開機過。我也知道在 UNIX 到處遊走的方法,這允許我使用我以前從未用過的網際網路應用程式。

我發現開發者工具箱當有用。我享受這樣的界面。當我購買 "OS X, the Missing Manual" 之後,我發現我自己探索更多系統。這本書也幫助我發現使用 Winodws 與 Linux 的新方法,這些我之前從不知道。

Windows XP

我記得我使用 XP 三個月沒有重新開機過。我不記得之前發生過的事了。我自 Windows 95 到來時開始收集微軟認證。我使用 Excel 5 以及 Access 來開發財務工具。稍後,我成為系統管理員,並且跑一對很大型的 NT 網路。

XP 在我們的防火牆後面顯得很安全。在三個月後我的系統開始遲鈍,並且有被惡意軟體感染的傾向。我持續規律地維護系統,包括重組磁碟,砍殺不需要的檔案,以及檢查登錄檔。

我比較喜歡 XP 更勝於之前的微軟 OS,並且還有一台工作站在我的實驗室當中執行。當第一台 XP 首次到達時我用它來建立一個 plug-in 或是給 Outlook 用的 Exchange Client Extension,這允許它可以在 Linux 的群組軟體 server 上執行。這台 server 與 Exchange 對等(peered),並且使用自由軟體,例如:exim, apache, OpenLDAP, Cyrus IMAP 等等。

比較

我從民調、分析報告以及個人經驗當中結合資訊,來比較每一個系統。我對於自由軟體存有個人的偏見,不過我戴上我經過認證的『分類帽』,盡力保留剩下來的客觀。


Ubuntu

對於程式編寫、管理、取代一台 UNIX 工作站並且適度扮演桌上型電腦,Linux 做的不錯。使用關鍵應用程式例如:Openoffice.org 當作 Office 軟體、Evolution 來收發 e-mail、GAIM 當作即時通、Firefox 當作網頁瀏覽器、GIMP 來處理處理圖案,CUPS 當作列印系統,Samba 來交換檔案,Linux 在這些方面都有適用的地方。它也比其他作業系統用掉更少的資源。

Ubuntu 在比較的目的當中運作良好。Ubuntu 在 Linux 的桌面市場上已經有超過 25% 的佔有率,相較之下,第二名的 SUSE 只有 11.4%。所以我將在報告中使用 Ubuntu 來代表 Linux 的桌面環境。

就像所有的 Linux 桌面環境,Ubuntu 有其限制。它缺乏諸如:Photoshop, Framemaker, Pagemaker, Visio, Access, Quickbooks, 一個 PDF 轉換器,合法的 DVD 播放程式以及最重要的所得稅申報軟體。沒有了這些程式,直接移植到 Linux,Ubuntu 依然是中等的桌面環境。

我每天使用 Ubuntu 超過 12 個小時。所以我並沒有因為缺乏這些軟體而發牢騷。我發現 GIMP 可以滿足並取代 Photoshop,而且我才剛完成最新版 Photoshop 30 日的測試期。

Linux 桌面環境對於開發者而言有許多優勢更勝於劣勢,特別是用來設計網站服務、移植應用軟體以及工程工作。它可以在普通價格的硬體上執行,並且在處理圖形密集的軟體時花費更少的記憶體。我可以用 512MB 的記憶體來表現其他 OS 需要 1GB 記憶體才能辦到的工作。

總的來說,Ubuntu 在取代 UNIX 工作站方面表現相當優異,並且擁有更優秀的桌面。它符合企業中中階桌上型使用者 80 - 90% 的需要。

家庭使用者會發現它是個優良的 OS,特別是它的穩定性、簡單易用而且可以合法的使用 Xine, Mplayer 等軟體。影、音軟體在美國只有 Mac 與 Windows 才能用。

一個修改過的 Ubuntu 能給使用者除了所得稅申報軟體之外所有想要東西。VMware 與 Win4Lin 對於一些想要使用 Windows 應用軟體的人有用。TransGaming Technologies 則為知名的Windows 遊戲提供類似的模擬。


Windows XP

XP 是一個能夠滿足眾多應用軟體需求的 OS。龐大的銷售量引誘獨立軟體供應商,例如:Adobe, AutoDesk, Intuit, Corel, Cyberlink, RIM 以及主要以 Win32 API 開發的公司。微軟自己的應用軟體在 XP 的環境中亦運作良好。

Windows XP 都已經預先安裝在每一個電腦製造商生產的產品當中,除了 Apple 之外。較低的 OEM 售價相對於高價的零售價使得 XP 佔據大部分的電腦。低成本對於 IBM, HP, Dell, Gateway 之類的製造商,以及第二層或是白牌(DIY)製造商而言,允許它們修改它們的軟體與硬體來執行 XP。

自從 Windows XP 首次露面以來,微軟已經透過許多安全修補與 service packs 來改善它。由於已有許多系統部署,Windows XP 對於惡意軟體更容易受傷。XP 仍是 PC 使用者的主流。

Windows XP 與 Linux, 麥金塔或 UNIX 相較之下不見得有利,它不同於一個開發平台。微軟的開發工具嚴格的在 Windows 上工作,並且不允許在不同桌面上跨平台執行(例如:Mac, Linux 或非 Intel 處理器)。不過這對於應用軟體相當充足的 XP 使用者而言這應該不是問題。

Windows installed 基本上表示已經有許多在這系統上受過訓練的人成為終端使用者。這對於他們採用其他系統會造成障礙。現在有眾多 MCES 存在。這些工程師以及產品專家可以快速修復使用者的問題。他們看起來也沒有搬遷到其他平台的需求。

雖然成本解省並沒有成為微軟的優勢,儘管他們嘗試要人們相信他們的 " Get the Facts" 戰役。

Macintosh OS X

麥金塔 OS X 只能在限定數量的硬體裝置上執行,這讓 Apple Computers 能夠提供一個穩定以及高效能的產品。蘋果的入門產品例如 Mac mini 提供一個低成本、高價值得多媒體平台。

蘋果的高階桌上型環境例如:Power Mac G5,雙核心、四核心的 PowerPC 處理器提供圖形以及多媒體使用者卓越的效能。Powerbook 對於開發者與創作者之間佔有相似的位置。有不少人也使用高階產品當作 server 或是開發環境。

蘋果仍是 PC 市場的主要創新者。蘋果製造優越的顯示器以及周邊設備。使用者顯然要為蘋果的產品付出更多的錢,因為它的高效能與創新。

然而,蘋果在之前因為它缺乏軟體供應而比價昂貴還要受到更多的批評。OS X 提供了比一個差強人意的主機還要更多的東西,例如:財務軟體 Intuit、Adobe 的主要供應與微軟的 Office 軟體。蘋果亦從 Linux 使用者慣常見到的,由自由軟體所提供的軟體當中獲得相同利益。蘋果也提供了許多廣泛的原生應用軟體,例如:DVD 播放軟體以及多媒體工具。

蘋果麥金塔並不如同 Linux 那樣適合中階的 PC 使用者。因為無法在常見的硬體上運作,讓蘋果在企業當中成為一種特別的產品。可以買的起蘋果產品的人都對 Mac 與 OS X 都有特別的熱愛。

近一點看

Mac 的 OS X 以及微軟的 Windows XP 在教育的領域有一項優勢超越 Linux ,在那裡存有諸如外國語言的課程需求。這方面的供應缺乏讓 Linux 用於教育的需求退縮。

直到平常的硬體製造商以及獨立軟體供應商能夠推出 for Linux 的產品之前,在桌上型區域當中的人口將會維持固定不變。異議仍會出現在中階桌上型的領域內。相關的分析會繼續把Windows 推薦給企業,直到獨立軟體供應商將它們軟體移植到 Linux,或是能夠滿足所需的替代品出現。

對於軟體體製造者來說,提供產品給 Linux 得冒相當顯著的風險。例如:Linux 設群比較偏好自由軟體,所以獨立軟體供應商不能夠從中回收研發費用。

其次,接連不斷的研發循環對於像 Adobe 與 Intuit 之類的公司是至關緊要的,它的費用可能會因為 Linux 的每一次釋出與升級而增加。Ubuntu 擁有以六個月唯一週期的釋出週期,並且經常更新應用軟體以及函式庫。這會嚇跑獨立軟體供應商。

如果獨立軟體供應商無法解決 Linux 不斷升級的循環,它們依然不知道 Linux 是否能成為微軟之外的桌面環境替代者。也許,Adobe 與 Intuit 產品的利益會讓 Linux 超載(supercharge)。

一些公司已經領悟到 UNIX 桌上環境的風險,並且被激怒(burned badly)。在此期間,Windows 將會是桌上環境的大宗。麥金塔將依然會是行家的選擇,而 Ubuntu 則依然會是中階桌上型環境以及開發者最受歡迎的平台。

Mac OS X 為何能夠跑的更快?

‧Mac OS X 為何能夠跑的更快?
Making An Operating System Faster

http://www.kernelthread.com/mac/apme/optimizations/


Introduction

電腦硬體的效能通常只會隨著時間增加而而強大。即便這個說法也可以用來表示軟體,不過軟體效能增進的比率還是比硬體慢上許多。事實上,有許多人認為,有很多軟體,其效能反而會隨著時間增加而持續不斷的下降。此外,要建立一個客觀的效能評斷標準亦十分困難,更別提複雜程度如同作業系統一般的軟體了:一個 "更快的 OS(作業系統)" 是一個非常主觀,而且
依賴文章脈絡的用詞。

一個 OS 的結構要比普通硬體來的長壽許多。OS 的研究者通常不會提供更新、更快的演算法,如同硬體那樣固定、頻繁的發生更新。然而,那些牽連到 "製造(producing)" OS 的人 -- 包括研究者,設計者,實作者,甚至是行銷者 -- 都負有艱鉅的任務,要確保相關的效能曲線能夠跟上腳步。在 OS 市場的倖存者並不多(有些人可能會爭辯,就修辭學上而言,在這根本只有一個)。然而,它還是一個十分頑固(tough)的市場,而且 OS 供應商必須要不間斷的 "改進" 它們的系統。

現在,要詢問不喜歡在每次 OS 釋出循環當中,都遇到驚天動地的演算法突破的你,如何使你的系統更快?這個問題有多重的解決方案:

* Rather than looking for generalized optimizations pedantically, you could look into making the system faster for one (or more, but a few) "common" usage scenario. (你可以用常見的一種,或數種方式來使系統最佳化)

* You could consider numerous minor and mundane performance improvements, even if they are technically unimpressive/uninteresting, or ugly/kludgy to implement. Together, such improvements could lead to a perceptible performance gain from the users' point of view.
(你可以用許多之微末節的、通俗的效能增進方式,甚至它是醜陋的方法亦無妨,當然以使用者的觀點而言,效能的確是增進了。)

* You could vary the granularity at which you would usually make improvements. For example, in addition to improving typical OS algorithms, you could look into improving more meta operations, such as the entire boot process.
(你可以在你想要修改的地方動手,通常也會使效能增進,例如:整個開機程序)

* The most important kind of performance is the one perceived by the eventual users of a system. Thus, in any usage scenario, a "faster workflow" would be tantamount to "higher performance".

It might be possible to make the workflow faster without making fundamental changes in the design and implementation of the components involved. With apriori knowledge of how the system would be typically used, you could rearrange the order in which things happen (even if the resulting order is unnatural or unclean), if doing so makes the user believe that things are
happening faster.
(效能最重要的增進在於終端使用者對於系統的感覺。因此,在許多情況下, "更快的流程" 通常代表 "更高的效能"。你可以依照系統的先天條件來安排使用順序,可以在不更動原有條件下達到效能增進的目的。如果要這麼做,要讓使用者相信事情變得更快了。)


Example: Mac OS X

這份文件提到 Apple 在增進 Mac OS X 效能方面(在最初的/根本的 OS 設計與實作之外)所作的十件。有些顯然是相當棒的點子,亦是等著被履行的的候選者;有些是給研發者的指導方針或是工具,幫助他們建造更高效能的應用程式,此外,還有些是從戰略性選擇角度來延伸效能的積極性(proactive)嘗試。

以下所考慮的十項優勢並沒有特別的先後順序考慮:

* BootCache
* Kernel Extensions Cache
* Hot File Clustering
* Working Set Detection
* On-the-fly Defragmentation
* Prebinding
* Helping Developers Create Code Faster
* Helping Developers Create Faster Code
* Journaling in HFS Plus
* Instant-on


1. BootCache

Mac OS X uses a boot-time optimization (effectively a smart read-ahead) that monitors the pattern of incoming read requests to a block device (the boot disk), and sorts the pattern into a "playlist", which is used to cluster reads into a private cache. This "boot cache" is then used for satisfying incoming read requests, if possible. The scheme also measures the cache hit rate, and stores the request pattern into a "history list" for being adaptive in future. If the hit rate is too low, the caching is disabled.

The loadable (sorted) read pattern is stored in /var/db/BootCache.playlist. Once this pattern is loaded, the cache comes into effect. The entire process is invisible from users.

This feature is only supported on the root device. Further, it requires at least 128 MB of physical RAM before it is enabled (automatically).

/System/Library/Extensions/BootCache.kext is the location of the kernel extension implementing the cache while Contents/Resources/BootCacheControl within that directory is the user-level control utility (it lets you load the playlist, among other things).

The effectiveness of BootCache can be gauged from the following: in a particular update to "Panther", a reference to BootCacheControl was broken. BootCache is started (via BootCacheControl, the control utility) in /etc/rc, and a prefetch tag is inserted (unless the system is booting in safe mode). /etc/rc looks for BootCacheControl in the Resources directory of the BootCache.kext bundle, as well as in /usr/sbin, and finds it in the former (it doesn't exist in the latter). However, another program (loginwindow.app) accesses /usr/sbin/BootCacheControl directly, and does not find it. For what it's worth, making BootCacheControl available in /usr/sbin, say via a symbolic link, reduces the boot time (measured from clicking on the "Restart" confirmation button to the point where absolutely everything has shown up on the system menu) from 135 seconds to 60 seconds on one of my machines.

2. Kernel Extensions Cache

There may be close to a hundred kernel extensions that are loaded on a typical Mac OS X system, and perhaps twice as many residing in the system's "Extensions" folder(s). Kernel extensions may have dependencies on other extensions. Rather than scan all these every time the system boots (or worse, every time an extension is to be loaded), Mac OS X uses caching for kernel extensions, and the kernel itself.

There are three types of kernel/kext caches used in this context:

  • The kernel cache contains the kernel code, linked kernel extensions, and info dictionaries of any number of kernel extensions. The default cache directory for this type of cache is /System/Library/Caches/com.apple.kernelcaches. The cache files in this directory are named kernelcache.XXXXXXXX, where the suffix is a 32-bit adler checksum (the same algorithm as used by Gzip).
  • The multi-extension, or mkext cache, contains multiple kernel extensions and their info directories. Such caches are used during early system startup. BootX, the bootloader, tries to load a previously cached list of device drivers (created/updated by /usr/sbin/kextcache). If the mkext cache is corrupt or missing, BootX would look in /System/Library/Extensions for extensions that are needed in the current scenario (as determined by the value of the OSBundleRequired property in the Info.plist file of the extension's bundle. The mkext cache exists by default as /System/Library/Extensions.mkext. You can use /usr/sbin/mkextunpack to extract the contents of a mkext archive.
  • The kext repository cache contains the info dictionaries for all kernel extensions in a single repository directory, including their plugins. This cache exists by default as /System/Library/Extensions.kextcache. Note that this file is simply a large property list (XML) file that is Gzip compressed.
3. Hot File Clustering

Hot File Clustering (HFC) aims to improve the performance of small, frequently accessed files on HFS Plus volumes. This optimization is currently used only on boot volumes. HFC is a multi-staged clustering scheme that records "hot" files (except journal files, and ideally quota files) on a volume, and moves them to the "hot space" on the volume (0.5% of the total filesystem size located at the end of the default metadata zone, which itself is at the start of the volume). The files are also defragmented. The various stages in this scheme are DISABLED, IDLE, BUSY, RECORDING, EVALUATION, EVICTION, and ADOPTION. At most 5000 files, and only files less than 10 MB in size are "adopted" under this scheme.

The "metadata zone" referred to in the above description is an area on disk that may be used by HFS Plus for storing volume metadata: the Allocation Bitmap File, the Extents Overflow File, the Journal File, the Catalog File, Quota Files, and Hot Files. Mac OS X 10.3.x places the metadata zone near the beginning of the volume, immediately after the volume header.

HFC (and the metadata zone policy) are used only on journaled HFS Plus volumes that are at least 10 GB in size.

Note that what constitutes the set of hot files on your system will depend on your usage pattern over a few days. If you are doing extensive C programming for a few days, say, then it is likely that many of your hot files will be C headers. You can use hfsdebug to explore the working of Hot File Clustering.

% sudo hfsdebug -H -t 10 # Top 10 Hottest Files on the Volume rank temperature cnid path 1 537 7453 Macintosh HD:/usr/share/zoneinfo/US/Pacific 2 291 7485 Macintosh HD:/private/var/db/netinfo/local.nidb/Store.128 3 264 7486 Macintosh HD:/private/var/db/netinfo/local.nidb/Store.160 4 204 7495 Macintosh HD:/private/var/db/netinfo/local.nidb/Store.96 5 204 2299247 Macintosh HD:/Library/Receipts/iTunes4.pkg/Contents\ /Resources/package_version 6 192 102106 Macintosh HD:/usr/include/mach/boolean.h 7 192 102156 Macintosh HD:/usr/include/mach/machine/boolean.h 8 192 102179 Macintosh HD:/usr/include/mach/ppc/boolean.h 9 188 98711 Macintosh HD:/usr/include/string.h 10 178 28725 Macintosh HD:/HFS+ Private Data/iNode1038632980 3365 active Hot Files.

4. Working Set Detection

The Mach kernel uses physical memory as a cache for virtual memory. When new pages are to be brought in as a result of page faults, the kernel would need to decide which pages to reclaim from amongst those that are currently in memory. For an application, the kernel should ideally keep those pages in memory that would be needed very soon.

In the Utopian OS, one would know ahead of time the pages an application references as it runs. There have been several algorithms that approximate such optimal page replacement. Another approach is to make use of the locality of reference of processes. According to the Principle of Locality, a process refers to a small, slowly changing subset of its set of pages. This subset is the Working Set. Studies have shown that the working set of a process needs to be resident (in-memory) in order for it to run with acceptable performance (that is, without causing an unacceptable number of page faults).

The Mac OS X kernel incorporates a subsystem (let us call it TWS, for Task Working Set) for detecting and maintaining the working sets of tasks. This subsystem is integrated with the kernel's page fault handling mechanism. TWS builds and maintains a profile of each task's fault behavior. The profiles are per-user, and are stored on-disk, under /var/vm/app_profile/. This information is then used during fault handling to determine which nearby pages should be brought in.

Several aspects of this scheme contribute to performance:

  • Bringing a number of pages in (that would hopefully be needed in the near future) results in a single large request to the pager.
  • TWS captures, and stores on disk, an application's (initial) working set the first time it is started (by a particular user). This file is used for seeding (sometimes called pre-heating) the application's working set, as its profile is built over time.
  • The locality of reference of memory is usually captured on disk (because files on disk usually have good locality on HFS Plus volumes). Thus, there should not be too much seeking involved in reading the working set from disk.

For a user with uid U, the application profiles are stored as two page cache files: #U_names and #U_data under /var/vm/app_profile/ (#U is the hexadecimal representation of U).

The "names" file, essentially a simple database, contains a header followed by profile elements:

typedef unsigned int natural_t; typedef natural_t vm_size_t; struct profile_names_header { unsigned int number_of_profiles; unsigned int user_id; unsigned int version; off_t element_array; unsigned int spare1; unsigned int spare2; unsigned int spare3; }; struct profile_element { off_t addr; vm_size_t size; unsigned int mod_date; unsigned int inode; char name[12]; };

The "data" file contains the actual working sets.

5. On-the-fly Defragmentation

When a file is opened on an HFS Plus volume, the following conditions are tested:

  • If the file is less than 20 MB in size
  • If the file is not already busy
  • If the file is not read-only
  • If the file has more than eight extents
  • If the system has been up for at least three minutes

If all of the above conditions are satisfied, the file is relocated -- it is defragmented on-the-fly.

File contiguity (regardless of file size) is promoted in general as a consequence of the extent-based allocation policy in HFS Plus, which also delays actual allocation. Refer to Fragmentation In HFS Plus Volumes for more details.

6. Prebinding

Mac OS X uses a concept called "prebinding" to optimize Mach-O (the default executable format) applications to launch faster (by reducing the work of the runtime linker).

The dynamic link editor resolves undefined symbols in an executable (and dynamic libraries) at run time. This activity involves mapping the dynamic code to free address ranges and computing the resultant symbol addresses. If a dynamic library is compiled with prebinding support, it can be predefined at a given (preferred) address range. This way, dyld can use predefined addresses to reference symbols in such a library. For this to work, libraries cannot have preferred addresses that overlap. Apple marks several address ranges as either "reserved" or "preferred" for its own software, and specifies allowable ranges for 3rd party (including the end users') libraries to use to support prebinding.

update_prebinding is run to (attempt to) synchronize prebinding information when new files are added to a system. This can be a time consuming process even if you add or change a single file, say, because all libraries and executables that might dynamically load the new file must be found (package information is used to help in this, and the process is further optimized by building a dependency graph), and eventually redo_prebinding is run to prebind files appropriately.

Prebinding is the reason you see the "Optimizing ..." message when you update the system, or install certain software.

/usr/bin/otool can be used to determine if a binary is prebound:


# otool -hv /usr/lib/libc.dylib
/usr/lib/libc.dylib:
Mach header
magic cputype cpusubtype filetype ncmds sizeofcmds flags
MH_MAGIC PPC ALL DYLIB 10 1940 \
NOUNDEFS DYLDLINK PREBOUND SPLIT_SEGS TWOLEVEL


7. Helping Developers Create Code Faster

Mac OS X includes a few optimizations that benefit developers by making development workflow -- the edit-compile-debug cycle -- faster. Some of these were introduced with Mac OS X Panther.

  • Precompiled Headers: Xcode (gcc, specifically) supports precompiled headers. Xcode uses this functionality to precompile prefix headers.



% cat foo.h
#define FOO 10
% cat foo.c
#include "foo.h"
#include <stdio.h>

int
main()
{
printf("%d\n", FOO);
}
% ls foo.*
foo.c foo.h
% gcc -x c-header -c foo.h
% ls foo.*
foo.c foo.h foo.gch
% gcc -o foo foo.c
% ./foo
10
% rm foo.h
% gcc -o foo foo.c
% ./foo
10


  • Distributed Builds: Xcode (through distcc) supports distributed builds, wherein it is possible to distribute builds across several machines on the network.
  • Predictive compilation runs the compiler in the background (as soon as it can, even as you edit the source). Once you are ready to build, the hope is that much of the building would have been done already.
  • Zero Link, a feature useful for development builds, links at runtime instead of compile time, whereby only code needed to run the application is linked in and loaded (that is, as an application runs within Xcode, each object file is linked as needed). A related feature is "Fix and Continue", courtesy which you can (with caveats) make a change to your code and have the code compiled and inserted into a running program.
8. Helping Developers Create Faster Code

Apple provides a variety of performance measurement/debugging tools for Mac OS X. Some of these are part of Mac OS X, while many others are available if you install the Apple Developer Tools. Quite expectedly, Apple encourages its own developers, as well as 3rd party developers, to create code in conformance with performance guidelines.

As mentioned earlier, perceived performance is quite important. For example, it is desirable for an application to display its menu bar and to start accepting user input as soon as possible. Reducing this initial response time might involve deferring certain initializations or reordering the "natural" sequence of events, etc.

Mac OS X Tools

Mac OS X includes several common GNU/Unix profiling/monitoring/dissecting tools, such as gprof, lsof, nm, top, vm_stat, and many more, such as:

Refer to Apple's documentation for these tools for more details.

  • fs_usage Report system calls and page faults related to filesystem activity.
  • heap List all malloc-allocated buffers in a process's heap.
  • ktrace/kdump Enable/view (from a trace) kernel process tracing.
  • leaks Search a process's for unreferenced malloc buffers.
  • malloc_history Show a process's malloc allocations.
  • otool Display various parts of an object file.
  • pagestuff Display information on specified pages of a Mach-O file.
  • sample Profile a process during a time interval.
  • sc_usage Show system call usage statistics.
  • vmmap Display virtual memory regions allocated in a process.

Performance Measurement Tools

  • MallocDebug Tracks and analyzes allocated memory.
  • ObjectAlloc Tracks Objective-C and Core Foundation object allocations and deallocations.
  • OpenGL Profiler Tool for profiling OpenGL applications.
  • PEFViewer Viewer for the contents of a PEF binary.
  • QuartzDebug Visualizer for an application's screen drawing behavior -- the areas being redrawn are flashed briefly.
  • Sampler Viewer for execution behavior of a program.
  • Spin Control Samples applications that cause the spinning cursor to appear.
  • Thread Viewer Viewer for threads and their activity.

CHUD Tools

The Computer Hardware Understanding Development (CHUD) Tools package, an optional installation, provides tools such as the following:

  • BigTop A graphical equivalent to top, vm_stat, etc. Displays system statistics.
  • CacheBasher Measures cache performance.
  • MONster Tool for collecting and visualizing hardware level performance data.
  • PMC Index Tool for searching Performance Monitoring Counter (PMC) events.
  • Reggie SE A viewer (and editor) for CPU and PCI configuration registers.
  • Saturn Tool for profiling applications at the function-call level, and visualizing the profile data.
  • Shark Performs system-wide sampling/profiling to create a profile of the execution behavior of a program, so as to help you understand where time is being spent as your code runs.
  • Skidmarks GT Processor performance benchmark (integer, floating-point, and vector benchmarks).
  • SpindownHD Utility for displaying the sleep/active status of attached drives.
  • acid Analyzes traces generated by amber (only the TT6E format).
  • amber Traces all threads of execution in a process, recording every instruction and data access to a trace file.
  • simg4 A cycle-accurate core simulator of the Motorola PowerPC G4 processor.
  • simg5 A cycle-accurate core simulator of the IBM PowerPC 970 (G5) processor.
9. Journaling in HFS Plus

While modern filesystems are often journaled by design, journaling came to HFS Plus rather late. Apple retrofitted journaling into HFS Plus as a supplementary mechanism to the erstwhile working of the filesystem, with Panther being the first version to have journaling turned on by default.

On a journaled HFS Plus volume, file object metadata and volume structures are journaled, but not file object data (fork contents, that is). The primary purpose of the journal is to make recovery faster and more reliable, in case a volume is unmounted uncleanly, but it may improve the performance of metadata operations.

10. Instant-on

Apple computers do not hibernate. Rather, when they "sleep", enough devices (in particular, the dynamic RAM) are kept alive (at the cost of some battery life, if the computer is running on battery power). Consequently, upon wakeup, the user perceives instant-on behavior: a very desirable effect.

Similarly, by default the system tries to keep network connections alive even if the machine sleeps. For example, if you login (via SSH, say) from one PowerBook to another, and both of them go to sleep, your login should stay alive within the constraints of the protocols.

Epilogue

Using Mac OS X as an example, we looked at a few kinds of optimizations that "OS people" (particularly those involved in creating an end-user system) adopt to improve performance. The integration of all such optimizations is perhaps even more important than the optimizations themselves. The end result should be a perceptible improvement in performance. A desirable manifestation of such improvement would be a faster workflow for the end-user.

來自地獄的 OS:Inferno

‧來自地獄的 OS:Inferno
http://www.vitanuova.com/inferno/index.html

這套號稱超越 Plan 9 的 OS(開發者是研發出 Plan 9 以及早期 UNIX 甚至是 C 語言的那票人)經過四版改進後,終於公開推出,有 Free 的,也有要錢的版本,另外他有自己專屬的授權: Vita Nuova Liberal Source Licence (http://www.vitanuova.com/inferno/licence.html)

Inferno 可以像一般 OS 那樣獨立執行,或是以應用程式的方式 "附身" 在其他 OS 之上跑,就如同普通的應用程式一樣。每個 Inferno 系統都是獨立執行的環境,不管在什麼硬體架構下,應用程式跑起來的感覺都一樣。它
甚至能成為 IE plug-in,在 IE 裡面跑其他屬於 Inferno 的軟體!

另外 Inferno 具有類似 Plan 9 的 Namespaces 架構,所有的資源都可以成為檔案,並且使用相同的協定來溝通。

程式開發軟體當然也少不了,他具備與 C 語言類似但更具威力的程式語言 Limbo 用來開發Inferno 的應用軟體,它容易了解,而且比 C++、Java 更容易除錯,另外它會把程式編譯成位元碼,因此可以像 Java一樣在橫跨各個 CPU 平台的 Inferno 系統上執行。另外,它還有類似UNIX 的指令,讓你更容易上手。

另一個有趣的地方是系統中相關的元件都是使用與西方地獄相關的名稱來命名的... 例如:冥河、渡船人、地獄邊境等等,果然是一套來自地獄的作業系統。

現在 Inferno 的 Acme IDE(包含:editor, shell, 以及 UI)推出了一個 for Windows 的計畫 Acme SAC,它是把 Acme IDE 跟 Inferno 系統一起封裝,讓它變成一個可以獨立在 Windows 下執行的應用軟體。有興趣的人可以到這裡參觀:http://www.caerwyn.com/acme/

MenuetOS - 純組合語言打造的 OS

‧MenuetOS - 純組合語言打造的 OS
http://www.menuetos.net/index.htm

MenuetOS 是 GEOS(http://www.osnews.com/story.php/15223/)這套作業系統的『現代版』完全以 32/64bit 的組合語言打造!!它與其他作業系統(如 UNIX)不同,也沒有遵循其他 posix 標準。它的設計目標是省略了層層相疊錯綜複雜的架構,因為那會使程式寫作更加複雜化,並且製造臭蟲。不過,Menuet 的應用程式架構不只是專為組合語言而寫,它的標頭(header)可以與其他任何程式語言並行。不過,這整個環境還是為 64/32 bits 的組語程式設計環境打造的。Menuets 敏捷的 GUI 很容易用組合語言掌控。


特色

- Pre-emptive multitasking 先佔式多工

- Responsive GUI with resolutions up to 1280x1024, 16 million colours 反應快速的 GUI,解析度可達 1280x1024 全彩。

- IDE: Editor/Macro Assembler for applications 應用程式的組合語言 開發環境。

- TCP/IP stack with Loopback & Ethernet drivers 具有 Loopback 與乙 太網路的 TCP/IP 堆疊

- Network applications include ftp/http/mp3 servers 網路相關應用包括 ftp/http/mp3 servers

- Free-form application windows 應用軟體視窗外觀沒有任何限制

- Hard real-time data fetch 夠猛的 real-time 資料取得

- Fits on a single floppy 一張磁片就能裝下

MIT 示範無線電力傳輸

‧MIT 示範無線電力傳輸
Goodbye wires... MIT experimentally demonstrates wireless power transfer

http://www.physorg.com/news100445957.html

想像這麼一種未來,在其中無線電力傳輸確實可行:手機、家事機器人、mp3 player、筆電以及其他可攜式裝置都能夠自行充電,而不在需要插入插座,讓我們從不可更改的、到處存在的電線當中解放。某些裝置當中,或許不在需要厚重的電池來運作。

MIT 物理系、電子工程系與電腦科學系與 ISN(軍事奈米科技研究所)所組成的一個團隊,已經實驗性的示範了達到這種未來願景相當重要的一步。該團隊由 Marin Soljacic 教授領軍,由於從最近的理論性質預言獲得領悟,他們能夠從離電源 2 公尺之外的地點點亮一顆 60W 的燈泡,兩者之間並沒有物理性連接。MIT 將其概念稱為 WiTricity(wireless electricity 的簡稱)。這項研究將會在 6/7 該期的 Science Express 上報導,亦即 Science 的線上優先發表版。

故事開始於幾年年的一個夜晚,Soljacic(發音:蘇業齊)穿著他的睡衣,凝視放在廚房角落的手機。"那個月我被手機的嗶聲提醒約六次,讓我知道我又忘了充電了。如果它能夠自行充電那對我而言真的很棒。" 為了讓這件事能夠成功,必須要找到一種方式以無線方式傳輸電力,所以 Soljacic 開始考慮關於哪種物理現象能夠讓此事成真。

幾世紀以來我們已知數種無線傳輸電力的方式。或許最為人所知的例子是電磁輻射,例如無線電波。雖然這種輻射對於資訊的無線傳輸十分理想,不過對於電力傳輸則否。因為輻射會朝各個方向四散,所以在自由空間中,電力必定會大量消耗。你或許會想到可以使用指向性電磁波輻射,例如雷射,不過那並不太實用,而且甚至會有危險。它需要傳送與接收端之間,不被攔截的 "視直線(line-of-sight)",且當裝置會移動時,更需要老練的尋跡機制(tracking mechanism)。

相較之下,WiTricity 使用耦合共振物體(coupled resonant objects)。具有相同頻率的二個共振物體,能有效的交換能量,而且與外來非共振物體的互動微弱。擺動(swing)是共振機制的其中一種,所以當小女孩以自然的頻率使擺動動她的腳,她能夠傳送真實的能量。

另一個例子是聲學共振:想像一間有 100 個獨立酒杯的房間,每一個裝了不同程度的酒,所以它們有不同的共振頻率。如果一位歌劇演唱者在此房間當中發出夠大的單音,頻率相符的酒杯將會累積足夠的能量,甚至爆裂,而這不會影響其他玻璃杯。在任何耦合共振的系統中,它們之間通常存有一種稱為 "強烈耦合(strongly coupled)" 的運作區(regime of operation)。如果能在一個系統當中確保在此區域內運作,能量傳遞將十分有效率。

由於這些情況對於各種種類的共振一體適用,MIT 的團隊聚焦在特定的類型上:帶磁性耦合共振器(magnetically coupled resonators)。該團隊探索一個具有二個電磁共振器的系統,大部分都是透過其磁場耦合在一起;它們能確認出該系統之中的強烈耦合區,即便二個共振物體的距離比其尺寸要大上好幾倍。透過此法,能有效傳輸電力。磁性耦合特別適合日常運用,因為大部分常見物質與磁場的互動十分微弱,故與環境外部物體的互動甚至會更加被壓抑。"磁場互動如此微弱的這項事實,對於有機生物的安全考量來說來說十分重要," Kurs,物理系的畢業生指出這點。

研究用設計由二個銅線圈構成,每一個都是自我共振系統。一個線圈接上電源,成為發送端。它並非在環境中佈滿電磁波,相反的,它以非輻射磁場,在百萬 Hz 的頻率震動。這種非輻射場會與另一個線圈(接收端)交換能量,它特別設計成會與這個場共振。

共振的天性可確保發送與接收端的互動強健,同時與其他環境的互動微弱。Moffatt,MIT 的物理系學生解釋:"使用非輻射場的關鍵優勢在於大部分未被接收線圈拾取的能量都仍束縛在傳送端,而不會輻射到環境當中而喪失。" 透過這種設計,電力傳輸有其範圍限制,而且尺寸較小的的接收者,其距離會比較短。然而,對於筆電大小的線圈,其電力等級,在房間般大小的距離下,綽綽有餘,且沒有方向限制,即便二方線圈在非視直線範圍內亦可。Fisher 指出:"As long as the laptop is in a room equipped with a source of such wireless power, it would charge automatically, without having to be plugged in. In fact, it would not even need a battery to operate inside of such a room." 最後,這可以減少我們對於高價、沈重電池的依賴。如同電子電機系畢業生 Karalis 所提到的,磁性耦合共振的效率要比一般共振磁力的引介要有效 100 萬倍。

WiTricity 是以眾所皆知的物理定律來運作,為何之前都沒有人想到呢?Joannopoulos 指出是因為大家過去對此模式的系統需求並不強烈,因此也沒有動機去探究的緣故。並提到過去數年來因為可攜式裝置大量增加,導致需要充電的需求也大增。

至於 Soljacic 該研究的希望是... "Hopefully, we will be getting rid of some more wires, and also batteries, soon."

※ 不過應當規範出一個標準,才不會製造出具有相同共振能力的產品,特 別是醫療用途的產品。另外敵軍也可能利用這種原理來破壞具有相同共振能力的設備。

* Wireless Power Transfer via Strongly Coupled Magnetic Resonances
http://www.sciencemag.org/cgi/content/abstract/1143254
Andre Kurs, Aristeidis Karalis, Robert Moffatt, J. D.
Joannopoulos, Peter Fisher, Marin Soljacic
Science Express Published Online June 7, 2007
DOI: 10.1126/science.1143254

可無線傳遞電力的塑膠薄片

研究者發現嵌入式裝置攻擊方法

‧研究者發現嵌入式裝置攻擊方法
Researcher has new attack for embedded devices

http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9015618

Arm 與 XScale 微處理器有弱點

Robert McMillan

April 04, 2007 (IDG News Service) -- Juniper Networks Inc. 的一位安全研究者表示,他計畫展示一種新的攻擊方式,那可使路由器或行動電話之類的電子裝置乖乖就範。

這個弱點就位在 Arm 與 XScale 微處理器當中,這兩款晶片廣泛地在所謂的 "嵌入式" 裝置當中使用。"ARM 與 XScale 架構令人關注的突然轉變,讓攻擊者十分容易得逞," Juniper 的 Barnaby Jack 表示。他所開發的技術 "100% 的可靠,而且可以導致程式碼在這類裝置當中被執行," 他說。

攻擊者可以發動這類型的攻擊,在一個連接到網路上的裝置,運行未經授權的軟體。在理論中,犯罪者可使用這種攻擊,自手機中竊取敏感資訊或是改變 Internet 封包在路由器上的流向,例如:從使用者線上銀行帳戶到駭客所設立,用來竊取帳號與密碼資訊的網蘸上。

這是例如:緩衝溢位(buffer overflow)攻擊這類駭客技術的另一種選擇,那可以欺騙處理器執行偷偷塞入電腦記憶體當中的程式碼。

Jack 計畫要在 CanSecWest 資安研討會中公開這種攻擊的細節 -- 讓裝置製造商能夠避免它 -- 該研討會將在本月稍後於溫哥華舉辦。

他說他花了數個月的時間拆解並將測試裝置焊接到各類嵌入式裝置之後,他想出了這樣的技術。利用標準 IC 電路測試界面,稱為 JTAG (Joint Test Action Group) Jack 得以一窺系統的處理器,並進一步了解它們如何運作。"對於每種硬體裝置來說,一定有讓開發者替程式碼除錯的方式,我所作的不過是利用這些東西," 他說。"當我愈向此架構深入挖掘,我就看見幾個微妙之處,可以讓某些有趣的事情發生。"

JTAG 使用的相當廣泛,因為它能讓工程師針對嵌入式系統當中的軟體進行除錯,不過它也可能是一種安全風險,Peter Glaskowsky 表示。他是 Envisioneering Group 的分析師。

雖然某些公司能夠切割在他們產品上的 JTAG 界面,不過 Jack 表示,在 90% 他所檢視的產品中,這項功能都是開啟的。

"這很明顯的是個議題," Glaskowsky 表示。"某些晶片不會被關閉的原因是,如果之後有問題需要進行診斷時,他們可以用得到。"

通常,要讓硬體製造商關閉 JTAG 的存取太昂貴了,Joe Grand 表示,他是一位硬體駭客,他是 Grand Idea Studio Inc., 一家電子設計公司的總裁。

雖然對於這類轉交式(hands on)hacking 技術來說,目前尚未有大規模的研究,只有像 Jack 與 Grand 這樣的先鋒,但很顯然地情勢將有所轉變。

要駭入嵌入式系統的工具與裝置愈來愈便宜,此外硬體 hacking 可以在資安研究社群當中產生認同,Grand 表示。他將在今年的 Black Hat USA 研討會中提供硬體 hacking 工坊。

"對 hacking 社群來說這讓人相當興奮,我對軟體有點感冒。讓我們好好關照硬體吧," 他說。

Barnaby Jack 沒計畫要停下他的研究:"我現在正在看我的微波爐,不過我認為在上面沒有很多搞頭," 他說。



* Firmware flaw threatens routers, phones http://www.securityfocus.com/brief/486

WiFi 指紋能終結 MAC 位址欺騙

‧WiFi 指紋能終結 MAC 位址欺騙
WiFi fingerprints could end MAC spoofing

http://www.techworld.com/mobility/news/index.cfm?newsID=6787&pagtype=samechan

Positive IDs for all the world's wireless kit?

Peter Judge, Techworld / 05 September 2006

一種新的安全技術承諾可以獨一無二的鑑別出世界上任何一種 Wi-Fi 裝置,所以駭客們無法躲藏在一個假的 MAC 位址之後了。

根據渥太華 Carleton 大學的 Jeyanthi Hall 博士表示,每一種無線裝置都有唯一的訊號 "指紋",是因為矽元件在製程當中的產出差異所造成的。

在博士生的時候,Hall 博士分析來自於 6 個製造商 15 種裝置的 RF(射頻)訊號,並且發現可以清楚的識別出來,包括由同一個製造商所製造的裝置。

根據提交給不同研討會(包括 IEEE 無線網路與安全的事件)的論文顯示,使用 "transceiverprints(指無線電收發器的 fingerprint)," Hall 博士得到 95% 的偵測率,而誤測率則是 0。

她在她的論文當中表示,她在 "辨識" 先前錄下的一組 transceiverprint 的工作當中達到這種可靠度。這項工作如果內建到無線網路的 IDS 將會很有用。此外,事情可以讓人更加振奮:"使用相同的一組 transceiverprint 更可以鑑別出正確的收發器(來自於所有已 profile 的收發器)," 她繼續提到。

Hall 使用一種或然性的神經網路來產生 transceiverprint,並且與先前做過的比較。

根據 EETimes 的報導,雖然訊號處理設備以及分析軟體在目前已經專門化了(詳見 Mathworks 軟體供應商的說明),它最終將可以用在一般用途的訊號處理系統上,Hall 博士如此希望。

使用 MAC 位址限制某一特定裝置的網路存取已經是一種可能的資安技術。而且已經包含在許多 WiFi 系統中。

然而,這對安全專家來說沒什麼,因為要修改一個裝置的 MAC 位址很容易。如果能將 MAC 與預先錄好的 transceiverprint 一起比較,可以讓基於 ACL 的裝置更加合用。

※ 相關報導:

* Enhancing Intrusion Detection in Wireless Networks using Radio
Frequency Fingerprinting
http://www.actapress.com/PaperInfo.aspx?PaperID=17393

彩色印表機內藏暗碼 讓政府追蹤你
指紋辨識很容易矇混過關?
觸碰式螢幕 可辨識誰在摸來摸去!
可以偵測情緒的裝置
你的想法 就是 你的密碼
竊聽你的鍵盤打字音
隱藏在微晶片上的藝術
研究發現安全漏洞可讓人逃避竊聽

FCC 在 SDR 中怠慢開放原碼軟體

‧FCC 在 SDR 中怠慢開放原碼軟體
Feds snub open source for 'smart' radios

http://news.com.com/2100-1041_3-6195102.html

By Anne Broache / Jul 06 2007

行動裝置的製造者開始使用「軟體無線電(software-defined radio)」,這是一種新技術,可使單一裝置接收來自於多重來源的訊號,包括電視台與行動電話網路。

不過一種新的聯邦規章(http://preview.tinyurl.com/ywhp2t),在本週五生效,意指那些建構在「開放原碼元件」上的無線電在上市時,會遭遇一條更加緩慢的(sluggish)途徑 -- 或著,在最糟糕的情況下,將被全然排除在外。美國管理者,似乎,相信開放原碼與生俱來的公眾本性,會讓它更容易受到駭客傷害,留下「一個很沈重的負擔,得證明它足夠安全」這段話。

如果這個決定仍有效,消費者將得花更久的時間才能讓這些全功能的裝置入手。這個剛形成的產業,不願帶著安全尚未經過徹底檢查的產品衝向市場,而且它擔憂 FCC 讓程式碼保持私密的偏好,可能讓那些瑕疵不會曝光,可能會將它們產品中的自信給謀殺了。

透過實際支持密碼學圈子裡所謂的「掩人耳目的安全(security through obscurity)」,「讓安全手段保持祕密,會讓它們更加難以被理解」的爭議構想,FCC 已經招惹來自於軟體無線電一伙人的抗議,以及某些安全專家的側目。

"為何管理者要勸阻開放原碼的方法實在沒道理,它最終會更加安全、便宜、更有互通性、容易標準化以及容易掛保證呀," Bernard Eydt ,一個全球產業協會,稱為 SDR (software-defined radio) 論壇的安全委員會主席,在本週的電子郵件訪談中表示。

這個論壇,代表研究單位以及像 Motorola、AT&T Labs、Northrup Grumman 與 Virginia Tech 這樣的公司,本週在一份正式的請願書(PDF, http://preview.tinyurl.com/2uty2a)當中力促 FCC 從攻擊姿勢退回原點。

這些擔憂受到 Software Freedom Law Center 的背書,它為自由與開放原碼軟體社群提供法律服務,專職律師 Matt Norwood 在本週的訪談中表示。

然而,在一份週五發表的白皮書(http://preview.tinyurl.com/2t3ma8)中,該團體表示,在 FCC 規章裡,對於其開發者也有好消息:因為它狹隘的聚焦在與安全相關的軟體上,很顯然程式設計師將不會被限制與硬體製造商就許多其他開放原碼無線應用進行合作。(許多在 FCC 掌控之下的 802.11 無線路由器,都依賴開放原碼系統進行網路管理。)

軟體無線電 -- 又稱為「smart」或認知無線電(cognitive radios,感知無線電)-- 被某些人視為下一代行動技術的基石。傳統無線電使用電子硬體來處理訊號 -- 例如,將某種特定類型的無線電波轉換成廣播電台的音樂廣播或將干擾過濾掉。


擴展無線電的視野

但是軟體無線電將運作的大腦改成軟體,那可以管理要經由無線電硬體傳送或接收的訊號。有了這種方法,下載新軟體,而非更昂貴的硬體替換,就可以讓無線電做比以前更多的事。

想像一下,例如,一種可以傳遞電視節目、地面廣播電台、接聽行動電話與寬頻上網的單一裝置,端賴它的程式如何編寫;或著,一隻配備某種智能的手機,能夠偵測特定區域中的最強訊號,然後改變手機的設定以訂購它們,而不用理會它們是屬於 GSM、CDMA 或其他類型的網路。

雖然軟體無線電產業到目前為止都受到 FCC 的禮遇,但某些安全專家表示,該委員會最近拿開放原碼開刀實在難以理解。

"當駭客無法測試他們的攻擊時,掩人耳目才最有效," Peter Swire 說,Ohio 州立大學的法律教授,他有關於電腦安全在封閉與開放方法之間緊張局勢那方面的著作。"對於像用在分散式裝置這樣的軟體來說,開放原碼應當不會有額外負擔。"

這裡也有不明確的證據(http://news.com.com/2100-1012_3-1022469.html),開放原碼軟體中的弱點數量與專有軟體相比差異極大,Alan Paller 說,SANS Institute 的研究主任,那提供電腦安全訓練。(某些早期研究,http://news.com.com/2100-1001_3-985221.html,發現開放原碼程式碼更密集的仔細檢查,可以讓其品質更高,傷害更低。)

"他們應當將其定義程,有可靠維護的軟體或沒有可靠維護的軟體 -- 這是安全議題的基礎," Paller 在電話訪問中表示。"如果我在我的軟體當中發現弱點,卻無沒有人可以幫我,那我就死定了。"


軍方早已使用

雖然軟體無線電(SDR)目前仍尚未為大眾所知,不過這項技術已經攫取軍方與公共安全階層的目光。或許最具特色的例子是五角大廈的聯合戰術無線電系統計畫(Joint Tactical Radio System project,http://preview.tinyurl.com/3xa8wl),它被設計成讓戰場上的軍人能夠經由多重網路交換語音、資料與影像。

但商業上的產品仍在早期階段。約在三年前,FCC 發出它第一張專門的 SDR 執照給一家叫做 Vanu 的小公司。這家公司要製造出第一個可商業取得的基地台,它以單一件硬體,就能支援多重無線標準 -- GSM、CDMA、iDEN 和其他,這讓它的市場更具成本效益,時間效益。根據 FCC 某些 CDMA 行動電話網路與 WLAN 裝置也在某種形式下使用這種技術。

FCC 的新規章,部份是 Cisco Systems 於去年六月的請願之下,建立在 2001 與 2005 確立的 SDR 基本規章之上。

FCC 老是擔憂該技術的彈性本質能讓駭客存取頻譜中不恰當的部份,例如那些用於公眾安全的波段。故,規章要求製造者遞交機密(confidential)描述,證實它們的產品,在外部改裝下仍然安全。改裝會抵觸政府的法律。 Cisco 的請願要求管理者明確定義如何使開放原碼軟體,其程式碼很明顯是公開的,符合機密的指令。

為了回應,FCC 裁定,開放原碼安全軟體也不能公開,若這麼做可能會產生規避 FCC 規章的風險。接著這個委員會加了這麼一段:"倘若一個系統全然倚賴開放原碼元件,在它安全到能獲得批准認可成為 SDR 之前,在證明上將有沈重的責任。"

在本週提出時,SDR 論壇要求 FCC 讓無線電製造商公開討論其程式碼,只要它們沒打算鼓勵破壞規則的話。該團體也敦促在開放原碼軟體上保持中立的態度,指出 "學術性的詢問與產業討論再加上市場測試," 都非管理者應當決定。

Cisco 向該委員會請願改變規則的代表未能在本週進行訪談。Robert Pepper 該公司資深技術政策主管,表示他相信 Cisco 對此新規章會很滿意。 一位 FCC 發言人表示該委員會已經收到,並且將會審視 SDR 論壇的申請,不過他不清楚何時會有回應。

FCC 最新的舉動並不是第一次讓開放原碼端的軟體無線電面臨潛在限制。

在數年前,該委員會發佈規定,(http://news.com.com/2100-1028_3-5103305.html
那將使得製造出不支援傳統 "broadcast flag" 的 TV 協調器與 PC 變成不合法。broadcast flag 是娛樂界所支持的反拷貝統治方式。

一場聯邦申訴法庭將這個規定拋棄( http://news.com.com/2100-1030_3-5697719.html)但如果留在適當的地方,或是經由國會復活(http://news.com.com/2100-1028_3-6045225.html
,將威脅消費者自行建立不受限制的無線電訊號接收器(利用像 GNU Radio,http://www.gnu.org/software/gnuradio/,那樣的自由軟體無線電套件)的能力。

Software Freedom Law Center 的一位律師,表示管理者在他們最新的規定中做的更糟:FCC 承認開放原碼平台可能具有「優勢」,例如:低成本與較少的研發時間,而且並沒有全部禁止開放原碼應用。

"我很高興只少看見他們已不再提到... 數年之前的措詞,全都關於 GPL 是種病毒而自由軟體不是美國人," Software Freedom Law Center 的 Norwood 說。

來自於製造商這端,揮之不去的顧慮是,只要 FCC 一阻撓安全手段的開放式討論,消費者將會遇到產品拖延上市,或是沒有多少產品可選擇的窘境 -- 或是擁有臭蟲的產品,那些臭蟲只要透過大家更多合作就能揪出來。

SDR 論壇已經採用 SSL,一種廣泛用以使電子商務交易安全的技術,與 NIST 的公開雜湊演算法(news.com.com/2100-1029_3-5924982.html)作為證明,指稱開放的程序通常能產生高度成功的安全技術。

軟體無線電製造者若沒有相似的自由度,"there may be some people that will shy away or may delay some (software radio) pieces that go out there because they have this extra burden they have to go through," Bruce Oberlies 說,SDR 論壇控制委員會的主席。

※ 相關報導:

T-Mobile:免費讓你用Wi-Fi講電話
美軍研究可以自行設定的安全無線網路
WiFi 指紋能終結 MAC 位址欺騙
美國發展無 GPS 導航概念
美軍計畫將路由器放在太空
取代 SHA-1 的公開選拔賽
iPhone shell 駭到手了!
有線電視 六年後全台數位化

再見電線... MIT 示範無線電力傳輸
科學家立下高頻次毫米波的世界紀錄
台科學家將光波修改成想要的頻率
地球比想像中來的小

FCC 說:手機不得在飛機上使用
美國新法案:社交網路網站可能要被掃地出門
FCC 主席:AT&T 可以限制網路頻寬
858億美元 AT&T買下南方貝爾
當企業悄悄接管了國家
外國企業自美下市 掀風潮

清單 - 桌機、伺服器、電子產品消息

編輯


◆ 政府公佈事項

 ‧2011/12 政府網路2015年全面升級IPv6 (連結)



◆ 桌機相關 - 非常重要新聞

 ‧2012/02 Ubuntu for Android讓手機變成PC (iThome, T客邦)
 ‧2010/07 Win7 降級至XP期限到2011/10/12。XP SP3支援終止於2014/04



◆ 桌機相關 - 須注意新聞

 ‧2012/02/23 Adobe不再支援Linux Firefox Flash Player,但有支援chrome




◆ 桌機相關 - 技術新聞

 ‧2013/02/05 WebRTC技術:chrome, firefox 即時視訊 (連結)




◆ 桌機相關 - 一般新聞

 ‧2013/06/02 Computex Taipei 2013:看CPU, APU發展狀況 (連結)
 ‧2013/05/31 AMD推出 Opteron X 與英特爾Atom競逐微型伺服器市場 (連結)
 ‧2012/05/29 從台北國際電腦展看2001-2011年的重要資訊科技應用 (連結)
 ‧2012/05/28 什麼介面都吃的Thunderbolt 與 USB 3.0 時代來臨 (連結)
 ‧2012/05/09 12項改變軟體產業的重大事件 (連結)
 ‧2012/04/26 AMD 推土機降 30 美元,迎戰 Intel 的 Ivy Bridge (連結)
 ‧2012/03/07 記憶體最佳化調校? 有它一鍵搞定!! (連結)
 ‧2011/12/26 IE瀏覽器明年改採自動升級 (連結)
 ‧2011/10/11 特別報導:IT十年及大事紀  (連結)
 ‧2011/04/19 5大瀏覽器,效能及相容度測試,發展沿革 (連結)
 ‧2011/04/01 HP宣佈支援Google雲端列印
 ‧2010/09/20 NoSQL解決資料庫暴量的新方法 (連結)
 ‧2010/08/20 英特爾收購McAfee 一腳跨入資安市場(連結)
 ‧2010/07/02 這不是手機是電腦,Nokia N900深入測試
 ‧2010/06/28 用PC幫iPad充電,華碩技嘉主機板比一比
 ‧2010/06/21 平板電腦也能變身小筆電、桌上型電腦 (連結)
 ‧2010/06/12 雲端運算的分類
 ‧2010/06/11 英特爾冷處理USB3.0、力推Light Peak
 ‧2010/06/11 新款小筆電開始支援DDR3記憶體
 ‧2010/06/02 什麼是雲端運算?
 ‧2010/06/02 英特爾攻超級電腦晶片
 ‧2010/06/01 Computex 台廠展示MeeGo平板、小筆電
 ‧2010/06/00 Windows 7 各版本功能 (3)
 ‧2010/06/00 Windows 7 各版本功能 (2)
 ‧2010/06/00 Windows 7 各版本功能 (1)
 ‧2010/05/03 雲的另一端,真實的世界?
 ‧2010/11/00 硬碟價格比較 (2 TB,約1.75元/每G)
 ‧2010/08/00 買SAS比SSD划算
 ‧2010/07/00 Seagate混合式硬碟減少開支,加快處理速度
 ‧2010/06/00 微星主機板P55A-GD65,支援USB3.0,SATA3
 ‧2010/01/11 Light Touch 互動式投影器
 ‧2007/05/21 英特爾 C2D E2000系列將登場
 ‧2007/01/30 Intel 帶頭推802.11n Draft,Wireless-N晶片飆速登場
 ‧2006/06/15 Google與微軟網路伺服器數量



◆ 伺服器相關新聞

 ‧2012/05/30 雲端時代企業必須知道的關鍵技術 (連結)
 ‧2010/09/22 臺灣x86伺服器出貨量比去年同期成長12.8% (連結)



◆ 電子產品新聞

 ‧2011/07/22 2011台北電腦應用展,13類重點產品採購心法 (連結)


.

Google與微軟網路伺服器數量

‧穩坐網路霸主 Google蓋兩大電腦中心

楊明暐/紐約時報十四日報導 2006.06.15  中國時報

網路搜尋巨擘Google正在美國奧立岡州靠近華盛頓州邊界的哥倫比亞河畔,興建兩座超大電算資料中心。這是Google用來主宰新一代網路事業的秘密武器。兩座中心的面積皆有一個足球場大,且各自有兩棟四層樓高的冷卻廠。這麼顯眼的設施要予以保密,還真得很難。

Google每天要處理數以億計用戶資料查詢,並提供其他各式各樣網路服務。而位在奧立岡州達勒斯市(The Dalles)的這兩座資料中心將在今年內落成啟用,屆時將大幅擴充Google操作網路龐大資料的能力。


今年啟用 迎戰微軟雅虎

即使在兩座中心尚未運作的今天,Google早已集結了一支環球電腦網路大軍,網路業界稱之為Googleplex(Google綜合體)。知名電腦專家丹尼.希利斯指出,Google建造了全世界最大的一部電腦,就是Googleplex。

Google之所以要建造新的資料中心,是因為軟體巨人微軟公司和老牌網路搜尋公司雅虎正來勢洶洶,準備挑戰它的霸業。微軟和雅虎皆已砸下數十億美元資金興建資料中心。而兩家公司的資料中心分別位在哥倫比亞河上游的韋納奇和昆西。

三家公司的資料中心都座落在哥倫比亞河流域,是因為這裡電價便宜,又有完善的網路設施。


處理器磁碟機 數以萬計

Google對於正在興建中的兩座資料中心一直諱莫如深。外界預測,這兩棟建築裡可能安置有數以萬計個處理器和磁碟機,而一旁的冷卻廠非常重要,因為這些設備在運轉時會產生高熱。

儘管達勒斯的媒體曾報導過Google正在興建的這兩座資料中心,但當地官員已和Google簽署保密協議,對Google的計畫皆守口如瓶。

為何如此神秘?Google未多作解釋。Google資深副總裁賀爾佐表示,一般企業對自己的基礎設施一向就很敏感。不過,Google這種保密到家的態度,正說明各大搜尋網站之間的戰爭已非常激烈。

Google、微軟和雅虎都在花大錢擴充電腦運算能力,以便擴大經營搜尋引擎和電子郵件,網路影音下載等各類網路服務。微軟於今年第一季宣布明年將投下廿億美元搶攻Google的業務,Google則表示其投資至少達十五億美元。


財力雄厚微軟 足以匹敵

Google雖以網路搜尋引擎起家,但該公司對於使用最新技術興建超級電腦網路相當積極,這可以讓它以更快速,更便宜的方式處理更多資料,從而超越競爭對手。

據統計,二○○一年三月Google使用八千部電腦,每天提供用戶的資料量為七千萬個網頁。二○○三年Google使用的電腦為十萬部。外界估計,2006年Google使用四十五萬部伺服器,遍佈在全球至少廿五個地點,幾個主要中心則以高速光纖網路連接起來。

前Google主管布利安.李德表示,Google是要提高門檻,競爭者想跨入這一行,光是基礎建設方面的投資,就非常昂貴。

微軟的網路服務2006年使用廿萬部伺服器,該公司計畫到二○一一年將伺服器數量擴充到八十萬部。這個數據正說明,也只有微軟這種財力雄厚的公司,才足以挑戰Google的地位。



※ Googleplex 亦指 Google 在加州山景城的總部。
會建在 Columbia 河畔建造超級電腦的原因是有河水可以用來散熱,再 加上附近電力便宜,網路品質也很棒,所以微軟跟雅虎都有在附近進駐 。

2007年7月27日 星期五

IPv6 協定瑕疵可能招致 DoS 攻擊擴大

‧IPv6 協定瑕疵可能招致 DoS 攻擊擴大
Experts scramble to quash IPv6 flaw

http://www.theregister.com/2007/05/11/ipv6_flaw_scramble/

By Robert Lemos, SecurityFocus / Published Friday 11th May 2007

一種有缺陷的功能很可能擴大在次世代網路上的 DoS 攻擊,這讓供應商與工程師急忙排除這個潛在的安全議題。

本週,專家遞交二份草案給 IETF -- 網際網路的技術標準設立組織 -- 以不同方式解決一個問題(http://www.securityfocus.com/bid/23615),在這問題之中,IPv6 允許網路資料來源決定它穿越網路的路徑。這些草案建議這項 IPv6 的功能應該被排除,或至少在預設中是關閉的。

這項規格,稱為 Type 0 Routing Header (RH0),允許電腦告訴 IPv6 路遊憩將資料傳送到一特定路由器。原本的希望是要讓行動使用者能夠為其裝置保留一個單一 IP,不過這項功能卻蘊含重要的安全問題。在 4/158 於 CanSecWest 研討會上的示範期間,研究者 Philippe Biondi 與 Arnaud Ebalard 指出,RH0 能使攻擊者在 IPv6 的基礎建設上放大 DoS 的攻擊,至少是 80 倍。

"在很短的時間內,它讓我們所想的每件事都變得很糟,糟上 1000 倍," Paul Vixie,ISC(http://www.isc.org/index.pl)的總裁在一封電郵訪談中表示。"它可以被任何一位貪婪的愛沙尼亞青少年,透過一台 300 美金的 Linux 機器來利用。"

這當更多組織從當前的 IPv4 轉換到 IPv6 時,這項安全議題就會到來。美國聯邦政府以及各大企業都會在十年之內轉移到這項標準。美國國防部與白宮的管理與預算辦公室已經明令軍方服務與聯邦局處,在 2008, 6/30 之前,將骨幹系統遷移到 IPv6。
http://www.whitehouse.gov/OMB/egov/b-1-information.html#IPV6

然而,這項標準已經在許多路由器與 OS 當中支援。Apple 的 OS X、Linux、微軟的 Vista,都在預設網路協定當中使用這項標準。微軟支援將 IPv6 的封包包裹在 IPv4 資料當中,即 6to4 tunneling,所以那些使用 IPv6 的網路可以透過網際網路通訊,但攻擊者可以使用這項資料來傳送隱匿的資料。((http://www.securityfocus.com/brief/427

RH0 安全議題根源於當前網際網路協定的實作中。IPv4 的規格允許資料傳送者能透過資料必須經過(data must travel)來指定一到多個路由器。

在所謂的來源路由中,該技術允許高達 9 個其他的位址可以包含在 IPv4 的延伸標頭當中,可請求該封包須行經這些特定位置。雖然來源路由對於診斷相當方便,不過經由改變標頭當中二個目標網際網路地址,讓資料在兩台機器之間來回,它也能被用於擴大 DoS 攻擊達 10 倍。

雖然來源路由已經被大部分的公司視為一個很糟糕的安全風險,而許多路由器預設都會關閉這項功能,不過 IETF 並沒有從規格書當中排除該選項,並將之延伸到 IPv6。

"IPv6 相當工整,不過我認為我們將會看見一些 '這下把你給逮到了(gotchas)',因為它仍相當新," Jose Nazario 表示,Arbor Networks 的資深安全研究員。"它將會在未來幾年才開始撼動我們。"

在 IPv6 之下,讓使用者能指派某些資料必須送往位址的衝擊,稱為寬鬆來源路由(loose source routing),更加悲慘。因為更多的位址可以包含在標頭當中,這就不只放大十倍了,Biondi 與 Ebalard 經過計算後,它能將攻擊係數放大到 80 倍。此外,RH0 能讓攻擊者閃躲一種分散式技術,稱為AnyCast,該技術保護 13 個 DNS 根伺服器免於攻擊,而且可用來創造封包的積蓄(backlog),在某一特定時間阻止流量到某伺服器。

"It is exactly that: The reintroduction of the IPv4 loose source routing mechanism in the IPv6 world and on steroids," 一位不願具名的網路工程師表示。

IETF 的反應很可能刷新了標準設立組織的新紀錄。當供應商推動它們的特定需求時,工程師還在爭論技術價值並同儕審核其他人的工作,IETF 也尚未做出任何迅速地決議。

然而,在 CanSecWest 簡報當中爭論該議題後,工程師們已經發表了二項提議:排除這項功能,
http://www.ietf.org/internet-drafts/draft-jabley-ipv6-rh0-is-evil-00.txt)或是除非有必要,讓每個人都關閉它。(http://www.netcore.fi/pekkas/ietf/draft-savola-ipv6-rtheader-00.txt

"在實作中,它都將會被關閉,不管它將來會不會被使用,都是懸而未決的事," Robert Hinden 說,IETF IPv6 Working Group 的共同主席,同時也是 Nokia 的員工。

然而公司與工程師對於關閉該功能的反應就迅速多了。在四月底,Kame Project,其創造的程式碼在許多種 BSD OS 與路由器上使用,已經在它們已知的程式碼中,關閉了 Type 0 Routing Header。

"They don't just avoid walking the RH0 header, but they also now drop packets that contain it," Theo de Raadt 說,OpenBSD 的領導者。

Cisco 也就此議題發表了安全建議:
http://www.cisco.com/en/US/products/products_security_advisory09186a00807cb0fd.shtml
但是 Cisco 與 Juniper 都拒絕討論這項議題。

因為 IPv6 尚未完整部署在大部分網路上,ISP 可能要花二三年的時間來修補所有問題,de Raadt 表示。

ISC 的 Vixie 同意該問題應該在三年內完全排除。

"I'd say in three years this will be a footnote," Vixie 說。

This article originally appeared in Security Focus (http://www.securityfocus.com/news/11463).

2007年7月26日 星期四

員工摸魚統計數據

‧員工摸魚時間 縮短了
你是否在上班時間喝茶看報?美國今天發表的調查結果顯示,上班族承認每天8.5小時的上班時間,平均有1.7小時在摸魚。
這個數字或許令人驚訝,可是這已經比去年的平均1.86小時和前年的2.09小時大為改善。
薪資網站(Salary.com)連續第三年對兩千名網友進行「浪費時間調查」,25日公布結果。薪資網站主管柯爾曼說,員工浪費的時間減少,主要是因為經濟情況改善和商業環境步調加快,使員工忙著工作,不再滿腹怨言,偷閒時間也減少。
但是,曾在律師事務所當祕書的安翠雅說,人事和資訊部門封鎖電腦網路的即時傳訊功能和一些社交網站,減少員工受到的誘惑,對減少上班摸魚也有幫助。
安翠雅曾在不同公司,先後見過至少三名助理人員明明應該在上午8時30分開始工作,一到辦公室卻先花45分鐘好整以暇的喝咖啡吃早點,讓其他同事看在眼裡火冒三丈。
但是,她說,忙裡偷閒是許多工作周期的自然現象,例如,碰到律師出庭或去度假,助理人員就趁機整理檔案和處理其他事務,不過有些人會樂得無所事事。
調查結果發現,最主要的上班摸魚活動包括:上網(34.7%);與同事聊天(20.3%);做私事,例如上網付帳或計畫周末活動(17%)。
上班摸魚的主要理由包括:工作量太少(17.7%);上班時間太長,因此必須抓空檔料理私事(13.9%);待遇太低(11.8%);工作缺乏挑戰性(11.1%)。
20至29歲的年輕員工承認他們最會摸魚,平均每天浪費2.1小時。其次為30多歲的人,平均浪費1.9小時。40多歲的人最守規矩,每天平均浪費1.4小時。
但是,柯爾曼說,在下評斷之前,必須考慮每個人想法不同。職場老手可能花很多時間蒐集意見和建立共識,可是年輕員工可能認為那是浪費時間。因此,某些浪費的時間,可能不是真的浪費。
【2007/07/26 聯合晚報】

釣魚新法:DNS 偽造網址轉接

‧釣魚新法:DNS 偽造網址轉接

DNS forgery pharming attack information

http://www.net-security.org/secworld.php?id=5366

Posted on 24 July 2007.

Trusteer 在今日宣佈,其的 CTO 與安全研究者 Amit Klein 已經破解 BIND 的隨機亂數產生器,並示範一種新攻擊手法,可影響大多數網際網路使用者。在這種「"DNS Forgery Pharming(DNS 偽造網址轉接)」的攻擊中,行騙者可從遠端強迫使用者訪問詐騙網站而無須事先危及任何電腦或網路裝置。

About BIND's Random Number Generator

為了避免 DNS 做出假回應,行騙者在這類攻擊中會送出一個包含假造 IP 位址的 spoofed response 到 requesting computer,BIND 實作了一種標準的、基於隨機亂數的 DNS 安全機制。這種機制可避免行騙者藉由偽造的 DNS 回應將使用者導向錯誤網站。

How BIND Random Number Generator Can be Breached 然而,安全研究者與 Trusteer 的 CTO Amit Klein,在 BIND 的實作當中發現一個嚴重的瑕疵,那允許行騙者有效的從遠端「預測」所產生的亂數,而無須控制網站與使用者之間的路由器或 DNS。利用這種弱點,行騙者可從遠端偽造 DNS 回應,然後將使用者導向詐騙網站。這個詐騙網站可竊取使用者的登入證明或是利用網站篡改使用者的通訊。

"這是一種破壞性極大的攻擊," Klein 說,"透過瞄準特定 ISP 的 DNS,行騙者可以在所有 ISP 使用者存取真實網站時,輕易地將使用者導向詐騙網站。使用者無法避免這類攻擊。"

操弄 DNS 的攻擊又稱 Pharming(網址轉接,一種新形態的網路釣魚),到目前為止,一般都相信行騙者需要征服使用者的電腦或 DNS 本身才能發動這類攻擊。不過這項瑕疵,讓那些安全度很高的使用者電腦或 DNS 都有可能遭受 Pharming 攻擊。

Recommendations

Trusteer 建議那些維護 BIND 9 DNS 的 ISPs 與企業,在 caching configuration 當中加入由 ISC 所釋出的最新 patch。現有桌面安全解決方案無法對抗這類型攻擊,因為 DNS forgery pharming 並不會影響到使用者的電腦或 DNS,而是 DNS 當中的「快取」資料。彼此認證的解決方案,
例如 Trusteer 的 Rapport,可以強固地對目的網站認證,並避免存取未經認證的網站。

硬碟組織宣佈新磁區長度標準

‧硬碟組織宣佈新磁區長度標準
Hard Disk Drive Organization Announces a New Sector Length Standard

http://www.geekzone.co.nz/content.asp?contentid=6076

IDEMA(International Disk Drive, Equipment, and Materials Association)宣佈一個產業委員會聚集起來,為未來生產的硬碟確認一個新的且更長的磁區標準。這個委員會建議將具有 30 年歷史的 512 bytes磁區改成 4096 bytes。

Ed Grochowski 博士,IDEMA US 的執行主管表示,採用 4K-bytes 的磁區長度,可以讓未來硬碟的資料密度更容易增加,而且將會增加使用者儲存資料的能力,並且減少美 gigabyte 的成本。

"要為新的硬碟增加面積密度,需要更強健的錯誤糾正碼(ECC),而這個可以更有效的應用於 4096 bytes 的磁區," Martin Hassner 博士解釋道,他是 Hitachi GST 以及 IDEMA 的委員會成員。"今日,硬碟基本上已經成為所有電腦以及消費性應用的主要儲存裝置,而且需要更多的容量以符合使用者儲存的需求。"

IDEMA Long Data Block 委員會由代表主要硬碟製造商的成員所組成,也包括電子與軟體公司。微軟也參與該委員會,並且預計在 Windows Vista 當中採用 4K-byte 的磁區容量。

這個委員會預計首款產品將會在今年稍後,或是 2007 年推出,並且要求電腦產業確認這項新的標準,並且為其到來預作準備。對於現存 512-byte 的產品向後相容性,不管是硬體或是軟體,將會被定義,以便照顧到過渡時期。它已經預計在未來,所有的硬碟最終都將 format 成 4K-byte。

在隨身碟上執行程式

‧在隨身碟上執行程式
Flash Drives Make Any Computer 'Personal'

隨著快閃裝置,例如隨身碟,的容量愈來愈大,價格愈來愈便宜,他不只可以裝載數位資料,廠商也對這個玩意兒增加更多的功能,以軟體來說,有很多軟體現在可以直接從隨身碟上執行,以硬體來說,透過額外的晶片,就可以為隨身碟進行加密保護,而未來更可以將整個使用者環境安裝在隨身碟上。

電腦先驅 Bill Joy 在近來的研討會上為所謂的個人電腦重新下了定義: "Your personal computer should be something that's always on your person." (你的個人電腦,應該是某件在你個人身上的東西。)

Jay Elliot 則是發明了 Migo(http://www.migosoftware.com/)這套軟體可以讓可攜式的裝置如 USB 隨身碟或是 iPod 變成行動電腦,當插入主機,輸入密碼之後,你就可以利用這個主機的資源來收發 e-mail 或是撰寫文件。

另外,有兩家公司 SanDisk Corp. 以及 M-Systems Inc., 共同成立了 U3 LLC 這家公司,共同推廣可以在隨身碟上執行並且儲存資料的技術標準。現在出現在市面上的 U3 隨身碟都具有Firefox 網路瀏覽器以及即時通軟體。甚至連 Skype 也在其中,這代表你可以在其他沒有安裝 Skype 的電腦上使用網路電話。下一步,你大概不會想要把自己的軟體灌在別人的電腦上了。

至於能否在隨身碟上執行微軟的軟體,如 Office 或 Excel 等,你就不用擔心了,微軟現在正在跟USB 製造廠商討論可能的授權問提。

SanDisk 也利用 USB 隨身碟進行版權管理,它們推出了 Cruzer Freedom這種裝置,只要學生把它插入電腦,就可以線上下載閱讀教材,因為每個裝置都有唯一的號碼,老師可以將這些講義與作業設定成只有這一班的學生可以讀到。而 Eastside Prep 的 Mark Bach 也在進行類似的文件與地方歷史教材的散佈活動,在未來他甚至會在其中加入影音。他說:"It becomes very, very malleable, and very creative on the part of the teacher, because the teacher can go beyond textbooks."

而 Realm Systems Inc. 則是推出 mobile personal servers 可以讓在外奔波的員工,隨時將外面的電腦變成自己的 "個人電腦"。

當然,所有具備可攜式儲存能力的裝置,例如:手機、MP3 Player 或是外接式硬碟都可以辦到。看來 PC 將會逐漸淡入背景之中。

IBM 的研究人員 Chandra Narayanaswami 則擘畫出一個美好的願景:

當你 check in 每家旅館的房間後,除時鐘、吹風機、DVD Player 之外,這些在以前會帶來驚喜,不過現在已經如同傢具一般成為標準配備了,還會發現一台便宜的 PC 等著訪客插入可攜式裝置,並且將其變成如影隨形一般的 "個人電腦"

微軟獲得 FAT 檔案系統專利認可

‧微軟獲得 FAT 檔案系統專利認可
Microsoft's file system patent upheld

http://news.com.com/2100-1012_3-6025447.html

微軟有二項關於視窗檔案儲存系統的專利,經過聯邦專利審查員審查之後,決定公佈為合法有效。

這項決定,在週二由軟體巨人宣佈,有效的終結二年來關於這兩件懸而未決的專利權爭議,並且結果是相反的。在這之前 USPTO 曾經拒絕微軟的要求。微軟的一位代表表示:在他們最新的動作下,於上周提出申請,審查員決定這家公司的 File Allocation Table (FAT) 檔案系統,事實上是 "新穎且非平凡無奇" 的,這也是他們獲得專利權的原因。現在當局正在處理專利再審證明(patent re-examination certificate),這也代表最後定案的訊號。

FAT 是經常拿來被儲存檔案的方式之一,原來是由 DOS 作業系統所研發。不過現在亦被用於微軟的視窗系統以及其他可插拔的快閃記憶卡,常用於數位相機以及其他裝置中。一些與 Linux 及 Unix 相關的產品也使用此系統與 Windows 交換檔案。

USPTO 因為一個鮮為人知的公眾利益團體 Public Patent Foundation 於 2004 年 4 月的要求,決定重新審查涉及此檔案系統的二件專利。這個組織宣稱,這些是 "前人的成果"(prior art),可以證明微軟並非第一家研發出此格式的公司。

還有其他聲音指出,微軟可能會嘗試從其他販售或是支援 Linux 並使用此技術的公司謀得利益,並且很可能會擺出威嚇的姿態不利於自由軟體社群。在自由軟體基金會的 General Public License 下,Linux 如果包含專利相關的技術,且需要授權付費將無法進行散佈。

微軟指出,如果在過去,他將會要求授權才能使用此檔案格式。在 2003 年 12 月,他說他曾與快閃記憶體供應商 Lexar Media 達成此類交易。

USPTO 的最後決議跟隨著幾項不具約束力的決議,這些不利於微軟。在 2004 年 9 月首次宣佈駁回這些專利後,審查員在一年之後也抱持著相同的決定。

自始至終,微軟均有自信這些專利將會被認可。微軟事業發展經理 David Kaefer 在週二的聲明中表示,該公司對於專利局最後的決議感到相當滿意。這結果強調了這些專利的正當性,但是允許其他第三方團體要求重新審查亦是相當重要的。

Public Patent Foundation 的總裁 Dan Ravicher 表示他的組織並不同意專利局的決定,並提出許多批評。

"微軟贏得一場辯論,不過那裡只有一方人馬被允許發言,在專利重審的進度列中,反對爭辯的公眾由微軟組成" 他這麼告訴 CNET News.com。"我們仍認為這些專利是不合法的,並認為需要給公眾一個相同時間的程序去表達立場,其結果(你會)發現(與我們的)看法相同。"

※ 相關網站:

* FAT File System Technology License
http://www.microsoft.com/mscorp/ip/tech/fat.asp

* Microsoft FAT patent rejected | The Register
http://www.theregister.co.uk/2004/09/30/microsoft_fat_patent_rejected/

2007年7月24日 星期二

Linux KVM 虛擬化技術

Linux KVM Virtualization Performance

Published on January 08, 2007 by Michael Larabel.
Page 1 of 4.


For only being a release candidate the Linux 2.6.20 kernel has already generated quite a bit of attention. On top of adding asynchronous SCSI scanning, multi-threaded USB probing, and many driver updates, the Linux 2.6.20 kernel will include a full virtualization (not para-virtualization) solution. Kernel-based Virtual Machine (or KVM for short) is a GPL software project that has been developed and sponsored by Qumranet. In this article we are offering a brief overview of the Kernel-based Virtual Machine for Linux as well as offering up in-house performance numbers as we compare KVM to other virtualization solutions such as QEMU Accelerator and Xen.

What has been merged into the Linux 2.6.20 kernel is the device driver for managing the virtualization hardware. The other component that comprises KVM is the user-space program, which is a modified version of QEMU. Kernel-based Virtual Machine for Linux uses Intel Virtualization Technology (VT) and AMD Secure Virtual Machine (SVM/AMD-V) for hardware virtualization support. With that said, one of the presented hardware requirements to use KVM is an x86 processor with either of these technologies. The respective technologies are present in the Intel Core series and later, Xeon 5000 series and later, Xeon LV series, and AMD's Socket F and AM2 processors.

The Kernel-based Virtual Machine also assigns every virtual machine as a regular Linux process handled by the Linux scheduler by adding a guest mode execution. With the virtual machine being a standard Linux process, all standard process management tools can be used. The KVM kernel component is embedded into Linux 2.6.20-rc1 kernels and newer, but the KVM module can be built on older kernels (2.6.16 to 2.6.19) as well. At this stage, KVM supports Intel hosts, AMD hosts, Linux guests (x86 and x86_64), Windows guests (x86), SMP hosts, and non-live migration of guests. However, still being worked on is optimized MMU virtualization, live migration, and SMP guests. Microsoft Windows x64 does not work with KVM at this time.

Whether you are using a kernel with KVM built-in or loading it as a module, the process for setting up and running guest operating systems is quite easy. After setting up an image (qemu-img will work with KVM) and the KVM kernel component loaded, the modified version of QEMU can be used with the standard QEMU arguments to get you running.


The hardware requirements to use KVM is an x86/x86_64 processor with AMD or Intel virtualization extensions and at least one Gigabyte of system memory to allow for enough RAM for the guest operating system. For our purposes, we had used two dual-core Intel Xeon LV processors with the Linux 2.6.20-rc3 kernel, which was released on January 1, 2007. Below is the rundown of system components used.

Hardware Components
Processor: 2 x Intel Xeon LV Dual-Core 2.00GHz
Motherboard: Tyan Tiger i7520SD S5365
Memory: 2 x 512MB Mushkin ECC Reg DDR2-533
Graphics Card: NVIDIA GeForce FX5200 128MB PCI
Hard Drives: Western Digital 160GB SATA2
Optical Drives: Lite-On 16x DVD-ROM
Cooling: 2 x Dynatron Socket 479 HSFs
Case: SilverStone Lascala LC20
Power Supply: SilverStone Strider 560W
Software Components
Operating System: Fedora Core 6

The benchmarks we had used for comparing the performance was Gzip compression, LAME compilation, LAME encoding, and RAMspeed. The virtualization environments we had used were QEMU 0.8.2 with the kqemu accelerator module, Xen 3.0.3, and finally KVM. We had also compared these virtualized environments against running Fedora Core 6 Zod without any form of virtualization. During the Xen 3.0.3 testing, we had used full virtualization and not para-virtualization. The image size was set to 10GB during the testing process. The operating system used throughout the entire testing process was Fedora Core 6 Zod.














Looking over the virtualization performance results, KVM was not the clear winner in all of the benchmarks. KVM had taken the lead during Gzip compression, but in the other four benchmarks it had stumbled behind Xen 3.0.3. However, both Xen with full virtualization and the Kernel-based Virtual Machine had performed in front of QEMU with the QEMU accelerator in our select benchmarks using dual Intel Xeon LV processors with Intel Virtualization Technology. The benefits of KVM are high performance, stable, no modifications of the guest operating system are necessary, and a great deal of other capabilities (e.g. using the Linux scheduler). Once the Linux 2.6.20 kernel is officially out the door we will proceed with a greater number of KVM benchmarks in various environments including looking at the hardware virtualization performance between AMD and Intel.

微軟作業系統開始虛擬授權

‧微軟作業系統開始虛擬授權

Microsoft adopts virtual licenses

微軟在 2006年10月10日宣佈按裝在虛擬環境中的 Windows Server 以及其他相關產品的新授權政策,不管使用者是安裝在微軟的 Virtual Server 或是 競爭對手 VMware Inc. 的虛擬技術。

在新的授權政策中使用者購買 SQL Server, BizTalk Server 以及其他的 server 都採用 "虛擬處理器" 的數量來計算授權數量,而非真實處理器的數量。新的授權選擇將在 12 月 1 日開始供應,另一個消息是,微軟會讓即將到來的 Windows Server 2003 Enterprise Edition "R2" 在一台電腦
上同時執行四個虛擬環境而只收一個執行環境的費用。如果使用的是微軟Virtual Server 或 VMware 的 GSX 軟體,R2 也是如此提供優惠。

Intel CPU 的次世代微架構簡介:Core

‧Intel CPU 的次世代微架構:Core

Into the Core: Intel's next-generation microarchitecture
http://arstechnica.com/articles/paedia/cpu/core.ars/1
本文介紹 Intel 處理器的次世代微架構 "Core" 會有什麼樣的發展。
開場白
作者先回憶起取代 P6 (Pentium Pro, Pentium II, and Pentium III) 的 Netburst (P4) 微架構,接著 Intel 引入先前代號叫做 "Merom" 現在改稱 "Core"(或是 NGMA,即次世代微架構),作者從各方面蒐集出這個微架構的資料,在這篇文章當中詳細介紹它。
作者提到 "Core" 是 Intel 從頭設計的架構,把今日的需求都牢記在心中,不過,作者仍指出 "Core" 其實有很多 Pentium 4 與 Pentium M (Banias) 的影子,並且是 Pentium M 的設計佔比較多。因為 Pentium M 與 P6 的設計比較接近,因此作者會把 "Core" 列入 P6 的世系當中對待。
當 Intel 在以色列的團隊準備設計這個微架構時,就已經考慮到,這個架構必須要能應付未來五年的發展,所以多核心,就已經被列入考慮,不過這與 Sun 或 IBM 的多核心不同。它所指的多核心不是:"throw out out-of-order execution and scale back single-threaded performance
in favor of a massively parallel architecture that can run a torrent of simultaneous threads." 這樣去『OOOE 化』的野心,已經在 STI 的 Cell 以及 Sun 的 Ultrasparc T1 上面實現了,不過 Intel 的多核心,依然是十分傳統,很 Intel 的多核心。
Intel 並不是把每個獨立核心的動態執行(dynamic execution)硬體給丟掉,而是讓每個核心的電力消耗降低,並且讓效能提升。Intel 的策略是以 process-based 為基礎(這就是作者提到很 Intel 的緣故)。Intel 依然遵循 Moore's Law 要讓每個 die 塞入更多核心。在 Intel 的觀點中,核心會縮小是因為電晶體做的更小所導致,並非設計、架構改變的緣故。
這讓作者想到 "Core" 的伸縮性(scalability)。P4 的設計是讓效能隨著時脈增加而增加,相較之下, "Core" 的效能卻是隨著 die 上的核心增加而增加(換言之,體積變小),此外還有更多的快取以及第二層更謹慎、可預期的時脈增加使得效能增加。在此觀點下,"Core" 是以一種有別於 P4 的方式來實踐 Moore's Law。

其餘資料,詳見來源...

Red Hat為KVM虛擬技術背書

‧Red Hat為KVM虛擬技術背書

CNET新聞專區:Stephen Shankland  15/02/2007

Red Hat公司的下一版Fedora Linux將包含能將Linux系統切割至多個虛擬主機的新虛擬化技術KVM。

Red Hat技術長Brain Stevens 13日表示,該公司下一版的Fedora Linux將納入KVM(核心虛擬器)。他說:「我們要把它加入Fedora 7。」

這是全球主要Linux經銷商對KVM技術的一次重要背書。Linux領袖Linus Torvalds也在2月初接受KVM納入主要的Linux原始碼系,此舉可減輕維護和除錯的工作,並提高該計畫的知名度。

Stevens也很欣賞KVM支持者、Qumranet技術長Moshe Bar對KVM採取的技術方法。Stevens說:「他完全辦到了。」

不過Stevens表示,KVM仍落後另一種開放原始碼技術,也是即將推出的Red Hat Enterprise Linux 5當中最重要的單一特色,Xen。他說:「我想(KVM)還有一年的差距,才能真正和現在的Xen平起平坐。」

參與KVM的Red Hat員工包括該公司的頭號大將之一,Ingo Molnar。Molnar已將平行虛擬化(paravirtualization)能力加入KVM,移除虛擬器與網路卡和儲存系統等電腦硬體更直接溝通 的瓶頸。例如,今年1月,Molnar表示平行虛擬化增加了KVM的網路轉移速率,從每秒不到10MB上升至每秒300MB以上。(陳智文/譯)

「藍藥丸」創造出絕對無法被偵測的惡意軟體

‧「藍藥丸」創造出絕對無法被偵測的惡意軟體
'Blue Pill' Prototype Creates 100% Undetectable Malware

http://www.eweek.com/article2/0,1895,1983037,00.asp

By Ryan Naraine
June 28, 2006

一個具有 rootkits 經驗的資安研究者,建立了一個可以運作的新技術原型,它有能力建立一個 "100% 無法被偵測的" 惡意軟體,甚至是在 Windows Vista x64 的系統上。

Joanna Rutkowska,她是位於新加坡的資訊安全公司 COSEINC 一位匿蹤惡意軟體研究者,表示這個藍藥丸(Blue Pill)的概念使用 AMD 的 SVM/Pacifica 虛擬化技術,來建立一個超細薄(ultra-thin)的 hypervisor(指可以在一台主機上同時執行數種作業系統,作業系統之間獨
立運行,http://en.wikipedia.org/wiki/Hypervisor),可以完全控制底下的作業系統。

Rutkowska 計畫要在 7 月 21 日於新加坡舉行的 SyScan 研討會,還有 8 月 3 日於拉斯維加斯進行的 Black Hat 簡報上討論並且展示一個可以在 Windows Vista x64 上運作的原型。

Black Hat 的展示將會與微軟預計要展示某些 Vista 當中關鍵的安全特色以及功能的日子是同一天。

Rutkowska 表示這次將展示一個以 "一般方式" 插入任意程式碼到 Vista Beta 2 核心(x64)核心的示範,不用依賴任何臭蟲的實作。

這項技術有效的繞過一項關鍵的反 rootkit 政策,那將在 Windows Vista 當中出現,其要求 kernel-mode 的軟體必須要有數位簽章,才能載入到基於 x64 的系統上。

虛擬機器 rootkit 的主意不全然是新的。在 Microsoft Research 的研究者以及密西根大學已經建立了基於 VM 的 rootkit 稱為 "SubVirt"(亞變種),它幾乎無法被偵測,因為其狀態將完全無法被目標系統所存取。

現在,Rutkowska 將這個殼層(envelope)推入更多,並宣稱唯一讓藍藥丸"露餡" 的方式是 AMD 的 Pacifica 技術有缺點。

"藍藥丸的強處是基於 SVM 技術," Rutkowska 在她的 Invisible Things blog 上解釋。她爭論(contend)一般的偵測方式是否能夠以虛擬機器技術來撰寫,然後讓藍藥丸能夠被偵測到,不過這也表示 Pacifica 本身 "有一堆臭蟲。"

"在另一方面 -- 如果你不能夠為基於 SVM 的虛擬機器想出一個一般的偵測技術,那你應該承認,你也不能夠偵測藍藥丸," 她說。

"在藍藥丸背後的點子相當簡單︰你的作業系統吞下了藍藥丸,然後它在母體(the Matrix)裡面甦醒,而母體被超細薄的藍藥丸 hypervisor 所控制。這全都是即時(on-the-fly)發生的(亦即不用重新啟動系統)並且這不會造成效能的損失,而這就是全部的手段(devices)," 她解釋道。

Rutkowska 強調藍藥丸技術並不是依賴任何底層作業系統的臭蟲。"我已經實作出一個可以給 Vista x64 使用的原型,但我認為它沒有理由不能被移植到其他作業系統,例如 Linux 或 BSD,這些都可在 x64 的平台上執行, " 她附帶提到。

藍藥丸是專門為 COSEINC Research 所研發的,而且將無法被下載。然而,Rutkowska 表示該公司計畫要安排關於藍藥丸以及其他技術的培訓,在那裡將能取得原始程式碼。

Rutkowska 之前造出紅藥丸,它可以用來偵測程式碼是否能夠在 VMM(虛擬機器監視器)或在一個真實的環境當中執行。

※ 相關報導︰

* Taiwan.CNET.com : AMD詳述Pacifica虛擬化計畫
http://taiwan.cnet.com/news/hardware/0,2000064553,20099387,00.htm

* X86 virtualization - Wikipedia
http://en.wikipedia.org/wiki/Virtualization_Technology

* Black Hat Briefings, Training and Consulting
http://www.blackhat.com/

* SyScan '06
http://www.syscan.org/

* invisiblethings: Introducing Blue Pill
http://theinvisiblethings.blogspot.com/2006/06/introducing-blue-pill.html