前言
眾所周知,我們通常說作業系統是32位還是64位說的其實是32位處理器(cpu)還是64位處理器(cpu),windows系統有32位和64位之分,下面我們來總結一下32位系統和64位系統的原理、區別以及如何判斷。
我們現在所稱的計算機系統是32位或64位主要依據的是cpu解析的字組大小(字組大小:cpu每次能處理的資料量)
32位處理器是指cpu內部的通用暫存器的寬度為32位元,支援整數的32位元寬度的算術與邏輯運算。
32位系統cpu一次可處理32位資料,即一次處理4個位元組。
64位處理器是指cpu內部的通用暫存器的寬度為64位元,支援整數的64位元寬度的算術與邏輯運算。
64位系統cpu一次可處理64位資料,即一次處理8個位元組。
64位系統通用暫存器的寬度相較於32位系統增加了一倍,可處理的資料位數也增加了一倍,資料處理的能力大大增強。
32位cpu的位址匯流排不會超過32根,那麼它所能達到的定址範圍也就不會超過2的32次方位元組(儲存單元以位元組為單位),也就是 4gb。
如果是64位cpu的話,它所能達到的定址範圍理論上就會是2的64次方位元組(上億gb)。
32位作業系統可以安裝在32位cpu或64位cpu的電腦上,當然,32位作業系統安裝在64位電腦上,其硬體恰似「大馬拉小車」:64位cpu的效能就會大打折扣。
64位作業系統只能安裝在64位cpu的電腦上。
[root@localhost ~]# getconf long_bit
[root@localhost ~]# uname -a(顯示系統資訊)輸出:x86_64表示64位系統,i686 i386表示32位系統
[root@db-server ~]# arch或者uname -m 輸出:x86_64表示64位系統,i686表示32位系統
指標是用來存放位址的變數。
32位的cpu上,位址是32個0或1組成的二進位制序列,位址就得用4byte的空間來儲存,所以乙個指標變數的大小就是4byte。同理,64位的cpu上指標變數的大小就是8byte。
int
main()
gcc以__i386__來進行32位編碼,以__x86_64__來進行64位編碼
int
main()
輸出size:64表示64位系統,輸出size:32表示32位系統
int
main()
32位 和 64位系統區別
1.32位系統cpu一次可處理32位資料,即一次處理4個位元組。64位系統cpu一次可處理64位資料,即一次處理8個位元組。通俗一點說 32位,就相當於你擁有32個工人,每次能完成32個工人的工作量 64位,就相當於你擁有64個工人,每次能完成64個工人的工作量 總結 由32位系統過渡到64位系統,...
64位系統和32位系統的區別
一直糾結32位和64位作業系統倒底有哪些區別?32位作業系統最大只支援4g記憶體嗎?可是明明看到伺服器記憶體顯示是大於4g的,到底怎麼回事?經過一番查閱終於搞明白了。作業系統有32位和64位之分,主要是因為存在32位,64位的cpu,其實是依據cpu解析的字組大小而來的 也有說是定址能力,我想可能是...
32位系統和64位系統的區別
這些領域的共同特點就是需要有大量的系統記憶體和浮點效能,簡單地說,64位作業系統是為高科技人員使用本行業特殊軟體的執行平台所設計的 2 安裝要求的配置不同,64位作業系統只能安裝在64位的電腦上,cpu必須是64位的,並且只在針對64位的軟體時才能發揮其最佳效能,32位作業系統既可以安裝在32位 3...