虛擬存儲器的最大容量是由什么決定的


虛擬存儲器又被稱為虛擬內存,虛擬內存是計算機系統內存管理的一種技術 。它使得應用程序認為它擁有連續的可用的內存(一個連續完整的地址空間),而實際上,它通常是被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁盤存儲器上,在需要時進行數據交換 。
虛擬存儲器的最大容量是由地址寄存器的位數來決定的 。虛擬存儲器在具有層次結構存儲器的計算機系統中,自動實現部分裝入和部分替換功能,能從邏輯上為用戶提供一個比物理貯存容量大得多,可尋址的“主存儲器” 。
虛擬存儲器的作用
內存在計算機中的作用很大,電腦中所有運行的程序都需要經過內存來執行,如果執行的程序很大或很多,就會導致內存消耗殆盡 。為了解決這個問題,Windows中運用了虛擬內存技術,即拿出一部分硬盤空間來充當內存使用,當內存占用完時,電腦就會自動調用硬盤來充當內存,以緩解內存的緊張 。
如果電腦只有128MB物理內存的話,當讀取一個容量為200MB的文件時,就必須要用到比較大的虛擬內存,文件被內存讀取之后就會先儲存到虛擬內存,等待內存把文件全部儲存到虛擬內存之后,跟著就會把虛擬內存里儲存的文件釋放到原來的安裝目錄里了 。
32位和64位
CPU通過物理總線訪問內存,那么訪問地址的范圍就受限于機器總線的數量,在32位機器上,有32條總線,每條總線有高低兩種電位分別代表bit的1和0,那么可訪問的最大地址就是2^32bit = 4GB,所以說32位機器上插入大于4G的內存是無效的,CPU訪問不到多于4G的內存 。
【虛擬存儲器的最大容量是由什么決定的】但64位機器并沒有64位總線,而且其最大內存還要受限于操作系統,Linux 目前支持最大256G內存 。
根據虛擬內存的概念,在32位系統上運行64位軟件也并無不可,但由于系統對虛擬內存地址的結構設計,64位的虛擬地址在32位系統內并不能使用 。

    推薦閱讀