星期一, 10月 18, 2010

Windows 視窗繪圖功能

來源:T客邦

Cover 微軟號稱,從Windows Vista開始,你再也看不到視窗切換慢動作的爛戲了。以筆者用了一兩年的經驗,的確是毫無因為桌面繪圖錯誤而當機的印象。這箇中奧妙解釋起來會有點複雜,所以我們先用簡單的話來說:Windows XP的桌面都是2D繪圖,Windows Vista開始才有3D加速桌面。

3D加速讓桌面進化

所謂2D桌面的舊架構,就是早在Windows 95時代出生的GDI(Graphics Device Interface),正因為它是在電腦處理能力很爛的年代開發出來的API,所以它沒有反鋸齒處理、透明背景等等華麗的功能。其實早期會有人為了讓2D 圖像跑得更順暢,去買所謂的「2D加速卡」,當然廠商也因應GDI撰寫了有硬體加速的驅動程式。

搜括世界各國佈景主題

▲ 這支Windows 7 ToolKit其實是個破解程式,不過它也有一些調校功能,像是按一下就可以把隱藏在C:\windows\Globalization\MCT的各國佈景安裝進來。

DirectX、GDI兩條路

在這不久之後,DirectX和3D遊戲也開始流行,更多廠商把資源投注在開發「3D加速卡」身上。而因為GDI和DirectX兩個API的誕生背景不同,後來就像在兩個平行世界發展似的,即使微軟試著互通它們的程式資源,卻幾乎沒有任何成果。

到了Windows XP,縱使GDI升級成GDI+,增加了材質、漸層、透明度、浮點座標、支援更多圖片格式等等新功能,骨子裡還是同樣的舊系統。簡單的說,DirectX 遊戲可以充分運用電晶體數量比CPU還多的超暴力顯示卡,存取顯示記憶體裡的圖像合成漂亮的遊戲場景。但是以上這些資源GDI都不能用,當然也就做不出任 何3D特效。

▲ 即使Windows XP 升級了新的GDI+,還是常常會有視窗拖動「鬼影幢幢」的老症頭。

▲ Vista之後的桌面,就像由DWM操控各種畫面合成的3D影像。

WDDM架構來幫忙

這些難解的問題,等到Vista重新打造桌面的繪圖流程才開始解決,也就是WDDM(Windows Display Driver Model)這個新的顯示驅動程式架構,在這個底層系統之上,是由WPF(Windows Presentation Foundation)負責控制Windows桌面的構圖。從此以後,桌面上的各個視窗,就變成了3D繪圖流程裡的平面(surface),透過 DWM(Desktop Windows Manager)這支Direct3D應用程式,就可以合成螢幕上的畫面。

▲ Vista的名產:Flip 3D原封不動的活下來了,在Windows 7按「Windows鍵+Tab」就會出現。

排程共享GPU資源

從原本的2D桌面進化到3D加速桌面有幾個關鍵,首先,WDDM架構可以讓不同的應用程式和系統服務分享GPU的處理能力。比方說負責合成桌面的 DWM程式,除了要操控桌面上的物件,還會提供Flip 3D特效,顯示縮圖預覽等等。其他的應用程式也會渲染自己的圖片,它們和DWM自己的渲染執行緒分頭進行,最後由DWM負責組成桌面。而WDDM也會負責 分配GPU的運算能力,讓3D程式在必要的時候取得最大的資源。

反過來說,在WDDM出現之前,幾乎不可能有好幾個3D應用程式同時執行,因為沒有排程的能力,跑一個DirectX遊戲就把所有資源搾乾了。而且 WDDM讓顯示記憶體可以被分頁儲存到主記憶體,就算顯示記憶體容量不夠用了,也不用擔心會3D桌面當機,導致倒退回2D模式。

桌面繪圖跟得上滑鼠

現在我們回頭看看Windows XP的「白色鬼影」問題,由於它的視窗桌面被當成一張2D平面圖,當上面的視窗移來移去,底下的其他視窗和桌面必須不斷的重繪,造成畫面不連貫,或是出現白邊。

在WDDM架構下,即使某些視窗是被覆蓋的狀況,它們還是會以3D平面的形式,儲存在螢幕以外的假想區域。這麼一來使用者可以任意拖動視窗,底下的 視窗也不必重畫一次。就像Aero特效啟動的時候,透明邊框移到底下有其他視窗的地方,同樣不必再重新繪圖,這些動作都只需DWM負責把半透明的圖像放到 新的座標即可。

▲ 雖然理論上視窗畫面不會消失,不過用久了還是會有縮圖預覽失效的狀況,Windows 7會用小圖示混過去。

WDDM 1.1啟用條件

到了Windows 7,不只是活用3D加速桌面做出神奇的操作介面而已,WDDM架構也從Vista的1.0版推進到了1.1。不過想啟用WDDM 1.1,就跟玩DirectX 10遊戲的條件一樣,你得升級Windows 7(廢話)、插一張支援WDDM 1.1的顯示卡、並且裝上WDDM 1.1的驅動程式。

而WDDM 1.1使用的API版本,從Vista的DirectX 9升級到了DirectX 10.1,所以必須裝一張支援DirectX 10的顯示卡,才能達成啟用條件。如果你的顯示卡大概是在兩年以內購買的G80以上等級,應該就沒問題,詳細可參考以下附表。

WDDM版本 DirectX版本 顯示晶片
WDDM 1.1 DirectX 10.x NVIDIA:G80系列以上
AMD:Radeon 2000系列以上
Intel:i4G、i45GM、
G35、i965GM以上

WDDM 1.1的改善重點

