什么是虛擬內存
什么是虛擬內存
內存在計算機中的作用很大,電腦中所有運行的程序都需要經過內存來執(zhí)行,如果執(zhí)行的程序很大或很多,就會導致內存消耗殆盡。為了解決這個問題,便出現(xiàn)了虛擬內存。想了解什么是虛擬內存嗎?以下是學習啦小編為大家做的整理,趕緊來看吧!
什么是虛擬內存
虛擬內存是計算機系統(tǒng)內存管理的一種技術。它使得應用程序認為它擁有連續(xù)的可用的內存(一個連續(xù)完整的地址空間),而實際上,它通常是被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁盤存儲器上,在需要時進行數據交換。目前,大多數操作系統(tǒng)都使用了虛擬內存,如Windows家族的"虛擬內存";Linux的"交換空間"等。
虛擬內存的技術介紹
虛擬內存別稱虛擬存儲器(Virtual Memory)。電腦中所運行的
程序均需經由內存執(zhí)行,若執(zhí)行的程序占用內存很大或很多,則會導致內存消耗殆盡。為解決該問題,Windows中運用了虛擬內存技術,即勻出一部分硬盤空間來充當內存使用。當內存耗盡時,電腦就會自動調用硬盤來充當內存,以緩解內存的緊張。若計算機運行程序或操作所需的隨機存儲器(RAM)不足時,則 Windows 會用虛擬存儲器進行補償。它將計算機的RAM和硬盤上的臨時空間組合。當RAM運行速率緩慢時,它便將數據從RAM移動到稱為"分頁文件"的空間中。將數據移入分頁文件可釋放RAM,以便完成工作。 一般而言,計算機的RAM容量越大,程序運行得越快。若計算機的速率由于RAM可用空間匱乏而減緩,則可嘗試通過增加虛擬內存來進行補償。但是,計算機從RAM讀取數據的速率要比從硬盤讀取數據的速率快,因而擴增RAM容量(可加內存條)是最佳選擇。
虛擬內存是Windows 為作為內存使用的一部分硬盤空間。虛擬內存在硬盤上其實就是為一個碩大無比的文件,文件名是PageFile.Sys,通常狀態(tài)下是看不到的。必須關閉資源管理器對系統(tǒng)文件的保護功能才能看到這個文件。虛擬內存有時候也被稱為是"頁面文件"就是從這個文件的文件名中來的。
內存在計算機中的作用很大,電腦中所有運行的程序都需要經過內存來執(zhí)行,如果執(zhí)行的程序很大或很多,就會導致內存消耗殆盡。為了解決這個問題,WINDOWS運用了虛擬內存技術,即拿出一部分硬盤空間來充當內存使用,這部分空間即稱為虛擬內存,虛擬內存在硬盤上的存在形式就是 PAGEFILE.SYS這個頁面文件。
虛擬內存的工作原理
虛擬存儲器是由硬件和操作系統(tǒng)自動實現(xiàn)存儲信息調度和管理的。它的工作過程包括6個步驟:
?、僦醒胩幚砥髟L問主存的邏輯地址分解成組號a和組內地址b,并對組號a進行地址變換,即將邏輯組號a作為索引,查地址變換表,以確定該組信息是否存放在主存內。
?、谌缭摻M號已在主存內,則轉而執(zhí)行④;如果該組號不在主存內,則檢查主存中是否有空閑區(qū),如果沒有,便將某個暫時不用的組調出送往輔存,以便將這組信息調入主存。
③從輔存讀出所要的組,并送到主存空閑區(qū),然后將那個空閑的物理組號a和邏輯組號a登錄在地址變換表中。
?、軓牡刂纷儞Q表讀出與邏輯組號a對應的物理組號a。
?、輳奈锢斫M號a和組內字節(jié)地址b得到物理地址。
⑥根據物理地址從主存中存取必要的信息。
調度方式有分頁式、段式、段頁式3種。頁式調度是將邏輯和物理地址空間都分成固定大小的頁。主存按頁順序編號,而每個獨立編址的程序空間有自己的頁號順序,通過調度輔存中程序的各頁可以離散裝入主存中不同的頁面位置,并可據表一一對應檢索。頁式調度的優(yōu)點是頁內零頭小,頁表對程序員來說是透明的,地址變換快,調入操作簡單;缺點是各頁不是程序的獨立模塊,不便于實現(xiàn)程序和數據的保護。段式調度是按程序的邏輯結構劃分地址空間,段的長度是隨意的,并且允許伸長,它的優(yōu)點是消除了內存零頭,易于實現(xiàn)存儲保護,便于程序動態(tài)裝配;缺點是調入操作復雜。將這兩種方法結合起來便構成段頁式調度。在段頁式調度中把物理空間分成頁,程序按模塊分段,每個段再分成與物理空間頁同樣小的頁面。段頁式調度綜合了段式和頁式的優(yōu)點。其缺點是增加了硬件成本,軟件也較復雜。大型通用計算機系統(tǒng)多數采用段頁式調度。