鍍金池/ 問(wèn)答/C  Linux  網(wǎng)絡(luò)安全/ 關(guān)于32位操作系統(tǒng)最大能支持4G內(nèi)存的問(wèn)題

關(guān)于32位操作系統(tǒng)最大能支持4G內(nèi)存的問(wèn)題

關(guān)于這個(gè)問(wèn)題,我是這么理解的:
① 確切的說(shuō),應(yīng)該是32位CPU最大支持4G內(nèi)存
因?yàn)?2位CPU有32根地址總線,每根線0或1,總共2^32種可能性,2^32個(gè)內(nèi)存地址,每個(gè)內(nèi)存地址對(duì)應(yīng)1個(gè)字節(jié)的內(nèi)容,所以是4G
② 因?yàn)?2位操作系統(tǒng)本身只是為32位cpu設(shè)計(jì)的,所以32位系統(tǒng)下,即便是64位的CPU,也僅有32根地址線工作
這是操作系統(tǒng)的限制吧,32位操作系統(tǒng),只編址到32位?
我的理解正確嗎?
謝謝諸位

回答
編輯回答
墨小白

一樓答案很標(biāo)準(zhǔn)。贊一個(gè)

2018年7月19日 15:09
編輯回答
初心

不是。

Intel 的 32 位 CPU,可使用的地址總線是 36 根(而非 32 根),可尋址的最大內(nèi)存空間是 2^36 = 64G,可用的地址空間是 4G。而 16 位系統(tǒng)的 8086 使用了 20 根地址總線尋址。

即使是 64 位 CPU,地址總線是 46 根,最大的尋址地址是 2^46 = 64T。

所以,這個(gè)不是由總線決定的,而是由操作系統(tǒng)限制的。即使 Windows 系統(tǒng),通過(guò) PAE 完全可以使用超過(guò) 4G 的 RAM,至于為什么默認(rèn)被禁用,主要原因還是 Windows 需要兼容以前的版本,尤其是驅(qū)動(dòng)程序。

2018年4月2日 06:19
編輯回答
疚幼

結(jié)合虛擬頁(yè)面,操作系統(tǒng)本身就已經(jīng)突破這一限制了,4G應(yīng)該指的是單個(gè)進(jìn)程的內(nèi)存尋址限制吧。抱歉有點(diǎn)忘記了。

2017年7月31日 05:31