既然程式的API升級,執行效率理論上應該也會變快吧?微軟標榜的便是WDDM 1.1能夠讓DirectX 10的遊戲執行效率、以及桌面繪圖效能更好。遊戲部份我們留待適當的文章驗證,而桌面繪圖的加強重點,就在大幅改善記憶體佔用量。

運作更輕巧

在3D加速桌面的結構下,每個視窗都是未壓縮的材質,準備讓顯示卡處理。在Vista的WDDM 1.0架構當中,當有視窗繪圖元件需要處理,DWN會在顯示記憶體儲存一份材質,還有一份重覆的資料會放進主記憶體,以便讓DWM合成桌面。當桌面上開啟 的元件變多,就會讓系統記憶體的消耗量激增。

到了WDDM 1.1,只要在顯示記憶體儲存一份資料就可以了。根據微軟的說法,每多開一個視窗就會佔用一塊記憶體,所以Vista在開一堆視窗之後,記憶體佔用量會呈等差級數上升。而Windows 7的使用量理論上根本不會增加。

不同系統的改善幅度

聽起來很強大,不過我們還是實際來測看看,眼見為憑。然而因為很難控制所有的環境因素不變,所以我們在同一組硬體配置上安裝了Windows Vista、Windows 7兩套作業系統,分別打開10個檔案總管、5個IE、及1個Windows Media Player視窗,從工作管理員觀察閒置到負載之後的記憶體佔用量變化。

實際上這樣的對照方法有個瑕疵,就是兩套作業系統的程式結構不同,就算打開一模一樣的視窗數量,佔用的記憶體空間本來就會不同。但是剛好Windows 7也是大幅改善了資源佔用量,方便我們觀察同樣是WDDM 1.0驅動下,Windows 7比Vista省了多少。

XPDM vs. WDDM

在前面的WDDM支援硬體列表當中,如果你的顯示卡太舊排不進去,就會退回和XP一樣的XPDM(Windows XP Display Driver Model)傳統模式,也就是透明邊框消失的「Basic」主題。所以我們不用換裝爛卡,直接用同樣的配備「自廢武功」切換到Windows 7 Basic佈景主題的話,等於就是在XPDM模式下運作。

我們加入這個另類小撇步來驗證同樣配備下,XPDM和WDDM的資源佔用狀況。讀者在家裡也可以自己玩玩看。有趣的是,實驗結果WDDM根本不會比 XPDM省資源,尤其是在Vista的環境下會更嚴重,測試平台上僅有的2GB,開了一堆視窗就被耗掉將近1GB,連CPU使用率也跟著往上跳。而且操作 速度已經開始有遲鈍的跡象,不過有WDDM架構的加持,的確怎麼也不會發生背景冒白邊的錯誤畫面。

CPU Intel Core 2 Duo E8500
記憶體 Kingston HyperX DDR3 2GB
主機板 Asus P5Q3 Deluxe

顯示卡

技嘉 GeForce GTS 250 GeForce 6200
(WDDM 1.0 對照組)
作業系統 Windows Vista SP2
Windows 7

CPU佔用率變化

(單位:% ↓越小越好)

▲ 雖然啟用WDDM理論上會減輕CPU負擔,詭異的是實測當中CPU佔用率不減反增。

DWM佔用量變化

(單位:% ↓越小越好)

▲ 在Vista的負載測試中,DWM記憶體佔用量飆高到43MB,到了Windows 7的WDDM 1.1只用了9MB。

總記憶體佔用量變化

(單位:% ↓越小越好)

▲ 整體來說,Windows 7各種繪圖模式都比Vista節省記憶體,WDDM1.1模式的佔用量甚至比XPDM還低。

資源佔用不飆高

除了XPDM的數據有點意外, 實測結果證明,Windows 7的桌面繪圖要比Vista省資源得多。同樣是WDDM 1.0的記憶體佔用量多過XPDM,但Windows 7的數據平均比Vista少了21%左右。啟用了WDDM 1.1之後,Windows 7幾乎降到和XPDM相同的水準,甚至閒置時的記憶體佔用量還比XPDM低11%。

單從DWM程式的佔用量觀察,差距幅度會更大。有趣的是,當WDDM關閉,DWM的佔用量也會降到谷底,因為它會變得沒有作用,就算開一堆視窗也是沒事幹。但是在Vista的WDDM模式下開啟一堆視窗後,DWM佔用量馬上劇增60%。

▲ 雖然HP Mini 331用ION平台,不過卻只支援DirectX 9,跑Windows 7的3D加速桌面會比較吃資源。

DirectX 10的新價值

經過我們的實測發現,WDDM的確改善了XPDM會「破圖」的毛病,然而在Vista底下,它的效能並沒有達到最佳化,必須升級到Windows 7的WDDM 1.1架構,才能達成先進繪圖與資源佔用量之間的平衡。而前提是要有一張支援DirectX 10的顯示卡。

要注意的是,對於本身沒有顯示記憶體,共享系統記憶體的小筆電來說,還是可能發生資源不足的狀況。另外,如果選擇買Atom平台搭配的GMA 950顯示晶片,因為只有DirectX 9等級,享受不到新架構的優點。當然啦,如果連DirectX 9都不支援,就根本沒有3D加速桌面,直接打回2D模式。

紅綠顯卡一起來

另一個Vista改成WDDM架構後被拿掉的功能,就是多重顯示驅動程式。當你要用兩張顯示卡輸出到多重螢幕上,大家都得用同一個驅動程式才行,不然就得有其中一張失效。

