關於32位和64位系統的差別,那真是說來話長,這裡我們首先要了解一下cpu的架構技術,通常我們可以看到在計算機硬體上會有x86和x64的標識,其實這是兩種不同的cpu硬體架構,x86代表32位作業系統 x64代表64位作業系統。那麼這個32位和64位中的「位」又是什麼意思呢?相對於32位技術而言,64位技術的這個位數指的是cpu gprs(general-purpose registers,通用暫存器)的資料寬度為64位,64位指令集就是執行64位資料的指令,也就是說處理器一次可以執行64bit資料。舉個通俗易懂但不是特別準確的例子:32位的吞吐量是1m,而64位吞吐量是2m。64位計算有兩大優點可取:可以以進行更大範圍的整數運算;可以支援更大的記憶體。但不能因為數字上的變化,而簡單的認為64位處理器的效能是 32位處理器效能的兩倍。實際上在32位應用下,32位處理器的效能甚至會更強,即使是64位處理器,目前情況下也是在32位應用下效能更強。所以說不要迷戀64位,64位不是乙個傳說,我們要清晰地分析後再決定使用32位還是64位。
大家是不是有些迷茫了?到底什麼時候選擇64位,什麼時候選擇32位?我們分成幾部分來給大家逐一解釋。
我們先說說記憶體,為什麼32位的系統只能顯示3g記憶體(實際上是3.25g)呢?這是由於系統本身的限制所造成的。32位系統對於記憶體的定址能力總共就4g,而4g裡還要放其他東西:比如系統 bios,輸入輸出裝置的位址和設定,各類介面的設定和位址等等,這些位址和設定所占用的空間要達到700m左右,因此4g內存在32位中也只能顯示出3g了,但是剩下的那些記憶體其實也沒有被浪費掉。
那麼,是不是32位系統就真的不能識別出4g記憶體了?也不是。我們知道在記憶體中會有700多mb的空間被硬體位址或介面所占用,那我們能不能通過某種手段,讓它們去占用硬碟上的空間(類似虛擬記憶體),而不占用物理記憶體,這樣4g記憶體不就可以完全被識別了麼?沒錯,這種方法的確可行,於是現在有了一種名為pae的技術,中文叫做實體地址擴充套件,這是硬體裝置上提供的技術,不過這種技術需要系統的支援,比如32位的windows server 2003可以很好的支援這個技術,但是vista的支援就不太好,至於windows 7,大家可以用用看。
因此,我在快速通道中並沒有說只要大於3g記憶體就必須裝64位系統,這還得看你的實際工作或使用需求。
除了和記憶體有關以外,64位技術還和硬體有關,主機板首先要支援4g(945以前的主機板有的不支援4g記憶體,這樣即便是64位系統也無法識別4g記憶體),另外處理器(cpu)也需要是64位的,有人會把雙核和64位cpu搞混,這裡我要強調一下,雙核和64位是兩種不同的概念,雙核指的是物理上有兩個cpu,而64位是一種技術,不是說只要是雙核就一定是64位,比如奔騰d系列中就有32位的雙核(目前酷睿2雙核倒基本上都是64位),而64位其實也分兩種,一種是我們常說的x64,還有一種是intel的安騰cpu,這是專門針對大型伺服器的64位處理器(64位的客戶端版本根本裝不上,只能裝伺服器版本)。
如果有了這些硬體的支援,那麼很好,你已經可以開始考慮使用64位的系統了,不過接下來是最重要的,就是我們要了解使用64位可能會有什麼樣的風險。總的來說,我們要考慮下列四個問題。
1. 是不是有更好的效能?
2. 相容性如何?
3. 可靠性和安全性如何?
4. 需不需要花更多錢?
關於第乙個問題,文章開始我們就談了,有的時候32位系統的效能可能會比64位更好。我們習慣於從經驗上來推斷,8位到16位,16位到32位,電腦的效能都得到了提公升,但64位的效能提公升如何,目前還不好下定論,這是因為只有應用了64位優化的64位程式才會有效能提公升,而目前大多數的windows應用程式並沒有做這個優化,而32位應用跑在64位系統時邏輯上會花費更多時間(真實測試時的區別很微小)。
有人看到近段時間出現了大量的64位應用程式,不過需要注意的是,這些應用程式的出現不是為了提公升效能,而是為了解決32位程式在64位系統上的不相容問題。當然,我相信這種經過64位優化處理的軟體會越來越多,畢竟64位是一種方向,早晚的事。
第二個問題很重要,相容性好壞是乙個系統上天堂或是下地獄的重要因素,在windows 7中,32位的系統相容性非常出色,不過64位的系統相容性依然有一定的風險,雖然已經有很多軟體已經更新到相容於64位的版本,但是使用者依然要在64位的系統上執行大量的32位軟體,這就有可能帶來風險。在32位系統中,程式執行所需要的dll(動態鏈結庫)儲存在c:\的windows\system32下,而64位系統中32位庫在c:\的windows\syswow64中。32位程式試圖從system32中載入庫的時候,wow64(windows on windows 64-bit)負責重定向他。同樣,程式在呼叫登錄檔時也是需要進行一次重定向,wow64重定向hklm\software到hklm\software\wow6432node,wow64相比其他的虛擬化機制,更能保證軟體相容性,通常,這些重定向工作的很好,但是任何複雜層都可能造成不可預見的問題,這個問題的表現就是不相容。另外,如果你的電腦中還有16位的軟體,那麼在64位的系統中將會肯定的不相容,這也是我們需要提前考慮的問題。
關於硬體的相容性,通過我們之前的測試可以看到,整體windows 7的硬體相容型表現很好(大約90%以上的硬體都可以相容),不過這是指的32位的系統,在64位的系統下,硬體的相容性目前要低於32位系統,不過相信這一現象將會隨著64位的發展而逐漸好轉。
第三個問題是關於穩定性和安全性的,在64位系統中,安全性有了更大程度的提公升,patchguard(安全核心)和dep(資料執行保護)可以保住系統抵禦類似緩衝溢位攻擊之類的惡意行為,不過安全這種問題可不是單純靠技術就能搞定的。而在穩定性上來說,理論上64位的穩定性應該優於32位,不過在使用時卻沒有體驗到這樣的感覺。主要問題出現在不相容的軟體和驅動上面,這種不相容情況甚至會帶來藍屏的後果,即便是要求驅動需要簽署數字簽名,這種現象目前也沒有看到太大好轉。
參考了以上四點,相信大家也都有了乙個基本的了解,何去何從也應該心裡有譜了,我再總結一下,要實現真正意義上的64位計算,光有64位的處理器是不行的,還必須得有64位的作業系統以及64位的應用軟體才行,三者缺一不可,缺少其中任何一種要素都是無法實現64位計算的。另外,大家也要考慮現實情況,64位是趨勢,但是是否現在就親自去體驗,還要好好盤算盤算。當然,如果你還沒下定決心,也不要閒著你的電腦,我們可以在64位的硬體上先安裝32位的windows 7體驗著,不過如果咱的硬體是32位的,那可是絕對無法安裝64位的windows 7,話說這就是傳說中的「向下相容」
win7 64位 彙編環境搭建
最近在學習彙編與接 術,但是在自己的機子上實驗的時候,尷尬地發現我們的win 7 64位環境下,在dos下竟然沒有debug.exe,好不容易找到乙個debu.exe,在dos環境下呼叫,竟然是下面的結果 就到網上找相關的解決辦法,終於找到了乙個很好的工具 dosbox。一,下面就介紹下dosbox...
win7 64位上 安裝pl sql
pl sql 沒有64位,在64位win7上面安裝遇到很多問題,折磨了整整乙個下午,終於搞定了 大概的步驟如下 1 安裝11g 64位 oracle 資料庫 安裝正常流程成功安裝資料庫,結束後服務中會出現 5 6個有關oracle 的服務,其中 tnslistener 和 oracleservice...
win7 64位pycrypto安裝問題
電腦上python版本是2.7,在安裝pycrypto時出現以下問題 1 error unable to find vcvarsall.bat 解決辦法 安裝vs2008。在解壓出來的安裝包裡,雙擊setup.exe安裝程式 2 valueerror u path 解決辦法 安裝vs2008時新增6...