2012-08-04 97 views
3

我知道物理地址的長度是32位,但是如何通過這些信息找出虛擬內存的大小?如果物理內存的大小是2^32-1,那麼虛擬內存的大小是多少?

+2

虛擬內存存儲在磁盤上,可以是任何大小。 – 2012-08-04 14:22:21

+1

虛擬內存空間總量取決於體系結構(和操作系統)。這與物理內存大小無關。如果你的意思是交換空間,那也與物理內存大小無關。 – Mat 2012-08-04 14:23:34

回答

3

x86上的虛擬內存地址空間總大小爲2^32,x64上的虛擬內存地址空間總大小(目前大約爲2^48)。但是,操作系統通常會保留一部分空間,所以32位應用程序不一定能夠處理4GB的空間。此外,操作系統可以輕鬆地交換不同的內存內存,所以如果需要的話,可以通過銀行交換的形式在操作系統的幫助下支持超過4GB的內存,通過告訴它當你想訪問內存時修改你的頁表目前尚未映射到您的地址空間。

此外,支持的最大物理內存量不一定是2^32。甚至32位機器通常通過PSE36或PAE支持2^36。

+0

虛擬內存大於物理內存,所以虛擬內存的大小不應該大於2^32? – Vanya 2012-08-04 14:30:22

+1

不,虛擬內存不一定比分數內存大。 – Antimony 2012-08-04 14:31:02

+0

物理內存的大小是2^32-1,我們必須通過這個信息來找到虛擬內存的大小。 – Vanya 2012-08-04 14:41:03

0

虛擬內存的大小不能通過給出物理內存的大小來確定。