這個功能到了Windows 7的WDDM 1.1又重出江湖,也就是說,只要有WDDM 1.1的驅動,你可以在系統裡面安裝兩張不同廠牌的顯示卡。對於想要推廣GPGPU的廠商來說,他們就可以把N牌顯示卡賣給已經有A牌產品的消費者,不必 輸出任何畫面,只拿來當通用運算處理器。

▲ 在Vista底下同時裝ATI和NVIDIA的顯示卡,會一直出現其中一張無法啟用的錯誤訊息。

▲ Windows 7底下即使其中一張卡沒有WDDM 1.1驅動, 還是可以同時啟用。


星期四, 10月 07, 2010

瀏覽器離線瀏覽之技術

http://www.techbang.com.tw/posts/3751-why-o-column-can-also-be-used-offline-gmail
作者:謝子斌(Zi-Bin) 發表於 2010年10月07日 12:38

對很多宅男宅女來說,可以沒有電視、沒有冰箱,但千萬不能沒有網路,如果哪天網路斷線,肯定有如世界末日。而且現在大家都習慣在網路上編輯 Google Docs或更新Wordpress部落格,要是網路斷線,難道所有事情都得停擺?這時候,離線上網的技術就派上用場了。

離線上網也要標準化

「離線上網」聽起來好像有點矛盾,「離線編輯、瀏覽網頁」大家就比較容易理解了。沒有網路當然不能玩Internet,但你還是可以瀏覽離線、也就 是暫存在電腦裡的內容,甚至把編輯完的文件先儲存在電腦上,連線時再上傳就好。這些離線處理技術其實很久以前就存在了,比如cookies、第三方插件式 儲存(Plugin Based Storage)等等,但是cookies的安全性低、容量有限,裝外掛又麻煩,已經無法應付現在超級複雜的網頁存取需求,所以離線上網也才會需要標準 化。

▲在網路不穩或頻寬有限的情況下,離線作業就顯得特別重要。

4大離線上網技術

用瀏覽器儲存網頁資料的最主要標準技術有4種,分別是應用程式快取(AppCache)、網路儲存(WebStorage)、以及提供資料庫離線儲存的Web SQL Databases和IndexedDB。

一、應用程式快取(AppCache)

網頁應用程式(WebApps)可以將檔案儲存在快取裡面,就算使用者離線了,還是可以存取資料,這些檔案可以是HTML、CSS、 JavaScript等等的任何元件。 透過AppCache,瀏覽器可以指定哪些文件要在離線時顯示並預先下載,所以當你在離線時重新載入頁面,網頁會照樣出現,也可以視連線狀況來調整頁面的 顯示方式,比如說CSS就可以有連線與離線兩種樣式。 AppCache可以加快網頁存取速度、減少伺服器負擔,Chrome、Firefox、Opera、Safari等等的瀏覽器都支援這個技術。

二、網路儲存(webstorage)

AppCache是讓使用者儲存文件的,W3C制定的webstorage則是讓程式人員來儲存資料。它有兩種儲存方式:頁面組儲存 (sessionStorage)和本機儲存(localStorage),頁面組儲存在關閉瀏覽頁面後,資料就會不見,本機儲存則是會永久保留,除非你 把它刪除。webstorage會按網址來儲存資料,域名完全相同的網頁會使用同一個儲存空間,辨別的精準度到埠口跟傳輸協定也有影響。比如 http://www.example.org和http://abc.example.org就是分屬於兩個不同的域名空間,http: //example.org與https://example.org以及http://example.org:80與http: //example.org:8000也都不同。

▲WebStorage是使用 key-value 的形式來儲存資料的。

▲你可以自己去調整每個域名的上限。比方在opera輸入opera:webstorage,但前提是必須要拜訪過支援webstorage的網站,才會看到新增的項目。

▲大部分支援webstorage的瀏覽器,儲存容量都以5MB為上限。

三、Web SQL Database

Web SQL Database可以讓SQL資料庫在客戶端運作,不遇它還沒成為標準。一個技術要能夠成為標準,必須得到兩個以上的瀏覽器支援,Web SQL Database已經達成這個條件,但是它的資料庫語法是按照SQL Lite來部署,SQL Lite的語法很接近SQL,只是還存在少許偏差。所以W3C決定必須至少有另外一個SQL版本也可以同時運用Web SQL Database技術下,才可以正式建議此技術為標準。

▲Web SQL Database的語法和SQL相似。

四、indexedDB

IndexedDB目前只是一個草案,它可以算是webStorage和Web SQLDatabase的混合體,是以本機儲存(localStorage)的概念來運作,而且可以在儲存的某些數據區域裡標示目錄索引(index)。 indexedDB最適合運用在線上遊戲,你可以告訴IndexedDB用遊戲的內容來建立目錄索引,目前只有Firefox 4支持這個標準。

以上這些技術可以互相搭配使用,Gmail行動版就是結合AppCache與webstorage的應用之一。


星期一, 9月 27, 2010

膝關節退化有救了

http://life.chinatimes.com/2009Cti/Channel/Life/life-article/0,5047,11051801+112010081500058,00.html

張翠芬 2010-08-15 中國時報

最新研究發現,只要清除關節內引起發炎物質,刺激軟骨再生,即可逆轉惡化

「膝關節已經退化了,先以藥物止痛,少用點,做做復健。真的沒辦法了,再換關人工關節。」老師這麼教,醫師們也都這樣做,但真無法阻止膝關節退化嗎?

