引用:
wugen寫到:
對於OS來說. 雙核心=雙CPU.... 自Windows NT開始微軟就支援多CPU了... x86自從P54C開始就支援多CPU, 只是玩的人少吧
我講了這麼多,結果還是忽略了:
引用:
killer00寫到:
MS的OS強項本就不含多核心
1.
伺服器需要很強的多工能力,試問MS不提供還混得下去嗎?既然強調伺服器效能要強,除了硬體要好,OS的選擇也是非常重要的,真懂得架伺服器的都知道MS的OS效能遠遜於Linux,有支援不代表就會善用,還是我前面那句話:MS的OS強項本就不含多核心。
2.
其實就算MS的OS在多核心上面沒有好的表現,那都無所謂,個人使用的電腦沒有那麼需要多工能力,就算Linux對於多核心的運用比MS的OS好個50%,對於個人使用者來說根本無法感覺出來,因為用途上本就不同,縱使用了四核心或八核心,對於個人使用者來說也只是一次可以讓四到八個程序同時佔用100%的CPU罷了,其實沒多大的差別,一般使用者也根本不會用到這個地步。
伺服器之所以強調,就是因為關係到瀏覽人數,同樣的配備,用了不同的OS,可以瀏覽的人數卻是天差地別(例如:一個可以讓5萬人同時瀏覽,另一個可以讓8萬人同時瀏覽),當然OS運用多核心的能力好壞就有極大的關係。
3.
就算OS單純只會平均分派程序給每個核心,就是:程序1給A核心,程序2給B核心,後面的繼續依序排隊,這也叫做支援多核心,僅適用軟體不支援雙核心的情況,至於軟體如果也支援多核心怎麼辦?OS要怎麼分派資源給它?如果不支援雙核心的軟體在同一時間要求,CPU資源要如何分派?這就不是這種等級的OS可以判斷的(最低階的演算方式,當然不能處理複雜的問題)。
但複雜的演算法遇到核心數增加,勢必要重新規劃,不然怎麼分派CPU資源?面對後面的四核心、八核心,說不定以後還有16核心...,難道每個都得重新規劃,這不是太不符合效益?不過這樣也個好處:頭痛醫頭、腳痛醫腳,核心不管怎麼增加,反正用更新檔的方式去解決,成本較低;至於要推出多核心專用的演算法,不限核心數量,好處是可以深植核心,效率最佳,但成本勢必龐大,我想MS絕對不會做,能作得到的大概也只有Unix系列(Open Source的好處)。
4.
就拿轉檔來說,目前的轉檔轉體已經有支援雙核心了,也就是說,當他這個程序運作時會同使用到兩個核心,我手頭上沒實驗的對象,所以我不知道當轉檔時兩顆核心同時運作的使用率會是多少,但依照常理推斷,至少要各佔50%才算合理吧,要是低於50%,那就比單核心還糟糕。那各位有沒有想過,如果可以讓使用率提升至80%或90%,甚至是100%時,是不是會更好?當然是如此,但是就會失去多工的能力,跟用單核心是一樣的,差別是會比較快完成轉檔,不過這僅限軟體支援雙核心的情況下。