慈濟醫院結合中正大學、陽明大學與義守大學研究團隊,最近有了令人振奮的新發現。傳統退化性膝關節炎治療是給患者止痛藥應急,等關節磨損到一定程度再置換人工關節。新發現是,只要清除關節內引起發炎的物質,刺激關節軟骨再生,即可逆轉關節炎惡化。

內側褶襞 膝關節神祕殺手

大林慈濟醫院關節中心主任呂紹睿說,膝關節內側有一個構造「內側褶襞」,就像膝關節的「神祕殺手」,曾受傷、因工作需要重複彎曲或需要蹲、爬樓梯等,而造成關節重複發炎,內側褶襞就會越來越硬,磨損骨頭。

被內側褶襞磨下的「軟骨碎片」會掉到關節中,就像眼睛進砂,碎片不斷摩擦導致軟骨壞死。發炎組織並同時釋放出有害化學物質,使關節軟骨逐漸崩解,就是關節繼續退化的原因。

呂紹睿指出,內側褶襞在20多歲時相當平滑,呈薄、半透明狀;3、40歲開始纖維化,漸漸失去彈性而變硬;50多歲以後即出現磨損、發炎,對關節軟骨的破懷性逐年增加。

軟骨再生促進術 逆轉退化

發現致病機轉後,呂紹睿發展出「膝關節軟骨再生促進手術」,以關節鏡及電動抽吸刀片,清除褶襞及發炎組織,就像關節大掃除,再微調軟骨間的鬆緊度,患者採半身麻醉,只要住院一、兩晚,即可快速恢復行動。術後輔以促進軟骨再生療程,進而逆轉膝關節退化的病程。

研究團隊追蹤以此新模式治療的病患,第1、2期退化性膝關節炎治療成功率高達80%-90%,即使最嚴重的第4期也有60%成功率,不必換人工關節。

逾6成治癒 免換人工關節

曾擔任藥師的謝女士酷愛打網球與園藝活動,運動量過度,造成兩腳膝蓋嚴重受傷,被診斷為第3期退化性膝關節炎,一走就疼痛難耐。她不想換人工關節,選擇手術清除游離軟骨,使軟骨再生。術後迄今不到1年,已能快樂打網球、從事喜愛的園藝工作。

呂紹睿指出,正常人膝關節平均每年彎曲多達百萬次,軟骨長期磨損下導致損傷,退化性膝關節好發於4、50歲以上的中老年人,典型症狀是疼痛,早上起床覺得僵硬,行走有異聲,急性期會有腫脹積水或外觀變形。

骨科門診中,幾乎有一半以上的病人是因骨骼肌肉問題求醫,其中退化性膝關節炎占2/3,目前醫界治療主要著重在輕度及中度病患,以物理治療或藥物保守療法來減輕疼痛。

苗栗弘大醫院院長劉有漢指出,內側皺襞引發的連鎖反應確實會造成病人退化性膝關節炎的惡化,這項新技術讓患者在藥物、物理治療、到換人工膝關節前,有更好的治療選擇。


新研究證明:疼痛能導致關節炎
類風溼性關節炎治療新突破
探究超堅韌水凝膠之謎
與眾不同的玻璃 幫助骨骼再生
生物玻璃如何修復骨骼?
探究超堅韌水凝膠之謎
探索維他命 D 與鈣的交互作用
減掉脂肪保持精瘦的新方法

Sandy Bridge CPU 命名方式

http://www.techbang.com.tw/posts/3646-intel-sandy-bridge-exposure-core-i5-2400-behind-the-scenes
作者:tandee 發表於 2010年9月27日 11:22

Dsc_5498-280 Intel在IDF(Intel Developer Forum, 英特爾科技論壇)前後陸續釋出下一代處理器Sandy Bridge的資訊,雖然有晶圓圖、去鐵殼美美的藝術照,不過就是看不到處理器的真面目。這次編輯部透過管道取得採用Sandy Bridge架構的Core i5-2400,搶先看看跟現在的Core i5到底哪裡不一樣。

全新4+1碼命名

看到處理器型號,應該有人會有疑問,Intel是不是又改了型號編碼,數字怎麼越來越多?其實,型號命名原則改變不大,僅多了世代 (generation)編號,由原先的3+1變成4+1。不過跟現在的產品相比,末尾的特殊型號多了2種。除了現在不鎖倍頻的「K」之外,還有省電版 「S」跟超省電版「T」,意味著桌上型處理器將更具變化。
▲Core i5-2400, i7-2600的2代表第二代,後方除了K之外,還有S跟T版本。
▲從Intel公佈的處理器圖片可看出,Sandy Bridge為單晶片設計。
▲這張則是筆電用的行動版Sandy Bridge,同樣是單晶片設計。

差一點,就是塞不下

Intel不像AMD這麼佛心,相似的腳位用了3個世代,讓處理器不停向下相容。目前得知Sandy Bridge處理器,搭配P67主機板的腳位為LGA 1155,不相容於現在P55所用的LGA 1156。從圖片中可看到,把Core i5-2400跟現在Core i5-661擺在一起,面積相同,但是防呆缺口位置就是差了幾釐米,導致新舊處理器無法互用。
姑且不論華擎之類的 廠商會不會又搞出雙處理器的主機板,就目前的資訊來看,現在所用的Lynnfield、Clarkdale都無法用在未來的P67主機板上,反 之,Sandy Bridge也不能裝在P55上。現在要買電腦的人得好好想想,到底有沒有升級的需要,否則碰上改朝換代,處理器、主機板變成孤兒,要後悔也來不及。
▲右側是Core i5-2400,左側則是Core i5-661,最大差異在於防呆高了數mm。
▲從背面可看到,右方Core i5-2400在防呆缺口下方少了1個接點。
▲LGA 1155由底部算至缺口,長度約30mm。
▲LGA 1156高度較低,大約在28mm左右。

硬上LGA 1156散熱器

雖然處理器腳位不同,原先筆者猜想散熱器「可能」也會一併更換腳位。無意間拿起LGA 1156的散熱器裝下去竟然剛剛好,或許是處理器面積相同,扣具、模組沒有改變,使得散熱孔位也沒有更換的必要,讓LGA 1156散熱器可以沿用到LGA 1155世代。不過這張ECS的主機板仍是工程樣品,跟市售版本可能會有落差,無法保證正式版孔位完全相同。
▲拿Core i5-661散熱器裝上去竟然剛剛好,未來可能不用換新孔位了。

▲LGA 1155插槽跟LGA 1156外觀極度相似,但是兩者並不相容。

效能測試再等等

這次取得的處理器、主機板皆為ES版本,經過測試之後發現效能表現失常,研判是處理器與主機板仍未磨合,加上各測試軟體與應用程式,皆未對處理器最佳化,測試成績表現並不好。因此在此並未列出效能數據,待產品較成熟後才會一併介紹。
▲BIOS中可看到Core i5-2400不支援HT,且為四核心處理器。

▲未來Core i5都將是四核心架構,且都不支援HT。

▲受限於產品磨合度較差,無法完全發揮應有的效能。

星期五, 9月 24, 2010

你的 PC 安全嗎?零時弱點網站告訴你

http://www.zdnet.com.tw/news/web/0,2000085679,20147660,00.htm
2010/09/24 12:58:01 ZDNet新聞專區:Elinor Mills

你認為自己的電腦有多安全?你可能只依賴微軟和蘋果等軟體商,不定時地通知你安裝更新。但在修補程式發佈前,已知漏洞(或稱零時差弱點)已讓你的電腦坐待攻擊。透過電郵和不經意瀏覽的網站,惡意程式即可潛入你的電腦。

EEye Digital Security日前成立一個列出已知零時差弱點,並提供既有修補程式資料庫的網站。 Zero Day Tracker集結了已公開之安全漏洞訊息,包括受影響的軟體、嚴重程度、潛在衝擊、替代方案和其他防護方法的建議。

eEye共同創辦人兼技術長Marc Maiffret表示,這個免費網站提供零時差資訊的「一站式服務」。他說:「長期以來,唯一提供零時差訊息的公司就是微軟,Adobe則是最近才加入。但還有許多公司的零時差弱點都沒有被通報。」

目前使用最廣泛的軟體弱點資料庫,是美國國土安全部轄下國家網路安全部/US-CERT贊助、美國國家標準與科技協會負責管理的國家弱點資料庫(National Vulnerability Database)。但你必須自己搜尋資料,查看哪些弱點尚未修補。

Zero Day Tracker以時間順序,列出尚未修補的漏洞。目前有21個零時差漏洞,除了兩個分別出自2006年和2005年,其餘全是2010年才曝光的弱點。 2005年11月曝光的漏洞,影響Windows 2000系統。Maiffret說:「一如預期,微軟是2010年未修補零時差弱點最多的公司。」前一年也是,但Adobe有急起直追之勢。

針對蘋果系統被列出的弱點稀少,Maiffret表示,那反映出蘋果的市場比Windows小很多,不代表Mac軟體較安全。他說:「與微軟和微軟相關的軟體相比,蘋果的零時差弱點少很多,但那絕不代表Mac沒有弱點。」攻擊者寧願把時間和精力花在90%的使用者身上。

Adobe最近剛修補一個Flash Player的零時差弱點,微軟也用緊急更新,防堵一個散播Stuxnet蠕蟲的漏洞。Stuxnet可利用三個Windows弱點散播,微軟上週解決了一個,還有兩個弱點未補。

Zero Day Tracker也將納入行動軟體的弱點資訊。Maiffret表示:「其中一種iPhone越獄技巧,就是利用一個PDF弱點。那只是行動平台零時差弱點的一個例子。」

除了提供資訊和好用的資源,Maiffret希望公開這些弱點,能促使軟體商儘速修補。他說:「我們要對軟體商施壓。」該公司的資料來源包括軟體商、安全公司,和自行監看地下與海外論壇。Maiffret表示:「我們的消息根據之一,是某個中文討論區的對話。」

軟體商在公布安全漏洞時,通常會宣稱尚未發生大規模攻擊,藉此安撫顧客。但針對Windows、Adobe Reader或IE這類廣泛使用的軟體,攻擊程式的出現和散佈,通常就在弱點曝光的一天之內。

例如上週五,微軟警告其用來製作網站的ASP.NET架構有一嚴重漏洞,但尚未有任何相關攻擊。到週一(20日),微軟便更新其安全公告,表示已發生「有限、主動的攻擊」。

這類攻擊也可能隱藏甚久不被發現。例如透過某個IE漏洞,鎖定Google和數十家公司的Operation Aurora攻擊。Google在2010年1月公佈時,宣稱前一個月才發現,但另一個分析顯示,該攻擊行動在5個月前被初次偵測到,但當時可能鎖定不同 的公司。Maiffret說:「這項弱點在業者發現之前就被利用。有大量的攻擊是我們不知道的,而我們通常是意外發現它們的存在。」(陳智文/譯)


相關新聞

星期五, 9月 17, 2010

熱點充電 磁共振免拉線

評論:
------
若接收設備更先進,可以接收太陽系或地球本身的磁場振頻,那......潔淨又免費的能源將成為事實!

******************************************************

日本電子大廠富士通(Fujitsu)發表一款「無線遠距充電器」,利用磁共振原理,不但不用接線,甚至可延伸數公尺,未來手機、電腦及電動車等電子用品,都能在公共場所的熱點隨時充電。

無線充電器應用磁共振原理,線圈和電容組成的傳送裝置,傳輸電力給另一組線圈和電容組成的接收器。現行的多數無線充電裝置,,必須在近距離內充電,例如電動牙刷得放在充電座上才能作用;相較之下,磁共振充電器的電力傳送距離更遠。

目前的概念裝置測試時,可在15公分的距離充電,不過富士通宣稱,待充電器發展成熟,在數公尺的距離外充電也不是問題,該公司預定到2012年以前,在公共場所設置充電熱點,並量產充電器。

此外,新型無線充電器的充電時間更短更快速,只要目前充電時間的一百五十分之一,且能同時充電多項裝置。對於無法更換電池的iPhone用戶,無疑是一大福音。

雖然新式充電器又快又便利,但消費者擔心,此裝置是否像其他電器產品一樣,會發出電磁波傷害人體。專家解釋,理論上,電力只在同頻率共振的線圈間傳送,不會危害人體。

【2010/09/17 聯合報】

星期二, 9月 14, 2010

IT專案失敗的12個早期徵兆

http://www.zdnet.com.tw/enterprise/technology/0,2000085680,20147302,00.htm
2010/09/01 09:25:02 Michael Krigsman 原著

經理人得知專案趕不及或超過預算時總覺得很驚訝,不過,我們總是習慣忽略一些專案可能出問題的早期徵兆。

在IT專案失敗的早期徵兆( Early Warning Signs of IT Project Failure)一文中,撰稿的兩位研究員蒐集了15位專家,55位IT專案經理的資料,結果發現很重要的一課:在專案失敗或出現問題之前,總會有「重大徵兆」或「早期預警」出現。

該文依照人為風險與流程風險提出了12個警告徵兆:

人為風險

缺乏高層支持

專案經理人太弱

缺乏重要關係人(stakeholder)的投入或參與

專案小組向心力不足

成員缺乏必要知識或技能

專家成員行程太滿

流程相關風險

該專案沒有商業案例

缺乏文件記錄下來的必要與/或成功條件

沒有更換管控流程(改變管理層)

行程管理規劃不當

關係人之間的溝通不良

資源安排給更高優先性的專案

失敗率居高不下表示多數組織都忽略了這些早期徵兆。雖然我們可猜測到原因,但有一個事實很明顯:企業軟體採購者最好事前能充分瞭解如何提早看出專案可能失敗。

CIO顧問Chris Curran在寫到這個話題時,特別提到幾個可提到偵測到一些「微小徵兆」的方法。

我們可能都忽略了一些很基本、但卻不是特別明顯的徵兆,導致我們看不清楚專案其實不可能成功。這些微小的徵兆需要有不同的心態與工具來蒐集、追蹤與行動。

我認為最好的方式是仔細傾聽來發現這些早期風險。

貴公司對於偵測這些早期徵兆是否有一套好的模式呢?

(本文為美國ZDNET科技部落格 / 陳奭璁譯)

Defect Pattern的實作

http://www.zdnet.com.tw/enterprise/column/Prudentman/0,2003032119,20146502,00.htm
通達人

筆者在《SQA怎麼做的實戰教學》一文中介紹了SQA的一系列活動,也在《軟體開發專案 最怕錯估情勢》中介紹了「已病」和「 未病」的概念。 在這篇文章中,筆者將進一步介紹融合「已病」觀念的Defect管理手法。 Bug和Defect

在一般狀況下,Bug和Defect是指同一件事,也就是指軟體出現不符合預期結果的狀態。但在這篇文章中,Bug仍維持原來的意義,但Defect則隱含了Root Cause的元素,而不再只是Bug的表面徵狀如此簡單。

在實務上,同一徵狀的Bug,其產生原因可能不盡相同;但同一產生原因所產生的徵狀,也可能不全然相同。是否能被歸類在同一個Defect Pattern內,必須以Root Cause才能判定。

形成Pattern的主要條件

Bug要形成規律,首要條件就是必須有一定的數量。單靠一個Bug,很難看出整個研發系統出現了什麼問題。

只要Bug的數目一多,在經過統計、分析後,就很容易看出Bug後面潛藏符合80/20法則的某些規律、趨勢-80%數量的Bug重覆指向某些特定的20%目標。例如:某位Developer、某個功能、某支程式、某個被使用元件、某些特定的狀況。

但要找到這個規律,則需要在Issues Tracking軟體(如Bugzilla、Bugfree)軟體中自訂/新增其他欄位,並使用這些資料,才能在Bug結案時,統計判斷出發生問題的可能原因。

一般而言,筆者會建議至少需要以下欄位的資訊:根因、元件、Code檔名、功能(需求編號)、Developer,才有機會釐清這些Bug和這些資訊是否具有關連性。

另外,Defect Pattern的手法,其實不限於程式,舉凡流程、文件,皆可以應用SQA的手法和Defect Pattern的活動,提出具體改進的手法。

其他配合條件

除了上述Bug相關資訊,要找到這些規律還需要有參與開發/測試實務經驗的SQA,從品質的角度和專業來分析問題。

唯有對該軟體專案的開發流程/開發環境有一定了解的SQA,依照軟體專案的規模、性質的不同,形成實際判斷的「手感」。根據筆者參與專案的經驗,有經驗的SQA需要進入專案3個月左右(視規模、性質可能有所不同),對專案有一定程度的了解後,才有機會看出這些潛藏的規律。

另外,SQA的詳細活動,可以參考《SQA怎麼做的實戰教學》一文,這裏著重於撰寫Defect Pattern及其後的相關活動。

撰寫Defect Pattern

在確定Bug確實已形成Defect Pattern後,就可以整合這些記錄成為Defect Pattern。在這裏筆者直接以在Delphi平台的「Unit Transfer單位轉換」作Defect Pattern實際個案及重要欄位介紹。

一般資訊 包括了Defect Pattern標題(Title):要求以一句話就簡捷說明了這篇文章主要達成的目標。版本(Version):作版本控管和發佈的記錄。修訂記錄 (Revision):每一版文件的修正內容記錄。關鍵字(Key Word):可以達成效果、目標、使用的元件作關鍵字。倘若有全文檢索系統,這欄就可以省略了。讀者(Readers):簡要說明寫作的對象。以及建議 (Suggestion):作者對讀者的要求。

缺陷資訊 則涵蓋了問題描述(Problems):寫Bug ID和Bug Title。問題發生處(Root Cause):寫出發生問題的地方。解決方案(Solution):列出錯誤的方式和正確的修正方式,和未來預防的手段。注意事項 (Attentions):其他作者希望提醒的事項。

Defect Pattern的關鍵其實在「問題發生處(Root Cause)」。上圖範例內寫的只是發生問題的地方,但實際離Root Cause還有一段距離。因此,筆者建議讀者應用TOYOTA豐田汽車實施改善流程的「五個WHY」手法,重複「結果→原因」的過程,找到一次因、二次因…、直到找到無法再繼續向下探索的n次原因,用這個手法找到的原因才有資格被稱為Root Cause,也往往才是最根本的原因。

另外,Defect Pattern寫完後還需要經過驗證的過程。

驗證Defect Pattern

筆者通常會找一個沒有參與這個系統/專案的Devoloper,請他看Defect Pattern的草稿,並依照文件的描述步驟實際操作,以確定內容確實有效,發現有疑問時,則要求作者修正。

接著,筆者還會自己再看一次修改後的Defect Pattern,以確定文章的描述清楚、資訊齊全、沒有格式的錯誤。如果有必要,筆者還會再找其他人再Review一次,以確認內文確實正確、有效。

確認Defect Pattern後,則進行最後的Fan Out。

Fan Out

是品保領域內的特殊單字,指的就是從單點作扇形展開的意思,實際的行動就是分享、發佈、展開Defect Pattern。

「分享」時,筆者通常建議在部門的例行會議或是召開正式的會議,邀請高階主管參加,並請當事人也就是撰寫Defect Pattern的作者上台報告。

會使用這個手法其實有很多的目的。除了請更多的Devoloper再次確認內容,以釐清作者的盲點;另一個目標是讓與會的其他成員也能很快地了解這個問題的始末,除了能當場提出來討論,也能再思考一下自己是否也有類似的問題,在會後自筆者檢查;再者是讓成員知道高階主管也重視這件事,讓所有成員都有參與感,並感受到整個開發團隊在開發手法上的進步。

「發佈」時,除了得先修正Defect Pattern在「分享」過程中又發現的錯誤,SQA還需要以正式文件的型式,以書面或Email給所有成員,再儲存至組織內的固定位置,讓所有的成員方便查詢。

「展開」時,是特別重要、太常見的Bug,就需要某個資深的成員偕同SQA,主動以Defect Pattern內的關鍵字去搜尋資料庫,以偵檢此一Bug沒有在其他專案、程式中發現,最後再記錄「展開」的過程,以便未來又發現相同問題時,能了解搜尋的盲點,並以此修正Defect Pattern。

至此,關於Defect Pattern的活動才算完成。

小結 Defect Pattern其實上述活動是典型的「知易行難」,原理非常簡單,但卻不容易作到。

深究其原因,筆者認為有以下幾點。一是決定的老闆/主管缺少找Root Cause的「決心」和面對Root Cause的「勇氣」,以致於改善活動往往淪於形式,這是很多的組織/團隊達不到Defect Pattern預期效益的最主要原因。

另外是決定的老闆/主管不認為此一活動有價值,所以捨不得花此一活動的相關費用。但是,不願意作這些活動的結果,是這些費用往往又反過來提高開發成本。最後,就是開發成員的消極抵抗。這個和Devoloper個人的觀念有很大的關係,因為這不是本文的討論範疇,筆者以後再另文討論。

其實,僅執行Defect Pattern還是有一些缺點,這個部份筆者賣個關子,下回再分享。

星期五, 9月 10, 2010

Dynamips Cisco router emulator

http://hare48.pixnet.net/blog/post/8934545

因為目前在準備Cisco的考試,所以用了幾個Router Simulator後,發現都有限制。

不是這個指令不支援,就是那個指令沒有作用,真是受不了。

後來在大陸的討論區看到了這一個軟體,真的好,所有的指令都可以使用,因為是使用Cisco IOS 而不是一般的模擬器。

可是Google了一下台灣的網頁,發現沒什麼資料可用,所以就貼一下我使用後,所得的一些經驗,希望對台灣的各位弟兄有所幫助。



下載軟體:

到此網站 http://dyna-gen.sourceforge.net/

點「 Dynamips Cisco router emulator」下載 Dynamips

點「Winpcap 4.0」下載 WinPcap 4.0 beta 3



兩個都裝完後,桌面會有3個捷徑,先不要執行:

Dynagen Sample Labs:一些網路拓撲

Dynamips Server:模擬伺服器

Network device list:顯示本機的網卡設定



上網找Cisco的IOS,如果Google不到,

可以到 http://www.vitaltech-group.com/ 下載試用的IOSHunter,

可以下載2004年之前的IOS。



接下來找出你要使用的 IOS 的 idlepc 的值,避免CPU的使用率100%

在Windows 的 Command mode 下執行:

C:\Program Files\Dynamips>dynamips 「IOS 的路徑」

例:C:\Program Files\Dynamips>dynamips images\C7200.bin



當IOS載入完畢後,按 ENTER 進入使用者模式。

接著按 ctrl + ],放開後按 i.

等個一分鐘,會出現一些數值,把它們拷貝到文字檔,待會要用。

接著按 ctrl + ],放開後按 q 離開模擬器。

註:想看其它的指令,按 ctrl + ],放開後按 ENTER.



再執行一次 dynamips,不過這次加上 --idle-pc 的參數

例:dynamips --idle-pc=0x60668580 images\C7200.bin

這裡的0x60668580,就是從剛才複製到文字檔的數值中,選出一個來。

當IOS載入完畢後,按 ENTER 進入使用者模式。

這時你會發現,CPU的使用率,不再是100%了。





接著用 Ultra Edit 之類的文字編輯器,打開桌面捷徑中的檔案 Dynagen Sample Labs\simple1\simple1.net

如下:

======================================================

# Simple lab



[localhost]



[[7200]]

idlepc = 0x6066ce58 <-- 加入這一行,避免秏用100%的CPU,0x6066ce58請換成你所得到的數值

image = \Program Files\Dynamips\images\c7200-jk9o3s-mz.124-7a.image <-- 改成IOS所在的位置

# On Linux / Unix use forward slashes:

# image = /opt/7200-images/c7200-jk9o3s-mz.124-7a.image

npe = npe-400

ram = 160



[[ROUTER R1]]

s1/0 = R2 s1/0



[[router R2]]

# No need to specify an adapter here, it is taken care of

# by the interface specification under Router R1

=====================================================

詳細的設定,請見桌面捷徑中的檔案 Dynagen Sample Labs\all_config_options.txt

修改後存檔。

接著按兩下桌面捷徑中的 Dynamips Server,執行模擬伺服器。

再執行桌面捷徑中的檔案 Dynagen Sample Labs\simple1\simple1.net,載入網路拓撲。

此時你可以在 => 之後鍵入 telnet R1,連到R1 Router了。

可以好好的練習了。

ARM推出Cortex A15多核處理器時脈上看2.5GHz

http://www.ithome.com.tw/itadm/article.php?c=63285
文/蘇文彬 (記者) 2010-09-09

ARM已開始授權TI、Samsung、ST Ericsson等三家晶片業者使用,未來還會陸陸授權其他業者,預期使用Cortex A15處理器的終端產品要到2012、2013年才會問市。


ARM持續提昇Cortex系列處理器效能,推出下一代代號Eagle的Cortex A15處理器,時脈達到2.5GHz,較現有Cortex A8提昇5倍以上效能。

Cortex A15為ARM下一代Cortex多核心處理器,強化處理器能源使用效率,因此雖然能耗與現有高階智慧型手機普遍使用的Cortex A8相近,但時脈達到2.5GHz,效能較A8提昇5倍以上。此外,A15也具有更大的記憶體定址能力,記憶體儲存空間可到最大1TB。

ARM目前已授權Samsung、TI、ST Ericsson使用A15架構於各自的處理晶片上,預計今年底業者便會推出Cortex A15架構晶片樣品,實際上市的終端產品可能要等到2012或2013年。

A15與現有晶片能耗相近,但效能大幅提昇,未來可應用於智慧型手機、平板電腦、無線基地台或伺服器上。但ARM預估初期A15的應用市場可能以利潤較高的智慧型手機、平板電腦為主,之後成本下降才會擴大至其他市場。

配合Cortex A15處理器推出,ARM應用工程經理姜新雨表示,ARM目前除了授權晶片商使用外,未來也會陸續推出支援A15的各種產業生態資源,例如AMBA 4相容的CoreLink總線技術,可串接多顆A15組成更大效能的系統,另外也會推出搭配A15的新Mali繪圖晶片。其他還有CoreSight debug、trace IP等相關開發應用所需工具。

現階段多數的高階智慧型手機,例如HTC Desire、Samsung I9000,還有新興的平板電腦如Samsung Galaxy Tab均採用Core A8單核心處理器架構,時脈為1GHz,今年底採用雙核心Cortex A9的智慧型手機將陸續上市,ARM預期明年平板電腦為了更高的效能、多工表現也將採用雙A9設計高階產品。因此Cortex A15還不會那麼早普及於市場。

由於效能大幅提昇,加上多顆處理器可透過CoreLink連接增加處理效能,Cortex A15讓ARM有機會延伸現有手機、嵌入式晶片、消費電子市場外,擴展企業IT空間,例如無線基地台設備、伺服器等等。

ARM全球移動運算ODM市場開發經理陳洛指出,以伺服器應用為例,使用更低耗能的處理器除了減少處理器耗電,也降低了相關冷卻散熱成本,對企業節省能源 成本有相當的幫助,儘管ARM架構處理器的伺服器可能還不足以擔任主要的運算、儲存系統,但已可用於郵件、檔案伺服器等應用上。

不過,未來要進入伺服器市場還有待相關伺服器產業生態建立,例如主流伺服器作業系統、資料庫等應用是否支援等等。因此ARM認為初期A15仍以較普遍採用的智慧型手機市場為主,其後則是平板電腦。